@particle-academy/react-fancy 4.4.3 → 4.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -303,3 +303,9 @@ Purely visual primitives (labels, dividers, layout shells) only owe the first bu
303
303
  - `react`, `react-dom`, and `lucide-react` are external dependencies, never bundled.
304
304
  - After any change, verify with `pnpm --filter @particle-academy/react-fancy build` before considering the work done.
305
305
  - When updating a component, update its demo page in `resources/js/react-demos/pages/` to cover all new features.
306
+
307
+ ---
308
+
309
+ ## ⭐ Star Fancy UI
310
+
311
+ If this package is useful to you, a quick ⭐ on the repo really helps us build a better kit. Thank you!
package/dist/index.cjs CHANGED
@@ -3,31 +3,11 @@
3
3
  var react = require('react');
4
4
  var clsx = require('clsx');
5
5
  var tailwindMerge = require('tailwind-merge');
6
- var LucideIcons = require('lucide-react');
7
6
  var jsxRuntime = require('react/jsx-runtime');
8
7
  var reactDom = require('react-dom');
8
+ var lucideReact = require('lucide-react');
9
9
  var marked = require('marked');
10
10
 
11
- function _interopNamespace(e) {
12
- if (e && e.__esModule) return e;
13
- var n = Object.create(null);
14
- if (e) {
15
- Object.keys(e).forEach(function (k) {
16
- if (k !== 'default') {
17
- var d = Object.getOwnPropertyDescriptor(e, k);
18
- Object.defineProperty(n, k, d.get ? d : {
19
- enumerable: true,
20
- get: function () { return e[k]; }
21
- });
22
- }
23
- });
24
- }
25
- n.default = e;
26
- return Object.freeze(n);
27
- }
28
-
29
- var LucideIcons__namespace = /*#__PURE__*/_interopNamespace(LucideIcons);
30
-
31
11
  // src/components/Button/Button.tsx
32
12
  function cn(...inputs) {
33
13
  return tailwindMerge.twMerge(clsx.clsx(inputs));
@@ -2122,14 +2102,40 @@ function applyTone(char, tone) {
2122
2102
  const idx = SKIN_TONES.indexOf(tone);
2123
2103
  return entry.skinTones[idx] ?? char;
2124
2104
  }
2105
+
2106
+ // src/components/Icon/icon-config.ts
2125
2107
  var registry = /* @__PURE__ */ new Map();
2126
2108
  var defaultSetName = "lucide";
2127
2109
  function kebabToPascal(str) {
2128
2110
  return str.split("-").map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
2129
2111
  }
2112
+ var lucideModule = null;
2113
+ var lucidePromise = null;
2114
+ var lucideVersion = 0;
2115
+ var lucideListeners = /* @__PURE__ */ new Set();
2116
+ function ensureLucideLoaded() {
2117
+ if (lucideModule || lucidePromise) return;
2118
+ lucidePromise = import('lucide-react').then((mod) => {
2119
+ lucideModule = mod;
2120
+ lucideVersion++;
2121
+ for (const listener of lucideListeners) listener();
2122
+ }).catch(() => {
2123
+ });
2124
+ }
2125
+ function subscribeIconResolution(listener) {
2126
+ lucideListeners.add(listener);
2127
+ return () => lucideListeners.delete(listener);
2128
+ }
2129
+ function getIconResolutionVersion() {
2130
+ return lucideVersion;
2131
+ }
2130
2132
  function resolveFromLucide(name) {
2133
+ if (!lucideModule) {
2134
+ ensureLucideLoaded();
2135
+ return null;
2136
+ }
2131
2137
  const pascal = kebabToPascal(name);
2132
- const icon = LucideIcons__namespace[pascal];
2138
+ const icon = lucideModule[pascal];
2133
2139
  return typeof icon === "function" || icon && typeof icon === "object" ? icon : null;
2134
2140
  }
2135
2141
  function registerIcons(icons) {
@@ -2182,6 +2188,11 @@ var sizePixels = {
2182
2188
  };
2183
2189
  var Icon = react.forwardRef(
2184
2190
  ({ size = "md", className, children, name, iconSet, ...props }, ref) => {
2191
+ react.useSyncExternalStore(
2192
+ subscribeIconResolution,
2193
+ getIconResolutionVersion,
2194
+ getIconResolutionVersion
2195
+ );
2185
2196
  let content = children;
2186
2197
  if (name && !children) {
2187
2198
  const ResolvedIcon = resolveIcon(name, iconSet);
@@ -3233,7 +3244,11 @@ var Textarea = react.forwardRef(
3233
3244
  );
3234
3245
  Textarea.displayName = "Textarea";
3235
3246
  function Portal({ children, container }) {
3236
- if (typeof document === "undefined") return null;
3247
+ const [mounted, setMounted] = react.useState(false);
3248
+ react.useEffect(() => {
3249
+ setMounted(true);
3250
+ }, []);
3251
+ if (!mounted || typeof document === "undefined") return null;
3237
3252
  const target = container ?? document.body;
3238
3253
  return reactDom.createPortal(
3239
3254
  /* @__PURE__ */ jsxRuntime.jsx(PortalDarkWrapper, { children }),
@@ -6612,7 +6627,7 @@ var Callout = react.forwardRef(
6612
6627
  "shrink-0 rounded p-0.5 opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-current"
6613
6628
  ),
6614
6629
  "aria-label": "Dismiss",
6615
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 16 })
6630
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 16 })
6616
6631
  }
6617
6632
  )
6618
6633
  ]
