@lssm/lib.ui-kit-web 1.7.3 → 1.9.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 (250) hide show
  1. package/README.md +80 -0
  2. package/dist/node_modules/sonner/dist/index.js +1 -2
  3. package/dist/node_modules/sonner/dist/index.js.map +1 -1
  4. package/dist/tsconfig.tsbuildinfo +1 -1
  5. package/dist/ui/accordion.d.ts +5 -5
  6. package/dist/ui/accordion.js +3 -4
  7. package/dist/ui/accordion.js.map +1 -1
  8. package/dist/ui/alert-dialog.js +8 -9
  9. package/dist/ui/alert-dialog.js.map +1 -1
  10. package/dist/ui/alert.d.ts +6 -6
  11. package/dist/ui/alert.d.ts.map +1 -1
  12. package/dist/ui/alert.js +3 -3
  13. package/dist/ui/alert.js.map +1 -1
  14. package/dist/ui/aspect-ratio.d.ts +2 -2
  15. package/dist/ui/aspect-ratio.js +0 -1
  16. package/dist/ui/aspect-ratio.js.map +1 -1
  17. package/dist/ui/avatar.d.ts +4 -4
  18. package/dist/ui/avatar.d.ts.map +1 -1
  19. package/dist/ui/avatar.js +3 -4
  20. package/dist/ui/avatar.js.map +1 -1
  21. package/dist/ui/badge.d.ts +3 -3
  22. package/dist/ui/badge.js +1 -1
  23. package/dist/ui/badge.js.map +1 -1
  24. package/dist/ui/breadcrumb.d.ts +8 -8
  25. package/dist/ui/breadcrumb.d.ts.map +1 -1
  26. package/dist/ui/breadcrumb.js +6 -6
  27. package/dist/ui/breadcrumb.js.map +1 -1
  28. package/dist/ui/button.d.ts +6 -6
  29. package/dist/ui/button.js +1 -1
  30. package/dist/ui/button.js.map +1 -1
  31. package/dist/ui/calendar.d.ts +3 -3
  32. package/dist/ui/calendar.js +5 -6
  33. package/dist/ui/calendar.js.map +1 -1
  34. package/dist/ui/card.d.ts +8 -8
  35. package/dist/ui/card.js +7 -7
  36. package/dist/ui/card.js.map +1 -1
  37. package/dist/ui/carousel.d.ts +6 -6
  38. package/dist/ui/carousel.js +5 -6
  39. package/dist/ui/carousel.js.map +1 -1
  40. package/dist/ui/checkbox.d.ts +2 -2
  41. package/dist/ui/checkbox.js +1 -2
  42. package/dist/ui/checkbox.js.map +1 -1
  43. package/dist/ui/collapsible.d.ts +4 -4
  44. package/dist/ui/collapsible.js +0 -1
  45. package/dist/ui/collapsible.js.map +1 -1
  46. package/dist/ui/command.d.ts +10 -10
  47. package/dist/ui/command.js +8 -9
  48. package/dist/ui/command.js.map +1 -1
  49. package/dist/ui/confirm-dialog.d.ts +2 -2
  50. package/dist/ui/context-menu.d.ts +2 -2
  51. package/dist/ui/context-menu.d.ts.map +1 -1
  52. package/dist/ui/context-menu.js +9 -10
  53. package/dist/ui/context-menu.js.map +1 -1
  54. package/dist/ui/cta.d.ts +1 -1
  55. package/dist/ui/cta.js +1 -1
  56. package/dist/ui/cta.js.map +1 -1
  57. package/dist/ui/date-picker.d.ts +2 -2
  58. package/dist/ui/date-picker.js +0 -1
  59. package/dist/ui/date-picker.js.map +1 -1
  60. package/dist/ui/date-range-picker.d.ts +2 -2
  61. package/dist/ui/date-range-picker.js +0 -1
  62. package/dist/ui/date-range-picker.js.map +1 -1
  63. package/dist/ui/datetime-picker.d.ts +2 -2
  64. package/dist/ui/datetime-picker.d.ts.map +1 -1
  65. package/dist/ui/datetime-picker.js +0 -1
  66. package/dist/ui/datetime-picker.js.map +1 -1
  67. package/dist/ui/dialog.d.ts +11 -11
  68. package/dist/ui/dialog.d.ts.map +1 -1
  69. package/dist/ui/dialog.js +6 -7
  70. package/dist/ui/dialog.js.map +1 -1
  71. package/dist/ui/drawer.d.ts +11 -11
  72. package/dist/ui/drawer.js +6 -7
  73. package/dist/ui/drawer.js.map +1 -1
  74. package/dist/ui/dropdown-menu.d.ts +16 -16
  75. package/dist/ui/dropdown-menu.js +9 -10
  76. package/dist/ui/dropdown-menu.js.map +1 -1
  77. package/dist/ui/empty-state.d.ts +4 -4
  78. package/dist/ui/empty.d.ts +9 -9
  79. package/dist/ui/empty.js +6 -6
  80. package/dist/ui/empty.js.map +1 -1
  81. package/dist/ui/field.d.ts +11 -11
  82. package/dist/ui/field.js +10 -11
  83. package/dist/ui/field.js.map +1 -1
  84. package/dist/ui/form.d.ts +7 -7
  85. package/dist/ui/form.js +4 -5
  86. package/dist/ui/form.js.map +1 -1
  87. package/dist/ui/hover-card.d.ts +4 -4
  88. package/dist/ui/hover-card.js +1 -2
  89. package/dist/ui/hover-card.js.map +1 -1
  90. package/dist/ui/input-group.d.ts +11 -11
  91. package/dist/ui/input-group.js +6 -7
  92. package/dist/ui/input-group.js.map +1 -1
  93. package/dist/ui/input-otp.d.ts +2 -2
  94. package/dist/ui/input-otp.js +3 -4
  95. package/dist/ui/input-otp.js.map +1 -1
  96. package/dist/ui/input.d.ts +2 -2
  97. package/dist/ui/input.js +1 -1
  98. package/dist/ui/input.js.map +1 -1
  99. package/dist/ui/label.d.ts +2 -2
  100. package/dist/ui/label.js +1 -2
  101. package/dist/ui/label.js.map +1 -1
  102. package/dist/ui/link.d.ts +3 -3
  103. package/dist/ui/link.js +1 -1
  104. package/dist/ui/link.js.map +1 -1
  105. package/dist/ui/live-region.d.ts +2 -2
  106. package/dist/ui/live-region.js +0 -1
  107. package/dist/ui/live-region.js.map +1 -1
  108. package/dist/ui/loading-button.d.ts +2 -2
  109. package/dist/ui/loading-button.js +1 -1
  110. package/dist/ui/loading-button.js.map +1 -1
  111. package/dist/ui/map/MapBase.d.ts +2 -2
  112. package/dist/ui/map/MapBase.js +0 -1
  113. package/dist/ui/map/MapBase.js.map +1 -1
  114. package/dist/ui/map/MapGeoJsonOverlay.d.ts +2 -2
  115. package/dist/ui/map/MapGeoJsonOverlay.js +0 -1
  116. package/dist/ui/map/MapGeoJsonOverlay.js.map +1 -1
  117. package/dist/ui/map/MapHeatmapH3.d.ts +2 -2
  118. package/dist/ui/map/MapHeatmapH3.js +0 -1
  119. package/dist/ui/map/MapHeatmapH3.js.map +1 -1
  120. package/dist/ui/map/MapMarkers.d.ts +2 -2
  121. package/dist/ui/map/MapMarkers.js +0 -1
  122. package/dist/ui/map/MapMarkers.js.map +1 -1
  123. package/dist/ui/marketing/FeatureGrid.d.ts +2 -2
  124. package/dist/ui/marketing/Hero.d.ts +2 -2
  125. package/dist/ui/marketing/PricingTable.d.ts +2 -2
  126. package/dist/ui/menubar.d.ts +17 -17
  127. package/dist/ui/menubar.d.ts.map +1 -1
  128. package/dist/ui/menubar.js +11 -12
  129. package/dist/ui/menubar.js.map +1 -1
  130. package/dist/ui/molecules/Autocomplete/index.d.ts +2 -2
  131. package/dist/ui/molecules/Autocomplete/index.js +0 -1
  132. package/dist/ui/molecules/Autocomplete/index.js.map +1 -1
  133. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -1
  134. package/dist/ui/molecules/SkeletonList.d.ts +2 -2
  135. package/dist/ui/nav-layout.d.ts +9 -9
  136. package/dist/ui/nav-layout.d.ts.map +1 -1
  137. package/dist/ui/nav-layout.js +1 -1
  138. package/dist/ui/nav-layout.js.map +1 -1
  139. package/dist/ui/navigation-menu.d.ts +11 -11
  140. package/dist/ui/navigation-menu.d.ts.map +1 -1
  141. package/dist/ui/navigation-menu.js +8 -8
  142. package/dist/ui/navigation-menu.js.map +1 -1
  143. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +2 -2
  144. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +0 -1
  145. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -1
  146. package/dist/ui/organisms/ListPage/ListPage.d.ts +2 -2
  147. package/dist/ui/page-header.d.ts +5 -5
  148. package/dist/ui/pagination.d.ts +6 -6
  149. package/dist/ui/pagination.js +7 -7
  150. package/dist/ui/pagination.js.map +1 -1
  151. package/dist/ui/popover.d.ts +5 -5
  152. package/dist/ui/popover.js +1 -2
  153. package/dist/ui/popover.js.map +1 -1
  154. package/dist/ui/progress.js +1 -2
  155. package/dist/ui/progress.js.map +1 -1
  156. package/dist/ui/radio-group.d.ts +3 -3
  157. package/dist/ui/radio-group.js +2 -3
  158. package/dist/ui/radio-group.js.map +1 -1
  159. package/dist/ui/resizable.d.ts +7 -7
  160. package/dist/ui/resizable.d.ts.map +1 -1
  161. package/dist/ui/resizable.js +2 -3
  162. package/dist/ui/resizable.js.map +1 -1
  163. package/dist/ui/route-announcer.d.ts +2 -2
  164. package/dist/ui/route-announcer.js +0 -1
  165. package/dist/ui/route-announcer.js.map +1 -1
  166. package/dist/ui/scroll-area.d.ts +3 -3
  167. package/dist/ui/scroll-area.js +2 -3
  168. package/dist/ui/scroll-area.js.map +1 -1
  169. package/dist/ui/section.d.ts +7 -7
  170. package/dist/ui/section.d.ts.map +1 -1
  171. package/dist/ui/section.js +1 -1
  172. package/dist/ui/section.js.map +1 -1
  173. package/dist/ui/select.d.ts +11 -11
  174. package/dist/ui/select.js +7 -8
  175. package/dist/ui/select.js.map +1 -1
  176. package/dist/ui/separator.d.ts +2 -2
  177. package/dist/ui/separator.js +1 -2
  178. package/dist/ui/separator.js.map +1 -1
  179. package/dist/ui/sheet.d.ts +9 -9
  180. package/dist/ui/sheet.js +6 -7
  181. package/dist/ui/sheet.js.map +1 -1
  182. package/dist/ui/sidebar.d.ts +28 -28
  183. package/dist/ui/sidebar.d.ts.map +1 -1
  184. package/dist/ui/sidebar.js +23 -24
  185. package/dist/ui/sidebar.js.map +1 -1
  186. package/dist/ui/skeleton.d.ts +2 -2
  187. package/dist/ui/skeleton.js +1 -1
  188. package/dist/ui/skeleton.js.map +1 -1
  189. package/dist/ui/skip-link.d.ts +2 -2
  190. package/dist/ui/skip-link.js +1 -1
  191. package/dist/ui/skip-link.js.map +1 -1
  192. package/dist/ui/slider.d.ts +2 -2
  193. package/dist/ui/slider.js +1 -2
  194. package/dist/ui/slider.js.map +1 -1
  195. package/dist/ui/sonner.d.ts +2 -2
  196. package/dist/ui/sonner.js +0 -1
  197. package/dist/ui/sonner.js.map +1 -1
  198. package/dist/ui/stack.d.ts +13 -13
  199. package/dist/ui/stack.d.ts.map +1 -1
  200. package/dist/ui/stack.js +3 -3
  201. package/dist/ui/stack.js.map +1 -1
  202. package/dist/ui/stat-card-group.d.ts +2 -2
  203. package/dist/ui/stepper.d.ts +2 -2
  204. package/dist/ui/switch.d.ts +2 -2
  205. package/dist/ui/switch.js +1 -2
  206. package/dist/ui/switch.js.map +1 -1
  207. package/dist/ui/table.d.ts +9 -9
  208. package/dist/ui/table.js +8 -9
  209. package/dist/ui/table.js.map +1 -1
  210. package/dist/ui/tabs.d.ts +5 -5
  211. package/dist/ui/tabs.js +4 -5
  212. package/dist/ui/tabs.js.map +1 -1
  213. package/dist/ui/text.d.ts +2 -2
  214. package/dist/ui/text.js +1 -1
  215. package/dist/ui/text.js.map +1 -1
  216. package/dist/ui/textarea.d.ts +2 -2
  217. package/dist/ui/textarea.js +1 -1
  218. package/dist/ui/textarea.js.map +1 -1
  219. package/dist/ui/time-picker.d.ts +2 -2
  220. package/dist/ui/time-picker.js +0 -1
  221. package/dist/ui/time-picker.js.map +1 -1
  222. package/dist/ui/toast.d.ts +2 -2
  223. package/dist/ui/toast.js +6 -7
  224. package/dist/ui/toast.js.map +1 -1
  225. package/dist/ui/toaster.d.ts +2 -2
  226. package/dist/ui/toaster.js +1 -2
  227. package/dist/ui/toaster.js.map +1 -1
  228. package/dist/ui/toggle-group.d.ts +3 -3
  229. package/dist/ui/toggle-group.js +2 -3
  230. package/dist/ui/toggle-group.js.map +1 -1
  231. package/dist/ui/toggle.d.ts +4 -4
  232. package/dist/ui/toggle.js +1 -2
  233. package/dist/ui/toggle.js.map +1 -1
  234. package/dist/ui/tooltip.d.ts +5 -5
  235. package/dist/ui/tooltip.js +2 -3
  236. package/dist/ui/tooltip.js.map +1 -1
  237. package/dist/ui/typography.d.ts +12 -12
  238. package/dist/ui/typography.js +11 -11
  239. package/dist/ui/typography.js.map +1 -1
  240. package/dist/ui/use-toast.js +0 -1
  241. package/dist/ui/use-toast.js.map +1 -1
  242. package/dist/ui/usecases/UseCaseCard.d.ts +2 -2
  243. package/dist/ui/usecases/UserStoryCard.d.ts +2 -2
  244. package/dist/ui/visually-hidden.js +1 -1
  245. package/dist/ui/visually-hidden.js.map +1 -1
  246. package/package.json +9 -10
  247. package/dist/ui/sidebar-right.d.ts +0 -165
  248. package/dist/ui/sidebar-right.d.ts.map +0 -1
  249. package/dist/ui/sidebar-right.js +0 -380
  250. package/dist/ui/sidebar-right.js.map +0 -1
