ics-ui-kit 0.1.19 → 1.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -36
- package/dist/AlertContext-CxjW1LVL.js.map +1 -1
- package/dist/AlertIcon-BphnEYvV.js.map +1 -1
- package/dist/{Button-BZ3ON1Tj.js → Button-_qdP4hSf.js} +2 -2
- package/dist/Button-_qdP4hSf.js.map +1 -0
- package/dist/{ButtonBase-jgu7EolU.js → ButtonBase-CbWrYcx-.js} +2 -2
- package/dist/ButtonBase-CbWrYcx-.js.map +1 -0
- package/dist/{CheckboxField-limFbMk2.js → CheckboxField-Ca48ZYoX.js} +32 -32
- package/dist/CheckboxField-Ca48ZYoX.js.map +1 -0
- package/dist/Combination-DeIugdgY.js.map +1 -1
- package/dist/{Command-B7ZRyW8w.js → Command-CsW4aK7M.js} +8 -8
- package/dist/Command-CsW4aK7M.js.map +1 -0
- package/dist/ComponentVariantProvider-brk0g-hm.js.map +1 -1
- package/dist/Description-BTPMlTT-.js.map +1 -1
- package/dist/{Dialog-CdnsGyJD.js → Dialog-BT_775Iz.js} +4 -4
- package/dist/Dialog-BT_775Iz.js.map +1 -0
- package/dist/Divider-DPW5ZhZ8.js.map +1 -1
- package/dist/EmptyState-DRKjscH-.js.map +1 -1
- package/dist/ErrorState-B26k67-z.js.map +1 -1
- package/dist/FeatureIcon-BGE0Orkc.js.map +1 -1
- package/dist/{Field-CP_-li9L.js → Field-BRPdaQ8D.js} +2 -2
- package/dist/Field-BRPdaQ8D.js.map +1 -0
- package/dist/{FieldLabel-eyKmeWRn.js → FieldLabel-ic0eq9Un.js} +2 -2
- package/dist/FieldLabel-ic0eq9Un.js.map +1 -0
- package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
- package/dist/{FormFooterTemplate-DdNnLu2-.js → FormFooterTemplate-BIwnBQhL.js} +5 -5
- package/dist/FormFooterTemplate-BIwnBQhL.js.map +1 -0
- package/dist/{FormHeader--F6b2aRk.js → FormHeader-PE63OqG9.js} +3 -3
- package/dist/FormHeader-PE63OqG9.js.map +1 -0
- package/dist/{FormStack-Cc_ELdWL.js → FormStack-CxiZhx1n.js} +3 -3
- package/dist/FormStack-CxiZhx1n.js.map +1 -0
- package/dist/HintState-BxrCAWqq.js.map +1 -1
- package/dist/Icon-DH3ev9GK.js.map +1 -1
- package/dist/{IconButton-uGJ3cQtk.js → IconButton-DAg1oMwz.js} +2 -2
- package/dist/IconButton-DAg1oMwz.js.map +1 -0
- package/dist/{IconTooltip-RSxvnBgH.js → IconTooltip-CgbefRXG.js} +2 -2
- package/dist/IconTooltip-CgbefRXG.js.map +1 -0
- package/dist/Indicator-AqxHWPA9.js.map +1 -1
- package/dist/{InputGroup-AVAtosX_.js → InputGroup-CW55G5nE.js} +5 -5
- package/dist/InputGroup-CW55G5nE.js.map +1 -0
- package/dist/{InputOTP-B2e1nfSO.js → InputOTP-DkVh6bBz.js} +2 -2
- package/dist/InputOTP-DkVh6bBz.js.map +1 -0
- package/dist/Loader-BpHiL6W-.js.map +1 -1
- package/dist/{MenuItem-d19Ty84F.js → MenuItem-C51uFz3V.js} +11 -11
- package/dist/MenuItem-C51uFz3V.js.map +1 -0
- package/dist/MenuItemShortcut-D1faeIXp.js.map +1 -1
- package/dist/MenuItemText-CRpaPbvg.js.map +1 -1
- package/dist/{Overlay-CVt011mY.js → Overlay-E0UvxzIc.js} +2 -2
- package/dist/Overlay-E0UvxzIc.js.map +1 -0
- package/dist/{Popover-KjZXxxl3.js → Popover-Dz2eNsXh.js} +5 -5
- package/dist/Popover-Dz2eNsXh.js.map +1 -0
- package/dist/{RichButton-B1wjK7Bk.js → RichButton-Bt0yUShU.js} +2 -2
- package/dist/RichButton-Bt0yUShU.js.map +1 -0
- package/dist/ScrollArea-CuuTeDn3.js.map +1 -1
- package/dist/ScrollShadowContainer-DdrnF8qU.js.map +1 -1
- package/dist/{SearchSelectTag-CA7Ie3Nx.js → SearchSelectTag-Dp5_OvZp.js} +16 -16
- package/dist/SearchSelectTag-Dp5_OvZp.js.map +1 -0
- package/dist/{Select-D9juHX8o.js → Select-Bfbtj5zt.js} +7 -7
- package/dist/Select-Bfbtj5zt.js.map +1 -0
- package/dist/{Sheet-qTIXsqm0.js → Sheet-aLBPtE1k.js} +9 -9
- package/dist/Sheet-aLBPtE1k.js.map +1 -0
- package/dist/Shortcut-D8L15_ed.js.map +1 -1
- package/dist/Skeleton-y6I-i9q5.js.map +1 -1
- package/dist/{TableFillHandle-C_yvCTSl.js → TableFillHandle-CHHoUi6s.js} +7 -7
- package/dist/TableFillHandle-CHHoUi6s.js.map +1 -0
- package/dist/{Tag-DdHXTyKF.js → Tag-Cf6HftP-.js} +4 -4
- package/dist/Tag-Cf6HftP-.js.map +1 -0
- package/dist/Text-DeBE8AKl.js.map +1 -1
- package/dist/{TextInput-5BuZtWV6.js → TextInput-CoL8nOyt.js} +3 -3
- package/dist/TextInput-CoL8nOyt.js.map +1 -0
- package/dist/{TextOverflowTooltip-B1I5qwAT.js → TextOverflowTooltip-BaNPKqnO.js} +2 -2
- package/dist/{TextOverflowTooltip-B1I5qwAT.js.map → TextOverflowTooltip-BaNPKqnO.js.map} +1 -1
- package/dist/{Toggle-v_HT3Gm2.js → Toggle-CmalMf4O.js} +2 -2
- package/dist/Toggle-CmalMf4O.js.map +1 -0
- package/dist/{Tooltip-7Duaau0S.js → Tooltip-DOgKy50D.js} +3 -3
- package/dist/Tooltip-DOgKy50D.js.map +1 -0
- package/dist/{TriggerButton-Bakr8Boi.js → TriggerButton-CoAgB4lx.js} +2 -2
- package/dist/TriggerButton-CoAgB4lx.js.map +1 -0
- package/dist/blocks/auth/otp-form.js +4 -4
- package/dist/blocks/auth/otp-form.js.map +1 -1
- package/dist/cn-dsXlqdJg.js.map +1 -1
- package/dist/components/alert-dialog.js +3 -3
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/background-pattern.js.map +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/banner.js.map +1 -1
- package/dist/components/breadcrumb.js.map +1 -1
- package/dist/components/button.js +5 -5
- package/dist/components/button.js.map +1 -1
- package/dist/components/calendar.js +2 -2
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/card.js +2 -2
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel.js +1 -1
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/color-tile.js.map +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/container.js.map +1 -1
- package/dist/components/context-menu.js +6 -6
- package/dist/components/context-menu.js.map +1 -1
- package/dist/components/counter.js +1 -1
- package/dist/components/counter.js.map +1 -1
- package/dist/components/dialog.js +3 -3
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/divider.js.map +1 -1
- package/dist/components/drawer.js +4 -4
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/dropdown.js +9 -9
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/error-state.js +1 -1
- package/dist/components/error-state.js.map +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/file-upload.js +3 -3
- package/dist/components/file-upload.js.map +1 -1
- package/dist/components/form.js +5 -5
- package/dist/components/form.js.map +1 -1
- package/dist/components/glass-toolbar.js +6 -6
- package/dist/components/glass-toolbar.js.map +1 -1
- package/dist/components/icon-tooltip.js +1 -1
- package/dist/components/image-placeholder.js.map +1 -1
- package/dist/components/image-preview.js +2 -2
- package/dist/components/image-preview.js.map +1 -1
- package/dist/components/image-uploader.js +1 -1
- package/dist/components/image-uploader.js.map +1 -1
- package/dist/components/input-otp.js +1 -1
- package/dist/components/input.js +5 -5
- package/dist/components/input.js.map +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/menu-item.js +6 -6
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/overflow-tooltip.js +1 -1
- package/dist/components/overlay.js +1 -1
- package/dist/components/page-state.js +7 -7
- package/dist/components/page-state.js.map +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/portal-container/usePortalContainer.d.ts +2 -1
- package/dist/components/portal-container.js +2 -2
- package/dist/components/portal-container.js.map +1 -1
- package/dist/components/progress-circle.js +1 -1
- package/dist/components/progress-circle.js.map +1 -1
- package/dist/components/progress.js +3 -3
- package/dist/components/progress.js.map +1 -1
- package/dist/components/prose.js.map +1 -1
- package/dist/components/radio-group.js +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/resizable.js +1 -1
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/scheduler.js +1 -1
- package/dist/components/scheduler.js.map +1 -1
- package/dist/components/search-select.js +4 -4
- package/dist/components/search-select.js.map +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/sidebar.js +90 -90
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/slider.js +1 -1
- package/dist/components/slider.js.map +1 -1
- package/dist/components/stepper.js +1 -1
- package/dist/components/stepper.js.map +1 -1
- package/dist/components/switch.js +2 -2
- package/dist/components/switch.js.map +1 -1
- package/dist/components/system-state.js +1 -1
- package/dist/components/system-state.js.map +1 -1
- package/dist/components/table/editable/editableCell.d.ts +2 -2
- package/dist/components/table/editable.js +1 -1
- package/dist/components/table/tree.js +1 -1
- package/dist/components/table.js +2 -2
- package/dist/components/tabs.js +2 -2
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag-input.js +5 -5
- package/dist/components/tag-input.js.map +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/textarea.js +1 -1
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/timer.js.map +1 -1
- package/dist/components/toast.js +6 -6
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toggle.js +1 -1
- package/dist/components/toolbar.js +1 -1
- package/dist/components/toolbar.js.map +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/design-tokens.source.json +1 -0
- package/dist/docs/tailwind-utilities/ScrollFade.stories.d.ts +28 -0
- package/dist/docs/tailwind-utilities/Shimmer.stories.d.ts +32 -0
- package/dist/floating-ui.react-dom-BwDfy92G.js.map +1 -1
- package/dist/font-smoothing.css +4 -0
- package/dist/formatBytes-C4QXq5lC.js.map +1 -1
- package/dist/index-0ioNhtNM.js.map +1 -1
- package/dist/index-1SnkxfPR.js.map +1 -1
- package/dist/index-437EL2iq.js.map +1 -1
- package/dist/index-BDrapWDv.js.map +1 -1
- package/dist/index-BGQepRFJ.js.map +1 -1
- package/dist/index-BVqs-uqP.js.map +1 -1
- package/dist/index-BZPx6jYI.js.map +1 -1
- package/dist/index-Bb23HztA.js.map +1 -1
- package/dist/index-BjtNfqNq.js.map +1 -1
- package/dist/index-BpWB3aFK.js.map +1 -1
- package/dist/index-ByaXH_ih.js.map +1 -1
- package/dist/index-CCKe-Mpx.js.map +1 -1
- package/dist/index-CFaU3UXv.js.map +1 -1
- package/dist/index-CLuiUUQ8.js.map +1 -1
- package/dist/index-CMxHunQ4.js.map +1 -1
- package/dist/index-CmBeyp2d.js.map +1 -1
- package/dist/index-DFZozV_h.js.map +1 -1
- package/dist/index-DHsfW5Rj.js.map +1 -1
- package/dist/index-DHyZ_0Ut.js.map +1 -1
- package/dist/index-DLcqcWxM.js.map +1 -1
- package/dist/index-DnnQs07z.js.map +1 -1
- package/dist/index-Uiy0Xwy2.js.map +1 -1
- package/dist/index-_ITz1IyW.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/{inputBaseStyles-BfZIWuQ6.js → inputBaseStyles-CZwQWSub.js} +7 -7
- package/dist/inputBaseStyles-CZwQWSub.js.map +1 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/opaqueCell-D95h1mFM.js.map +1 -1
- package/dist/styles.css +8929 -6459
- package/dist/tailwind.css +361 -0
- package/dist/theme.css +360 -360
- package/dist/{treeModel-BlJWP4sc.js → treeModel-CUO1A5s7.js} +11 -11
- package/dist/treeModel-CUO1A5s7.js.map +1 -0
- package/dist/types/css.d.ts +4 -4
- package/dist/useBreakpoints-DHvp74UL.js.map +1 -1
- package/dist/useDebounce-BRah78CF.js.map +1 -1
- package/dist/useFileUpload-Bnl3P8mP.js.map +1 -1
- package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
- package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
- package/dist/usePortalContainer-B1xla842.js +33 -0
- package/dist/usePortalContainer-B1xla842.js.map +1 -0
- package/dist/vendors/tanstack/react-table.js.map +1 -1
- package/dist/zod-BMNoK3aM.js.map +1 -1
- package/package.json +204 -207
- package/dist/Button-BZ3ON1Tj.js.map +0 -1
- package/dist/ButtonBase-jgu7EolU.js.map +0 -1
- package/dist/CheckboxField-limFbMk2.js.map +0 -1
- package/dist/Command-B7ZRyW8w.js.map +0 -1
- package/dist/Dialog-CdnsGyJD.js.map +0 -1
- package/dist/Field-CP_-li9L.js.map +0 -1
- package/dist/FieldLabel-eyKmeWRn.js.map +0 -1
- package/dist/FormFooterTemplate-DdNnLu2-.js.map +0 -1
- package/dist/FormHeader--F6b2aRk.js.map +0 -1
- package/dist/FormStack-Cc_ELdWL.js.map +0 -1
- package/dist/IconButton-uGJ3cQtk.js.map +0 -1
- package/dist/IconTooltip-RSxvnBgH.js.map +0 -1
- package/dist/InputGroup-AVAtosX_.js.map +0 -1
- package/dist/InputOTP-B2e1nfSO.js.map +0 -1
- package/dist/MenuItem-d19Ty84F.js.map +0 -1
- package/dist/Overlay-CVt011mY.js.map +0 -1
- package/dist/Popover-KjZXxxl3.js.map +0 -1
- package/dist/RichButton-B1wjK7Bk.js.map +0 -1
- package/dist/SearchSelectTag-CA7Ie3Nx.js.map +0 -1
- package/dist/Select-D9juHX8o.js.map +0 -1
- package/dist/Sheet-qTIXsqm0.js.map +0 -1
- package/dist/TableFillHandle-C_yvCTSl.js.map +0 -1
- package/dist/Tag-DdHXTyKF.js.map +0 -1
- package/dist/TextInput-5BuZtWV6.js.map +0 -1
- package/dist/Toggle-v_HT3Gm2.js.map +0 -1
- package/dist/Tooltip-7Duaau0S.js.map +0 -1
- package/dist/TriggerButton-Bakr8Boi.js.map +0 -1
- package/dist/inputBaseStyles-BfZIWuQ6.js.map +0 -1
- package/dist/lib/utils/styles.d.ts +0 -10
- package/dist/styles-scoped.css +0 -6605
- package/dist/styles-scoped.d.ts +0 -1
- package/dist/treeModel-BlJWP4sc.js.map +0 -1
- package/dist/usePortalContainer-BAIp0kSF.js +0 -44
- package/dist/usePortalContainer-BAIp0kSF.js.map +0 -1
- package/tailwind.preset.js +0 -452
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sources":["../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/panel-left.js","../../src/components/sidebar/SidebarContext.tsx","../../src/components/sidebar/Sidebar.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst PanelLeft = createLucideIcon(\"PanelLeft\", [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M9 3v18\", key: \"fh3hqa\" }]\n]);\n\nexport { PanelLeft as default };\n//# sourceMappingURL=panel-left.js.map\n","import React from \"react\";\n\nexport type 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\thasInset: boolean;\n\tsetHasInset: (hasInset: boolean) => void;\n};\n\nexport const SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nexport function 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","import { useIsMobile } from \"@/hooks/useBreakpoints\";\nimport React from \"react\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../tooltip\";\nimport { cn } from \"@/lib/utils\";\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from \"../sheet/Sheet\";\nimport { Button, IconButton } from \"../button\";\nimport { PanelLeft, Plus } from \"lucide-react\";\nimport { TextInput } from \"../input\";\nimport { Divider } from \"../divider\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { tv } from \"tailwind-variants\";\nimport { Skeleton } from \"../skeleton\";\nimport { SidebarContext, SidebarContextProps, useSidebar } from \"./SidebarContext\";\nimport { ScrollShadowContainer } from \"../scroll-shadow-container\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\nconst sizebarProviderStyles = tv({\n\tbase: \"group/sidebar-wrapper flex min-h-svh w-full\",\n\tvariants: {\n\t\thasInset: {\n\t\t\ttrue: \"bg-primary-bg\"\n\t\t}\n\t}\n});\n\nconst SidebarProvider = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<\"div\"> & {\n\t\tdefaultOpen?: boolean;\n\t\topen?: boolean;\n\t\tonOpenChange?: (open: boolean) => void;\n\t}\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\n\tconst isMobile = useIsMobile();\n\tconst [openMobile, setOpenMobile] = React.useState(false);\n\tconst [hasInset, setHasInset] = 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\tdocument.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 ? setOpenMobile((open) => !open) : 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 (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\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\thasInset,\n\t\t\tsetHasInset\n\t\t}),\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar, hasInset]\n\t);\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<div\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\n\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t...style\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t\tclassName={sizebarProviderStyles({ hasInset, className })}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</SidebarContext.Provider>\n\t);\n});\nSidebarProvider.displayName = \"SidebarProvider\";\n\nconst Sidebar = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<\"div\"> & {\n\t\tside?: \"left\" | \"right\";\n\t\tvariant?: \"sidebar\" | \"floating\" | \"inset\";\n\t\tcollapsible?: \"offcanvas\" | \"icon\" | \"none\";\n\t}\n>(({ side = \"left\", variant = \"sidebar\", collapsible = \"offcanvas\", className, children, ...props }, ref) => {\n\tconst { state, openMobile, setOpenMobile, setHasInset } = useSidebar();\n\n\tReact.useLayoutEffect(() => {\n\t\tif (variant !== \"inset\") return;\n\t\tsetHasInset(true);\n\t\treturn () => setHasInset(false);\n\t}, [variant, setHasInset]);\n\n\tif (collapsible === \"none\") {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"text-sidebar-foreground flex h-full w-[--sidebar-width] flex-col bg-sidebar-bg\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tref={ref}\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\treturn (\n\t\t<>\n\t\t\t<div className=\"contents lg:hidden\">\n\t\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t\t<SheetContent\n\t\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\t\tclassName=\"w-[--sidebar-width] bg-sidebar-bg p-0 text-secondary-fg [&>button]:hidden\"\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH_MOBILE\n\t\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t\t}\n\t\t\t\t\t\tside={side}\n\t\t\t\t\t>\n\t\t\t\t\t\t<SheetHeader className=\"sr-only\">\n\t\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\n\t\t\t\t\t\t\t<SheetDescription>Displays the mobile sidebar.</SheetDescription>\n\t\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\n\t\t\t\t\t</SheetContent>\n\t\t\t\t</Sheet>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName=\"text-sidebar-foreground group peer hidden lg:block\"\n\t\t\t\tdata-state={state}\n\t\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n\t\t\t\tdata-variant={variant}\n\t\t\t\tdata-side={side}\n\t\t\t>\n\t\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"relative w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear\",\n\t\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\n\t\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\n\t\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t\t? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]\"\n\t\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\n\t\t\t\t\t)}\n\t\t\t\t/>\n\n\t\t\t\t<div\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear lg:flex\",\n\t\t\t\t\t\tside === \"left\"\n\t\t\t\t\t\t\t? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n\t\t\t\t\t\t\t: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n\t\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\n\t\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 group-data-[side=left]:border-secondary-border group-data-[side=right]:border-secondary-border\",\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<div\n\t\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\t\tclassName=\"flex h-full w-full flex-col bg-sidebar-bg group-data-[variant=floating]:rounded-xl group-data-[variant=floating]:border-0.5 group-data-[variant=floating]:border-primary-border group-data-[variant=floating]:shadow-soft-xl\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{children}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n});\n\nSidebar.displayName = \"Sidebar\";\n\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof Button>, React.ComponentProps<typeof Button>>(\n\t({ onClick, ...props }, ref) => {\n\t\tconst { toggleSidebar } = useSidebar();\n\n\t\treturn (\n\t\t\t<IconButton\n\t\t\t\ticon={PanelLeft}\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar=\"trigger\"\n\t\t\t\tvariant=\"ghost\"\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<span className=\"sr-only\">Toggle Sidebar</span>\n\t\t\t</IconButton>\n\t\t);\n\t}\n);\n\nSidebarTrigger.displayName = \"SidebarTrigger\";\n\nconst sidebarRailStyles = tv({\n\tbase: [\n\t\t\"absolute inset-y-0 z-20 hidden w-[5px] -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0 hover:after:-translate-x-1/2 hover:after:border-l hover:after:border-primary-border group-data-[side=left]:-right-[5px] group-data-[side=right]:left-0 sm:flex\",\n\t\t\"cursor-ew-resize\",\n\t\t\"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-secondary-border\",\n\t\t\"[[data-side=left][data-collapsible=offcanvas]_&]:-right-[2.5px]\",\n\t\t\"[[data-side=right][data-collapsible=offcanvas]_&]:-left-[2.5px]\"\n\t]\n});\n\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\">>(\n\t({ className, ...props }, ref) => {\n\t\tconst { toggleSidebar } = useSidebar();\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar=\"rail\"\n\t\t\t\taria-label=\"Toggle Sidebar\"\n\t\t\t\ttabIndex={-1}\n\t\t\t\tonClick={toggleSidebar}\n\t\t\t\ttitle=\"Toggle Sidebar\"\n\t\t\t\tclassName={sidebarRailStyles({ className })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nSidebarRail.displayName = \"SidebarRail\";\n\nconst sidebarInsetStyles = tv({\n\tbase: [\n\t\t\"relative flex w-full flex-1 flex-col bg-secondary-bg\",\n\t\t\"md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\"\n\t]\n});\n\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<\"main\">>(({ className, ...props }, ref) => {\n\treturn <main ref={ref} className={sidebarInsetStyles({ className })} {...props} />;\n});\n\nSidebarInset.displayName = \"SidebarInset\";\n\nconst sidebarInputStyles = tv({\n\tbase: \"h-8 w-full shadow-none\"\n});\n\nconst SidebarInput = React.forwardRef<React.ElementRef<typeof TextInput>, React.ComponentProps<typeof TextInput>>(\n\t({ className, ...props }, ref) => {\n\t\treturn <TextInput ref={ref} data-sidebar=\"input\" className={sidebarInputStyles({ className })} {...props} />;\n\t}\n);\n\nSidebarInput.displayName = \"SidebarInput\";\n\nconst sidebarHeaderStyles = tv({\n\tbase: \"flex flex-col gap-2 p-2 group-data-[variant=floating]:px-2.5 overflow-y-hidden [scrollbar-gutter:stable]\"\n});\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar=\"header\" className={sidebarHeaderStyles({ className })} {...props} />;\n});\n\nSidebarHeader.displayName = \"SidebarHeader\";\n\nconst sidebarFooterStyles = tv({\n\tbase: \"flex flex-col gap-2 p-2 group-data-[variant=floating]:px-2.5 overflow-y-hidden [scrollbar-gutter:stable]\"\n});\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar=\"footer\" className={sidebarFooterStyles({ className })} {...props} />;\n});\n\nSidebarFooter.displayName = \"SidebarFooter\";\n\nconst sidebarSeparatorStyles = tv({\n\tbase: \"w-auto bg-secondary-border\"\n});\n\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Divider>, React.ComponentProps<typeof Divider>>(\n\t({ className, ...props }, ref) => {\n\t\treturn (\n\t\t\t<Divider\n\t\t\t\tref={ref}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tdata-sidebar=\"separator\"\n\t\t\t\tclassName={sidebarSeparatorStyles({ className })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nSidebarSeparator.displayName = \"SidebarSeparator\";\n\nconst sidebarContentStyles = tv({\n\tslots: {\n\t\tcontent: \"flex flex-1 flex-col gap-2 [scrollbar-gutter:stable] group-data-[collapsible=icon]:overflow-hidden\"\n\t}\n});\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\n\t({ className, children, ...props }, ref) => {\n\t\tconst styles = sidebarContentStyles();\n\n\t\treturn (\n\t\t\t<ScrollShadowContainer\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar=\"content\"\n\t\t\t\tclassName={styles.content({ className })}\n\t\t\t\tshadowSize={32}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollShadowContainer>\n\t\t);\n\t}\n);\n\nSidebarContent.displayName = \"SidebarContent\";\n\nconst sidebarGroupStyles = tv({\n\tbase: \"relative flex w-full min-w-0 flex-col p-2 group-data-[variant=floating]:px-2.5\"\n});\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar=\"group\" className={sidebarGroupStyles({ className })} {...props} />;\n});\n\nSidebarGroup.displayName = \"SidebarGroup\";\n\nconst sidebarGroupLabelStyles = tv({\n\tbase: [\n\t\t\"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-secondary-fg/70 outline-none transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t\"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\"\n\t]\n});\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\"> & { asChild?: boolean }>(\n\t({ className, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : \"div\";\n\n\t\treturn (\n\t\t\t<Comp ref={ref} data-sidebar=\"group-label\" className={sidebarGroupLabelStyles({ className })} {...props} />\n\t\t);\n\t}\n);\n\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\";\n\nconst sidebarGroupActionStyles = tv({\n\tbase: [\n\t\t\"focus-visible:ring-primary2 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-muted outline-none transition-transform hover:text-primary-fg focus-visible:shadow-focus [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t// Increases the hit area of the button on mobile.\n\t\t\"after:absolute after:-inset-2 after:md:hidden\",\n\t\t\"group-data-[collapsible=icon]:hidden\"\n\t]\n});\n\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\"> & { asChild?: boolean }>(\n\t({ className, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : \"button\";\n\n\t\treturn (\n\t\t\t<Comp\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar=\"group-action\"\n\t\t\t\tclassName={sidebarGroupActionStyles({ className })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nSidebarGroupAction.displayName = \"SidebarGroupAction\";\n\nconst sidebarGroupContentStyles = tv({\n\tbase: \"w-full text-sm\"\n});\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\n\t({ className, ...props }, ref) => (\n\t\t<div ref={ref} data-sidebar=\"group-content\" className={sidebarGroupContentStyles({ className })} {...props} />\n\t)\n);\n\nSidebarGroupContent.displayName = \"SidebarGroupContent\";\n\nconst sidebarMenuStyles = tv({\n\tbase: \"flex w-full min-w-0 flex-col gap-1\"\n});\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(({ className, ...props }, ref) => (\n\t<ul ref={ref} data-sidebar=\"menu\" className={sidebarMenuStyles({ className })} {...props} />\n));\n\nSidebarMenu.displayName = \"SidebarMenu\";\n\nconst sidebarMenuItemStyles = tv({\n\tbase: \"group/menu-item relative\"\n});\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(({ className, ...props }, ref) => (\n\t<li ref={ref} data-sidebar=\"menu-item\" className={sidebarMenuItemStyles({ className })} {...props} />\n));\n\nSidebarMenuItem.displayName = \"SidebarMenuItem\";\n\nexport interface SidebarMenuButtonVariants {\n\tvariant?: \"default\" | \"outline\";\n\tsize?: \"default\" | \"sm\" | \"lg\";\n}\n\nconst sidebarMenuButtonStyles = tv({\n\tbase: [\n\t\t\"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md bg-primary-bg p-2 text-left text-sm text-secondary-fg outline-none transition-[width,height,padding]\",\n\t\t\"hover:bg-primary-bg-hover hover:text-primary-fg focus-visible:shadow-focus\",\n\t\t\"disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n\t\t\"data-[active=true]:bg-primary-bg-hover data-[active=true]:font-medium data-[active=true]:text-primary-accent\",\n\t\t\"data-[active=true]:hover:bg-primary-bg-hover data-[active=true]:hover:text-primary-accent\",\n\t\t\"data-[state=open]:hover:bg-primary-bg-hover data-[state=open]:hover:text-primary-fg\",\n\t\t\"data-[active=true]:data-[state=open]:hover:bg-primary-bg-hover data-[active=true]:data-[state=open]:hover:text-primary-accent\",\n\t\t\"group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate\",\n\t\t\"[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted [&[data-active=true]>svg]:text-primary-accent\",\n\t\t\"group-data-[collapsible=icon]:[&>svg]:text-secondary-fg group-data-[collapsible=icon]:[&>svg]:hover:text-primary-fg group-data-[collapsible=icon]:[&[data-active=true]>svg]:text-primary-accent\",\n\t\t\"group-has-[[data-sidebar=menu-action]]/menu-item:pr-8\"\n\t],\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: \"hover:bg-primary-bg-hover hover:text-primary-fg\",\n\t\t\toutline:\n\t\t\t\t\"border border-secondary-border bg-primary-bg shadow-soft-sm hover:bg-primary-bg-hover hover:text-primary-fg\"\n\t\t},\n\t\tsize: {\n\t\t\tdefault: \"h-8 text-sm\",\n\t\t\tsm: \"h-7 text-xs\",\n\t\t\tlg: \"h-12 text-sm group-data-[collapsible=icon]:!p-0\"\n\t\t}\n\t} satisfies VariantsConfig<SidebarMenuButtonVariants>,\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t\tsize: \"default\"\n\t}\n});\n\nconst SidebarMenuButton = React.forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<\"button\"> & {\n\t\tasChild?: boolean;\n\t\tisActive?: boolean;\n\t\ttooltip?: string | React.ComponentProps<typeof TooltipContent>;\n\t} & SidebarMenuButtonVariants\n>(({ asChild = false, isActive = false, variant = \"default\", size = \"default\", tooltip, className, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : \"button\";\n\tconst { isMobile, state } = useSidebar();\n\n\tconst button = (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar=\"menu-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(sidebarMenuButtonStyles({ variant, size }), className)}\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 side=\"right\" align=\"center\" hidden={state !== \"collapsed\" || isMobile} {...tooltip} />\n\t\t</Tooltip>\n\t);\n});\n\nSidebarMenuButton.displayName = \"SidebarMenuButton\";\n\nconst sidebarMenuActionStyles = tv({\n\tbase: [\n\t\t\"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-muted outline-none transition-transform hover:text-primary-fg focus-visible:ring-1 focus-visible:ring-primary peer-hover/menu-button:text-primary-fg [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t// Increases the hit area of the button on mobile.\n\t\t\"after:absolute after:-inset-2 after:md:hidden\",\n\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\"group-data-[collapsible=icon]:hidden\"\n\t],\n\tvariants: {\n\t\tisHover: {\n\t\t\ttrue: \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-primary-accent md:opacity-0\"\n\t\t}\n\t}\n});\n\nconst SidebarMenuAction = React.forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<\"button\"> & {\n\t\tasChild?: boolean;\n\t\tshowOnHover?: boolean;\n\t}\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : \"button\";\n\n\treturn (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar=\"menu-action\"\n\t\t\tclassName={sidebarMenuActionStyles({ isHover: showOnHover, className })}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nSidebarMenuAction.displayName = \"SidebarMenuAction\";\n\nconst sidebarMenuBadgeStyles = tv({\n\tbase: [\n\t\t\"pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-normal tabular-nums leading-none text-muted\",\n\t\t\"peer-hover/menu-button:text-muted peer-disabled/menu-button:opacity-50 peer-data-[active=true]/menu-button:text-muted\",\n\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\"group-data-[collapsible=icon]:hidden\"\n\t]\n});\n\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\n\t({ className, ...props }, ref) => (\n\t\t<div ref={ref} data-sidebar=\"menu-badge\" className={sidebarMenuBadgeStyles({ className })} {...props} />\n\t)\n);\n\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\";\n\nconst sidebarMenuSkeletonStyles = tv({\n\tslots: {\n\t\twrapper: \"flex h-8 items-center gap-2 rounded-md px-2\",\n\t\tskeleton: \"h-4 max-w-[--skeleton-width] flex-1\",\n\t\tskeletonIcon: \"size-4 rounded-md\"\n\t}\n});\n\nconst SidebarMenuSkeleton = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<\"div\"> & {\n\t\tshowIcon?: boolean;\n\t}\n>(({ className, showIcon = false, ...props }, ref) => {\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\tconst styles = sidebarMenuSkeletonStyles();\n\n\treturn (\n\t\t<div ref={ref} data-sidebar=\"menu-skeleton\" className={styles.wrapper({ className })} {...props}>\n\t\t\t{showIcon && <Skeleton className={styles.skeletonIcon()} data-sidebar=\"menu-skeleton-icon\" />}\n\t\t\t<Skeleton\n\t\t\t\tclassName={styles.skeleton()}\n\t\t\t\tdata-sidebar=\"menu-skeleton-text\"\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\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\";\n\nconst sidebarMenuSubStyles = tv({\n\tbase: [\n\t\t\"ml-3.5 flex min-w-0 flex-col gap-1 border-l border-secondary-border py-0.5 pl-2.5\",\n\t\t\"group-data-[collapsible=icon]:hidden\"\n\t]\n});\n\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(\n\t({ className, ...props }, ref) => (\n\t\t<ul ref={ref} data-sidebar=\"menu-sub\" className={sidebarMenuSubStyles({ className })} {...props} />\n\t)\n);\n\nSidebarMenuSub.displayName = \"SidebarMenuSub\";\n\nconst sidebarMenuSubItemStyles = tv({\n\tbase: \"rounded-md focus-visible:shadow-focus focus-visible:outline-none\"\n});\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(\n\t({ className, ...props }, ref) => <li ref={ref} className={sidebarMenuSubItemStyles({ className })} {...props} />\n);\n\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\";\n\nconst sidebarMenuSubButtonStyles = tv({\n\tbase: [\n\t\t\"flex h-7 min-w-0 items-center gap-2 overflow-hidden rounded-md px-2 text-secondary-fg outline-none hover:bg-secondary-bg-hover hover:text-primary-fg focus-visible:mr-0.5 focus-visible:shadow-focus 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 [&>svg]:text-primary-fg\",\n\t\t\"data-[active=true]:bg-primary-bg-hover data-[active=true]:text-primary-accent\",\n\t\t\"group-data-[collapsible=icon]:hidden\"\n\t],\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"text-xs\",\n\t\t\tmd: \"text-sm\"\n\t\t}\n\t}\n});\n\nconst SidebarMenuSubButton = React.forwardRef<\n\tHTMLAnchorElement,\n\tReact.ComponentProps<\"a\"> & {\n\t\tasChild?: boolean;\n\t\tsize?: \"sm\" | \"md\";\n\t\tisActive?: boolean;\n\t}\n>(({ asChild = false, size = \"md\", isActive, className, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : \"a\";\n\n\treturn (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar=\"menu-sub-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={sidebarMenuSubButtonStyles({ size, className })}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\";\n\nconst sidebarInsertionLineStyles = tv({\n\tslots: {\n\t\twrapper: \"group/insertion flex cursor-pointer flex-row items-center border-none bg-transparent p-0\",\n\t\ticon: \"peer/icon h-4 w-4 p-0.5 text-muted opacity-0 group-hover/insertion:opacity-100\",\n\t\tline: \"h-px w-full bg-transparent group-hover/insertion:bg-muted peer-hover/icon:bg-primary-fg\"\n\t}\n});\n\nexport type SidebarInsertionLineProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst SidebarInsertionLine = React.forwardRef<HTMLDivElement, SidebarInsertionLineProps>(\n\t({ className, ...props }, ref) => {\n\t\tconst styles = sidebarInsertionLineStyles();\n\t\treturn (\n\t\t\t<div data-sidebar=\"sidebar-insertion-line\" className={styles.wrapper({ className })} ref={ref} {...props}>\n\t\t\t\t<IconButton icon={Plus} size=\"xs\" className={styles.icon()} variant=\"link\" />\n\t\t\t\t<div className={styles.line()} />\n\t\t\t</div>\n\t\t);\n\t}\n);\nSidebarInsertionLine.displayName = \"SidebarInsertionLine\";\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\tSidebarInsertionLine,\n\tSidebarTrigger\n};\n"],"names":["PanelLeft","createLucideIcon","SidebarContext","React","useSidebar","context","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","sizebarProviderStyles","tv","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","isMobile","useIsMobile","openMobile","setOpenMobile","hasInset","setHasInset","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","Sidebar","side","variant","collapsible","cn","jsxs","Fragment","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","IconButton","sidebarRailStyles","SidebarRail","sidebarInsetStyles","SidebarInset","sidebarInputStyles","SidebarInput","TextInput","sidebarHeaderStyles","SidebarHeader","sidebarFooterStyles","SidebarFooter","sidebarSeparatorStyles","SidebarSeparator","Divider","sidebarContentStyles","SidebarContent","styles","ScrollShadowContainer","sidebarGroupStyles","SidebarGroup","sidebarGroupLabelStyles","SidebarGroupLabel","asChild","Slot","sidebarGroupActionStyles","SidebarGroupAction","sidebarGroupContentStyles","SidebarGroupContent","sidebarMenuStyles","SidebarMenu","sidebarMenuItemStyles","SidebarMenuItem","sidebarMenuButtonStyles","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","sidebarMenuActionStyles","SidebarMenuAction","showOnHover","sidebarMenuBadgeStyles","SidebarMenuBadge","sidebarMenuSkeletonStyles","SidebarMenuSkeleton","showIcon","width","Skeleton","sidebarMenuSubStyles","SidebarMenuSub","sidebarMenuSubItemStyles","SidebarMenuSubItem","sidebarMenuSubButtonStyles","SidebarMenuSubButton","sidebarInsertionLineStyles","SidebarInsertionLine","Plus"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"sidebar.js","sources":["../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/panel-left.js","../../src/components/sidebar/SidebarContext.tsx","../../src/components/sidebar/Sidebar.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst PanelLeft = createLucideIcon(\"PanelLeft\", [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M9 3v18\", key: \"fh3hqa\" }]\n]);\n\nexport { PanelLeft as default };\n//# sourceMappingURL=panel-left.js.map\n","import React from \"react\";\r\n\r\nexport type SidebarContextProps = {\r\n\tstate: \"expanded\" | \"collapsed\";\r\n\topen: boolean;\r\n\tsetOpen: (open: boolean) => void;\r\n\topenMobile: boolean;\r\n\tsetOpenMobile: (open: boolean) => void;\r\n\tisMobile: boolean;\r\n\ttoggleSidebar: () => void;\r\n\thasInset: boolean;\r\n\tsetHasInset: (hasInset: boolean) => void;\r\n};\r\n\r\nexport const SidebarContext = React.createContext<SidebarContextProps | null>(null);\r\n\r\nexport function useSidebar() {\r\n\tconst context = React.useContext(SidebarContext);\r\n\tif (!context) {\r\n\t\tthrow new Error(\"useSidebar must be used within a SidebarProvider.\");\r\n\t}\r\n\r\n\treturn context;\r\n}\r\n","import { useIsMobile } from \"@/hooks/useBreakpoints\";\r\nimport React from \"react\";\r\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../tooltip\";\r\nimport { cn } from \"@/lib/utils\";\r\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from \"../sheet/Sheet\";\r\nimport { Button, IconButton } from \"../button\";\r\nimport { PanelLeft, Plus } from \"lucide-react\";\r\nimport { TextInput } from \"../input\";\r\nimport { Divider } from \"../divider\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Skeleton } from \"../skeleton\";\r\nimport { SidebarContext, SidebarContextProps, useSidebar } from \"./SidebarContext\";\r\nimport { ScrollShadowContainer } from \"../scroll-shadow-container\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\r\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\r\nconst SIDEBAR_WIDTH = \"16rem\";\r\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\r\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\r\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\r\n\r\nconst sizebarProviderStyles = tv({\r\n\tbase: \"group/sidebar-wrapper flex min-h-svh w-full\",\r\n\tvariants: {\r\n\t\thasInset: {\r\n\t\t\ttrue: \"bg-primary-bg\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst SidebarProvider = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<\"div\"> & {\r\n\t\tdefaultOpen?: boolean;\r\n\t\topen?: boolean;\r\n\t\tonOpenChange?: (open: boolean) => void;\r\n\t}\r\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\r\n\tconst isMobile = useIsMobile();\r\n\tconst [openMobile, setOpenMobile] = React.useState(false);\r\n\tconst [hasInset, setHasInset] = React.useState(false);\r\n\r\n\t// This is the internal state of the sidebar.\r\n\t// We use openProp and setOpenProp for control from outside the component.\r\n\tconst [_open, _setOpen] = React.useState(defaultOpen);\r\n\tconst open = openProp ?? _open;\r\n\tconst setOpen = React.useCallback(\r\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\r\n\t\t\tconst openState = typeof value === \"function\" ? value(open) : value;\r\n\t\t\tif (setOpenProp) {\r\n\t\t\t\tsetOpenProp(openState);\r\n\t\t\t} else {\r\n\t\t\t\t_setOpen(openState);\r\n\t\t\t}\r\n\r\n\t\t\t// This sets the cookie to keep the sidebar state.\r\n\t\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\r\n\t\t},\r\n\t\t[setOpenProp, open]\r\n\t);\r\n\r\n\t// Helper to toggle the sidebar.\r\n\tconst toggleSidebar = React.useCallback(() => {\r\n\t\treturn isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\r\n\t}, [isMobile, setOpen, setOpenMobile]);\r\n\r\n\t// Adds a keyboard shortcut to toggle the sidebar.\r\n\tReact.useEffect(() => {\r\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\r\n\t\t\tif (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\ttoggleSidebar();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\twindow.addEventListener(\"keydown\", handleKeyDown);\r\n\t\treturn () => window.removeEventListener(\"keydown\", handleKeyDown);\r\n\t}, [toggleSidebar]);\r\n\r\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\r\n\t// This makes it easier to style the sidebar with Tailwind classes.\r\n\tconst state = open ? \"expanded\" : \"collapsed\";\r\n\r\n\tconst contextValue = React.useMemo<SidebarContextProps>(\r\n\t\t() => ({\r\n\t\t\tstate,\r\n\t\t\topen,\r\n\t\t\tsetOpen,\r\n\t\t\tisMobile,\r\n\t\t\topenMobile,\r\n\t\t\tsetOpenMobile,\r\n\t\t\ttoggleSidebar,\r\n\t\t\thasInset,\r\n\t\t\tsetHasInset\r\n\t\t}),\r\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar, hasInset]\r\n\t);\r\n\r\n\treturn (\r\n\t\t<SidebarContext.Provider value={contextValue}>\r\n\t\t\t<div\r\n\t\t\t\tstyle={\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\r\n\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\r\n\t\t\t\t\t\t...style\r\n\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t}\r\n\t\t\t\tclassName={sizebarProviderStyles({ hasInset, className })}\r\n\t\t\t\tref={ref}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t</SidebarContext.Provider>\r\n\t);\r\n});\r\nSidebarProvider.displayName = \"SidebarProvider\";\r\n\r\nconst Sidebar = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<\"div\"> & {\r\n\t\tside?: \"left\" | \"right\";\r\n\t\tvariant?: \"sidebar\" | \"floating\" | \"inset\";\r\n\t\tcollapsible?: \"offcanvas\" | \"icon\" | \"none\";\r\n\t}\r\n>(({ side = \"left\", variant = \"sidebar\", collapsible = \"offcanvas\", className, children, ...props }, ref) => {\r\n\tconst { state, openMobile, setOpenMobile, setHasInset } = useSidebar();\r\n\r\n\tReact.useLayoutEffect(() => {\r\n\t\tif (variant !== \"inset\") return;\r\n\t\tsetHasInset(true);\r\n\t\treturn () => setHasInset(false);\r\n\t}, [variant, setHasInset]);\r\n\r\n\tif (collapsible === \"none\") {\r\n\t\treturn (\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\"text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col bg-sidebar-bg\",\r\n\t\t\t\t\tclassName\r\n\t\t\t\t)}\r\n\t\t\t\tref={ref}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<div className=\"contents lg:hidden\">\r\n\t\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\r\n\t\t\t\t\t<SheetContent\r\n\t\t\t\t\t\tdata-sidebar=\"sidebar\"\r\n\t\t\t\t\t\tdata-mobile=\"true\"\r\n\t\t\t\t\t\tclassName=\"w-(--sidebar-width) bg-sidebar-bg p-0 text-secondary-fg [&>button]:hidden\"\r\n\t\t\t\t\t\tstyle={\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH_MOBILE\r\n\t\t\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tside={side}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<SheetHeader className=\"sr-only\">\r\n\t\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\r\n\t\t\t\t\t\t\t<SheetDescription>Displays the mobile sidebar.</SheetDescription>\r\n\t\t\t\t\t\t</SheetHeader>\r\n\t\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\r\n\t\t\t\t\t</SheetContent>\r\n\t\t\t\t</Sheet>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div\r\n\t\t\t\tref={ref}\r\n\t\t\t\tclassName=\"text-sidebar-foreground group peer hidden lg:block\"\r\n\t\t\t\tdata-state={state}\r\n\t\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\r\n\t\t\t\tdata-variant={variant}\r\n\t\t\t\tdata-side={side}\r\n\t\t\t>\r\n\t\t\t\t{/* This is what handles the sidebar gap on desktop */}\r\n\t\t\t\t<div\r\n\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\r\n\t\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\r\n\t\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\r\n\t\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\r\n\t\t\t\t\t\t\t? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_--spacing(4))]\"\r\n\t\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\r\n\t\t\t\t\t)}\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t<div\r\n\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear lg:flex\",\r\n\t\t\t\t\t\tside === \"left\"\r\n\t\t\t\t\t\t\t? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\r\n\t\t\t\t\t\t\t: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\r\n\t\t\t\t\t\t// Adjust the padding for floating and inset variants.\r\n\t\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\r\n\t\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_--spacing(4)_+2px)]\"\r\n\t\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 group-data-[side=left]:border-secondary-border group-data-[side=right]:border-secondary-border\",\r\n\t\t\t\t\t\tclassName\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{...props}\r\n\t\t\t\t>\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tdata-sidebar=\"sidebar\"\r\n\t\t\t\t\t\tclassName=\"flex h-full w-full flex-col bg-sidebar-bg group-data-[variant=floating]:rounded-xl group-data-[variant=floating]:border-[0.5px] group-data-[variant=floating]:border-primary-border group-data-[variant=floating]:shadow-soft-xl\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{children}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</>\r\n\t);\r\n});\r\n\r\nSidebar.displayName = \"Sidebar\";\r\n\r\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof Button>, React.ComponentProps<typeof Button>>(\r\n\t({ onClick, ...props }, ref) => {\r\n\t\tconst { toggleSidebar } = useSidebar();\r\n\r\n\t\treturn (\r\n\t\t\t<IconButton\r\n\t\t\t\ticon={PanelLeft}\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar=\"trigger\"\r\n\t\t\t\tvariant=\"ghost\"\r\n\t\t\t\tonClick={(event) => {\r\n\t\t\t\t\tonClick?.(event);\r\n\t\t\t\t\ttoggleSidebar();\r\n\t\t\t\t}}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<span className=\"sr-only\">Toggle Sidebar</span>\r\n\t\t\t</IconButton>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarTrigger.displayName = \"SidebarTrigger\";\r\n\r\nconst sidebarRailStyles = tv({\r\n\tbase: [\r\n\t\t\"absolute inset-y-0 z-20 hidden w-[5px] -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0 hover:after:-translate-x-1/2 hover:after:border-l hover:after:border-primary-border group-data-[side=left]:-right-[5px] group-data-[side=right]:left-0 sm:flex\",\r\n\t\t\"cursor-ew-resize\",\r\n\t\t\"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-secondary-border\",\r\n\t\t\"[[data-side=left][data-collapsible=offcanvas]_&]:-right-[2.5px]\",\r\n\t\t\"[[data-side=right][data-collapsible=offcanvas]_&]:-left-[2.5px]\"\r\n\t]\r\n});\r\n\r\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\">>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst { toggleSidebar } = useSidebar();\r\n\r\n\t\treturn (\r\n\t\t\t<button\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar=\"rail\"\r\n\t\t\t\taria-label=\"Toggle Sidebar\"\r\n\t\t\t\ttabIndex={-1}\r\n\t\t\t\tonClick={toggleSidebar}\r\n\t\t\t\ttitle=\"Toggle Sidebar\"\r\n\t\t\t\tclassName={sidebarRailStyles({ className })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarRail.displayName = \"SidebarRail\";\r\n\r\nconst sidebarInsetStyles = tv({\r\n\tbase: [\r\n\t\t\"relative flex w-full flex-1 flex-col bg-secondary-bg\",\r\n\t\t\"md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\"\r\n\t]\r\n});\r\n\r\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<\"main\">>(({ className, ...props }, ref) => {\r\n\treturn <main ref={ref} className={sidebarInsetStyles({ className })} {...props} />;\r\n});\r\n\r\nSidebarInset.displayName = \"SidebarInset\";\r\n\r\nconst sidebarInputStyles = tv({\r\n\tbase: \"h-8 w-full shadow-none\"\r\n});\r\n\r\nconst SidebarInput = React.forwardRef<React.ElementRef<typeof TextInput>, React.ComponentProps<typeof TextInput>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\treturn <TextInput ref={ref} data-sidebar=\"input\" className={sidebarInputStyles({ className })} {...props} />;\r\n\t}\r\n);\r\n\r\nSidebarInput.displayName = \"SidebarInput\";\r\n\r\nconst sidebarHeaderStyles = tv({\r\n\tbase: \"flex flex-col gap-2 p-2 group-data-[variant=floating]:px-2.5 overflow-y-hidden [scrollbar-gutter:stable]\"\r\n});\r\n\r\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar=\"header\" className={sidebarHeaderStyles({ className })} {...props} />;\r\n});\r\n\r\nSidebarHeader.displayName = \"SidebarHeader\";\r\n\r\nconst sidebarFooterStyles = tv({\r\n\tbase: \"flex flex-col gap-2 p-2 group-data-[variant=floating]:px-2.5 overflow-y-hidden [scrollbar-gutter:stable]\"\r\n});\r\n\r\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar=\"footer\" className={sidebarFooterStyles({ className })} {...props} />;\r\n});\r\n\r\nSidebarFooter.displayName = \"SidebarFooter\";\r\n\r\nconst sidebarSeparatorStyles = tv({\r\n\tbase: \"w-auto bg-secondary-border\"\r\n});\r\n\r\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Divider>, React.ComponentProps<typeof Divider>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<Divider\r\n\t\t\t\tref={ref}\r\n\t\t\t\torientation=\"horizontal\"\r\n\t\t\t\tdata-sidebar=\"separator\"\r\n\t\t\t\tclassName={sidebarSeparatorStyles({ className })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarSeparator.displayName = \"SidebarSeparator\";\r\n\r\nconst sidebarContentStyles = tv({\r\n\tslots: {\r\n\t\tcontent: \"flex flex-1 flex-col gap-2 [scrollbar-gutter:stable] group-data-[collapsible=icon]:overflow-hidden\"\r\n\t}\r\n});\r\n\r\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\r\n\t({ className, children, ...props }, ref) => {\r\n\t\tconst styles = sidebarContentStyles();\r\n\r\n\t\treturn (\r\n\t\t\t<ScrollShadowContainer\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar=\"content\"\r\n\t\t\t\tclassName={styles.content({ className })}\r\n\t\t\t\tshadowSize={32}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</ScrollShadowContainer>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarContent.displayName = \"SidebarContent\";\r\n\r\nconst sidebarGroupStyles = tv({\r\n\tbase: \"relative flex w-full min-w-0 flex-col p-2 group-data-[variant=floating]:px-2.5\"\r\n});\r\n\r\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar=\"group\" className={sidebarGroupStyles({ className })} {...props} />;\r\n});\r\n\r\nSidebarGroup.displayName = \"SidebarGroup\";\r\n\r\nconst sidebarGroupLabelStyles = tv({\r\n\tbase: [\r\n\t\t\"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-secondary-fg/70 outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\r\n\t\t\"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\"\r\n\t]\r\n});\r\n\r\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\"> & { asChild?: boolean }>(\r\n\t({ className, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : \"div\";\r\n\r\n\t\treturn (\r\n\t\t\t<Comp ref={ref} data-sidebar=\"group-label\" className={sidebarGroupLabelStyles({ className })} {...props} />\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\";\r\n\r\nconst sidebarGroupActionStyles = tv({\r\n\tbase: [\r\n\t\t\"focus-visible:ring-primary2 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-muted outline-hidden transition-transform hover:text-primary-fg focus-visible:shadow-focus [&>svg]:size-4 [&>svg]:shrink-0\",\r\n\t\t// Increases the hit area of the button on mobile.\r\n\t\t\"after:absolute after:-inset-2 after:md:hidden\",\r\n\t\t\"group-data-[collapsible=icon]:hidden\"\r\n\t]\r\n});\r\n\r\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\"> & { asChild?: boolean }>(\r\n\t({ className, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : \"button\";\r\n\r\n\t\treturn (\r\n\t\t\t<Comp\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar=\"group-action\"\r\n\t\t\t\tclassName={sidebarGroupActionStyles({ className })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarGroupAction.displayName = \"SidebarGroupAction\";\r\n\r\nconst sidebarGroupContentStyles = tv({\r\n\tbase: \"w-full text-sm\"\r\n});\r\n\r\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<div ref={ref} data-sidebar=\"group-content\" className={sidebarGroupContentStyles({ className })} {...props} />\r\n\t)\r\n);\r\n\r\nSidebarGroupContent.displayName = \"SidebarGroupContent\";\r\n\r\nconst sidebarMenuStyles = tv({\r\n\tbase: \"flex w-full min-w-0 flex-col gap-1\"\r\n});\r\n\r\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(({ className, ...props }, ref) => (\r\n\t<ul ref={ref} data-sidebar=\"menu\" className={sidebarMenuStyles({ className })} {...props} />\r\n));\r\n\r\nSidebarMenu.displayName = \"SidebarMenu\";\r\n\r\nconst sidebarMenuItemStyles = tv({\r\n\tbase: \"group/menu-item relative\"\r\n});\r\n\r\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(({ className, ...props }, ref) => (\r\n\t<li ref={ref} data-sidebar=\"menu-item\" className={sidebarMenuItemStyles({ className })} {...props} />\r\n));\r\n\r\nSidebarMenuItem.displayName = \"SidebarMenuItem\";\r\n\r\nexport interface SidebarMenuButtonVariants {\r\n\tvariant?: \"default\" | \"outline\";\r\n\tsize?: \"default\" | \"sm\" | \"lg\";\r\n}\r\n\r\nconst sidebarMenuButtonStyles = tv({\r\n\tbase: [\r\n\t\t\"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md bg-primary-bg p-2 text-left text-sm text-secondary-fg outline-hidden transition-[width,height,padding]\",\r\n\t\t\"hover:bg-primary-bg-hover hover:text-primary-fg focus-visible:shadow-focus\",\r\n\t\t\"disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50\",\r\n\t\t\"data-[active=true]:bg-primary-bg-hover data-[active=true]:font-medium data-[active=true]:text-primary-accent\",\r\n\t\t\"data-[active=true]:hover:bg-primary-bg-hover data-[active=true]:hover:text-primary-accent\",\r\n\t\t\"data-[state=open]:hover:bg-primary-bg-hover data-[state=open]:hover:text-primary-fg\",\r\n\t\t\"data-[active=true]:data-[state=open]:hover:bg-primary-bg-hover data-[active=true]:data-[state=open]:hover:text-primary-accent\",\r\n\t\t\"group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate\",\r\n\t\t\"[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted [&[data-active=true]>svg]:text-primary-accent\",\r\n\t\t\"group-data-[collapsible=icon]:[&>svg]:text-secondary-fg group-data-[collapsible=icon]:[&>svg]:hover:text-primary-fg group-data-[collapsible=icon]:[&[data-active=true]>svg]:text-primary-accent\",\r\n\t\t\"group-has-[[data-sidebar=menu-action]]/menu-item:pr-8\"\r\n\t],\r\n\tvariants: {\r\n\t\tvariant: {\r\n\t\t\tdefault: \"hover:bg-primary-bg-hover hover:text-primary-fg\",\r\n\t\t\toutline:\r\n\t\t\t\t\"border border-secondary-border bg-primary-bg shadow-soft-sm hover:bg-primary-bg-hover hover:text-primary-fg\"\r\n\t\t},\r\n\t\tsize: {\r\n\t\t\tdefault: \"h-8 text-sm\",\r\n\t\t\tsm: \"h-7 text-xs\",\r\n\t\t\tlg: \"h-12 text-sm group-data-[collapsible=icon]:!p-0\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<SidebarMenuButtonVariants>,\r\n\tdefaultVariants: {\r\n\t\tvariant: \"default\",\r\n\t\tsize: \"default\"\r\n\t}\r\n});\r\n\r\nconst SidebarMenuButton = React.forwardRef<\r\n\tHTMLButtonElement,\r\n\tReact.ComponentProps<\"button\"> & {\r\n\t\tasChild?: boolean;\r\n\t\tisActive?: boolean;\r\n\t\ttooltip?: string | React.ComponentProps<typeof TooltipContent>;\r\n\t} & SidebarMenuButtonVariants\r\n>(({ asChild = false, isActive = false, variant = \"default\", size = \"default\", tooltip, className, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : \"button\";\r\n\tconst { isMobile, state } = useSidebar();\r\n\r\n\tconst button = (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar=\"menu-button\"\r\n\t\t\tdata-size={size}\r\n\t\t\tdata-active={isActive}\r\n\t\t\tclassName={cn(sidebarMenuButtonStyles({ variant, size }), className)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n\r\n\tif (!tooltip) {\r\n\t\treturn button;\r\n\t}\r\n\r\n\tif (typeof tooltip === \"string\") {\r\n\t\ttooltip = {\r\n\t\t\tchildren: tooltip\r\n\t\t};\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Tooltip>\r\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\r\n\t\t\t<TooltipContent side=\"right\" align=\"center\" hidden={state !== \"collapsed\" || isMobile} {...tooltip} />\r\n\t\t</Tooltip>\r\n\t);\r\n});\r\n\r\nSidebarMenuButton.displayName = \"SidebarMenuButton\";\r\n\r\nconst sidebarMenuActionStyles = tv({\r\n\tbase: [\r\n\t\t\"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-muted outline-hidden transition-transform hover:text-primary-fg focus-visible:ring-1 focus-visible:ring-primary peer-hover/menu-button:text-primary-fg [&>svg]:size-4 [&>svg]:shrink-0\",\r\n\t\t// Increases the hit area of the button on mobile.\r\n\t\t\"after:absolute after:-inset-2 after:md:hidden\",\r\n\t\t\"peer-data-[size=sm]/menu-button:top-1\",\r\n\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\r\n\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\r\n\t\t\"group-data-[collapsible=icon]:hidden\"\r\n\t],\r\n\tvariants: {\r\n\t\tisHover: {\r\n\t\t\ttrue: \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-primary-accent md:opacity-0\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst SidebarMenuAction = React.forwardRef<\r\n\tHTMLButtonElement,\r\n\tReact.ComponentProps<\"button\"> & {\r\n\t\tasChild?: boolean;\r\n\t\tshowOnHover?: boolean;\r\n\t}\r\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : \"button\";\r\n\r\n\treturn (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar=\"menu-action\"\r\n\t\t\tclassName={sidebarMenuActionStyles({ isHover: showOnHover, className })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nSidebarMenuAction.displayName = \"SidebarMenuAction\";\r\n\r\nconst sidebarMenuBadgeStyles = tv({\r\n\tbase: [\r\n\t\t\"pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-normal tabular-nums leading-none text-muted\",\r\n\t\t\"peer-hover/menu-button:text-muted peer-disabled/menu-button:opacity-50 peer-data-[active=true]/menu-button:text-muted\",\r\n\t\t\"peer-data-[size=sm]/menu-button:top-1\",\r\n\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\r\n\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\r\n\t\t\"group-data-[collapsible=icon]:hidden\"\r\n\t]\r\n});\r\n\r\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<div ref={ref} data-sidebar=\"menu-badge\" className={sidebarMenuBadgeStyles({ className })} {...props} />\r\n\t)\r\n);\r\n\r\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\";\r\n\r\nconst sidebarMenuSkeletonStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex h-8 items-center gap-2 rounded-md px-2\",\r\n\t\tskeleton: \"h-4 max-w-(--skeleton-width) flex-1\",\r\n\t\tskeletonIcon: \"size-4 rounded-md\"\r\n\t}\r\n});\r\n\r\nconst SidebarMenuSkeleton = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<\"div\"> & {\r\n\t\tshowIcon?: boolean;\r\n\t}\r\n>(({ className, showIcon = false, ...props }, ref) => {\r\n\t// Random width between 50 to 90%.\r\n\tconst width = React.useMemo(() => {\r\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\r\n\t}, []);\r\n\r\n\tconst styles = sidebarMenuSkeletonStyles();\r\n\r\n\treturn (\r\n\t\t<div ref={ref} data-sidebar=\"menu-skeleton\" className={styles.wrapper({ className })} {...props}>\r\n\t\t\t{showIcon && <Skeleton className={styles.skeletonIcon()} data-sidebar=\"menu-skeleton-icon\" />}\r\n\t\t\t<Skeleton\r\n\t\t\t\tclassName={styles.skeleton()}\r\n\t\t\t\tdata-sidebar=\"menu-skeleton-text\"\r\n\t\t\t\tstyle={\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"--skeleton-width\": width\r\n\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n});\r\n\r\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\";\r\n\r\nconst sidebarMenuSubStyles = tv({\r\n\tbase: [\r\n\t\t\"ml-3.5 flex min-w-0 flex-col gap-1 border-l border-secondary-border py-0.5 pl-2.5\",\r\n\t\t\"group-data-[collapsible=icon]:hidden\"\r\n\t]\r\n});\r\n\r\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<ul ref={ref} data-sidebar=\"menu-sub\" className={sidebarMenuSubStyles({ className })} {...props} />\r\n\t)\r\n);\r\n\r\nSidebarMenuSub.displayName = \"SidebarMenuSub\";\r\n\r\nconst sidebarMenuSubItemStyles = tv({\r\n\tbase: \"rounded-md focus-visible:shadow-focus focus-visible:outline-hidden\"\r\n});\r\n\r\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(\r\n\t({ className, ...props }, ref) => <li ref={ref} className={sidebarMenuSubItemStyles({ className })} {...props} />\r\n);\r\n\r\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\";\r\n\r\nconst sidebarMenuSubButtonStyles = tv({\r\n\tbase: [\r\n\t\t\"flex h-7 min-w-0 items-center gap-2 overflow-hidden rounded-md px-2 text-secondary-fg outline-hidden hover:bg-secondary-bg-hover hover:text-primary-fg focus-visible:mr-0.5 focus-visible:shadow-focus 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 [&>svg]:text-primary-fg\",\r\n\t\t\"data-[active=true]:bg-primary-bg-hover data-[active=true]:text-primary-accent\",\r\n\t\t\"group-data-[collapsible=icon]:hidden\"\r\n\t],\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"text-xs\",\r\n\t\t\tmd: \"text-sm\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst SidebarMenuSubButton = React.forwardRef<\r\n\tHTMLAnchorElement,\r\n\tReact.ComponentProps<\"a\"> & {\r\n\t\tasChild?: boolean;\r\n\t\tsize?: \"sm\" | \"md\";\r\n\t\tisActive?: boolean;\r\n\t}\r\n>(({ asChild = false, size = \"md\", isActive, className, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : \"a\";\r\n\r\n\treturn (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar=\"menu-sub-button\"\r\n\t\t\tdata-size={size}\r\n\t\t\tdata-active={isActive}\r\n\t\t\tclassName={sidebarMenuSubButtonStyles({ size, className })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\";\r\n\r\nconst sidebarInsertionLineStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"group/insertion flex cursor-pointer flex-row items-center border-none bg-transparent p-0\",\r\n\t\ticon: \"peer/icon h-4 w-4 p-0.5 text-muted opacity-0 group-hover/insertion:opacity-100\",\r\n\t\tline: \"h-px w-full bg-transparent group-hover/insertion:bg-muted peer-hover/icon:bg-primary-fg\"\r\n\t}\r\n});\r\n\r\nexport type SidebarInsertionLineProps = React.HTMLAttributes<HTMLDivElement>;\r\n\r\nconst SidebarInsertionLine = React.forwardRef<HTMLDivElement, SidebarInsertionLineProps>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst styles = sidebarInsertionLineStyles();\r\n\t\treturn (\r\n\t\t\t<div data-sidebar=\"sidebar-insertion-line\" className={styles.wrapper({ className })} ref={ref} {...props}>\r\n\t\t\t\t<IconButton icon={Plus} size=\"xs\" className={styles.icon()} variant=\"link\" />\r\n\t\t\t\t<div className={styles.line()} />\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n);\r\nSidebarInsertionLine.displayName = \"SidebarInsertionLine\";\r\n\r\nexport {\r\n\tSidebar,\r\n\tSidebarContent,\r\n\tSidebarFooter,\r\n\tSidebarGroup,\r\n\tSidebarGroupAction,\r\n\tSidebarGroupContent,\r\n\tSidebarGroupLabel,\r\n\tSidebarHeader,\r\n\tSidebarInput,\r\n\tSidebarInset,\r\n\tSidebarMenu,\r\n\tSidebarMenuAction,\r\n\tSidebarMenuBadge,\r\n\tSidebarMenuButton,\r\n\tSidebarMenuItem,\r\n\tSidebarMenuSkeleton,\r\n\tSidebarMenuSub,\r\n\tSidebarMenuSubButton,\r\n\tSidebarMenuSubItem,\r\n\tSidebarProvider,\r\n\tSidebarRail,\r\n\tSidebarSeparator,\r\n\tSidebarInsertionLine,\r\n\tSidebarTrigger\r\n};\r\n"],"names":["PanelLeft","createLucideIcon","SidebarContext","React","useSidebar","context","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","sizebarProviderStyles","tv","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","isMobile","useIsMobile","openMobile","setOpenMobile","hasInset","setHasInset","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","Sidebar","side","variant","collapsible","cn","jsxs","Fragment","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","IconButton","sidebarRailStyles","SidebarRail","sidebarInsetStyles","SidebarInset","sidebarInputStyles","SidebarInput","TextInput","sidebarHeaderStyles","SidebarHeader","sidebarFooterStyles","SidebarFooter","sidebarSeparatorStyles","SidebarSeparator","Divider","sidebarContentStyles","SidebarContent","styles","ScrollShadowContainer","sidebarGroupStyles","SidebarGroup","sidebarGroupLabelStyles","SidebarGroupLabel","asChild","Slot","sidebarGroupActionStyles","SidebarGroupAction","sidebarGroupContentStyles","SidebarGroupContent","sidebarMenuStyles","SidebarMenu","sidebarMenuItemStyles","SidebarMenuItem","sidebarMenuButtonStyles","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","sidebarMenuActionStyles","SidebarMenuAction","showOnHover","sidebarMenuBadgeStyles","SidebarMenuBadge","sidebarMenuSkeletonStyles","SidebarMenuSkeleton","showIcon","width","Skeleton","sidebarMenuSubStyles","SidebarMenuSub","sidebarMenuSubItemStyles","SidebarMenuSubItem","sidebarMenuSubButtonStyles","SidebarMenuSubButton","sidebarInsertionLineStyles","SidebarInsertionLine","Plus"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -444,7 +444,7 @@ const Le = A({
|
|
|
444
444
|
);
|
|
445
445
|
Oe.displayName = de.displayName;
|
|
446
446
|
const Ue = A({
|
|
447
|
-
base: "block h-4 w-4 rounded-full border border-primary-fg bg-secondary-bg shadow-soft-base transition-colors hover:shadow-focus focus-visible:shadow-focus focus-visible:outline-
|
|
447
|
+
base: "block h-4 w-4 rounded-full border border-primary-fg bg-secondary-bg shadow-soft-base transition-colors hover:shadow-focus focus-visible:shadow-focus focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"
|
|
448
448
|
}), $e = $.forwardRef(
|
|
449
449
|
({ className: e, ...t }, o) => /* @__PURE__ */ u(ue, { ref: o, className: Ue({ className: e }), ...t })
|
|
450
450
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","sources":["../../node_modules/.pnpm/@radix-ui+react-slider@1.3.6_@types+react-dom@18.3.6_@types+react@18.3.20__@types+react_90b01d55a02a48d8f097dc170ff43e62/node_modules/@radix-ui/react-slider/dist/index.mjs","../../src/components/slider/Slider.tsx","../../src/components/slider/components/SliderTrack.tsx","../../src/components/slider/components/SliderRange.tsx","../../src/components/slider/components/SliderThumb.tsx"],"sourcesContent":["\"use client\";\n\n// src/slider.tsx\nimport * as React from \"react\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar PAGE_KEYS = [\"PageUp\", \"PageDown\"];\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = React.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min = 0,\n max = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = clamp(snapToStep, [min, max]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ jsx(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n);\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [0, rect.width];\n const output = isSlidingFromLeft ? [min, max] : [max, min];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderVertical = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [0, rect.height];\n const output = isSlidingFromBottom ? [max, min] : [min, max];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n);\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n);\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n);\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = React.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index = React.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ jsx(SliderThumbImpl, { ...props, ref: composedRefs, index });\n }\n);\nvar SliderThumbImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = useSize(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ jsx(\n SliderBubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index\n )\n ]\n }\n );\n }\n);\nSliderThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar SliderBubbleInput = React.forwardRef(\n ({ __scopeSlider, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n style: { display: \"none\" },\n ...props,\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSliderBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\nexport {\n Range,\n Root,\n Slider,\n SliderRange,\n SliderThumb,\n SliderTrack,\n Thumb,\n Track,\n createSliderScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport { tv } from \"tailwind-variants\";\n\nexport type SliderProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>;\n\nconst slyderStyles = tv({\n\tbase: \"relative flex touch-none select-none items-center data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-5 data-[orientation=vertical]:flex-col\"\n});\n\nexport const Slider = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, SliderProps>(\n\t({ className, children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<SliderPrimitive.Root ref={ref} className={slyderStyles({ className })} {...props}>\n\t\t\t\t{children}\n\t\t\t</SliderPrimitive.Root>\n\t\t);\n\t}\n);\n\nSlider.displayName = SliderPrimitive.Root.displayName;\n","import { tv } from \"tailwind-variants\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport React from \"react\";\n\nexport type SliderTrackProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Track>;\n\nconst slyderTrackStyles = tv({\n\tbase: \"relative grow overflow-hidden rounded-full bg-secondary-bg-hover data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-1.5\"\n});\n\nexport const SliderTrack = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, SliderTrackProps>(\n\t({ className, children, ...props }, ref) => {\n\t\treturn (\n\t\t\t<SliderPrimitive.Track ref={ref} className={slyderTrackStyles({ className })} {...props}>\n\t\t\t\t{children}\n\t\t\t</SliderPrimitive.Track>\n\t\t);\n\t}\n);\n\nSliderTrack.displayName = SliderPrimitive.Track.displayName;\n","import { tv } from \"tailwind-variants\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport React from \"react\";\n\nexport type SliderRangeProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Range>;\n\nconst slyderRangeStyles = tv({\n\tbase: \"absolute bg-primary-accent data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\"\n});\n\nexport const SliderRange = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, SliderRangeProps>(\n\t({ className, ...props }, ref) => {\n\t\treturn <SliderPrimitive.Range ref={ref} className={slyderRangeStyles(className)} {...props} />;\n\t}\n);\n\nSliderRange.displayName = SliderPrimitive.Range.displayName;\n","import { tv } from \"tailwind-variants\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport React from \"react\";\n\nexport type SliderThumbProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Thumb>;\n\nconst slyderThumbStyles = tv({\n\tbase: \"block h-4 w-4 rounded-full border border-primary-fg bg-secondary-bg shadow-soft-base transition-colors hover:shadow-focus focus-visible:shadow-focus focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50\"\n});\n\nexport const SliderThumb = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, SliderThumbProps>(\n\t({ className, ...props }, ref) => {\n\t\treturn <SliderPrimitive.Thumb ref={ref} className={slyderThumbStyles({ className })} {...props} />;\n\t}\n);\n\nSliderThumb.displayName = SliderPrimitive.Thumb.displayName;\n"],"names":["PAGE_KEYS","ARROW_KEYS","BACK_KEYS","SLIDER_NAME","Collection","useCollection","createCollectionScope","createCollection","createSliderContext","createSliderScope","createContextScope","SliderProvider","useSliderContext","Slider","React","props","forwardedRef","name","min","max","step","orientation","disabled","minStepsBetweenThumbs","defaultValue","value","onValueChange","onValueCommit","inverted","form","sliderProps","thumbRefs","valueIndexToChangeRef","SliderOrientation","SliderHorizontal","SliderVertical","values","setValues","useControllableState","value2","valuesBeforeSlideStartRef","handleSlideStart","closestIndex","getClosestValueIndex","updateValues","handleSlideMove","handleSlideEnd","prevValue","atIndex","commit","decimalCount","getDecimalCount","snapToStep","roundValue","nextValue","clamp","prevValues","nextValues","getNextSortedValues","hasMinStepsBetweenValues","hasChanged","jsx","composeEventHandlers","event","stepDirection","multiplier","stepInDirection","SliderOrientationProvider","useSliderOrientationContext","dir","onSlideStart","onSlideMove","onSlideEnd","onStepKeyDown","slider","setSlider","composedRefs","useComposedRefs","node","rectRef","direction","useDirection","isDirectionLTR","isSlidingFromLeft","getValueFromPointer","pointerPosition","rect","input","linearScale","SliderImpl","isBackKey","sliderRef","ref","isSlidingFromBottom","__scopeSlider","onHomeKeyDown","onEndKeyDown","context","Primitive","target","TRACK_NAME","SliderTrack","trackProps","RANGE_NAME","SliderRange","rangeProps","valuesCount","percentages","convertValueToPercentage","offsetStart","offsetEnd","THUMB_NAME","SliderThumb","getItems","thumb","setThumb","index","item","SliderThumbImpl","thumbProps","isFormControl","size","useSize","percent","label","getLabel","orientationSize","thumbInBoundsOffset","getThumbInBoundsOffset","jsxs","SliderBubbleInput","BUBBLE_INPUT_NAME","usePrevious","inputProto","setValue","b","percentage","totalValues","distances","closestDistance","width","left","halfWidth","offset","getStepsBetweenValues","minStepsBetweenValues","stepsBetweenValues","output","ratio","rounder","Root","Track","Range","Thumb","slyderStyles","tv","className","children","SliderPrimitive.Root","slyderTrackStyles","SliderPrimitive.Track","slyderRangeStyles","SliderPrimitive.Range","slyderThumbStyles","SliderPrimitive.Thumb"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"slider.js","sources":["../../node_modules/.pnpm/@radix-ui+react-slider@1.3._90b01d55a02a48d8f097dc170ff43e62/node_modules/@radix-ui/react-slider/dist/index.mjs","../../src/components/slider/Slider.tsx","../../src/components/slider/components/SliderTrack.tsx","../../src/components/slider/components/SliderRange.tsx","../../src/components/slider/components/SliderThumb.tsx"],"sourcesContent":["\"use client\";\n\n// src/slider.tsx\nimport * as React from \"react\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar PAGE_KEYS = [\"PageUp\", \"PageDown\"];\nvar ARROW_KEYS = [\"ArrowUp\", \"ArrowDown\", \"ArrowLeft\", \"ArrowRight\"];\nvar BACK_KEYS = {\n \"from-left\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-right\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowRight\"],\n \"from-bottom\": [\"Home\", \"PageDown\", \"ArrowDown\", \"ArrowLeft\"],\n \"from-top\": [\"Home\", \"PageDown\", \"ArrowUp\", \"ArrowLeft\"]\n};\nvar SLIDER_NAME = \"Slider\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(SLIDER_NAME);\nvar [createSliderContext, createSliderScope] = createContextScope(SLIDER_NAME, [\n createCollectionScope\n]);\nvar [SliderProvider, useSliderContext] = createSliderContext(SLIDER_NAME);\nvar Slider = React.forwardRef(\n (props, forwardedRef) => {\n const {\n name,\n min = 0,\n max = 100,\n step = 1,\n orientation = \"horizontal\",\n disabled = false,\n minStepsBetweenThumbs = 0,\n defaultValue = [min],\n value,\n onValueChange = () => {\n },\n onValueCommit = () => {\n },\n inverted = false,\n form,\n ...sliderProps\n } = props;\n const thumbRefs = React.useRef(/* @__PURE__ */ new Set());\n const valueIndexToChangeRef = React.useRef(0);\n const isHorizontal = orientation === \"horizontal\";\n const SliderOrientation = isHorizontal ? SliderHorizontal : SliderVertical;\n const [values = [], setValues] = useControllableState({\n prop: value,\n defaultProp: defaultValue,\n onChange: (value2) => {\n const thumbs = [...thumbRefs.current];\n thumbs[valueIndexToChangeRef.current]?.focus();\n onValueChange(value2);\n }\n });\n const valuesBeforeSlideStartRef = React.useRef(values);\n function handleSlideStart(value2) {\n const closestIndex = getClosestValueIndex(values, value2);\n updateValues(value2, closestIndex);\n }\n function handleSlideMove(value2) {\n updateValues(value2, valueIndexToChangeRef.current);\n }\n function handleSlideEnd() {\n const prevValue = valuesBeforeSlideStartRef.current[valueIndexToChangeRef.current];\n const nextValue = values[valueIndexToChangeRef.current];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) onValueCommit(values);\n }\n function updateValues(value2, atIndex, { commit } = { commit: false }) {\n const decimalCount = getDecimalCount(step);\n const snapToStep = roundValue(Math.round((value2 - min) / step) * step + min, decimalCount);\n const nextValue = clamp(snapToStep, [min, max]);\n setValues((prevValues = []) => {\n const nextValues = getNextSortedValues(prevValues, nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, minStepsBetweenThumbs * step)) {\n valueIndexToChangeRef.current = nextValues.indexOf(nextValue);\n const hasChanged = String(nextValues) !== String(prevValues);\n if (hasChanged && commit) onValueCommit(nextValues);\n return hasChanged ? nextValues : prevValues;\n } else {\n return prevValues;\n }\n });\n }\n return /* @__PURE__ */ jsx(\n SliderProvider,\n {\n scope: props.__scopeSlider,\n name,\n disabled,\n min,\n max,\n valueIndexToChangeRef,\n thumbs: thumbRefs.current,\n values,\n orientation,\n form,\n children: /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n SliderOrientation,\n {\n \"aria-disabled\": disabled,\n \"data-disabled\": disabled ? \"\" : void 0,\n ...sliderProps,\n ref: forwardedRef,\n onPointerDown: composeEventHandlers(sliderProps.onPointerDown, () => {\n if (!disabled) valuesBeforeSlideStartRef.current = values;\n }),\n min,\n max,\n inverted,\n onSlideStart: disabled ? void 0 : handleSlideStart,\n onSlideMove: disabled ? void 0 : handleSlideMove,\n onSlideEnd: disabled ? void 0 : handleSlideEnd,\n onHomeKeyDown: () => !disabled && updateValues(min, 0, { commit: true }),\n onEndKeyDown: () => !disabled && updateValues(max, values.length - 1, { commit: true }),\n onStepKeyDown: ({ event, direction: stepDirection }) => {\n if (!disabled) {\n const isPageKey = PAGE_KEYS.includes(event.key);\n const isSkipKey = isPageKey || event.shiftKey && ARROW_KEYS.includes(event.key);\n const multiplier = isSkipKey ? 10 : 1;\n const atIndex = valueIndexToChangeRef.current;\n const value2 = values[atIndex];\n const stepInDirection = step * multiplier * stepDirection;\n updateValues(value2 + stepInDirection, atIndex, { commit: true });\n }\n }\n }\n ) }) })\n }\n );\n }\n);\nSlider.displayName = SLIDER_NAME;\nvar [SliderOrientationProvider, useSliderOrientationContext] = createSliderContext(SLIDER_NAME, {\n startEdge: \"left\",\n endEdge: \"right\",\n size: \"width\",\n direction: 1\n});\nvar SliderHorizontal = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n dir,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const [slider, setSlider] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setSlider(node));\n const rectRef = React.useRef(void 0);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === \"ltr\";\n const isSlidingFromLeft = isDirectionLTR && !inverted || !isDirectionLTR && inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || slider.getBoundingClientRect();\n const input = [0, rect.width];\n const output = isSlidingFromLeft ? [min, max] : [max, min];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.left);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromLeft ? \"left\" : \"right\",\n endEdge: isSlidingFromLeft ? \"right\" : \"left\",\n direction: isSlidingFromLeft ? 1 : -1,\n size: \"width\",\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n dir: direction,\n \"data-orientation\": \"horizontal\",\n ...sliderProps,\n ref: composedRefs,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateX(-50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientX);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromLeft ? \"from-left\" : \"from-right\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderVertical = React.forwardRef(\n (props, forwardedRef) => {\n const {\n min,\n max,\n inverted,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const sliderRef = React.useRef(null);\n const ref = useComposedRefs(forwardedRef, sliderRef);\n const rectRef = React.useRef(void 0);\n const isSlidingFromBottom = !inverted;\n function getValueFromPointer(pointerPosition) {\n const rect = rectRef.current || sliderRef.current.getBoundingClientRect();\n const input = [0, rect.height];\n const output = isSlidingFromBottom ? [max, min] : [min, max];\n const value = linearScale(input, output);\n rectRef.current = rect;\n return value(pointerPosition - rect.top);\n }\n return /* @__PURE__ */ jsx(\n SliderOrientationProvider,\n {\n scope: props.__scopeSlider,\n startEdge: isSlidingFromBottom ? \"bottom\" : \"top\",\n endEdge: isSlidingFromBottom ? \"top\" : \"bottom\",\n size: \"height\",\n direction: isSlidingFromBottom ? 1 : -1,\n children: /* @__PURE__ */ jsx(\n SliderImpl,\n {\n \"data-orientation\": \"vertical\",\n ...sliderProps,\n ref,\n style: {\n ...sliderProps.style,\n [\"--radix-slider-thumb-transform\"]: \"translateY(50%)\"\n },\n onSlideStart: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideStart?.(value);\n },\n onSlideMove: (event) => {\n const value = getValueFromPointer(event.clientY);\n onSlideMove?.(value);\n },\n onSlideEnd: () => {\n rectRef.current = void 0;\n onSlideEnd?.();\n },\n onStepKeyDown: (event) => {\n const slideDirection = isSlidingFromBottom ? \"from-bottom\" : \"from-top\";\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n onStepKeyDown?.({ event, direction: isBackKey ? -1 : 1 });\n }\n }\n )\n }\n );\n }\n);\nvar SliderImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSlider,\n onSlideStart,\n onSlideMove,\n onSlideEnd,\n onHomeKeyDown,\n onEndKeyDown,\n onStepKeyDown,\n ...sliderProps\n } = props;\n const context = useSliderContext(SLIDER_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...sliderProps,\n ref: forwardedRef,\n onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n if (event.key === \"Home\") {\n onHomeKeyDown(event);\n event.preventDefault();\n } else if (event.key === \"End\") {\n onEndKeyDown(event);\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n onStepKeyDown(event);\n event.preventDefault();\n }\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n event.preventDefault();\n if (context.thumbs.has(target)) {\n target.focus();\n } else {\n onSlideStart(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) onSlideMove(event);\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n onSlideEnd(event);\n }\n })\n }\n );\n }\n);\nvar TRACK_NAME = \"SliderTrack\";\nvar SliderTrack = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...trackProps } = props;\n const context = useSliderContext(TRACK_NAME, __scopeSlider);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-disabled\": context.disabled ? \"\" : void 0,\n \"data-orientation\": context.orientation,\n ...trackProps,\n ref: forwardedRef\n }\n );\n }\n);\nSliderTrack.displayName = TRACK_NAME;\nvar RANGE_NAME = \"SliderRange\";\nvar SliderRange = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, ...rangeProps } = props;\n const context = useSliderContext(RANGE_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(RANGE_NAME, __scopeSlider);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const valuesCount = context.values.length;\n const percentages = context.values.map(\n (value) => convertValueToPercentage(value, context.min, context.max)\n );\n const offsetStart = valuesCount > 1 ? Math.min(...percentages) : 0;\n const offsetEnd = 100 - Math.max(...percentages);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...rangeProps,\n ref: composedRefs,\n style: {\n ...props.style,\n [orientation.startEdge]: offsetStart + \"%\",\n [orientation.endEdge]: offsetEnd + \"%\"\n }\n }\n );\n }\n);\nSliderRange.displayName = RANGE_NAME;\nvar THUMB_NAME = \"SliderThumb\";\nvar SliderThumb = React.forwardRef(\n (props, forwardedRef) => {\n const getItems = useCollection(props.__scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const index = React.useMemo(\n () => thumb ? getItems().findIndex((item) => item.ref.current === thumb) : -1,\n [getItems, thumb]\n );\n return /* @__PURE__ */ jsx(SliderThumbImpl, { ...props, ref: composedRefs, index });\n }\n);\nvar SliderThumbImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSlider, index, name, ...thumbProps } = props;\n const context = useSliderContext(THUMB_NAME, __scopeSlider);\n const orientation = useSliderOrientationContext(THUMB_NAME, __scopeSlider);\n const [thumb, setThumb] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setThumb(node));\n const isFormControl = thumb ? context.form || !!thumb.closest(\"form\") : true;\n const size = useSize(thumb);\n const value = context.values[index];\n const percent = value === void 0 ? 0 : convertValueToPercentage(value, context.min, context.max);\n const label = getLabel(index, context.values.length);\n const orientationSize = size?.[orientation.size];\n const thumbInBoundsOffset = orientationSize ? getThumbInBoundsOffset(orientationSize, percent, orientation.direction) : 0;\n React.useEffect(() => {\n if (thumb) {\n context.thumbs.add(thumb);\n return () => {\n context.thumbs.delete(thumb);\n };\n }\n }, [thumb, context.thumbs]);\n return /* @__PURE__ */ jsxs(\n \"span\",\n {\n style: {\n transform: \"var(--radix-slider-thumb-transform)\",\n position: \"absolute\",\n [orientation.startEdge]: `calc(${percent}% + ${thumbInBoundsOffset}px)`\n },\n children: [\n /* @__PURE__ */ jsx(Collection.ItemSlot, { scope: props.__scopeSlider, children: /* @__PURE__ */ jsx(\n Primitive.span,\n {\n role: \"slider\",\n \"aria-label\": props[\"aria-label\"] || label,\n \"aria-valuemin\": context.min,\n \"aria-valuenow\": value,\n \"aria-valuemax\": context.max,\n \"aria-orientation\": context.orientation,\n \"data-orientation\": context.orientation,\n \"data-disabled\": context.disabled ? \"\" : void 0,\n tabIndex: context.disabled ? void 0 : 0,\n ...thumbProps,\n ref: composedRefs,\n style: value === void 0 ? { display: \"none\" } : props.style,\n onFocus: composeEventHandlers(props.onFocus, () => {\n context.valueIndexToChangeRef.current = index;\n })\n }\n ) }),\n isFormControl && /* @__PURE__ */ jsx(\n SliderBubbleInput,\n {\n name: name ?? (context.name ? context.name + (context.values.length > 1 ? \"[]\" : \"\") : void 0),\n form: context.form,\n value\n },\n index\n )\n ]\n }\n );\n }\n);\nSliderThumb.displayName = THUMB_NAME;\nvar BUBBLE_INPUT_NAME = \"RadioBubbleInput\";\nvar SliderBubbleInput = React.forwardRef(\n ({ __scopeSlider, value, ...props }, forwardedRef) => {\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const prevValue = usePrevious(value);\n React.useEffect(() => {\n const input = ref.current;\n if (!input) return;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"value\");\n const setValue = descriptor.set;\n if (prevValue !== value && setValue) {\n const event = new Event(\"input\", { bubbles: true });\n setValue.call(input, value);\n input.dispatchEvent(event);\n }\n }, [prevValue, value]);\n return /* @__PURE__ */ jsx(\n Primitive.input,\n {\n style: { display: \"none\" },\n ...props,\n ref: composedRefs,\n defaultValue: value\n }\n );\n }\n);\nSliderBubbleInput.displayName = BUBBLE_INPUT_NAME;\nfunction getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nfunction convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, [0, 100]);\n}\nfunction getLabel(index, totalValues) {\n if (totalValues > 2) {\n return `Value ${index + 1} of ${totalValues}`;\n } else if (totalValues === 2) {\n return [\"Minimum\", \"Maximum\"][index];\n } else {\n return void 0;\n }\n}\nfunction getClosestValueIndex(values, nextValue) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\nfunction getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nfunction getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\nfunction hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction getDecimalCount(value) {\n return (String(value).split(\".\")[1] || \"\").length;\n}\nfunction roundValue(value, decimalCount) {\n const rounder = Math.pow(10, decimalCount);\n return Math.round(value * rounder) / rounder;\n}\nvar Root = Slider;\nvar Track = SliderTrack;\nvar Range = SliderRange;\nvar Thumb = SliderThumb;\nexport {\n Range,\n Root,\n Slider,\n SliderRange,\n SliderThumb,\n SliderTrack,\n Thumb,\n Track,\n createSliderScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\";\r\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport type SliderProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>;\r\n\r\nconst slyderStyles = tv({\r\n\tbase: \"relative flex touch-none select-none items-center data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-5 data-[orientation=vertical]:flex-col\"\r\n});\r\n\r\nexport const Slider = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, SliderProps>(\r\n\t({ className, children, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<SliderPrimitive.Root ref={ref} className={slyderStyles({ className })} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</SliderPrimitive.Root>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSlider.displayName = SliderPrimitive.Root.displayName;\r\n","import { tv } from \"tailwind-variants\";\r\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\r\nimport React from \"react\";\r\n\r\nexport type SliderTrackProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Track>;\r\n\r\nconst slyderTrackStyles = tv({\r\n\tbase: \"relative grow overflow-hidden rounded-full bg-secondary-bg-hover data-[orientation=horizontal]:h-1.5 data-[orientation=vertical]:h-full data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-1.5\"\r\n});\r\n\r\nexport const SliderTrack = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, SliderTrackProps>(\r\n\t({ className, children, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<SliderPrimitive.Track ref={ref} className={slyderTrackStyles({ className })} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t</SliderPrimitive.Track>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSliderTrack.displayName = SliderPrimitive.Track.displayName;\r\n","import { tv } from \"tailwind-variants\";\r\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\r\nimport React from \"react\";\r\n\r\nexport type SliderRangeProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Range>;\r\n\r\nconst slyderRangeStyles = tv({\r\n\tbase: \"absolute bg-primary-accent data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\"\r\n});\r\n\r\nexport const SliderRange = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, SliderRangeProps>(\r\n\t({ className, ...props }, ref) => {\r\n\t\treturn <SliderPrimitive.Range ref={ref} className={slyderRangeStyles(className)} {...props} />;\r\n\t}\r\n);\r\n\r\nSliderRange.displayName = SliderPrimitive.Range.displayName;\r\n","import { tv } from \"tailwind-variants\";\r\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\r\nimport React from \"react\";\r\n\r\nexport type SliderThumbProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Thumb>;\r\n\r\nconst slyderThumbStyles = tv({\r\n\tbase: \"block h-4 w-4 rounded-full border border-primary-fg bg-secondary-bg shadow-soft-base transition-colors hover:shadow-focus focus-visible:shadow-focus focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\r\n});\r\n\r\nexport const SliderThumb = React.forwardRef<React.ElementRef<typeof SliderPrimitive.Root>, SliderThumbProps>(\r\n\t({ className, ...props }, ref) => {\r\n\t\treturn <SliderPrimitive.Thumb ref={ref} className={slyderThumbStyles({ className })} {...props} />;\r\n\t}\r\n);\r\n\r\nSliderThumb.displayName = SliderPrimitive.Thumb.displayName;\r\n"],"names":["PAGE_KEYS","ARROW_KEYS","BACK_KEYS","SLIDER_NAME","Collection","useCollection","createCollectionScope","createCollection","createSliderContext","createSliderScope","createContextScope","SliderProvider","useSliderContext","Slider","React","props","forwardedRef","name","min","max","step","orientation","disabled","minStepsBetweenThumbs","defaultValue","value","onValueChange","onValueCommit","inverted","form","sliderProps","thumbRefs","valueIndexToChangeRef","SliderOrientation","SliderHorizontal","SliderVertical","values","setValues","useControllableState","value2","valuesBeforeSlideStartRef","handleSlideStart","closestIndex","getClosestValueIndex","updateValues","handleSlideMove","handleSlideEnd","prevValue","atIndex","commit","decimalCount","getDecimalCount","snapToStep","roundValue","nextValue","clamp","prevValues","nextValues","getNextSortedValues","hasMinStepsBetweenValues","hasChanged","jsx","composeEventHandlers","event","stepDirection","multiplier","stepInDirection","SliderOrientationProvider","useSliderOrientationContext","dir","onSlideStart","onSlideMove","onSlideEnd","onStepKeyDown","slider","setSlider","composedRefs","useComposedRefs","node","rectRef","direction","useDirection","isDirectionLTR","isSlidingFromLeft","getValueFromPointer","pointerPosition","rect","input","linearScale","SliderImpl","isBackKey","sliderRef","ref","isSlidingFromBottom","__scopeSlider","onHomeKeyDown","onEndKeyDown","context","Primitive","target","TRACK_NAME","SliderTrack","trackProps","RANGE_NAME","SliderRange","rangeProps","valuesCount","percentages","convertValueToPercentage","offsetStart","offsetEnd","THUMB_NAME","SliderThumb","getItems","thumb","setThumb","index","item","SliderThumbImpl","thumbProps","isFormControl","size","useSize","percent","label","getLabel","orientationSize","thumbInBoundsOffset","getThumbInBoundsOffset","jsxs","SliderBubbleInput","BUBBLE_INPUT_NAME","usePrevious","inputProto","setValue","b","percentage","totalValues","distances","closestDistance","width","left","halfWidth","offset","getStepsBetweenValues","minStepsBetweenValues","stepsBetweenValues","output","ratio","rounder","Root","Track","Range","Thumb","slyderStyles","tv","className","children","SliderPrimitive.Root","slyderTrackStyles","SliderPrimitive.Track","slyderRangeStyles","SliderPrimitive.Range","slyderThumbStyles","SliderPrimitive.Thumb"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -101,7 +101,7 @@ function M({ className: t, ...e }) {
|
|
|
101
101
|
return /* @__PURE__ */ a("h3", { "data-slot": "stepper-title", className: D({ className: t }), ...e });
|
|
102
102
|
}
|
|
103
103
|
const L = c({
|
|
104
|
-
base: "inline-flex items-center gap-3 rounded-full outline-
|
|
104
|
+
base: "inline-flex items-center gap-3 rounded-full outline-hidden focus-visible:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50"
|
|
105
105
|
});
|
|
106
106
|
function O({ asChild: t = !1, className: e, children: o, ...s }) {
|
|
107
107
|
const { setActiveStep: i } = x(), { step: n, isDisabled: p } = h();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.js","sources":["../../src/components/stepper/StepperContext.tsx","../../src/components/stepper/Stepper.tsx","../../src/components/stepper/components/stepper-item/StepperItemContext.tsx","../../src/components/stepper/components/stepper-item/StepperItem.tsx","../../src/components/stepper/components/stepper-indicator/StepperIndicator.tsx","../../src/components/stepper/components/stepper-title/StepperTitle.tsx","../../src/components/stepper/components/stepper-trigger/StepperTrigger.tsx","../../src/components/stepper/stepper-separator/StepperSeparator.tsx","../../src/components/stepper/components/stepper-description/StepperDescription.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\ntype StepperContextValue = {\n\tactiveStep: number;\n\tsetActiveStep: (step: number) => void;\n\torientation: \"horizontal\" | \"vertical\";\n};\n\nexport const StepperContext = createContext<StepperContextValue | undefined>(undefined);\n\nexport const useStepper = () => {\n\tconst context = useContext(StepperContext);\n\tif (!context) {\n\t\tthrow new Error(\"useStepper must be used within a Stepper\");\n\t}\n\treturn context;\n};\n","import * as React from \"react\";\nimport { StepperContext } from \"@/components/stepper/StepperContext\";\nimport { tv } from \"tailwind-variants\";\n\nexport interface StepperProps extends React.HTMLAttributes<HTMLDivElement> {\n\tdefaultValue?: number;\n\tvalue?: number;\n\tonValueChange?: (value: number) => void;\n\torientation?: \"horizontal\" | \"vertical\";\n}\n\nconst stepperStyles = tv({\n\tbase: \"group/stepper inline-flex data-[orientation=horizontal]:w-full data-[orientation=horizontal]:flex-row data-[orientation=vertical]:flex-col\"\n});\n\nexport function Stepper({\n\tdefaultValue = 0,\n\tvalue,\n\tonValueChange,\n\torientation = \"horizontal\",\n\tclassName,\n\t...props\n}: StepperProps) {\n\tconst [activeStep, setInternalStep] = React.useState(defaultValue);\n\n\tconst setActiveStep = React.useCallback(\n\t\t(step: number) => {\n\t\t\tif (value === undefined) {\n\t\t\t\tsetInternalStep(step);\n\t\t\t}\n\t\t\tonValueChange?.(step);\n\t\t},\n\t\t[value, onValueChange]\n\t);\n\n\tconst currentStep = value ?? activeStep;\n\n\treturn (\n\t\t<StepperContext.Provider\n\t\t\tvalue={{\n\t\t\t\tactiveStep: currentStep,\n\t\t\t\tsetActiveStep,\n\t\t\t\torientation\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tdata-slot=\"stepper\"\n\t\t\t\tclassName={stepperStyles({ className })}\n\t\t\t\tdata-orientation={orientation}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t</StepperContext.Provider>\n\t);\n}\n","import { createContext, useContext } from \"react\";\n\ntype StepItemContextValue = {\n\tstep: number;\n\tstate: StepState;\n\tisDisabled: boolean;\n\tisLoading: boolean;\n};\n\nexport type StepState = \"active\" | \"completed\" | \"inactive\" | \"loading\";\n\nexport const StepItemContext = createContext<StepItemContextValue | undefined>(undefined);\n\nexport const useStepItem = () => {\n\tconst context = useContext(StepItemContext);\n\tif (!context) {\n\t\tthrow new Error(\"useStepItem must be used within a StepperItem\");\n\t}\n\treturn context;\n};\n","import { StepItemContext, StepState } from \"@/components/stepper/components/stepper-item/StepperItemContext\";\nimport { useStepper } from \"@/components/stepper/StepperContext\";\nimport { tv } from \"tailwind-variants\";\n\nexport interface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {\n\tstep: number;\n\tcompleted?: boolean;\n\tdisabled?: boolean;\n\tloading?: boolean;\n}\n\nconst stepperItemStyles = tv({\n\tbase: \"group/step flex items-center group-data-[orientation=horizontal]/stepper:flex-row group-data-[orientation=vertical]/stepper:flex-col\"\n});\n\nexport function StepperItem({\n\tstep,\n\tcompleted = false,\n\tdisabled = false,\n\tloading = false,\n\tclassName,\n\tchildren,\n\t...props\n}: StepperItemProps) {\n\tconst { activeStep } = useStepper();\n\n\tconst state: StepState = completed || step < activeStep ? \"completed\" : activeStep === step ? \"active\" : \"inactive\";\n\n\tconst isLoading = loading && step === activeStep;\n\n\treturn (\n\t\t<StepItemContext.Provider value={{ step, state, isDisabled: disabled, isLoading }}>\n\t\t\t<div\n\t\t\t\tdata-slot=\"stepper-item\"\n\t\t\t\tclassName={stepperItemStyles({ className })}\n\t\t\t\tdata-state={state}\n\t\t\t\t{...(isLoading ? { \"data-loading\": true } : {})}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</StepItemContext.Provider>\n\t);\n}\n","import { Icon } from \"@/components/icon\";\nimport { useStepItem } from \"@/components/stepper/components/stepper-item/StepperItemContext\";\nimport { CheckIcon, LoaderCircleIcon } from \"lucide-react\";\nimport { tv } from \"tailwind-variants\";\n\nexport interface StepperIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {\n\tasChild?: boolean;\n}\n\nconst stepperIndicatorStyles = tv({\n\tslots: {\n\t\tindicator:\n\t\t\t\"relative flex size-6 shrink-0 items-center justify-center rounded-full bg-secondary-border text-xs font-medium text-muted data-[state=active]:bg-primary-accent data-[state=completed]:bg-primary-accent data-[state=active]:text-primary-bg data-[state=completed]:text-primary-bg\",\n\t\tstep: \"group-data-loading/step:scale-0 group-data-loading/step:opacity-0 group-data-loading/step:transition-none transition-all group-data-[state=completed]/step:scale-0 group-data-[state=completed]/step:opacity-0\",\n\t\tcheck: \"absolute scale-0 opacity-0 transition-all group-data-[state=completed]/step:scale-100 group-data-[state=completed]/step:opacity-100\",\n\t\tloader: \"absolute transition-all\"\n\t}\n});\n\nexport function StepperIndicator({ asChild = false, className, children, ...props }: StepperIndicatorProps) {\n\tconst { state, step, isLoading } = useStepItem();\n\tconst styles = stepperIndicatorStyles();\n\n\treturn (\n\t\t<span data-slot=\"stepper-indicator\" className={styles.indicator({ className })} data-state={state} {...props}>\n\t\t\t{asChild ? (\n\t\t\t\tchildren\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<span className={styles.step()}>{step}</span>\n\t\t\t\t\t<Icon icon={CheckIcon} className={styles.check()} aria-hidden=\"true\" />\n\t\t\t\t\t{isLoading && (\n\t\t\t\t\t\t<span className={styles.loader()}>\n\t\t\t\t\t\t\t<Icon icon={LoaderCircleIcon} className=\"animate-spin\" aria-hidden=\"true\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</span>\n\t);\n}\n","import { tv } from \"tailwind-variants\";\n\nconst stepperTitleStyles = tv({\n\tbase: \"text-sm font-medium text-primary-fg\"\n});\n\nexport function StepperTitle({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>) {\n\treturn <h3 data-slot=\"stepper-title\" className={stepperTitleStyles({ className })} {...props} />;\n}\n","import { useStepItem } from \"@/components/stepper/components/stepper-item/StepperItemContext\";\nimport { useStepper } from \"@/components/stepper/StepperContext\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { tv } from \"tailwind-variants\";\n\nexport interface StepperTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n\tasChild?: boolean;\n}\n\nconst stepperTriggerStyles = tv({\n\tbase: \"inline-flex items-center gap-3 rounded-full outline-none focus-visible:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50\"\n});\n\nexport function StepperTrigger({ asChild = false, className, children, ...props }: StepperTriggerProps) {\n\tconst { setActiveStep } = useStepper();\n\tconst { step, isDisabled } = useStepItem();\n\n\tif (asChild) {\n\t\tconst Comp = asChild ? Slot : \"span\";\n\t\treturn (\n\t\t\t<Comp data-slot=\"stepper-trigger\" className={className}>\n\t\t\t\t{children}\n\t\t\t</Comp>\n\t\t);\n\t}\n\n\treturn (\n\t\t<button\n\t\t\tdata-slot=\"stepper-trigger\"\n\t\t\tclassName={stepperTriggerStyles({ className })}\n\t\t\tonClick={() => setActiveStep(step)}\n\t\t\tdisabled={isDisabled}\n\t\t\t{...props}\n\t\t>\n\t\t\t{children}\n\t\t</button>\n\t);\n}\n","import { tv } from \"tailwind-variants\";\n\nconst stepperSeparatorStyles = tv({\n\tbase: \"m-0.5 bg-secondary-border group-data-[orientation=horizontal]/stepper:h-0.5 group-data-[orientation=vertical]/stepper:h-12 group-data-[orientation=horizontal]/stepper:w-full group-data-[orientation=vertical]/stepper:w-0.5 group-data-[orientation=horizontal]/stepper:flex-1 group-data-[state=completed]/step:bg-primary\"\n});\n\nexport function StepperSeparator({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\n\treturn <div data-slot=\"stepper-separator\" className={stepperSeparatorStyles({ className })} {...props} />;\n}\n","import { tv } from \"tailwind-variants\";\n\nconst stepperDescriptionStyles = tv({\n\tbase: \"text-sm text-muted\"\n});\n\nexport function StepperDescription({ className, ...props }: React.HTMLAttributes<HTMLParagraphElement>) {\n\treturn <p data-slot=\"stepper-description\" className={stepperDescriptionStyles({ className })} {...props} />;\n}\n"],"names":["StepperContext","createContext","useStepper","context","useContext","stepperStyles","tv","Stepper","defaultValue","value","onValueChange","orientation","className","props","activeStep","setInternalStep","React","setActiveStep","step","currentStep","jsx","StepItemContext","useStepItem","stepperItemStyles","StepperItem","completed","disabled","loading","children","state","isLoading","stepperIndicatorStyles","StepperIndicator","asChild","styles","jsxs","Fragment","Icon","CheckIcon","LoaderCircleIcon","stepperTitleStyles","StepperTitle","stepperTriggerStyles","StepperTrigger","isDisabled","Slot","stepperSeparatorStyles","StepperSeparator","stepperDescriptionStyles","StepperDescription"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stepper.js","sources":["../../src/components/stepper/StepperContext.tsx","../../src/components/stepper/Stepper.tsx","../../src/components/stepper/components/stepper-item/StepperItemContext.tsx","../../src/components/stepper/components/stepper-item/StepperItem.tsx","../../src/components/stepper/components/stepper-indicator/StepperIndicator.tsx","../../src/components/stepper/components/stepper-title/StepperTitle.tsx","../../src/components/stepper/components/stepper-trigger/StepperTrigger.tsx","../../src/components/stepper/stepper-separator/StepperSeparator.tsx","../../src/components/stepper/components/stepper-description/StepperDescription.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\r\n\r\ntype StepperContextValue = {\r\n\tactiveStep: number;\r\n\tsetActiveStep: (step: number) => void;\r\n\torientation: \"horizontal\" | \"vertical\";\r\n};\r\n\r\nexport const StepperContext = createContext<StepperContextValue | undefined>(undefined);\r\n\r\nexport const useStepper = () => {\r\n\tconst context = useContext(StepperContext);\r\n\tif (!context) {\r\n\t\tthrow new Error(\"useStepper must be used within a Stepper\");\r\n\t}\r\n\treturn context;\r\n};\r\n","import * as React from \"react\";\r\nimport { StepperContext } from \"@/components/stepper/StepperContext\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport interface StepperProps extends React.HTMLAttributes<HTMLDivElement> {\r\n\tdefaultValue?: number;\r\n\tvalue?: number;\r\n\tonValueChange?: (value: number) => void;\r\n\torientation?: \"horizontal\" | \"vertical\";\r\n}\r\n\r\nconst stepperStyles = tv({\r\n\tbase: \"group/stepper inline-flex data-[orientation=horizontal]:w-full data-[orientation=horizontal]:flex-row data-[orientation=vertical]:flex-col\"\r\n});\r\n\r\nexport function Stepper({\r\n\tdefaultValue = 0,\r\n\tvalue,\r\n\tonValueChange,\r\n\torientation = \"horizontal\",\r\n\tclassName,\r\n\t...props\r\n}: StepperProps) {\r\n\tconst [activeStep, setInternalStep] = React.useState(defaultValue);\r\n\r\n\tconst setActiveStep = React.useCallback(\r\n\t\t(step: number) => {\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tsetInternalStep(step);\r\n\t\t\t}\r\n\t\t\tonValueChange?.(step);\r\n\t\t},\r\n\t\t[value, onValueChange]\r\n\t);\r\n\r\n\tconst currentStep = value ?? activeStep;\r\n\r\n\treturn (\r\n\t\t<StepperContext.Provider\r\n\t\t\tvalue={{\r\n\t\t\t\tactiveStep: currentStep,\r\n\t\t\t\tsetActiveStep,\r\n\t\t\t\torientation\r\n\t\t\t}}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tdata-slot=\"stepper\"\r\n\t\t\t\tclassName={stepperStyles({ className })}\r\n\t\t\t\tdata-orientation={orientation}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t</StepperContext.Provider>\r\n\t);\r\n}\r\n","import { createContext, useContext } from \"react\";\r\n\r\ntype StepItemContextValue = {\r\n\tstep: number;\r\n\tstate: StepState;\r\n\tisDisabled: boolean;\r\n\tisLoading: boolean;\r\n};\r\n\r\nexport type StepState = \"active\" | \"completed\" | \"inactive\" | \"loading\";\r\n\r\nexport const StepItemContext = createContext<StepItemContextValue | undefined>(undefined);\r\n\r\nexport const useStepItem = () => {\r\n\tconst context = useContext(StepItemContext);\r\n\tif (!context) {\r\n\t\tthrow new Error(\"useStepItem must be used within a StepperItem\");\r\n\t}\r\n\treturn context;\r\n};\r\n","import { StepItemContext, StepState } from \"@/components/stepper/components/stepper-item/StepperItemContext\";\r\nimport { useStepper } from \"@/components/stepper/StepperContext\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport interface StepperItemProps extends React.HTMLAttributes<HTMLDivElement> {\r\n\tstep: number;\r\n\tcompleted?: boolean;\r\n\tdisabled?: boolean;\r\n\tloading?: boolean;\r\n}\r\n\r\nconst stepperItemStyles = tv({\r\n\tbase: \"group/step flex items-center group-data-[orientation=horizontal]/stepper:flex-row group-data-[orientation=vertical]/stepper:flex-col\"\r\n});\r\n\r\nexport function StepperItem({\r\n\tstep,\r\n\tcompleted = false,\r\n\tdisabled = false,\r\n\tloading = false,\r\n\tclassName,\r\n\tchildren,\r\n\t...props\r\n}: StepperItemProps) {\r\n\tconst { activeStep } = useStepper();\r\n\r\n\tconst state: StepState = completed || step < activeStep ? \"completed\" : activeStep === step ? \"active\" : \"inactive\";\r\n\r\n\tconst isLoading = loading && step === activeStep;\r\n\r\n\treturn (\r\n\t\t<StepItemContext.Provider value={{ step, state, isDisabled: disabled, isLoading }}>\r\n\t\t\t<div\r\n\t\t\t\tdata-slot=\"stepper-item\"\r\n\t\t\t\tclassName={stepperItemStyles({ className })}\r\n\t\t\t\tdata-state={state}\r\n\t\t\t\t{...(isLoading ? { \"data-loading\": true } : {})}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t</StepItemContext.Provider>\r\n\t);\r\n}\r\n","import { Icon } from \"@/components/icon\";\r\nimport { useStepItem } from \"@/components/stepper/components/stepper-item/StepperItemContext\";\r\nimport { CheckIcon, LoaderCircleIcon } from \"lucide-react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport interface StepperIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {\r\n\tasChild?: boolean;\r\n}\r\n\r\nconst stepperIndicatorStyles = tv({\r\n\tslots: {\r\n\t\tindicator:\r\n\t\t\t\"relative flex size-6 shrink-0 items-center justify-center rounded-full bg-secondary-border text-xs font-medium text-muted data-[state=active]:bg-primary-accent data-[state=completed]:bg-primary-accent data-[state=active]:text-primary-bg data-[state=completed]:text-primary-bg\",\r\n\t\tstep: \"group-data-loading/step:scale-0 group-data-loading/step:opacity-0 group-data-loading/step:transition-none transition-all group-data-[state=completed]/step:scale-0 group-data-[state=completed]/step:opacity-0\",\r\n\t\tcheck: \"absolute scale-0 opacity-0 transition-all group-data-[state=completed]/step:scale-100 group-data-[state=completed]/step:opacity-100\",\r\n\t\tloader: \"absolute transition-all\"\r\n\t}\r\n});\r\n\r\nexport function StepperIndicator({ asChild = false, className, children, ...props }: StepperIndicatorProps) {\r\n\tconst { state, step, isLoading } = useStepItem();\r\n\tconst styles = stepperIndicatorStyles();\r\n\r\n\treturn (\r\n\t\t<span data-slot=\"stepper-indicator\" className={styles.indicator({ className })} data-state={state} {...props}>\r\n\t\t\t{asChild ? (\r\n\t\t\t\tchildren\r\n\t\t\t) : (\r\n\t\t\t\t<>\r\n\t\t\t\t\t<span className={styles.step()}>{step}</span>\r\n\t\t\t\t\t<Icon icon={CheckIcon} className={styles.check()} aria-hidden=\"true\" />\r\n\t\t\t\t\t{isLoading && (\r\n\t\t\t\t\t\t<span className={styles.loader()}>\r\n\t\t\t\t\t\t\t<Icon icon={LoaderCircleIcon} className=\"animate-spin\" aria-hidden=\"true\" />\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</>\r\n\t\t\t)}\r\n\t\t</span>\r\n\t);\r\n}\r\n","import { tv } from \"tailwind-variants\";\r\n\r\nconst stepperTitleStyles = tv({\r\n\tbase: \"text-sm font-medium text-primary-fg\"\r\n});\r\n\r\nexport function StepperTitle({ className, ...props }: React.HTMLAttributes<HTMLHeadingElement>) {\r\n\treturn <h3 data-slot=\"stepper-title\" className={stepperTitleStyles({ className })} {...props} />;\r\n}\r\n","import { useStepItem } from \"@/components/stepper/components/stepper-item/StepperItemContext\";\r\nimport { useStepper } from \"@/components/stepper/StepperContext\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nexport interface StepperTriggerProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\r\n\tasChild?: boolean;\r\n}\r\n\r\nconst stepperTriggerStyles = tv({\r\n\tbase: \"inline-flex items-center gap-3 rounded-full outline-hidden focus-visible:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50\"\r\n});\r\n\r\nexport function StepperTrigger({ asChild = false, className, children, ...props }: StepperTriggerProps) {\r\n\tconst { setActiveStep } = useStepper();\r\n\tconst { step, isDisabled } = useStepItem();\r\n\r\n\tif (asChild) {\r\n\t\tconst Comp = asChild ? Slot : \"span\";\r\n\t\treturn (\r\n\t\t\t<Comp data-slot=\"stepper-trigger\" className={className}>\r\n\t\t\t\t{children}\r\n\t\t\t</Comp>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<button\r\n\t\t\tdata-slot=\"stepper-trigger\"\r\n\t\t\tclassName={stepperTriggerStyles({ className })}\r\n\t\t\tonClick={() => setActiveStep(step)}\r\n\t\t\tdisabled={isDisabled}\r\n\t\t\t{...props}\r\n\t\t>\r\n\t\t\t{children}\r\n\t\t</button>\r\n\t);\r\n}\r\n","import { tv } from \"tailwind-variants\";\r\n\r\nconst stepperSeparatorStyles = tv({\r\n\tbase: \"m-0.5 bg-secondary-border group-data-[orientation=horizontal]/stepper:h-0.5 group-data-[orientation=vertical]/stepper:h-12 group-data-[orientation=horizontal]/stepper:w-full group-data-[orientation=vertical]/stepper:w-0.5 group-data-[orientation=horizontal]/stepper:flex-1 group-data-[state=completed]/step:bg-primary\"\r\n});\r\n\r\nexport function StepperSeparator({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) {\r\n\treturn <div data-slot=\"stepper-separator\" className={stepperSeparatorStyles({ className })} {...props} />;\r\n}\r\n","import { tv } from \"tailwind-variants\";\r\n\r\nconst stepperDescriptionStyles = tv({\r\n\tbase: \"text-sm text-muted\"\r\n});\r\n\r\nexport function StepperDescription({ className, ...props }: React.HTMLAttributes<HTMLParagraphElement>) {\r\n\treturn <p data-slot=\"stepper-description\" className={stepperDescriptionStyles({ className })} {...props} />;\r\n}\r\n"],"names":["StepperContext","createContext","useStepper","context","useContext","stepperStyles","tv","Stepper","defaultValue","value","onValueChange","orientation","className","props","activeStep","setInternalStep","React","setActiveStep","step","currentStep","jsx","StepItemContext","useStepItem","stepperItemStyles","StepperItem","completed","disabled","loading","children","state","isLoading","stepperIndicatorStyles","StepperIndicator","asChild","styles","jsxs","Fragment","Icon","CheckIcon","LoaderCircleIcon","stepperTitleStyles","StepperTitle","stepperTriggerStyles","StepperTrigger","isDisabled","Slot","stepperSeparatorStyles","StepperSeparator","stepperDescriptionStyles","StepperDescription"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { u as A } from "../index-BZPx6jYI.js";
|
|
|
9
9
|
import { u as L } from "../index-BGQepRFJ.js";
|
|
10
10
|
import { T as N } from "../index-BVqs-uqP.js";
|
|
11
11
|
import { u as U, n as W } from "../ComponentVariantProvider-brk0g-hm.js";
|
|
12
|
-
import { F as q } from "../FieldLabel-
|
|
12
|
+
import { F as q } from "../FieldLabel-ic0eq9Un.js";
|
|
13
13
|
import { D as O } from "../Description-BTPMlTT-.js";
|
|
14
14
|
var g = "Switch", [$, he] = V(g), [X, G] = $(g), P = l.forwardRef(
|
|
15
15
|
(r, n) => {
|
|
@@ -133,7 +133,7 @@ const Q = N({
|
|
|
133
133
|
root: [
|
|
134
134
|
"peer relative inline-flex shrink-0 cursor-pointer items-center rounded-full",
|
|
135
135
|
"transition-colors",
|
|
136
|
-
"focus-visible:border-tertiary-accent focus-visible:shadow-focus focus-visible:outline-
|
|
136
|
+
"focus-visible:border-tertiary-accent focus-visible:shadow-focus focus-visible:outline-hidden",
|
|
137
137
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
138
138
|
"data-[state=checked]:bg-primary-accent data-[state=unchecked]:bg-secondary-border",
|
|
139
139
|
"data-[state=checked]:hover:enabled:bg-primary-accent-hover",
|