@@ -7851,7 +7866,7 @@ function ModalHeader({ children, className }) {
7851
7866
  onClick: close,
7852
7867
  className: "rounded-lg p-1 text-zinc-400 transition-colors hover:bg-zinc-100 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300",
7853
7868
  "aria-label": "Close",
7854
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 20 })
7869
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 20 })
7855
7870
  }
7856
7871
  )
7857
7872
  ]
@@ -8030,10 +8045,10 @@ function ToastItem({ data, onDismiss }) {
8030
8045
  ),
8031
8046
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
8032
8047
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-0.5 shrink-0", VARIANT_ICON_COLORS[variant]), children: [
8033
- variant === "success" && /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Check, { size: 16 }),
8034
- variant === "error" && /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.XCircle, { size: 16 }),
8035
- variant === "warning" && /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.AlertTriangle, { size: 16 }),
8036
- variant === "info" && /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Info, { size: 16 })
8048
+ variant === "success" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { size: 16 }),
8049
+ variant === "error" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XCircle, { size: 16 }),
8050
+ variant === "warning" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { size: 16 }),
8051
+ variant === "info" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Info, { size: 16 })
8037
8052
  ] }),
8038
8053
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
8039
8054
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-zinc-900 dark:text-zinc-100", children: title }),
@@ -8046,7 +8061,7 @@ function ToastItem({ data, onDismiss }) {
8046
8061
  onClick: () => onDismiss(id),
8047
8062
  className: "shrink-0 rounded p-0.5 text-zinc-400 transition-colors hover:text-zinc-600 dark:hover:text-zinc-300",
8048
8063
  "aria-label": "Dismiss",
8049
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 14 })
8064
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 14 })
8050
8065
  }
8051
8066
  )
8052
8067
  ] })
@@ -8113,7 +8128,7 @@ function CommandInput({
8113
8128
  }) {
8114
8129
  const { query, setQuery } = useCommand();
8115
8130
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-react-fancy-command-input": "", className: "flex items-center border-b border-zinc-200 px-4 dark:border-zinc-700", children: [
8116
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Search, { size: 16, className: "shrink-0 text-zinc-400" }),
8131
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { size: 16, className: "shrink-0 text-zinc-400" }),
8117
8132
  /* @__PURE__ */ jsxRuntime.jsx(
8118
8133
  "input",
8119
8134
  {
@@ -8472,7 +8487,7 @@ function AccordionTrigger({
8472
8487
  ),
8473
8488
  children: [
8474
8489
  children,
8475
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { size: 16, className: cn("shrink-0 transition-transform duration-200", isOpen && "rotate-180") })
8490
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 16, className: cn("shrink-0 transition-transform duration-200", isOpen && "rotate-180") })
8476
8491
  ]
8477
8492
  }
8478
8493
  );
@@ -8559,7 +8574,7 @@ function BreadcrumbsDropdown({ items, activeLabel }) {
8559
8574
  className: "flex items-center gap-1 rounded-lg px-2 py-1 text-sm font-medium text-zinc-900 hover:bg-zinc-100 dark:text-white dark:hover:bg-zinc-800",
8560
8575
  children: [
8561
8576
  activeLabel,
8562
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { size: 14, className: cn("transition-transform", open && "rotate-180") })
8577
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 14, className: cn("transition-transform", open && "rotate-180") })
8563
8578
  ]
8564
8579
  }
8565
8580
  ),
@@ -8584,7 +8599,7 @@ function BreadcrumbsRoot({
8584
8599
  }) {
8585
8600
  const items = react.Children.toArray(children);
8586
8601
  const [expanded, setExpanded] = react.useState(false);
8587
- const sep = separator ?? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronRight, { size: 12, className: "text-zinc-400" });
8602
+ const sep = separator ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { size: 12, className: "text-zinc-400" });
8588
8603
  const lastItem = items[items.length - 1];