@@ -3,12 +3,12 @@ import { Input } from "./input.js";
3
3
  import { Separator } from "./separator.js";
4
4
  import { TooltipContent } from "./tooltip.js";
5
5
  import * as React$1 from "react";
6
- import * as react_jsx_runtime198 from "react/jsx-runtime";
6
+ import * as react_jsx_runtime208 from "react/jsx-runtime";
7
7
  import { VariantProps } from "class-variance-authority";
8
- import * as class_variance_authority_types11 from "class-variance-authority/types";
8
+ import * as class_variance_authority_types20 from "class-variance-authority/types";
9
9
 
10
10
  //#region ui/sidebar.d.ts
11
- type SidebarContextProps = {
11
+ interface SidebarContextProps {
12
12
  state: 'expanded' | 'collapsed';
13
13
  open: boolean;
14
14
  setOpen: (open: boolean) => void;
@@ -16,7 +16,7 @@ type SidebarContextProps = {
16
16
  setOpenMobile: (open: boolean) => void;
17
17
  isMobile: boolean;
18
18
  toggleSidebar: () => void;
19
- };
19
+ }
20
20
  declare function useSidebar(): SidebarContextProps;
21
21
  declare function SidebarProvider({
22
22
  defaultOpen,
@@ -30,7 +30,7 @@ declare function SidebarProvider({
30
30
  defaultOpen?: boolean;
31
31
  open?: boolean;
32
32
  onOpenChange?: (open: boolean) => void;
33
- }): react_jsx_runtime198.JSX.Element;
33
+ }): react_jsx_runtime208.JSX.Element;
34
34
  declare function Sidebar({
35
35
  side,
36
36
  variant,
@@ -42,74 +42,74 @@ declare function Sidebar({
42
42
  side?: 'left' | 'right';
43
43
  variant?: 'sidebar' | 'floating' | 'inset';
44
44
  collapsible?: 'offcanvas' | 'icon' | 'none';
45
- }): react_jsx_runtime198.JSX.Element;
45
+ }): react_jsx_runtime208.JSX.Element;
46
46
  declare function SidebarTrigger({
47
47
  className,
48
48
  onClick,
49
49
  ...props
50
- }: React$1.ComponentProps<typeof Button>): react_jsx_runtime198.JSX.Element;
50
+ }: React$1.ComponentProps<typeof Button>): react_jsx_runtime208.JSX.Element;
51
51
  declare function SidebarRail({
52
52
  className,
53
53
  ...props
54
- }: React$1.ComponentProps<'button'>): react_jsx_runtime198.JSX.Element;
54
+ }: React$1.ComponentProps<'button'>): react_jsx_runtime208.JSX.Element;
55
55
  declare function SidebarInset({
56
56
  className,
57
57
  ...props
58
- }: React$1.ComponentProps<'main'>): react_jsx_runtime198.JSX.Element;
58
+ }: React$1.ComponentProps<'main'>): react_jsx_runtime208.JSX.Element;
59
59
  declare function SidebarInput({
60
60
  className,
61
61
  ...props
62
- }: React$1.ComponentProps<typeof Input>): react_jsx_runtime198.JSX.Element;
62
+ }: React$1.ComponentProps<typeof Input>): react_jsx_runtime208.JSX.Element;
63
63
  declare function SidebarHeader({
64
64
  className,
65
65
  ...props
66
- }: React$1.ComponentProps<'div'>): react_jsx_runtime198.JSX.Element;
66
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
67
67
  declare function SidebarFooter({
68
68
  className,
69
69
  ...props
70
- }: React$1.ComponentProps<'div'>): react_jsx_runtime198.JSX.Element;
70
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
71
71
  declare function SidebarSeparator({
72
72
  className,
73
73
  ...props
74
- }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime198.JSX.Element;
74
+ }: React$1.ComponentProps<typeof Separator>): react_jsx_runtime208.JSX.Element;
75
75
  declare function SidebarContent({
76
76
  className,
77
77
  ...props
78
- }: React$1.ComponentProps<'div'>): react_jsx_runtime198.JSX.Element;
78
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
79
79
  declare function SidebarGroup({
80
80
  className,
81
81
  ...props
82
- }: React$1.ComponentProps<'div'>): react_jsx_runtime198.JSX.Element;
82
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
83
83
  declare function SidebarGroupLabel({
84
84
  className,
85
85
  asChild,
86
86
  ...props
87
87
  }: React$1.ComponentProps<'div'> & {
88
88
  asChild?: boolean;
89
- }): react_jsx_runtime198.JSX.Element;
89
+ }): react_jsx_runtime208.JSX.Element;
90
90
  declare function SidebarGroupAction({
91
91
  className,
92
92
  asChild,
93
93
  ...props
94
94
  }: React$1.ComponentProps<'button'> & {
95
95
  asChild?: boolean;
96
- }): react_jsx_runtime198.JSX.Element;
96
+ }): react_jsx_runtime208.JSX.Element;
97
97
  declare function SidebarGroupContent({
98
98
  className,
99
99
  ...props
100
- }: React$1.ComponentProps<'div'>): react_jsx_runtime198.JSX.Element;
100
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
101
101
  declare function SidebarMenu({
102
102
  className,
103
103
  ...props
104
- }: React$1.ComponentProps<'ul'>): react_jsx_runtime198.JSX.Element;
104
+ }: React$1.ComponentProps<'ul'>): react_jsx_runtime208.JSX.Element;
105
105
  declare function SidebarMenuItem({
106
106
  className,
107
107
  ...props
108
- }: React$1.ComponentProps<'li'>): react_jsx_runtime198.JSX.Element;
108
+ }: React$1.ComponentProps<'li'>): react_jsx_runtime208.JSX.Element;
109
109
  declare const sidebarMenuButtonVariants: (props?: ({
110
110
  variant?: "default" | "outline" | null | undefined;
111
111
  size?: "default" | "sm" | "lg" | null | undefined;
112
- } & class_variance_authority_types11.ClassProp) | undefined) => string;
112
+ } & class_variance_authority_types20.ClassProp) | undefined) => string;
113
113
  declare function SidebarMenuButton({
114
114
  asChild,
115
115
  isActive,
@@ -122,7 +122,7 @@ declare function SidebarMenuButton({
122
122
  asChild?: boolean;
123
123
  isActive?: boolean;
124
124
  tooltip?: string | React$1.ComponentProps<typeof TooltipContent>;
125
- } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime198.JSX.Element;
125
+ } & VariantProps<typeof sidebarMenuButtonVariants>): react_jsx_runtime208.JSX.Element;
126
126
  declare function SidebarMenuAction({
127
127
  className,
128
128
  asChild,
@@ -131,26 +131,26 @@ declare function SidebarMenuAction({
131
131
  }: React$1.ComponentProps<'button'> & {
132
132
  asChild?: boolean;
133
133
  showOnHover?: boolean;
134
- }): react_jsx_runtime198.JSX.Element;
134
+ }): react_jsx_runtime208.JSX.Element;
135
135
  declare function SidebarMenuBadge({
136
136
  className,
137
137
  ...props
138
- }: React$1.ComponentProps<'div'>): react_jsx_runtime198.JSX.Element;
138
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime208.JSX.Element;
139
139
  declare function SidebarMenuSkeleton({
140
140
  className,
141
141
  showIcon,
142
142
  ...props
143
143
  }: React$1.ComponentProps<'div'> & {
144
144
  showIcon?: boolean;
145
- }): react_jsx_runtime198.JSX.Element;
145
+ }): react_jsx_runtime208.JSX.Element;
146
146
  declare function SidebarMenuSub({
147
147
  className,
148
148
  ...props
149
- }: React$1.ComponentProps<'ul'>): react_jsx_runtime198.JSX.Element;
149
+ }: React$1.ComponentProps<'ul'>): react_jsx_runtime208.JSX.Element;
150
150
  declare function SidebarMenuSubItem({
151
151
  className,
152
152
  ...props
153
- }: React$1.ComponentProps<'li'>): react_jsx_runtime198.JSX.Element;
153
+ }: React$1.ComponentProps<'li'>): react_jsx_runtime208.JSX.Element;
154
154
  declare function SidebarMenuSubButton({
155
155
  asChild,
156
156
  size,
@@ -161,7 +161,7 @@ declare function SidebarMenuSubButton({
161
161
  asChild?: boolean;
162
162
  size?: 'sm' | 'md';
163
163
  isActive?: boolean;
164
- }): react_jsx_runtime198.JSX.Element;
164
+ }): react_jsx_runtime208.JSX.Element;
165
165
  //#endregion
