ics-ui-kit 0.1.0-alpha.47 → 0.1.0-alpha.49

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 (198) hide show
  1. package/README.md +32 -32
  2. package/dist/AlertContext-CxjW1LVL.js.map +1 -1
  3. package/dist/AlertIcon-DQs4wtDT.js.map +1 -1
  4. package/dist/Button--ooZ8ALo.js.map +1 -1
  5. package/dist/ButtonBase-Sf-fcVor.js.map +1 -1
  6. package/dist/CarouselItem-DCAuGIKz.js.map +1 -1
  7. package/dist/{CheckboxField-DvsGq3kV.js → CheckboxField-BR2hWwTO.js} +2 -2
  8. package/dist/CheckboxField-BR2hWwTO.js.map +1 -0
  9. package/dist/{Command-BU9Ouar3.js → Command-C_iW2joV.js} +2 -2
  10. package/dist/Command-C_iW2joV.js.map +1 -0
  11. package/dist/ComponentVariantProvider-B0SFUaXB.js.map +1 -1
  12. package/dist/Description-BTPMlTT-.js.map +1 -1
  13. package/dist/Dialog-CkDUxZUj.js.map +1 -1
  14. package/dist/Divider-Dm2gjy8W.js.map +1 -1
  15. package/dist/EmptyState-DRKjscH-.js.map +1 -1
  16. package/dist/ErrorState-B26k67-z.js.map +1 -1
  17. package/dist/FeatureIcon-yM7FhAXa.js.map +1 -1
  18. package/dist/{Field-CdocNMjg.js → Field-DpbrZvvg.js} +2 -2
  19. package/dist/Field-DpbrZvvg.js.map +1 -0
  20. package/dist/{FieldLabel-DRwAhGMz.js → FieldLabel-saPDMPPr.js} +2 -2
  21. package/dist/FieldLabel-saPDMPPr.js.map +1 -0
  22. package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
  23. package/dist/{FormFooterTemplate-1MNxzQ7J.js → FormFooterTemplate-DV4pN3b-.js} +2 -2
  24. package/dist/FormFooterTemplate-DV4pN3b-.js.map +1 -0
  25. package/dist/FormHeader-BA2dJOPS.js.map +1 -1
  26. package/dist/{FormStack-DbtLshF8.js → FormStack-D-0fK-Zy.js} +3 -3
  27. package/dist/FormStack-D-0fK-Zy.js.map +1 -0
  28. package/dist/HintState-BxrCAWqq.js.map +1 -1
  29. package/dist/Icon-DH3ev9GK.js.map +1 -1
  30. package/dist/IconButton-moydR8IU.js.map +1 -1
  31. package/dist/{IconTooltip-CibXkFmt.js → IconTooltip-BbswlF6Q.js} +3 -3
  32. package/dist/IconTooltip-BbswlF6Q.js.map +1 -0
  33. package/dist/ImagePlaceholder-B6mGYVx2.js.map +1 -1
  34. package/dist/ImagePreview-BIBDrLVV.js.map +1 -1
  35. package/dist/ImageUploader-C-_ZPptv.js.map +1 -1
  36. package/dist/Indicator-B75A1Vgp.js.map +1 -1
  37. package/dist/InputGroup-CmstXpkX.js.map +1 -1
  38. package/dist/InputOTP-B2e1nfSO.js.map +1 -1
  39. package/dist/Loader-BpHiL6W-.js.map +1 -1
  40. package/dist/MenuItem-pvsONHlh.js.map +1 -1
  41. package/dist/{MenuItemShortcut-CGbVYqRi.js → MenuItemShortcut-DK7VneTR.js} +2 -2
  42. package/dist/MenuItemShortcut-DK7VneTR.js.map +1 -0
  43. package/dist/MenuItemText-7uPl9P3z.js.map +1 -1
  44. package/dist/Overlay-CLw_hvAN.js.map +1 -1
  45. package/dist/{Popover-CkezMtEz.js → Popover-DmwXZwYd.js} +17 -17
  46. package/dist/Popover-DmwXZwYd.js.map +1 -0
  47. package/dist/RichButton-BuenN3bJ.js.map +1 -1
  48. package/dist/ScrollShadowContainer-ODG9ChxA.js.map +1 -1
  49. package/dist/{SearchSelectTag-D1bFK1ux.js → SearchSelectTag-Ce-Q9JGR.js} +2 -2
  50. package/dist/SearchSelectTag-Ce-Q9JGR.js.map +1 -0
  51. package/dist/{Select-Bfrb-J8s.js → Select-CWbLja8r.js} +195 -195
  52. package/dist/Select-CWbLja8r.js.map +1 -0
  53. package/dist/Sheet-Dx9mwcF6.js.map +1 -1
  54. package/dist/Shortcut-D8L15_ed.js +22 -0
  55. package/dist/Shortcut-D8L15_ed.js.map +1 -0
  56. package/dist/Skeleton-y6I-i9q5.js.map +1 -1
  57. package/dist/{Tag-DJuVSJh5.js → Tag-CofZF1d0.js} +6 -6
  58. package/dist/Tag-CofZF1d0.js.map +1 -0
  59. package/dist/Text-DeBE8AKl.js.map +1 -1
  60. package/dist/TextInput-DTzujp77.js.map +1 -1
  61. package/dist/{Toggle-CS29Nksd.js → Toggle-CCD2UHWr.js} +15 -13
  62. package/dist/Toggle-CCD2UHWr.js.map +1 -0
  63. package/dist/{Tooltip-Cm1-WEdA.js → Tooltip-BH_Jc6ub.js} +2 -2
  64. package/dist/Tooltip-BH_Jc6ub.js.map +1 -0
  65. package/dist/TriggerButton-a2ClSj7f.js +33 -0
  66. package/dist/TriggerButton-a2ClSj7f.js.map +1 -0
  67. package/dist/blocks/auth/otp-form.js +1 -1
  68. package/dist/blocks/auth/otp-form.js.map +1 -1
  69. package/dist/cn-dsXlqdJg.js.map +1 -1
  70. package/dist/components/alert-dialog.js.map +1 -1
  71. package/dist/components/alert.js.map +1 -1
  72. package/dist/components/avatar/Avatar.d.ts +1 -1
  73. package/dist/components/avatar/avatar-indicator/AvatarIndicator.d.ts +3 -1
  74. package/dist/components/avatar/avatar-label/AvatarLabel.d.ts +1 -1
  75. package/dist/components/avatar.js +110 -93
  76. package/dist/components/avatar.js.map +1 -1
  77. package/dist/components/badge.js.map +1 -1
  78. package/dist/components/breadcrumb.js.map +1 -1
  79. package/dist/components/button.js +1 -1
  80. package/dist/components/button.js.map +1 -1
  81. package/dist/components/calendar.js.map +1 -1
  82. package/dist/components/card.js.map +1 -1
  83. package/dist/components/carousel.js.map +1 -1
  84. package/dist/components/checkbox.js +1 -1
  85. package/dist/components/collapsible.js.map +1 -1
  86. package/dist/components/color-tile.js.map +1 -1
  87. package/dist/components/command.js +1 -1
  88. package/dist/components/container.js.map +1 -1
  89. package/dist/components/counter.js.map +1 -1
  90. package/dist/components/dialog.js +1 -1
  91. package/dist/components/dialog.js.map +1 -1
  92. package/dist/components/divider.js.map +1 -1
  93. package/dist/components/drawer.js +1 -1
  94. package/dist/components/drawer.js.map +1 -1
  95. package/dist/components/dropdown.js +2 -2
  96. package/dist/components/dropdown.js.map +1 -1
  97. package/dist/components/error-state.js.map +1 -1
  98. package/dist/components/field.js +1 -1
  99. package/dist/components/file-upload.js.map +1 -1
  100. package/dist/components/form.js +3 -3
  101. package/dist/components/form.js.map +1 -1
  102. package/dist/components/gallery.js.map +1 -1
  103. package/dist/components/icon-tooltip.js +1 -1
  104. package/dist/components/input.js.map +1 -1
  105. package/dist/components/label.js +1 -1
  106. package/dist/components/menu-item.js +1 -1
  107. package/dist/components/menu-item.js.map +1 -1
  108. package/dist/components/overflow-tooltip.js +1 -1
  109. package/dist/components/overflow-tooltip.js.map +1 -1
  110. package/dist/components/page-state.js.map +1 -1
  111. package/dist/components/popover.js +1 -1
  112. package/dist/components/portal-container.js.map +1 -1
  113. package/dist/components/progress-circle.js.map +1 -1
  114. package/dist/components/progress.js.map +1 -1
  115. package/dist/components/prose.js.map +1 -1
  116. package/dist/components/radio-group.js.map +1 -1
  117. package/dist/components/resizable.js.map +1 -1
  118. package/dist/components/scheduler.js +1 -1
  119. package/dist/components/scheduler.js.map +1 -1
  120. package/dist/components/search-select.js +4 -4
  121. package/dist/components/search-select.js.map +1 -1
  122. package/dist/components/select.js +1 -1
  123. package/dist/components/shortcut.js +1 -1
  124. package/dist/components/sidebar.js +71 -68
  125. package/dist/components/sidebar.js.map +1 -1
  126. package/dist/components/slider.js.map +1 -1
  127. package/dist/components/stepper.js.map +1 -1
  128. package/dist/components/switch.js +1 -1
  129. package/dist/components/switch.js.map +1 -1
  130. package/dist/components/system-state.js.map +1 -1
  131. package/dist/components/table.js.map +1 -1
  132. package/dist/components/tabs.js.map +1 -1
  133. package/dist/components/tag-input.js +2 -2
  134. package/dist/components/tag-input.js.map +1 -1
  135. package/dist/components/tag.js +1 -1
  136. package/dist/components/textarea.js.map +1 -1
  137. package/dist/components/toast.js.map +1 -1
  138. package/dist/components/toggle/Toggle.d.ts +8 -2
  139. package/dist/components/toggle-group.js +1 -1
  140. package/dist/components/toggle-group.js.map +1 -1
  141. package/dist/components/toggle.js +1 -1
  142. package/dist/components/toolbar.js.map +1 -1
  143. package/dist/components/tooltip.js +1 -1
  144. package/dist/downloadFile-yZV-aaO2.js.map +1 -1
  145. package/dist/font-inter.css +15 -15
  146. package/dist/font-menlo.css +15 -15
  147. package/dist/index-0ioNhtNM.js.map +1 -1
  148. package/dist/index-5Bhkapwi.js.map +1 -1
  149. package/dist/index-BGQepRFJ.js.map +1 -1
  150. package/dist/index-BGfrl8IX.js.map +1 -1
  151. package/dist/index-BNirMMl4.js.map +1 -1
  152. package/dist/index-BVqs-uqP.js.map +1 -1
  153. package/dist/index-BZPx6jYI.js.map +1 -1
  154. package/dist/index-BdXokVmb.js.map +1 -1
  155. package/dist/index-Bwf2hSw6.js.map +1 -1
  156. package/dist/index-C0UREtMP.js.map +1 -1
  157. package/dist/index-C3surxzg.js.map +1 -1
  158. package/dist/index-CCKe-Mpx.js.map +1 -1
  159. package/dist/index-CpDnqHCm.js.map +1 -1
  160. package/dist/index-DFZozV_h.js.map +1 -1
  161. package/dist/index-DG36Jang.js.map +1 -1
  162. package/dist/index-DfNPZZ8M.js.map +1 -1
  163. package/dist/index-DpXwz_9G.js.map +1 -1
  164. package/dist/index-Nzc5v6h6.js.map +1 -1
  165. package/dist/index-l1F44JQJ.js.map +1 -1
  166. package/dist/index.js.map +1 -1
  167. package/dist/inputBaseStyles-BZJgQP7O.js.map +1 -1
  168. package/dist/lib/utils.js.map +1 -1
  169. package/dist/styles-scoped.css +5846 -5832
  170. package/dist/styles.css +1949 -1935
  171. package/dist/types/css.d.ts +4 -4
  172. package/dist/useBreakpoints-wEcfJPHd.js.map +1 -1
  173. package/dist/useDebounce-BRah78CF.js.map +1 -1
  174. package/dist/useFileUpload-iDag0iqM.js.map +1 -1
  175. package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
  176. package/dist/usePortalContainer-ae6EzS08.js.map +1 -1
  177. package/dist/vendors/tanstack/react-table.js.map +1 -1
  178. package/dist/zod-BMNoK3aM.js.map +1 -1
  179. package/package.json +172 -172
  180. package/dist/CheckboxField-DvsGq3kV.js.map +0 -1
  181. package/dist/Command-BU9Ouar3.js.map +0 -1
  182. package/dist/Field-CdocNMjg.js.map +0 -1
  183. package/dist/FieldLabel-DRwAhGMz.js.map +0 -1
  184. package/dist/FormFooterTemplate-1MNxzQ7J.js.map +0 -1
  185. package/dist/FormStack-DbtLshF8.js.map +0 -1
  186. package/dist/IconTooltip-CibXkFmt.js.map +0 -1
  187. package/dist/MenuItemShortcut-CGbVYqRi.js.map +0 -1
  188. package/dist/Popover-CkezMtEz.js.map +0 -1
  189. package/dist/SearchSelectTag-D1bFK1ux.js.map +0 -1
  190. package/dist/Select-Bfrb-J8s.js.map +0 -1
  191. package/dist/Shortcut-Cm4nUx2C.js +0 -22
  192. package/dist/Shortcut-Cm4nUx2C.js.map +0 -1
  193. package/dist/Tag-DJuVSJh5.js.map +0 -1
  194. package/dist/Toggle-CS29Nksd.js.map +0 -1
  195. package/dist/Tooltip-Cm1-WEdA.js.map +0 -1
  196. package/dist/TriggerButton-BzXO5wcQ.js +0 -33
  197. package/dist/TriggerButton-BzXO5wcQ.js.map +0 -1
  198. package/dist/design-tokens.source.json +0 -1
