@databricks/appkit-ui 0.1.4 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/AGENTS.md +89 -12
  2. package/CLAUDE.md +89 -12
  3. package/NOTICE.md +4 -0
  4. package/README.md +21 -15
  5. package/dist/js/arrow/arrow-client.js.map +1 -1
  6. package/dist/js/arrow/lazy-arrow.js.map +1 -1
  7. package/dist/js/sse/connect-sse.js.map +1 -1
  8. package/dist/react/charts/area/index.d.ts +2 -2
  9. package/dist/react/charts/bar/index.d.ts +2 -2
  10. package/dist/react/charts/base.d.ts +2 -2
  11. package/dist/react/charts/base.js.map +1 -1
  12. package/dist/react/charts/create-chart.d.ts +2 -2
  13. package/dist/react/charts/create-chart.js +2 -1
  14. package/dist/react/charts/create-chart.js.map +1 -1
  15. package/dist/react/charts/heatmap/index.d.ts +2 -2
  16. package/dist/react/charts/line/index.d.ts +2 -2
  17. package/dist/react/charts/normalize.d.ts +1 -1
  18. package/dist/react/charts/normalize.js +1 -1
  19. package/dist/react/charts/normalize.js.map +1 -1
  20. package/dist/react/charts/pie/index.d.ts +3 -3
  21. package/dist/react/charts/radar/index.d.ts +2 -2
  22. package/dist/react/charts/scatter/index.d.ts +2 -2
  23. package/dist/react/charts/theme.js.map +1 -1
  24. package/dist/react/charts/types.d.ts +5 -0
  25. package/dist/react/charts/types.d.ts.map +1 -1
  26. package/dist/react/charts/types.js.map +1 -1
  27. package/dist/react/charts/utils.js.map +1 -1
  28. package/dist/react/charts/wrapper.d.ts +4 -2
  29. package/dist/react/charts/wrapper.d.ts.map +1 -1
  30. package/dist/react/charts/wrapper.js +4 -2
  31. package/dist/react/charts/wrapper.js.map +1 -1
  32. package/dist/react/hooks/types.d.ts +2 -0
  33. package/dist/react/hooks/types.d.ts.map +1 -1
  34. package/dist/react/hooks/use-analytics-query.js +9 -3
  35. package/dist/react/hooks/use-analytics-query.js.map +1 -1
  36. package/dist/react/hooks/use-chart-data.d.ts +2 -0
  37. package/dist/react/hooks/use-chart-data.d.ts.map +1 -1
  38. package/dist/react/hooks/use-chart-data.js +3 -2
  39. package/dist/react/hooks/use-chart-data.js.map +1 -1
  40. package/dist/react/hooks/use-mobile.js +3 -3
  41. package/dist/react/hooks/use-mobile.js.map +1 -1
  42. package/dist/react/index.d.ts +3 -1
  43. package/dist/react/index.js +3 -1
  44. package/dist/react/lib/utils.d.ts +7 -0
  45. package/dist/react/lib/utils.d.ts.map +1 -0
  46. package/dist/react/portal-container-context.d.ts +48 -0
  47. package/dist/react/portal-container-context.d.ts.map +1 -0
  48. package/dist/react/portal-container-context.js +51 -0
  49. package/dist/react/portal-container-context.js.map +1 -0
  50. package/dist/react/table/data-table.d.ts +2 -2
  51. package/dist/react/table/data-table.d.ts.map +1 -1
  52. package/dist/react/table/table-wrapper.js +3 -2
  53. package/dist/react/table/table-wrapper.js.map +1 -1
  54. package/dist/react/table/types.d.ts.map +1 -1
  55. package/dist/react/ui/accordion.d.ts +6 -6
  56. package/dist/react/ui/accordion.d.ts.map +1 -1
  57. package/dist/react/ui/alert-dialog.d.ts +14 -13
  58. package/dist/react/ui/alert-dialog.d.ts.map +1 -1
  59. package/dist/react/ui/alert-dialog.js +3 -1
  60. package/dist/react/ui/alert-dialog.js.map +1 -1
  61. package/dist/react/ui/alert.d.ts +5 -5
  62. package/dist/react/ui/alert.d.ts.map +1 -1
  63. package/dist/react/ui/aspect-ratio.d.ts +2 -2
  64. package/dist/react/ui/avatar.d.ts +5 -5
  65. package/dist/react/ui/avatar.d.ts.map +1 -1
  66. package/dist/react/ui/badge.d.ts +6 -6
  67. package/dist/react/ui/badge.d.ts.map +1 -1
  68. package/dist/react/ui/breadcrumb.d.ts +10 -10
  69. package/dist/react/ui/breadcrumb.d.ts.map +1 -1
  70. package/dist/react/ui/button-group.d.ts +6 -6
  71. package/dist/react/ui/button.d.ts +6 -6
  72. package/dist/react/ui/button.d.ts.map +1 -1
  73. package/dist/react/ui/calendar.d.ts +6 -6
  74. package/dist/react/ui/calendar.d.ts.map +1 -1
  75. package/dist/react/ui/calendar.js +3 -3
  76. package/dist/react/ui/calendar.js.map +1 -1
  77. package/dist/react/ui/card.d.ts +9 -9
  78. package/dist/react/ui/card.d.ts.map +1 -1
  79. package/dist/react/ui/carousel.d.ts +7 -7
  80. package/dist/react/ui/carousel.d.ts.map +1 -1
  81. package/dist/react/ui/carousel.js +11 -11
  82. package/dist/react/ui/carousel.js.map +1 -1
  83. package/dist/react/ui/chart.d.ts +52 -16
  84. package/dist/react/ui/chart.d.ts.map +1 -1
  85. package/dist/react/ui/chart.js +23 -7
  86. package/dist/react/ui/chart.js.map +1 -1
  87. package/dist/react/ui/checkbox.d.ts +3 -3
  88. package/dist/react/ui/checkbox.d.ts.map +1 -1
  89. package/dist/react/ui/checkbox.js +1 -1
  90. package/dist/react/ui/checkbox.js.map +1 -1
  91. package/dist/react/ui/collapsible.d.ts +4 -4
  92. package/dist/react/ui/command.d.ts +12 -12
  93. package/dist/react/ui/command.d.ts.map +1 -1
  94. package/dist/react/ui/context-menu.d.ts +21 -20
  95. package/dist/react/ui/context-menu.d.ts.map +1 -1
  96. package/dist/react/ui/context-menu.js +11 -6
  97. package/dist/react/ui/context-menu.js.map +1 -1
  98. package/dist/react/ui/dialog.d.ts +14 -13
  99. package/dist/react/ui/dialog.d.ts.map +1 -1
  100. package/dist/react/ui/dialog.js +3 -1
  101. package/dist/react/ui/dialog.js.map +1 -1
  102. package/dist/react/ui/drawer.d.ts +13 -12
  103. package/dist/react/ui/drawer.d.ts.map +1 -1
  104. package/dist/react/ui/drawer.js +3 -1
  105. package/dist/react/ui/drawer.js.map +1 -1
  106. package/dist/react/ui/dropdown-menu.d.ts +21 -20
  107. package/dist/react/ui/dropdown-menu.d.ts.map +1 -1
  108. package/dist/react/ui/dropdown-menu.js +12 -7
  109. package/dist/react/ui/dropdown-menu.js.map +1 -1
  110. package/dist/react/ui/empty.d.ts +7 -7
  111. package/dist/react/ui/field.d.ts +11 -11
  112. package/dist/react/ui/form.d.ts +9 -9
  113. package/dist/react/ui/form.d.ts.map +1 -1
  114. package/dist/react/ui/form.js +6 -6
  115. package/dist/react/ui/form.js.map +1 -1
  116. package/dist/react/ui/hover-card.d.ts +5 -5
  117. package/dist/react/ui/hover-card.d.ts.map +1 -1
  118. package/dist/react/ui/hover-card.js +2 -0
  119. package/dist/react/ui/hover-card.js.map +1 -1
  120. package/dist/react/ui/input-group.d.ts +11 -11
  121. package/dist/react/ui/input-group.d.ts.map +1 -1
  122. package/dist/react/ui/input-otp.d.ts +8 -8
  123. package/dist/react/ui/input-otp.d.ts.map +1 -1
  124. package/dist/react/ui/input-otp.js +2 -2
  125. package/dist/react/ui/input-otp.js.map +1 -1
  126. package/dist/react/ui/input.d.ts +3 -3
  127. package/dist/react/ui/input.d.ts.map +1 -1
  128. package/dist/react/ui/item.d.ts +16 -16
  129. package/dist/react/ui/item.d.ts.map +1 -1
  130. package/dist/react/ui/kbd.d.ts +3 -3
  131. package/dist/react/ui/label.d.ts +3 -3
  132. package/dist/react/ui/label.d.ts.map +1 -1
  133. package/dist/react/ui/menubar.d.ts +22 -21
  134. package/dist/react/ui/menubar.d.ts.map +1 -1
  135. package/dist/react/ui/menubar.js +3 -1
  136. package/dist/react/ui/menubar.js.map +1 -1
  137. package/dist/react/ui/navigation-menu.d.ts +11 -11
  138. package/dist/react/ui/navigation-menu.d.ts.map +1 -1
  139. package/dist/react/ui/pagination.d.ts +10 -10
  140. package/dist/react/ui/pagination.d.ts.map +1 -1
  141. package/dist/react/ui/popover.d.ts +6 -6
  142. package/dist/react/ui/popover.d.ts.map +1 -1
  143. package/dist/react/ui/popover.js +11 -7
  144. package/dist/react/ui/popover.js.map +1 -1
  145. package/dist/react/ui/progress.d.ts +3 -3
  146. package/dist/react/ui/progress.d.ts.map +1 -1
  147. package/dist/react/ui/radio-group.d.ts +4 -4
  148. package/dist/react/ui/radio-group.d.ts.map +1 -1
  149. package/dist/react/ui/resizable.d.ts +6 -6
  150. package/dist/react/ui/resizable.d.ts.map +1 -1
  151. package/dist/react/ui/scroll-area.d.ts +4 -4
  152. package/dist/react/ui/scroll-area.d.ts.map +1 -1
  153. package/dist/react/ui/select.d.ts +13 -13
  154. package/dist/react/ui/select.d.ts.map +1 -1
  155. package/dist/react/ui/select.js +19 -15
  156. package/dist/react/ui/select.js.map +1 -1
  157. package/dist/react/ui/separator.d.ts +3 -3
  158. package/dist/react/ui/separator.d.ts.map +1 -1
  159. package/dist/react/ui/sheet.d.ts +11 -11
  160. package/dist/react/ui/sheet.d.ts.map +1 -1
  161. package/dist/react/ui/sheet.js +3 -1
  162. package/dist/react/ui/sheet.js.map +1 -1
  163. package/dist/react/ui/sidebar.d.ts +34 -34
  164. package/dist/react/ui/sidebar.d.ts.map +1 -1
  165. package/dist/react/ui/sidebar.js +10 -10
  166. package/dist/react/ui/sidebar.js.map +1 -1
  167. package/dist/react/ui/skeleton.d.ts +2 -2
  168. package/dist/react/ui/slider.d.ts +3 -3
  169. package/dist/react/ui/slider.d.ts.map +1 -1
  170. package/dist/react/ui/slider.js +2 -2
  171. package/dist/react/ui/slider.js.map +1 -1
  172. package/dist/react/ui/sonner.d.ts +2 -2
  173. package/dist/react/ui/spinner.d.ts +2 -2
  174. package/dist/react/ui/switch.d.ts +3 -3
  175. package/dist/react/ui/switch.d.ts.map +1 -1
  176. package/dist/react/ui/table.d.ts +10 -10
  177. package/dist/react/ui/table.d.ts.map +1 -1
  178. package/dist/react/ui/tabs.d.ts +6 -6
  179. package/dist/react/ui/tabs.d.ts.map +1 -1
  180. package/dist/react/ui/textarea.d.ts +3 -3
  181. package/dist/react/ui/textarea.d.ts.map +1 -1
  182. package/dist/react/ui/toggle-group.d.ts +5 -5
  183. package/dist/react/ui/toggle-group.d.ts.map +1 -1
  184. package/dist/react/ui/toggle-group.js +3 -3
  185. package/dist/react/ui/toggle-group.js.map +1 -1
  186. package/dist/react/ui/toggle.d.ts +3 -3
  187. package/dist/react/ui/toggle.d.ts.map +1 -1
  188. package/dist/react/ui/tooltip.d.ts +6 -6
  189. package/dist/react/ui/tooltip.d.ts.map +1 -1
  190. package/dist/react/ui/tooltip.js +11 -7
  191. package/dist/react/ui/tooltip.js.map +1 -1
  192. package/dist/shared/src/sql/helpers.js.map +1 -1
  193. package/llms.txt +89 -12
  194. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","names":["open"],"sources":["../../../src/react/ui/sidebar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { PanelLeftIcon } from \"lucide-react\";\n\nimport { useIsMobile } from \"../hooks/use-mobile\";\nimport { cn } from \"../lib/utils\";\nimport { Button } from \"./button\";\nimport { Input } from \"./input\";\nimport { Separator } from \"./separator\";\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"./sheet\";\nimport { Skeleton } from \"./skeleton\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"./tooltip\";\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\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"size-7\", className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"bg-background relative flex w-full flex-1 flex-col\",\n \"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\"bg-background h-8 w-full shadow-none\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"bg-sidebar-border mx-2 w-auto\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : \"button\";\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n size?: \"sm\" | \"md\";\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.js","names":["React","open"],"sources":["../../../src/react/ui/sidebar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { PanelLeftIcon } from \"lucide-react\";\n\nimport { useIsMobile } from \"../hooks/use-mobile\";\nimport { cn } from \"../lib/utils\";\nimport { Button } from \"./button\";\nimport { Input } from \"./input\";\nimport { Separator } from \"./separator\";\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from \"./sheet\";\nimport { Skeleton } from \"./skeleton\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"./tooltip\";\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\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"size-7\", className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"bg-background relative flex w-full flex-1 flex-col\",\n \"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\"bg-background h-8 w-full shadow-none\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"bg-sidebar-border mx-2 w-auto\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"div\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : \"button\";\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n size?: \"sm\" | \"md\";\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n \"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;AA2BA,MAAM,sBAAsB;AAC5B,MAAM,yBAAyB,OAAU,KAAK;AAC9C,MAAM,gBAAgB;AACtB,MAAM,uBAAuB;AAC7B,MAAM,qBAAqB;AAC3B,MAAM,4BAA4B;AAYlC,MAAM,iBAAiBA,QAAM,cAA0C,KAAK;AAE5E,SAAS,aAAa;CACpB,MAAM,UAAUA,QAAM,WAAW,eAAe;AAChD,KAAI,CAAC,QACH,OAAM,IAAI,MAAM,oDAAoD;AAGtE,QAAO;;AAGT,SAAS,gBAAgB,EACvB,cAAc,MACd,MAAM,UACN,cAAc,aACd,WACA,OACA,UACA,GAAG,SAKF;CACD,MAAM,WAAW,aAAa;CAC9B,MAAM,CAAC,YAAY,iBAAiBA,QAAM,SAAS,MAAM;CAIzD,MAAM,CAAC,OAAO,YAAYA,QAAM,SAAS,YAAY;CACrD,MAAM,OAAO,YAAY;CACzB,MAAM,UAAUA,QAAM,aACnB,UAAmD;EAClD,MAAM,YAAY,OAAO,UAAU,aAAa,MAAM,KAAK,GAAG;AAC9D,MAAI,YACF,aAAY,UAAU;MAEtB,UAAS,UAAU;AAIrB,WAAS,SAAS,GAAG,oBAAoB,GAAG,UAAU,oBAAoB;IAE5E,CAAC,aAAa,KAAK,CACpB;CAGD,MAAM,gBAAgBA,QAAM,kBAAkB;AAC5C,SAAO,WAAW,eAAe,WAAS,CAACC,OAAK,GAAG,SAAS,WAAS,CAACA,OAAK;IAC1E;EAAC;EAAU;EAAS;EAAc,CAAC;AAGtC,SAAM,gBAAgB;EACpB,MAAM,iBAAiB,UAAyB;AAC9C,OACE,MAAM,QAAQ,8BACb,MAAM,WAAW,MAAM,UACxB;AACA,UAAM,gBAAgB;AACtB,mBAAe;;;AAInB,SAAO,iBAAiB,WAAW,cAAc;AACjD,eAAa,OAAO,oBAAoB,WAAW,cAAc;IAChE,CAAC,cAAc,CAAC;CAInB,MAAM,QAAQ,OAAO,aAAa;CAElC,MAAM,eAAeD,QAAM,eAClB;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD,GACD;EAAC;EAAO;EAAM;EAAS;EAAU;EAAY;EAAe;EAAc,CAC3E;AAED,QACE,oBAAC,eAAe;EAAS,OAAO;YAC9B,oBAAC;GAAgB,eAAe;aAC9B,oBAAC;IACC,aAAU;IACV,OACE;KACE,mBAAmB;KACnB,wBAAwB;KACxB,GAAG;KACJ;IAEH,WAAW,GACT,mFACA,UACD;IACD,GAAI;IAEH;KACG;IACU;GACM;;AAI9B,SAAS,QAAQ,EACf,OAAO,QACP,UAAU,WACV,cAAc,aACd,WACA,UACA,GAAG,SAKF;CACD,MAAM,EAAE,UAAU,OAAO,YAAY,kBAAkB,YAAY;AAEnE,KAAI,gBAAgB,OAClB,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,+EACA,UACD;EACD,GAAI;EAEH;GACG;AAIV,KAAI,SACF,QACE,oBAAC;EAAM,MAAM;EAAY,cAAc;EAAe,GAAI;YACxD,qBAAC;GACC,gBAAa;GACb,aAAU;GACV,eAAY;GACZ,WAAU;GACV,OACE,EACE,mBAAmB,sBACpB;GAEG;cAEN,qBAAC;IAAY,WAAU;eACrB,oBAAC,wBAAW,YAAoB,EAChC,oBAAC,8BAAiB,iCAA+C;KACrD,EACd,oBAAC;IAAI,WAAU;IAA+B;KAAe;IAChD;GACT;AAIZ,QACE,qBAAC;EACC,WAAU;EACV,cAAY;EACZ,oBAAkB,UAAU,cAAc,cAAc;EACxD,gBAAc;EACd,aAAW;EACX,aAAU;aAGV,oBAAC;GACC,aAAU;GACV,WAAW,GACT,2FACA,0CACA,sCACA,YAAY,cAAc,YAAY,UAClC,qFACA,yDACL;IACD,EACF,oBAAC;GACC,aAAU;GACV,WAAW,GACT,wHACA,SAAS,SACL,mFACA,oFAEJ,YAAY,cAAc,YAAY,UAClC,6FACA,2HACJ,UACD;GACD,GAAI;aAEJ,oBAAC;IACC,gBAAa;IACb,aAAU;IACV,WAAU;IAET;KACG;IACF;GACF;;AAIV,SAAS,eAAe,EACtB,WACA,SACA,GAAG,SACmC;CACtC,MAAM,EAAE,kBAAkB,YAAY;AAEtC,QACE,qBAAC;EACC,gBAAa;EACb,aAAU;EACV,SAAQ;EACR,MAAK;EACL,WAAW,GAAG,UAAU,UAAU;EAClC,UAAU,UAAU;AAClB,aAAU,MAAM;AAChB,kBAAe;;EAEjB,GAAI;aAEJ,oBAAC,kBAAgB,EACjB,oBAAC;GAAK,WAAU;aAAU;IAAqB;GACxC;;AAIb,SAAS,YAAY,EAAE,WAAW,GAAG,SAAyC;CAC5E,MAAM,EAAE,kBAAkB,YAAY;AAEtC,QACE,oBAAC;EACC,gBAAa;EACb,aAAU;EACV,cAAW;EACX,UAAU;EACV,SAAS;EACT,OAAM;EACN,WAAW,GACT,mPACA,4EACA,0HACA,2JACA,6DACA,6DACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAuC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,sDACA,mNACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EACpB,WACA,GAAG,SACkC;AACrC,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,wCAAwC,UAAU;EAChE,GAAI;GACJ;;AAIN,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAI;GACJ;;AAIN,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SACsC;AACzC,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAsC;AAC5E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GACT,kGACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,6CAA6C,UAAU;EACrE,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,UAAU,OACV,GAAG,SACmD;AAGtD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,gBAAa;EACb,WAAW,GACT,4OACA,+EACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,UAAU,OACV,GAAG,SACsD;AAGzD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,gBAAa;EACb,WAAW,GACT,8RAEA,iDACA,wCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,kBAAkB,UAAU;EAC1C,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAqC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAqC;AAC5E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAI;GACJ;;AAIN,MAAM,4BAA4B,IAChC,qzBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SACE;GACH;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACL;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,SAAS,kBAAkB,EACzB,UAAU,OACV,WAAW,OACX,UAAU,WACV,OAAO,WACP,SACA,WACA,GAAG,SAK+C;CAClD,MAAM,OAAO,UAAU,OAAO;CAC9B,MAAM,EAAE,UAAU,UAAU,YAAY;CAExC,MAAM,SACJ,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,aAAW;EACX,eAAa;EACb,WAAW,GAAG,0BAA0B;GAAE;GAAS;GAAM,CAAC,EAAE,UAAU;EACtE,GAAI;GACJ;AAGJ,KAAI,CAAC,QACH,QAAO;AAGT,KAAI,OAAO,YAAY,SACrB,WAAU,EACR,UAAU,SACX;AAGH,QACE,qBAAC,sBACC,oBAAC;EAAe;YAAS;GAAwB,EACjD,oBAAC;EACC,MAAK;EACL,OAAM;EACN,QAAQ,UAAU,eAAe;EACjC,GAAI;GACJ,IACM;;AAId,SAAS,kBAAkB,EACzB,WACA,UAAU,OACV,cAAc,OACd,GAAG,SAIF;AAGD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,gBAAa;EACb,WAAW,GACT,oVAEA,iDACA,yCACA,gDACA,2CACA,wCACA,eACE,4LACF,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EACxB,WACA,GAAG,SAC2B;AAC9B,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GACT,0KACA,4HACA,yCACA,gDACA,2CACA,wCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,WACA,WAAW,OACX,GAAG,SAGF;CAED,MAAM,QAAQA,QAAM,cAAc;AAChC,SAAO,GAAG,KAAK,MAAM,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG;IAC7C,EAAE,CAAC;AAEN,QACE,qBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,+CAA+C,UAAU;EACvE,GAAI;aAEH,YACC,oBAAC;GACC,WAAU;GACV,gBAAa;IACb,EAEJ,oBAAC;GACC,WAAU;GACV,gBAAa;GACb,OACE,EACE,oBAAoB,OACrB;IAEH;GACE;;AAIV,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GACT,kGACA,wCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SAC0B;AAC7B,QACE,oBAAC;EACC,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,gCAAgC,UAAU;EACxD,GAAI;GACJ;;AAIN,SAAS,qBAAqB,EAC5B,UAAU,OACV,OAAO,MACP,WAAW,OACX,WACA,GAAG,SAKF;AAGD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,gBAAa;EACb,aAAW;EACX,eAAa;EACb,WAAW,GACT,ifACA,0FACA,SAAS,QAAQ,WACjB,SAAS,QAAQ,WACjB,wCACA,UACD;EACD,GAAI;GACJ"}
