@particle-academy/react-fancy 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/icons.cjs ADDED
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var lucideReact = require('lucide-react');
4
+
5
+
6
+
7
+ Object.keys(lucideReact).forEach(function (k) {
8
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return lucideReact[k]; }
11
+ });
12
+ });
13
+ //# sourceMappingURL=icons.cjs.map
14
+ //# sourceMappingURL=icons.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"icons.cjs","sourcesContent":[]}
@@ -0,0 +1 @@
1
+ export * from 'lucide-react';
@@ -0,0 +1 @@
1
+ export * from 'lucide-react';
package/dist/icons.js ADDED
@@ -0,0 +1,3 @@
1
+ export * from 'lucide-react';
2
+ //# sourceMappingURL=icons.js.map
3
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"icons.js","sourcesContent":[]}
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
  var __defProp = Object.defineProperty;
32
12
  var __getOwnPropNames = Object.getOwnPropertyNames;
33
13
  var __esm = (fn, res) => function __init() {
@@ -1195,22 +1175,31 @@ function search(query) {
1195
1175
  function find(char) {
1196
1176
  return EMOJI_ENTRIES.find((e) => e.char === char);
1197
1177
  }
1178
+
1179
+ // src/components/Icon/icon-config.ts
1198
1180
  var registry = /* @__PURE__ */ new Map();
1199
1181
  var defaultSetName = "lucide";
1200
1182
  function kebabToPascal(str) {
1201
1183
  return str.split("-").map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("");
1202
1184
  }
1203
- var lucideSet = {
1204
- resolve: (name) => {
1205
- const pascal = kebabToPascal(name);
1206
- const icon = LucideIcons__namespace[pascal];
1207
- if (typeof icon === "function" || typeof icon === "object" && icon !== null) {
1208
- return icon;
1209
- }
1210
- return null;
1185
+ function registerIcons(icons) {
1186
+ let set = registry.get("lucide");
1187
+ if (!set) {
1188
+ const map2 = /* @__PURE__ */ new Map();
1189
+ set = {
1190
+ resolve: (name) => {
1191
+ const pascal = kebabToPascal(name);
1192
+ return map2.get(pascal) ?? null;
1193
+ },
1194
+ _map: map2
1195
+ };
1196
+ registry.set("lucide", set);
1211
1197
  }
1212
- };
1213
- registry.set("lucide", lucideSet);
1198
+ const map = set._map;
1199
+ for (const [key, component] of Object.entries(icons)) {
1200
+ map.set(key, component);
1201
+ }
1202
+ }
1214
1203
  function registerIconSet(name, set) {
1215
1204
  registry.set(name, set);
1216
1205
  }
@@ -1295,6 +1284,22 @@ var defaultClasses = "bg-white text-zinc-700 border border-zinc-200 hover:bg-zin
1295
1284
  var activeClasses = "bg-blue-500 text-white border border-blue-600 hover:bg-blue-600 dark:bg-blue-600 dark:border-blue-500 dark:hover:bg-blue-500";
1296
1285
  var checkedClasses = "bg-emerald-500 text-white border border-emerald-600 hover:bg-emerald-600 dark:bg-emerald-600 dark:border-emerald-500 dark:hover:bg-emerald-500";
1297
1286
  var warnClasses = "bg-amber-50 text-amber-700 border border-amber-200 hover:bg-amber-100 dark:bg-amber-900/30 dark:text-amber-300 dark:border-amber-700 dark:hover:bg-amber-900/50";
1287
+ var ghostColorClasses = {
1288
+ blue: "bg-transparent text-blue-600 hover:bg-blue-50 dark:text-blue-400 dark:hover:bg-blue-950/50",
1289
+ emerald: "bg-transparent text-emerald-600 hover:bg-emerald-50 dark:text-emerald-400 dark:hover:bg-emerald-950/50",
1290
+ amber: "bg-transparent text-amber-600 hover:bg-amber-50 dark:text-amber-400 dark:hover:bg-amber-950/50",
1291
+ red: "bg-transparent text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-950/50",
1292
+ violet: "bg-transparent text-violet-600 hover:bg-violet-50 dark:text-violet-400 dark:hover:bg-violet-950/50",
1293
+ indigo: "bg-transparent text-indigo-600 hover:bg-indigo-50 dark:text-indigo-400 dark:hover:bg-indigo-950/50",
1294
+ sky: "bg-transparent text-sky-600 hover:bg-sky-50 dark:text-sky-400 dark:hover:bg-sky-950/50",
1295
+ rose: "bg-transparent text-rose-600 hover:bg-rose-50 dark:text-rose-400 dark:hover:bg-rose-950/50",
1296
+ orange: "bg-transparent text-orange-600 hover:bg-orange-50 dark:text-orange-400 dark:hover:bg-orange-950/50",
1297
+ zinc: "bg-transparent text-zinc-600 hover:bg-zinc-100 dark:text-zinc-400 dark:hover:bg-zinc-800"
1298
+ };
1299
+ var ghostDefaultClasses = "bg-transparent text-zinc-700 hover:bg-zinc-100 dark:text-zinc-300 dark:hover:bg-zinc-800";
1300
+ var ghostActiveClasses = "bg-blue-50 text-blue-700 hover:bg-blue-100 dark:bg-blue-950/50 dark:text-blue-300 dark:hover:bg-blue-950";
1301
+ var ghostCheckedClasses = "bg-emerald-50 text-emerald-700 hover:bg-emerald-100 dark:bg-emerald-950/50 dark:text-emerald-300 dark:hover:bg-emerald-950";
1302
+ var ghostWarnClasses = "bg-transparent text-amber-700 hover:bg-amber-50 dark:text-amber-300 dark:hover:bg-amber-950/50";
1298
1303
  var horizontalSize = {
1299
1304
  xs: "px-2 py-1 text-xs",
1300
1305
  sm: "px-2 py-1 text-xs",
@@ -1333,19 +1338,32 @@ var badgeSize = {
1333
1338
  function isColored(color, active, checked) {
1334
1339
  return !!(color || active || checked);
1335
1340
  }
1336
- function getColorClasses(color, active, checked, warn) {
1341
+ function getColorClasses(color, active, checked, warn, ghost) {
1342
+ if (ghost) {
1343
+ if (color) return ghostColorClasses[color];
1344
+ if (checked) return ghostCheckedClasses;
1345
+ if (active) return ghostActiveClasses;
1346
+ if (warn) return ghostWarnClasses;
1347
+ return ghostDefaultClasses;
1348
+ }
1337
1349
  if (color) return colorClasses[color];
1338
1350
  if (checked) return checkedClasses;
1339
1351
  if (active) return activeClasses;
1340
1352
  if (warn) return warnClasses;
1341
1353
  return defaultClasses;
1342
1354
  }
1343
- function getIconColorClasses(color, active, checked, warn) {
1355
+ function getIconColorClasses(color, active, checked, warn, ghost) {
1356
+ if (ghost) {
1357
+ return "text-current";
1358
+ }
1344
1359
  if (color || active || checked) return "text-white";
1345
1360
  if (warn) return "text-amber-600 dark:text-amber-400";
1346
1361
  return "text-zinc-500 dark:text-zinc-400";
1347
1362
  }
1348
- function getBadgeClasses(color, active, checked, warn) {
1363
+ function getBadgeClasses(color, active, checked, warn, ghost) {
1364
+ if (ghost) {
1365
+ return "bg-current/10 text-current";
1366
+ }
1349
1367
  if (isColored(color, active, checked)) return "bg-white/20 text-white";
1350
1368
  if (warn) return "bg-amber-200 text-amber-800 dark:bg-amber-800 dark:text-amber-200";
1351
1369
  return "bg-zinc-200 text-zinc-700 dark:bg-zinc-600 dark:text-zinc-200";
@@ -1402,13 +1420,14 @@ var Action = react.forwardRef(
1402
1420
  ...props
1403
1421
  }, ref) => {
1404
1422
  const isCircle = variant === "circle";
1423
+ const isGhost = variant === "ghost";
1405
1424
  const { primary, secondary } = parsePlacement(iconPlace);
1406
1425
  const isVertical = isVerticalPrimary(primary);
1407
1426
  const isCompound = !!secondary;
1408
1427
  const needsWrapper = isVertical || isCompound;
1409
1428
  const isReversed = iconPlace === "right";
1410
1429
  const sizeClass = isCircle ? circleSize[size] : horizontalSize[size];
1411
- const iconColorCls = getIconColorClasses(color, active, checked, warn);
1430
+ const iconColorCls = getIconColorClasses(color, active, checked, warn, isGhost);
1412
1431
  const buildElement = (key, trailing) => {
1413
1432
  switch (key) {
1414
1433
  case "e": {
@@ -1465,7 +1484,7 @@ var Action = react.forwardRef(
1465
1484
  className: cn(
1466
1485
  "inline-flex items-center justify-center font-medium rounded-full",
1467
1486
  badgeSize[size],
1468
- getBadgeClasses(color, active, checked, warn)
1487
+ getBadgeClasses(color, active, checked, warn, isGhost)
1469
1488
  ),
1470
1489
  "data-action-badge": true,
1471
1490
  children: badge
@@ -1514,7 +1533,7 @@ var Action = react.forwardRef(
1514
1533
  "disabled:opacity-50 disabled:cursor-not-allowed",
1515
1534
  isCircle ? "rounded-full" : "rounded-lg",
1516
1535
  sizeClass,
1517
- getColorClasses(color, active, checked, warn),
1536
+ getColorClasses(color, active, checked, warn, isGhost),
1518
1537
  !isCircle && !needsWrapper && "gap-2",
1519
1538
  !isCircle && needsWrapper && "gap-2",
1520
1539
  isReversed && !needsWrapper && "flex-row-reverse",
@@ -4868,7 +4887,7 @@ var Callout = react.forwardRef(
4868
4887
  "shrink-0 rounded p-0.5 opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-current"
4869
4888
  ),
4870
4889
  "aria-label": "Dismiss",
4871
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 16 })
4890
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 16 })
4872
4891
  }
4873
4892
  )
4874
4893
  ]
@@ -5638,7 +5657,7 @@ function ModalHeader({ children, className }) {
5638
5657
  onClick: close,
5639
5658
  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",
5640
5659
  "aria-label": "Close",
5641
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 20 })
5660
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 20 })
5642
5661
  }
5643
5662
  )
5644
5663
  ]
@@ -5815,10 +5834,10 @@ function ToastItem({ data, onDismiss }) {
5815
5834
  ),
5816
5835
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
5817
5836
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mt-0.5 shrink-0", VARIANT_ICON_COLORS[variant]), children: [
5818
- variant === "success" && /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Check, { size: 16 }),
5819
- variant === "error" && /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.XCircle, { size: 16 }),
5820
- variant === "warning" && /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.AlertTriangle, { size: 16 }),
5821
- variant === "info" && /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Info, { size: 16 })
5837
+ variant === "success" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { size: 16 }),
5838
+ variant === "error" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.XCircle, { size: 16 }),
5839
+ variant === "warning" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { size: 16 }),
5840
+ variant === "info" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Info, { size: 16 })
5822
5841
  ] }),
