ics-ui-kit 0.1.2 → 0.1.4
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-5B6AgZpe.js.map +1 -1
- package/dist/Button-Dg89xRSi.js.map +1 -1
- package/dist/ButtonBase-e6qyv6mD.js.map +1 -1
- package/dist/CheckboxField-cX09-eBX.js.map +1 -1
- package/dist/Command-BhbfL5wm.js.map +1 -1
- package/dist/ComponentVariantProvider-B0SFUaXB.js.map +1 -1
- package/dist/Description-BTPMlTT-.js.map +1 -1
- package/dist/Dialog-ByiJIDhl.js.map +1 -1
- 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-CKl59qUB.js → Field-BiIWtq9o.js} +13 -13
- package/dist/Field-BiIWtq9o.js.map +1 -0
- package/dist/FieldLabel-QJ4rJFOi.js.map +1 -1
- package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
- package/dist/FormFooterTemplate-DPB6Dkxn.js.map +1 -1
- package/dist/FormHeader--F6b2aRk.js.map +1 -1
- package/dist/{FormStack-B4QOuYgO.js → FormStack-DO15vBgd.js} +2 -2
- package/dist/FormStack-DO15vBgd.js.map +1 -0
- package/dist/HintState-BxrCAWqq.js.map +1 -1
- package/dist/Icon-DH3ev9GK.js.map +1 -1
- package/dist/IconButton-DwkpNgn3.js.map +1 -1
- package/dist/IconTooltip-CKJKGHbk.js.map +1 -1
- package/dist/Indicator-AqxHWPA9.js.map +1 -1
- package/dist/InputGroup-BvD9Igmt.js.map +1 -1
- package/dist/InputOTP-B2e1nfSO.js.map +1 -1
- package/dist/Loader-BpHiL6W-.js.map +1 -1
- package/dist/MenuItem-pvsONHlh.js.map +1 -1
- package/dist/MenuItemShortcut-DgPol9Nz.js.map +1 -1
- package/dist/MenuItemText-7uPl9P3z.js.map +1 -1
- package/dist/Overlay-2XMlxApi.js.map +1 -1
- package/dist/Popover-Dvr7y0YY.js.map +1 -1
- package/dist/RichButton-DuPTenmS.js.map +1 -1
- package/dist/ScrollArea-CuuTeDn3.js.map +1 -1
- package/dist/ScrollShadowContainer-DdrnF8qU.js.map +1 -1
- package/dist/SearchSelectTag-DFCX9zT1.js.map +1 -1
- package/dist/Select-DRwv6-eZ.js.map +1 -1
- package/dist/Sheet-rtwmzm2-.js.map +1 -1
- package/dist/Shortcut-D8L15_ed.js.map +1 -1
- package/dist/Skeleton-y6I-i9q5.js.map +1 -1
- package/dist/Tag-DdHXTyKF.js.map +1 -1
- package/dist/Text-DeBE8AKl.js.map +1 -1
- package/dist/TextInput-Cj50ImXi.js.map +1 -1
- package/dist/TextOverflowTooltip-DlUgic5y.js.map +1 -1
- package/dist/Toggle-v_HT3Gm2.js.map +1 -1
- package/dist/Tooltip-C4rVuWr4.js.map +1 -1
- package/dist/TriggerButton-CfDObWP9.js.map +1 -1
- package/dist/blocks/auth/otp-form.js +1 -1
- package/dist/blocks/auth/otp-form.js.map +1 -1
- package/dist/cn-dsXlqdJg.js.map +1 -1
- package/dist/components/alert-dialog.js.map +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/avatar.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.map +1 -1
- package/dist/components/calendar.js.map +1 -1
- package/dist/components/card.js.map +1 -1
- package/dist/components/carousel.js.map +1 -1
- package/dist/components/collapsible.js.map +1 -1
- package/dist/components/color-tile.js.map +1 -1
- package/dist/components/container.js.map +1 -1
- package/dist/components/counter.js.map +1 -1
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/divider.js.map +1 -1
- package/dist/components/drawer.js.map +1 -1
- package/dist/components/dropdown.js.map +1 -1
- package/dist/components/error-state.js.map +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/file-upload.js.map +1 -1
- package/dist/components/form.js +2 -2
- package/dist/components/form.js.map +1 -1
- package/dist/components/image-placeholder.js.map +1 -1
- package/dist/components/image-preview.js.map +1 -1
- package/dist/components/image-uploader.js.map +1 -1
- package/dist/components/input.js.map +1 -1
- package/dist/components/menu-item.js.map +1 -1
- package/dist/components/page-state.js.map +1 -1
- package/dist/components/portal-container.js.map +1 -1
- package/dist/components/progress-circle.js.map +1 -1
- package/dist/components/progress.js.map +1 -1
- package/dist/components/prose.js.map +1 -1
- package/dist/components/radio-group.js.map +1 -1
- package/dist/components/resizable.js.map +1 -1
- package/dist/components/scheduler.js.map +1 -1
- package/dist/components/search-select.js.map +1 -1
- package/dist/components/sidebar.js.map +1 -1
- package/dist/components/slider.js.map +1 -1
- package/dist/components/stepper.js.map +1 -1
- package/dist/components/switch.js.map +1 -1
- package/dist/components/system-state.js.map +1 -1
- package/dist/components/table.js.map +1 -1
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag-input.js.map +1 -1
- package/dist/components/textarea.js.map +1 -1
- package/dist/components/timer.js.map +1 -1
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toggle-group.js.map +1 -1
- package/dist/components/toolbar.js.map +1 -1
- package/dist/index-0ioNhtNM.js.map +1 -1
- package/dist/index-437EL2iq.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-BpWB3aFK.js.map +1 -1
- package/dist/index-ByaXH_ih.js.map +1 -1
- package/dist/index-BzCriPiK.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-CQD-Njgt.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-DRo26PBK.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-DbzD_jvq.js.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/styles-scoped.css +6293 -6265
- package/dist/styles.css +6032 -6004
- package/dist/theme.css +354 -329
- package/dist/types/css.d.ts +4 -4
- package/dist/useBreakpoints-D8wKOvil.js.map +1 -1
- package/dist/useDebounce-BRah78CF.js.map +1 -1
- package/dist/useFileUpload-iDag0iqM.js.map +1 -1
- package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
- package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
- package/dist/usePortalContainer-ae6EzS08.js.map +1 -1
- package/dist/vendors/tanstack/react-table.js.map +1 -1
- package/dist/zod-BMNoK3aM.js.map +1 -1
- package/package.json +1 -1
- package/tailwind.preset.js +444 -444
- package/dist/Field-CKl59qUB.js.map +0 -1
- package/dist/FormStack-B4QOuYgO.js.map +0 -1
- package/dist/design-tokens.source.json +0 -1
|
@@ -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","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/plus.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","/**\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 Plus = createLucideIcon(\"Plus\", [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n]);\n\nexport { Plus as default };\n//# sourceMappingURL=plus.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};\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, TooltipProvider, 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 has-[[data-variant=inset]]:bg-primary-bg\"\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\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}),\r\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\r\n\t);\r\n\r\n\treturn (\r\n\t\t<SidebarContext.Provider value={contextValue}>\r\n\t\t\t<TooltipProvider delayDuration={0}>\r\n\t\t\t\t<div\r\n\t\t\t\t\tstyle={\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\r\n\t\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\r\n\t\t\t\t\t\t\t...style\r\n\t\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclassName={sizebarProviderStyles({ className })}\r\n\t\t\t\t\tref={ref}\r\n\t\t\t\t\t{...props}\r\n\t\t\t\t>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</TooltipProvider>\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 { isMobile, state, openMobile, setOpenMobile } = useSidebar();\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\tif (isMobile) {\r\n\t\treturn (\r\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\r\n\t\t\t\t<SheetContent\r\n\t\t\t\t\tdata-sidebar=\"sidebar\"\r\n\t\t\t\t\tdata-mobile=\"true\"\r\n\t\t\t\t\tclassName=\"w-[--sidebar-width] bg-sidebar-bg p-0 text-secondary-fg [&>button]:hidden\"\r\n\t\t\t\t\tstyle={\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH_MOBILE\r\n\t\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t\t}\r\n\t\t\t\t\tside={side}\r\n\t\t\t\t>\r\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\r\n\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\r\n\t\t\t\t\t\t<SheetDescription>Displays the mobile sidebar.</SheetDescription>\r\n\t\t\t\t\t</SheetHeader>\r\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\r\n\t\t\t\t</SheetContent>\r\n\t\t\t</Sheet>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tref={ref}\r\n\t\t\tclassName=\"text-sidebar-foreground group peer hidden md:block\"\r\n\t\t\tdata-state={state}\r\n\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\r\n\t\t\tdata-variant={variant}\r\n\t\t\tdata-side={side}\r\n\t\t>\r\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\"relative w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear\",\r\n\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\r\n\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\r\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\r\n\t\t\t\t\t\t? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]\"\r\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\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 md:flex\",\r\n\t\t\t\t\tside === \"left\"\r\n\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: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\r\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\r\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\r\n\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\r\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l group-data-[side=left]:border-secondary-border group-data-[side=right]:border-secondary-border\",\r\n\t\t\t\t\tclassName\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<div\r\n\t\t\t\t\tdata-sidebar=\"sidebar\"\r\n\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\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\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\"\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\"\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 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-none 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-none 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-none transition-[width,height,padding]\",\r\n\t\t\"hover:bg-secondary-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-secondary-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-secondary-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-secondary-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-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\",\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-none\"\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-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\",\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","Plus","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","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","Sidebar","side","variant","collapsible","cn","Sheet","jsxs","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"],"mappings":"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","x_google_ignoreList":[0,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","../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/plus.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","/**\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 Plus = createLucideIcon(\"Plus\", [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n]);\n\nexport { Plus as default };\n//# sourceMappingURL=plus.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};\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, TooltipProvider, 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 has-[[data-variant=inset]]:bg-primary-bg\"\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\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}),\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n\t);\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<TooltipProvider delayDuration={0}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\n\t\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t\t...style\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tclassName={sizebarProviderStyles({ className })}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</TooltipProvider>\n\t\t</SidebarContext.Provider>\n\t);\n});\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 { isMobile, state, openMobile, setOpenMobile } = useSidebar();\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\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\tclassName=\"w-[--sidebar-width] bg-sidebar-bg p-0 text-secondary-fg [&>button]:hidden\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH_MOBILE\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\n\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\n\t\t\t\t\t\t<SheetDescription>Displays the mobile sidebar.</SheetDescription>\n\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName=\"text-sidebar-foreground group peer hidden md:block\"\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear\",\n\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\n\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\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: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\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 md:flex\",\n\t\t\t\t\tside === \"left\"\n\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: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l group-data-[side=left]:border-secondary-border group-data-[side=right]:border-secondary-border\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\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>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\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\"\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\"\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 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-secondary-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-secondary-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-secondary-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-secondary-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","Plus","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","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","Sidebar","side","variant","collapsible","cn","Sheet","jsxs","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"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1 +1 @@
|
|
|
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-none 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]}
|
|
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 +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\";\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-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\"\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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"}
|
|
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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"}
|