@@ -1,10 +1,10 @@
1
- import * as react_jsx_runtime248 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime255 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/react/ui/skeleton.d.ts
4
4
  declare function Skeleton({
5
5
  className,
6
6
  ...props
7
- }: React.ComponentProps<"div">): react_jsx_runtime248.JSX.Element;
7
+ }: React.ComponentProps<"div">): react_jsx_runtime255.JSX.Element;
8
8
  //#endregion
9
9
  export { Skeleton };
10
10
  //# sourceMappingURL=skeleton.d.ts.map
@@ -1,5 +1,5 @@
1
- import * as React from "react";
2
- import * as react_jsx_runtime249 from "react/jsx-runtime";
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime257 from "react/jsx-runtime";
3
3
  import * as SliderPrimitive from "@radix-ui/react-slider";
4
4
 
5
5
  //#region src/react/ui/slider.d.ts
@@ -10,7 +10,7 @@ declare function Slider({
10
10
  min,
11
11
  max,
12
12
  ...props
13
- }: React.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime249.JSX.Element;
13
+ }: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime257.JSX.Element;
14
14
  //#endregion
15
15
  export { Slider };
16
16
  //# sourceMappingURL=slider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","names":[],"sources":["../../../src/react/ui/slider.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,MAAA;;;;;;;GAON,KAAA,CAAM,sBAAsB,eAAA,CAAgB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"slider.d.ts","names":[],"sources":["../../../src/react/ui/slider.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,MAAA;;;;;;;GAON,OAAA,CAAM,sBAAsB,eAAA,CAAgB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