166
166
  export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar };
167
167
  //# sourceMappingURL=sidebar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../ui/sidebar.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.d.ts","names":[],"sources":["../../ui/sidebar.tsx"],"sourcesContent":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
-
4
3
  import { cn } from "./utils.js";
5
4
  import { Button } from "./button.js";
6
5
  import { Input } from "./input.js";
@@ -28,7 +27,7 @@ function useSidebar() {
28
27
  if (!context) throw new Error("useSidebar must be used within a SidebarProvider.");
29
28
  return context;
30
29
  }
31
- function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children,...props }) {
30
+ function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }) {
32
31
  const isMobile = useIsMobile();
33
32
  const [openMobile, setOpenMobile] = React$1.useState(false);
34
33
  const [_open, _setOpen] = React$1.useState(defaultOpen);
@@ -92,7 +91,7 @@ function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: set
92
91
  })
93
92
  });
94
93
  }
95
- function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children,...props }) {
94
+ function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }) {
96
95
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
97
96
  if (collapsible === "none") return /* @__PURE__ */ jsx("div", {
98
97
  "data-slot": "sidebar",
@@ -143,7 +142,7 @@ function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas"
143
142
  })]
144
143
  });
145
144
  }
146
- function SidebarTrigger({ className, onClick,...props }) {
145
+ function SidebarTrigger({ className, onClick, ...props }) {
147
146
  const { toggleSidebar } = useSidebar();
148
147
  return /* @__PURE__ */ jsxs(Button, {
149
148
  "data-sidebar": "trigger",
@@ -162,7 +161,7 @@ function SidebarTrigger({ className, onClick,...props }) {
162
161
  })]
163
162
  });
