@abumble/design-system 0.0.46 → 0.0.48
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.
- package/dist/components/List.js +4 -4
- package/dist/components/List.js.map +1 -1
- package/dist/components/Sidebar.js +1 -1
- package/dist/components/Sidebar.js.map +1 -1
- package/dist/components/Table.js +3 -3
- package/dist/components/Table.js.map +1 -1
- package/dist/components/Textarea.js +3 -3
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/ThemeSelector/ThemeSelector.d.ts.map +1 -1
- package/dist/components/ThemeSelector.js +14 -11
- package/dist/components/ThemeSelector.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/shared/Input.js +5 -5
- package/dist/shared/Input.js.map +1 -1
- package/dist/shared/Select.js +3 -3
- package/dist/shared/Select.js.map +1 -1
- package/dist/themes/ThemeProvider.d.ts +4 -1
- package/dist/themes/ThemeProvider.d.ts.map +1 -1
- package/dist/themes.js +24 -24
- package/dist/themes.js.map +1 -1
- package/package.json +2 -1
- package/src/styles.css +11 -1
- package/src/themes/ThemeProvider.tsx +5 -2
- package/src/themes/canopy.css +157 -0
- package/src/themes/dusk.css +158 -0
- package/src/themes/linen.css +72 -31
- package/src/themes/sage.css +158 -0
- package/src/themes/steel.css +48 -20
package/dist/components/List.js
CHANGED
|
@@ -6,7 +6,7 @@ const l = i(
|
|
|
6
6
|
{
|
|
7
7
|
variants: {
|
|
8
8
|
variant: {
|
|
9
|
-
default: "bg-
|
|
9
|
+
default: "bg-card border-container py-2",
|
|
10
10
|
clear: ""
|
|
11
11
|
}
|
|
12
12
|
},
|
|
@@ -24,12 +24,12 @@ function u({ variant: r, className: a, ...t }) {
|
|
|
24
24
|
}
|
|
25
25
|
);
|
|
26
26
|
}
|
|
27
|
-
const
|
|
27
|
+
const s = i(
|
|
28
28
|
"list-decimal pl-8 pr-2 my-4 rounded",
|
|
29
29
|
{
|
|
30
30
|
variants: {
|
|
31
31
|
variant: {
|
|
32
|
-
default: "bg-
|
|
32
|
+
default: "bg-card border-container py-2",
|
|
33
33
|
clear: ""
|
|
34
34
|
}
|
|
35
35
|
},
|
|
@@ -42,7 +42,7 @@ function m({ variant: r, className: a, ...t }) {
|
|
|
42
42
|
return /* @__PURE__ */ n(
|
|
43
43
|
"ol",
|
|
44
44
|
{
|
|
45
|
-
className: e(
|
|
45
|
+
className: e(s({ variant: r, className: a })),
|
|
46
46
|
...t
|
|
47
47
|
}
|
|
48
48
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sources":["../../src/components/List/List.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\n\nconst ulVariants = cva(\n \"list-disc pl-8 pr-2 my-4 rounded\",\n {\n variants: {\n variant: {\n default: \"bg-
|
|
1
|
+
{"version":3,"file":"List.js","sources":["../../src/components/List/List.tsx"],"sourcesContent":["import { cn } from \"@/utils\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\n\nconst ulVariants = cva(\n \"list-disc pl-8 pr-2 my-4 rounded\",\n {\n variants: {\n variant: {\n default: \"bg-card border-container py-2\",\n clear: \"\"\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nfunction UnorderedList({ variant, className, ...props }: React.ComponentProps<\"ul\"> & VariantProps<typeof ulVariants>) {\n return (\n <ul\n className={cn(ulVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nconst olVariants = cva(\n \"list-decimal pl-8 pr-2 my-4 rounded\",\n {\n variants: {\n variant: {\n default: \"bg-card border-container py-2\",\n clear: \"\"\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nfunction OrderedList({ variant, className, ...props }: React.ComponentProps<\"ol\"> & VariantProps<typeof olVariants>) {\n return (\n <ol\n className={cn(olVariants({ variant, className }))}\n {...props}\n />\n )\n}\n\nfunction InnerUnorderedList({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n className={cn(\"list-circle pl-8 pr-2 mb-2\", className)}\n {...props}\n />\n )\n}\n\nexport { InnerUnorderedList, OrderedList, UnorderedList };\n\n"],"names":["ulVariants","cva","UnorderedList","variant","className","props","jsx","cn","olVariants","OrderedList","InnerUnorderedList"],"mappings":";;;AAIA,MAAMA,IAAaC;AAAA,EACf;AAAA,EACA;AAAA,IACI,UAAU;AAAA,MACN,SAAS;AAAA,QACL,SAAS;AAAA,QACT,OAAO;AAAA,MAAA;AAAA,IACX;AAAA,IAEJ,iBAAiB;AAAA,MACb,SAAS;AAAA,IAAA;AAAA,EACb;AAER;AAEA,SAASC,EAAc,EAAE,SAAAC,GAAS,WAAAC,GAAW,GAAGC,KAAuE;AACnH,SACI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC,EAAGP,EAAW,EAAE,SAAAG,GAAS,WAAAC,EAAA,CAAW,CAAC;AAAA,MAC/C,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGhB;AAEA,MAAMG,IAAaP;AAAA,EACf;AAAA,EACA;AAAA,IACI,UAAU;AAAA,MACN,SAAS;AAAA,QACL,SAAS;AAAA,QACT,OAAO;AAAA,MAAA;AAAA,IACX;AAAA,IAEJ,iBAAiB;AAAA,MACb,SAAS;AAAA,IAAA;AAAA,EACb;AAER;AAEA,SAASQ,EAAY,EAAE,SAAAN,GAAS,WAAAC,GAAW,GAAGC,KAAuE;AACjH,SACI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC,EAAGC,EAAW,EAAE,SAAAL,GAAS,WAAAC,EAAA,CAAW,CAAC;AAAA,MAC/C,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGhB;AAEA,SAASK,EAAmB,EAAE,WAAAN,GAAW,GAAGC,KAAqC;AAC7E,SACI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWC,EAAG,8BAA8BH,CAAS;AAAA,MACpD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGhB;"}
|
|
@@ -283,7 +283,7 @@ function ge({ className: a, ...e }) {
|
|
|
283
283
|
{
|
|
284
284
|
"data-slot": "sidebar-content",
|
|
285
285
|
className: r(
|
|
286
|
-
"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
|
|
286
|
+
"flex min-h-0 flex-1 flex-col gap-2 overflow-x-hidden overflow-y-auto group-data-[collapsible=icon]:overflow-hidden",
|
|
287
287
|
a
|
|
288
288
|
),
|
|
289
289
|
...e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Sidebar.tsx"],"sourcesContent":["'use client'\n\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { ChevronsLeft } from 'lucide-react'\nimport * as React from 'react'\n\nimport { useIsMobile } from '@/hooks/use-mobile'\nimport { cn } from '@/utils'\nimport { Button } from '../Button'\nimport { Input } from '../Input'\nimport { Separator } from '../Separator'\nimport {\n\tSheet,\n\tSheetContent,\n\tSheetDescription,\n\tSheetHeader,\n\tSheetTitle,\n} from '../Sheet'\nimport { Skeleton } from '../Skeleton'\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipProvider,\n\tTooltipTrigger,\n} from '../Tooltip'\n\n// const SIDEBAR_COOKIE_NAME = 'sidebar_state'\n// const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = '18rem'\nconst SIDEBAR_WIDTH_MOBILE = '18rem'\nconst SIDEBAR_WIDTH_ICON = '3rem'\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\n\ntype SidebarContextProps = {\n\tstate: 'expanded' | 'collapsed'\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\topenMobile: boolean\n\tsetOpenMobile: (open: boolean) => void\n\tisMobile: boolean\n\ttoggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nfunction useSidebar() {\n\tconst context = React.useContext(SidebarContext)\n\tif (!context) {\n\t\tthrow new Error('useSidebar must be used within a SidebarProvider.')\n\t}\n\n\treturn context\n}\n\nfunction SidebarProvider({\n\tdefaultOpen = true,\n\topen: openProp,\n\tonOpenChange: setOpenProp,\n\tclassName,\n\tstyle,\n\tchildren,\n\t...props\n}: React.ComponentProps<'div'> & {\n\tdefaultOpen?: boolean\n\topen?: boolean\n\tonOpenChange?: (open: boolean) => void\n}) {\n\tconst isMobile = useIsMobile()\n\tconst [openMobile, setOpenMobile] = React.useState(false)\n\n\t// This is the internal state of the sidebar.\n\t// We use openProp and setOpenProp for control from outside the component.\n\tconst [_open, _setOpen] = React.useState(defaultOpen)\n\tconst open = openProp ?? _open\n\tconst setOpen = React.useCallback(\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\n\t\t\tconst openState = typeof value === 'function' ? value(open) : value\n\t\t\tif (setOpenProp) {\n\t\t\t\tsetOpenProp(openState)\n\t\t\t} else {\n\t\t\t\t_setOpen(openState)\n\t\t\t}\n\n\t\t\t// This sets the cookie to keep the sidebar state.\n\t\t\t// document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n\t\t},\n\t\t[setOpenProp, open],\n\t)\n\n\t// Helper to toggle the sidebar.\n\tconst toggleSidebar = React.useCallback(() => {\n\t\treturn isMobile\n\t\t\t? setOpenMobile((open) => !open)\n\t\t\t: setOpen((open) => !open)\n\t}, [isMobile, setOpen, setOpenMobile])\n\n\t// Adds a keyboard shortcut to toggle the sidebar.\n\tReact.useEffect(() => {\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (\n\t\t\t\tevent.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n\t\t\t\t(event.metaKey || event.ctrlKey)\n\t\t\t) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\ttoggleSidebar()\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener('keydown', handleKeyDown)\n\t\treturn () => window.removeEventListener('keydown', handleKeyDown)\n\t}, [toggleSidebar])\n\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n\t// This makes it easier to style the sidebar with Tailwind classes.\n\tconst state = open ? 'expanded' : 'collapsed'\n\n\tconst contextValue = React.useMemo<SidebarContextProps>(\n\t\t() => ({\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t}),\n\t\t[\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t],\n\t)\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<TooltipProvider delayDuration={0}>\n\t\t\t\t<div\n\t\t\t\t\tdata-slot=\"sidebar-wrapper\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH,\n\t\t\t\t\t\t\t'--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex w-full',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</TooltipProvider>\n\t\t</SidebarContext.Provider>\n\t)\n}\n\nfunction Sidebar({\n\tside = 'left',\n\tvariant = 'sidebar',\n\tcollapsible = 'offcanvas',\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<'div'> & {\n\tside?: 'left' | 'right'\n\tvariant?: 'sidebar' | 'floating' | 'inset'\n\tcollapsible?: 'offcanvas' | 'icon' | 'none'\n}) {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n\tif (collapsible === 'none') {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'sidebar flex w-(--sidebar-width) flex-col',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\tclassName=\"sidebar w-(--sidebar-width) p-0 [&>button]:hidden\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\n\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\n\t\t\t\t\t\t<SheetDescription>\n\t\t\t\t\t\t\tDisplays the mobile sidebar.\n\t\t\t\t\t\t</SheetDescription>\n\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t<div className=\"flex w-full flex-col\">{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"group peer text-sidebar-foreground hidden md:block\"\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === 'collapsed' ? collapsible : ''}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t\tdata-slot=\"sidebar\"\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar-gap\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n\t\t\t\t\t'group-data-[collapsible=offcanvas]:w-0',\n\t\t\t\t\t'group-data-[side=right]:rotate-180',\n\t\t\t\t\t'group-data-[state=collapsed]:mr-0 mr-6',\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\n\t\t\t\t\t\t? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar-container\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'fixed z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n\t\t\t\t\tside === 'left'\n\t\t\t\t\t\t? 'group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n\t\t\t\t\t\t: 'group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\n\t\t\t\t\t\t? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-slot=\"sidebar-inner\"\n\t\t\t\t\tclassName=\"sidebar group-data-[variant=floating]:border-sidebar-border flex w-full flex-col group-data-[variant=floating]:rounded group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm flex-1\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction SidebarTrigger({\n\tclassName,\n\tonClick,\n\t...props\n}: React.ComponentProps<typeof Button>) {\n\tconst { isMobile, open, toggleSidebar } = useSidebar()\n\tconst rotationStyle = isMobile || !open ? 'rotate-180' : ''\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tdata-slot=\"sidebar-trigger\"\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"icon\"\n\t\t\t\tclassName={cn('rounded-full', className)}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tonClick?.(event)\n\t\t\t\t\ttoggleSidebar()\n\t\t\t\t}}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ChevronsLeft\n\t\t\t\t\tclassName={`transition-transform ${rotationStyle} size-6`}\n\t\t\t\t/>\n\t\t\t\t<span className=\"sr-only\">Toggle Sidebar</span>\n\t\t\t</Button>\n\t\t</>\n\t)\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n\tconst { toggleSidebar } = useSidebar()\n\n\treturn (\n\t\t<button\n\t\t\tdata-slot=\"sidebar-rail\"\n\t\t\taria-label=\"Toggle Sidebar\"\n\t\t\ttabIndex={-1}\n\t\t\tonClick={toggleSidebar}\n\t\t\ttitle=\"Toggle Sidebar\"\n\t\t\tclassName={cn(\n\t\t\t\t'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex',\n\t\t\t\t'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\n\t\t\t\t'[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n\t\t\t\t'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n\t\t\t\t'[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n\t\t\t\t'[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n\treturn (\n\t\t<main\n\t\t\tdata-slot=\"sidebar-inset\"\n\t\t\tclassName={cn(\n\t\t\t\t'bg-background relative flex w-full flex-1 flex-col',\n\t\t\t\t'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarInput({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof Input>) {\n\treturn (\n\t\t<Input\n\t\t\tdata-slot=\"sidebar-input\"\n\t\t\tclassName={cn('bg-background h-8 w-full shadow-none', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-header\"\n\t\t\tclassName={cn('flex flex-col gap-2 p-2', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-footer\"\n\t\t\tclassName={cn('flex flex-col gap-2 p-2', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof Separator>) {\n\treturn (\n\t\t<Separator\n\t\t\tdata-slot=\"sidebar-separator\"\n\t\t\tclassName={cn('bg-sidebar-border mx-2 w-auto', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-content\"\n\t\t\tclassName={cn(\n\t\t\t\t'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-group\"\n\t\t\tclassName={cn(\n\t\t\t\t'relative flex w-full min-w-0 flex-col p-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarGroupLabel({\n\tclassName,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<'div'> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : 'div'\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-group-label\"\n\t\t\tclassName={cn(\n\t\t\t\t'sidebar-text outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarGroupAction({\n\tclassName,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<'button'> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : 'button'\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-group-action\"\n\t\t\tclassName={cn(\n\t\t\t\t'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t'after:absolute after:-inset-2 md:after:hidden',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarGroupContent({\n\tclassName,\n\t...props\n}: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-group-content\"\n\t\t\tclassName={cn('w-full text-sm', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n\treturn (\n\t\t<ul\n\t\t\tdata-slot=\"sidebar-menu\"\n\t\t\tclassName={cn('flex w-full min-w-0 flex-col gap-1', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n\treturn (\n\t\t<li\n\t\t\tdata-slot=\"sidebar-menu-item\"\n\t\t\tclassName={cn('group/menu-item relative', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nconst sidebarMenuButtonVariants = cva(\n\t'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[slot=sidebar-menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault:\n\t\t\t\t\t'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n\t\t\t\toutline:\n\t\t\t\t\t'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: 'h-8 text-sm',\n\t\t\t\tsm: 'h-7 text-xs',\n\t\t\t\tlg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t\tsize: 'default',\n\t\t},\n\t},\n)\n\nfunction SidebarMenuButton({\n\tasChild = false,\n\tisActive = false,\n\tvariant = 'default',\n\tsize = 'default',\n\ttooltip,\n\tclassName,\n\t...props\n}: React.ComponentProps<'button'> & {\n\tasChild?: boolean\n\tisActive?: boolean\n\ttooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n\tconst Comp = asChild ? Slot : 'button'\n\tconst { isMobile, state } = useSidebar()\n\n\tconst button = (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\tsidebarMenuButtonVariants({ variant, size }),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n\n\tif (!tooltip) {\n\t\treturn button\n\t}\n\n\tif (typeof tooltip === 'string') {\n\t\ttooltip = {\n\t\t\tchildren: tooltip,\n\t\t}\n\t}\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\n\t\t\t<TooltipContent\n\t\t\t\tside=\"right\"\n\t\t\t\talign=\"center\"\n\t\t\t\thidden={state !== 'collapsed' || isMobile}\n\t\t\t\t{...tooltip}\n\t\t\t/>\n\t\t</Tooltip>\n\t)\n}\n\nfunction SidebarMenuAction({\n\tclassName,\n\tasChild = false,\n\tshowOnHover = false,\n\t...props\n}: React.ComponentProps<'button'> & {\n\tasChild?: boolean\n\tshowOnHover?: boolean\n}) {\n\tconst Comp = asChild ? Slot : 'button'\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-action\"\n\t\t\tclassName={cn(\n\t\t\t\t'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t'after:absolute after:-inset-2 md:after:hidden',\n\t\t\t\t'peer-data-[size=sm]/menu-button:top-1',\n\t\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\n\t\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tshowOnHover &&\n\t\t\t\t\t'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenuBadge({\n\tclassName,\n\t...props\n}: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-menu-badge\"\n\t\t\tclassName={cn(\n\t\t\t\t'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded px-1 text-xs font-medium tabular-nums select-none',\n\t\t\t\t'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n\t\t\t\t'peer-data-[size=sm]/menu-button:top-1',\n\t\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\n\t\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenuSkeleton({\n\tclassName,\n\tshowIcon = false,\n\t...props\n}: React.ComponentProps<'div'> & {\n\tshowIcon?: boolean\n}) {\n\t// Random width between 50 to 90%.\n\tconst width = React.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`\n\t}, [])\n\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-menu-skeleton\"\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-8 items-center gap-2 rounded px-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{showIcon && <Skeleton className=\"size-4 rounded\" />}\n\t\t\t<Skeleton\n\t\t\t\tclassName=\"h-4 max-w-(--skeleton-width) flex-1\"\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t'--skeleton-width': width,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n\treturn (\n\t\t<ul\n\t\t\tdata-slot=\"sidebar-menu-sub\"\n\t\t\tclassName={cn(\n\t\t\t\t'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenuSubItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<'li'>) {\n\treturn (\n\t\t<li\n\t\t\tdata-slot=\"sidebar-menu-sub-item\"\n\t\t\tclassName={cn('group/menu-sub-item relative', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenuSubButton({\n\tasChild = false,\n\tsize = 'md',\n\tisActive = false,\n\tclassName,\n\t...props\n}: React.ComponentProps<'a'> & {\n\tasChild?: boolean\n\tsize?: 'sm' | 'md'\n\tisActive?: boolean\n}) {\n\tconst Comp = asChild ? Slot : 'a'\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-sub-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n\t\t\t\tsize === 'sm' && 'text-xs',\n\t\t\t\tsize === 'md' && 'text-sm',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport {\n\tSidebar,\n\tSidebarContent,\n\tSidebarFooter,\n\tSidebarGroup,\n\tSidebarGroupAction,\n\tSidebarGroupContent,\n\tSidebarGroupLabel,\n\tSidebarHeader,\n\tSidebarInput,\n\tSidebarInset,\n\tSidebarMenu,\n\tSidebarMenuAction,\n\tSidebarMenuBadge,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n\tSidebarMenuSkeleton,\n\tSidebarMenuSub,\n\tSidebarMenuSubButton,\n\tSidebarMenuSubItem,\n\tSidebarProvider,\n\tSidebarRail,\n\tSidebarSeparator,\n\tSidebarTrigger,\n\tuseSidebar,\n}\n"],"names":["SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","jsxs","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","rotationStyle","Fragment","Button","ChevronsLeft","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sources":["../../src/components/Sidebar/Sidebar.tsx"],"sourcesContent":["'use client'\n\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { ChevronsLeft } from 'lucide-react'\nimport * as React from 'react'\n\nimport { useIsMobile } from '@/hooks/use-mobile'\nimport { cn } from '@/utils'\nimport { Button } from '../Button'\nimport { Input } from '../Input'\nimport { Separator } from '../Separator'\nimport {\n\tSheet,\n\tSheetContent,\n\tSheetDescription,\n\tSheetHeader,\n\tSheetTitle,\n} from '../Sheet'\nimport { Skeleton } from '../Skeleton'\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipProvider,\n\tTooltipTrigger,\n} from '../Tooltip'\n\n// const SIDEBAR_COOKIE_NAME = 'sidebar_state'\n// const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = '18rem'\nconst SIDEBAR_WIDTH_MOBILE = '18rem'\nconst SIDEBAR_WIDTH_ICON = '3rem'\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\n\ntype SidebarContextProps = {\n\tstate: 'expanded' | 'collapsed'\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\topenMobile: boolean\n\tsetOpenMobile: (open: boolean) => void\n\tisMobile: boolean\n\ttoggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null)\n\nfunction useSidebar() {\n\tconst context = React.useContext(SidebarContext)\n\tif (!context) {\n\t\tthrow new Error('useSidebar must be used within a SidebarProvider.')\n\t}\n\n\treturn context\n}\n\nfunction SidebarProvider({\n\tdefaultOpen = true,\n\topen: openProp,\n\tonOpenChange: setOpenProp,\n\tclassName,\n\tstyle,\n\tchildren,\n\t...props\n}: React.ComponentProps<'div'> & {\n\tdefaultOpen?: boolean\n\topen?: boolean\n\tonOpenChange?: (open: boolean) => void\n}) {\n\tconst isMobile = useIsMobile()\n\tconst [openMobile, setOpenMobile] = React.useState(false)\n\n\t// This is the internal state of the sidebar.\n\t// We use openProp and setOpenProp for control from outside the component.\n\tconst [_open, _setOpen] = React.useState(defaultOpen)\n\tconst open = openProp ?? _open\n\tconst setOpen = React.useCallback(\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\n\t\t\tconst openState = typeof value === 'function' ? value(open) : value\n\t\t\tif (setOpenProp) {\n\t\t\t\tsetOpenProp(openState)\n\t\t\t} else {\n\t\t\t\t_setOpen(openState)\n\t\t\t}\n\n\t\t\t// This sets the cookie to keep the sidebar state.\n\t\t\t// document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n\t\t},\n\t\t[setOpenProp, open],\n\t)\n\n\t// Helper to toggle the sidebar.\n\tconst toggleSidebar = React.useCallback(() => {\n\t\treturn isMobile\n\t\t\t? setOpenMobile((open) => !open)\n\t\t\t: setOpen((open) => !open)\n\t}, [isMobile, setOpen, setOpenMobile])\n\n\t// Adds a keyboard shortcut to toggle the sidebar.\n\tReact.useEffect(() => {\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (\n\t\t\t\tevent.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n\t\t\t\t(event.metaKey || event.ctrlKey)\n\t\t\t) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\ttoggleSidebar()\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener('keydown', handleKeyDown)\n\t\treturn () => window.removeEventListener('keydown', handleKeyDown)\n\t}, [toggleSidebar])\n\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n\t// This makes it easier to style the sidebar with Tailwind classes.\n\tconst state = open ? 'expanded' : 'collapsed'\n\n\tconst contextValue = React.useMemo<SidebarContextProps>(\n\t\t() => ({\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t}),\n\t\t[\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t],\n\t)\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<TooltipProvider delayDuration={0}>\n\t\t\t\t<div\n\t\t\t\t\tdata-slot=\"sidebar-wrapper\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH,\n\t\t\t\t\t\t\t'--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t'group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex w-full',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</TooltipProvider>\n\t\t</SidebarContext.Provider>\n\t)\n}\n\nfunction Sidebar({\n\tside = 'left',\n\tvariant = 'sidebar',\n\tcollapsible = 'offcanvas',\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<'div'> & {\n\tside?: 'left' | 'right'\n\tvariant?: 'sidebar' | 'floating' | 'inset'\n\tcollapsible?: 'offcanvas' | 'icon' | 'none'\n}) {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n\tif (collapsible === 'none') {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'sidebar flex w-(--sidebar-width) flex-col',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\tclassName=\"sidebar w-(--sidebar-width) p-0 [&>button]:hidden\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\n\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\n\t\t\t\t\t\t<SheetDescription>\n\t\t\t\t\t\t\tDisplays the mobile sidebar.\n\t\t\t\t\t\t</SheetDescription>\n\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t<div className=\"flex w-full flex-col\">{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"group peer text-sidebar-foreground hidden md:block\"\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === 'collapsed' ? collapsible : ''}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t\tdata-slot=\"sidebar\"\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar-gap\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n\t\t\t\t\t'group-data-[collapsible=offcanvas]:w-0',\n\t\t\t\t\t'group-data-[side=right]:rotate-180',\n\t\t\t\t\t'group-data-[state=collapsed]:mr-0 mr-6',\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\n\t\t\t\t\t\t? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar-container\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'fixed z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n\t\t\t\t\tside === 'left'\n\t\t\t\t\t\t? 'group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n\t\t\t\t\t\t: 'group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === 'floating' || variant === 'inset'\n\t\t\t\t\t\t? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\n\t\t\t\t\t\t: 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-slot=\"sidebar-inner\"\n\t\t\t\t\tclassName=\"sidebar group-data-[variant=floating]:border-sidebar-border flex w-full flex-col group-data-[variant=floating]:rounded group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm flex-1\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction SidebarTrigger({\n\tclassName,\n\tonClick,\n\t...props\n}: React.ComponentProps<typeof Button>) {\n\tconst { isMobile, open, toggleSidebar } = useSidebar()\n\tconst rotationStyle = isMobile || !open ? 'rotate-180' : ''\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tdata-slot=\"sidebar-trigger\"\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"icon\"\n\t\t\t\tclassName={cn('rounded-full', className)}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tonClick?.(event)\n\t\t\t\t\ttoggleSidebar()\n\t\t\t\t}}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<ChevronsLeft\n\t\t\t\t\tclassName={`transition-transform ${rotationStyle} size-6`}\n\t\t\t\t/>\n\t\t\t\t<span className=\"sr-only\">Toggle Sidebar</span>\n\t\t\t</Button>\n\t\t</>\n\t)\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n\tconst { toggleSidebar } = useSidebar()\n\n\treturn (\n\t\t<button\n\t\t\tdata-slot=\"sidebar-rail\"\n\t\t\taria-label=\"Toggle Sidebar\"\n\t\t\ttabIndex={-1}\n\t\t\tonClick={toggleSidebar}\n\t\t\ttitle=\"Toggle Sidebar\"\n\t\t\tclassName={cn(\n\t\t\t\t'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex',\n\t\t\t\t'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\n\t\t\t\t'[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n\t\t\t\t'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n\t\t\t\t'[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n\t\t\t\t'[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n\treturn (\n\t\t<main\n\t\t\tdata-slot=\"sidebar-inset\"\n\t\t\tclassName={cn(\n\t\t\t\t'bg-background relative flex w-full flex-1 flex-col',\n\t\t\t\t'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarInput({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof Input>) {\n\treturn (\n\t\t<Input\n\t\t\tdata-slot=\"sidebar-input\"\n\t\t\tclassName={cn('bg-background h-8 w-full shadow-none', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-header\"\n\t\t\tclassName={cn('flex flex-col gap-2 p-2', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-footer\"\n\t\t\tclassName={cn('flex flex-col gap-2 p-2', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof Separator>) {\n\treturn (\n\t\t<Separator\n\t\t\tdata-slot=\"sidebar-separator\"\n\t\t\tclassName={cn('bg-sidebar-border mx-2 w-auto', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-content\"\n\t\t\tclassName={cn(\n\t\t\t\t'flex min-h-0 flex-1 flex-col gap-2 overflow-x-hidden overflow-y-auto group-data-[collapsible=icon]:overflow-hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-group\"\n\t\t\tclassName={cn(\n\t\t\t\t'relative flex w-full min-w-0 flex-col p-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarGroupLabel({\n\tclassName,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<'div'> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : 'div'\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-group-label\"\n\t\t\tclassName={cn(\n\t\t\t\t'sidebar-text outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarGroupAction({\n\tclassName,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<'button'> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : 'button'\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-group-action\"\n\t\t\tclassName={cn(\n\t\t\t\t'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t'after:absolute after:-inset-2 md:after:hidden',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarGroupContent({\n\tclassName,\n\t...props\n}: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-group-content\"\n\t\t\tclassName={cn('w-full text-sm', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n\treturn (\n\t\t<ul\n\t\t\tdata-slot=\"sidebar-menu\"\n\t\t\tclassName={cn('flex w-full min-w-0 flex-col gap-1', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n\treturn (\n\t\t<li\n\t\t\tdata-slot=\"sidebar-menu-item\"\n\t\t\tclassName={cn('group/menu-item relative', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nconst sidebarMenuButtonVariants = cva(\n\t'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[slot=sidebar-menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault:\n\t\t\t\t\t'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n\t\t\t\toutline:\n\t\t\t\t\t'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: 'h-8 text-sm',\n\t\t\t\tsm: 'h-7 text-xs',\n\t\t\t\tlg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t\tsize: 'default',\n\t\t},\n\t},\n)\n\nfunction SidebarMenuButton({\n\tasChild = false,\n\tisActive = false,\n\tvariant = 'default',\n\tsize = 'default',\n\ttooltip,\n\tclassName,\n\t...props\n}: React.ComponentProps<'button'> & {\n\tasChild?: boolean\n\tisActive?: boolean\n\ttooltip?: string | React.ComponentProps<typeof TooltipContent>\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n\tconst Comp = asChild ? Slot : 'button'\n\tconst { isMobile, state } = useSidebar()\n\n\tconst button = (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\tsidebarMenuButtonVariants({ variant, size }),\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n\n\tif (!tooltip) {\n\t\treturn button\n\t}\n\n\tif (typeof tooltip === 'string') {\n\t\ttooltip = {\n\t\t\tchildren: tooltip,\n\t\t}\n\t}\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\n\t\t\t<TooltipContent\n\t\t\t\tside=\"right\"\n\t\t\t\talign=\"center\"\n\t\t\t\thidden={state !== 'collapsed' || isMobile}\n\t\t\t\t{...tooltip}\n\t\t\t/>\n\t\t</Tooltip>\n\t)\n}\n\nfunction SidebarMenuAction({\n\tclassName,\n\tasChild = false,\n\tshowOnHover = false,\n\t...props\n}: React.ComponentProps<'button'> & {\n\tasChild?: boolean\n\tshowOnHover?: boolean\n}) {\n\tconst Comp = asChild ? Slot : 'button'\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-action\"\n\t\t\tclassName={cn(\n\t\t\t\t'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t'after:absolute after:-inset-2 md:after:hidden',\n\t\t\t\t'peer-data-[size=sm]/menu-button:top-1',\n\t\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\n\t\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tshowOnHover &&\n\t\t\t\t\t'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenuBadge({\n\tclassName,\n\t...props\n}: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-menu-badge\"\n\t\t\tclassName={cn(\n\t\t\t\t'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded px-1 text-xs font-medium tabular-nums select-none',\n\t\t\t\t'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n\t\t\t\t'peer-data-[size=sm]/menu-button:top-1',\n\t\t\t\t'peer-data-[size=default]/menu-button:top-1.5',\n\t\t\t\t'peer-data-[size=lg]/menu-button:top-2.5',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenuSkeleton({\n\tclassName,\n\tshowIcon = false,\n\t...props\n}: React.ComponentProps<'div'> & {\n\tshowIcon?: boolean\n}) {\n\t// Random width between 50 to 90%.\n\tconst width = React.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`\n\t}, [])\n\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-menu-skeleton\"\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-8 items-center gap-2 rounded px-2',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{showIcon && <Skeleton className=\"size-4 rounded\" />}\n\t\t\t<Skeleton\n\t\t\t\tclassName=\"h-4 max-w-(--skeleton-width) flex-1\"\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t'--skeleton-width': width,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n\treturn (\n\t\t<ul\n\t\t\tdata-slot=\"sidebar-menu-sub\"\n\t\t\tclassName={cn(\n\t\t\t\t'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenuSubItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<'li'>) {\n\treturn (\n\t\t<li\n\t\t\tdata-slot=\"sidebar-menu-sub-item\"\n\t\t\tclassName={cn('group/menu-sub-item relative', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction SidebarMenuSubButton({\n\tasChild = false,\n\tsize = 'md',\n\tisActive = false,\n\tclassName,\n\t...props\n}: React.ComponentProps<'a'> & {\n\tasChild?: boolean\n\tsize?: 'sm' | 'md'\n\tisActive?: boolean\n}) {\n\tconst Comp = asChild ? Slot : 'a'\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-sub-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n\t\t\t\t'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n\t\t\t\tsize === 'sm' && 'text-xs',\n\t\t\t\tsize === 'md' && 'text-sm',\n\t\t\t\t'group-data-[collapsible=icon]:hidden',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport {\n\tSidebar,\n\tSidebarContent,\n\tSidebarFooter,\n\tSidebarGroup,\n\tSidebarGroupAction,\n\tSidebarGroupContent,\n\tSidebarGroupLabel,\n\tSidebarHeader,\n\tSidebarInput,\n\tSidebarInset,\n\tSidebarMenu,\n\tSidebarMenuAction,\n\tSidebarMenuBadge,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n\tSidebarMenuSkeleton,\n\tSidebarMenuSub,\n\tSidebarMenuSubButton,\n\tSidebarMenuSubItem,\n\tSidebarProvider,\n\tSidebarRail,\n\tSidebarSeparator,\n\tSidebarTrigger,\n\tuseSidebar,\n}\n"],"names":["SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","jsxs","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","rotationStyle","Fragment","Button","ChevronsLeft","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
|
package/dist/components/Table.js
CHANGED
|
@@ -6,7 +6,7 @@ function s({ className: t, ...e }) {
|
|
|
6
6
|
"div",
|
|
7
7
|
{
|
|
8
8
|
"data-slot": "table-container",
|
|
9
|
-
className: "relative w-full overflow-x-auto",
|
|
9
|
+
className: "relative w-full overflow-x-auto bg-card border-container rounded",
|
|
10
10
|
children: /* @__PURE__ */ a(
|
|
11
11
|
"table",
|
|
12
12
|
{
|
|
@@ -79,7 +79,7 @@ function m({ className: t, ...e }) {
|
|
|
79
79
|
{
|
|
80
80
|
"data-slot": "table-head",
|
|
81
81
|
className: o(
|
|
82
|
-
"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
82
|
+
"text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap first:pl-4 last:pr-4 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
83
83
|
t
|
|
84
84
|
),
|
|
85
85
|
...e
|
|
@@ -92,7 +92,7 @@ function u({ className: t, ...e }) {
|
|
|
92
92
|
{
|
|
93
93
|
"data-slot": "table-cell",
|
|
94
94
|
className: o(
|
|
95
|
-
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
95
|
+
"p-2 align-middle whitespace-nowrap first:pl-4 last:pr-4 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
96
96
|
t
|
|
97
97
|
),
|
|
98
98
|
...e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sources":["../../src/components/Table/Table.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cn } from '@/utils'\n\nexport function Table({ className, ...props }: React.ComponentProps<'table'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"table-container\"\n\t\t\tclassName=\"relative w-full overflow-x-auto\"\n\t\t>\n\t\t\t<table\n\t\t\t\tdata-slot=\"table\"\n\t\t\t\tclassName={cn('w-full caption-bottom text-sm', className)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nexport function TableHeader({\n\tclassName,\n\t...props\n}: React.ComponentProps<'thead'>) {\n\treturn (\n\t\t<thead\n\t\t\tdata-slot=\"table-header\"\n\t\t\tclassName={cn('[&_tr]:border-b', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableBody({\n\tclassName,\n\t...props\n}: React.ComponentProps<'tbody'>) {\n\treturn (\n\t\t<tbody\n\t\t\tdata-slot=\"table-body\"\n\t\t\tclassName={cn('[&_tr:last-child]:border-0', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableFooter({\n\tclassName,\n\t...props\n}: React.ComponentProps<'tfoot'>) {\n\treturn (\n\t\t<tfoot\n\t\t\tdata-slot=\"table-footer\"\n\t\t\tclassName={cn(\n\t\t\t\t'bg-muted/50 border-t font-medium [&>tr]:last:border-b-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n\treturn (\n\t\t<tr\n\t\t\tdata-slot=\"table-row\"\n\t\t\tclassName={cn(\n\t\t\t\t'hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n\treturn (\n\t\t<th\n\t\t\tdata-slot=\"table-head\"\n\t\t\tclassName={cn(\n\t\t\t\t'text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n\treturn (\n\t\t<td\n\t\t\tdata-slot=\"table-cell\"\n\t\t\tclassName={cn(\n\t\t\t\t'p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableCaption({\n\tclassName,\n\t...props\n}: React.ComponentProps<'caption'>) {\n\treturn (\n\t\t<caption\n\t\t\tdata-slot=\"table-caption\"\n\t\t\tclassName={cn('text-muted-foreground mt-4 text-sm', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["Table","className","props","jsx","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":";;;AAIO,SAASA,EAAM,EAAE,WAAAC,GAAW,GAAGC,KAAwC;AAC7E,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAU;AAAA,MAEV,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,aAAU;AAAA,UACV,WAAWC,EAAG,iCAAiCH,CAAS;AAAA,UACvD,GAAGC;AAAA,QAAA;AAAA,MAAA;AAAA,IACL;AAAA,EAAA;AAGH;AAEO,SAASG,EAAY;AAAA,EAC3B,WAAAJ;AAAA,EACA,GAAGC;AACJ,GAAkC;AACjC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC,EAAG,mBAAmBH,CAAS;AAAA,MACzC,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASI,EAAU;AAAA,EACzB,WAAAL;AAAA,EACA,GAAGC;AACJ,GAAkC;AACjC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC,EAAG,8BAA8BH,CAAS;AAAA,MACpD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASK,EAAY;AAAA,EAC3B,WAAAN;AAAA,EACA,GAAGC;AACJ,GAAkC;AACjC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC;AAAA,QACV;AAAA,QACAH;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASM,EAAS,EAAE,WAAAP,GAAW,GAAGC,KAAqC;AAC7E,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC;AAAA,QACV;AAAA,QACAH;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASO,EAAU,EAAE,WAAAR,GAAW,GAAGC,KAAqC;AAC9E,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC;AAAA,QACV;AAAA,QACAH;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASQ,EAAU,EAAE,WAAAT,GAAW,GAAGC,KAAqC;AAC9E,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC;AAAA,QACV;AAAA,QACAH;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASS,EAAa;AAAA,EAC5B,WAAAV;AAAA,EACA,GAAGC;AACJ,GAAoC;AACnC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC,EAAG,sCAAsCH,CAAS;AAAA,MAC5D,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
1
|
+
{"version":3,"file":"Table.js","sources":["../../src/components/Table/Table.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cn } from '@/utils'\n\nexport function Table({ className, ...props }: React.ComponentProps<'table'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"table-container\"\n\t\t\tclassName=\"relative w-full overflow-x-auto bg-card border-container rounded\"\n\t\t>\n\t\t\t<table\n\t\t\t\tdata-slot=\"table\"\n\t\t\t\tclassName={cn('w-full caption-bottom text-sm', className)}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nexport function TableHeader({\n\tclassName,\n\t...props\n}: React.ComponentProps<'thead'>) {\n\treturn (\n\t\t<thead\n\t\t\tdata-slot=\"table-header\"\n\t\t\tclassName={cn('[&_tr]:border-b', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableBody({\n\tclassName,\n\t...props\n}: React.ComponentProps<'tbody'>) {\n\treturn (\n\t\t<tbody\n\t\t\tdata-slot=\"table-body\"\n\t\t\tclassName={cn('[&_tr:last-child]:border-0', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableFooter({\n\tclassName,\n\t...props\n}: React.ComponentProps<'tfoot'>) {\n\treturn (\n\t\t<tfoot\n\t\t\tdata-slot=\"table-footer\"\n\t\t\tclassName={cn(\n\t\t\t\t'bg-muted/50 border-t font-medium [&>tr]:last:border-b-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n\treturn (\n\t\t<tr\n\t\t\tdata-slot=\"table-row\"\n\t\t\tclassName={cn(\n\t\t\t\t'hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n\treturn (\n\t\t<th\n\t\t\tdata-slot=\"table-head\"\n\t\t\tclassName={cn(\n\t\t\t\t'text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap first:pl-4 last:pr-4 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n\treturn (\n\t\t<td\n\t\t\tdata-slot=\"table-cell\"\n\t\t\tclassName={cn(\n\t\t\t\t'p-2 align-middle whitespace-nowrap first:pl-4 last:pr-4 [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function TableCaption({\n\tclassName,\n\t...props\n}: React.ComponentProps<'caption'>) {\n\treturn (\n\t\t<caption\n\t\t\tdata-slot=\"table-caption\"\n\t\t\tclassName={cn('text-muted-foreground mt-4 text-sm', className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["Table","className","props","jsx","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":";;;AAIO,SAASA,EAAM,EAAE,WAAAC,GAAW,GAAGC,KAAwC;AAC7E,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAU;AAAA,MAEV,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,aAAU;AAAA,UACV,WAAWC,EAAG,iCAAiCH,CAAS;AAAA,UACvD,GAAGC;AAAA,QAAA;AAAA,MAAA;AAAA,IACL;AAAA,EAAA;AAGH;AAEO,SAASG,EAAY;AAAA,EAC3B,WAAAJ;AAAA,EACA,GAAGC;AACJ,GAAkC;AACjC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC,EAAG,mBAAmBH,CAAS;AAAA,MACzC,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASI,EAAU;AAAA,EACzB,WAAAL;AAAA,EACA,GAAGC;AACJ,GAAkC;AACjC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC,EAAG,8BAA8BH,CAAS;AAAA,MACpD,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASK,EAAY;AAAA,EAC3B,WAAAN;AAAA,EACA,GAAGC;AACJ,GAAkC;AACjC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC;AAAA,QACV;AAAA,QACAH;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASM,EAAS,EAAE,WAAAP,GAAW,GAAGC,KAAqC;AAC7E,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC;AAAA,QACV;AAAA,QACAH;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASO,EAAU,EAAE,WAAAR,GAAW,GAAGC,KAAqC;AAC9E,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC;AAAA,QACV;AAAA,QACAH;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASQ,EAAU,EAAE,WAAAT,GAAW,GAAGC,KAAqC;AAC9E,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC;AAAA,QACV;AAAA,QACAH;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,SAASS,EAAa;AAAA,EAC5B,WAAAV;AAAA,EACA,GAAGC;AACJ,GAAoC;AACnC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC,EAAG,sCAAsCH,CAAS;AAAA,MAC5D,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as i } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
3
|
import { c as t } from "../shared/utils.js";
|
|
4
|
-
function
|
|
4
|
+
function n({
|
|
5
5
|
className: r,
|
|
6
6
|
...e
|
|
7
7
|
}) {
|
|
@@ -10,7 +10,7 @@ function d({
|
|
|
10
10
|
{
|
|
11
11
|
"data-slot": "textarea",
|
|
12
12
|
className: t(
|
|
13
|
-
"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive
|
|
13
|
+
"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex field-sizing-content min-h-16 w-full rounded border bg-card px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
14
14
|
r
|
|
15
15
|
),
|
|
16
16
|
...e
|
|
@@ -18,6 +18,6 @@ function d({
|
|
|
18
18
|
);
|
|
19
19
|
}
|
|
20
20
|
export {
|
|
21
|
-
|
|
21
|
+
n as Textarea
|
|
22
22
|
};
|
|
23
23
|
//# sourceMappingURL=Textarea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","sources":["../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cn } from '@/utils'\n\nexport function Textarea({\n\tclassName,\n\t...props\n}: React.ComponentProps<'textarea'>) {\n\treturn (\n\t\t<textarea\n\t\t\tdata-slot=\"textarea\"\n\t\t\tclassName={cn(\n\t\t\t\t'border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive
|
|
1
|
+
{"version":3,"file":"Textarea.js","sources":["../../src/components/Textarea/Textarea.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cn } from '@/utils'\n\nexport function Textarea({\n\tclassName,\n\t...props\n}: React.ComponentProps<'textarea'>) {\n\treturn (\n\t\t<textarea\n\t\t\tdata-slot=\"textarea\"\n\t\t\tclassName={cn(\n\t\t\t\t'border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex field-sizing-content min-h-16 w-full rounded border bg-card px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["Textarea","className","props","jsx","cn"],"mappings":";;;AAIO,SAASA,EAAS;AAAA,EACxB,WAAAC;AAAA,EACA,GAAGC;AACJ,GAAqC;AACpC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC;AAAA,QACV;AAAA,QACAH;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeSelector.d.ts","sourceRoot":"","sources":["../../../src/components/ThemeSelector/ThemeSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"ThemeSelector.d.ts","sourceRoot":"","sources":["../../../src/components/ThemeSelector/ThemeSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAUlC,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,2CAmBxF"}
|
|
@@ -1,23 +1,26 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
3
|
import { u as m } from "../shared/useTheme.js";
|
|
4
|
-
import { S as
|
|
4
|
+
import { S as u } from "../shared/Select.js";
|
|
5
5
|
const c = [
|
|
6
6
|
{ value: "linen", label: "Linen" },
|
|
7
|
-
{ value: "steel", label: "Steel" }
|
|
7
|
+
{ value: "steel", label: "Steel" },
|
|
8
|
+
{ value: "sage", label: "Sage" },
|
|
9
|
+
{ value: "dusk", label: "Dusk" },
|
|
10
|
+
{ value: "canopy", label: "Canopy" }
|
|
8
11
|
];
|
|
9
|
-
function S({ onChange:
|
|
10
|
-
const { colorTheme:
|
|
11
|
-
return /* @__PURE__ */
|
|
12
|
-
|
|
12
|
+
function S({ onChange: a, ...o }) {
|
|
13
|
+
const { colorTheme: t, setColorTheme: r } = m();
|
|
14
|
+
return /* @__PURE__ */ l(
|
|
15
|
+
u,
|
|
13
16
|
{
|
|
14
|
-
value:
|
|
17
|
+
value: t,
|
|
15
18
|
"aria-label": "Select color theme",
|
|
16
19
|
onChange: (e) => {
|
|
17
|
-
|
|
20
|
+
r(e.target.value), a?.(e);
|
|
18
21
|
},
|
|
19
|
-
...
|
|
20
|
-
children: c.map(({ value: e, label:
|
|
22
|
+
...o,
|
|
23
|
+
children: c.map(({ value: e, label: n }) => /* @__PURE__ */ l("option", { value: e, children: n }, e))
|
|
21
24
|
}
|
|
22
25
|
);
|
|
23
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeSelector.js","sources":["../../src/components/ThemeSelector/ThemeSelector.tsx"],"sourcesContent":["import * as React from 'react'\nimport { useTheme } from '@/themes'\nimport type { ColorTheme } from '@/themes'\nimport { Select } from '../Select'\n\nconst COLOR_THEMES: { value: ColorTheme; label: string }[] = [\n\t{ value: 'linen', label: 'Linen' },\n\t{ value: 'steel', label: 'Steel' },\n]\n\nexport function ThemeSelector({ onChange, ...props }: React.ComponentProps<typeof Select>) {\n\tconst { colorTheme, setColorTheme } = useTheme()\n\treturn (\n\t\t<Select\n\t\t\tvalue={colorTheme}\n\t\t\taria-label=\"Select color theme\"\n\t\t\tonChange={(e) => {\n\t\t\t\tsetColorTheme(e.target.value as ColorTheme)\n\t\t\t\tonChange?.(e)\n\t\t\t}}\n\t\t\t{...props}\n\t\t>\n\t\t\t{COLOR_THEMES.map(({ value, label }) => (\n\t\t\t\t<option key={value} value={value}>\n\t\t\t\t\t{label}\n\t\t\t\t</option>\n\t\t\t))}\n\t\t</Select>\n\t)\n}\n"],"names":["COLOR_THEMES","ThemeSelector","onChange","props","colorTheme","setColorTheme","useTheme","jsx","Select","value","label"],"mappings":";;;;AAKA,MAAMA,IAAuD;AAAA,EAC5D,EAAE,OAAO,SAAS,OAAO,QAAA;AAAA,EACzB,EAAE,OAAO,SAAS,OAAO,QAAA;
|
|
1
|
+
{"version":3,"file":"ThemeSelector.js","sources":["../../src/components/ThemeSelector/ThemeSelector.tsx"],"sourcesContent":["import * as React from 'react'\nimport { useTheme } from '@/themes'\nimport type { ColorTheme } from '@/themes'\nimport { Select } from '../Select'\n\nconst COLOR_THEMES: { value: ColorTheme; label: string }[] = [\n\t{ value: 'linen', label: 'Linen' },\n\t{ value: 'steel', label: 'Steel' },\n\t{ value: 'sage', label: 'Sage' },\n\t{ value: 'dusk', label: 'Dusk' },\n\t{ value: 'canopy', label: 'Canopy' },\n]\n\nexport function ThemeSelector({ onChange, ...props }: React.ComponentProps<typeof Select>) {\n\tconst { colorTheme, setColorTheme } = useTheme()\n\treturn (\n\t\t<Select\n\t\t\tvalue={colorTheme}\n\t\t\taria-label=\"Select color theme\"\n\t\t\tonChange={(e) => {\n\t\t\t\tsetColorTheme(e.target.value as ColorTheme)\n\t\t\t\tonChange?.(e)\n\t\t\t}}\n\t\t\t{...props}\n\t\t>\n\t\t\t{COLOR_THEMES.map(({ value, label }) => (\n\t\t\t\t<option key={value} value={value}>\n\t\t\t\t\t{label}\n\t\t\t\t</option>\n\t\t\t))}\n\t\t</Select>\n\t)\n}\n"],"names":["COLOR_THEMES","ThemeSelector","onChange","props","colorTheme","setColorTheme","useTheme","jsx","Select","value","label"],"mappings":";;;;AAKA,MAAMA,IAAuD;AAAA,EAC5D,EAAE,OAAO,SAAS,OAAO,QAAA;AAAA,EACzB,EAAE,OAAO,SAAS,OAAO,QAAA;AAAA,EACzB,EAAE,OAAO,QAAQ,OAAO,OAAA;AAAA,EACxB,EAAE,OAAO,QAAQ,OAAO,OAAA;AAAA,EACxB,EAAE,OAAO,UAAU,OAAO,SAAA;AAC3B;AAEO,SAASC,EAAc,EAAE,UAAAC,GAAU,GAAGC,KAA8C;AAC1F,QAAM,EAAE,YAAAC,GAAY,eAAAC,EAAA,IAAkBC,EAAA;AACtC,SACC,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,OAAOJ;AAAA,MACP,cAAW;AAAA,MACX,UAAU,CAAC,MAAM;AAChB,QAAAC,EAAc,EAAE,OAAO,KAAmB,GAC1CH,IAAW,CAAC;AAAA,MACb;AAAA,MACC,GAAGC;AAAA,MAEH,UAAAH,EAAa,IAAI,CAAC,EAAE,OAAAS,GAAO,OAAAC,EAAA,MAC3B,gBAAAH,EAAC,UAAA,EAAmB,OAAAE,GAClB,UAAAC,EAAA,GADWD,CAEb,CACA;AAAA,IAAA;AAAA,EAAA;AAGJ;"}
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--background: oklch(.992 .003 85);--foreground: oklch(.2 .01 85);--card: oklch(1 0 0 / .75);--card-foreground: oklch(.2 .01 85);--popover: oklch(1 0 0);--popover-foreground: oklch(.2 .01 85);--primary: oklch(.18 .01 85);--primary-foreground: oklch(1 0 0);--secondary: oklch(1 0 0);--secondary-foreground: oklch(.18 .01 85);--muted: oklch(1 0 0);--muted-foreground: oklch(.5 .01 85);--accent: oklch(1 0 0);--accent-foreground: oklch(.18 .01 85);--destructive: oklch(.55 .15 25);--destructive-foreground: oklch(1 0 0);--border: oklch(.94 .005 85);--input: oklch(.94 .005 85);--ring: oklch(.18 .01 85 / .1);--radius: .6rem;--sidebar: oklch(.995 .002 85);--sidebar-foreground: oklch(.2 .01 85);--sidebar-primary: oklch(.18 .01 85);--sidebar-primary-foreground: oklch(1 0 0);--sidebar-accent: oklch(.97 .01 85);--sidebar-accent-foreground: oklch(.18 .01 85);--sidebar-border: oklch(.95 .005 85);--banner-info: oklch(.94 .02 240);--banner-info-foreground: oklch(.4 .1 240);--banner-info-border: oklch(.85 .05 240);--banner-note: oklch(.94 .02 160);--banner-note-foreground: oklch(.35 .1 160);--banner-note-border: oklch(.85 .05 160);--banner-warning: oklch(.95 .03 80);--banner-warning-foreground: oklch(.45 .1 60);--banner-warning-border: oklch(.88 .05 70);--banner-alert: oklch(.95 .03 25);--banner-alert-foreground: oklch(.45 .12 25);--banner-alert-border: oklch(.88 .08 25);--badge-success: oklch(.4 .1 160);--badge-success-foreground: oklch(1 0 0);--checkbox-checked: oklch(.15 .01 60);--checkbox-checked-foreground: oklch(1 0 0);--checkbox-unchecked-bg: oklch(1 0 0);--checkbox-unchecked-border: oklch(.88 .01 60)}[data-theme=linen]{--background: oklch(.992 .003 85);--foreground: oklch(.2 .01 85);--card: oklch(1 0 0 / .75);--card-foreground: oklch(.2 .01 85);--popover: oklch(1 0 0);--popover-foreground: oklch(.2 .01 85);--primary: oklch(.18 .01 85);--primary-foreground: oklch(1 0 0);--secondary: oklch(1 0 0);--secondary-foreground: oklch(.18 .01 85);--muted: oklch(1 0 0);--muted-foreground: oklch(.5 .01 85);--accent: oklch(1 0 0);--accent-foreground: oklch(.18 .01 85);--destructive: oklch(.55 .15 25);--destructive-foreground: oklch(1 0 0);--border: oklch(.94 .005 85);--input: oklch(.94 .005 85);--ring: oklch(.18 .01 85 / .1);--radius: .6rem;--sidebar: oklch(.995 .002 85);--sidebar-foreground: oklch(.2 .01 85);--sidebar-primary: oklch(.18 .01 85);--sidebar-primary-foreground: oklch(1 0 0);--sidebar-accent: oklch(.97 .01 85);--sidebar-accent-foreground: oklch(.18 .01 85);--sidebar-border: oklch(.95 .005 85);--banner-info: oklch(.94 .02 240);--banner-info-foreground: oklch(.4 .1 240);--banner-info-border: oklch(.85 .05 240);--banner-note: oklch(.94 .02 160);--banner-note-foreground: oklch(.35 .1 160);--banner-note-border: oklch(.85 .05 160);--banner-warning: oklch(.95 .03 80);--banner-warning-foreground: oklch(.45 .1 60);--banner-warning-border: oklch(.88 .05 70);--banner-alert: oklch(.95 .03 25);--banner-alert-foreground: oklch(.45 .12 25);--banner-alert-border: oklch(.88 .08 25);--badge-success: oklch(.4 .1 160);--badge-success-foreground: oklch(1 0 0);--checkbox-checked: oklch(.15 .01 60);--checkbox-checked-foreground: oklch(1 0 0);--checkbox-unchecked-bg: oklch(1 0 0);--checkbox-unchecked-border: oklch(.88 .01 60)}:root.dark,[data-theme=linen].dark{--background: oklch(.14 .01 80);--foreground: oklch(.93 .01 85);--card: oklch(.19 .012 80 / .75);--card-foreground: oklch(.93 .01 85);--popover: oklch(.17 .01 80);--popover-foreground: oklch(.93 .01 85);--primary: oklch(.86 .05 85);--primary-foreground: oklch(.14 .01 80);--secondary: oklch(.24 .01 80);--secondary-foreground: oklch(.86 .05 85);--muted: oklch(.24 .01 80);--muted-foreground: oklch(.6 .01 85);--accent: oklch(.24 .01 80);--accent-foreground: oklch(.86 .05 85);--destructive: oklch(.48 .15 25);--destructive-foreground: oklch(.93 .01 85);--border: oklch(.28 .01 80);--input: oklch(.28 .01 80);--ring: oklch(.86 .05 85 / .3);--sidebar: oklch(.17 .01 80);--sidebar-foreground: oklch(.93 .01 85);--sidebar-primary: oklch(.86 .05 85);--sidebar-primary-foreground: oklch(.14 .01 80);--sidebar-accent: oklch(.23 .01 80);--sidebar-accent-foreground: oklch(.93 .01 85);--sidebar-border: oklch(.28 .01 80);--banner-info: oklch(.22 .04 230);--banner-info-foreground: oklch(.88 .05 230);--banner-info-border: oklch(.48 .16 235);--banner-note: oklch(.22 .04 155);--banner-note-foreground: oklch(.88 .06 155);--banner-note-border: oklch(.44 .1 155);--banner-warning: oklch(.26 .06 70);--banner-warning-foreground: oklch(.92 .1 80);--banner-warning-border: oklch(.65 .2 75);--banner-alert: oklch(.23 .05 25);--banner-alert-foreground: oklch(.9 .06 25);--banner-alert-border: oklch(.44 .14 25);--badge-success: oklch(.44 .12 150);--badge-success-foreground: oklch(.93 .01 85);--checkbox-checked: oklch(.86 .05 85);--checkbox-checked-foreground: oklch(.14 .01 80);--checkbox-unchecked-bg: oklch(.22 .01 80);--checkbox-unchecked-border: oklch(.35 .01 80)}[data-theme=steel]{--background: oklch(.95 .005 250);--foreground: oklch(.2 .02 250);--card: oklch(.98 .005 250 / .85);--card-foreground: oklch(.2 .02 250);--popover: oklch(1 0 0);--popover-foreground: oklch(.2 .02 250);--primary: oklch(.3 .05 250);--primary-foreground: oklch(.98 .005 250);--secondary: oklch(.97 .005 250);--secondary-foreground: oklch(.3 .05 250);--muted: oklch(.93 .005 250);--muted-foreground: oklch(.5 .02 250);--accent: oklch(.91 .008 250);--accent-foreground: oklch(.3 .05 250);--destructive: oklch(.55 .15 25);--destructive-foreground: oklch(1 0 0);--border: oklch(.88 .005 250);--input: oklch(.88 .005 250);--ring: oklch(.3 .05 250 / .15);--radius: .25rem;--sidebar: oklch(.97 .005 250);--sidebar-foreground: oklch(.25 .02 250);--sidebar-primary: oklch(.3 .05 250);--sidebar-primary-foreground: oklch(.98 .005 250);--sidebar-accent: oklch(.93 .008 250);--sidebar-accent-foreground: oklch(.25 .02 250);--sidebar-border: oklch(.9 .005 250);--banner-info: oklch(.94 .02 245);--banner-info-foreground: oklch(.24 .09 245);--banner-info-border: oklch(.52 .18 245);--banner-note: oklch(.94 .02 162);--banner-note-foreground: oklch(.24 .1 162);--banner-note-border: oklch(.48 .16 162);--banner-warning: oklch(.95 .04 78);--banner-warning-foreground: oklch(.34 .13 62);--banner-warning-border: oklch(.62 .18 72);--banner-alert: oklch(.95 .03 22);--banner-alert-foreground: oklch(.34 .14 22);--banner-alert-border: oklch(.52 .2 22);--badge-success: oklch(.35 .1 160);--badge-success-foreground: oklch(.98 .01 160);--checkbox-checked: oklch(.3 .05 250);--checkbox-checked-foreground: oklch(1 0 0);--checkbox-unchecked-bg: oklch(1 0 0);--checkbox-unchecked-border: oklch(.85 .01 250)}[data-theme=steel].dark{--background: oklch(.18 .015 260);--foreground: oklch(.985 0 0);--card: oklch(.23 .02 260 / .75);--card-foreground: oklch(.985 0 0);--popover: oklch(.21 .015 260);--popover-foreground: oklch(.985 0 0);--primary: oklch(.9 .1 220);--primary-foreground: oklch(.18 .015 260);--secondary: oklch(.28 .02 260);--secondary-foreground: oklch(.9 .1 220);--muted: oklch(.28 .02 260);--muted-foreground: oklch(.705 .015 260);--accent: oklch(.28 .02 260);--accent-foreground: oklch(.9 .1 220);--destructive: oklch(.45 .15 25);--destructive-foreground: oklch(.985 0 0);--border: oklch(.32 .02 260);--input: oklch(.32 .02 260);--ring: oklch(.9 .1 220 / .3);--sidebar: oklch(.21 .015 260);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.9 .1 220);--sidebar-primary-foreground: oklch(.18 .015 260);--sidebar-accent: oklch(.28 .02 260);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(.32 .02 260);--banner-info: oklch(.274 .079 260);--banner-info-foreground: oklch(.925 .033 260);--banner-info-border: oklch(.488 .2 260);--banner-note: oklch(.266 .065 152);--banner-note-foreground: oklch(.962 .044 156);--banner-note-border: oklch(.45 .1 152);--banner-warning: oklch(.55 .22 100);--banner-warning-foreground: oklch(.99 .15 102);--banner-warning-border: oklch(.75 .25 100);--banner-alert: oklch(.293 .084 27);--banner-alert-foreground: oklch(.969 .071 27);--banner-alert-border: oklch(.45 .12 27);--badge-success: oklch(.48 .15 150);--badge-success-foreground: oklch(1 0 0);--checkbox-checked: oklch(.9 .1 220);--checkbox-checked-foreground: oklch(.18 .015 260);--checkbox-unchecked-bg: oklch(.25 .01 260);--checkbox-unchecked-border: oklch(.4 .01 260)}
|
|
1
|
+
:root{--background: oklch(.992 .008 85);--foreground: oklch(.2 .01 85);--color-canopy: oklch(.16 .015 85);--color-hive: oklch(.68 .18 75);--color-parchment: oklch(.975 .006 85);--chart-1: oklch(.65 .18 142);--chart-2: oklch(.72 .17 72);--chart-3: oklch(.69 .19 38);--chart-4: oklch(.55 .2 25);--chart-5: oklch(.57 .22 264);--chart-6: oklch(.55 .22 290);--chart-7: oklch(.62 .2 314);--chart-8: oklch(.62 .2 340);--card: oklch(1 0 0 / .75);--card-foreground: oklch(.2 .01 85);--popover: oklch(1 0 0);--popover-foreground: oklch(.2 .01 85);--primary: oklch(.58 .18 70);--primary-foreground: oklch(1 0 0);--secondary: oklch(1 0 0);--secondary-foreground: oklch(.58 .18 70);--muted: oklch(1 0 0);--muted-foreground: oklch(.5 .01 85);--accent: oklch(.97 .01 85);--accent-foreground: oklch(.58 .18 70);--destructive: oklch(.55 .19 15);--destructive-foreground: oklch(1 0 0);--border: oklch(.94 .005 85);--input: oklch(.94 .005 85);--ring: oklch(.58 .18 70 / .3);--sidebar: oklch(1 0 0);--sidebar-foreground: oklch(.2 .01 85);--sidebar-primary: oklch(.58 .18 70);--sidebar-primary-foreground: oklch(1 0 0);--sidebar-accent: oklch(.96 .015 75);--sidebar-accent-foreground: oklch(.35 .1 70);--sidebar-border: oklch(.95 .005 85);--banner-info: oklch(.94 .02 240);--banner-info-foreground: oklch(.4 .1 240);--banner-info-border: oklch(.85 .05 240);--banner-note: oklch(.94 .02 160);--banner-note-foreground: oklch(.35 .1 160);--banner-note-border: oklch(.85 .05 160);--banner-warning: oklch(.95 .03 80);--banner-warning-foreground: oklch(.45 .1 60);--banner-warning-border: oklch(.88 .05 70);--banner-alert: oklch(.95 .03 25);--banner-alert-foreground: oklch(.45 .12 25);--banner-alert-border: oklch(.88 .08 25);--badge-success: oklch(.4 .1 160);--badge-success-foreground: oklch(1 0 0);--checkbox-checked: oklch(.58 .18 70);--checkbox-checked-foreground: oklch(1 0 0);--checkbox-unchecked-bg: oklch(1 0 0);--checkbox-unchecked-border: oklch(.88 .01 60)}[data-theme=linen]{--background: oklch(.992 .008 85);--foreground: oklch(.2 .01 85);--color-canopy: oklch(.16 .015 85);--color-hive: oklch(.68 .18 75);--color-parchment: oklch(.975 .006 85);--chart-1: oklch(.65 .18 142);--chart-2: oklch(.72 .17 72);--chart-3: oklch(.69 .19 38);--chart-4: oklch(.55 .2 25);--chart-5: oklch(.57 .22 264);--chart-6: oklch(.55 .22 290);--chart-7: oklch(.62 .2 314);--chart-8: oklch(.62 .2 340);--card: oklch(1 0 0 / .75);--card-foreground: oklch(.2 .01 85);--popover: oklch(1 0 0);--popover-foreground: oklch(.2 .01 85);--primary: oklch(.58 .18 70);--primary-foreground: oklch(1 0 0);--secondary: oklch(1 0 0);--secondary-foreground: oklch(.58 .18 70);--muted: oklch(1 0 0);--muted-foreground: oklch(.5 .01 85);--accent: oklch(.97 .01 85);--accent-foreground: oklch(.58 .18 70);--destructive: oklch(.55 .19 15);--destructive-foreground: oklch(1 0 0);--border: oklch(.94 .005 85);--input: oklch(.94 .005 85);--ring: oklch(.58 .18 70 / .3);--sidebar: oklch(1 0 0);--sidebar-foreground: oklch(.2 .01 85);--sidebar-primary: oklch(.58 .18 70);--sidebar-primary-foreground: oklch(1 0 0);--sidebar-accent: oklch(.96 .015 75);--sidebar-accent-foreground: oklch(.35 .1 70);--sidebar-border: oklch(.95 .005 85);--banner-info: oklch(.94 .02 240);--banner-info-foreground: oklch(.4 .1 240);--banner-info-border: oklch(.85 .05 240);--banner-note: oklch(.94 .02 160);--banner-note-foreground: oklch(.35 .1 160);--banner-note-border: oklch(.85 .05 160);--banner-warning: oklch(.95 .03 80);--banner-warning-foreground: oklch(.45 .1 60);--banner-warning-border: oklch(.88 .05 70);--banner-alert: oklch(.95 .03 25);--banner-alert-foreground: oklch(.45 .12 25);--banner-alert-border: oklch(.88 .08 25);--badge-success: oklch(.4 .1 160);--badge-success-foreground: oklch(1 0 0);--checkbox-checked: oklch(.58 .18 70);--checkbox-checked-foreground: oklch(1 0 0);--checkbox-unchecked-bg: oklch(1 0 0);--checkbox-unchecked-border: oklch(.88 .01 60)}:root.dark,[data-theme=linen].dark{--background: oklch(.14 .01 80);--foreground: oklch(.93 .01 85);--color-canopy: oklch(.09 .01 85);--color-hive: oklch(.78 .18 75);--color-parchment: oklch(.17 .012 80);--chart-1: oklch(.72 .2 142);--chart-2: oklch(.78 .18 72);--chart-3: oklch(.75 .2 38);--chart-4: oklch(.65 .22 25);--chart-5: oklch(.65 .22 264);--chart-6: oklch(.63 .22 290);--chart-7: oklch(.7 .2 314);--chart-8: oklch(.7 .2 340);--card: oklch(.19 .012 80 / .75);--card-foreground: oklch(.93 .01 85);--popover: oklch(.17 .01 80);--popover-foreground: oklch(.93 .01 85);--primary: oklch(.86 .05 85);--primary-foreground: oklch(.14 .01 80);--secondary: oklch(.24 .01 80);--secondary-foreground: oklch(.86 .05 85);--muted: oklch(.24 .01 80);--muted-foreground: oklch(.6 .01 85);--accent: oklch(.24 .01 80);--accent-foreground: oklch(.86 .05 85);--destructive: oklch(.48 .15 25);--destructive-foreground: oklch(.93 .01 85);--border: oklch(.28 .01 80);--input: oklch(.28 .01 80);--ring: oklch(.86 .05 85 / .3);--sidebar: oklch(.19 .012 80);--sidebar-foreground: oklch(.93 .01 85);--sidebar-primary: oklch(.86 .05 85);--sidebar-primary-foreground: oklch(.14 .01 80);--sidebar-accent: oklch(.23 .01 80);--sidebar-accent-foreground: oklch(.93 .01 85);--sidebar-border: oklch(.28 .01 80);--banner-info: oklch(.22 .04 230);--banner-info-foreground: oklch(.88 .05 230);--banner-info-border: oklch(.48 .16 235);--banner-note: oklch(.22 .04 155);--banner-note-foreground: oklch(.88 .06 155);--banner-note-border: oklch(.44 .1 155);--banner-warning: oklch(.26 .06 70);--banner-warning-foreground: oklch(.92 .1 80);--banner-warning-border: oklch(.65 .2 75);--banner-alert: oklch(.23 .05 25);--banner-alert-foreground: oklch(.9 .06 25);--banner-alert-border: oklch(.44 .14 25);--badge-success: oklch(.44 .12 150);--badge-success-foreground: oklch(.93 .01 85);--checkbox-checked: oklch(.86 .05 85);--checkbox-checked-foreground: oklch(.14 .01 80);--checkbox-unchecked-bg: oklch(.22 .01 80);--checkbox-unchecked-border: oklch(.35 .01 80)}[data-theme=steel]{--background: oklch(.95 .015 250);--foreground: oklch(.2 .02 250);--color-canopy: #0f172a;--color-hive: #0ea5e9;--color-parchment: #f1f5f9;--chart-1: oklch(.65 .18 142);--chart-2: oklch(.72 .17 72);--chart-3: oklch(.69 .19 38);--chart-4: oklch(.55 .2 25);--chart-5: oklch(.57 .22 264);--chart-6: oklch(.55 .22 290);--chart-7: oklch(.62 .2 314);--chart-8: oklch(.62 .2 340);--card: oklch(.98 .005 250 / .85);--card-foreground: oklch(.2 .02 250);--popover: oklch(1 0 0);--popover-foreground: oklch(.2 .02 250);--primary: oklch(.3 .05 250);--primary-foreground: oklch(.98 .005 250);--secondary: oklch(.97 .005 250);--secondary-foreground: oklch(.3 .05 250);--muted: oklch(.93 .005 250);--muted-foreground: oklch(.5 .02 250);--accent: oklch(.91 .008 250);--accent-foreground: oklch(.3 .05 250);--destructive: oklch(.55 .15 25);--destructive-foreground: oklch(1 0 0);--border: oklch(.88 .005 250);--input: oklch(.88 .005 250);--ring: oklch(.3 .05 250 / .15);--sidebar: oklch(.98 .005 250);--sidebar-foreground: oklch(.25 .02 250);--sidebar-primary: oklch(.3 .05 250);--sidebar-primary-foreground: oklch(.98 .005 250);--sidebar-accent: oklch(.93 .008 250);--sidebar-accent-foreground: oklch(.25 .02 250);--sidebar-border: oklch(.9 .005 250);--banner-info: oklch(.94 .02 245);--banner-info-foreground: oklch(.24 .09 245);--banner-info-border: oklch(.52 .18 245);--banner-note: oklch(.94 .02 162);--banner-note-foreground: oklch(.24 .1 162);--banner-note-border: oklch(.48 .16 162);--banner-warning: oklch(.95 .04 78);--banner-warning-foreground: oklch(.34 .13 62);--banner-warning-border: oklch(.62 .18 72);--banner-alert: oklch(.95 .03 22);--banner-alert-foreground: oklch(.34 .14 22);--banner-alert-border: oklch(.52 .2 22);--badge-success: oklch(.35 .1 160);--badge-success-foreground: oklch(.98 .01 160);--checkbox-checked: oklch(.3 .05 250);--checkbox-checked-foreground: oklch(1 0 0);--checkbox-unchecked-bg: oklch(1 0 0);--checkbox-unchecked-border: oklch(.85 .01 250)}[data-theme=steel].dark{--background: oklch(.18 .02 225);--foreground: oklch(.985 0 0);--color-canopy: #020617;--color-hive: #38bdf8;--color-parchment: #0f172a;--chart-1: oklch(.72 .2 142);--chart-2: oklch(.78 .18 72);--chart-3: oklch(.75 .2 38);--chart-4: oklch(.65 .22 25);--chart-5: oklch(.65 .22 264);--chart-6: oklch(.63 .22 290);--chart-7: oklch(.7 .2 314);--chart-8: oklch(.7 .2 340);--card: oklch(.23 .025 225 / .75);--card-foreground: oklch(.985 0 0);--popover: oklch(.21 .02 225);--popover-foreground: oklch(.985 0 0);--primary: oklch(.9 .1 220);--primary-foreground: oklch(.18 .02 225);--secondary: oklch(.28 .025 225);--secondary-foreground: oklch(.9 .1 220);--muted: oklch(.28 .025 225);--muted-foreground: oklch(.705 .015 225);--accent: oklch(.28 .025 225);--accent-foreground: oklch(.9 .1 220);--destructive: oklch(.45 .15 25);--destructive-foreground: oklch(.985 0 0);--border: oklch(.32 .025 225);--input: oklch(.32 .025 225);--ring: oklch(.9 .1 220 / .3);--sidebar: oklch(.23 .025 225);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.9 .1 220);--sidebar-primary-foreground: oklch(.18 .02 225);--sidebar-accent: oklch(.28 .025 225);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(.32 .025 225);--banner-info: oklch(.274 .079 260);--banner-info-foreground: oklch(.925 .033 260);--banner-info-border: oklch(.488 .2 260);--banner-note: oklch(.266 .065 152);--banner-note-foreground: oklch(.962 .044 156);--banner-note-border: oklch(.45 .1 152);--banner-warning: oklch(.55 .22 100);--banner-warning-foreground: oklch(.99 .15 102);--banner-warning-border: oklch(.75 .25 100);--banner-alert: oklch(.293 .084 27);--banner-alert-foreground: oklch(.969 .071 27);--banner-alert-border: oklch(.45 .12 27);--badge-success: oklch(.48 .15 150);--badge-success-foreground: oklch(1 0 0);--checkbox-checked: oklch(.9 .1 220);--checkbox-checked-foreground: oklch(.18 .015 260);--checkbox-unchecked-bg: oklch(.25 .01 260);--checkbox-unchecked-border: oklch(.4 .01 260)}[data-theme=sage]{--background: oklch(.965 .015 145);--foreground: oklch(.18 .02 145);--color-canopy: oklch(.16 .04 145);--color-hive: oklch(.62 .2 145);--color-parchment: oklch(.975 .008 145);--chart-1: oklch(.65 .18 142);--chart-2: oklch(.72 .17 72);--chart-3: oklch(.69 .19 38);--chart-4: oklch(.55 .2 25);--chart-5: oklch(.57 .22 264);--chart-6: oklch(.55 .22 290);--chart-7: oklch(.62 .2 314);--chart-8: oklch(.62 .2 340);--card: oklch(.99 .004 145 / .75);--card-foreground: oklch(.18 .02 145);--popover: oklch(1 0 0);--popover-foreground: oklch(.18 .02 145);--primary: oklch(.25 .06 145);--primary-foreground: oklch(.97 .005 145);--secondary: oklch(.97 .006 145);--secondary-foreground: oklch(.25 .06 145);--muted: oklch(.94 .006 145);--muted-foreground: oklch(.5 .02 145);--accent: oklch(.92 .008 145);--accent-foreground: oklch(.25 .06 145);--destructive: oklch(.55 .15 25);--destructive-foreground: oklch(1 0 0);--border: oklch(.9 .006 145);--input: oklch(.9 .006 145);--ring: oklch(.25 .06 145 / .15);--sidebar: oklch(.99 .004 145);--sidebar-foreground: oklch(.22 .02 145);--sidebar-primary: oklch(.25 .06 145);--sidebar-primary-foreground: oklch(.97 .005 145);--sidebar-accent: oklch(.93 .008 145);--sidebar-accent-foreground: oklch(.22 .02 145);--sidebar-border: oklch(.91 .006 145);--banner-info: oklch(.94 .02 240);--banner-info-foreground: oklch(.24 .09 240);--banner-info-border: oklch(.52 .18 240);--banner-note: oklch(.94 .02 145);--banner-note-foreground: oklch(.24 .1 145);--banner-note-border: oklch(.48 .16 145);--banner-warning: oklch(.95 .04 78);--banner-warning-foreground: oklch(.34 .13 62);--banner-warning-border: oklch(.62 .18 72);--banner-alert: oklch(.95 .03 22);--banner-alert-foreground: oklch(.34 .14 22);--banner-alert-border: oklch(.52 .2 22);--badge-success: oklch(.35 .1 145);--badge-success-foreground: oklch(.98 .01 145);--checkbox-checked: oklch(.25 .06 145);--checkbox-checked-foreground: oklch(1 0 0);--checkbox-unchecked-bg: oklch(1 0 0);--checkbox-unchecked-border: oklch(.87 .008 145)}[data-theme=sage].dark{--background: oklch(.14 .015 145);--foreground: oklch(.93 .01 145);--color-canopy: oklch(.09 .02 145);--color-hive: oklch(.75 .2 145);--color-parchment: oklch(.17 .018 145);--chart-1: oklch(.72 .2 142);--chart-2: oklch(.78 .18 72);--chart-3: oklch(.75 .2 38);--chart-4: oklch(.65 .22 25);--chart-5: oklch(.65 .22 264);--chart-6: oklch(.63 .22 290);--chart-7: oklch(.7 .2 314);--chart-8: oklch(.7 .2 340);--card: oklch(.19 .018 145 / .75);--card-foreground: oklch(.93 .01 145);--popover: oklch(.17 .015 145);--popover-foreground: oklch(.93 .01 145);--primary: oklch(.8 .1 145);--primary-foreground: oklch(.14 .015 145);--secondary: oklch(.24 .015 145);--secondary-foreground: oklch(.8 .1 145);--muted: oklch(.24 .015 145);--muted-foreground: oklch(.62 .015 145);--accent: oklch(.24 .015 145);--accent-foreground: oklch(.8 .1 145);--destructive: oklch(.45 .15 25);--destructive-foreground: oklch(.93 .01 145);--border: oklch(.28 .015 145);--input: oklch(.28 .015 145);--ring: oklch(.8 .1 145 / .3);--sidebar: oklch(.19 .018 145);--sidebar-foreground: oklch(.93 .01 145);--sidebar-primary: oklch(.8 .1 145);--sidebar-primary-foreground: oklch(.14 .015 145);--sidebar-accent: oklch(.23 .015 145);--sidebar-accent-foreground: oklch(.93 .01 145);--sidebar-border: oklch(.28 .015 145);--banner-info: oklch(.22 .04 240);--banner-info-foreground: oklch(.88 .05 240);--banner-info-border: oklch(.48 .16 240);--banner-note: oklch(.22 .05 145);--banner-note-foreground: oklch(.88 .06 145);--banner-note-border: oklch(.5 .12 145);--banner-warning: oklch(.26 .06 70);--banner-warning-foreground: oklch(.92 .1 80);--banner-warning-border: oklch(.65 .2 75);--banner-alert: oklch(.23 .05 25);--banner-alert-foreground: oklch(.9 .06 25);--banner-alert-border: oklch(.44 .14 25);--badge-success: oklch(.48 .15 145);--badge-success-foreground: oklch(1 0 0);--checkbox-checked: oklch(.8 .1 145);--checkbox-checked-foreground: oklch(.14 .015 145);--checkbox-unchecked-bg: oklch(.22 .01 145);--checkbox-unchecked-border: oklch(.38 .01 145)}[data-theme=dusk]{--background: oklch(.965 .015 295);--foreground: oklch(.2 .02 295);--color-canopy: oklch(.16 .04 285);--color-hive: oklch(.62 .2 285);--color-parchment: oklch(.975 .006 285);--chart-1: oklch(.65 .18 142);--chart-2: oklch(.72 .17 72);--chart-3: oklch(.69 .19 38);--chart-4: oklch(.55 .2 25);--chart-5: oklch(.57 .22 264);--chart-6: oklch(.55 .22 290);--chart-7: oklch(.62 .2 314);--chart-8: oklch(.62 .2 340);--card: oklch(.99 .004 295 / .85);--card-foreground: oklch(.2 .02 295);--popover: oklch(1 0 0);--popover-foreground: oklch(.2 .02 295);--primary: oklch(.3 .06 295);--primary-foreground: oklch(.98 .005 295);--secondary: oklch(.97 .005 295);--secondary-foreground: oklch(.3 .06 295);--muted: oklch(.94 .005 295);--muted-foreground: oklch(.52 .02 295);--accent: oklch(.92 .008 295);--accent-foreground: oklch(.3 .06 295);--destructive: oklch(.55 .15 25);--destructive-foreground: oklch(1 0 0);--border: oklch(.89 .006 295);--input: oklch(.89 .006 295);--ring: oklch(.3 .06 295 / .15);--sidebar: oklch(.99 .004 295);--sidebar-foreground: oklch(.25 .02 295);--sidebar-primary: oklch(.3 .06 295);--sidebar-primary-foreground: oklch(.98 .005 295);--sidebar-accent: oklch(.93 .008 295);--sidebar-accent-foreground: oklch(.25 .02 295);--sidebar-border: oklch(.91 .006 295);--banner-info: oklch(.94 .02 245);--banner-info-foreground: oklch(.24 .09 245);--banner-info-border: oklch(.52 .18 245);--banner-note: oklch(.94 .02 295);--banner-note-foreground: oklch(.24 .1 295);--banner-note-border: oklch(.48 .16 295);--banner-warning: oklch(.95 .04 78);--banner-warning-foreground: oklch(.34 .13 62);--banner-warning-border: oklch(.62 .18 72);--banner-alert: oklch(.95 .03 22);--banner-alert-foreground: oklch(.34 .14 22);--banner-alert-border: oklch(.52 .2 22);--badge-success: oklch(.35 .1 160);--badge-success-foreground: oklch(.98 .01 160);--checkbox-checked: oklch(.3 .06 295);--checkbox-checked-foreground: oklch(1 0 0);--checkbox-unchecked-bg: oklch(1 0 0);--checkbox-unchecked-border: oklch(.86 .008 295)}[data-theme=dusk].dark{--background: oklch(.17 .02 305);--foreground: oklch(.95 .005 310);--color-canopy: oklch(.09 .02 305);--color-hive: oklch(.78 .2 305);--color-parchment: oklch(.17 .018 305);--chart-1: oklch(.72 .2 142);--chart-2: oklch(.78 .18 72);--chart-3: oklch(.75 .2 38);--chart-4: oklch(.65 .22 25);--chart-5: oklch(.65 .22 264);--chart-6: oklch(.63 .22 290);--chart-7: oklch(.7 .2 314);--chart-8: oklch(.7 .2 340);--card: oklch(.22 .025 305 / .75);--card-foreground: oklch(.95 .005 310);--popover: oklch(.2 .02 305);--popover-foreground: oklch(.95 .005 310);--primary: oklch(.88 .1 305);--primary-foreground: oklch(.17 .02 305);--secondary: oklch(.27 .025 305);--secondary-foreground: oklch(.88 .1 305);--muted: oklch(.27 .025 305);--muted-foreground: oklch(.68 .015 305);--accent: oklch(.27 .025 305);--accent-foreground: oklch(.88 .1 305);--destructive: oklch(.45 .15 25);--destructive-foreground: oklch(.95 .005 310);--border: oklch(.31 .025 305);--input: oklch(.31 .025 305);--ring: oklch(.88 .1 305 / .3);--sidebar: oklch(.22 .025 305);--sidebar-foreground: oklch(.95 .005 310);--sidebar-primary: oklch(.88 .1 305);--sidebar-primary-foreground: oklch(.17 .02 305);--sidebar-accent: oklch(.27 .025 305);--sidebar-accent-foreground: oklch(.95 .005 310);--sidebar-border: oklch(.31 .025 305);--banner-info: oklch(.22 .04 260);--banner-info-foreground: oklch(.88 .05 260);--banner-info-border: oklch(.48 .16 260);--banner-note: oklch(.22 .05 295);--banner-note-foreground: oklch(.88 .06 295);--banner-note-border: oklch(.5 .12 295);--banner-warning: oklch(.26 .06 70);--banner-warning-foreground: oklch(.92 .1 80);--banner-warning-border: oklch(.65 .2 75);--banner-alert: oklch(.23 .05 25);--banner-alert-foreground: oklch(.9 .06 25);--banner-alert-border: oklch(.44 .14 25);--badge-success: oklch(.48 .15 150);--badge-success-foreground: oklch(1 0 0);--checkbox-checked: oklch(.88 .08 295);--checkbox-checked-foreground: oklch(.17 .015 280);--checkbox-unchecked-bg: oklch(.24 .01 280);--checkbox-unchecked-border: oklch(.38 .01 280)}[data-theme=canopy]{--background: oklch(.97 .008 210);--foreground: oklch(.16 .035 225);--color-canopy: #0f172a;--color-hive: #0ea5e9;--color-parchment: #f1f5f9;--chart-1: oklch(.65 .18 142);--chart-2: oklch(.72 .17 72);--chart-3: oklch(.69 .19 38);--chart-4: oklch(.55 .2 25);--chart-5: oklch(.57 .22 264);--chart-6: oklch(.55 .22 290);--chart-7: oklch(.62 .2 314);--chart-8: oklch(.62 .2 340);--card: oklch(1 0 0 / .85);--card-foreground: oklch(.16 .035 225);--popover: oklch(1 0 0);--popover-foreground: oklch(.16 .035 225);--primary: oklch(.62 .18 210);--primary-foreground: oklch(1 0 0);--secondary: oklch(.93 .01 210);--secondary-foreground: oklch(.62 .18 210);--muted: oklch(.93 .01 210);--muted-foreground: oklch(.5 .02 210);--accent: oklch(.93 .01 210);--accent-foreground: oklch(.62 .18 210);--destructive: oklch(.55 .19 15);--destructive-foreground: oklch(1 0 0);--border: oklch(.88 .008 210);--input: oklch(.88 .008 210);--ring: oklch(.62 .18 210 / .3);--sidebar: oklch(1 0 0);--sidebar-foreground: oklch(.16 .035 225);--sidebar-primary: oklch(.62 .18 210);--sidebar-primary-foreground: oklch(1 0 0);--sidebar-accent: oklch(.93 .01 210);--sidebar-accent-foreground: oklch(.16 .035 225);--sidebar-border: oklch(.88 .008 210);--banner-info: oklch(.94 .02 210);--banner-info-foreground: oklch(.24 .09 210);--banner-info-border: oklch(.52 .18 210);--banner-note: oklch(.94 .02 162);--banner-note-foreground: oklch(.24 .1 162);--banner-note-border: oklch(.48 .16 162);--banner-warning: oklch(.95 .04 78);--banner-warning-foreground: oklch(.34 .13 62);--banner-warning-border: oklch(.62 .18 72);--banner-alert: oklch(.95 .03 22);--banner-alert-foreground: oklch(.34 .14 22);--banner-alert-border: oklch(.52 .2 22);--badge-success: oklch(.35 .1 160);--badge-success-foreground: oklch(.98 .01 160);--checkbox-checked: oklch(.62 .18 210);--checkbox-checked-foreground: oklch(1 0 0);--checkbox-unchecked-bg: oklch(1 0 0);--checkbox-unchecked-border: oklch(.85 .01 210)}[data-theme=canopy].dark{--background: oklch(.14 .03 240);--foreground: oklch(.95 .005 210);--color-canopy: #020617;--color-hive: #38bdf8;--color-parchment: #0f172a;--chart-1: oklch(.72 .2 142);--chart-2: oklch(.78 .18 72);--chart-3: oklch(.75 .2 38);--chart-4: oklch(.65 .22 25);--chart-5: oklch(.65 .22 264);--chart-6: oklch(.63 .22 290);--chart-7: oklch(.7 .2 314);--chart-8: oklch(.7 .2 340);--card: oklch(.19 .035 235 / .75);--card-foreground: oklch(.95 .005 210);--popover: oklch(.17 .03 240);--popover-foreground: oklch(.95 .005 210);--primary: oklch(.72 .18 210);--primary-foreground: oklch(.14 .03 240);--secondary: oklch(.24 .035 235);--secondary-foreground: oklch(.72 .18 210);--muted: oklch(.24 .035 235);--muted-foreground: oklch(.65 .015 210);--accent: oklch(.24 .035 235);--accent-foreground: oklch(.72 .18 210);--destructive: oklch(.45 .15 25);--destructive-foreground: oklch(.95 .005 210);--border: oklch(.28 .035 235);--input: oklch(.28 .035 235);--ring: oklch(.72 .18 210 / .3);--sidebar: oklch(.19 .035 235);--sidebar-foreground: oklch(.95 .005 210);--sidebar-primary: oklch(.72 .18 210);--sidebar-primary-foreground: oklch(.14 .03 240);--sidebar-accent: oklch(.24 .035 235);--sidebar-accent-foreground: oklch(.95 .005 210);--sidebar-border: oklch(.28 .035 235);--banner-info: oklch(.22 .04 220);--banner-info-foreground: oklch(.88 .05 220);--banner-info-border: oklch(.48 .16 220);--banner-note: oklch(.22 .05 155);--banner-note-foreground: oklch(.88 .06 155);--banner-note-border: oklch(.5 .12 155);--banner-warning: oklch(.26 .06 70);--banner-warning-foreground: oklch(.92 .1 80);--banner-warning-border: oklch(.65 .2 75);--banner-alert: oklch(.23 .05 25);--banner-alert-foreground: oklch(.9 .06 25);--banner-alert-border: oklch(.44 .14 25);--badge-success: oklch(.48 .15 150);--badge-success-foreground: oklch(1 0 0);--checkbox-checked: oklch(.72 .18 210);--checkbox-checked-foreground: oklch(.14 .03 240);--checkbox-unchecked-bg: oklch(.22 .01 235);--checkbox-unchecked-border: oklch(.38 .01 235)}
|
package/dist/shared/Input.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { c as
|
|
4
|
-
function
|
|
3
|
+
import { c as o } from "./utils.js";
|
|
4
|
+
function l({ className: e, type: i, ...r }) {
|
|
5
5
|
return /* @__PURE__ */ t(
|
|
6
6
|
"input",
|
|
7
7
|
{
|
|
8
8
|
type: i,
|
|
9
9
|
"data-slot": "input",
|
|
10
|
-
className:
|
|
11
|
-
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground
|
|
10
|
+
className: o(
|
|
11
|
+
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground border-input h-9 w-full min-w-0 rounded border bg-card px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
12
12
|
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
13
13
|
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
14
14
|
e
|
|
@@ -18,6 +18,6 @@ function s({ className: e, type: i, ...r }) {
|
|
|
18
18
|
);
|
|
19
19
|
}
|
|
20
20
|
export {
|
|
21
|
-
|
|
21
|
+
l as I
|
|
22
22
|
};
|
|
23
23
|
//# sourceMappingURL=Input.js.map
|
package/dist/shared/Input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../src/components/Input/Input.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tdata-slot=\"input\"\n\t\t\tclassName={cn(\n\t\t\t\t\"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../src/components/Input/Input.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n\treturn (\n\t\t<input\n\t\t\ttype={type}\n\t\t\tdata-slot=\"input\"\n\t\t\tclassName={cn(\n\t\t\t\t\"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground border-input h-9 w-full min-w-0 rounded border bg-card px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n\t\t\t\t\"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]\",\n\t\t\t\t\"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport { Input }\n"],"names":["Input","className","type","props","jsx","cn"],"mappings":";;;AAIA,SAASA,EAAM,EAAE,WAAAC,GAAW,MAAAC,GAAM,GAAGC,KAAwC;AAC5E,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,MAAAF;AAAA,MACA,aAAU;AAAA,MACV,WAAWG;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEA,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
package/dist/shared/Select.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import "react";
|
|
3
|
-
import { c as
|
|
3
|
+
import { c as i } from "./utils.js";
|
|
4
4
|
function l({
|
|
5
5
|
className: e,
|
|
6
6
|
...o
|
|
@@ -9,8 +9,8 @@ function l({
|
|
|
9
9
|
"select",
|
|
10
10
|
{
|
|
11
11
|
"data-slot": "select",
|
|
12
|
-
className:
|
|
13
|
-
"flex h-9 w-full rounded border border-input bg-
|
|
12
|
+
className: i(
|
|
13
|
+
"flex h-9 w-full rounded border border-input bg-card px-3 py-1 text-sm shadow-xs transition-colors outline-none",
|
|
14
14
|
"focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:border-ring",
|
|
15
15
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
16
16
|
e
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../src/components/Select/Select.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cn } from '@/utils'\n\n/** Native select styled to match design-system Input (form control). */\nexport function Select({\n\tclassName,\n\t...props\n}: React.ComponentProps<'select'>) {\n\treturn (\n\t\t<select\n\t\t\tdata-slot=\"select\"\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-9 w-full rounded border border-input bg-
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../src/components/Select/Select.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cn } from '@/utils'\n\n/** Native select styled to match design-system Input (form control). */\nexport function Select({\n\tclassName,\n\t...props\n}: React.ComponentProps<'select'>) {\n\treturn (\n\t\t<select\n\t\t\tdata-slot=\"select\"\n\t\t\tclassName={cn(\n\t\t\t\t'flex h-9 w-full rounded border border-input bg-card px-3 py-1 text-sm shadow-xs transition-colors outline-none',\n\t\t\t\t'focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:border-ring',\n\t\t\t\t'disabled:pointer-events-none disabled:opacity-50',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n"],"names":["Select","className","props","jsx","cn"],"mappings":";;;AAKO,SAASA,EAAO;AAAA,EACtB,WAAAC;AAAA,EACA,GAAGC;AACJ,GAAmC;AAClC,SACC,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,aAAU;AAAA,MACV,WAAWC;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACAH;AAAA,MAAA;AAAA,MAEA,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import './linen.css';
|
|
3
3
|
import './steel.css';
|
|
4
|
+
import './sage.css';
|
|
5
|
+
import './dusk.css';
|
|
6
|
+
import './canopy.css';
|
|
4
7
|
export type Theme = 'light' | 'dark' | 'system';
|
|
5
|
-
export type ColorTheme = 'linen' | 'steel';
|
|
8
|
+
export type ColorTheme = 'linen' | 'steel' | 'sage' | 'dusk' | 'canopy';
|
|
6
9
|
export declare function ThemeProvider({ children, defaultColorTheme, }: {
|
|
7
10
|
children: ReactNode;
|
|
8
11
|
defaultColorTheme?: ColorTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/themes/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,aAAa,CAAA;AACpB,OAAO,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/themes/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,aAAa,CAAA;AACpB,OAAO,aAAa,CAAA;AACpB,OAAO,YAAY,CAAA;AACnB,OAAO,YAAY,CAAA;AACnB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AAC/C,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAA;AAiCvE,wBAAgB,aAAa,CAAC,EAC7B,QAAQ,EACR,iBAA2B,GAC3B,EAAE;IACF,QAAQ,EAAE,SAAS,CAAA;IACnB,iBAAiB,CAAC,EAAE,UAAU,CAAA;CAC9B,2CA8CA"}
|