@@ -1,13 +1,13 @@
1
1
  "use client";
2
2
 
3
3
  import { cn } from "../lib/utils.js";
4
- import * as React from "react";
4
+ import * as React$1 from "react";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import * as SliderPrimitive from "@radix-ui/react-slider";
7
7
 
8
8
  //#region src/react/ui/slider.tsx
9
9
  function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }) {
10
- const _values = React.useMemo(() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max], [
10
+ const _values = React$1.useMemo(() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [min, max], [
11
11
  value,
12
12
  defaultValue,
13
13
  min,
@@ -1 +1 @@
1
- {"version":3,"file":"slider.js","names":[],"sources":["../../../src/react/ui/slider.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max],\n );\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n \"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n className,\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n \"bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\",\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n \"bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\",\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\n />\n ))}\n </SliderPrimitive.Root>\n );\n}\n\nexport { Slider };\n"],"mappings":";;;;;;;;AAOA,SAAS,OAAO,EACd,WACA,cACA,OACA,MAAM,GACN,MAAM,KACN,GAAG,SACiD;CACpD,MAAM,UAAU,MAAM,cAElB,MAAM,QAAQ,MAAM,GAChB,QACA,MAAM,QAAQ,aAAa,GACzB,eACA,CAAC,KAAK,IAAI,EAClB;EAAC;EAAO;EAAc;EAAK;EAAI,CAChC;AAED,QACE,qBAAC,gBAAgB;EACf,aAAU;EACI;EACP;EACF;EACA;EACL,WAAW,GACT,uOACA,UACD;EACD,GAAI;aAEJ,oBAAC,gBAAgB;GACf,aAAU;GACV,WAAW,GACT,oMACD;aAED,oBAAC,gBAAgB;IACf,aAAU;IACV,WAAW,GACT,8FACD;KACD;IACoB,EACvB,MAAM,KAAK,EAAE,QAAQ,QAAQ,QAAQ,GAAG,GAAG,UAC1C,oBAAC,gBAAgB;GACf,aAAU;GAEV,WAAU;KADL,MAEL,CACF;GACmB"}
1
+ {"version":3,"file":"slider.js","names":["React"],"sources":["../../../src/react/ui/slider.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Slider({\n className,\n defaultValue,\n value,\n min = 0,\n max = 100,\n ...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n const _values = React.useMemo(\n () =>\n Array.isArray(value)\n ? value\n : Array.isArray(defaultValue)\n ? defaultValue\n : [min, max],\n [value, defaultValue, min, max],\n );\n\n return (\n <SliderPrimitive.Root\n data-slot=\"slider\"\n defaultValue={defaultValue}\n value={value}\n min={min}\n max={max}\n className={cn(\n \"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n className,\n )}\n {...props}\n >\n <SliderPrimitive.Track\n data-slot=\"slider-track\"\n className={cn(\n \"bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\",\n )}\n >\n <SliderPrimitive.Range\n data-slot=\"slider-range\"\n className={cn(\n \"bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\",\n )}\n />\n </SliderPrimitive.Track>\n {Array.from({ length: _values.length }, (_, index) => (\n <SliderPrimitive.Thumb\n data-slot=\"slider-thumb\"\n key={index}\n className=\"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\n />\n ))}\n </SliderPrimitive.Root>\n );\n}\n\nexport { Slider };\n"],"mappings":";;;;;;;;AAOA,SAAS,OAAO,EACd,WACA,cACA,OACA,MAAM,GACN,MAAM,KACN,GAAG,SACiD;CACpD,MAAM,UAAUA,QAAM,cAElB,MAAM,QAAQ,MAAM,GAChB,QACA,MAAM,QAAQ,aAAa,GACzB,eACA,CAAC,KAAK,IAAI,EAClB;EAAC;EAAO;EAAc;EAAK;EAAI,CAChC;AAED,QACE,qBAAC,gBAAgB;EACf,aAAU;EACI;EACP;EACF;EACA;EACL,WAAW,GACT,uOACA,UACD;EACD,GAAI;aAEJ,oBAAC,gBAAgB;GACf,aAAU;GACV,WAAW,GACT,oMACD;aAED,oBAAC,gBAAgB;IACf,aAAU;IACV,WAAW,GACT,8FACD;KACD;IACoB,EACvB,MAAM,KAAK,EAAE,QAAQ,QAAQ,QAAQ,GAAG,GAAG,UAC1C,oBAAC,gBAAgB;GACf,aAAU;GAEV,WAAU;KADL,MAEL,CACF;GACmB"}
@@ -1,10 +1,10 @@
1
- import * as react_jsx_runtime250 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime258 from "react/jsx-runtime";
2
2
  import { ToasterProps } from "sonner";
3
3
 
4
4
  //#region src/react/ui/sonner.d.ts
5
5
  declare const Toaster$1: ({
6
6
  ...props
7
- }: ToasterProps) => react_jsx_runtime250.JSX.Element;
7
+ }: ToasterProps) => react_jsx_runtime258.JSX.Element;
8
8
  //#endregion
9
9
  export { Toaster$1 as Toaster };
10
10
  //# sourceMappingURL=sonner.d.ts.map
@@ -1,10 +1,10 @@
1
- import * as react_jsx_runtime251 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime219 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/react/ui/spinner.d.ts
4
4
  declare function Spinner({
5
5
  className,
6
6
  ...props
7
- }: React.ComponentProps<"svg">): react_jsx_runtime251.JSX.Element;
7
+ }: React.ComponentProps<"svg">): react_jsx_runtime219.JSX.Element;
8
8
  //#endregion