@@ -1,7 +1,7 @@
1
1
  import { jsx as r, jsxs as h } from "react/jsx-runtime";
2
2
  import { u as _ } from "../useBreakpoints-wEcfJPHd.js";
3
3
  import s from "react";
4
- import { T as z, b as T, c as B, a as D } from "../Tooltip-Cm1-WEdA.js";
4
+ import { T as z, b as T, c as B, a as D } from "../Tooltip-BH_Jc6ub.js";
5
5
  import { c as w } from "../cn-dsXlqdJg.js";
6
6
  import { S as A, a as E, b as G, d as O, e as H } from "../Sheet-Dx9mwcF6.js";
7
7
  import { I as L } from "../IconButton-moydR8IU.js";
@@ -30,8 +30,8 @@ function N() {
30
30
  }
31
31
  const F = "sidebar_state", W = 60 * 60 * 24 * 7, V = "16rem", U = "18rem", X = "3rem", Y = "b", J = n({
32
32
  base: "group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-primary-bg"
33
- }), Q = s.forwardRef(({ defaultOpen: e = !0, open: a, onOpenChange: t, className: i, style: o, children: d, ...p }, m) => {
34
- const c = _(), [f, b] = s.useState(!1), [y, C] = s.useState(e), g = a ?? y, S = s.useCallback(
33
+ }), Q = s.forwardRef(({ defaultOpen: e = !0, open: a, onOpenChange: t, className: o, style: i, children: d, ...p }, f) => {
34
+ const c = _(), [m, b] = s.useState(!1), [y, C] = s.useState(e), g = a ?? y, S = s.useCallback(
35
35
  (l) => {
36
36
  const u = typeof l == "function" ? l(g) : l;
37
37
  t ? t(u) : C(u), document.cookie = `${F}=${u}; path=/; max-age=${W}`;
@@ -50,11 +50,11 @@ const F = "sidebar_state", W = 60 * 60 * 24 * 7, V = "16rem", U = "18rem", X = "
50
50
  open: g,
51
51
  setOpen: S,
52
52
  isMobile: c,
53
- openMobile: f,
53
+ openMobile: m,
54
54
  setOpenMobile: b,
55
55
  toggleSidebar: x
56
56
  }),
57
- [M, g, S, c, f, b, x]
57
+ [M, g, S, c, m, b, x]
58
58
  );
59
59
  return /* @__PURE__ */ r(I.Provider, { value: k, children: /* @__PURE__ */ r(D, { delayDuration: 0, children: /* @__PURE__ */ r(
60
60
  "div",
@@ -62,27 +62,30 @@ const F = "sidebar_state", W = 60 * 60 * 24 * 7, V = "16rem", U = "18rem", X = "
62
62
  style: {
63
63
  "--sidebar-width": V,
64
64
  "--sidebar-width-icon": X,
65
- ...o
65
+ ...i
66
66
  },
67
- className: J({ className: i }),
68
- ref: m,
67
+ className: J({ className: o }),
68
+ ref: f,
69
69
  ...p,
70
70
  children: d
71
71
  }
72
72
  ) }) });
73
73
  });
74
74
  Q.displayName = "SidebarProvider";
