dark-blue 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +83 -40
  2. package/dist/components/composite/Accordion.d.ts +0 -0
  3. package/dist/components/composite/Card.d.ts +2 -1
  4. package/dist/components/composite/Carousel.d.ts +24 -0
  5. package/dist/components/composite/Dropdown.d.ts +0 -0
  6. package/dist/components/composite/MediaPlayer.d.ts +32 -0
  7. package/dist/components/composite/Modal.d.ts +0 -0
  8. package/dist/components/composite/Navbar.d.ts +36 -0
  9. package/dist/components/composite/Pagination.d.ts +16 -0
  10. package/dist/components/composite/Sidebar.d.ts +33 -0
  11. package/dist/components/composite/Tabs.d.ts +0 -0
  12. package/dist/components/composite/Toast.d.ts +0 -0
  13. package/dist/components/composite/index.d.ts +5 -0
  14. package/dist/components/layout/Container.d.ts +0 -0
  15. package/dist/components/layout/Footer.d.ts +16 -0
  16. package/dist/components/layout/Grid.d.ts +4 -4
  17. package/dist/components/layout/Stack.d.ts +3 -3
  18. package/dist/components/layout/index.d.ts +1 -0
  19. package/dist/components/primitives/Alert.d.ts +15 -0
  20. package/dist/components/primitives/Badge.d.ts +9 -0
  21. package/dist/components/primitives/Breadcrumb.d.ts +13 -0
  22. package/dist/components/primitives/Button.d.ts +0 -0
  23. package/dist/components/primitives/Checkbox.d.ts +0 -0
  24. package/dist/components/primitives/Input.d.ts +3 -1
  25. package/dist/components/primitives/Label.d.ts +0 -0
  26. package/dist/components/primitives/PasswordInput.d.ts +11 -0
  27. package/dist/components/primitives/Radio.d.ts +0 -0
  28. package/dist/components/primitives/Select.d.ts +0 -0
  29. package/dist/components/primitives/Skeleton.d.ts +4 -0
  30. package/dist/components/primitives/Textarea.d.ts +0 -0
  31. package/dist/components/primitives/index.d.ts +5 -0
  32. package/dist/hooks/useTheme.d.ts +1 -1
  33. package/dist/index.css +1 -0
  34. package/dist/index.d.ts +0 -0
  35. package/dist/index.js +2303 -1039
  36. package/dist/utils/cn.d.ts +0 -0
  37. package/package.json +46 -36
  38. package/dist/style.css +0 -1
package/README.md CHANGED
@@ -1,50 +1,93 @@
1
- # React + TypeScript + Vite
1
+ # dark-blue
2
2
 
3
- This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
3
+ A theme-aware React component library built with Tailwind CSS and Radix UI.
4
4
 
5
- Currently, two official plugins are available:
5
+ ## Install
6
6
 
7
- - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8
- - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
7
+ ```sh
8
+ pnpm add dark-blue
9
+ # or
10
+ npm install dark-blue
11
+ ```
9
12
 
10
- ## Expanding the ESLint configuration
13
+ ## Usage
11
14
 
12
- If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
15
+ Import components from the package root and styles from the `styles` entry point:
13
16
 