5823
5842
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
5824
5843
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-zinc-900 dark:text-zinc-100", children: title }),
@@ -5831,7 +5850,7 @@ function ToastItem({ data, onDismiss }) {
5831
5850
  onClick: () => onDismiss(id),
5832
5851
  className: "shrink-0 rounded p-0.5 text-zinc-400 transition-colors hover:text-zinc-600 dark:hover:text-zinc-300",
5833
5852
  "aria-label": "Dismiss",
5834
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 14 })
5853
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 14 })
5835
5854
  }
5836
5855
  )
5837
5856
  ] })
@@ -5898,7 +5917,7 @@ function CommandInput({
5898
5917
  }) {
5899
5918
  const { query, setQuery } = useCommand();
5900
5919
  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: [
5901
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Search, { size: 16, className: "shrink-0 text-zinc-400" }),
5920
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { size: 16, className: "shrink-0 text-zinc-400" }),
5902
5921
  /* @__PURE__ */ jsxRuntime.jsx(
5903
5922
  "input",
5904
5923
  {
@@ -6251,7 +6270,7 @@ function AccordionTrigger({
6251
6270
  ),
6252
6271
  children: [
6253
6272
  children,
6254
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { size: 16, className: cn("shrink-0 transition-transform duration-200", isOpen && "rotate-180") })
6273
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 16, className: cn("shrink-0 transition-transform duration-200", isOpen && "rotate-180") })
6255
6274
  ]