9
9
  export { Spinner };
10
10
  //# sourceMappingURL=spinner.d.ts.map
@@ -1,12 +1,12 @@
1
- import * as React from "react";
2
- import * as react_jsx_runtime252 from "react/jsx-runtime";
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime256 from "react/jsx-runtime";
3
3
  import * as SwitchPrimitive from "@radix-ui/react-switch";
4
4
 
5
5
  //#region src/react/ui/switch.d.ts
6
6
  declare function Switch({
7
7
  className,
8
8
  ...props
9
- }: React.ComponentProps<typeof SwitchPrimitive.Root>): react_jsx_runtime252.JSX.Element;
9
+ }: React$1.ComponentProps<typeof SwitchPrimitive.Root>): react_jsx_runtime256.JSX.Element;
10
10
  //#endregion
11
11
  export { Switch };
12
12
  //# sourceMappingURL=switch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"switch.d.ts","names":[],"sources":["../../../src/react/ui/switch.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,MAAA;;;GAGN,KAAA,CAAM,sBAAsB,eAAA,CAAgB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"switch.d.ts","names":[],"sources":["../../../src/react/ui/switch.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,MAAA;;;GAGN,OAAA,CAAM,sBAAsB,eAAA,CAAgB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
@@ -1,39 +1,39 @@
1
- import * as React from "react";
2
- import * as react_jsx_runtime253 from "react/jsx-runtime";
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime259 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/react/ui/table.d.ts
5
5
  declare function Table({
6
6
  className,
7
7
  ...props
8
- }: React.ComponentProps<"table">): react_jsx_runtime253.JSX.Element;
8
+ }: React$1.ComponentProps<"table">): react_jsx_runtime259.JSX.Element;
9
9
  declare function TableHeader({
10
10
  className,
11
11
  ...props
12
- }: React.ComponentProps<"thead">): react_jsx_runtime253.JSX.Element;
12
+ }: React$1.ComponentProps<"thead">): react_jsx_runtime259.JSX.Element;
13
13
  declare function TableBody({
14
14
  className,
15
15
  ...props
16
- }: React.ComponentProps<"tbody">): react_jsx_runtime253.JSX.Element;
16
+ }: React$1.ComponentProps<"tbody">): react_jsx_runtime259.JSX.Element;
17
17
  declare function TableFooter({
18
18
  className,
19
19
  ...props
20
- }: React.ComponentProps<"tfoot">): react_jsx_runtime253.JSX.Element;
20
+ }: React$1.ComponentProps<"tfoot">): react_jsx_runtime259.JSX.Element;
21
21
  declare function TableRow({
22
22
  className,
23
23
  ...props
24
- }: React.ComponentProps<"tr">): react_jsx_runtime253.JSX.Element;
24
+ }: React$1.ComponentProps<"tr">): react_jsx_runtime259.JSX.Element;
25
25
  declare function TableHead({
26
26
  className,
27
27
  ...props
28
- }: React.ComponentProps<"th">): react_jsx_runtime253.JSX.Element;
28
+ }: React$1.ComponentProps<"th">): react_jsx_runtime259.JSX.Element;
29
29
  declare function TableCell({
30
30
  className,
31
31
  ...props
32
- }: React.ComponentProps<"td">): react_jsx_runtime253.JSX.Element;
32
+ }: React$1.ComponentProps<"td">): react_jsx_runtime259.JSX.Element;
33
33
  declare function TableCaption({
34
34
  className,
35
35
  ...props
36
- }: React.ComponentProps<"caption">): react_jsx_runtime253.JSX.Element;
36
+ }: React$1.ComponentProps<"caption">): react_jsx_runtime259.JSX.Element;
37
37
  //#endregion