14
- - Configure the top-level `parserOptions` property like this:
17
+ ```tsx
18
+ import { Button, Card, CardContent } from 'dark-blue'
19
+ import 'dark-blue/styles'
15
20
 
16
- ```js
17
- export default tseslint.config({
18
- languageOptions: {
19
- // other options...
20
- parserOptions: {
21
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
22
- tsconfigRootDir: import.meta.dirname,
23
- },
24
- },
25
- })
21
+ export default function Demo() {
22
+ return (
23
+ <Card>
24
+ <CardContent>
25
+ <Button>Click me</Button>
26
+ </CardContent>
27
+ </Card>
28
+ )
29
+ }
26
30
  ```
27
31
 
28
- - Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked`
29
- - Optionally add `...tseslint.configs.stylisticTypeChecked`
30
- - Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config:
31
-
32
- ```js
33
- // eslint.config.js
34
- import react from 'eslint-plugin-react'
35
-
36
- export default tseslint.config({
37
- // Set the react version
38
- settings: { react: { version: '18.3' } },
39
- plugins: {
40
- // Add the react plugin
41
- react,
42
- },
43
- rules: {
44
- // other rules...
45
- // Enable its recommended rules
46
- ...react.configs.recommended.rules,
47
- ...react.configs['jsx-runtime'].rules,
48
- },
49
- })
32
+ ### Theming
33
+
34
+ dark-blue uses class-based dark mode (`class="dark"` on `<html>`). The `useTheme` hook manages the active theme, and `themeScript` is a small inline script you can inject into `<head>` to prevent a flash of unstyled content on SSR / initial load:
35
+
36
+ ```tsx
37
+ import { useTheme, themeScript } from 'dark-blue'
38
+
39
+ // Inject into <head> before anything else renders
40
+ <script dangerouslySetInnerHTML={{ __html: themeScript }} />
41
+
42
+ // In your root component
43
+ function App() {
44
+ const { theme, setTheme } = useTheme() // 'light' | 'dark' | 'system'
45
+ // ...
46
+ }
50
47
  ```
48
+
49
+ ## Components
50
+
51
+ ### Primitives
52
+
53
+ - Button
54
+ - Input
55
+ - Label
56
+ - Checkbox
57
+ - Radio
58
+ - Select
59
+ - Textarea
60
+
61
+ ### Composite
62
+
63
+ - Card
64
+ - Tabs
65
+ - Accordion
66
+ - Dropdown
67
+ - Modal
68
+ - Toast (includes a `useToast` hook)
69
+
70
+ ### Layout
71
+
72
+ - Container
73
+ - Stack
74
+ - Grid
75
+
76
+ ## Development
77
+
78
+ | Command | What it does |
79
+ |---|---|
80
+ | `pnpm dev` | Vite dev server (demo app at localhost:5173) |
81
+ | `pnpm build` | Type-check + build the demo app |
82
+ | `pnpm build:lib` | Production library build → `dist/` |
83
+ | `pnpm lint` | ESLint |
84
+ | `pnpm storybook` | Storybook dev server on port 6006 |
85
+ | `pnpm build-storybook` | Static Storybook build |
86
+
87
+ Visual and interaction coverage is handled by Storybook + Chromatic. There is no unit-test runner.
88
+
89
+ ## Contributing
90
+
91
+ 1. Make your changes, then run `pnpm changeset` and follow the prompts to describe the change and pick a bump type (`patch` / `minor` / `major`).
92
+ 2. Commit the generated `.changeset/*.md` file alongside your code.
93
+ 3. Open a PR. On merge to `main`, a "Version Packages" PR is opened automatically — merging that publishes to npm.
File without changes
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const cardVariants: (props?: ({
4
- variant?: "default" | "outline" | "elevated" | null | undefined;
4
+ variant?: "default" | "outline" | "elevated" | "glow" | "gradient" | null | undefined;
5
+ surface?: "default" | "base" | "raised" | "high" | null | undefined;
5
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
7
  export interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
7
8
  }
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ interface CarouselContextValue {
3
+ currentIndex: number;
4
+ totalSlides: number;
5
+ setTotalSlides: (count: number) => void;
6
+ goTo: (index: number) => void;
7
+ goToPrevious: () => void;
8
+ goToNext: () => void;
9
+ canGoPrevious: boolean;
10
+ canGoNext: boolean;
11
+ }
12
+ declare function useCarouselContext(): CarouselContextValue;
13
+ export interface CarouselProps extends React.HTMLAttributes<HTMLDivElement> {
14
+ defaultIndex?: number;
15
+ loop?: boolean;
16
+ onSlideChange?: (index: number) => void;
17
+ }
18
+ declare const Carousel: React.ForwardRefExoticComponent<CarouselProps & React.RefAttributes<HTMLDivElement>>;
19
+ declare const CarouselContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
20
+ declare const CarouselItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
21
+ declare const CarouselPrevious: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
22
+ declare const CarouselNext: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
23
+ declare const CarouselIndicators: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
24
+ export { Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, CarouselIndicators, useCarouselContext, };
File without changes
@@ -0,0 +1,32 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const mediaPlayerVariants: (props?: ({
4
+ variant?: "audio" | "video" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface MediaPlayerProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof mediaPlayerVariants> {
7
+ }
8
+ declare const MediaPlayer: React.ForwardRefExoticComponent<MediaPlayerProps & React.RefAttributes<HTMLDivElement>>;
9
+ declare const MediaPlayerDisplay: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const MediaPlayerControls: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const MediaPlayerOverlay: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
12
+ export interface MediaPlayerScrubberProps extends React.HTMLAttributes<HTMLDivElement> {
13
+ progress?: number;
14
+ }
15
+ declare const MediaPlayerScrubber: React.ForwardRefExoticComponent<MediaPlayerScrubberProps & React.RefAttributes<HTMLDivElement>>;
16
+ declare const mediaPlayerPlayButtonVariants: (props?: ({
17
+ variant?: "audio" | "video" | null | undefined;
18
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
19
+ export interface MediaPlayerPlayButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof mediaPlayerPlayButtonVariants> {
20
+ isPlaying?: boolean;
21
+ }
22
+ declare const MediaPlayerPlayButton: React.ForwardRefExoticComponent<MediaPlayerPlayButtonProps & React.RefAttributes<HTMLButtonElement>>;
23
+ declare const MediaPlayerButton: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
24
+ declare const MediaPlayerTime: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & React.RefAttributes<HTMLSpanElement>>;
25
+ export interface MediaPlayerVolumeProps extends React.HTMLAttributes<HTMLDivElement> {
26
+ level?: number;
27
+ }
28
+ declare const MediaPlayerVolume: React.ForwardRefExoticComponent<MediaPlayerVolumeProps & React.RefAttributes<HTMLDivElement>>;
29
+ declare const MediaPlayerInfo: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
30
+ declare const MediaPlayerTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
31
+ declare const MediaPlayerSubtitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
32
+ export { MediaPlayer, mediaPlayerVariants, MediaPlayerDisplay, MediaPlayerControls, MediaPlayerOverlay, MediaPlayerScrubber, MediaPlayerPlayButton, mediaPlayerPlayButtonVariants, MediaPlayerButton, MediaPlayerTime, MediaPlayerVolume, MediaPlayerInfo, MediaPlayerTitle, MediaPlayerSubtitle, };
File without changes
@@ -0,0 +1,36 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const navbarVariants: (props?: ({
4
+ position?: "fixed" | "static" | "sticky" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface NavbarProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof navbarVariants> {
7
+ }
8
+ declare const Navbar: React.ForwardRefExoticComponent<NavbarProps & React.RefAttributes<HTMLElement>>;
9
+ export interface NavbarBrandProps extends React.HTMLAttributes<HTMLDivElement> {
10
+ logo?: React.ReactNode;
11
+ }
12
+ declare const NavbarBrand: React.ForwardRefExoticComponent<NavbarBrandProps & React.RefAttributes<HTMLDivElement>>;
13
+ export interface NavbarSearchProps extends React.HTMLAttributes<HTMLButtonElement> {
14
+ shortcut?: string;
15
+ placeholder?: string;
16
+ onSearchClick?: () => void;
17
+ }
18
+ declare const NavbarSearch: React.ForwardRefExoticComponent<NavbarSearchProps & React.RefAttributes<HTMLButtonElement>>;
19
+ declare const NavbarActions: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
20
+ export interface NavbarIconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
21
+ icon?: React.ReactNode;
22
+ badge?: number;
23
+ }
24
+ declare const NavbarIconButton: React.ForwardRefExoticComponent<NavbarIconButtonProps & React.RefAttributes<HTMLButtonElement>>;
25
+ export interface NavbarUserProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
26
+ name: string;
27
+ role?: string;
28
+ avatar?: React.ReactNode;
29
+ }
30
+ declare const NavbarUser: React.ForwardRefExoticComponent<NavbarUserProps & React.RefAttributes<HTMLButtonElement>>;
31
+ declare const NavbarIcons: {
32
+ Search: () => import("react/jsx-runtime").JSX.Element;
33
+ Bell: () => import("react/jsx-runtime").JSX.Element;
34
+ Settings: () => import("react/jsx-runtime").JSX.Element;
35
+ };
36
+ export { Navbar, NavbarBrand, NavbarSearch, NavbarActions, NavbarIconButton, NavbarUser, NavbarIcons, navbarVariants, };
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const Pagination: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
4
+ declare const PaginationContent: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React.RefAttributes<HTMLUListElement>>;
5
+ declare const PaginationItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
6
+ declare const paginationLinkVariants: (props?: ({
7
+ variant?: "default" | "active" | null | undefined;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
+ export interface PaginationLinkProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof paginationLinkVariants> {
10
+ isActive?: boolean;
11
+ }
12
+ declare const PaginationLink: React.ForwardRefExoticComponent<PaginationLinkProps & React.RefAttributes<HTMLButtonElement>>;
13
+ declare const PaginationPrevious: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
14
+ declare const PaginationNext: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
15
+ declare const PaginationEllipsis: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
16
+ export { Pagination, PaginationContent, PaginationItem, PaginationLink, paginationLinkVariants, PaginationPrevious, PaginationNext, PaginationEllipsis, };
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const sidebarVariants: (props?: ({
4
+ collapsed?: boolean | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ declare const sidebarItemVariants: (props?: ({
7
+ active?: boolean | null | undefined;
8
+ collapsed?: boolean | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ interface SidebarContextValue {
11
+ collapsed: boolean;
12
+ setCollapsed: (collapsed: boolean) => void;
13
+ }
14
+ declare const useSidebar: () => SidebarContextValue;
15
+ export interface SidebarProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof sidebarVariants> {
16
+ defaultCollapsed?: boolean;
17
+ onCollapsedChange?: (collapsed: boolean) => void;
18
+ }
19
+ declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLDivElement>>;
20
+ declare const SidebarHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
21
+ declare const SidebarContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
22
+ interface SidebarSectionProps extends React.HTMLAttributes<HTMLDivElement> {
23
+ title?: string;
24
+ }
25
+ declare const SidebarSection: React.ForwardRefExoticComponent<SidebarSectionProps & React.RefAttributes<HTMLDivElement>>;
26
+ export interface SidebarItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof sidebarItemVariants> {
27
+ icon?: React.ReactNode;
28
+ label: string;
29
+ }
30
+ declare const SidebarItem: React.ForwardRefExoticComponent<SidebarItemProps & React.RefAttributes<HTMLButtonElement>>;
31
+ declare const SidebarFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
32
+ declare const SidebarToggle: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
33
+ export { Sidebar, SidebarHeader, SidebarContent, SidebarSection, SidebarItem, SidebarFooter, SidebarToggle, sidebarVariants, sidebarItemVariants, useSidebar, };
File without changes
File without changes
@@ -4,3 +4,8 @@ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent, type Acco
4
4
  export { Dropdown, DropdownTrigger, DropdownContent, DropdownItem, DropdownSeparator, type DropdownProps, type DropdownTriggerProps, type DropdownContentProps, } from './Dropdown';
5
5
  export { Modal, ModalTrigger, ModalOverlay, ModalContent, ModalHeader, ModalFooter, ModalTitle, ModalDescription, ModalClose, type ModalProps, type ModalTriggerProps, } from './Modal';
6
6
  export { Toast, ToastTitle, ToastDescription, ToastContainer, toastVariants, useToast, type ToastProps, type ToastContainerProps, } from './Toast';
7
+ export { Sidebar, SidebarHeader, SidebarContent, SidebarSection, SidebarItem, SidebarFooter, SidebarToggle, sidebarVariants, sidebarItemVariants, useSidebar, type SidebarProps, type SidebarItemProps, } from './Sidebar';
8
+ export { Navbar, NavbarBrand, NavbarSearch, NavbarActions, NavbarIconButton, NavbarUser, NavbarIcons, navbarVariants, type NavbarProps, type NavbarBrandProps, type NavbarSearchProps, type NavbarIconButtonProps, type NavbarUserProps, } from './Navbar';
9
+ export { Pagination, PaginationContent, PaginationItem, PaginationLink, paginationLinkVariants, PaginationPrevious, PaginationNext, PaginationEllipsis, type PaginationLinkProps, } from './Pagination';
10
+ export { Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, CarouselIndicators, useCarouselContext, type CarouselProps, } from './Carousel';
11
+ export { MediaPlayer, mediaPlayerVariants, MediaPlayerDisplay, MediaPlayerControls, MediaPlayerOverlay, MediaPlayerScrubber, MediaPlayerPlayButton, mediaPlayerPlayButtonVariants, MediaPlayerButton, MediaPlayerTime, MediaPlayerVolume, MediaPlayerInfo, MediaPlayerTitle, MediaPlayerSubtitle, type MediaPlayerProps, type MediaPlayerScrubberProps, type MediaPlayerPlayButtonProps, type MediaPlayerVolumeProps, } from './MediaPlayer';
File without changes
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const footerVariants: (props?: ({
4
+ variant?: "default" | "minimal" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface FooterProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof footerVariants> {
7
+ }
8
+ declare const Footer: React.ForwardRefExoticComponent<FooterProps & React.RefAttributes<HTMLElement>>;
9
+ declare const FooterBrand: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
10
+ declare const FooterLinks: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const FooterLinkGroup: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
12
+ title?: string;
13
+ } & React.RefAttributes<HTMLDivElement>>;
14
+ declare const FooterLink: React.ForwardRefExoticComponent<React.AnchorHTMLAttributes<HTMLAnchorElement> & React.RefAttributes<HTMLAnchorElement>>;
15
+ declare const FooterCopyright: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
16
+ export { Footer, footerVariants, FooterBrand, FooterLinks, FooterLinkGroup, FooterLink, FooterCopyright, };
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const gridVariants: (props?: ({
4
- cols?: 1 | 4 | 2 | 3 | 5 | 6 | 12 | null | undefined;
5
- gap?: 0 | 1 | 4 | 2 | 3 | 5 | 6 | 8 | 10 | 12 | null | undefined;
6
- align?: "start" | "center" | "end" | "stretch" | null | undefined;
7
- justify?: "start" | "center" | "end" | "stretch" | null | undefined;
4
+ cols?: 1 | 2 | 4 | 3 | 5 | 6 | 12 | null | undefined;
5
+ gap?: 0 | 1 | 2 | 4 | 3 | 5 | 6 | 8 | 10 | 12 | null | undefined;
6
+ align?: "center" | "start" | "end" | "stretch" | null | undefined;
7
+ justify?: "center" | "start" | "end" | "stretch" | null | undefined;
8
8
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  export interface GridProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof gridVariants> {
10
10
  }
@@ -2,9 +2,9 @@ import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const stackVariants: (props?: ({
4
4
  direction?: "row" | "column" | "row-reverse" | "column-reverse" | null | undefined;
5
- align?: "start" | "center" | "end" | "stretch" | "baseline" | null | undefined;
6
- justify?: "start" | "center" | "end" | "between" | "around" | "evenly" | null | undefined;
7
- gap?: 0 | 1 | 4 | 2 | 3 | 5 | 6 | 8 | 10 | 12 | null | undefined;
5
+ align?: "center" | "start" | "end" | "stretch" | "baseline" | null | undefined;
6
+ justify?: "center" | "start" | "end" | "between" | "around" | "evenly" | null | undefined;
7
+ gap?: 0 | 1 | 2 | 4 | 3 | 5 | 6 | 8 | 10 | 12 | null | undefined;
8
8
  wrap?: boolean | null | undefined;
9
9
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
10
  export interface StackProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof stackVariants> {
@@ -1,3 +1,4 @@
1
1
  export { Container, containerVariants, type ContainerProps } from './Container';
2
2
  export { Stack, stackVariants, type StackProps } from './Stack';
3
3
  export { Grid, gridVariants, type GridProps } from './Grid';
4
+ export { Footer, footerVariants, FooterBrand, FooterLinks, FooterLinkGroup, FooterLink, FooterCopyright, type FooterProps, } from './Footer';
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const alertVariants: (props?: ({
4
+ variant?: "destructive" | "success" | "warning" | "info" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface AlertProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof alertVariants> {
7
+ }
8
+ declare const Alert: React.ForwardRefExoticComponent<AlertProps & React.RefAttributes<HTMLDivElement>>;
9
+ declare const AlertIcon: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLSpanElement> & React.RefAttributes<HTMLSpanElement>>;
10
+ declare const AlertTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLHeadingElement> & React.RefAttributes<HTMLHeadingElement>>;
11
+ declare const AlertDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
12
+ declare const AlertContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
13
+ declare const AlertActions: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
14
+ declare const AlertClose: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
15
+ export { Alert, alertVariants, AlertIcon, AlertTitle, AlertDescription, AlertContent, AlertActions, AlertClose, };
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const badgeVariants: (props?: ({
4
+ variant?: "default" | "destructive" | "outline" | "success" | "warning" | "subtle" | "success-subtle" | "destructive-subtle" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
7
+ }
8
+ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLSpanElement>>;
9
+ export { Badge, badgeVariants };
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+ export type BreadcrumbProps = React.ComponentPropsWithoutRef<'nav'>;
3
+ declare const Breadcrumb: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
4
+ declare const BreadcrumbList: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.OlHTMLAttributes<HTMLOListElement>, HTMLOListElement>, "ref"> & React.RefAttributes<HTMLOListElement>>;
5
+ declare const BreadcrumbItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
6
+ export type BreadcrumbLinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement>;
7
+ declare const BreadcrumbLink: React.ForwardRefExoticComponent<BreadcrumbLinkProps & React.RefAttributes<HTMLAnchorElement>>;
8
+ declare const BreadcrumbPage: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
9
+ export interface BreadcrumbSeparatorProps extends React.ComponentPropsWithoutRef<'li'> {
10
+ variant?: 'slash' | 'chevron';
11
+ }
12
+ declare const BreadcrumbSeparator: React.ForwardRefExoticComponent<BreadcrumbSeparatorProps & React.RefAttributes<HTMLLIElement>>;
13
+ export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, };
File without changes
File without changes
@@ -1,10 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const inputVariants: (props?: ({
4
- variant?: "error" | "default" | null | undefined;
4
+ variant?: "error" | "default" | "success" | null | undefined;
5
5
  inputSize?: "default" | "sm" | "lg" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof inputVariants> {
8
+ leadingIcon?: React.ReactNode;
9
+ trailingIcon?: React.ReactNode;
8
10
  }
9
11
  declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
10
12
  export { Input, inputVariants };
File without changes
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ declare const passwordInputVariants: (props?: ({
4
+ variant?: "error" | "default" | "success" | null | undefined;
5
+ inputSize?: "default" | "sm" | "lg" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export interface PasswordInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'>, VariantProps<typeof passwordInputVariants> {
8
+ showLeadingIcon?: boolean;
9
+ }
10
+ declare const PasswordInput: React.ForwardRefExoticComponent<PasswordInputProps & React.RefAttributes<HTMLInputElement>>;
11
+ export { PasswordInput, passwordInputVariants };
File without changes
File without changes
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ export type SkeletonProps = React.HTMLAttributes<HTMLDivElement>;
3
+ declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLDivElement>>;
4
+ export { Skeleton };
File without changes
@@ -1,7 +1,12 @@
1
1
  export { Label, labelVariants, type LabelProps } from './Label';
2
2
  export { Button, buttonVariants, type ButtonProps } from './Button';
3
3
  export { Input, inputVariants, type InputProps } from './Input';
4
+ export { PasswordInput, passwordInputVariants, type PasswordInputProps } from './PasswordInput';
4
5
  export { Textarea, textareaVariants, type TextareaProps } from './Textarea';
5
6
  export { Checkbox, checkboxVariants, type CheckboxProps } from './Checkbox';
6
7
  export { Radio, radioVariants, type RadioProps } from './Radio';
7
8
  export { Select, selectVariants, type SelectProps } from './Select';
9
+ export { Badge, badgeVariants, type BadgeProps } from './Badge';
10
+ export { Alert, alertVariants, AlertIcon, AlertTitle, AlertDescription, AlertContent, AlertActions, AlertClose, type AlertProps, } from './Alert';
11
+ export { Skeleton, type SkeletonProps } from './Skeleton';
12
+ export { Breadcrumb, BreadcrumbList, BreadcrumbItem, BreadcrumbLink, BreadcrumbPage, BreadcrumbSeparator, type BreadcrumbProps, type BreadcrumbLinkProps, type BreadcrumbSeparatorProps, } from './Breadcrumb';
@@ -1,7 +1,7 @@
1
1
  type Theme = 'light' | 'dark' | 'system';
2
2
  export declare function useTheme(): {
3
3
  theme: Theme;
4
- resolvedTheme: "light" | "dark";
4
+ resolvedTheme: "dark" | "light";
5
5
  setTheme: (newTheme: Theme) => void;
6
6
  toggleTheme: () => void;
7
7
  };
package/dist/index.css ADDED
@@ -0,0 +1 @@
1
+ @layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-900:oklch(42.1% .095 57.708);--color-yellow-950:oklch(28.6% .066 53.813);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-500:oklch(72.3% .219 149.579);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-purple-900:oklch(38.1% .176 304.987);--color-slate-400:oklch(70.4% .04 256.788);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-xs:20rem;--container-sm:24rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-sm:8px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,sans-serif;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:JetBrains Mono,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--primary-50:219 100% 97%;--primary-100:220 96% 93%;--primary-200:220 92% 85%;--primary-300:221 96% 72%;--primary-400:221 100% 58%;--primary-500:220 85% 45%;--primary-600:220 85% 34%;--primary-700:220 85% 29%;--primary-800:220 85% 23%;--primary-900:220 85% 16%;--primary-950:221 85% 10%;--success:142 76% 36%;--success-foreground:0 0% 100%;--background:240 12% 97%;--foreground:222 47% 11%;--card:0 0% 100%;--card-foreground:222 47% 11%;--popover:0 0% 100%;--popover-foreground:222 47% 11%;--primary:220 85% 45%;--primary-foreground:210 40% 98%;--secondary:210 40% 96%;--secondary-foreground:222 47% 11%;--muted:210 40% 96%;--muted-foreground:215 16% 47%;--accent:210 40% 96%;--accent-foreground:222 47% 11%;--destructive:0 84% 60%;--destructive-foreground:210 40% 98%;--border:214 32% 91%;--input:214 32% 91%;--ring:220 85% 45%;--radius:.5rem;--info:217 91% 60%;--info-foreground:221 83% 23%;--info-bg:214 95% 93%;--info-border:214 95% 87%;--warning:38 92% 50%;--warning-foreground:32 81% 29%;--warning-bg:48 96% 89%;--warning-border:48 96% 79%;--surface-base:0 0% 100%;--surface-raised:210 40% 98%;--surface-high:214 32% 96%;--card-border:214 32% 91%}.dark{--background:220 36% 10%;--foreground:210 40% 98%;--card:224 16% 13%;--card-foreground:210 40% 98%;--popover:224 16% 13%;--popover-foreground:210 40% 98%;--primary:220 85% 45%;--primary-foreground:210 40% 98%;--secondary:217 33% 17%;--secondary-foreground:210 40% 98%;--muted:217 33% 17%;--muted-foreground:221 17% 67%;--accent:217 33% 17%;--accent-foreground:210 40% 98%;--destructive:0 62% 30%;--destructive-foreground:210 40% 98%;--border:219 18% 19%;--input:219 18% 19%;--ring:220 85% 45%;--success:142 71% 45%;--success-foreground:0 0% 100%;--info:217 91% 60%;--info-foreground:210 40% 98%;--info-bg:217 91% 60%/.1;--info-border:217 91% 60%/.3;--warning:38 92% 50%;--warning-foreground:210 40% 98%;--warning-bg:38 92% 50%/.1;--warning-border:38 92% 50%/.3;--surface-base:220 23% 5%;--surface-raised:224 16% 13%;--surface-high:219 18% 19%;--card-border:221 17% 28%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.-top-\[5px\]{top:-5px}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\[50\%\]{top:50%}.-right-1{right:calc(var(--spacing)*-1)}.-right-2{right:calc(var(--spacing)*-2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.left-\[50\%\]{left:50%}.z-50{z-index:50}.z-\[100\]{z-index:100}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-video{aspect-ratio:var(--aspect-video)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-\[200vh\]{height:200vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-screen{max-height:100vh}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\[85\%\]{width:85%}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.w-\[350px\]{width:350px}.w-\[400px\]{width:400px}.w-\[500px\]{width:500px}.w-\[600px\]{width:600px}.w-\[700px\]{width:700px}.w-full{width:100%}.w-px{width:1px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-screen-2xl{max-width:var(--breakpoint-2xl)}.max-w-screen-lg{max-width:var(--breakpoint-lg)}.max-w-screen-md{max-width:var(--breakpoint-md)}.max-w-screen-sm{max-width:var(--breakpoint-sm)}.max-w-screen-xl{max-width:var(--breakpoint-xl)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-4{min-width:calc(var(--spacing)*4)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-accordion-down{animation:.2s ease-out accordion-down}.animate-accordion-up{animation:.2s ease-out accordion-up}.animate-fade-in{animation:.2s ease-out fade-in}.animate-slide-in-from-right{animation:.2s ease-out slide-in-from-right}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-nowrap{flex-wrap:nowrap}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-around{justify-content:space-around}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-evenly{justify-content:space-evenly}.justify-start{justify-content:flex-start}.justify-items-center{justify-items:center}.justify-items-end{justify-items:end}.justify-items-start{justify-items:start}.justify-items-stretch{justify-items:stretch}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-10{gap:calc(var(--spacing)*10)}.gap-12{gap:calc(var(--spacing)*12)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:hsl(var(--border))}.border-destructive,.border-destructive\/20{border-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.border-destructive\/20{border-color:color-mix(in oklab,hsl(var(--destructive))20%,transparent)}}.border-green-500{border-color:var(--color-green-500)}.border-info-border{border-color:hsl(var(--info-border))}.border-input{border-color:hsl(var(--input))}.border-primary,.border-primary\/20{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/20{border-color:color-mix(in oklab,hsl(var(--primary))20%,transparent)}}.border-success,.border-success\/20{border-color:hsl(var(--success))}@supports (color:color-mix(in lab,red,red)){.border-success\/20{border-color:color-mix(in oklab,hsl(var(--success))20%,transparent)}}.border-transparent{border-color:#0000}.border-warning-border{border-color:hsl(var(--warning-border))}.border-yellow-500{border-color:var(--color-yellow-500)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background,.bg-background\/80{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,hsl(var(--background))80%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black)80%,transparent)}}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive,.bg-destructive\/5{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/5{background-color:color-mix(in oklab,hsl(var(--destructive))5%,transparent)}}.bg-destructive\/15{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/15{background-color:color-mix(in oklab,hsl(var(--destructive))15%,transparent)}}.bg-green-50{background-color:var(--color-green-50)}.bg-info-bg{background-color:hsl(var(--info-bg))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground\/30{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/30{background-color:color-mix(in oklab,hsl(var(--muted-foreground))30%,transparent)}}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-200{background-color:hsl(var(--primary-200))}.bg-primary-300{background-color:hsl(var(--primary-300))}.bg-primary-400{background-color:hsl(var(--primary-400))}.bg-primary-500{background-color:hsl(var(--primary-500))}.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary))10%,transparent)}}.bg-secondary{background-color:hsl(var(--secondary))}.bg-success,.bg-success\/5{background-color:hsl(var(--success))}@supports (color:color-mix(in lab,red,red)){.bg-success\/5{background-color:color-mix(in oklab,hsl(var(--success))5%,transparent)}}.bg-success\/15{background-color:hsl(var(--success))}@supports (color:color-mix(in lab,red,red)){.bg-success\/15{background-color:color-mix(in oklab,hsl(var(--success))15%,transparent)}}.bg-surface-base{background-color:hsl(var(--surface-base))}.bg-surface-high{background-color:hsl(var(--surface-high))}.bg-surface-raised{background-color:hsl(var(--surface-raised))}.bg-transparent{background-color:#0000}.bg-warning-bg{background-color:hsl(var(--warning-bg))}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/90{--tw-gradient-from:#000000e6}@supports (color:color-mix(in lab,red,red)){.from-black\/90{--tw-gradient-from:color-mix(in oklab,var(--color-black)90%,transparent)}}.from-black\/90{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-card{--tw-gradient-from:hsl(var(--card));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary\/20{--tw-gradient-from:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.from-primary\/20{--tw-gradient-from:color-mix(in oklab,hsl(var(--primary))20%,transparent)}}.from-primary\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-transparent{--tw-gradient-via:transparent;--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-black\/40{--tw-gradient-to:#0006}@supports (color:color-mix(in lab,red,red)){.to-black\/40{--tw-gradient-to:color-mix(in oklab,var(--color-black)40%,transparent)}}.to-black\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-card{--tw-gradient-to:hsl(var(--card));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-900\/20{--tw-gradient-to:#59168b33}@supports (color:color-mix(in lab,red,red)){.to-purple-900\/20{--tw-gradient-to:color-mix(in oklab,var(--color-purple-900)20%,transparent)}}.to-purple-900\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-1{padding:calc(var(--spacing)*1)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-10{padding-right:calc(var(--spacing)*10)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-green-900{color:var(--color-green-900)}.text-info-foreground{color:hsl(var(--info-foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-400{color:var(--color-slate-400)}.text-success{color:hsl(var(--success))}.text-success-foreground{color:hsl(var(--success-foreground))}.text-warning-foreground{color:hsl(var(--warning-foreground))}.text-white{color:var(--color-white)}.text-yellow-900{color:var(--color-yellow-900)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner-glow{--tw-shadow:inset 0 1px 0 0 var(--tw-shadow-color,#ffffff0d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-primary\/20{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--primary))20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-primary\/30{--tw-shadow-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.shadow-primary\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,hsl(var(--primary))30%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(hover:hover){.group-hover\/scrub\:opacity-100:is(:where(.group\/scrub):hover *){opacity:1}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:calc(var(--spacing)*0)}.before\:-z-10:before{content:var(--tw-content);z-index:-10}.before\:-translate-x-full:before{content:var(--tw-content);--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.before\:animate-shimmer:before{content:var(--tw-content);animation:2s linear infinite shimmer}.before\:rounded-lg:before{content:var(--tw-content);border-radius:var(--radius)}.before\:bg-gradient-to-b:before{content:var(--tw-content);--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\:bg-gradient-to-r:before{content:var(--tw-content);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\:from-primary\/50:before{content:var(--tw-content);--tw-gradient-from:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.before\:from-primary\/50:before{--tw-gradient-from:color-mix(in oklab,hsl(var(--primary))50%,transparent)}}.before\:from-primary\/50:before{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:from-transparent:before{content:var(--tw-content);--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:via-foreground\/5:before{content:var(--tw-content);--tw-gradient-via:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.before\:via-foreground\/5:before{--tw-gradient-via:color-mix(in oklab,hsl(var(--foreground))5%,transparent)}}.before\:via-foreground\/5:before{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.before\:to-transparent:before{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.before\:p-\[1px\]:before{content:var(--tw-content);padding:1px}.checked\:border-primary:checked{border-color:hsl(var(--primary))}.checked\:bg-primary:checked{background-color:hsl(var(--primary))}.checked\:text-primary-foreground:checked{color:hsl(var(--primary-foreground))}@media(hover:hover){.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-background:hover{background-color:hsl(var(--background))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive))90%,transparent)}}.hover\:bg-muted-foreground\/50:hover{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted-foreground\/50:hover{background-color:color-mix(in oklab,hsl(var(--muted-foreground))50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary))90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,hsl(var(--secondary))80%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-glow:hover{--tw-shadow:0 0 20px var(--tw-shadow-color,#1152d44d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive:focus-visible{--tw-ring-color:hsl(var(--destructive))}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-success:focus-visible{--tw-ring-color:hsl(var(--success))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:40rem){.sm\:block{display:block}.sm\:inline-flex{display:inline-flex}.sm\:max-w-\[420px\]{max-width:420px}.sm\:max-w-\[425px\]{max-width:425px}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:justify-between{justify-content:space-between}}.dark\:border-destructive\/30:is(.dark *){border-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.dark\:border-destructive\/30:is(.dark *){border-color:color-mix(in oklab,hsl(var(--destructive))30%,transparent)}}.dark\:border-success\/30:is(.dark *){border-color:hsl(var(--success))}@supports (color:color-mix(in lab,red,red)){.dark\:border-success\/30:is(.dark *){border-color:color-mix(in oklab,hsl(var(--success))30%,transparent)}}.dark\:bg-destructive\/10:is(.dark *){background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/10:is(.dark *){background-color:color-mix(in oklab,hsl(var(--destructive))10%,transparent)}}.dark\:bg-green-950:is(.dark *){background-color:var(--color-green-950)}.dark\:bg-success\/10:is(.dark *){background-color:hsl(var(--success))}@supports (color:color-mix(in lab,red,red)){.dark\:bg-success\/10:is(.dark *){background-color:color-mix(in oklab,hsl(var(--success))10%,transparent)}}.dark\:bg-yellow-950:is(.dark *){background-color:var(--color-yellow-950)}.dark\:text-green-100:is(.dark *){color:var(--color-green-100)}.dark\:text-yellow-100:is(.dark *){color:var(--color-yellow-100)}.\[\&\>svg\]\:h-3\.5>svg{height:calc(var(--spacing)*3.5)}.\[\&\>svg\]\:h-5>svg{height:calc(var(--spacing)*5)}.\[\&\>svg\]\:w-3\.5>svg{width:calc(var(--spacing)*3.5)}.\[\&\>svg\]\:w-5>svg{width:calc(var(--spacing)*5)}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-info>svg{color:hsl(var(--info))}.\[\&\>svg\]\:text-success>svg{color:hsl(var(--success))}.\[\&\>svg\]\:text-warning>svg{color:hsl(var(--warning))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{rotate:180deg}.focus-ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:hsl(var(--ring));--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-offset-color:hsl(var(--background));--tw-outline-style:none;outline-style:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-from-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}
package/dist/index.d.ts CHANGED
File without changes