@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 +14 -0
- package/dist/icons.cjs.map +1 -0
- package/dist/icons.d.cts +1 -0
- package/dist/icons.d.ts +1 -0
- package/dist/icons.js +3 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.cjs +92 -72
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +20 -3
- package/dist/index.d.ts +20 -3
- package/dist/index.js +57 -19
- package/dist/index.js.map +1 -1
- package/package.json +11 -1
- package/dist/styles.d.cts +0 -2
- package/dist/styles.d.ts +0 -2
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":[]}
|
package/dist/icons.d.cts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from 'lucide-react';
|
package/dist/icons.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from 'lucide-react';
|
package/dist/icons.js
ADDED
|
@@ -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
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
const
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
5819
|
-
variant === "error" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5820
|
-
variant === "warning" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5821
|
-
variant === "info" && /* @__PURE__ */ jsxRuntime.jsx(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
9801
|
-
showZoomOut && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: zoomOut, className: btnClass, "aria-label": "Zoom out", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9802
|
-
showReset && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: reset, className: btnClass, "aria-label": "Reset view", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
9803
|
-
showFitAll && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: fitAll, className: btnClass, "aria-label": "Fit all", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
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;
|