38
38
  export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
39
39
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","names":[],"sources":["../../../src/react/ui/table.tsx"],"sourcesContent":[],"mappings":";;;;iBAIS,KAAA;;;GAA+B,KAAA,CAAM,0BAAuB,oBAAA,CAAA,GAAA,CAAA;iBAe5D,WAAA;;;GAAqC,KAAA,CAAM,0BAAuB,oBAAA,CAAA,GAAA,CAAA;iBAUlE,SAAA;;;GAAmC,KAAA,CAAM,0BAAuB,oBAAA,CAAA,GAAA,CAAA;AA7BrC,iBAuC3B,WAAA,CAnCK;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAmCgC,KAAA,CAAM,cAnCtC,CAAA,OAAA,CAAA,CAAA,EAmC6D,oBAAA,CAAA,GAAA,CAAA,OAnC7D;iBAgDL,QAAA,CAhDK;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgD6B,KAAA,CAAM,cAhDnC,CAAA,IAAA,CAAA,CAAA,EAgDuD,oBAAA,CAAA,GAAA,CAAA,OAhDvD;iBA6DL,SAAA,CA7DQ;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6D2B,KAAA,CAAM,cA7DjC,CAAA,IAAA,CAAA,CAAA,EA6DqD,oBAAA,CAAA,GAAA,CAAA,OA7DrD;iBA0ER,SAAA,CA1EqC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0EF,KAAA,CAAM,cA1EJ,CAAA,IAAA,CAAA,CAAA,EA0EwB,oBAAA,CAAA,GAAA,CAAA,OA1ExB;iBAuFrC,YAAA,CAvF4D;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0FlE,KAAA,CAAM,cA1F4D,CAAA,SAAA,CAAA,CAAA,EA0FnC,oBAAA,CAAA,GAAA,CAAA,OA1FmC"}
1
+ {"version":3,"file":"table.d.ts","names":[],"sources":["../../../src/react/ui/table.tsx"],"sourcesContent":[],"mappings":";;;;iBAIS,KAAA;;;GAA+B,OAAA,CAAM,0BAAuB,oBAAA,CAAA,GAAA,CAAA;iBAe5D,WAAA;;;GAAqC,OAAA,CAAM,0BAAuB,oBAAA,CAAA,GAAA,CAAA;iBAUlE,SAAA;;;GAAmC,OAAA,CAAM,0BAAuB,oBAAA,CAAA,GAAA,CAAA;AA7BrC,iBAuC3B,WAAA,CAnCK;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAmCgC,OAAA,CAAM,cAnCtC,CAAA,OAAA,CAAA,CAAA,EAmC6D,oBAAA,CAAA,GAAA,CAAA,OAnC7D;iBAgDL,QAAA,CAhDK;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgD6B,OAAA,CAAM,cAhDnC,CAAA,IAAA,CAAA,CAAA,EAgDuD,oBAAA,CAAA,GAAA,CAAA,OAhDvD;iBA6DL,SAAA,CA7DQ;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6D2B,OAAA,CAAM,cA7DjC,CAAA,IAAA,CAAA,CAAA,EA6DqD,oBAAA,CAAA,GAAA,CAAA,OA7DrD;iBA0ER,SAAA,CA1EqC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0EF,OAAA,CAAM,cA1EJ,CAAA,IAAA,CAAA,CAAA,EA0EwB,oBAAA,CAAA,GAAA,CAAA,OA1ExB;iBAuFrC,YAAA,CAvF4D;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0FlE,OAAA,CAAM,cA1F4D,CAAA,SAAA,CAAA,CAAA,EA0FnC,oBAAA,CAAA,GAAA,CAAA,OA1FmC"}
@@ -1,24 +1,24 @@
1
- import * as React from "react";
2
- import * as react_jsx_runtime261 from "react/jsx-runtime";
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime271 from "react/jsx-runtime";
3
3
  import * as TabsPrimitive from "@radix-ui/react-tabs";