6256
6275
  }
6257
6276
  );
@@ -6338,7 +6357,7 @@ function BreadcrumbsDropdown({ items, activeLabel }) {
6338
6357
  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",
6339
6358
  children: [
6340
6359
  activeLabel,
6341
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { size: 14, className: cn("transition-transform", open && "rotate-180") })
6360
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 14, className: cn("transition-transform", open && "rotate-180") })
6342
6361
  ]
6343
6362
  }
6344
6363
  ),
@@ -6363,7 +6382,7 @@ function BreadcrumbsRoot({
6363
6382
  }) {
6364
6383
  const items = react.Children.toArray(children);
6365
6384
  const [expanded, setExpanded] = react.useState(false);
6366
- const sep = separator ?? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronRight, { size: 12, className: "text-zinc-400" });
6385
+ const sep = separator ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { size: 12, className: "text-zinc-400" });
6367
6386
  const lastItem = items[items.length - 1];
6368
6387
  const dropdownItems = items.map((child) => {
6369
6388
  const el = child;
@@ -6467,7 +6486,7 @@ function NavbarToggle({ className }) {
6467
6486
  ),
6468
6487
  "aria-label": "Toggle navigation",
6469
6488
  "aria-expanded": mobileOpen,
6470
- children: mobileOpen ? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 20 }) : /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Menu, { size: 20 })
6489
+ children: mobileOpen ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 20 }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Menu, { size: 20 })
6471
6490
  }