164
163
  }
165
- function SidebarRail({ className,...props }) {
164
+ function SidebarRail({ className, ...props }) {
166
165
  const { toggleSidebar } = useSidebar();
167
166
  return /* @__PURE__ */ jsx("button", {
168
167
  "data-sidebar": "rail",
@@ -175,14 +174,14 @@ function SidebarRail({ className,...props }) {
175
174
  ...props
176
175
  });
177
176
  }
178
- function SidebarInset({ className,...props }) {
177
+ function SidebarInset({ className, ...props }) {
179
178
  return /* @__PURE__ */ jsx("main", {
180
179
  "data-slot": "sidebar-inset",
181
180
  className: cn("bg-background relative flex w-full flex-1 flex-col", "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", className),
182
181
  ...props
183
182
  });
184
183
  }
185
- function SidebarInput({ className,...props }) {
184
+ function SidebarInput({ className, ...props }) {
186
185
  return /* @__PURE__ */ jsx(Input, {
187
186
  "data-slot": "sidebar-input",
188
187
  "data-sidebar": "input",
@@ -190,7 +189,7 @@ function SidebarInput({ className,...props }) {
190
189
  ...props
191
190
  });
192
191
  }
193
- function SidebarHeader({ className,...props }) {
192
+ function SidebarHeader({ className, ...props }) {
194
193
  return /* @__PURE__ */ jsx("div", {
195
194
  "data-slot": "sidebar-header",
196
195
  "data-sidebar": "header",
@@ -198,7 +197,7 @@ function SidebarHeader({ className,...props }) {
198
197
  ...props
199
198
  });
200
199
  }
201
- function SidebarFooter({ className,...props }) {
200
+ function SidebarFooter({ className, ...props }) {
202
201
  return /* @__PURE__ */ jsx("div", {
203
202
  "data-slot": "sidebar-footer",
204
203
  "data-sidebar": "footer",
@@ -206,7 +205,7 @@ function SidebarFooter({ className,...props }) {
206
205
  ...props
207
206
  });
208
207
  }
209
- function SidebarSeparator({ className,...props }) {
208
+ function SidebarSeparator({ className, ...props }) {
210
209
  return /* @__PURE__ */ jsx(Separator, {
211
210
  "data-slot": "sidebar-separator",
212
211
  "data-sidebar": "separator",
@@ -214,7 +213,7 @@ function SidebarSeparator({ className,...props }) {
214
213
  ...props
215
214
  });
216
215
  }
217
- function SidebarContent({ className,...props }) {
216
+ function SidebarContent({ className, ...props }) {
218
217
  return /* @__PURE__ */ jsx("div", {
219
218
  "data-slot": "sidebar-content",
220
219
  "data-sidebar": "content",
@@ -222,7 +221,7 @@ function SidebarContent({ className,...props }) {
222
221
  ...props
223
222
  });
224
223
  }
225
- function SidebarGroup({ className,...props }) {
224
+ function SidebarGroup({ className, ...props }) {
226
225
  return /* @__PURE__ */ jsx("div", {
227
226
  "data-slot": "sidebar-group",
228
227
  "data-sidebar": "group",
@@ -230,7 +229,7 @@ function SidebarGroup({ className,...props }) {
230
229
  ...props
231
230
  });
232
231
  }
233
- function SidebarGroupLabel({ className, asChild = false,...props }) {
232
+ function SidebarGroupLabel({ className, asChild = false, ...props }) {
234
233
  return /* @__PURE__ */ jsx(asChild ? Slot : "div", {
235
234
  "data-slot": "sidebar-group-label",
236
235
  "data-sidebar": "group-label",
@@ -238,7 +237,7 @@ function SidebarGroupLabel({ className, asChild = false,...props }) {
238
237
  ...props
239
238
  });
240
239
  }
241
- function SidebarGroupAction({ className, asChild = false,...props }) {
240
+ function SidebarGroupAction({ className, asChild = false, ...props }) {
242
241
  return /* @__PURE__ */ jsx(asChild ? Slot : "button", {
243
242
  "data-slot": "sidebar-group-action",
244
243
  "data-sidebar": "group-action",
@@ -246,7 +245,7 @@ function SidebarGroupAction({ className, asChild = false,...props }) {
246
245
  ...props
247
246
  });
248
247
  }
249
- function SidebarGroupContent({ className,...props }) {
248
+ function SidebarGroupContent({ className, ...props }) {
250
249
  return /* @__PURE__ */ jsx("div", {
251
250
  "data-slot": "sidebar-group-content",
252
251
  "data-sidebar": "group-content",
@@ -254,7 +253,7 @@ function SidebarGroupContent({ className,...props }) {
254
253
  ...props
255
254
  });
256
255
  }
257
- function SidebarMenu({ className,...props }) {
256
+ function SidebarMenu({ className, ...props }) {
258
257
  return /* @__PURE__ */ jsx("ul", {
259
258
  "data-slot": "sidebar-menu",
260
259
  "data-sidebar": "menu",
@@ -262,7 +261,7 @@ function SidebarMenu({ className,...props }) {
262
261
  ...props
263
262
  });
264
263
  }
265
- function SidebarMenuItem({ className,...props }) {
264
+ function SidebarMenuItem({ className, ...props }) {
266
265
  return /* @__PURE__ */ jsx("li", {
267
266
  "data-slot": "sidebar-menu-item",
268
267
  "data-sidebar": "menu-item",
@@ -287,7 +286,7 @@ const sidebarMenuButtonVariants = cva("peer/menu-button flex w-full items-center
287
286
  size: "default"
288
287
  }
289
288
  });
290
- function SidebarMenuButton({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className,...props }) {
289
+ function SidebarMenuButton({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }) {
291
290
  const Comp = asChild ? Slot : "button";
292
291
  const { isMobile, state } = useSidebar();
293
292
  const button = /* @__PURE__ */ jsx(Comp, {
@@ -313,7 +312,7 @@ function SidebarMenuButton({ asChild = false, isActive = false, variant = "defau
313
312
  ...tooltip
314
313
  })] });
315
314
  }
316
- function SidebarMenuAction({ className, asChild = false, showOnHover = false,...props }) {
315
+ function SidebarMenuAction({ className, asChild = false, showOnHover = false, ...props }) {
317
316
  return /* @__PURE__ */ jsx(asChild ? Slot : "button", {
318
317
  "data-slot": "sidebar-menu-action",
319
318
  "data-sidebar": "menu-action",
@@ -321,7 +320,7 @@ function SidebarMenuAction({ className, asChild = false, showOnHover = false,...
321
320
  ...props
322
321
  });
323
322
  }
324
- function SidebarMenuBadge({ className,...props }) {
323
+ function SidebarMenuBadge({ className, ...props }) {
325
324
  return /* @__PURE__ */ jsx("div", {
326
325
  "data-slot": "sidebar-menu-badge",
327
326
  "data-sidebar": "menu-badge",
@@ -329,7 +328,7 @@ function SidebarMenuBadge({ className,...props }) {
329
328
  ...props
330
329
  });
331
330
  }
332
- function SidebarMenuSkeleton({ className, showIcon = false,...props }) {
331
+ function SidebarMenuSkeleton({ className, showIcon = false, ...props }) {
333
332
  const width = React$1.useMemo(() => {
334
333
  return `${Math.floor(Math.random() * 40) + 50}%`;
335
334
  }, []);
@@ -348,7 +347,7 @@ function SidebarMenuSkeleton({ className, showIcon = false,...props }) {
348
347
  })]
349
348
  });
350
349
  }
351
- function SidebarMenuSub({ className,...props }) {
350
+ function SidebarMenuSub({ className, ...props }) {
352
351
  return /* @__PURE__ */ jsx("ul", {
353
352
  "data-slot": "sidebar-menu-sub",
354
353
  "data-sidebar": "menu-sub",
@@ -356,7 +355,7 @@ function SidebarMenuSub({ className,...props }) {
356
355
  ...props
357
356
  });
358
357
  }
359
- function SidebarMenuSubItem({ className,...props }) {
358
+ function SidebarMenuSubItem({ className, ...props }) {
360
359
  return /* @__PURE__ */ jsx("li", {
361
360
  "data-slot": "sidebar-menu-sub-item",
362
361
  "data-sidebar": "menu-sub-item",
@@ -364,7 +363,7 @@ function SidebarMenuSubItem({ className,...props }) {
364
363
  ...props
365
364
  });
366
365
  }
367
- function SidebarMenuSubButton({ asChild = false, size = "md", isActive = false, className,...props }) {
366
+ function SidebarMenuSubButton({ asChild = false, size = "md", isActive = false, className, ...props }) {
368
367
  return /* @__PURE__ */ jsx(asChild ? Slot : "a", {
369
368
  "data-slot": "sidebar-menu-sub-button",
370
369
  "data-sidebar": "menu-sub-button",
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","names":["React","open"],"sources":["../../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 './use-mobile';\nimport { cn } from './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":["../../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 './use-mobile';\nimport { cn } from './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\ninterface 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,10 +1,10 @@
1
- import * as react_jsx_runtime196 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime150 from "react/jsx-runtime";
2
2
 
3
3
  //#region ui/skeleton.d.ts
4
4
  declare function Skeleton({
5
5
  className,
6
6
  ...props
7
- }: React.ComponentProps<'div'>): react_jsx_runtime196.JSX.Element;
7
+ }: React.ComponentProps<'div'>): react_jsx_runtime150.JSX.Element;
8
8
  //#endregion
9
9
  export { Skeleton };
10
10
  //# sourceMappingURL=skeleton.d.ts.map
@@ -2,7 +2,7 @@ import { cn } from "./utils.js";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
 
4
4
  //#region ui/skeleton.tsx
5
- function Skeleton({ className,...props }) {
5
+ function Skeleton({ className, ...props }) {
6
6
  return /* @__PURE__ */ jsx("div", {
7
7
  "data-slot": "skeleton",
8
8
  className: cn("bg-accent animate-pulse rounded-md", className),
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","names":[],"sources":["../../ui/skeleton.tsx"],"sourcesContent":["import { cn } from './utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn('bg-accent animate-pulse rounded-md', className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n"],"mappings":";;;;AAEA,SAAS,SAAS,EAAE,UAAW,GAAG,SAAsC;AACtE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ"}
1
+ {"version":3,"file":"skeleton.js","names":[],"sources":["../../ui/skeleton.tsx"],"sourcesContent":["import { cn } from './utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn('bg-accent animate-pulse rounded-md', className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n"],"mappings":";;;;AAEA,SAAS,SAAS,EAAE,WAAW,GAAG,SAAsC;AACtE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ"}
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime223 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime167 from "react/jsx-runtime";
3
3
 
4
4
  //#region ui/skip-link.d.ts
5
5
  interface SkipLinkProps extends React$1.AnchorHTMLAttributes<HTMLAnchorElement> {
@@ -11,7 +11,7 @@ declare function SkipLink({
11
11
  children,
12
12
  className,
13
13
  ...props
14
- }: SkipLinkProps): react_jsx_runtime223.JSX.Element;
14
+ }: SkipLinkProps): react_jsx_runtime167.JSX.Element;
15
15
  //#endregion
16
16
  export { SkipLink };
17
17
  //# sourceMappingURL=skip-link.d.ts.map
@@ -3,7 +3,7 @@ import { jsx } from "react/jsx-runtime";
3
3
 
4
4
  //#region ui/skip-link.tsx
5
5
  const defaultClasses = "sr-only focus:not-sr-only focus-visible:outline-solid focus-visible:ring-4 focus-visible:ring-offset-2 fixed top-2 left-2 z-100 rounded-xs bg-background px-3 py-2 text-sm shadow-2xs";
6
- function SkipLink({ targetId = "main", children, className,...props }) {
6
+ function SkipLink({ targetId = "main", children, className, ...props }) {
7
7
  return /* @__PURE__ */ jsx("a", {
8
8
  className: [defaultClasses, className].filter(Boolean).join(" "),
9
9
  href: `#${targetId}`,
@@ -1 +1 @@
1
- {"version":3,"file":"skip-link.js","names":[],"sources":["../../ui/skip-link.tsx"],"sourcesContent":["import * as React from 'react';\n\ninterface SkipLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n targetId?: string;\n children?: React.ReactNode;\n}\n\nconst defaultClasses =\n 'sr-only focus:not-sr-only focus-visible:outline-solid focus-visible:ring-4 focus-visible:ring-offset-2 fixed top-2 left-2 z-100 rounded-xs bg-background px-3 py-2 text-sm shadow-2xs';\n\nexport function SkipLink({\n targetId = 'main',\n children,\n className,\n ...props\n}: SkipLinkProps) {\n return (\n <a\n className={[defaultClasses, className].filter(Boolean).join(' ')}\n href={`#${targetId}`}\n {...props}\n >\n {children ?? 'Skip to main content'}\n </a>\n );\n}\n"],"mappings":";;;;AAOA,MAAM,iBACJ;AAEF,SAAgB,SAAS,EACvB,WAAW,QACX,UACA,UACA,GAAG,SACa;AAChB,QACE,oBAAC;EACC,WAAW,CAAC,gBAAgB,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAChE,MAAM,IAAI;EACV,GAAI;YAEH,YAAY;GACX"}
1
+ {"version":3,"file":"skip-link.js","names":[],"sources":["../../ui/skip-link.tsx"],"sourcesContent":["import * as React from 'react';\n\ninterface SkipLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n targetId?: string;\n children?: React.ReactNode;\n}\n\nconst defaultClasses =\n 'sr-only focus:not-sr-only focus-visible:outline-solid focus-visible:ring-4 focus-visible:ring-offset-2 fixed top-2 left-2 z-100 rounded-xs bg-background px-3 py-2 text-sm shadow-2xs';\n\nexport function SkipLink({\n targetId = 'main',\n children,\n className,\n ...props\n}: SkipLinkProps) {\n return (\n <a\n className={[defaultClasses, className].filter(Boolean).join(' ')}\n href={`#${targetId}`}\n {...props}\n >\n {children ?? 'Skip to main content'}\n </a>\n );\n}\n"],"mappings":";;;;AAOA,MAAM,iBACJ;AAEF,SAAgB,SAAS,EACvB,WAAW,QACX,UACA,WACA,GAAG,SACa;AAChB,QACE,oBAAC;EACC,WAAW,CAAC,gBAAgB,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAChE,MAAM,IAAI;EACV,GAAI;YAEH,YAAY;GACX"}
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime197 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime168 from "react/jsx-runtime";
3
3
  import * as SliderPrimitive from "@radix-ui/react-slider";
4
4
 
5
5
  //#region ui/slider.d.ts
@@ -10,7 +10,7 @@ declare function Slider({
10
10
  min,
11
11
  max,
12
12
  ...props
13
- }: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime197.JSX.Element;
13
+ }: React$1.ComponentProps<typeof SliderPrimitive.Root>): react_jsx_runtime168.JSX.Element;
14
14
  //#endregion
15
15
  export { Slider };
16
16
  //# sourceMappingURL=slider.d.ts.map