4
4
 
5
5
  //#region src/react/ui/tabs.d.ts
6
6
  declare function Tabs({
7
7
  className,
8
8
  ...props
9
- }: React.ComponentProps<typeof TabsPrimitive.Root>): react_jsx_runtime261.JSX.Element;
9
+ }: React$1.ComponentProps<typeof TabsPrimitive.Root>): react_jsx_runtime271.JSX.Element;
10
10
  declare function TabsList({
11
11
  className,
12
12
  ...props
13
- }: React.ComponentProps<typeof TabsPrimitive.List>): react_jsx_runtime261.JSX.Element;
13
+ }: React$1.ComponentProps<typeof TabsPrimitive.List>): react_jsx_runtime271.JSX.Element;
14
14
  declare function TabsTrigger({
15
15
  className,
16
16
  ...props
17
- }: React.ComponentProps<typeof TabsPrimitive.Trigger>): react_jsx_runtime261.JSX.Element;
17
+ }: React$1.ComponentProps<typeof TabsPrimitive.Trigger>): react_jsx_runtime271.JSX.Element;
18
18
  declare function TabsContent({
19
19
  className,
20
20
  ...props
21
- }: React.ComponentProps<typeof TabsPrimitive.Content>): react_jsx_runtime261.JSX.Element;
21
+ }: React$1.ComponentProps<typeof TabsPrimitive.Content>): react_jsx_runtime271.JSX.Element;
22
22
  //#endregion
23
23
  export { Tabs, TabsContent, TabsList, TabsTrigger };
24
24
  //# sourceMappingURL=tabs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","names":[],"sources":["../../../src/react/ui/tabs.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,IAAA;;;GAGN,KAAA,CAAM,sBAAsB,aAAA,CAAc,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAUzC,QAAA;;;GAGN,KAAA,CAAM,sBAAsB,aAAA,CAAc,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAazC,WAAA;;;GAGN,KAAA,CAAM,sBAAsB,aAAA,CAAc,WAAQ,oBAAA,CAAA,GAAA,CAAA;AApCC,iBAiD7C,WAAA,CA7CI;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgDV,KAAA,CAAM,cAhDI,CAAA,OAgDkB,aAAA,CAAc,OAhDhC,CAAA,CAAA,EAgDwC,oBAAA,CAAA,GAAA,CAAA,OAhDxC"}
1
+ {"version":3,"file":"tabs.d.ts","names":[],"sources":["../../../src/react/ui/tabs.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,IAAA;;;GAGN,OAAA,CAAM,sBAAsB,aAAA,CAAc,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAUzC,QAAA;;;GAGN,OAAA,CAAM,sBAAsB,aAAA,CAAc,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAazC,WAAA;;;GAGN,OAAA,CAAM,sBAAsB,aAAA,CAAc,WAAQ,oBAAA,CAAA,GAAA,CAAA;AApCC,iBAiD7C,WAAA,CA7CI;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgDV,OAAA,CAAM,cAhDI,CAAA,OAgDkB,aAAA,CAAc,OAhDhC,CAAA,CAAA,EAgDwC,oBAAA,CAAA,GAAA,CAAA,OAhDxC"}
@@ -1,11 +1,11 @@
1
- import * as React from "react";
2
- import * as react_jsx_runtime265 from "react/jsx-runtime";
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime268 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/react/ui/textarea.d.ts
5
5
  declare function Textarea({
6
6
  className,
7
7
  ...props
8
- }: React.ComponentProps<"textarea">): react_jsx_runtime265.JSX.Element;
8
+ }: React$1.ComponentProps<"textarea">): react_jsx_runtime268.JSX.Element;
9
9
  //#endregion
10
10
  export { Textarea };
11
11
  //# sourceMappingURL=textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.d.ts","names":[],"sources":["../../../src/react/ui/textarea.tsx"],"sourcesContent":[],"mappings":";;;;iBAIS,QAAA;;;GAAkC,KAAA,CAAM,6BAA0B,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"textarea.d.ts","names":[],"sources":["../../../src/react/ui/textarea.tsx"],"sourcesContent":[],"mappings":";;;;iBAIS,QAAA;;;GAAkC,OAAA,CAAM,6BAA0B,oBAAA,CAAA,GAAA,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { toggleVariants } from "./toggle.js";
2
- import * as React from "react";
3
- import * as react_jsx_runtime267 from "react/jsx-runtime";
2
+ import * as React$1 from "react";
3
+ import * as react_jsx_runtime269 from "react/jsx-runtime";
4
4
  import { VariantProps } from "class-variance-authority";
5
5
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
6
6
 
@@ -12,16 +12,16 @@ declare function ToggleGroup({
12
12
  spacing,
13
13
  children,
14
14
  ...props
15
- }: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants> & {
15
+ }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants> & {
16
16
  spacing?: number;
17
- }): react_jsx_runtime267.JSX.Element;
17
+ }): react_jsx_runtime269.JSX.Element;
18
18
  declare function ToggleGroupItem({
19
19
  className,
20
20
  children,
21
21
  variant,
22
22
  size,
23
23
  ...props
24
- }: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime267.JSX.Element;
24
+ }: React$1.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>): react_jsx_runtime269.JSX.Element;
25
25
  //#endregion
26
26
  export { ToggleGroup, ToggleGroupItem };
27
27
  //# sourceMappingURL=toggle-group.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.d.ts","names":[],"sources":["../../../src/react/ui/toggle-group.tsx"],"sourcesContent":[],"mappings":";;;;;;;iBAiBS,WAAA;;;;;;;GAON,KAAA,CAAM,sBAAsB,oBAAA,CAAqB,QAClD,oBAAoB;;IAEnB,oBAAA,CAAA,GAAA,CAAA;AAtBuC,iBA2CjC,eAAA,CA/BW;EAAA,SAAA;EAAA,QAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAqCjB,KAAA,CAAM,cArCW,CAAA,OAqCW,oBAAA,CAAqB,IArChC,CAAA,GAsClB,YAtCkB,CAAA,OAsCE,cAtCF,CAAA,CAAA,EAsCiB,oBAAA,CAAA,GAAA,CAAA,OAtCjB"}