8589
8604
  const dropdownItems = items.map((child) => {
8590
8605
  const el = child;
@@ -8688,7 +8703,7 @@ function NavbarToggle({ className }) {
8688
8703
  ),
8689
8704
  "aria-label": "Toggle navigation",
8690
8705
  "aria-expanded": mobileOpen,
8691
- children: mobileOpen ? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 20 }) : /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Menu, { size: 20 })
8706
+ children: mobileOpen ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 20 }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Menu, { size: 20 })
8692
8707
  }
8693
8708
  );
8694
8709
  }
@@ -8768,7 +8783,7 @@ function Pagination({
8768
8783
  onClick: () => onPageChange(page - 1),
8769
8784
  className: cn(btnBase, btnDefault, page <= 1 && btnDisabled, "px-2"),
8770
8785
  "aria-label": "Previous page",
8771
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronLeft, { size: 16 })
8786
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { size: 16 })
8772
8787
  }
8773
8788
  ),
8774
8789
  pages.map(
@@ -8801,7 +8816,7 @@ function Pagination({
8801
8816
  "px-2"
8802
8817
  ),
8803
8818
  "aria-label": "Next page",
8804
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronRight, { size: 16 })
8819
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { size: 16 })
8805
8820
  }
8806
8821
  )
8807
8822
  ] });
@@ -9016,7 +9031,7 @@ var Pillbox = react.forwardRef(
9016
9031
  },
9017
9032
  className: "text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
9018
9033
  "aria-label": `Remove ${item}`,
9019
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 12 })
9034
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 12 })
9020
9035
  }
9021
9036
  )
9022
9037
  ]
@@ -9191,7 +9206,7 @@ function FileUploadDropzone({
9191
9206
  }
9192
9207
  ),
9193
9208
  children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9194
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Upload, { size: 32, strokeWidth: 1.5, className: "mb-2 text-zinc-400" }),
9209
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { size: 32, strokeWidth: 1.5, className: "mb-2 text-zinc-400" }),
9195
9210
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-zinc-500", children: "Drop files here or click to browse" })
9196
9211
  ] })
9197
9212
  ]
@@ -9219,7 +9234,7 @@ function ThumbnailItem({ file, index, onRemove }) {
9219
9234
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "group relative flex w-20 flex-col items-center gap-1", children: [
9220
9235
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative h-20 w-20 overflow-hidden rounded-lg border border-zinc-200 bg-zinc-50 dark:border-zinc-700 dark:bg-zinc-800", children: [
9221
9236
  isImage && objectUrl ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: objectUrl, alt: file.name, className: "h-full w-full object-cover" }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full w-full flex-col items-center justify-center gap-1", children: [
9222
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.File, { size: 20, className: "text-zinc-400" }),
9237
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.File, { size: 20, className: "text-zinc-400" }),
9223
9238
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-medium text-zinc-500", children: getExtension(file.name) })
9224
9239
  ] }),
9225
9240
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -9229,7 +9244,7 @@ function ThumbnailItem({ file, index, onRemove }) {
9229
9244
  onClick: () => onRemove(index),
9230
9245
  className: "absolute top-1 right-1 flex h-5 w-5 items-center justify-center rounded-full bg-black/60 text-white opacity-0 transition-opacity hover:bg-black/80 group-hover:opacity-100",
9231
9246
  "aria-label": `Remove ${file.name}`,
9232
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 10 })
9247
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 10 })
9233
9248
  }
9234
9249
  )
9235
9250
  ] }),
@@ -9247,7 +9262,7 @@ function FileUploadList({ thumbnail, className }) {
9247
9262
  {
9248
9263
  className: "flex items-center gap-3 rounded-lg border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-700",
9249
9264
  children: [
9250
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.File, { size: 16, className: "shrink-0 text-zinc-400" }),
9265
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.File, { size: 16, className: "shrink-0 text-zinc-400" }),
9251
9266
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate", children: file.name }),
9252
9267
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-xs text-zinc-400", children: formatSize(file.size) }),
9253
9268
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -9257,7 +9272,7 @@ function FileUploadList({ thumbnail, className }) {
9257
9272
  onClick: () => removeFile(i),
9258
9273
  className: "shrink-0 text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
9259
9274
  "aria-label": `Remove ${file.name}`,
9260
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 14 })
9275
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 14 })
9261
9276
  }
9262
9277
  )
9263
9278
  ]