6472
6491
  );
6473
6492
  }
@@ -6547,7 +6566,7 @@ function Pagination({
6547
6566
  onClick: () => onPageChange(page - 1),
6548
6567
  className: cn(btnBase, btnDefault, page <= 1 && btnDisabled, "px-2"),
6549
6568
  "aria-label": "Previous page",
6550
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronLeft, { size: 16 })
6569
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { size: 16 })
6551
6570
  }
6552
6571
  ),
6553
6572
  pages.map(
@@ -6580,7 +6599,7 @@ function Pagination({
6580
6599
  "px-2"
6581
6600
  ),
6582
6601
  "aria-label": "Next page",
6583
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronRight, { size: 16 })
6602
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { size: 16 })
6584
6603
  }
6585
6604
  )
6586
6605
  ] });
@@ -6795,7 +6814,7 @@ var Pillbox = react.forwardRef(
6795
6814
  },
6796
6815
  className: "text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
6797
6816
  "aria-label": `Remove ${item}`,
6798
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 12 })
6817
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 12 })
6799
6818
  }
6800
6819
  )
6801
6820
  ]
@@ -6970,7 +6989,7 @@ function FileUploadDropzone({
6970
6989
  }
6971
6990
  ),
6972
6991
  children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6973
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Upload, { size: 32, strokeWidth: 1.5, className: "mb-2 text-zinc-400" }),
6992
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { size: 32, strokeWidth: 1.5, className: "mb-2 text-zinc-400" }),
6974
6993
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-zinc-500", children: "Drop files here or click to browse" })
6975
6994
  ] })
6976
6995
  ]