1
+ {"version":3,"file":"toggle-group.d.ts","names":[],"sources":["../../../src/react/ui/toggle-group.tsx"],"sourcesContent":[],"mappings":";;;;;;;iBAiBS,WAAA;;;;;;;GAON,OAAA,CAAM,sBAAsB,oBAAA,CAAqB,QAClD,oBAAoB;;IAEnB,oBAAA,CAAA,GAAA,CAAA;AAtBuC,iBA2CjC,eAAA,CA/BW;EAAA,SAAA;EAAA,QAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAqCjB,OAAA,CAAM,cArCW,CAAA,OAqCW,oBAAA,CAAqB,IArChC,CAAA,GAsClB,YAtCkB,CAAA,OAsCE,cAtCF,CAAA,CAAA,EAsCiB,oBAAA,CAAA,GAAA,CAAA,OAtCjB"}
@@ -1,11 +1,11 @@
1
1
  import { cn } from "../lib/utils.js";
2
2
  import { toggleVariants } from "./toggle.js";
3
- import * as React from "react";
3
+ import * as React$1 from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
6
6
 
7
7
  //#region src/react/ui/toggle-group.tsx
8
- const ToggleGroupContext = React.createContext({
8
+ const ToggleGroupContext = React$1.createContext({
9
9
  size: "default",
10
10
  variant: "default",
11
11
  spacing: 0
@@ -30,7 +30,7 @@ function ToggleGroup({ className, variant, size, spacing = 0, children, ...props
30
30
  });
31
31
  }
32
32
  function ToggleGroupItem({ className, children, variant, size, ...props }) {
33
- const context = React.useContext(ToggleGroupContext);
33
+ const context = React$1.useContext(ToggleGroupContext);
34
34
  return /* @__PURE__ */ jsx(ToggleGroupPrimitive.Item, {
35
35
  "data-slot": "toggle-group-item",
36
36
  "data-variant": context.variant || variant,
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-group.js","names":[],"sources":["../../../src/react/ui/toggle-group.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\";\nimport type { VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\nimport { toggleVariants } from \"./toggle\";\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n }\n>({\n size: \"default\",\n variant: \"default\",\n spacing: 0,\n});\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs\",\n className,\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size, spacing }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n );\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n \"w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10\",\n \"data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l\",\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n"],"mappings":";;;;;;;AAOA,MAAM,qBAAqB,MAAM,cAI/B;CACA,MAAM;CACN,SAAS;CACT,SAAS;CACV,CAAC;AAEF,SAAS,YAAY,EACnB,WACA,SACA,MACA,UAAU,GACV,UACA,GAAG,SAIA;AACH,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,gBAAc;EACd,aAAW;EACX,gBAAc;EACd,OAAO,EAAE,SAAS,SAAS;EAC3B,WAAW,GACT,6IACA,UACD;EACD,GAAI;YAEJ,oBAAC,mBAAmB;GAAS,OAAO;IAAE;IAAS;IAAM;IAAS;GAC3D;IAC2B;GACJ;;AAIhC,SAAS,gBAAgB,EACvB,WACA,UACA,SACA,MACA,GAAG,SAEkC;CACrC,MAAM,UAAU,MAAM,WAAW,mBAAmB;AAEpD,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,gBAAc,QAAQ,WAAW;EACjC,aAAW,QAAQ,QAAQ;EAC3B,gBAAc,QAAQ;EACtB,WAAW,GACT,eAAe;GACb,SAAS,QAAQ,WAAW;GAC5B,MAAM,QAAQ,QAAQ;GACvB,CAAC,EACF,8DACA,+OACA,UACD;EACD,GAAI;EAEH;GACyB"}
1
+ {"version":3,"file":"toggle-group.js","names":["React"],"sources":["../../../src/react/ui/toggle-group.tsx"],"sourcesContent":["import * as React from \"react\";\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\";\nimport type { VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\nimport { toggleVariants } from \"./toggle\";\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n }\n>({\n size: \"default\",\n variant: \"default\",\n spacing: 0,\n});\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit items-center gap-[--spacing(var(--gap))] rounded-md data-[spacing=default]:data-[variant=outline]:shadow-xs\",\n className,\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size, spacing }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n );\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n \"w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10\",\n \"data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l\",\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n"],"mappings":";;;;;;;AAOA,MAAM,qBAAqBA,QAAM,cAI/B;CACA,MAAM;CACN,SAAS;CACT,SAAS;CACV,CAAC;AAEF,SAAS,YAAY,EACnB,WACA,SACA,MACA,UAAU,GACV,UACA,GAAG,SAIA;AACH,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,gBAAc;EACd,aAAW;EACX,gBAAc;EACd,OAAO,EAAE,SAAS,SAAS;EAC3B,WAAW,GACT,6IACA,UACD;EACD,GAAI;YAEJ,oBAAC,mBAAmB;GAAS,OAAO;IAAE;IAAS;IAAM;IAAS;GAC3D;IAC2B;GACJ;;AAIhC,SAAS,gBAAgB,EACvB,WACA,UACA,SACA,MACA,GAAG,SAEkC;CACrC,MAAM,UAAUA,QAAM,WAAW,mBAAmB;AAEpD,QACE,oBAAC,qBAAqB;EACpB,aAAU;EACV,gBAAc,QAAQ,WAAW;EACjC,aAAW,QAAQ,QAAQ;EAC3B,gBAAc,QAAQ;EACtB,WAAW,GACT,eAAe;GACb,SAAS,QAAQ,WAAW;GAC5B,MAAM,QAAQ,QAAQ;GACvB,CAAC,EACF,8DACA,+OACA,UACD;EACD,GAAI;EAEH;GACyB"}
@@ -1,5 +1,5 @@
1
- import * as React from "react";
2
- import * as react_jsx_runtime266 from "react/jsx-runtime";
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime267 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as TogglePrimitive from "@radix-ui/react-toggle";
5
5
  import * as class_variance_authority_types11 from "class-variance-authority/types";
@@ -14,7 +14,7 @@ declare function Toggle({
14
14
  variant,
15
15
  size,
16
16
  ...props
17
- }: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime266.JSX.Element;
17
+ }: React$1.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime267.JSX.Element;
18
18
  //#endregion
19
19
  export { Toggle, toggleVariants };
20
20
  //# sourceMappingURL=toggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.d.ts","names":[],"sources":["../../../src/react/ui/toggle.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAMM;;;IAoBL,gCAAA,CAAA;AAxBiE,iBA0BzD,MAAA,CAFR;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAOE,KAAA,CAAM,cAPR,CAAA,OAO8B,eAAA,CAAgB,IAP9C,CAAA,GAQC,YARD,CAAA,OAQqB,cARrB,CAAA,CAAA,EAQoC,oBAAA,CAAA,GAAA,CAAA,OARpC"}
1
+ {"version":3,"file":"toggle.d.ts","names":[],"sources":["../../../src/react/ui/toggle.tsx"],"sourcesContent":[],"mappings":";;;;;;;cAMM;;;IAoBL,gCAAA,CAAA;AAxBiE,iBA0BzD,MAAA,CAFR;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAOE,OAAA,CAAM,cAPR,CAAA,OAO8B,eAAA,CAAgB,IAP9C,CAAA,GAQC,YARD,CAAA,OAQqB,cARrB,CAAA,CAAA,EAQoC,oBAAA,CAAA,GAAA,CAAA,OARpC"}
@@ -1,24 +1,24 @@
1
- import * as React from "react";
2
- import * as react_jsx_runtime269 from "react/jsx-runtime";
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime228 from "react/jsx-runtime";
3
3
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
4
4
 
5
5
  //#region src/react/ui/tooltip.d.ts
6
6
  declare function TooltipProvider({
7
7
  delayDuration,
8
8
  ...props
9
- }: React.ComponentProps<typeof TooltipPrimitive.Provider>): react_jsx_runtime269.JSX.Element;
9
+ }: React$1.ComponentProps<typeof TooltipPrimitive.Provider>): react_jsx_runtime228.JSX.Element;
10
10
  declare function Tooltip({
11
11
  ...props
12
- }: React.ComponentProps<typeof TooltipPrimitive.Root>): react_jsx_runtime269.JSX.Element;
12
+ }: React$1.ComponentProps<typeof TooltipPrimitive.Root>): react_jsx_runtime228.JSX.Element;
13
13
  declare function TooltipTrigger({
14
14
  ...props
15
- }: React.ComponentProps<typeof TooltipPrimitive.Trigger>): react_jsx_runtime269.JSX.Element;
15
+ }: React$1.ComponentProps<typeof TooltipPrimitive.Trigger>): react_jsx_runtime228.JSX.Element;
16
16
  declare function TooltipContent({
17
17
  className,
18
18
  sideOffset,
19
19
  children,
20
20
  ...props
21
- }: React.ComponentProps<typeof TooltipPrimitive.Content>): react_jsx_runtime269.JSX.Element;
21
+ }: React$1.ComponentProps<typeof TooltipPrimitive.Content>): react_jsx_runtime228.JSX.Element;
22
22
  //#endregion