75
- const Z = s.forwardRef(({ side: e = "left", variant: a = "sidebar", collapsible: t = "offcanvas", className: i, children: o, ...d }, p) => {
76
- const { isMobile: m, state: c, openMobile: f, setOpenMobile: b } = N();
75
+ const Z = s.forwardRef(({ side: e = "left", variant: a = "sidebar", collapsible: t = "offcanvas", className: o, children: i, ...d }, p) => {
76
+ const { isMobile: f, state: c, openMobile: m, setOpenMobile: b } = N();
77
77
  return t === "none" ? /* @__PURE__ */ r(
78
78
  "div",
79
79
  {
80
- className: w("bg-sidebar text-sidebar-foreground flex h-full w-[--sidebar-width] flex-col", i),
80
+ className: w(
81
+ "text-sidebar-foreground flex h-full w-[--sidebar-width] flex-col bg-primary-bg",
82
+ o
83
+ ),
81
84
  ref: p,
82
85
  ...d,
83
- children: o
86
+ children: i
84
87
  }
85
- ) : m ? /* @__PURE__ */ r(A, { open: f, onOpenChange: b, ...d, children: /* @__PURE__ */ h(
88
+ ) : f ? /* @__PURE__ */ r(A, { open: m, onOpenChange: b, ...d, children: /* @__PURE__ */ h(
86
89
  E,
87
90
  {
88
91
  "data-sidebar": "sidebar",
@@ -97,7 +100,7 @@ const Z = s.forwardRef(({ side: e = "left", variant: a = "sidebar", collapsible:
97
100
  /* @__PURE__ */ r(O, { children: "Sidebar" }),
98
101
  /* @__PURE__ */ r(H, { children: "Displays the mobile sidebar." })
99
102
  ] }),
100
- /* @__PURE__ */ r("div", { className: "flex h-full w-full flex-col", children: o })
103
+ /* @__PURE__ */ r("div", { className: "flex h-full w-full flex-col", children: i })
101
104
  ]
102
105
  }
103
106
  ) }) : /* @__PURE__ */ h(
@@ -129,15 +132,15 @@ const Z = s.forwardRef(({ side: e = "left", variant: a = "sidebar", collapsible:
129
132
  e === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
130
133
  // Adjust the padding for floating and inset variants.
131
134
  a === "floating" || a === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]" : "group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",
132
- i
135
+ o
133
136
  ),
134
137
  ...d,
135
138
  children: /* @__PURE__ */ r(
136
139
  "div",
137
140
  {
138
141
  "data-sidebar": "sidebar",
139
- 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",
140
- children: o
142
+ className: "group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col bg-primary-bg group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow",
143
+ children: i
141
144
  }
142
145
  )
143
146
  }
@@ -149,7 +152,7 @@ const Z = s.forwardRef(({ side: e = "left", variant: a = "sidebar", collapsible:
149
152
  Z.displayName = "Sidebar";
150
153
  const ee = s.forwardRef(
151
154
  ({ onClick: e, ...a }, t) => {
152
- const { toggleSidebar: i } = N();
155
+ const { toggleSidebar: o } = N();
153
156
  return /* @__PURE__ */ r(
154
157
  L,
155
158
  {
@@ -157,8 +160,8 @@ const ee = s.forwardRef(
157
160
  ref: t,
158
161
  "data-sidebar": "trigger",
159
162
  variant: "ghost",
160
- onClick: (o) => {
161
- e?.(o), i();
163
+ onClick: (i) => {
164
+ e?.(i), o();
162
165
  },
163
166
  ...a,
164
167
  children: /* @__PURE__ */ r("span", { className: "sr-only", children: "Toggle Sidebar" })
@@ -178,7 +181,7 @@ const ae = n({
178
181
  ]
179
182
  }), te = s.forwardRef(
180
183
  ({ className: e, ...a }, t) => {
181
- const { toggleSidebar: i } = N();
184
+ const { toggleSidebar: o } = N();
182
185
  return /* @__PURE__ */ r(
183
186
  "button",
184
187
  {
@@ -186,7 +189,7 @@ const ae = n({
186
189
  "data-sidebar": "rail",
187
190
  "aria-label": "Toggle Sidebar",
188
191
  tabIndex: -1,
189
- onClick: i,
192
+ onClick: o,
190
193
  title: "Toggle Sidebar",
191
194
  className: ae({ className: e }),
192
195
  ...a
@@ -202,12 +205,12 @@ const re = n({
202
205
  ]
203
206
  }), se = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ r("main", { ref: t, className: re({ className: e }), ...a }));
204
207
  se.displayName = "SidebarInset";
205
- const oe = n({
208
+ const ie = n({
206
209
  base: "h-8 w-full shadow-none"
207
- }), ie = s.forwardRef(
208
- ({ className: e, ...a }, t) => /* @__PURE__ */ r(K, { ref: t, "data-sidebar": "input", className: oe({ className: e }), ...a })
210
+ }), oe = s.forwardRef(
211
+ ({ className: e, ...a }, t) => /* @__PURE__ */ r(K, { ref: t, "data-sidebar": "input", className: ie({ className: e }), ...a })
209
212
  );
210
- ie.displayName = "SidebarInput";
213
+ oe.displayName = "SidebarInput";
211
214
  const ne = n({
212
215
  base: "flex flex-col gap-2 p-2"
213
216
  }), de = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ r("div", { ref: t, "data-sidebar": "header", className: ne({ className: e }), ...a }));
@@ -217,7 +220,7 @@ const le = n({
217
220
  }), ce = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ r("div", { ref: t, "data-sidebar": "footer", className: le({ className: e }), ...a }));
218
221
  ce.displayName = "SidebarFooter";
219
222
  const be = n({
220
- base: "mx-2 w-auto bg-secondary-border"
223
+ base: "w-auto bg-secondary-border"
221
224
  }), ue = s.forwardRef(
222
225
  ({ className: e, ...a }, t) => /* @__PURE__ */ r(
223
226
  P,
@@ -236,26 +239,26 @@ const pe = n({
236
239
  wrapper: "flex min-h-0 flex-1 flex-col bg-primary-bg",
237
240
  content: "flex flex-col gap-2 group-data-[collapsible=icon]:overflow-hidden"
238
241
  }
239
- }), fe = s.forwardRef(
240
- ({ className: e, children: a, ...t }, i) => {
241
- const o = pe();
242
+ }), me = s.forwardRef(
243
+ ({ className: e, children: a, ...t }, o) => {
244
+ const i = pe();
242
245
  return /* @__PURE__ */ r(
243
246
  j,
244
247
  {
245
- ref: i,
248
+ ref: o,
246
249
  "data-sidebar": "content",
247
- wrapperClassName: o.wrapper(),
248
- className: o.content({ className: e }),
250
+ wrapperClassName: i.wrapper(),
251
+ className: i.content({ className: e }),
249
252
  ...t,
250
253
  children: a
251
254
  }
252
255
  );
253
256
  }
254
257
  );
255
- fe.displayName = "SidebarContent";
256
- const me = n({
258
+ me.displayName = "SidebarContent";
259
+ const fe = n({
257
260
  base: "relative flex w-full min-w-0 flex-col p-2"
258
- }), ge = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ r("div", { ref: t, "data-sidebar": "group", className: me({ className: e }), ...a }));
261
+ }), ge = s.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ r("div", { ref: t, "data-sidebar": "group", className: fe({ className: e }), ...a }));
259
262
  ge.displayName = "SidebarGroup";
260
263
  const he = n({
261
264
  base: [
@@ -263,7 +266,7 @@ const he = n({
263
266
  "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0"
264
267
  ]
265
268
  }), ve = s.forwardRef(
266
- ({ className: e, asChild: a = !1, ...t }, i) => /* @__PURE__ */ r(a ? v : "div", { ref: i, "data-sidebar": "group-label", className: he({ className: e }), ...t })
269
+ ({ className: e, asChild: a = !1, ...t }, o) => /* @__PURE__ */ r(a ? v : "div", { ref: o, "data-sidebar": "group-label", className: he({ className: e }), ...t })
267
270
  );
268
271
  ve.displayName = "SidebarGroupLabel";
269
272
  const ye = n({
@@ -274,10 +277,10 @@ const ye = n({
274
277
  "group-data-[collapsible=icon]:hidden"
275
278
  ]
276
279
  }), Se = s.forwardRef(
277
- ({ className: e, asChild: a = !1, ...t }, i) => /* @__PURE__ */ r(
280
+ ({ className: e, asChild: a = !1, ...t }, o) => /* @__PURE__ */ r(
278
281
  a ? v : "button",
279
282
  {
280
- ref: i,
283
+ ref: o,
281
284
  "data-sidebar": "group-action",
282
285
  className: ye({ className: e }),
283
286
  ...t
@@ -303,13 +306,13 @@ const Ce = n({
303
306
  base: [
304
307
  "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md bg-primary-bg p-2 text-left text-sm text-secondary-fg outline-none transition-[width,height,padding]",
305
308
  "hover:bg-secondary-bg-hover hover:text-primary-fg focus-visible:shadow-focus",
306
- "active:bg-secondary-bg-hover active:text-primary-fg",
309
+ "active:bg-primary-bg-hover active:text-primary-accent",
307
310
  "disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50",
308
- "data-[active=true]:bg-secondary-bg-hover data-[active=true]:font-medium data-[active=true]:text-primary-accent",
311
+ "data-[active=true]:bg-primary-bg-hover data-[active=true]:font-medium data-[active=true]:text-primary-accent data-[active=true]:hover:bg-primary-bg-hover data-[active=true]:hover:text-primary-accent",
309
312
  "data-[state=open]:hover:bg-secondary-bg-hover data-[state=open]:hover:text-primary-fg",
310
313
  "group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate",
311
- "[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted data-[active=true]:[&>svg]:text-primary-accent",
312
- "group-data-[collapsible=icon]:[&>svg]:text-secondary-fg group-data-[collapsible=icon]:[&>svg]:hover:text-primary-fg group-data-[collapsible=icon]:data-[active=true]:[&>svg]:text-primary-accent",
314
+ "[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted [&[data-active=true]>svg]:text-primary-accent",
315
+ "group-data-[collapsible=icon]:[&>svg]:text-secondary-fg group-data-[collapsible=icon]:[&>svg]:hover:text-primary-fg group-data-[collapsible=icon]:[&[data-active=true]>svg]:text-primary-accent",
313
316
  "group-has-[[data-sidebar=menu-action]]/menu-item:pr-8"
314
317
  ],
315
318
  variants: {
@@ -327,23 +330,23 @@ const Ce = n({
327
330
  variant: "default",
328
331
  size: "default"
329
332
  }
330
- }), ke = s.forwardRef(({ asChild: e = !1, isActive: a = !1, variant: t = "default", size: i = "default", tooltip: o, className: d, ...p }, m) => {
331
- const c = e ? v : "button", { isMobile: f, state: b } = N(), y = /* @__PURE__ */ r(
333
+ }), ke = s.forwardRef(({ asChild: e = !1, isActive: a = !1, variant: t = "default", size: o = "default", tooltip: i, className: d, ...p }, f) => {
334
+ const c = e ? v : "button", { isMobile: m, state: b } = N(), y = /* @__PURE__ */ r(
332
335
  c,
333
336
  {
334
- ref: m,
337
+ ref: f,
335
338
  "data-sidebar": "menu-button",
336
- "data-size": i,
339
+ "data-size": o,
337
340
  "data-active": a,
338
- className: w(Ce({ variant: t, size: i }), d),
341
+ className: w(Ce({ variant: t, size: o }), d),
339
342
  ...p
340
343
  }
341
344
  );
342
- return o ? (typeof o == "string" && (o = {
343
- children: o
345
+ return i ? (typeof i == "string" && (i = {
346
+ children: i
344
347
  }), /* @__PURE__ */ h(z, { children: [
345
348
  /* @__PURE__ */ r(T, { asChild: !0, children: y }),
346
- /* @__PURE__ */ r(B, { side: "right", align: "center", hidden: b !== "collapsed" || f, ...o })
349
+ /* @__PURE__ */ r(B, { side: "right", align: "center", hidden: b !== "collapsed" || m, ...i })
347
350
  ] })) : y;
348
351
  });
349
352
  ke.displayName = "SidebarMenuButton";
@@ -359,23 +362,23 @@ const _e = n({
359
362
  ],
360
363
  variants: {
361
364
  isHover: {
362
- true: "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-primary-fg md:opacity-0"
365
+ true: "group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-primary-accent md:opacity-0"
363
366
  }
364
367
  }
365
- }), ze = s.forwardRef(({ className: e, asChild: a = !1, showOnHover: t = !1, ...i }, o) => /* @__PURE__ */ r(
368
+ }), ze = s.forwardRef(({ className: e, asChild: a = !1, showOnHover: t = !1, ...o }, i) => /* @__PURE__ */ r(
366
369
  a ? v : "button",
367
370
  {
368
- ref: o,
371
+ ref: i,
369
372
  "data-sidebar": "menu-action",
370
373
  className: _e({ isHover: t, className: e }),
371
- ...i
374
+ ...o
372
375
  }
373
376
  ));
374
377
  ze.displayName = "SidebarMenuAction";
375
378
  const Te = n({
376
379
  base: [
377
- "pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-secondary-fg",
378
- "peer-hover/menu-button:text-primary-fg peer-data-[active=true]/menu-button:text-primary-fg",
380
+ "pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-normal tabular-nums leading-none text-muted",
381
+ "peer-hover/menu-button:text-muted peer-disabled/menu-button:opacity-50 peer-data-[active=true]/menu-button:text-muted",
379
382
  "peer-data-[size=sm]/menu-button:top-1",
380
383
  "peer-data-[size=default]/menu-button:top-1.5",
381
384
  "peer-data-[size=lg]/menu-button:top-2.5",
@@ -391,9 +394,9 @@ const De = n({
391
394
  skeleton: "h-4 max-w-[--skeleton-width] flex-1",
392
395
  skeletonIcon: "size-4 rounded-md"
393
396
  }
394
- }), Ae = s.forwardRef(({ className: e, showIcon: a = !1, ...t }, i) => {
395
- const o = s.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []), d = De();
396
- return /* @__PURE__ */ h("div", { ref: i, "data-sidebar": "menu-skeleton", className: d.wrapper({ className: e }), ...t, children: [
397
+ }), Ae = s.forwardRef(({ className: e, showIcon: a = !1, ...t }, o) => {
398
+ const i = s.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []), d = De();
399
+ return /* @__PURE__ */ h("div", { ref: o, "data-sidebar": "menu-skeleton", className: d.wrapper({ className: e }), ...t, children: [
397
400
  a && /* @__PURE__ */ r(R, { className: d.skeletonIcon(), "data-sidebar": "menu-skeleton-icon" }),
398
401
  /* @__PURE__ */ r(
399
402
  R,
@@ -401,7 +404,7 @@ const De = n({
401
404
  className: d.skeleton(),
402
405
  "data-sidebar": "menu-skeleton-text",
403
406
  style: {
404
- "--skeleton-width": o
407
+ "--skeleton-width": i
405
408
  }
406
409
  }
407
410
  )
@@ -425,8 +428,8 @@ const Oe = n({
425
428
  He.displayName = "SidebarMenuSubItem";
426
429
  const Le = n({
427
430
  base: [
428
- "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-secondary-fg outline-none hover:bg-secondary-bg-hover hover:text-primary-fg focus-visible:ring-2 active:bg-secondary-bg-hover active:text-primary-fg disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-primary-fg",
429
- "data-[active=true]:bg-secondary-bg-hover data-[active=true]:text-primary-fg",
431
+ "flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-secondary-fg outline-none hover:bg-secondary-bg-hover hover:text-primary-fg focus-visible:ring-2 active:bg-primary-bg-hover active:text-primary-accent disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-primary-fg",
432
+ "data-[active=true]:bg-primary-bg-hover data-[active=true]:text-primary-accent",
430
433
  "group-data-[collapsible=icon]:hidden"
431
434
  ],
432
435
  variants: {
@@ -435,28 +438,28 @@ const Le = n({
435
438
  md: "text-sm"
436
439
  }
437
440
  }
438
- }), Ke = s.forwardRef(({ asChild: e = !1, size: a = "md", isActive: t, className: i, ...o }, d) => /* @__PURE__ */ r(
441
+ }), Ke = s.forwardRef(({ asChild: e = !1, size: a = "md", isActive: t, className: o, ...i }, d) => /* @__PURE__ */ r(
439
442
  e ? v : "a",
440
443
  {
441
444
  ref: d,
442
445
  "data-sidebar": "menu-sub-button",
443
446
  "data-size": a,
444
447
  "data-active": t,
445
- className: Le({ size: a, className: i }),
446
- ...o
448
+ className: Le({ size: a, className: o }),
449
+ ...i
447
450
  }
448
451
  ));
449
452
  Ke.displayName = "SidebarMenuSubButton";
450
453
  export {
451
454
  Z as Sidebar,
452
- fe as SidebarContent,
455
+ me as SidebarContent,
453
456
  ce as SidebarFooter,
454
457
  ge as SidebarGroup,
455
458
  Se as SidebarGroupAction,
456
459
  we as SidebarGroupContent,
457
460
  ve as SidebarGroupLabel,
458
461
  de as SidebarHeader,
459
- ie as SidebarInput,
462
+ oe as SidebarInput,
460
463
  se as SidebarInset,
461
464
  Me as SidebarMenu,
462
465
  ze as SidebarMenuAction,
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sources":["../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/panel-left.js","../../src/components/sidebar/SidebarContext.tsx","../../src/components/sidebar/Sidebar.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst PanelLeft = createLucideIcon(\"PanelLeft\", [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M9 3v18\", key: \"fh3hqa\" }]\n]);\n\nexport { PanelLeft as default };\n//# sourceMappingURL=panel-left.js.map\n","import React from \"react\";\r\n\r\nexport type SidebarContextProps = {\r\n\tstate: \"expanded\" | \"collapsed\";\r\n\topen: boolean;\r\n\tsetOpen: (open: boolean) => void;\r\n\topenMobile: boolean;\r\n\tsetOpenMobile: (open: boolean) => void;\r\n\tisMobile: boolean;\r\n\ttoggleSidebar: () => void;\r\n};\r\n\r\nexport const SidebarContext = React.createContext<SidebarContextProps | null>(null);\r\n\r\nexport function useSidebar() {\r\n\tconst context = React.useContext(SidebarContext);\r\n\tif (!context) {\r\n\t\tthrow new Error(\"useSidebar must be used within a SidebarProvider.\");\r\n\t}\r\n\r\n\treturn context;\r\n}\r\n","import { useIsMobile } from \"@/hooks/useBreakpoints\";\r\nimport React from \"react\";\r\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../tooltip\";\r\nimport { cn } from \"@/lib/utils\";\r\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from \"../sheet/Sheet\";\r\nimport { Button, IconButton } from \"../button\";\r\nimport { PanelLeft } from \"lucide-react\";\r\nimport { TextInput } from \"../input\";\r\nimport { Divider } from \"../divider\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Skeleton } from \"../skeleton\";\r\nimport { SidebarContext, SidebarContextProps, useSidebar } from \"./SidebarContext\";\r\nimport { ScrollShadowContainer } from \"../scroll-shadow-container\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\r\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\r\nconst SIDEBAR_WIDTH = \"16rem\";\r\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\r\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\r\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\r\n\r\nconst sizebarProviderStyles = tv({\r\n\tbase: \"group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-primary-bg\"\r\n});\r\n\r\nconst SidebarProvider = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<\"div\"> & {\r\n\t\tdefaultOpen?: boolean;\r\n\t\topen?: boolean;\r\n\t\tonOpenChange?: (open: boolean) => void;\r\n\t}\r\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\r\n\tconst isMobile = useIsMobile();\r\n\tconst [openMobile, setOpenMobile] = React.useState(false);\r\n\r\n\t// This is the internal state of the sidebar.\r\n\t// We use openProp and setOpenProp for control from outside the component.\r\n\tconst [_open, _setOpen] = React.useState(defaultOpen);\r\n\tconst open = openProp ?? _open;\r\n\tconst setOpen = React.useCallback(\r\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\r\n\t\t\tconst openState = typeof value === \"function\" ? value(open) : value;\r\n\t\t\tif (setOpenProp) {\r\n\t\t\t\tsetOpenProp(openState);\r\n\t\t\t} else {\r\n\t\t\t\t_setOpen(openState);\r\n\t\t\t}\r\n\r\n\t\t\t// This sets the cookie to keep the sidebar state.\r\n\t\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\r\n\t\t},\r\n\t\t[setOpenProp, open]\r\n\t);\r\n\r\n\t// Helper to toggle the sidebar.\r\n\tconst toggleSidebar = React.useCallback(() => {\r\n\t\treturn isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\r\n\t}, [isMobile, setOpen, setOpenMobile]);\r\n\r\n\t// Adds a keyboard shortcut to toggle the sidebar.\r\n\tReact.useEffect(() => {\r\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\r\n\t\t\tif (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t\ttoggleSidebar();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\twindow.addEventListener(\"keydown\", handleKeyDown);\r\n\t\treturn () => window.removeEventListener(\"keydown\", handleKeyDown);\r\n\t}, [toggleSidebar]);\r\n\r\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\r\n\t// This makes it easier to style the sidebar with Tailwind classes.\r\n\tconst state = open ? \"expanded\" : \"collapsed\";\r\n\r\n\tconst contextValue = React.useMemo<SidebarContextProps>(\r\n\t\t() => ({\r\n\t\t\tstate,\r\n\t\t\topen,\r\n\t\t\tsetOpen,\r\n\t\t\tisMobile,\r\n\t\t\topenMobile,\r\n\t\t\tsetOpenMobile,\r\n\t\t\ttoggleSidebar\r\n\t\t}),\r\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\r\n\t);\r\n\r\n\treturn (\r\n\t\t<SidebarContext.Provider value={contextValue}>\r\n\t\t\t<TooltipProvider delayDuration={0}>\r\n\t\t\t\t<div\r\n\t\t\t\t\tstyle={\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\r\n\t\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\r\n\t\t\t\t\t\t\t...style\r\n\t\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclassName={sizebarProviderStyles({ className })}\r\n\t\t\t\t\tref={ref}\r\n\t\t\t\t\t{...props}\r\n\t\t\t\t>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</TooltipProvider>\r\n\t\t</SidebarContext.Provider>\r\n\t);\r\n});\r\nSidebarProvider.displayName = \"SidebarProvider\";\r\n\r\nconst Sidebar = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<\"div\"> & {\r\n\t\tside?: \"left\" | \"right\";\r\n\t\tvariant?: \"sidebar\" | \"floating\" | \"inset\";\r\n\t\tcollapsible?: \"offcanvas\" | \"icon\" | \"none\";\r\n\t}\r\n>(({ side = \"left\", variant = \"sidebar\", collapsible = \"offcanvas\", className, children, ...props }, ref) => {\r\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\r\n\r\n\tif (collapsible === \"none\") {\r\n\t\treturn (\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\"bg-sidebar text-sidebar-foreground flex h-full w-[--sidebar-width] flex-col\", className)}\r\n\t\t\t\tref={ref}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n\r\n\tif (isMobile) {\r\n\t\treturn (\r\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\r\n\t\t\t\t<SheetContent\r\n\t\t\t\t\tdata-sidebar=\"sidebar\"\r\n\t\t\t\t\tdata-mobile=\"true\"\r\n\t\t\t\t\tclassName=\"w-[--sidebar-width] bg-primary-bg p-0 text-secondary-fg [&>button]:hidden\"\r\n\t\t\t\t\tstyle={\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH_MOBILE\r\n\t\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t\t}\r\n\t\t\t\t\tside={side}\r\n\t\t\t\t>\r\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\r\n\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\r\n\t\t\t\t\t\t<SheetDescription>Displays the mobile sidebar.</SheetDescription>\r\n\t\t\t\t\t</SheetHeader>\r\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\r\n\t\t\t\t</SheetContent>\r\n\t\t\t</Sheet>\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tref={ref}\r\n\t\t\tclassName=\"text-sidebar-foreground group peer hidden md:block\"\r\n\t\t\tdata-state={state}\r\n\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\r\n\t\t\tdata-variant={variant}\r\n\t\t\tdata-side={side}\r\n\t\t>\r\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\"relative w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear\",\r\n\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\r\n\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\r\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\r\n\t\t\t\t\t\t? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]\"\r\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\r\n\t\t\t\t)}\r\n\t\t\t/>\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\"fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex\",\r\n\t\t\t\t\tside === \"left\"\r\n\t\t\t\t\t\t? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\r\n\t\t\t\t\t\t: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\r\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\r\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\r\n\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\r\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l\",\r\n\t\t\t\t\tclassName\r\n\t\t\t\t)}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<div\r\n\t\t\t\t\tdata-sidebar=\"sidebar\"\r\n\t\t\t\t\tclassName=\"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\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{children}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n});\r\n\r\nSidebar.displayName = \"Sidebar\";\r\n\r\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof Button>, React.ComponentProps<typeof Button>>(\r\n\t({ onClick, ...props }, ref) => {\r\n\t\tconst { toggleSidebar } = useSidebar();\r\n\r\n\t\treturn (\r\n\t\t\t<IconButton\r\n\t\t\t\ticon={PanelLeft}\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar=\"trigger\"\r\n\t\t\t\tvariant=\"ghost\"\r\n\t\t\t\tonClick={(event) => {\r\n\t\t\t\t\tonClick?.(event);\r\n\t\t\t\t\ttoggleSidebar();\r\n\t\t\t\t}}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t<span className=\"sr-only\">Toggle Sidebar</span>\r\n\t\t\t</IconButton>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarTrigger.displayName = \"SidebarTrigger\";\r\n\r\nconst sidebarRailStyles = tv({\r\n\tbase: [\r\n\t\t\"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-secondary-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\r\n\t\t\"[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize\",\r\n\t\t\"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\r\n\t\t\"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-secondary-border\",\r\n\t\t\"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\r\n\t\t\"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\"\r\n\t]\r\n});\r\n\r\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\">>(\r\n\t({ className, ...props }, ref) => {\r\n\t\tconst { toggleSidebar } = useSidebar();\r\n\r\n\t\treturn (\r\n\t\t\t<button\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar=\"rail\"\r\n\t\t\t\taria-label=\"Toggle Sidebar\"\r\n\t\t\t\ttabIndex={-1}\r\n\t\t\t\tonClick={toggleSidebar}\r\n\t\t\t\ttitle=\"Toggle Sidebar\"\r\n\t\t\t\tclassName={sidebarRailStyles({ className })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarRail.displayName = \"SidebarRail\";\r\n\r\nconst sidebarInsetStyles = tv({\r\n\tbase: [\r\n\t\t\"relative flex w-full flex-1 flex-col bg-secondary-bg\",\r\n\t\t\"md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\"\r\n\t]\r\n});\r\n\r\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<\"main\">>(({ className, ...props }, ref) => {\r\n\treturn <main ref={ref} className={sidebarInsetStyles({ className })} {...props} />;\r\n});\r\n\r\nSidebarInset.displayName = \"SidebarInset\";\r\n\r\nconst sidebarInputStyles = tv({\r\n\tbase: \"h-8 w-full shadow-none\"\r\n});\r\n\r\nconst SidebarInput = React.forwardRef<React.ElementRef<typeof TextInput>, React.ComponentProps<typeof TextInput>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\treturn <TextInput ref={ref} data-sidebar=\"input\" className={sidebarInputStyles({ className })} {...props} />;\r\n\t}\r\n);\r\n\r\nSidebarInput.displayName = \"SidebarInput\";\r\n\r\nconst sidebarHeaderStyles = tv({\r\n\tbase: \"flex flex-col gap-2 p-2\"\r\n});\r\n\r\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar=\"header\" className={sidebarHeaderStyles({ className })} {...props} />;\r\n});\r\n\r\nSidebarHeader.displayName = \"SidebarHeader\";\r\n\r\nconst sidebarFooterStyles = tv({\r\n\tbase: \"flex flex-col gap-2 p-2\"\r\n});\r\n\r\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar=\"footer\" className={sidebarFooterStyles({ className })} {...props} />;\r\n});\r\n\r\nSidebarFooter.displayName = \"SidebarFooter\";\r\n\r\nconst sidebarSeparatorStyles = tv({\r\n\tbase: \"mx-2 w-auto bg-secondary-border\"\r\n});\r\n\r\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Divider>, React.ComponentProps<typeof Divider>>(\r\n\t({ className, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<Divider\r\n\t\t\t\tref={ref}\r\n\t\t\t\torientation=\"horizontal\"\r\n\t\t\t\tdata-sidebar=\"separator\"\r\n\t\t\t\tclassName={sidebarSeparatorStyles({ className })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarSeparator.displayName = \"SidebarSeparator\";\r\n\r\nconst sidebarContentStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex min-h-0 flex-1 flex-col bg-primary-bg\",\r\n\t\tcontent: \"flex flex-col gap-2 group-data-[collapsible=icon]:overflow-hidden\"\r\n\t}\r\n});\r\n\r\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\r\n\t({ className, children, ...props }, ref) => {\r\n\t\tconst styles = sidebarContentStyles();\r\n\r\n\t\treturn (\r\n\t\t\t<ScrollShadowContainer\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar=\"content\"\r\n\t\t\t\twrapperClassName={styles.wrapper()}\r\n\t\t\t\tclassName={styles.content({ className })}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</ScrollShadowContainer>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarContent.displayName = \"SidebarContent\";\r\n\r\nconst sidebarGroupStyles = tv({\r\n\tbase: \"relative flex w-full min-w-0 flex-col p-2\"\r\n});\r\n\r\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n\treturn <div ref={ref} data-sidebar=\"group\" className={sidebarGroupStyles({ className })} {...props} />;\r\n});\r\n\r\nSidebarGroup.displayName = \"SidebarGroup\";\r\n\r\nconst sidebarGroupLabelStyles = tv({\r\n\tbase: [\r\n\t\t\"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-secondary-fg/70 outline-none transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\r\n\t\t\"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\"\r\n\t]\r\n});\r\n\r\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\"> & { asChild?: boolean }>(\r\n\t({ className, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : \"div\";\r\n\r\n\t\treturn (\r\n\t\t\t<Comp ref={ref} data-sidebar=\"group-label\" className={sidebarGroupLabelStyles({ className })} {...props} />\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\";\r\n\r\nconst sidebarGroupActionStyles = tv({\r\n\tbase: [\r\n\t\t\"focus-visible:ring-primary2 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-muted outline-none transition-transform hover:text-primary-fg focus-visible:shadow-focus [&>svg]:size-4 [&>svg]:shrink-0\",\r\n\t\t// Increases the hit area of the button on mobile.\r\n\t\t\"after:absolute after:-inset-2 after:md:hidden\",\r\n\t\t\"group-data-[collapsible=icon]:hidden\"\r\n\t]\r\n});\r\n\r\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\"> & { asChild?: boolean }>(\r\n\t({ className, asChild = false, ...props }, ref) => {\r\n\t\tconst Comp = asChild ? Slot : \"button\";\r\n\r\n\t\treturn (\r\n\t\t\t<Comp\r\n\t\t\t\tref={ref}\r\n\t\t\t\tdata-sidebar=\"group-action\"\r\n\t\t\t\tclassName={sidebarGroupActionStyles({ className })}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nSidebarGroupAction.displayName = \"SidebarGroupAction\";\r\n\r\nconst sidebarGroupContentStyles = tv({\r\n\tbase: \"w-full text-sm\"\r\n});\r\n\r\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<div ref={ref} data-sidebar=\"group-content\" className={sidebarGroupContentStyles({ className })} {...props} />\r\n\t)\r\n);\r\n\r\nSidebarGroupContent.displayName = \"SidebarGroupContent\";\r\n\r\nconst sidebarMenuStyles = tv({\r\n\tbase: \"flex w-full min-w-0 flex-col gap-1\"\r\n});\r\n\r\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(({ className, ...props }, ref) => (\r\n\t<ul ref={ref} data-sidebar=\"menu\" className={sidebarMenuStyles({ className })} {...props} />\r\n));\r\n\r\nSidebarMenu.displayName = \"SidebarMenu\";\r\n\r\nconst sidebarMenuItemStyles = tv({\r\n\tbase: \"group/menu-item relative\"\r\n});\r\n\r\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(({ className, ...props }, ref) => (\r\n\t<li ref={ref} data-sidebar=\"menu-item\" className={sidebarMenuItemStyles({ className })} {...props} />\r\n));\r\n\r\nSidebarMenuItem.displayName = \"SidebarMenuItem\";\r\n\r\nexport interface SidebarMenuButtonVariants {\r\n\tvariant?: \"default\" | \"outline\";\r\n\tsize?: \"default\" | \"sm\" | \"lg\";\r\n}\r\n\r\nconst sidebarMenuButtonStyles = tv({\r\n\tbase: [\r\n\t\t\"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md bg-primary-bg p-2 text-left text-sm text-secondary-fg outline-none transition-[width,height,padding]\",\r\n\t\t\"hover:bg-secondary-bg-hover hover:text-primary-fg focus-visible:shadow-focus\",\r\n\t\t\"active:bg-secondary-bg-hover active:text-primary-fg\",\r\n\t\t\"disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50\",\r\n\t\t\"data-[active=true]:bg-secondary-bg-hover data-[active=true]:font-medium data-[active=true]:text-primary-accent\",\r\n\t\t\"data-[state=open]:hover:bg-secondary-bg-hover data-[state=open]:hover:text-primary-fg\",\r\n\t\t\"group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate\",\r\n\t\t\"[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted data-[active=true]:[&>svg]:text-primary-accent\",\r\n\t\t\"group-data-[collapsible=icon]:[&>svg]:text-secondary-fg group-data-[collapsible=icon]:[&>svg]:hover:text-primary-fg group-data-[collapsible=icon]:data-[active=true]:[&>svg]:text-primary-accent\",\r\n\t\t\"group-has-[[data-sidebar=menu-action]]/menu-item:pr-8\"\r\n\t],\r\n\tvariants: {\r\n\t\tvariant: {\r\n\t\t\tdefault: \"hover:bg-secondary-bg-hover hover:text-primary-fg\",\r\n\t\t\toutline:\r\n\t\t\t\t\"border border-secondary-border bg-primary-bg shadow-soft-sm hover:bg-secondary-bg-hover hover:text-primary-fg\"\r\n\t\t},\r\n\t\tsize: {\r\n\t\t\tdefault: \"h-8 text-sm\",\r\n\t\t\tsm: \"h-7 text-xs\",\r\n\t\t\tlg: \"h-12 text-sm group-data-[collapsible=icon]:!p-0\"\r\n\t\t}\r\n\t} satisfies VariantsConfig<SidebarMenuButtonVariants>,\r\n\tdefaultVariants: {\r\n\t\tvariant: \"default\",\r\n\t\tsize: \"default\"\r\n\t}\r\n});\r\n\r\nconst SidebarMenuButton = React.forwardRef<\r\n\tHTMLButtonElement,\r\n\tReact.ComponentProps<\"button\"> & {\r\n\t\tasChild?: boolean;\r\n\t\tisActive?: boolean;\r\n\t\ttooltip?: string | React.ComponentProps<typeof TooltipContent>;\r\n\t} & SidebarMenuButtonVariants\r\n>(({ asChild = false, isActive = false, variant = \"default\", size = \"default\", tooltip, className, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : \"button\";\r\n\tconst { isMobile, state } = useSidebar();\r\n\r\n\tconst button = (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar=\"menu-button\"\r\n\t\t\tdata-size={size}\r\n\t\t\tdata-active={isActive}\r\n\t\t\tclassName={cn(sidebarMenuButtonStyles({ variant, size }), className)}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n\r\n\tif (!tooltip) {\r\n\t\treturn button;\r\n\t}\r\n\r\n\tif (typeof tooltip === \"string\") {\r\n\t\ttooltip = {\r\n\t\t\tchildren: tooltip\r\n\t\t};\r\n\t}\r\n\r\n\treturn (\r\n\t\t<Tooltip>\r\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\r\n\t\t\t<TooltipContent side=\"right\" align=\"center\" hidden={state !== \"collapsed\" || isMobile} {...tooltip} />\r\n\t\t</Tooltip>\r\n\t);\r\n});\r\n\r\nSidebarMenuButton.displayName = \"SidebarMenuButton\";\r\n\r\nconst sidebarMenuActionStyles = tv({\r\n\tbase: [\r\n\t\t\"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-muted outline-none transition-transform hover:text-primary-fg focus-visible:ring-1 focus-visible:ring-primary peer-hover/menu-button:text-primary-fg [&>svg]:size-4 [&>svg]:shrink-0\",\r\n\t\t// Increases the hit area of the button on mobile.\r\n\t\t\"after:absolute after:-inset-2 after:md:hidden\",\r\n\t\t\"peer-data-[size=sm]/menu-button:top-1\",\r\n\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\r\n\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\r\n\t\t\"group-data-[collapsible=icon]:hidden\"\r\n\t],\r\n\tvariants: {\r\n\t\tisHover: {\r\n\t\t\ttrue: \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-primary-fg md:opacity-0\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst SidebarMenuAction = React.forwardRef<\r\n\tHTMLButtonElement,\r\n\tReact.ComponentProps<\"button\"> & {\r\n\t\tasChild?: boolean;\r\n\t\tshowOnHover?: boolean;\r\n\t}\r\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : \"button\";\r\n\r\n\treturn (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar=\"menu-action\"\r\n\t\t\tclassName={sidebarMenuActionStyles({ isHover: showOnHover, className })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nSidebarMenuAction.displayName = \"SidebarMenuAction\";\r\n\r\nconst sidebarMenuBadgeStyles = tv({\r\n\tbase: [\r\n\t\t\"pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-secondary-fg\",\r\n\t\t\"peer-hover/menu-button:text-primary-fg peer-data-[active=true]/menu-button:text-primary-fg\",\r\n\t\t\"peer-data-[size=sm]/menu-button:top-1\",\r\n\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\r\n\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\r\n\t\t\"group-data-[collapsible=icon]:hidden\"\r\n\t]\r\n});\r\n\r\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<div ref={ref} data-sidebar=\"menu-badge\" className={sidebarMenuBadgeStyles({ className })} {...props} />\r\n\t)\r\n);\r\n\r\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\";\r\n\r\nconst sidebarMenuSkeletonStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex h-8 items-center gap-2 rounded-md px-2\",\r\n\t\tskeleton: \"h-4 max-w-[--skeleton-width] flex-1\",\r\n\t\tskeletonIcon: \"size-4 rounded-md\"\r\n\t}\r\n});\r\n\r\nconst SidebarMenuSkeleton = React.forwardRef<\r\n\tHTMLDivElement,\r\n\tReact.ComponentProps<\"div\"> & {\r\n\t\tshowIcon?: boolean;\r\n\t}\r\n>(({ className, showIcon = false, ...props }, ref) => {\r\n\t// Random width between 50 to 90%.\r\n\tconst width = React.useMemo(() => {\r\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\r\n\t}, []);\r\n\r\n\tconst styles = sidebarMenuSkeletonStyles();\r\n\r\n\treturn (\r\n\t\t<div ref={ref} data-sidebar=\"menu-skeleton\" className={styles.wrapper({ className })} {...props}>\r\n\t\t\t{showIcon && <Skeleton className={styles.skeletonIcon()} data-sidebar=\"menu-skeleton-icon\" />}\r\n\t\t\t<Skeleton\r\n\t\t\t\tclassName={styles.skeleton()}\r\n\t\t\t\tdata-sidebar=\"menu-skeleton-text\"\r\n\t\t\t\tstyle={\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"--skeleton-width\": width\r\n\t\t\t\t\t} as React.CSSProperties\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t</div>\r\n\t);\r\n});\r\n\r\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\";\r\n\r\nconst sidebarMenuSubStyles = tv({\r\n\tbase: [\r\n\t\t\"ml-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-secondary-border py-0.5 pl-2.5\",\r\n\t\t\"group-data-[collapsible=icon]:hidden\"\r\n\t]\r\n});\r\n\r\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<ul ref={ref} data-sidebar=\"menu-sub\" className={sidebarMenuSubStyles({ className })} {...props} />\r\n\t)\r\n);\r\n\r\nSidebarMenuSub.displayName = \"SidebarMenuSub\";\r\n\r\nconst sidebarMenuSubItemStyles = tv({\r\n\tbase: \"rounded-md focus-visible:shadow-focus focus-visible:outline-none\"\r\n});\r\n\r\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(\r\n\t({ className, ...props }, ref) => (\r\n\t\t<li ref={ref} tabIndex={0} className={sidebarMenuSubItemStyles({ className })} {...props} />\r\n\t)\r\n);\r\n\r\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\";\r\n\r\nconst sidebarMenuSubButtonStyles = tv({\r\n\tbase: [\r\n\t\t\"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-secondary-fg outline-none hover:bg-secondary-bg-hover hover:text-primary-fg focus-visible:ring-2 active:bg-secondary-bg-hover active:text-primary-fg disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-primary-fg\",\r\n\t\t\"data-[active=true]:bg-secondary-bg-hover data-[active=true]:text-primary-fg\",\r\n\t\t\"group-data-[collapsible=icon]:hidden\"\r\n\t],\r\n\tvariants: {\r\n\t\tsize: {\r\n\t\t\tsm: \"text-xs\",\r\n\t\t\tmd: \"text-sm\"\r\n\t\t}\r\n\t}\r\n});\r\n\r\nconst SidebarMenuSubButton = React.forwardRef<\r\n\tHTMLAnchorElement,\r\n\tReact.ComponentProps<\"a\"> & {\r\n\t\tasChild?: boolean;\r\n\t\tsize?: \"sm\" | \"md\";\r\n\t\tisActive?: boolean;\r\n\t}\r\n>(({ asChild = false, size = \"md\", isActive, className, ...props }, ref) => {\r\n\tconst Comp = asChild ? Slot : \"a\";\r\n\r\n\treturn (\r\n\t\t<Comp\r\n\t\t\tref={ref}\r\n\t\t\tdata-sidebar=\"menu-sub-button\"\r\n\t\t\tdata-size={size}\r\n\t\t\tdata-active={isActive}\r\n\t\t\tclassName={sidebarMenuSubButtonStyles({ size, className })}\r\n\t\t\t{...props}\r\n\t\t/>\r\n\t);\r\n});\r\n\r\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\";\r\n\r\nexport {\r\n\tSidebar,\r\n\tSidebarContent,\r\n\tSidebarFooter,\r\n\tSidebarGroup,\r\n\tSidebarGroupAction,\r\n\tSidebarGroupContent,\r\n\tSidebarGroupLabel,\r\n\tSidebarHeader,\r\n\tSidebarInput,\r\n\tSidebarInset,\r\n\tSidebarMenu,\r\n\tSidebarMenuAction,\r\n\tSidebarMenuBadge,\r\n\tSidebarMenuButton,\r\n\tSidebarMenuItem,\r\n\tSidebarMenuSkeleton,\r\n\tSidebarMenuSub,\r\n\tSidebarMenuSubButton,\r\n\tSidebarMenuSubItem,\r\n\tSidebarProvider,\r\n\tSidebarRail,\r\n\tSidebarSeparator,\r\n\tSidebarTrigger\r\n};\r\n"],"names":["PanelLeft","createLucideIcon","SidebarContext","React","useSidebar","context","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","sizebarProviderStyles","tv","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","Sidebar","side","variant","collapsible","cn","Sheet","jsxs","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","IconButton","sidebarRailStyles","SidebarRail","sidebarInsetStyles","SidebarInset","sidebarInputStyles","SidebarInput","TextInput","sidebarHeaderStyles","SidebarHeader","sidebarFooterStyles","SidebarFooter","sidebarSeparatorStyles","SidebarSeparator","Divider","sidebarContentStyles","SidebarContent","styles","ScrollShadowContainer","sidebarGroupStyles","SidebarGroup","sidebarGroupLabelStyles","SidebarGroupLabel","asChild","Slot","sidebarGroupActionStyles","SidebarGroupAction","sidebarGroupContentStyles","SidebarGroupContent","sidebarMenuStyles","SidebarMenu","sidebarMenuItemStyles","SidebarMenuItem","sidebarMenuButtonStyles","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","sidebarMenuActionStyles","SidebarMenuAction","showOnHover","sidebarMenuBadgeStyles","SidebarMenuBadge","sidebarMenuSkeletonStyles","SidebarMenuSkeleton","showIcon","width","Skeleton","sidebarMenuSubStyles","SidebarMenuSub","sidebarMenuSubItemStyles","SidebarMenuSubItem","sidebarMenuSubButtonStyles","SidebarMenuSubButton"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"sidebar.js","sources":["../../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/panel-left.js","../../src/components/sidebar/SidebarContext.tsx","../../src/components/sidebar/Sidebar.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst PanelLeft = createLucideIcon(\"PanelLeft\", [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M9 3v18\", key: \"fh3hqa\" }]\n]);\n\nexport { PanelLeft as default };\n//# sourceMappingURL=panel-left.js.map\n","import React from \"react\";\n\nexport type SidebarContextProps = {\n\tstate: \"expanded\" | \"collapsed\";\n\topen: boolean;\n\tsetOpen: (open: boolean) => void;\n\topenMobile: boolean;\n\tsetOpenMobile: (open: boolean) => void;\n\tisMobile: boolean;\n\ttoggleSidebar: () => void;\n};\n\nexport const SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nexport function useSidebar() {\n\tconst context = React.useContext(SidebarContext);\n\tif (!context) {\n\t\tthrow new Error(\"useSidebar must be used within a SidebarProvider.\");\n\t}\n\n\treturn context;\n}\n","import { useIsMobile } from \"@/hooks/useBreakpoints\";\nimport React from \"react\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../tooltip\";\nimport { cn } from \"@/lib/utils\";\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from \"../sheet/Sheet\";\nimport { Button, IconButton } from \"../button\";\nimport { PanelLeft } from \"lucide-react\";\nimport { TextInput } from \"../input\";\nimport { Divider } from \"../divider\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { tv } from \"tailwind-variants\";\nimport { Skeleton } from \"../skeleton\";\nimport { SidebarContext, SidebarContextProps, useSidebar } from \"./SidebarContext\";\nimport { ScrollShadowContainer } from \"../scroll-shadow-container\";\nimport { VariantsConfig } from \"@/lib/utils/variants\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\nconst sizebarProviderStyles = tv({\n\tbase: \"group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-primary-bg\"\n});\n\nconst SidebarProvider = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<\"div\"> & {\n\t\tdefaultOpen?: boolean;\n\t\topen?: boolean;\n\t\tonOpenChange?: (open: boolean) => void;\n\t}\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\n\tconst isMobile = useIsMobile();\n\tconst [openMobile, setOpenMobile] = React.useState(false);\n\n\t// This is the internal state of the sidebar.\n\t// We use openProp and setOpenProp for control from outside the component.\n\tconst [_open, _setOpen] = React.useState(defaultOpen);\n\tconst open = openProp ?? _open;\n\tconst setOpen = React.useCallback(\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\n\t\t\tconst openState = typeof value === \"function\" ? value(open) : value;\n\t\t\tif (setOpenProp) {\n\t\t\t\tsetOpenProp(openState);\n\t\t\t} else {\n\t\t\t\t_setOpen(openState);\n\t\t\t}\n\n\t\t\t// This sets the cookie to keep the sidebar state.\n\t\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n\t\t},\n\t\t[setOpenProp, open]\n\t);\n\n\t// Helper to toggle the sidebar.\n\tconst toggleSidebar = React.useCallback(() => {\n\t\treturn isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n\t}, [isMobile, setOpen, setOpenMobile]);\n\n\t// Adds a keyboard shortcut to toggle the sidebar.\n\tReact.useEffect(() => {\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleSidebar();\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener(\"keydown\", handleKeyDown);\n\t\treturn () => window.removeEventListener(\"keydown\", handleKeyDown);\n\t}, [toggleSidebar]);\n\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n\t// This makes it easier to style the sidebar with Tailwind classes.\n\tconst state = open ? \"expanded\" : \"collapsed\";\n\n\tconst contextValue = React.useMemo<SidebarContextProps>(\n\t\t() => ({\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar\n\t\t}),\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n\t);\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<TooltipProvider delayDuration={0}>\n\t\t\t\t<div\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\n\t\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t\t...style\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tclassName={sizebarProviderStyles({ className })}\n\t\t\t\t\tref={ref}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</TooltipProvider>\n\t\t</SidebarContext.Provider>\n\t);\n});\nSidebarProvider.displayName = \"SidebarProvider\";\n\nconst Sidebar = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<\"div\"> & {\n\t\tside?: \"left\" | \"right\";\n\t\tvariant?: \"sidebar\" | \"floating\" | \"inset\";\n\t\tcollapsible?: \"offcanvas\" | \"icon\" | \"none\";\n\t}\n>(({ side = \"left\", variant = \"sidebar\", collapsible = \"offcanvas\", className, children, ...props }, ref) => {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n\tif (collapsible === \"none\") {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"text-sidebar-foreground flex h-full w-[--sidebar-width] flex-col bg-primary-bg\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tref={ref}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\tclassName=\"w-[--sidebar-width] bg-primary-bg p-0 text-secondary-fg [&>button]:hidden\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH_MOBILE\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\n\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\n\t\t\t\t\t\t<SheetDescription>Displays the mobile sidebar.</SheetDescription>\n\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName=\"text-sidebar-foreground group peer hidden md:block\"\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear\",\n\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\n\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex\",\n\t\t\t\t\tside === \"left\"\n\t\t\t\t\t\t? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n\t\t\t\t\t\t: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tclassName=\"group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col bg-primary-bg group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nSidebar.displayName = \"Sidebar\";\n\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof Button>, React.ComponentProps<typeof Button>>(\n\t({ onClick, ...props }, ref) => {\n\t\tconst { toggleSidebar } = useSidebar();\n\n\t\treturn (\n\t\t\t<IconButton\n\t\t\t\ticon={PanelLeft}\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar=\"trigger\"\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tonClick?.(event);\n\t\t\t\t\ttoggleSidebar();\n\t\t\t\t}}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<span className=\"sr-only\">Toggle Sidebar</span>\n\t\t\t</IconButton>\n\t\t);\n\t}\n);\n\nSidebarTrigger.displayName = \"SidebarTrigger\";\n\nconst sidebarRailStyles = tv({\n\tbase: [\n\t\t\"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-secondary-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\n\t\t\"[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize\",\n\t\t\"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n\t\t\"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-secondary-border\",\n\t\t\"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n\t\t\"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\"\n\t]\n});\n\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\">>(\n\t({ className, ...props }, ref) => {\n\t\tconst { toggleSidebar } = useSidebar();\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar=\"rail\"\n\t\t\t\taria-label=\"Toggle Sidebar\"\n\t\t\t\ttabIndex={-1}\n\t\t\t\tonClick={toggleSidebar}\n\t\t\t\ttitle=\"Toggle Sidebar\"\n\t\t\t\tclassName={sidebarRailStyles({ className })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nSidebarRail.displayName = \"SidebarRail\";\n\nconst sidebarInsetStyles = tv({\n\tbase: [\n\t\t\"relative flex w-full flex-1 flex-col bg-secondary-bg\",\n\t\t\"md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow\"\n\t]\n});\n\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<\"main\">>(({ className, ...props }, ref) => {\n\treturn <main ref={ref} className={sidebarInsetStyles({ className })} {...props} />;\n});\n\nSidebarInset.displayName = \"SidebarInset\";\n\nconst sidebarInputStyles = tv({\n\tbase: \"h-8 w-full shadow-none\"\n});\n\nconst SidebarInput = React.forwardRef<React.ElementRef<typeof TextInput>, React.ComponentProps<typeof TextInput>>(\n\t({ className, ...props }, ref) => {\n\t\treturn <TextInput ref={ref} data-sidebar=\"input\" className={sidebarInputStyles({ className })} {...props} />;\n\t}\n);\n\nSidebarInput.displayName = \"SidebarInput\";\n\nconst sidebarHeaderStyles = tv({\n\tbase: \"flex flex-col gap-2 p-2\"\n});\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar=\"header\" className={sidebarHeaderStyles({ className })} {...props} />;\n});\n\nSidebarHeader.displayName = \"SidebarHeader\";\n\nconst sidebarFooterStyles = tv({\n\tbase: \"flex flex-col gap-2 p-2\"\n});\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar=\"footer\" className={sidebarFooterStyles({ className })} {...props} />;\n});\n\nSidebarFooter.displayName = \"SidebarFooter\";\n\nconst sidebarSeparatorStyles = tv({\n\tbase: \"w-auto bg-secondary-border\"\n});\n\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Divider>, React.ComponentProps<typeof Divider>>(\n\t({ className, ...props }, ref) => {\n\t\treturn (\n\t\t\t<Divider\n\t\t\t\tref={ref}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\tdata-sidebar=\"separator\"\n\t\t\t\tclassName={sidebarSeparatorStyles({ className })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nSidebarSeparator.displayName = \"SidebarSeparator\";\n\nconst sidebarContentStyles = tv({\n\tslots: {\n\t\twrapper: \"flex min-h-0 flex-1 flex-col bg-primary-bg\",\n\t\tcontent: \"flex flex-col gap-2 group-data-[collapsible=icon]:overflow-hidden\"\n\t}\n});\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\n\t({ className, children, ...props }, ref) => {\n\t\tconst styles = sidebarContentStyles();\n\n\t\treturn (\n\t\t\t<ScrollShadowContainer\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar=\"content\"\n\t\t\t\twrapperClassName={styles.wrapper()}\n\t\t\t\tclassName={styles.content({ className })}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ScrollShadowContainer>\n\t\t);\n\t}\n);\n\nSidebarContent.displayName = \"SidebarContent\";\n\nconst sidebarGroupStyles = tv({\n\tbase: \"relative flex w-full min-w-0 flex-col p-2\"\n});\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\n\treturn <div ref={ref} data-sidebar=\"group\" className={sidebarGroupStyles({ className })} {...props} />;\n});\n\nSidebarGroup.displayName = \"SidebarGroup\";\n\nconst sidebarGroupLabelStyles = tv({\n\tbase: [\n\t\t\"flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-secondary-fg/70 outline-none transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t\"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\"\n\t]\n});\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\"> & { asChild?: boolean }>(\n\t({ className, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : \"div\";\n\n\t\treturn (\n\t\t\t<Comp ref={ref} data-sidebar=\"group-label\" className={sidebarGroupLabelStyles({ className })} {...props} />\n\t\t);\n\t}\n);\n\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\";\n\nconst sidebarGroupActionStyles = tv({\n\tbase: [\n\t\t\"focus-visible:ring-primary2 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-muted outline-none transition-transform hover:text-primary-fg focus-visible:shadow-focus [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t// Increases the hit area of the button on mobile.\n\t\t\"after:absolute after:-inset-2 after:md:hidden\",\n\t\t\"group-data-[collapsible=icon]:hidden\"\n\t]\n});\n\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\"> & { asChild?: boolean }>(\n\t({ className, asChild = false, ...props }, ref) => {\n\t\tconst Comp = asChild ? Slot : \"button\";\n\n\t\treturn (\n\t\t\t<Comp\n\t\t\t\tref={ref}\n\t\t\t\tdata-sidebar=\"group-action\"\n\t\t\t\tclassName={sidebarGroupActionStyles({ className })}\n\t\t\t\t{...props}\n\t\t\t/>\n\t\t);\n\t}\n);\n\nSidebarGroupAction.displayName = \"SidebarGroupAction\";\n\nconst sidebarGroupContentStyles = tv({\n\tbase: \"w-full text-sm\"\n});\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\n\t({ className, ...props }, ref) => (\n\t\t<div ref={ref} data-sidebar=\"group-content\" className={sidebarGroupContentStyles({ className })} {...props} />\n\t)\n);\n\nSidebarGroupContent.displayName = \"SidebarGroupContent\";\n\nconst sidebarMenuStyles = tv({\n\tbase: \"flex w-full min-w-0 flex-col gap-1\"\n});\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(({ className, ...props }, ref) => (\n\t<ul ref={ref} data-sidebar=\"menu\" className={sidebarMenuStyles({ className })} {...props} />\n));\n\nSidebarMenu.displayName = \"SidebarMenu\";\n\nconst sidebarMenuItemStyles = tv({\n\tbase: \"group/menu-item relative\"\n});\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(({ className, ...props }, ref) => (\n\t<li ref={ref} data-sidebar=\"menu-item\" className={sidebarMenuItemStyles({ className })} {...props} />\n));\n\nSidebarMenuItem.displayName = \"SidebarMenuItem\";\n\nexport interface SidebarMenuButtonVariants {\n\tvariant?: \"default\" | \"outline\";\n\tsize?: \"default\" | \"sm\" | \"lg\";\n}\n\nconst sidebarMenuButtonStyles = tv({\n\tbase: [\n\t\t\"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md bg-primary-bg p-2 text-left text-sm text-secondary-fg outline-none transition-[width,height,padding]\",\n\t\t\"hover:bg-secondary-bg-hover hover:text-primary-fg focus-visible:shadow-focus\",\n\t\t\"active:bg-primary-bg-hover active:text-primary-accent\",\n\t\t\"disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n\t\t\"data-[active=true]:bg-primary-bg-hover data-[active=true]:font-medium data-[active=true]:text-primary-accent data-[active=true]:hover:bg-primary-bg-hover data-[active=true]:hover:text-primary-accent\",\n\t\t\"data-[state=open]:hover:bg-secondary-bg-hover data-[state=open]:hover:text-primary-fg\",\n\t\t\"group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate\",\n\t\t\"[&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted [&[data-active=true]>svg]:text-primary-accent\",\n\t\t\"group-data-[collapsible=icon]:[&>svg]:text-secondary-fg group-data-[collapsible=icon]:[&>svg]:hover:text-primary-fg group-data-[collapsible=icon]:[&[data-active=true]>svg]:text-primary-accent\",\n\t\t\"group-has-[[data-sidebar=menu-action]]/menu-item:pr-8\"\n\t],\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: \"hover:bg-secondary-bg-hover hover:text-primary-fg\",\n\t\t\toutline:\n\t\t\t\t\"border border-secondary-border bg-primary-bg shadow-soft-sm hover:bg-secondary-bg-hover hover:text-primary-fg\"\n\t\t},\n\t\tsize: {\n\t\t\tdefault: \"h-8 text-sm\",\n\t\t\tsm: \"h-7 text-xs\",\n\t\t\tlg: \"h-12 text-sm group-data-[collapsible=icon]:!p-0\"\n\t\t}\n\t} satisfies VariantsConfig<SidebarMenuButtonVariants>,\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t\tsize: \"default\"\n\t}\n});\n\nconst SidebarMenuButton = React.forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<\"button\"> & {\n\t\tasChild?: boolean;\n\t\tisActive?: boolean;\n\t\ttooltip?: string | React.ComponentProps<typeof TooltipContent>;\n\t} & SidebarMenuButtonVariants\n>(({ asChild = false, isActive = false, variant = \"default\", size = \"default\", tooltip, className, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : \"button\";\n\tconst { isMobile, state } = useSidebar();\n\n\tconst button = (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar=\"menu-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(sidebarMenuButtonStyles({ variant, size }), className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n\n\tif (!tooltip) {\n\t\treturn button;\n\t}\n\n\tif (typeof tooltip === \"string\") {\n\t\ttooltip = {\n\t\t\tchildren: tooltip\n\t\t};\n\t}\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\n\t\t\t<TooltipContent side=\"right\" align=\"center\" hidden={state !== \"collapsed\" || isMobile} {...tooltip} />\n\t\t</Tooltip>\n\t);\n});\n\nSidebarMenuButton.displayName = \"SidebarMenuButton\";\n\nconst sidebarMenuActionStyles = tv({\n\tbase: [\n\t\t\"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-muted outline-none transition-transform hover:text-primary-fg focus-visible:ring-1 focus-visible:ring-primary peer-hover/menu-button:text-primary-fg [&>svg]:size-4 [&>svg]:shrink-0\",\n\t\t// Increases the hit area of the button on mobile.\n\t\t\"after:absolute after:-inset-2 after:md:hidden\",\n\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\"group-data-[collapsible=icon]:hidden\"\n\t],\n\tvariants: {\n\t\tisHover: {\n\t\t\ttrue: \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-primary-accent md:opacity-0\"\n\t\t}\n\t}\n});\n\nconst SidebarMenuAction = React.forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<\"button\"> & {\n\t\tasChild?: boolean;\n\t\tshowOnHover?: boolean;\n\t}\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : \"button\";\n\n\treturn (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar=\"menu-action\"\n\t\t\tclassName={sidebarMenuActionStyles({ isHover: showOnHover, className })}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nSidebarMenuAction.displayName = \"SidebarMenuAction\";\n\nconst sidebarMenuBadgeStyles = tv({\n\tbase: [\n\t\t\"pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-normal tabular-nums leading-none text-muted\",\n\t\t\"peer-hover/menu-button:text-muted peer-disabled/menu-button:opacity-50 peer-data-[active=true]/menu-button:text-muted\",\n\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\"group-data-[collapsible=icon]:hidden\"\n\t]\n});\n\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(\n\t({ className, ...props }, ref) => (\n\t\t<div ref={ref} data-sidebar=\"menu-badge\" className={sidebarMenuBadgeStyles({ className })} {...props} />\n\t)\n);\n\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\";\n\nconst sidebarMenuSkeletonStyles = tv({\n\tslots: {\n\t\twrapper: \"flex h-8 items-center gap-2 rounded-md px-2\",\n\t\tskeleton: \"h-4 max-w-[--skeleton-width] flex-1\",\n\t\tskeletonIcon: \"size-4 rounded-md\"\n\t}\n});\n\nconst SidebarMenuSkeleton = React.forwardRef<\n\tHTMLDivElement,\n\tReact.ComponentProps<\"div\"> & {\n\t\tshowIcon?: boolean;\n\t}\n>(({ className, showIcon = false, ...props }, ref) => {\n\t// Random width between 50 to 90%.\n\tconst width = React.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\n\t}, []);\n\n\tconst styles = sidebarMenuSkeletonStyles();\n\n\treturn (\n\t\t<div ref={ref} data-sidebar=\"menu-skeleton\" className={styles.wrapper({ className })} {...props}>\n\t\t\t{showIcon && <Skeleton className={styles.skeletonIcon()} data-sidebar=\"menu-skeleton-icon\" />}\n\t\t\t<Skeleton\n\t\t\t\tclassName={styles.skeleton()}\n\t\t\t\tdata-sidebar=\"menu-skeleton-text\"\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t\"--skeleton-width\": width\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\";\n\nconst sidebarMenuSubStyles = tv({\n\tbase: [\n\t\t\"ml-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-secondary-border py-0.5 pl-2.5\",\n\t\t\"group-data-[collapsible=icon]:hidden\"\n\t]\n});\n\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(\n\t({ className, ...props }, ref) => (\n\t\t<ul ref={ref} data-sidebar=\"menu-sub\" className={sidebarMenuSubStyles({ className })} {...props} />\n\t)\n);\n\nSidebarMenuSub.displayName = \"SidebarMenuSub\";\n\nconst sidebarMenuSubItemStyles = tv({\n\tbase: \"rounded-md focus-visible:shadow-focus focus-visible:outline-none\"\n});\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(\n\t({ className, ...props }, ref) => (\n\t\t<li ref={ref} tabIndex={0} className={sidebarMenuSubItemStyles({ className })} {...props} />\n\t)\n);\n\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\";\n\nconst sidebarMenuSubButtonStyles = tv({\n\tbase: [\n\t\t\"flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-secondary-fg outline-none hover:bg-secondary-bg-hover hover:text-primary-fg focus-visible:ring-2 active:bg-primary-bg-hover active:text-primary-accent disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-primary-fg\",\n\t\t\"data-[active=true]:bg-primary-bg-hover data-[active=true]:text-primary-accent\",\n\t\t\"group-data-[collapsible=icon]:hidden\"\n\t],\n\tvariants: {\n\t\tsize: {\n\t\t\tsm: \"text-xs\",\n\t\t\tmd: \"text-sm\"\n\t\t}\n\t}\n});\n\nconst SidebarMenuSubButton = React.forwardRef<\n\tHTMLAnchorElement,\n\tReact.ComponentProps<\"a\"> & {\n\t\tasChild?: boolean;\n\t\tsize?: \"sm\" | \"md\";\n\t\tisActive?: boolean;\n\t}\n>(({ asChild = false, size = \"md\", isActive, className, ...props }, ref) => {\n\tconst Comp = asChild ? Slot : \"a\";\n\n\treturn (\n\t\t<Comp\n\t\t\tref={ref}\n\t\t\tdata-sidebar=\"menu-sub-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={sidebarMenuSubButtonStyles({ size, className })}\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\";\n\nexport {\n\tSidebar,\n\tSidebarContent,\n\tSidebarFooter,\n\tSidebarGroup,\n\tSidebarGroupAction,\n\tSidebarGroupContent,\n\tSidebarGroupLabel,\n\tSidebarHeader,\n\tSidebarInput,\n\tSidebarInset,\n\tSidebarMenu,\n\tSidebarMenuAction,\n\tSidebarMenuBadge,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n\tSidebarMenuSkeleton,\n\tSidebarMenuSub,\n\tSidebarMenuSubButton,\n\tSidebarMenuSubItem,\n\tSidebarProvider,\n\tSidebarRail,\n\tSidebarSeparator,\n\tSidebarTrigger\n};\n"],"names":["PanelLeft","createLucideIcon","SidebarContext","React","useSidebar","context","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","sizebarProviderStyles","tv","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","Sidebar","side","variant","collapsible","cn","Sheet","jsxs","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","IconButton","sidebarRailStyles","SidebarRail","sidebarInsetStyles","SidebarInset","sidebarInputStyles","SidebarInput","TextInput","sidebarHeaderStyles","SidebarHeader","sidebarFooterStyles","SidebarFooter","sidebarSeparatorStyles","SidebarSeparator","Divider","sidebarContentStyles","SidebarContent","styles","ScrollShadowContainer","sidebarGroupStyles","SidebarGroup","sidebarGroupLabelStyles","SidebarGroupLabel","asChild","Slot","sidebarGroupActionStyles","SidebarGroupAction","sidebarGroupContentStyles","SidebarGroupContent","sidebarMenuStyles","SidebarMenu","sidebarMenuItemStyles","SidebarMenuItem","sidebarMenuButtonStyles","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","sidebarMenuActionStyles","SidebarMenuAction","showOnHover","sidebarMenuBadgeStyles","SidebarMenuBadge","sidebarMenuSkeletonStyles","SidebarMenuSkeleton","showIcon","width","Skeleton","sidebarMenuSubStyles","SidebarMenuSub","sidebarMenuSubItemStyles","SidebarMenuSubItem","sidebarMenuSubButtonStyles","SidebarMenuSubButton"],"mappings":"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","x_google_ignoreList":[0]}