feat(docs): a11y and performance optimizations on landing page
315
apps/docs/.sponsorsrc
Normal file
@ -0,0 +1,315 @@
|
||||
[
|
||||
{
|
||||
"MemberId": 275354,
|
||||
"createdAt": "2022-02-18 11:57",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"tier": "Backer 🖤",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 5,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2022-02-18 11:57",
|
||||
"lastTransactionAmount": 5,
|
||||
"profile": "https://opencollective.com/guest-7dc076fb",
|
||||
"name": "jorge",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/undefined",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
},
|
||||
{
|
||||
"MemberId": 277819,
|
||||
"createdAt": "2022-03-01 09:13",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 10,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2022-03-01 09:13",
|
||||
"lastTransactionAmount": 10,
|
||||
"profile": "https://opencollective.com/dhananjay-senday",
|
||||
"name": "Dhananjay Senday",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/undefined",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
},
|
||||
{
|
||||
"MemberId": 292380,
|
||||
"createdAt": "2022-04-22 07:47",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"tier": "Backer 🖤",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 10,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2022-04-22 07:47",
|
||||
"lastTransactionAmount": 10,
|
||||
"profile": "https://opencollective.com/manuel5",
|
||||
"name": "manuel-rw",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/292380.jpg",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
},
|
||||
{
|
||||
"MemberId": 327844,
|
||||
"createdAt": "2022-08-26 21:32",
|
||||
"type": "ORGANIZATION",
|
||||
"role": "BACKER",
|
||||
"tier": "Gold Sponsor 🥇",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 200,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2022-12-22 07:19",
|
||||
"lastTransactionAmount": 100,
|
||||
"profile": "https://opencollective.com/lowdefy",
|
||||
"name": "Lowdefy",
|
||||
"company": null,
|
||||
"description": "Create custom web apps in minutes",
|
||||
"image": "/sponsors/327844.jpg",
|
||||
"email": null,
|
||||
"twitter": "https://twitter.com/lowdefy",
|
||||
"github": "https://github.com/lowdefy",
|
||||
"website": "https://lowdefy.com"
|
||||
},
|
||||
{
|
||||
"MemberId": 347048,
|
||||
"createdAt": "2022-10-30 06:25",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"tier": "Backer 🖤",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 1,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2022-10-30 06:25",
|
||||
"lastTransactionAmount": 1,
|
||||
"profile": "https://opencollective.com/william-frank-monroy-mamani",
|
||||
"name": "William Frank Monroy Mamani",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/347048.jpg",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
},
|
||||
{
|
||||
"MemberId": 374896,
|
||||
"createdAt": "2022-12-22 05:28",
|
||||
"type": "ORGANIZATION",
|
||||
"role": "BACKER",
|
||||
"tier": "bronze sponsor 🥉",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 60,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2023-06-02 06:09",
|
||||
"lastTransactionAmount": 10,
|
||||
"profile": "https://opencollective.com/chartbrew",
|
||||
"name": "Chartbrew",
|
||||
"company": null,
|
||||
"description": "Open source visualization and reporting platform",
|
||||
"image": "/sponsors/374896.jpg",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": "https://chartbrew.com"
|
||||
},
|
||||
{
|
||||
"MemberId": 375034,
|
||||
"createdAt": "2022-12-22 13:16",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 50,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2022-12-22 13:16",
|
||||
"lastTransactionAmount": 50,
|
||||
"profile": "https://opencollective.com/jan-wagebach",
|
||||
"name": "PRISMA European Capacity Platform GmbH",
|
||||
"company": "PRISMA European Capacity Platform GmbH",
|
||||
"description": null,
|
||||
"image": "/sponsors/375034.jpg",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
},
|
||||
{
|
||||
"MemberId": 395990,
|
||||
"createdAt": "2023-02-11 13:12",
|
||||
"type": "ORGANIZATION",
|
||||
"role": "BACKER",
|
||||
"tier": "Gold Sponsor 🥇",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 100,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2023-02-11 13:12",
|
||||
"lastTransactionAmount": 100,
|
||||
"profile": "https://opencollective.com/likn",
|
||||
"name": "LIKN",
|
||||
"company": null,
|
||||
"description": "LIKN is a powerful, but simple Web3 component and protocol. Connect Web2 content to Web3, and solely mint content NFTs by URL. Share and Trade in different platforms and marketplaces. OpenAI empowers LIKN which can automatically generate NFT metadata. ",
|
||||
"image": "/sponsors/395990.jpg",
|
||||
"email": null,
|
||||
"twitter": "https://twitter.com/oxlikn",
|
||||
"github": "https://github.com/0xLIKN",
|
||||
"website": "https://www.likn.co/?ref=opencollective"
|
||||
},
|
||||
{
|
||||
"MemberId": 404415,
|
||||
"createdAt": "2023-03-01 16:22",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"tier": "Backer 🖤",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 1,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2023-03-01 16:22",
|
||||
"lastTransactionAmount": 1,
|
||||
"profile": "https://opencollective.com/rharison-lucas-moreira-abreu",
|
||||
"name": "Rharison Lucas Moreira Abreu",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/404415.jpg",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
},
|
||||
{
|
||||
"MemberId": 407510,
|
||||
"createdAt": "2023-03-07 22:27",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"tier": "Backer 🖤",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 1,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2023-03-07 22:27",
|
||||
"lastTransactionAmount": 1,
|
||||
"profile": "https://opencollective.com/higherror",
|
||||
"name": "HighError",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/407510.jpg",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": "https://github.com/HighError",
|
||||
"website": "https://higherror.github.io/"
|
||||
},
|
||||
{
|
||||
"MemberId": 409558,
|
||||
"createdAt": "2023-03-12 21:41",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"tier": "Backer 🖤",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 1,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2023-03-12 21:41",
|
||||
"lastTransactionAmount": 1,
|
||||
"profile": "https://opencollective.com/guest-6133a45c",
|
||||
"name": "Kristof",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/undefined",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
},
|
||||
{
|
||||
"MemberId": 438158,
|
||||
"createdAt": "2023-05-31 22:44",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"tier": "Backer 🖤",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 5,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2023-05-31 22:44",
|
||||
"lastTransactionAmount": 5,
|
||||
"profile": "https://opencollective.com/elektrnik",
|
||||
"name": "ELEKTRNIK",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/438158.jpg",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
},
|
||||
{
|
||||
"MemberId": 438877,
|
||||
"createdAt": "2023-06-02 17:56",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"tier": "Backer 🖤",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 1,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2023-06-02 17:56",
|
||||
"lastTransactionAmount": 1,
|
||||
"profile": "https://opencollective.com/guest-425370ea",
|
||||
"name": "Gabriel Jiménez",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/undefined",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
},
|
||||
{
|
||||
"MemberId": 439182,
|
||||
"createdAt": "2023-06-03 15:15",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"tier": "Backer 🖤",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 1,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2023-06-03 15:15",
|
||||
"lastTransactionAmount": 1,
|
||||
"profile": "https://opencollective.com/jay-thanawut1",
|
||||
"name": "Jay Thanawut",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/439182.jpg",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
},
|
||||
{
|
||||
"MemberId": 442878,
|
||||
"createdAt": "2023-06-13 13:51",
|
||||
"type": "USER",
|
||||
"role": "BACKER",
|
||||
"tier": "Backer 🖤",
|
||||
"isActive": true,
|
||||
"totalAmountDonated": 5,
|
||||
"currency": "USD",
|
||||
"lastTransactionAt": "2023-06-13 13:51",
|
||||
"lastTransactionAmount": 5,
|
||||
"profile": "https://opencollective.com/jefferson-fonseca",
|
||||
"name": "Jefferson Fonseca",
|
||||
"company": null,
|
||||
"description": null,
|
||||
"image": "/sponsors/442878.jpg",
|
||||
"email": null,
|
||||
"twitter": null,
|
||||
"github": null,
|
||||
"website": null
|
||||
}
|
||||
]
|
||||
@ -1,15 +1,14 @@
|
||||
import "@/styles/globals.css";
|
||||
import {Metadata} from "next";
|
||||
import {clsx} from "@nextui-org/shared-utils";
|
||||
import {Link} from "@nextui-org/react";
|
||||
|
||||
import {Providers} from "./providers";
|
||||
|
||||
import {VercelCallout} from "@/components/vercel-callout";
|
||||
import manifest from "@/content/docs/manifest.json";
|
||||
import {siteConfig} from "@/config/site";
|
||||
import {fontSans} from "@/config/fonts";
|
||||
import {Navbar} from "@/components/navbar";
|
||||
import {Footer} from "@/components/footer";
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: {
|
||||
@ -63,17 +62,7 @@ export default function RootLayout({children}: {children: React.ReactNode}) {
|
||||
<div className="relative flex flex-col">
|
||||
<Navbar routes={manifest.routes} />
|
||||
<main className="container mx-auto max-w-7xl px-6 flex-grow">{children}</main>
|
||||
<footer className="container mx-auto max-w-7xl pb-12 px-12">
|
||||
<div className="flex flex-col justify-center items-center gap-1">
|
||||
<p className="text-sm text-default-400">
|
||||
Created by
|
||||
<Link isExternal className="text-sm" href={siteConfig.links.portfolio}>
|
||||
Junior Garcia
|
||||
</Link>
|
||||
</p>
|
||||
<VercelCallout />
|
||||
</div>
|
||||
</footer>
|
||||
<Footer />
|
||||
</div>
|
||||
</Providers>
|
||||
</body>
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import {Spacer} from "@nextui-org/react";
|
||||
|
||||
import {getSponsors} from "@/libs/docs/sponsors";
|
||||
import {Hero} from "@/components/marketing/hero";
|
||||
import {FeaturesGrid} from "@/components/marketing/features-grid";
|
||||
import {CustomThemes} from "@/components/marketing/custom-themes";
|
||||
@ -12,10 +11,11 @@ import {InstallBanner} from "@/components/marketing/install-banner";
|
||||
import {Community} from "@/components/marketing/community";
|
||||
import {Support} from "@/components/marketing/support";
|
||||
import landingContent from "@/content/landing";
|
||||
import {getAllSponsors} from "@/utils/get-all-sponsors";
|
||||
|
||||
async function getData() {
|
||||
try {
|
||||
const sponsors = await getSponsors();
|
||||
const sponsors = await getAllSponsors();
|
||||
|
||||
return {
|
||||
sponsors,
|
||||
|
||||
@ -2,12 +2,11 @@
|
||||
|
||||
import {useRef} from "react";
|
||||
import {Button} from "@nextui-org/react";
|
||||
import confetti from "canvas-confetti";
|
||||
|
||||
export const CustomButton = () => {
|
||||
const buttonRef = useRef<HTMLButtonElement | null>(null);
|
||||
|
||||
const handleConfetti = () => {
|
||||
const handleConfetti = async () => {
|
||||
const {clientWidth, clientHeight} = document.documentElement;
|
||||
const boundingBox = buttonRef.current?.getBoundingClientRect?.();
|
||||
|
||||
@ -16,6 +15,7 @@ export const CustomButton = () => {
|
||||
const targetWidth = boundingBox?.width ?? 0;
|
||||
|
||||
const targetCenterX = targetX + targetWidth / 2;
|
||||
const confetti = (await import("canvas-confetti")).default;
|
||||
|
||||
confetti({
|
||||
zIndex: 999,
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
import {Card, CardBody, Button, Image, Progress, CardProps} from "@nextui-org/react";
|
||||
import {useState, FC} from "react";
|
||||
import {clsx} from "@nextui-org/shared-utils";
|
||||
import NextImage from "next/image";
|
||||
|
||||
import {
|
||||
PauseCircleBoldIcon,
|
||||
@ -31,26 +32,28 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
|
||||
<div className="relative col-span-6 md:col-span-4">
|
||||
<Image
|
||||
alt="Album cover"
|
||||
as={NextImage}
|
||||
className="object-cover"
|
||||
classNames={{
|
||||
wrapper: "shadow-black/20",
|
||||
}}
|
||||
height={200}
|
||||
height={300}
|
||||
shadow="lg"
|
||||
src="/images/album-cover.png"
|
||||
width="100%"
|
||||
width={240}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="flex flex-col col-span-6 md:col-span-8">
|
||||
<div className="flex justify-between items-start">
|
||||
<div className="flex flex-col gap-0">
|
||||
<h3 className="font-semibold text-foreground/90">Daily Mix</h3>
|
||||
<p className="font-semibold text-foreground/90">Daily Mix</p>
|
||||
<p className="text-sm text-foreground/80">12 Tracks</p>
|
||||
<h1 className="text-lg font-medium mt-2">Frontend Radio</h1>
|
||||
<p className="text-lg font-medium mt-2">Frontend Radio</p>
|
||||
</div>
|
||||
<Button
|
||||
isIconOnly
|
||||
aria-label="Like"
|
||||
className="text-default-900/60 data-[hover]:bg-foreground/10 -translate-y-2 translate-x-2"
|
||||
radius="full"
|
||||
variant="light"
|
||||
@ -83,6 +86,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
|
||||
<div className="flex w-full items-center justify-center">
|
||||
<Button
|
||||
isIconOnly
|
||||
aria-label="Repeat"
|
||||
className="data-[hover]:bg-foreground/10"
|
||||
radius="full"
|
||||
variant="light"
|
||||
@ -91,6 +95,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
|
||||
</Button>
|
||||
<Button
|
||||
isIconOnly
|
||||
aria-label="Previous"
|
||||
className="data-[hover]:bg-foreground/10"
|
||||
radius="full"
|
||||
variant="light"
|
||||
@ -99,6 +104,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
|
||||
</Button>
|
||||
<Button
|
||||
isIconOnly
|
||||
aria-label="Play"
|
||||
className="w-auto h-auto data-[hover]:bg-foreground/10"
|
||||
radius="full"
|
||||
variant="light"
|
||||
@ -107,6 +113,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
|
||||
</Button>
|
||||
<Button
|
||||
isIconOnly
|
||||
aria-label="Next"
|
||||
className="data-[hover]:bg-foreground/10"
|
||||
radius="full"
|
||||
variant="light"
|
||||
@ -115,6 +122,7 @@ export const MusicPlayer: FC<MusicPlayerProps> = ({className, ...otherProps}) =>
|
||||
</Button>
|
||||
<Button
|
||||
isIconOnly
|
||||
aria-label="Shuffle"
|
||||
className="data-[hover]:bg-foreground/10"
|
||||
radius="full"
|
||||
variant="light"
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
import {useState, FC} from "react";
|
||||
import {Card, CardHeader, Button, Avatar, CardBody, CardFooter} from "@nextui-org/react";
|
||||
import {clsx} from "@nextui-org/shared-utils";
|
||||
import NextImage from "next/image";
|
||||
|
||||
interface UserTwitterCardProps {
|
||||
className?: string;
|
||||
@ -15,7 +16,17 @@ export const UserTwitterCard: FC<UserTwitterCardProps> = ({className}) => {
|
||||
<Card className={clsx("max-w-[300px]", className)}>
|
||||
<CardHeader className="justify-between">
|
||||
<div className="flex gap-5">
|
||||
<Avatar isBordered radius="full" size="md" src="/avatars/avatar-1.png" />
|
||||
<Avatar
|
||||
isBordered
|
||||
ImgComponent={NextImage}
|
||||
imgProps={{
|
||||
width: 40,
|
||||
height: 40,
|
||||
}}
|
||||
radius="full"
|
||||
size="md"
|
||||
src="/avatars/avatar-1.webp"
|
||||
/>
|
||||
<div className="flex flex-col items-start justify-center">
|
||||
<h4 className="text-sm font-semibold leading-none text-default-600">Zoey Lang</h4>
|
||||
<h5 className="text-sm tracking-tight text-default-400">@zoeylang</h5>
|
||||
|
||||
24
apps/docs/components/footer.tsx
Normal file
@ -0,0 +1,24 @@
|
||||
"use client";
|
||||
|
||||
import dynamic from "next/dynamic";
|
||||
|
||||
import {siteConfig} from "@/config/site";
|
||||
|
||||
const Link = dynamic(() => import("@nextui-org/react").then((mod) => mod.Link));
|
||||
const VercelCallout = dynamic(() => import("./vercel-callout").then((mod) => mod.VercelCallout));
|
||||
|
||||
export const Footer = () => {
|
||||
return (
|
||||
<footer className="container mx-auto max-w-7xl pb-12 px-12">
|
||||
<div className="flex flex-col justify-center items-center gap-1">
|
||||
<p className="text-sm text-default-400">
|
||||
Created by
|
||||
<Link isExternal className="text-sm" href={siteConfig.links.portfolio}>
|
||||
Junior Garcia
|
||||
</Link>
|
||||
</p>
|
||||
<VercelCallout />
|
||||
</div>
|
||||
</footer>
|
||||
);
|
||||
};
|
||||
@ -21,12 +21,13 @@ import {
|
||||
DeleteDocumentBulkIcon,
|
||||
} from "@nextui-org/shared-icons";
|
||||
import Link from "next/link";
|
||||
import dynamic from "next/dynamic";
|
||||
import {useEffect, useRef, useState} from "react";
|
||||
|
||||
import {FeaturesGrid} from "./features-grid";
|
||||
|
||||
import landingContent from "@/content/landing";
|
||||
import {GradientBox, DemoCodeModal} from "@/components";
|
||||
import {GradientBox} from "@/components";
|
||||
import {
|
||||
KeyboardBoldIcon,
|
||||
MouseCircleBoldIcon,
|
||||
@ -39,6 +40,10 @@ import {
|
||||
import {title, subtitle, titleWrapper, sectionWrapper} from "@/components/primitives";
|
||||
import {useIsMobile} from "@/hooks/use-media-query";
|
||||
|
||||
const DemoCodeModal = dynamic(() => import("../demo-code-modal").then((mod) => mod.DemoCodeModal), {
|
||||
ssr: false,
|
||||
});
|
||||
|
||||
const a11yItems = [
|
||||
{
|
||||
title: "Keyboard navigation",
|
||||
@ -119,6 +124,7 @@ export const A11yOtb = () => {
|
||||
features={a11yItems}
|
||||
/>
|
||||
<Button
|
||||
aria-label="Learn more about accessibility"
|
||||
as={Link}
|
||||
className="max-w-fit"
|
||||
color="success"
|
||||
@ -139,6 +145,7 @@ export const A11yOtb = () => {
|
||||
<Tooltip className="text-xs px-2" content="Show code" placement="top">
|
||||
<Button
|
||||
isIconOnly
|
||||
aria-label="Show code"
|
||||
className="absolute top-1 right-1 text-success-50 data-[hover]:bg-foreground/10"
|
||||
radius="full"
|
||||
variant="light"
|
||||
|
||||
@ -5,6 +5,7 @@ import {useMemo, useState} from "react";
|
||||
import {Tabs, Tab, Card, CardBody, Image, Button, RadioGroup, Radio} from "@nextui-org/react";
|
||||
import get from "lodash/get";
|
||||
import NextLink from "next/link";
|
||||
import NextImage from "next/image";
|
||||
|
||||
import {shopCartStyles} from "./styles";
|
||||
|
||||
@ -120,9 +121,12 @@ const CustomThemesExample = ({
|
||||
<CardBody className="relative flex-col md:flex-row md:items-center gap-4 md:gap-9 overflow-visible">
|
||||
<div className={slots.imageWrapper()}>
|
||||
<Image
|
||||
fill
|
||||
removeWrapper
|
||||
alt="Shoes theme example"
|
||||
as={NextImage}
|
||||
className={slots.img()}
|
||||
sizes="100vw"
|
||||
src="/images/shoes-1.png"
|
||||
/>
|
||||
</div>
|
||||
@ -177,6 +181,7 @@ const CustomThemesExample = ({
|
||||
</div>
|
||||
<Button
|
||||
isIconOnly
|
||||
aria-label="like"
|
||||
className={slots.starButton()}
|
||||
data-liked={liked}
|
||||
radius="full"
|
||||
@ -188,6 +193,7 @@ const CustomThemesExample = ({
|
||||
</CardBody>
|
||||
</Card>
|
||||
<Button
|
||||
aria-label="Learn more about theme customization"
|
||||
as={NextLink}
|
||||
className="max-w-fit"
|
||||
color="primary"
|
||||
|
||||
@ -25,7 +25,7 @@ export const shopCartStyles = tv({
|
||||
"before:transition-all",
|
||||
],
|
||||
img: [
|
||||
"overflow-visible",
|
||||
"object-[45%_50%]",
|
||||
"sm:scale-125",
|
||||
"absolute",
|
||||
"z-10",
|
||||
|
||||
@ -55,6 +55,7 @@ export const Customization = () => {
|
||||
</div>
|
||||
<div className="flex w-1/2 justify-start">
|
||||
<Button
|
||||
aria-label="Learn more about customization"
|
||||
as={NextLink}
|
||||
className="max-w-fit bg-pink-100 text-pink-500 dark:bg-pink-900 dark:text-pink-300"
|
||||
href="/docs/theme/customize-theme"
|
||||
|
||||
@ -4,15 +4,20 @@
|
||||
import {Code, Button, Tooltip} from "@nextui-org/react";
|
||||
import {useState} from "react";
|
||||
import NextLink from "next/link";
|
||||
import dynamic from "next/dynamic";
|
||||
|
||||
import {MusicPlayer} from "@/components/demos";
|
||||
import {title, subtitle, titleWrapper, sectionWrapper} from "@/components/primitives";
|
||||
import {ThemeSwitch} from "@/components/theme-switch";
|
||||
import {CodeWindow} from "@/components/code-window";
|
||||
import landingContent from "@/content/landing";
|
||||
import {GradientBox, DemoCodeModal} from "@/components";
|
||||
import {GradientBox} from "@/components";
|
||||
import {InfoBoldIcon} from "@/components/icons";
|
||||
|
||||
const DemoCodeModal = dynamic(() => import("../demo-code-modal").then((mod) => mod.DemoCodeModal), {
|
||||
ssr: false,
|
||||
});
|
||||
|
||||
export const DarkMode = () => {
|
||||
const [isModalOpen, setIsModalOpen] = useState(false);
|
||||
|
||||
@ -40,6 +45,7 @@ export const DarkMode = () => {
|
||||
<Tooltip className="text-xs px-2" content="Show code" placement="top">
|
||||
<Button
|
||||
isIconOnly
|
||||
aria-label="Show code"
|
||||
className="text-white/70 dark:text-black/70 data-[hover]:bg-foreground/10"
|
||||
radius="full"
|
||||
variant="light"
|
||||
@ -68,6 +74,7 @@ export const DarkMode = () => {
|
||||
</div>
|
||||
<div className="flex w-1/2 justify-start">
|
||||
<Button
|
||||
aria-label="Learn more about dark mode"
|
||||
as={NextLink}
|
||||
className="max-w-fit"
|
||||
color="warning"
|
||||
|
||||
@ -1,26 +1,30 @@
|
||||
"use client";
|
||||
|
||||
import {
|
||||
Button,
|
||||
Input,
|
||||
Tooltip,
|
||||
Image,
|
||||
CardFooter,
|
||||
Card,
|
||||
CardBody,
|
||||
Switch,
|
||||
Spinner,
|
||||
Pagination,
|
||||
Tabs,
|
||||
Tab,
|
||||
} from "@nextui-org/react";
|
||||
import dynamic from "next/dynamic";
|
||||
import {Button, Tooltip} from "@nextui-org/react";
|
||||
import {MoonFilledIcon, SunFilledIcon} from "@nextui-org/shared-icons";
|
||||
import {useTheme} from "next-themes";
|
||||
import NextImage from "next/image";
|
||||
|
||||
import {NextUILogo} from "@/components";
|
||||
import {UserTwitterCard} from "@/components/demos";
|
||||
import {useIsMounted} from "@/hooks/use-is-mounted";
|
||||
import {useMediaQuery} from "@/hooks/use-media-query";
|
||||
import {NextUILogo} from "@/components/nextui-logo";
|
||||
|
||||
const Input = dynamic(() => import("@nextui-org/react").then((mod) => mod.Input));
|
||||
const Image = dynamic(() => import("@nextui-org/react").then((mod) => mod.Image));
|
||||
|
||||
const Card = dynamic(() => import("@nextui-org/react").then((mod) => mod.Card));
|
||||
const CardBody = dynamic(() => import("@nextui-org/react").then((mod) => mod.CardBody));
|
||||
const CardFooter = dynamic(() => import("@nextui-org/react").then((mod) => mod.CardFooter));
|
||||
const Switch = dynamic(() => import("@nextui-org/react").then((mod) => mod.Switch));
|
||||
const Spinner = dynamic(() => import("@nextui-org/react").then((mod) => mod.Spinner));
|
||||
const Pagination = dynamic(() => import("@nextui-org/react").then((mod) => mod.Pagination));
|
||||
const UserTwitterCard = dynamic(() =>
|
||||
import("../../demos/user-twitter-card").then((mod) => mod.UserTwitterCard),
|
||||
);
|
||||
const FloatingTabs = dynamic(() => import("./floating-tabs").then((mod) => mod.FloatingTabs), {
|
||||
ssr: false,
|
||||
});
|
||||
|
||||
export const FloatingComponents: React.FC<{}> = () => {
|
||||
const {theme, setTheme} = useTheme();
|
||||
@ -69,8 +73,10 @@ export const FloatingComponents: React.FC<{}> = () => {
|
||||
>
|
||||
<Image
|
||||
alt="Professional camera"
|
||||
as={NextImage}
|
||||
className="object-cover -translate-y-12 h-[100%]"
|
||||
src="/images/card-example-6.jpeg"
|
||||
height={120}
|
||||
src="/images/card-example-6.webp"
|
||||
width={120}
|
||||
/>
|
||||
<CardFooter className="before:bg-black/10 before:border before:border-white/20 overflow-hidden justify-between py-2 absolute before:rounded-xl rounded-xl bottom-1 w-[calc(100%_-_8px)] shadow-lg ml-1 z-10">
|
||||
@ -79,20 +85,7 @@ export const FloatingComponents: React.FC<{}> = () => {
|
||||
</CardFooter>
|
||||
</Card>
|
||||
|
||||
<Tabs
|
||||
aria-label="Floating tabs example"
|
||||
className=""
|
||||
classNames={{
|
||||
base: "absolute left-[170px] -top-[160px] h-10 animate-[levitate_17s_ease_infinite_1s]",
|
||||
tabList: "max-w-[200px] bg-content1 shadow-sm",
|
||||
}}
|
||||
radius="full"
|
||||
size="xs"
|
||||
>
|
||||
<Tab key="notes" title="Notes" />
|
||||
<Tab key="tasks" title="Tasks" />
|
||||
<Tab key="files" title="Files" />
|
||||
</Tabs>
|
||||
<FloatingTabs />
|
||||
|
||||
<UserTwitterCard className="absolute left-[80px] -top-[80px] animate-[levitate_16s_ease_infinite] border-none" />
|
||||
|
||||
@ -151,9 +144,10 @@ export const FloatingComponents: React.FC<{}> = () => {
|
||||
>
|
||||
<Image
|
||||
alt="Woman listing to music"
|
||||
as={NextImage}
|
||||
className="object-cover"
|
||||
height={200}
|
||||
src="/images/hero-card.jpeg"
|
||||
src="/images/hero-card.webp"
|
||||
width={200}
|
||||
/>
|
||||
<CardFooter className="before:bg-white/10 overflow-hidden justify-between py-2 absolute before:rounded-xl rounded-xl bottom-1 w-[calc(100%_-_8px)] shadow-lg ml-1 z-10">
|
||||
|
||||
22
apps/docs/components/marketing/hero/floating-tabs.tsx
Normal file
@ -0,0 +1,22 @@
|
||||
"use client";
|
||||
|
||||
import {Tab, Tabs} from "@nextui-org/react";
|
||||
|
||||
export const FloatingTabs: React.FC<{}> = () => {
|
||||
return (
|
||||
<Tabs
|
||||
aria-label="Floating tabs example"
|
||||
className=""
|
||||
classNames={{
|
||||
base: "absolute left-[170px] -top-[160px] h-10 animate-[levitate_17s_ease_infinite_1s]",
|
||||
tabList: "max-w-[200px] bg-content1 shadow-sm",
|
||||
}}
|
||||
radius="full"
|
||||
size="xs"
|
||||
>
|
||||
<Tab key="notes" title="Notes" />
|
||||
<Tab key="tasks" title="Tasks" />
|
||||
<Tab key="files" title="Files" />
|
||||
</Tabs>
|
||||
);
|
||||
};
|
||||
@ -1,13 +1,19 @@
|
||||
import {ArrowRightIcon} from "@nextui-org/shared-icons";
|
||||
import {Button, Link} from "@nextui-org/react";
|
||||
"use client";
|
||||
|
||||
import NextLink from "next/link";
|
||||
import {Button, Link} from "@nextui-org/react";
|
||||
import {ArrowRightIcon} from "@nextui-org/shared-icons";
|
||||
import dynamic from "next/dynamic";
|
||||
|
||||
import {FloatingComponents} from "./floating-components";
|
||||
import {BgLooper} from "./bg-looper";
|
||||
|
||||
import {title, subtitle} from "@/components/primitives";
|
||||
import {GithubIcon} from "@/components/icons";
|
||||
|
||||
const BgLooper = dynamic(() => import("./bg-looper").then((mod) => mod.BgLooper), {
|
||||
ssr: false,
|
||||
});
|
||||
|
||||
export const Hero = () => {
|
||||
return (
|
||||
<section className="flex relative overflow-hidden lg:overflow-visible w-full flex-nowrap justify-between items-center h-[calc(100vh_-_64px)] 2xl:h-[calc(84vh_-_64px)]">
|
||||
@ -19,9 +25,9 @@ export const Hero = () => {
|
||||
</div>
|
||||
<h1 className={title()}>websites regardless of your design experience.</h1>
|
||||
</div>
|
||||
<h4 className={subtitle({fullWidth: true, class: "text-center md:text-left"})}>
|
||||
<h2 className={subtitle({fullWidth: true, class: "text-center md:text-left"})}>
|
||||
Beautiful, fast and modern React UI library.
|
||||
</h4>
|
||||
</h2>
|
||||
<div className="flex flex-col md:flex-row items-center gap-4">
|
||||
<Button
|
||||
as={NextLink}
|
||||
|
||||
@ -42,10 +42,10 @@ export const InstallBanner = () => {
|
||||
<div className=" w-full max-w-7xl py-10 grid grid-cols-12 gap-6 md:gap-0 z-20">
|
||||
<div className="flex flex-col gap-2 col-span-12 md:col-span-6">
|
||||
<div className="flex flex-col">
|
||||
<h3 className={title({size: "md", class: "inline"})}>Let's make the</h3>
|
||||
<h1 className={title({size: "md", class: "inline"})}>Let's make the</h1>
|
||||
<div>
|
||||
<h3 className={title({size: "md"})}>Web </h3>
|
||||
<h3 className={title({size: "md", color: "violet", class: "inline"})}>Prettier</h3>
|
||||
<h1 className={title({size: "md"})}>Web </h1>
|
||||
<h1 className={title({size: "md", color: "violet", class: "inline"})}>Prettier</h1>
|
||||
</div>
|
||||
</div>
|
||||
<p className={subtitle({class: "md:w-full text-base lg:text-lg"})}>
|
||||
|
||||
@ -115,6 +115,7 @@ export const Support: FC<SupportProps> = ({sponsors = []}) => {
|
||||
<Avatar
|
||||
key={`${sponsor.MemberId}-${index}`}
|
||||
isBordered
|
||||
showFallback
|
||||
className="absolute cursor-pointer bg-transparent before:bg-white/10 before:content-[''] before:block before:z-[-1] before:absolute before:inset-0 before:backdrop-blur-md before:backdrop-saturate-200"
|
||||
color={getSponsorColor(sponsor) as AvatarProps["color"]}
|
||||
name={getSponsorName(sponsor)}
|
||||
@ -176,6 +177,7 @@ export const Support: FC<SupportProps> = ({sponsors = []}) => {
|
||||
>
|
||||
<Button
|
||||
isIconOnly
|
||||
aria-label="Become a sponsor"
|
||||
className="z-50 w-auto h-auto bg-gradient-to-b from-[#FF1CF7] to-[#7928CA]"
|
||||
radius="full"
|
||||
onPress={() => handleExternalLinkClick(supportAccounts[0].href)}
|
||||
|
||||
@ -26,13 +26,13 @@ import {usePathname} from "next/navigation";
|
||||
import {includes} from "lodash";
|
||||
import {SearchIcon} from "@nextui-org/shared-icons";
|
||||
import {motion, AnimatePresence} from "framer-motion";
|
||||
import {useEffect} from "react";
|
||||
|
||||
import {siteConfig} from "@/config/site";
|
||||
import {Route} from "@/libs/docs/page";
|
||||
import {LargeLogo, ThemeSwitch} from "@/components";
|
||||
import {TwitterIcon, GithubIcon, DiscordIcon, HeartFilledIcon} from "@/components/icons";
|
||||
import {useIsMounted} from "@/hooks/use-is-mounted";
|
||||
import RouterEvents from "@/libs/router-events";
|
||||
|
||||
export interface NavbarProps {
|
||||
routes: Route[];
|
||||
@ -54,6 +54,12 @@ export const Navbar: FC<NavbarProps> = ({children, routes, slug, tag}) => {
|
||||
|
||||
const pathname = usePathname();
|
||||
|
||||
useEffect(() => {
|
||||
if (isMenuOpen) {
|
||||
setIsMenuOpen(false);
|
||||
}
|
||||
}, [pathname]);
|
||||
|
||||
const docsPaths = [
|
||||
"/docs/guide/introduction",
|
||||
"/docs/guide/installation",
|
||||
@ -80,10 +86,6 @@ export const Navbar: FC<NavbarProps> = ({children, routes, slug, tag}) => {
|
||||
/>
|
||||
);
|
||||
|
||||
RouterEvents.on("routeChangeStart", () => {
|
||||
if (isMenuOpen) setIsMenuOpen(false);
|
||||
});
|
||||
|
||||
return (
|
||||
<NextUINavbar
|
||||
ref={ref}
|
||||
@ -96,8 +98,8 @@ export const Navbar: FC<NavbarProps> = ({children, routes, slug, tag}) => {
|
||||
onMenuOpenChange={setIsMenuOpen}
|
||||
>
|
||||
<NavbarContent className="basis-1/5 sm:basis-full" justify="start">
|
||||
<NavbarBrand className="gap-3 max-w-fit">
|
||||
<NextLink className="flex justify-start items-center gap-3" href="/">
|
||||
<NavbarBrand as="li" className="gap-3 max-w-fit">
|
||||
<NextLink aria-label="Home" className="flex justify-start items-center gap-3" href="/">
|
||||
<LargeLogo className="h-5 md:h-6" />
|
||||
</NextLink>
|
||||
{ref.current ? (
|
||||
@ -134,7 +136,7 @@ export const Navbar: FC<NavbarProps> = ({children, routes, slug, tag}) => {
|
||||
<div className="w-[80px]" />
|
||||
)}
|
||||
</NavbarBrand>
|
||||
<div className="hidden lg:flex gap-4 justify-start">
|
||||
<ul className="hidden lg:flex gap-4 justify-start">
|
||||
<NavbarItem>
|
||||
<NextLink
|
||||
className={clsx(
|
||||
@ -144,6 +146,7 @@ export const Navbar: FC<NavbarProps> = ({children, routes, slug, tag}) => {
|
||||
color="foreground"
|
||||
data-active={includes(docsPaths, pathname)}
|
||||
href="/docs/guide/introduction"
|
||||
prefetch={false}
|
||||
>
|
||||
Docs
|
||||
</NextLink>
|
||||
@ -157,6 +160,7 @@ export const Navbar: FC<NavbarProps> = ({children, routes, slug, tag}) => {
|
||||
color="foreground"
|
||||
data-active={includes(pathname, "components")}
|
||||
href="/docs/components/avatar"
|
||||
prefetch={false}
|
||||
>
|
||||
Components
|
||||
</NextLink>
|
||||
@ -174,25 +178,29 @@ export const Navbar: FC<NavbarProps> = ({children, routes, slug, tag}) => {
|
||||
Figma
|
||||
</NextLink>
|
||||
</NavbarItem>
|
||||
</div>
|
||||
</ul>
|
||||
</NavbarContent>
|
||||
|
||||
<NavbarContent className="flex w-full gap-3 sm:hidden" justify="end">
|
||||
<Link isExternal href="https://github.com/nextui-org/nextui">
|
||||
<GithubIcon className="text-default-600 dark:text-default-500" />
|
||||
</Link>
|
||||
<ThemeSwitch />
|
||||
<NavbarItem>
|
||||
<Link isExternal aria-label="Github" href="https://github.com/nextui-org/nextui">
|
||||
<GithubIcon className="text-default-600 dark:text-default-500" />
|
||||
</Link>
|
||||
</NavbarItem>
|
||||
<NavbarItem>
|
||||
<ThemeSwitch />
|
||||
</NavbarItem>
|
||||
</NavbarContent>
|
||||
|
||||
<NavbarContent className="basis-1/5 sm:basis-full" justify="end">
|
||||
<NavbarItem className="hidden sm:flex gap-2">
|
||||
<Link isExternal href={siteConfig.links.twitter}>
|
||||
<Link isExternal aria-label="Twitter" href={siteConfig.links.twitter}>
|
||||
<TwitterIcon className="text-default-600 dark:text-default-500" />
|
||||
</Link>
|
||||
<Link isExternal href={siteConfig.links.discord}>
|
||||
<Link isExternal aria-label="Discord" href={siteConfig.links.discord}>
|
||||
<DiscordIcon className="text-default-600 dark:text-default-500" />
|
||||
</Link>
|
||||
<Link isExternal href={siteConfig.links.github}>
|
||||
<Link isExternal aria-label="Github" href={siteConfig.links.github}>
|
||||
<GithubIcon className="text-default-600 dark:text-default-500" />
|
||||
</Link>
|
||||
<ThemeSwitch />
|
||||
@ -212,10 +220,12 @@ export const Navbar: FC<NavbarProps> = ({children, routes, slug, tag}) => {
|
||||
Sponsor
|
||||
</Button>
|
||||
</NavbarItem>
|
||||
<NavbarMenuToggle
|
||||
aria-label={isMenuOpen ? "Close menu" : "Open menu"}
|
||||
className="sm:hidden"
|
||||
/>
|
||||
<NavbarItem>
|
||||
<NavbarMenuToggle
|
||||
aria-label={isMenuOpen ? "Close menu" : "Open menu"}
|
||||
className="sm:hidden"
|
||||
/>
|
||||
</NavbarItem>
|
||||
</NavbarContent>
|
||||
|
||||
<NavbarMenu disableAnimation>
|
||||
|
||||
@ -20,6 +20,7 @@ export const ThemeSwitch: FC<ThemeSwitchProps> = ({className, classNames}) => {
|
||||
|
||||
const {Component, slots, isSelected, getBaseProps, getInputProps, getWrapperProps} = useSwitch({
|
||||
isSelected: theme === "light",
|
||||
"aria-label": `Switch to ${theme === "light" ? "dark" : "light"} mode`,
|
||||
onChange,
|
||||
});
|
||||
|
||||
|
||||
@ -4,7 +4,9 @@ export function useIsMounted() {
|
||||
const [isMounted, setIsMounted] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
setIsMounted(true);
|
||||
setTimeout(() => {
|
||||
setIsMounted(true);
|
||||
});
|
||||
}, []);
|
||||
|
||||
return isMounted;
|
||||
|
||||
@ -1,8 +1,4 @@
|
||||
import {uniqBy} from "lodash";
|
||||
|
||||
import {__PROD__} from "@/utils";
|
||||
export type SponsorType = "USER" | "ORGANIZATION" | "COLLECTIVE";
|
||||
|
||||
export type SponsorRole = "ADMIN" | "BACKER" | "CONTRIBUTOR" | "HOST" | "MEMBER" | "FUNDRAISER";
|
||||
|
||||
export const SPONSOR_TIERS = {
|
||||
@ -275,25 +271,6 @@ export const mockData: Sponsor[] = [
|
||||
},
|
||||
];
|
||||
|
||||
export const getSponsors = async () => {
|
||||
try {
|
||||
if (!__PROD__) {
|
||||
return mockData;
|
||||
}
|
||||
const res = await fetch("https://opencollective.com/nextui/members/all.json");
|
||||
const data = await res.json();
|
||||
|
||||
// filter out repeated sponsors
|
||||
const sponsors = uniqBy<Sponsor>(data, "profile").filter(
|
||||
(sponsor) => sponsor.role !== "ADMIN" && sponsor.role !== "HOST",
|
||||
);
|
||||
|
||||
return sponsors as Sponsor[];
|
||||
} catch (error) {
|
||||
return __PROD__ ? [] : mockData;
|
||||
}
|
||||
};
|
||||
|
||||
export const getTier = (amount: number) => {
|
||||
return (
|
||||
Object.keys(SPONSOR_TIER_BY_AMOUNT).find((tier) => amount >= SPONSOR_TIER_BY_AMOUNT[tier]) ??
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
transpilePackages: ['@nextui-org/react', '@nextui-org/theme'],
|
||||
transpilePackages: ["@nextui-org/react", "@nextui-org/theme"],
|
||||
swcMinify: true,
|
||||
reactStrictMode: true, // Recommended for the `pages` directory, default in `app`.
|
||||
redirects: require("./next-redirect"),
|
||||
redirects: require("./next-redirect"),
|
||||
eslint: {
|
||||
ignoreDuringBuilds: true,
|
||||
},
|
||||
@ -11,6 +11,14 @@ const nextConfig = {
|
||||
// ignoreBuildErrors: process.env.IS_VERCEL_ENV === "true",
|
||||
ignoreBuildErrors: true,
|
||||
},
|
||||
images: {
|
||||
domains: [
|
||||
"opencollective-production.s3.us-west-1.amazonaws.com",
|
||||
"avatars.githubusercontent.com",
|
||||
"logo.clearbit.com",
|
||||
"i.pravatar.cc",
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
module.exports = nextConfig;
|
||||
|
||||
@ -7,7 +7,8 @@
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint",
|
||||
"preinstall": "node preinstall.js"
|
||||
"preinstall": "node preinstall.js",
|
||||
"build:sponsors": "tsx scripts/build-sponsors.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@codesandbox/sandpack-react": "^2.6.4",
|
||||
@ -16,9 +17,9 @@
|
||||
"@nextui-org/react": "workspace:*",
|
||||
"@nextui-org/shared-icons": "workspace:*",
|
||||
"@nextui-org/shared-utils": "workspace:*",
|
||||
"@nextui-org/theme": "workspace:*",
|
||||
"@nextui-org/use-clipboard": "workspace:*",
|
||||
"@nextui-org/use-is-mobile": "workspace:*",
|
||||
"@nextui-org/theme": "workspace:*",
|
||||
"@react-aria/focus": "^3.12.1",
|
||||
"@react-aria/interactions": "^3.15.1",
|
||||
"@react-aria/selection": "^3.15.0",
|
||||
@ -37,15 +38,15 @@
|
||||
"lodash": "^4.17.21",
|
||||
"mini-svg-data-uri": "^1.4.3",
|
||||
"mitt": "3.0.0",
|
||||
"next": "13.4.1",
|
||||
"next": "13.4.4",
|
||||
"next-mdx-remote": "^3.0.2",
|
||||
"next-themes": "^0.2.1",
|
||||
"nprogress": "^0.2.0",
|
||||
"parse-numeric-range": "1.2.0",
|
||||
"prism-react-renderer": "^1.2.1",
|
||||
"querystring": "^0.2.1",
|
||||
"react": "^18.0.0",
|
||||
"react-dom": "^18.0.0",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-live": "^2.3.0",
|
||||
"refractor": "3.3.1",
|
||||
"rehype": "11.0.0",
|
||||
@ -54,6 +55,7 @@
|
||||
"remark-autolink-headings": "^6.0.1",
|
||||
"remark-slug": "^6.0.0",
|
||||
"scroll-into-view-if-needed": "2.2.29",
|
||||
"sharp": "^0.32.1",
|
||||
"shelljs": "^0.8.4",
|
||||
"tailwind-scrollbar-hide": "^1.1.7",
|
||||
"tailwind-variants": "^0.1.6",
|
||||
@ -65,18 +67,20 @@
|
||||
"@tailwindcss/typography": "^0.5.9",
|
||||
"@types/canvas-confetti": "^1.4.2",
|
||||
"@types/lodash": "^4.14.194",
|
||||
"@types/node": "18.16.0",
|
||||
"@types/node": "20.2.5",
|
||||
"@types/nprogress": "^0.2.0",
|
||||
"@types/parse-numeric-range": "^0.0.1",
|
||||
"@types/react": "^18.0.1",
|
||||
"@types/react-dom": "^18.0.0",
|
||||
"@types/react": "18.2.8",
|
||||
"@types/react-dom": "18.2.4",
|
||||
"@types/refractor": "^3.0.2",
|
||||
"@types/shelljs": "^0.8.9",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"eslint-config-next": "^11.0.0",
|
||||
"next-sitemap": "^4.0.7",
|
||||
"node-fetch": "^3.2.10",
|
||||
"postcss": "^8.4.21",
|
||||
"tailwindcss": "^3.2.7",
|
||||
"tsx": "^3.8.2",
|
||||
"typescript": "^4.9.5"
|
||||
}
|
||||
}
|
||||
|
||||
BIN
apps/docs/public/avatars/avatar-1.webp
Normal file
|
After Width: | Height: | Size: 75 KiB |
BIN
apps/docs/public/images/card-example-6.webp
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
apps/docs/public/images/hero-card.png
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
apps/docs/public/images/hero-card.webp
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
apps/docs/public/sponsors/292380.jpg
Normal file
|
After Width: | Height: | Size: 4.0 KiB |
BIN
apps/docs/public/sponsors/327844.jpg
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
apps/docs/public/sponsors/347048.jpg
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
apps/docs/public/sponsors/374896.jpg
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
apps/docs/public/sponsors/375034.jpg
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
apps/docs/public/sponsors/395990.jpg
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
apps/docs/public/sponsors/404415.jpg
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
apps/docs/public/sponsors/407510.jpg
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
apps/docs/public/sponsors/438158.jpg
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
apps/docs/public/sponsors/439182.jpg
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
BIN
apps/docs/public/sponsors/442878.jpg
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
62
apps/docs/scripts/build-sponsors.ts
Normal file
@ -0,0 +1,62 @@
|
||||
/**
|
||||
* This module was inspired by chakra-ui ❤️
|
||||
*/
|
||||
|
||||
|
||||
import {promises as fs} from 'fs'
|
||||
import path from 'path'
|
||||
|
||||
import ImageSharp from './image-sharp'
|
||||
|
||||
import { getSponsors } from '@/utils/get-sponsors'
|
||||
|
||||
|
||||
|
||||
const publicDir = path.join(process.cwd(), 'public')
|
||||
const sponsorsDir = path.join(publicDir, 'sponsors')
|
||||
|
||||
|
||||
async function buildSponsors() {
|
||||
const sponsors = await getSponsors()
|
||||
|
||||
// cache sponsor image
|
||||
const sponsorCache = new ImageSharp({
|
||||
outputDirectory: sponsorsDir,
|
||||
})
|
||||
|
||||
// update the image property from open-collective to use the cached image
|
||||
const allSponsors = await Promise.all(
|
||||
sponsors.map(async (s) => {
|
||||
const filename = await sponsorCache.urlToFile(
|
||||
s.image,
|
||||
s.MemberId.toString(),
|
||||
)
|
||||
|
||||
return {
|
||||
...s,
|
||||
image: `/sponsors/${filename}`,
|
||||
}
|
||||
}),
|
||||
)
|
||||
|
||||
|
||||
await fs.writeFile('.sponsorsrc', JSON.stringify(allSponsors, null, 2))
|
||||
}
|
||||
|
||||
|
||||
async function build() {
|
||||
// make sure the sponsors directory exists
|
||||
try {
|
||||
await fs.access(sponsorsDir);
|
||||
} catch (error) {
|
||||
await fs.mkdir(sponsorsDir, { recursive: true });
|
||||
}
|
||||
await Promise.all([buildSponsors()])
|
||||
}
|
||||
|
||||
try {
|
||||
build()
|
||||
} catch (err) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.log(err)
|
||||
}
|
||||
71
apps/docs/scripts/image-sharp.ts
Normal file
@ -0,0 +1,71 @@
|
||||
import fetch from 'node-fetch'
|
||||
import sharp from 'sharp'
|
||||
|
||||
/**
|
||||
* This module was inspired by Zach Leatherman's `avatar-local-cache` library.
|
||||
* Check out https://github.com/zachleat/avatar-local-cache for a similar,
|
||||
* pre-packaged solution.
|
||||
*/
|
||||
|
||||
export interface AvatarCacheOptions {
|
||||
/** The path to write the images to. */
|
||||
outputDirectory: string
|
||||
/** The max width of the avatars. */
|
||||
width?: number
|
||||
}
|
||||
|
||||
export class AvatarCache {
|
||||
outputDirectory: string
|
||||
width: number
|
||||
|
||||
constructor({ outputDirectory, width = 120 }: AvatarCacheOptions) {
|
||||
this.outputDirectory = outputDirectory
|
||||
this.width = width
|
||||
}
|
||||
|
||||
async urlToFile(url: string, outputFileSlug: string) {
|
||||
try {
|
||||
const response = await fetch(url)
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(
|
||||
`Bad status code for ${url}. ${response.status}: ${response.statusText}`,
|
||||
)
|
||||
}
|
||||
|
||||
const body = await response.arrayBuffer()
|
||||
|
||||
return this.processImage(body, outputFileSlug)
|
||||
} catch (error) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error(`Error processing ${url}\nError: ${error}`)
|
||||
}
|
||||
}
|
||||
|
||||
private async processImage(body: ArrayBuffer, outputFileSlug: string) {
|
||||
const { width, outputDirectory } = this
|
||||
const output = `${outputDirectory}/${outputFileSlug}`
|
||||
|
||||
const img = sharp(Buffer.from(body)).resize({
|
||||
width: width,
|
||||
withoutEnlargement: true,
|
||||
})
|
||||
const metadata = await img.metadata()
|
||||
|
||||
await this.toJpeg(img, metadata, `${output}.jpg`)
|
||||
|
||||
return `${outputFileSlug}.jpg`
|
||||
}
|
||||
|
||||
private async toJpeg(
|
||||
img: sharp.Sharp,
|
||||
metadata: sharp.Metadata,
|
||||
slug: string,
|
||||
) {
|
||||
const jpeg = metadata.format !== 'jpeg' ? img.jpeg() : img
|
||||
|
||||
await jpeg.toFile(slug)
|
||||
}
|
||||
}
|
||||
|
||||
export default AvatarCache
|
||||
12
apps/docs/utils/get-all-sponsors.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import path from "path";
|
||||
import fs from "fs";
|
||||
|
||||
/**
|
||||
* Read the information for each sponsor from `.all-sponsorsrc` file
|
||||
*/
|
||||
export function getAllSponsors() {
|
||||
const sponsorsRcPath = path.resolve(".sponsorsrc");
|
||||
const sponsors = JSON.parse(fs.readFileSync(sponsorsRcPath, "utf-8"));
|
||||
|
||||
return sponsors;
|
||||
}
|
||||
25
apps/docs/utils/get-sponsors.ts
Normal file
@ -0,0 +1,25 @@
|
||||
import {uniqBy} from "lodash";
|
||||
import fetch from "node-fetch";
|
||||
|
||||
import {__PROD__} from "./env";
|
||||
|
||||
import {mockData, Sponsor} from "@/libs/docs/sponsors";
|
||||
|
||||
export const getSponsors = async () => {
|
||||
try {
|
||||
// if (!__PROD__) {
|
||||
// return mockData;
|
||||
// }
|
||||
const res = await fetch("https://opencollective.com/nextui/members/all.json");
|
||||
const data = (await res.json()) as Sponsor[];
|
||||
|
||||
// filter out repeated sponsors
|
||||
const sponsors = uniqBy<Sponsor>(data, "profile").filter(
|
||||
(sponsor) => sponsor.role !== "ADMIN" && sponsor.role !== "HOST",
|
||||
);
|
||||
|
||||
return sponsors as Sponsor[];
|
||||
} catch (error) {
|
||||
return __PROD__ ? [] : mockData;
|
||||
}
|
||||
};
|
||||
@ -1,5 +1,35 @@
|
||||
# @nextui-org/accordion
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/use-aria-accordion-item@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/aria-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/use-aria-accordion-item@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/aria-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/accordion",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Collapse display a list of high-level options that can expand/collapse to reveal more information.",
|
||||
"keywords": [
|
||||
"react",
|
||||
|
||||
@ -1,5 +1,29 @@
|
||||
# @nextui-org/avatar
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-image@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-image@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/avatar",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "The Avatar component is used to represent a user, and displays the profile picture, initials or fallback icon.",
|
||||
"keywords": [
|
||||
"avatar"
|
||||
|
||||
@ -9,6 +9,7 @@ export interface AvatarProps extends Omit<UseAvatarProps, "ref"> {}
|
||||
const Avatar = forwardRef<AvatarProps, "span">((props, ref) => {
|
||||
const {
|
||||
Component,
|
||||
ImgComponent,
|
||||
src,
|
||||
icon = <AvatarIcon />,
|
||||
alt,
|
||||
@ -55,7 +56,7 @@ const Avatar = forwardRef<AvatarProps, "span">((props, ref) => {
|
||||
|
||||
return (
|
||||
<Component {...getAvatarProps()}>
|
||||
{src && <img {...getImageProps()} alt={alt} />}
|
||||
{src && <ImgComponent {...getImageProps()} alt={alt} />}
|
||||
{fallback}
|
||||
</Component>
|
||||
);
|
||||
|
||||
@ -70,6 +70,15 @@ export interface UseAvatarProps
|
||||
* Function called when image failed to load
|
||||
*/
|
||||
onError?: () => void;
|
||||
/**
|
||||
* The component used to render the image.
|
||||
* @default "img"
|
||||
*/
|
||||
ImgComponent?: React.ElementType;
|
||||
/**
|
||||
* Props to pass to the image component.
|
||||
*/
|
||||
imgProps?: React.ImgHTMLAttributes<HTMLImageElement>;
|
||||
/**
|
||||
* Classname or List of classes to change the classNames of the avatar.
|
||||
* if `className` is passed, it will be added to the base slot.
|
||||
@ -111,6 +120,8 @@ export function useAvatar(props: UseAvatarProps = {}) {
|
||||
getInitials = safeText,
|
||||
ignoreFallback = false,
|
||||
showFallback: showFallbackProp = false,
|
||||
ImgComponent = "img",
|
||||
imgProps,
|
||||
className,
|
||||
onError,
|
||||
...otherProps
|
||||
@ -173,17 +184,19 @@ export function useAvatar(props: UseAvatarProps = {}) {
|
||||
);
|
||||
|
||||
const getImageProps = useCallback<PropGetter>(
|
||||
() => ({
|
||||
(props = {}) => ({
|
||||
ref: imgRef,
|
||||
src: src,
|
||||
"data-loaded": dataAttr(isImgLoaded),
|
||||
className: slots.img({class: classNames?.img}),
|
||||
...mergeProps(imgProps, props),
|
||||
}),
|
||||
[slots, isImgLoaded, src, imgRef],
|
||||
[slots, isImgLoaded, imgProps, src, imgRef],
|
||||
);
|
||||
|
||||
return {
|
||||
Component,
|
||||
ImgComponent,
|
||||
src,
|
||||
alt,
|
||||
icon,
|
||||
|
||||
@ -1,5 +1,27 @@
|
||||
# @nextui-org/badge
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/badge",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Badges are used as a small numerical value or status descriptor for UI elements.",
|
||||
"keywords": [
|
||||
"badge"
|
||||
|
||||
@ -1,5 +1,33 @@
|
||||
# @nextui-org/button
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-aria-button@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/spinner@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/drip@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-aria-button@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/spinner@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/drip@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/button",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Buttons allow users to perform actions and choose with a single tap.",
|
||||
"keywords": [
|
||||
"button"
|
||||
|
||||
@ -1,5 +1,31 @@
|
||||
# @nextui-org/card
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-aria-button@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/drip@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-aria-button@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/drip@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/card",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Card is a container for text, photos, and actions in the context of a single subject.",
|
||||
"keywords": [
|
||||
"card"
|
||||
|
||||
@ -141,7 +141,6 @@ export function useCard(originalProps: UseCardProps) {
|
||||
return {
|
||||
ref: domRef,
|
||||
className: slots.base({class: baseStyles}),
|
||||
role: originalProps.isPressable ? "button" : "section",
|
||||
tabIndex: originalProps.isPressable ? 0 : -1,
|
||||
"data-hover": dataAttr(isHovered),
|
||||
"data-pressed": dataAttr(isPressed),
|
||||
@ -149,7 +148,7 @@ export function useCard(originalProps: UseCardProps) {
|
||||
"data-focus-visible": dataAttr(isFocusVisible),
|
||||
"data-disabled": dataAttr(originalProps.isDisabled),
|
||||
...mergeProps(
|
||||
originalProps.isPressable ? {...buttonProps, ...focusProps} : {},
|
||||
originalProps.isPressable ? {...buttonProps, ...focusProps, role: "button"} : {},
|
||||
originalProps.isHoverable ? hoverProps : {},
|
||||
otherProps,
|
||||
props,
|
||||
|
||||
@ -1,5 +1,27 @@
|
||||
# @nextui-org/checkbox
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/checkbox",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Checkboxes allow users to select multiple items from a list of individual items, or to mark one individual item as selected.",
|
||||
"keywords": [
|
||||
"checkbox"
|
||||
|
||||
@ -1,5 +1,29 @@
|
||||
# @nextui-org/chip
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/chip",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Chips help people enter information, make selections, filter content, or trigger actions.",
|
||||
"keywords": [
|
||||
"chip"
|
||||
|
||||
@ -1,5 +1,27 @@
|
||||
# @nextui-org/code
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/code",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Code is a component used to display inline code.",
|
||||
"keywords": [
|
||||
"code"
|
||||
|
||||
@ -1,5 +1,27 @@
|
||||
# @nextui-org/divider
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/divider",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": ". A separator is a visual divider between two groups of content",
|
||||
"keywords": [
|
||||
"divider"
|
||||
|
||||
@ -1,5 +1,25 @@
|
||||
# @nextui-org/drip
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/drip",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "A ripple effect for ensuring that the user fells the system is reacting instantaneously",
|
||||
"keywords": [
|
||||
"drip"
|
||||
|
||||
@ -1,5 +1,33 @@
|
||||
# @nextui-org/dropdown
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/aria-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-is-mobile@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/popover@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/aria-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-is-mobile@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/popover@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/dropdown",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "A dropdown displays a list of actions or options that a user can choose.",
|
||||
"keywords": [
|
||||
"dropdown"
|
||||
|
||||
@ -1,5 +1,29 @@
|
||||
# @nextui-org/image
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-image@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-image@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/image",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "A simple image component",
|
||||
"keywords": [
|
||||
"image"
|
||||
|
||||
@ -1,5 +1,31 @@
|
||||
# @nextui-org/input
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-aria-field@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-aria-field@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/input",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "The input component is designed for capturing user input within a text field.",
|
||||
"keywords": [
|
||||
"input"
|
||||
|
||||
@ -1,5 +1,27 @@
|
||||
# @nextui-org/kbd
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/kbd",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "The keyboard key components indicates which key or set of keys used to execute a specificv action",
|
||||
"keywords": [
|
||||
"kbd"
|
||||
|
||||
@ -1,5 +1,29 @@
|
||||
# @nextui-org/link
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/link",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Links allow users to click their way from page to page. This component is styled to resemble a hyperlink and semantically renders an <a>",
|
||||
"keywords": [
|
||||
"link"
|
||||
|
||||
@ -1,5 +1,35 @@
|
||||
# @nextui-org/modal
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-aria-button@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-disclosure@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-aria-button@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-disclosure@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/modal",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Displays a dialog with a custom content that requires attention or provides additional information.",
|
||||
"keywords": [
|
||||
"modal"
|
||||
|
||||
@ -1,5 +1,33 @@
|
||||
# @nextui-org/navbar
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/use-aria-toggle-button@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-scroll-position@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/use-aria-toggle-button@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-scroll-position@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/navbar",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "A responsive navigation header positioned on top side of your page that includes support for branding, links, navigation, collapse and more.",
|
||||
"keywords": [
|
||||
"navbar"
|
||||
|
||||
@ -1,5 +1,31 @@
|
||||
# @nextui-org/pagination
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-pagination@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-pagination@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/pagination",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "The Pagination component allows you to display active page and navigate between multiple pages.",
|
||||
"keywords": [
|
||||
"pagination"
|
||||
|
||||
@ -1,5 +1,35 @@
|
||||
# @nextui-org/popover
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-aria-button@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/aria-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/button@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-aria-button@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/aria-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/button@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/popover",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "A popover is an overlay element positioned relative to a trigger.",
|
||||
"keywords": [
|
||||
"popover"
|
||||
|
||||
@ -1,5 +1,31 @@
|
||||
# @nextui-org/progress
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-aria-label@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-is-mounted@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-aria-label@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-is-mounted@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/progress",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Progress bars show either determinate or indeterminate progress of an operation over time.",
|
||||
"keywords": [
|
||||
"progress"
|
||||
|
||||
@ -1,5 +1,27 @@
|
||||
# @nextui-org/radio
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/radio",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Radios allow users to select a single option from a list of mutually exclusive options.",
|
||||
"keywords": [
|
||||
"radio"
|
||||
|
||||
@ -1,5 +1,27 @@
|
||||
# @nextui-org/skeleton
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/skeleton",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Skeleton is used to display the loading state of some component.",
|
||||
"keywords": [
|
||||
"skeleton"
|
||||
|
||||
@ -1,5 +1,35 @@
|
||||
# @nextui-org/snippet
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-clipboard@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/tooltip@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/button@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-clipboard@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/tooltip@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/button@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/snippet",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Display a snippet of copyable code for the command line.",
|
||||
"keywords": [
|
||||
"snippet"
|
||||
|
||||
@ -1,5 +1,27 @@
|
||||
# @nextui-org/spacer
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/spacer",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "A flexible spacer component designed to create consistent spacing and maintain alignment in your layout.",
|
||||
"keywords": [
|
||||
"spacer"
|
||||
|
||||
@ -1,5 +1,27 @@
|
||||
# @nextui-org/spinner
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/spinner",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Loaders express an unspecified wait time or display the length of a process.",
|
||||
"keywords": [
|
||||
"loading",
|
||||
|
||||
@ -1,5 +1,27 @@
|
||||
# @nextui-org/switch
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/switch",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "A switch is similar to a checkbox, but represents on/off values as opposed to selection.",
|
||||
"keywords": [
|
||||
"switch"
|
||||
|
||||
@ -1,5 +1,33 @@
|
||||
# @nextui-org/table
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/checkbox@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/spacer@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/shared-icons@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/checkbox@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/spacer@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@nextui-org/table",
|
||||
"version": "0.0.0-dev-v2-20230614044324",
|
||||
"version": "0.0.0-dev-v2-20230615024440",
|
||||
"description": "Tables are used to display tabular data using rows and columns. ",
|
||||
"keywords": [
|
||||
"table"
|
||||
|
||||
@ -1,5 +1,33 @@
|
||||
# @nextui-org/tabs
|
||||
|
||||
## 0.0.0-dev-v2-20230615024440
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/use-is-mounted@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/aria-utils@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230615024440
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230615024440
|
||||
|
||||
## 0.0.0-dev-v2-20230614225402
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Avatar API improved
|
||||
- Updated dependencies
|
||||
- @nextui-org/framer-transitions@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/shared-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/react-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/use-is-mounted@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/aria-utils@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/system@0.0.0-dev-v2-20230614225402
|
||||
- @nextui-org/theme@0.0.0-dev-v2-20230614225402
|
||||
|
||||
## 0.0.0-dev-v2-20230614044324
|
||||
|
||||
### Patch Changes
|
||||
|
||||