23
23
  export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
24
24
  //# sourceMappingURL=tooltip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","names":[],"sources":["../../../src/react/ui/tooltip.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,eAAA;;;GAGN,KAAA,CAAM,sBAAsB,gBAAA,CAAiB,YAAS,oBAAA,CAAA,GAAA,CAAA;iBAUhD,OAAA;;GAEN,KAAA,CAAM,sBAAsB,gBAAA,CAAiB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAQ5C,cAAA;;GAEN,KAAA,CAAM,sBAAsB,gBAAA,CAAiB,WAAQ,oBAAA,CAAA,GAAA,CAAA;AA7BI,iBAiCnD,cAAA,CA7Be;EAAA,SAAA;EAAA,UAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAkCrB,KAAA,CAAM,cAlCe,CAAA,OAkCO,gBAAA,CAAiB,OAlCxB,CAAA,CAAA,EAkCgC,oBAAA,CAAA,GAAA,CAAA,OAlChC"}
1
+ {"version":3,"file":"tooltip.d.ts","names":[],"sources":["../../../src/react/ui/tooltip.tsx"],"sourcesContent":[],"mappings":";;;;;iBAQS,eAAA;;;GAGN,OAAA,CAAM,sBAAsB,gBAAA,CAAiB,YAAS,oBAAA,CAAA,GAAA,CAAA;iBAUhD,OAAA;;GAEN,OAAA,CAAM,sBAAsB,gBAAA,CAAiB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAQ5C,cAAA;;GAEN,OAAA,CAAM,sBAAsB,gBAAA,CAAiB,WAAQ,oBAAA,CAAA,GAAA,CAAA;AA9BI,iBAkCnD,cAAA,CA7Be;EAAA,SAAA;EAAA,UAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAkCrB,OAAA,CAAM,cAlCe,CAAA,OAkCO,gBAAA,CAAiB,OAlCxB,CAAA,CAAA,EAkCgC,oBAAA,CAAA,GAAA,CAAA,OAlChC"}
@@ -1,5 +1,6 @@
1
1
  "use client";
2
2
 
3
+ import { useResolvedPortalContainer } from "../portal-container-context.js";
3
4
  import { cn } from "../lib/utils.js";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
5
6
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
@@ -25,13 +26,16 @@ function TooltipTrigger({ ...props }) {
25
26
  });
26
27
  }
27
28
  function TooltipContent({ className, sideOffset = 0, children, ...props }) {
28
- return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { children: /* @__PURE__ */ jsxs(TooltipPrimitive.Content, {
29
- "data-slot": "tooltip-content",
30
- sideOffset,
31
- className: cn("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", className),
32
- ...props,
33
- children: [children, /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
34
- }) });
29
+ return /* @__PURE__ */ jsx(TooltipPrimitive.Portal, {
30
+ container: useResolvedPortalContainer(),
31
+ children: /* @__PURE__ */ jsxs(TooltipPrimitive.Content, {
32
+ "data-slot": "tooltip-content",
33
+ sideOffset,
34
+ className: cn("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", className),
35
+ ...props,
36
+ children: [children, /* @__PURE__ */ jsx(TooltipPrimitive.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })]
37
+ })
38
+ });
35
39
  }
36
40
 
37
41
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.js","names":[],"sources":["../../../src/react/ui/tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"mappings":";;;;;;;AAOA,SAAS,gBAAgB,EACvB,gBAAgB,GAChB,GAAG,SACsD;AACzD,QACE,oBAAC,iBAAiB;EAChB,aAAU;EACK;EACf,GAAI;GACJ;;AAIN,SAAS,QAAQ,EACf,GAAG,SACkD;AACrD,QACE,oBAAC,6BACC,oBAAC,iBAAiB;EAAK,aAAU;EAAU,GAAI;GAAS,GACxC;;AAItB,SAAS,eAAe,EACtB,GAAG,SACqD;AACxD,QAAO,oBAAC,iBAAiB;EAAQ,aAAU;EAAkB,GAAI;GAAS;;AAG5E,SAAS,eAAe,EACtB,WACA,aAAa,GACb,UACA,GAAG,SACqD;AACxD,QACE,oBAAC,iBAAiB,oBAChB,qBAAC,iBAAiB;EAChB,aAAU;EACE;EACZ,WAAW,GACT,qaACA,UACD;EACD,GAAI;aAEH,UACD,oBAAC,iBAAiB,SAAM,WAAU,uGAAuG;GAChH,GACH"}
1
+ {"version":3,"file":"tooltip.js","names":[],"sources":["../../../src/react/ui/tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\n\nimport { cn } from \"../lib/utils\";\nimport { useResolvedPortalContainer } from \"../portal-container-context\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal container={useResolvedPortalContainer()}>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n"],"mappings":";;;;;;;;AAQA,SAAS,gBAAgB,EACvB,gBAAgB,GAChB,GAAG,SACsD;AACzD,QACE,oBAAC,iBAAiB;EAChB,aAAU;EACK;EACf,GAAI;GACJ;;AAIN,SAAS,QAAQ,EACf,GAAG,SACkD;AACrD,QACE,oBAAC,6BACC,oBAAC,iBAAiB;EAAK,aAAU;EAAU,GAAI;GAAS,GACxC;;AAItB,SAAS,eAAe,EACtB,GAAG,SACqD;AACxD,QAAO,oBAAC,iBAAiB;EAAQ,aAAU;EAAkB,GAAI;GAAS;;AAG5E,SAAS,eAAe,EACtB,WACA,aAAa,GACb,UACA,GAAG,SACqD;AACxD,QACE,oBAAC,iBAAiB;EAAO,WAAW,4BAA4B;YAC9D,qBAAC,iBAAiB;GAChB,aAAU;GACE;GACZ,WAAW,GACT,qaACA,UACD;GACD,GAAI;cAEH,UACD,oBAAC,iBAAiB,SAAM,WAAU,uGAAuG;IAChH;GACH"}