@@ -6998,7 +7017,7 @@ function ThumbnailItem({ file, index, onRemove }) {
6998
7017
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "group relative flex w-20 flex-col items-center gap-1", children: [
6999
7018
  /* @__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: [
7000
7019
  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: [
7001
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.File, { size: 20, className: "text-zinc-400" }),
7020
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.File, { size: 20, className: "text-zinc-400" }),
7002
7021
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] font-medium text-zinc-500", children: getExtension(file.name) })
7003
7022
  ] }),
7004
7023
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -7008,7 +7027,7 @@ function ThumbnailItem({ file, index, onRemove }) {
7008
7027
  onClick: () => onRemove(index),
7009
7028
  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",
7010
7029
  "aria-label": `Remove ${file.name}`,
7011
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 10 })
7030
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 10 })
7012
7031
  }
7013
7032
  )
7014
7033
  ] }),
@@ -7026,7 +7045,7 @@ function FileUploadList({ thumbnail, className }) {
7026
7045
  {
7027
7046
  className: "flex items-center gap-3 rounded-lg border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-700",
7028
7047
  children: [
7029
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.File, { size: 16, className: "shrink-0 text-zinc-400" }),
7048
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.File, { size: 16, className: "shrink-0 text-zinc-400" }),
7030
7049
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 truncate", children: file.name }),
7031
7050
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0 text-xs text-zinc-400", children: formatSize(file.size) }),
7032
7051
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -7036,7 +7055,7 @@ function FileUploadList({ thumbnail, className }) {
7036
7055
  onClick: () => removeFile(i),
7037
7056
  className: "shrink-0 text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
7038
7057
  "aria-label": `Remove ${file.name}`,
7039
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { size: 14 })
7058
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { size: 14 })
7040
7059
  }
7041
7060
  )
7042
7061
  ]
@@ -7149,15 +7168,15 @@ var TimePicker = react.forwardRef(
7149
7168
  ),
7150
7169
  children: [
7151
7170
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
7152
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeHour(1), disabled, className: spinBtnClass, "aria-label": "Increase hour", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronUp, { size: 14 }) }),
7171
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeHour(1), disabled, className: spinBtnClass, "aria-label": "Increase hour", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { size: 14 }) }),
7153
7172
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: displayClass, children: pad(displayHour) }),
7154
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeHour(-1), disabled, className: spinBtnClass, "aria-label": "Decrease hour", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { size: 14 }) })
7173
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeHour(-1), disabled, className: spinBtnClass, "aria-label": "Decrease hour", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 14 }) })
7155
7174
  ] }),
7156
7175
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg text-zinc-400", children: ":" }),
7157
7176
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
7158
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeMinute(minuteStep), disabled, className: spinBtnClass, "aria-label": "Increase minute", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronUp, { size: 14 }) }),
7177
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeMinute(minuteStep), disabled, className: spinBtnClass, "aria-label": "Increase minute", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { size: 14 }) }),
7159
7178
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: displayClass, children: pad(minutes) }),
7160
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeMinute(-minuteStep), disabled, className: spinBtnClass, "aria-label": "Decrease minute", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { size: 14 }) })
7179
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => changeMinute(-minuteStep), disabled, className: spinBtnClass, "aria-label": "Decrease minute", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { size: 14 }) })
7161
7180
  ] }),
7162
7181
  format === "12h" && /* @__PURE__ */ jsxRuntime.jsx(
7163
7182
  "button",
@@ -7328,7 +7347,7 @@ var Calendar = react.forwardRef(
7328
7347
  onClick: prevMonth,
7329
7348
  className: "rounded-lg p-1 text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-800",
7330
7349
  "aria-label": "Previous month",
7331
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronLeft, { size: 16 })
7350
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { size: 16 })
7332
7351
  }
7333
7352
  ),
7334
7353
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-semibold", children: [
@@ -7343,7 +7362,7 @@ var Calendar = react.forwardRef(
7343
7362
  onClick: nextMonth,
7344
7363
  className: "rounded-lg p-1 text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-800",
7345
7364
  "aria-label": "Next month",
7346
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronRight, { size: 16 })
7365
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { size: 16 })
7347
7366
  }
7348
7367
  )
7349
7368
  ] }),