@@ -9370,15 +9385,15 @@ var TimePicker = react.forwardRef(
9370
9385
  ),
9371
9386
  children: [
9372
9387
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
9373
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeHour(1), disabled, className: spinBtnClass, "aria-label": "Increase hour", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronUp, { size: 14 }) }),
9388
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeHour(1), disabled, className: spinBtnClass, "aria-label": "Increase hour", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { size: 14 }) }),
9374
9389
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: displayClass, children: pad(displayHour) }),
9375
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeHour(-1), disabled, className: spinBtnClass, "aria-label": "Decrease hour", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { size: 14 }) })
9390
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeHour(-1), disabled, className: spinBtnClass, "aria-label": "Decrease hour", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 14 }) })
9376
9391
  ] }),
9377
9392
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg text-zinc-400", children: ":" }),
9378
9393
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
9379
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeMinute(minuteStep), disabled, className: spinBtnClass, "aria-label": "Increase minute", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronUp, { size: 14 }) }),
9394
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeMinute(minuteStep), disabled, className: spinBtnClass, "aria-label": "Increase minute", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { size: 14 }) }),
9380
9395
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: displayClass, children: pad(minutes) }),
9381
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeMinute(-minuteStep), disabled, className: spinBtnClass, "aria-label": "Decrease minute", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { size: 14 }) })
9396
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeMinute(-minuteStep), disabled, className: spinBtnClass, "aria-label": "Decrease minute", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 14 }) })
9382
9397
  ] }),
9383
9398
  format === "12h" && /* @__PURE__ */ jsxRuntime.jsx(
9384
9399
  "button",
@@ -9549,7 +9564,7 @@ var Calendar = react.forwardRef(
9549
9564
  onClick: prevMonth,
9550
9565
  className: "rounded-lg p-1 text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-800",
9551
9566
  "aria-label": "Previous month",
9552
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronLeft, { size: 16 })
9567
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { size: 16 })
9553
9568
  }
9554
9569
  ),
9555
9570
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-semibold", children: [
@@ -9564,7 +9579,7 @@ var Calendar = react.forwardRef(
9564
9579
  onClick: nextMonth,
9565
9580
  className: "rounded-lg p-1 text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-800",
9566
9581
  "aria-label": "Next month",
9567
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronRight, { size: 16 })
9582
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { size: 16 })
9568
9583
  }
9569
9584
  )
9570
9585
  ] }),
@@ -11226,7 +11241,7 @@ function MenuSubmenu({
11226
11241
  children: [
11227
11242
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
11228
11243
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
11229
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { className: "h-3.5 w-3.5 opacity-60" })
11244
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-3.5 w-3.5 opacity-60" })
11230
11245
  ]
11231
11246
  }
11232
11247
  ),
@@ -11259,7 +11274,7 @@ function MenuSubmenu({
11259
11274
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
11260
11275
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-left", children: label }),
11261
11276
  /* @__PURE__ */ jsxRuntime.jsx(
11262
- LucideIcons.ChevronDown,
11277
+ lucideReact.ChevronDown,
11263
11278
  {
11264
11279
  className: cn(
11265
11280
  "h-3.5 w-3.5 opacity-60 transition-transform duration-200",
@@ -11426,7 +11441,7 @@ function SidebarSubmenu({
11426
11441
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
11427
11442
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-left", children: label }),
11428
11443
  /* @__PURE__ */ jsxRuntime.jsx(
11429
- LucideIcons.ChevronDown,
11444
+ lucideReact.ChevronDown,
11430
11445
  {
11431
11446
  className: cn(
11432
11447
  "h-3.5 w-3.5 opacity-60 transition-transform duration-200",
@@ -11464,7 +11479,7 @@ function SidebarToggle({ className }) {
11464
11479
  "hover:bg-zinc-100 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300",
11465
11480
  className
11466
11481
  ),
11467
- children: collapsed ? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.PanelLeftOpen, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.PanelLeftClose, { className: "h-4 w-4" })
11482
+ children: collapsed ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeftOpen, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeftClose, { className: "h-4 w-4" })
11468
11483
  }
11469
11484
  );
11470
11485
  }
@@ -11566,7 +11581,7 @@ function MobileMenuFlyout({
11566
11581
  type: "button",
11567
11582
  onClick: onClose,
11568
11583
  className: "flex h-8 w-8 items-center justify-center rounded-md text-zinc-400 transition-colors hover:bg-zinc-100 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300",
11569
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { className: "h-4 w-4" })
11584
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
11570
11585
  }
11571
11586
  )
11572
11587
  ] }),