@@ -8997,7 +9016,7 @@ function MenuSubmenu({
8997
9016
  children: [
8998
9017
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
8999
9018
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
9000
- /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ChevronDown, { className: "h-3.5 w-3.5 opacity-60" })
9019
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-3.5 w-3.5 opacity-60" })
9001
9020
  ]
9002
9021
  }
9003
9022
  ),
@@ -9030,7 +9049,7 @@ function MenuSubmenu({
9030
9049
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
9031
9050
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-left", children: label }),
9032
9051
  /* @__PURE__ */ jsxRuntime.jsx(
9033
- LucideIcons.ChevronDown,
9052
+ lucideReact.ChevronDown,
9034
9053
  {
9035
9054
  className: cn(
9036
9055
  "h-3.5 w-3.5 opacity-60 transition-transform duration-200",
@@ -9197,7 +9216,7 @@ function SidebarSubmenu({
9197
9216
  icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center", children: icon }),
9198
9217
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-left", children: label }),
9199
9218
  /* @__PURE__ */ jsxRuntime.jsx(
9200
- LucideIcons.ChevronDown,
9219
+ lucideReact.ChevronDown,
9201
9220
  {
9202
9221
  className: cn(
9203
9222
  "h-3.5 w-3.5 opacity-60 transition-transform duration-200",
@@ -9235,7 +9254,7 @@ function SidebarToggle({ className }) {
9235
9254
  "hover:bg-zinc-100 hover:text-zinc-600 dark:hover:bg-zinc-800 dark:hover:text-zinc-300",
9236
9255
  className
9237
9256
  ),
9238
- children: collapsed ? /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.PanelLeftOpen, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.PanelLeftClose, { className: "h-4 w-4" })
9257
+ children: collapsed ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeftOpen, { className: "h-4 w-4" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PanelLeftClose, { className: "h-4 w-4" })
9239
9258
  }
9240
9259
  );
9241
9260
  }
@@ -9337,7 +9356,7 @@ function MobileMenuFlyout({
9337
9356
  type: "button",
9338
9357
  onClick: onClose,
9339
9358
  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",
9340
- children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.X, { className: "h-4 w-4" })
9359
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "h-4 w-4" })
9341
9360
  }
9342
9361
  )
9343
9362
  ] }),
@@ -9797,10 +9816,10 @@ function CanvasControls({
9797
9816
  className
9798
9817
  ),
9799
9818
  children: [
9800
- showZoomIn && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: zoomIn, className: btnClass, "aria-label": "Zoom in", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ZoomIn, { size: 16 }) }),
9801
- showZoomOut && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: zoomOut, className: btnClass, "aria-label": "Zoom out", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.ZoomOut, { size: 16 }) }),
9802
- showReset && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: reset, className: btnClass, "aria-label": "Reset view", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.RotateCcw, { size: 16 }) }),
9803
- showFitAll && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: fitAll, className: btnClass, "aria-label": "Fit all", children: /* @__PURE__ */ jsxRuntime.jsx(LucideIcons.Maximize, { size: 16 }) })
9819
+ showZoomIn && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: zoomIn, className: btnClass, "aria-label": "Zoom in", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ZoomIn, { size: 16 }) }),
9820
+ showZoomOut && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: zoomOut, className: btnClass, "aria-label": "Zoom out", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ZoomOut, { size: 16 }) }),
9821
+ showReset && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: reset, className: btnClass, "aria-label": "Reset view", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { size: 16 }) }),
9822
+ showFitAll && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: fitAll, className: btnClass, "aria-label": "Fit all", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Maximize, { size: 16 }) })
9804
9823
  ]
9805
9824
  }
9806
9825
  );
@@ -10926,6 +10945,7 @@ exports.find = find;
10926
10945
  exports.registerExtension = registerExtension;
10927
10946
  exports.registerExtensions = registerExtensions;
10928
10947
  exports.registerIconSet = registerIconSet;
10948
+ exports.registerIcons = registerIcons;
10929
10949
  exports.resolve = resolve;
10930
10950
  exports.search = search;
10931
10951
  exports.useAccordion = useAccordion;