@olwiba/cn 0.1.25 → 0.1.27
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/index.d.ts +53 -28
- package/dist/index.js +620 -280
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { clsx } from 'clsx';
|
|
2
2
|
import { twMerge } from 'tailwind-merge';
|
|
3
3
|
import * as React37 from 'react';
|
|
4
|
-
import { useMemo, useRef, useState,
|
|
4
|
+
import { useMemo, useCallback, useRef, useState, useEffect } from 'react';
|
|
5
5
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
6
6
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
7
7
|
import { ChevronDown, ArrowLeft, ArrowRight, Check, X, Search, ChevronRight, Circle, Dot, ChevronUp, PanelLeft, MoreHorizontal, ChevronLeftIcon, ChevronRightIcon, ChevronDownIcon, ChevronLeft, GripVertical, LoaderCircle, OctagonX, TriangleAlert, Info, CircleCheck, Loader2Icon } from 'lucide-react';
|
|
@@ -142,23 +142,26 @@ var alertVariants = cva(
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
);
|
|
145
|
-
var Alert = React37.forwardRef(({ className, variant, mode, size, disabled, ...props }, ref) =>
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
145
|
+
var Alert = React37.forwardRef(({ className, variant, mode: modeProp, size, disabled, ...props }, ref) => {
|
|
146
|
+
const mode = modeProp ?? useUIVariant();
|
|
147
|
+
return /* @__PURE__ */ jsx(
|
|
148
|
+
"div",
|
|
149
|
+
{
|
|
150
|
+
ref,
|
|
151
|
+
role: "alert",
|
|
152
|
+
className: cn(
|
|
153
|
+
alertVariants({ variant }),
|
|
154
|
+
size === "sm" && "p-3 text-xs [&>svg]:top-3 [&>svg]:left-3",
|
|
155
|
+
size === "lg" && "p-6 text-base [&>svg]:top-6 [&>svg]:left-6",
|
|
156
|
+
mode === "smooth" && "rounded-2xl",
|
|
157
|
+
mode === "playful" && "border-l-4",
|
|
158
|
+
disabled && "opacity-50 pointer-events-none",
|
|
159
|
+
className
|
|
160
|
+
),
|
|
161
|
+
...props
|
|
162
|
+
}
|
|
163
|
+
);
|
|
164
|
+
});
|
|
162
165
|
Alert.displayName = "Alert";
|
|
163
166
|
var AlertTitle = React37.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
164
167
|
"h5",
|
|
@@ -178,6 +181,12 @@ var AlertDescription = React37.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
178
181
|
}
|
|
179
182
|
));
|
|
180
183
|
AlertDescription.displayName = "AlertDescription";
|
|
184
|
+
|
|
185
|
+
// src/components/ui/glass.ts
|
|
186
|
+
var glassBlur = "backdrop-blur-xl backdrop-saturate-150";
|
|
187
|
+
var glassSurface = "border border-white/20 bg-background/60 backdrop-blur-xl backdrop-saturate-150 shadow-lg shadow-black/10 dark:border-white/10 dark:bg-background/40";
|
|
188
|
+
var glassPanel = "border border-white/20 bg-popover/70 backdrop-blur-lg backdrop-saturate-150 shadow-lg shadow-black/10 dark:border-white/10 dark:bg-popover/50";
|
|
189
|
+
var glassControl = "border border-white/25 bg-background/50 backdrop-blur-md backdrop-saturate-150 shadow-sm shadow-black/10 dark:border-white/10 dark:bg-background/30";
|
|
181
190
|
var buttonVariants = cva(
|
|
182
191
|
"inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-semibold transition-all duration-200 focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/20 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
183
192
|
{
|
|
@@ -203,6 +212,12 @@ var buttonVariants = cva(
|
|
|
203
212
|
}
|
|
204
213
|
}
|
|
205
214
|
);
|
|
215
|
+
var glassButtonBg = {
|
|
216
|
+
default: "bg-primary/75 hover:bg-primary/60",
|
|
217
|
+
destructive: "bg-destructive/75 hover:bg-destructive/60",
|
|
218
|
+
outline: "bg-background/40 hover:bg-background/60",
|
|
219
|
+
secondary: "bg-secondary/50 hover:bg-secondary/40"
|
|
220
|
+
};
|
|
206
221
|
var Button = React37.forwardRef(
|
|
207
222
|
({ className, variant, size, asChild = false, mode: modeProp, ...props }, ref) => {
|
|
208
223
|
const mode = modeProp ?? useUIVariant();
|
|
@@ -236,12 +251,18 @@ var Button = React37.forwardRef(
|
|
|
236
251
|
)
|
|
237
252
|
] });
|
|
238
253
|
}
|
|
254
|
+
const isGlass = mode === "glass" && variant !== "ghost" && variant !== "link";
|
|
239
255
|
return /* @__PURE__ */ jsx(
|
|
240
256
|
Comp,
|
|
241
257
|
{
|
|
242
258
|
className: cn(
|
|
243
259
|
buttonVariants({ variant, size, className }),
|
|
244
|
-
mode === "smooth" && "rounded-full shadow-none"
|
|
260
|
+
mode === "smooth" && "rounded-full shadow-none",
|
|
261
|
+
isGlass && cn(
|
|
262
|
+
glassBlur,
|
|
263
|
+
"border border-white/25 shadow-sm shadow-black/10 dark:border-white/15",
|
|
264
|
+
glassButtonBg[variant ?? "default"]
|
|
265
|
+
)
|
|
245
266
|
),
|
|
246
267
|
ref,
|
|
247
268
|
...props
|
|
@@ -265,24 +286,27 @@ var AlertDialogOverlay = React37.forwardRef(({ className, ...props }, ref) => /*
|
|
|
265
286
|
}
|
|
266
287
|
));
|
|
267
288
|
AlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName;
|
|
268
|
-
var AlertDialogContent = React37.forwardRef(({ className, mode, children, ...props }, ref) =>
|
|
269
|
-
|
|
270
|
-
/* @__PURE__ */
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
289
|
+
var AlertDialogContent = React37.forwardRef(({ className, mode: modeProp, children, ...props }, ref) => {
|
|
290
|
+
const mode = modeProp ?? useUIVariant();
|
|
291
|
+
return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [
|
|
292
|
+
/* @__PURE__ */ jsx(AlertDialogOverlay, {}),
|
|
293
|
+
/* @__PURE__ */ jsx(
|
|
294
|
+
AlertDialogPrimitive.Content,
|
|
295
|
+
{
|
|
296
|
+
ref,
|
|
297
|
+
className: cn(
|
|
298
|
+
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-top-[48%]",
|
|
299
|
+
!mode && "shadow-lg sm:rounded-lg",
|
|
300
|
+
mode === "smooth" && "rounded-2xl shadow-xl",
|
|
301
|
+
mode === "playful" && "rounded-xl border-2 shadow-lg shadow-primary/10",
|
|
302
|
+
className
|
|
303
|
+
),
|
|
304
|
+
...props,
|
|
305
|
+
children: /* @__PURE__ */ jsx(UIVariantProvider, { mode, children })
|
|
306
|
+
}
|
|
307
|
+
)
|
|
308
|
+
] });
|
|
309
|
+
});
|
|
286
310
|
AlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName;
|
|
287
311
|
var AlertDialogHeader = ({
|
|
288
312
|
className,
|
|
@@ -475,16 +499,50 @@ var badgeVariants = cva(
|
|
|
475
499
|
}
|
|
476
500
|
}
|
|
477
501
|
);
|
|
502
|
+
var playfulBackdrop = {
|
|
503
|
+
default: "bg-primary/30 dark:bg-primary/20",
|
|
504
|
+
destructive: "bg-destructive/30 dark:bg-destructive/20",
|
|
505
|
+
secondary: "bg-foreground/10 dark:bg-foreground/10",
|
|
506
|
+
outline: "bg-foreground/10 dark:bg-foreground/10"
|
|
507
|
+
};
|
|
478
508
|
function Badge({ className, variant, size, disabled = false, mode: modeProp, ...props }) {
|
|
479
509
|
const mode = modeProp ?? useUIVariant();
|
|
510
|
+
if (mode === "playful") {
|
|
511
|
+
return /* @__PURE__ */ jsxs(
|
|
512
|
+
"span",
|
|
513
|
+
{
|
|
514
|
+
className: cn(
|
|
515
|
+
"group/playful relative inline-flex",
|
|
516
|
+
disabled && "opacity-50 pointer-events-none"
|
|
517
|
+
),
|
|
518
|
+
children: [
|
|
519
|
+
/* @__PURE__ */ jsx(
|
|
520
|
+
"span",
|
|
521
|
+
{
|
|
522
|
+
"aria-hidden": "true",
|
|
523
|
+
className: cn(
|
|
524
|
+
"absolute inset-0 rounded-full transition-transform duration-200 translate-x-[3px] translate-y-[3px] -rotate-[0.5deg] group-hover/playful:-rotate-[1.5deg] group-hover/playful:scale-[1.01]",
|
|
525
|
+
playfulBackdrop[variant ?? "default"]
|
|
526
|
+
)
|
|
527
|
+
}
|
|
528
|
+
),
|
|
529
|
+
/* @__PURE__ */ jsx(
|
|
530
|
+
"div",
|
|
531
|
+
{
|
|
532
|
+
className: cn(badgeVariants({ variant, size }), "relative rotate-[0.3deg]", className),
|
|
533
|
+
...props
|
|
534
|
+
}
|
|
535
|
+
)
|
|
536
|
+
]
|
|
537
|
+
}
|
|
538
|
+
);
|
|
539
|
+
}
|
|
480
540
|
return /* @__PURE__ */ jsx(
|
|
481
541
|
"div",
|
|
482
542
|
{
|
|
483
543
|
className: cn(
|
|
484
544
|
badgeVariants({ variant, size }),
|
|
485
545
|
disabled && "opacity-50 pointer-events-none",
|
|
486
|
-
mode === "smooth" && "shadow-sm",
|
|
487
|
-
mode === "playful" && "rotate-[0.5deg] [box-shadow:2px_2px_0px_0px_color-mix(in_srgb,currentColor_15%,transparent)]",
|
|
488
546
|
className
|
|
489
547
|
),
|
|
490
548
|
...props
|
|
@@ -906,6 +964,7 @@ var Card = React37.forwardRef(
|
|
|
906
964
|
className: cn(
|
|
907
965
|
"rounded-lg border bg-card text-card-foreground shadow-sm",
|
|
908
966
|
mode === "smooth" && "rounded-3xl",
|
|
967
|
+
mode === "glass" && cn(glassSurface, "rounded-xl"),
|
|
909
968
|
className
|
|
910
969
|
),
|
|
911
970
|
...props
|
|
@@ -1493,30 +1552,34 @@ var DialogOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1493
1552
|
}
|
|
1494
1553
|
));
|
|
1495
1554
|
DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
|
|
1496
|
-
var DialogContent = React37.forwardRef(({ className, mode, children, ...props }, ref) =>
|
|
1497
|
-
|
|
1498
|
-
/* @__PURE__ */
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1555
|
+
var DialogContent = React37.forwardRef(({ className, mode: modeProp, children, ...props }, ref) => {
|
|
1556
|
+
const mode = modeProp ?? useUIVariant();
|
|
1557
|
+
return /* @__PURE__ */ jsxs(DialogPortal, { children: [
|
|
1558
|
+
/* @__PURE__ */ jsx(DialogOverlay, { className: mode === "glass" ? "bg-black/40" : void 0 }),
|
|
1559
|
+
/* @__PURE__ */ jsx(
|
|
1560
|
+
DialogPrimitive.Content,
|
|
1561
|
+
{
|
|
1562
|
+
ref,
|
|
1563
|
+
className: cn(
|
|
1564
|
+
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:slide-out-to-top-full data-[state=open]:slide-in-from-top-full",
|
|
1565
|
+
!mode && "shadow-lg sm:rounded-lg",
|
|
1566
|
+
mode === "smooth" && "rounded-2xl shadow-xl",
|
|
1567
|
+
mode === "playful" && "rounded-xl border-2 shadow-lg shadow-primary/10",
|
|
1568
|
+
mode === "glass" && cn(glassSurface, "rounded-2xl"),
|
|
1569
|
+
className
|
|
1570
|
+
),
|
|
1571
|
+
...props,
|
|
1572
|
+
children: /* @__PURE__ */ jsxs(UIVariantProvider, { mode, children: [
|
|
1573
|
+
children,
|
|
1574
|
+
/* @__PURE__ */ jsxs(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
|
|
1575
|
+
/* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
|
|
1576
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
1577
|
+
] })
|
|
1515
1578
|
] })
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
)
|
|
1519
|
-
|
|
1579
|
+
}
|
|
1580
|
+
)
|
|
1581
|
+
] });
|
|
1582
|
+
});
|
|
1520
1583
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
1521
1584
|
var DialogHeader = ({
|
|
1522
1585
|
className,
|
|
@@ -1610,20 +1673,45 @@ function useIsMac() {
|
|
|
1610
1673
|
return isMac;
|
|
1611
1674
|
}
|
|
1612
1675
|
var Hotkey = React37.forwardRef(
|
|
1613
|
-
({ shortcut, asKbd = false, className, ...props }, ref) => {
|
|
1676
|
+
({ shortcut, asKbd = false, mode: modeProp, className, ...props }, ref) => {
|
|
1614
1677
|
const isMac = useIsMac();
|
|
1615
1678
|
const content = formatShortcut(shortcut, isMac);
|
|
1679
|
+
const mode = modeProp ?? useUIVariant();
|
|
1616
1680
|
if (asKbd) {
|
|
1681
|
+
const kbdClasses = cn(
|
|
1682
|
+
"bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 px-1 font-sans text-xs font-medium",
|
|
1683
|
+
"[&_svg:not([class*='size-'])]:size-3",
|
|
1684
|
+
!mode && "rounded-sm",
|
|
1685
|
+
mode === "smooth" && "rounded-md",
|
|
1686
|
+
mode === "playful" && "rounded-sm"
|
|
1687
|
+
);
|
|
1688
|
+
if (mode === "playful") {
|
|
1689
|
+
return /* @__PURE__ */ jsxs("span", { className: "group/playful relative inline-flex", children: [
|
|
1690
|
+
/* @__PURE__ */ jsx(
|
|
1691
|
+
"span",
|
|
1692
|
+
{
|
|
1693
|
+
"aria-hidden": "true",
|
|
1694
|
+
className: "absolute inset-0 rounded-sm bg-primary/30 dark:bg-primary/20 transition-transform duration-200 translate-x-[2px] translate-y-[2px] -rotate-[3deg] group-hover/playful:-rotate-[5deg]"
|
|
1695
|
+
}
|
|
1696
|
+
),
|
|
1697
|
+
/* @__PURE__ */ jsx(
|
|
1698
|
+
"kbd",
|
|
1699
|
+
{
|
|
1700
|
+
ref,
|
|
1701
|
+
"data-slot": "hotkey",
|
|
1702
|
+
className: cn(kbdClasses, "relative rotate-[1.5deg]", className),
|
|
1703
|
+
...props,
|
|
1704
|
+
children: content
|
|
1705
|
+
}
|
|
1706
|
+
)
|
|
1707
|
+
] });
|
|
1708
|
+
}
|
|
1617
1709
|
return /* @__PURE__ */ jsx(
|
|
1618
1710
|
"kbd",
|
|
1619
1711
|
{
|
|
1620
1712
|
ref,
|
|
1621
1713
|
"data-slot": "hotkey",
|
|
1622
|
-
className: cn(
|
|
1623
|
-
"bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 rounded-sm px-1 font-sans text-xs font-medium",
|
|
1624
|
-
"[&_svg:not([class*='size-'])]:size-3",
|
|
1625
|
-
className
|
|
1626
|
-
),
|
|
1714
|
+
className: cn(kbdClasses, className),
|
|
1627
1715
|
...props,
|
|
1628
1716
|
children: content
|
|
1629
1717
|
}
|
|
@@ -1764,92 +1852,132 @@ var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
|
1764
1852
|
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
1765
1853
|
var ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
1766
1854
|
var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
1767
|
-
var ContextMenuSubTrigger = React37.forwardRef(({ className, inset, children, ...props }, ref) =>
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1855
|
+
var ContextMenuSubTrigger = React37.forwardRef(({ className, inset, children, ...props }, ref) => {
|
|
1856
|
+
const mode = useUIVariant();
|
|
1857
|
+
return /* @__PURE__ */ jsxs(
|
|
1858
|
+
ContextMenuPrimitive.SubTrigger,
|
|
1859
|
+
{
|
|
1860
|
+
ref,
|
|
1861
|
+
className: cn(
|
|
1862
|
+
"flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
|
|
1863
|
+
!mode && "rounded-sm",
|
|
1864
|
+
mode === "smooth" && "rounded-lg",
|
|
1865
|
+
mode === "playful" && "rounded-lg",
|
|
1866
|
+
inset && "pl-8",
|
|
1867
|
+
className
|
|
1868
|
+
),
|
|
1869
|
+
...props,
|
|
1870
|
+
children: [
|
|
1871
|
+
children,
|
|
1872
|
+
/* @__PURE__ */ jsx(ChevronRight, { className: "ml-auto h-4 w-4" })
|
|
1873
|
+
]
|
|
1874
|
+
}
|
|
1875
|
+
);
|
|
1876
|
+
});
|
|
1783
1877
|
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
1784
|
-
var ContextMenuSubContent = React37.forwardRef(({ className, ...props }, ref) =>
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1878
|
+
var ContextMenuSubContent = React37.forwardRef(({ className, mode: modeProp, children, ...props }, ref) => {
|
|
1879
|
+
const inheritedMode = useUIVariant();
|
|
1880
|
+
const mode = modeProp ?? inheritedMode;
|
|
1881
|
+
return /* @__PURE__ */ jsx(
|
|
1882
|
+
ContextMenuPrimitive.SubContent,
|
|
1883
|
+
{
|
|
1884
|
+
ref,
|
|
1885
|
+
className: cn(
|
|
1886
|
+
"z-50 min-w-[8rem] overflow-hidden border bg-popover p-1 text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",
|
|
1887
|
+
!mode && "rounded-md shadow-md",
|
|
1888
|
+
mode === "smooth" && "rounded-2xl shadow-xl",
|
|
1889
|
+
mode === "playful" && "rounded-xl border-2 shadow-lg shadow-primary/10",
|
|
1890
|
+
className
|
|
1891
|
+
),
|
|
1892
|
+
...props,
|
|
1893
|
+
children: /* @__PURE__ */ jsx(UIVariantProvider, { mode, children })
|
|
1894
|
+
}
|
|
1895
|
+
);
|
|
1896
|
+
});
|
|
1795
1897
|
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
1796
|
-
var ContextMenuContent = React37.forwardRef(({ className, ...props }, ref) =>
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1898
|
+
var ContextMenuContent = React37.forwardRef(({ className, mode: modeProp, children, ...props }, ref) => {
|
|
1899
|
+
const inheritedMode = useUIVariant();
|
|
1900
|
+
const mode = modeProp ?? inheritedMode;
|
|
1901
|
+
return /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(
|
|
1902
|
+
ContextMenuPrimitive.Content,
|
|
1903
|
+
{
|
|
1904
|
+
ref,
|
|
1905
|
+
className: cn(
|
|
1906
|
+
"z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden border bg-popover p-1 text-popover-foreground animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-context-menu-content-transform-origin]",
|
|
1907
|
+
!mode && "rounded-md shadow-md",
|
|
1908
|
+
mode === "smooth" && "rounded-2xl shadow-xl",
|
|
1909
|
+
mode === "playful" && "rounded-xl border-2 shadow-lg shadow-primary/10",
|
|
1910
|
+
className
|
|
1911
|
+
),
|
|
1912
|
+
...props,
|
|
1913
|
+
children: /* @__PURE__ */ jsx(UIVariantProvider, { mode, children })
|
|
1914
|
+
}
|
|
1915
|
+
) });
|
|
1916
|
+
});
|
|
1807
1917
|
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
1808
|
-
var ContextMenuItem = React37.forwardRef(({ className, inset, ...props }, ref) =>
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1918
|
+
var ContextMenuItem = React37.forwardRef(({ className, inset, ...props }, ref) => {
|
|
1919
|
+
const mode = useUIVariant();
|
|
1920
|
+
return /* @__PURE__ */ jsx(
|
|
1921
|
+
ContextMenuPrimitive.Item,
|
|
1922
|
+
{
|
|
1923
|
+
ref,
|
|
1924
|
+
className: cn(
|
|
1925
|
+
"relative flex cursor-default select-none items-center px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1926
|
+
!mode && "rounded-sm",
|
|
1927
|
+
mode === "smooth" && "rounded-lg",
|
|
1928
|
+
mode === "playful" && "rounded-lg",
|
|
1929
|
+
inset && "pl-8",
|
|
1930
|
+
className
|
|
1931
|
+
),
|
|
1932
|
+
...props
|
|
1933
|
+
}
|
|
1934
|
+
);
|
|
1935
|
+
});
|
|
1820
1936
|
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
1821
|
-
var ContextMenuCheckboxItem = React37.forwardRef(({ className, children, checked, ...props }, ref) =>
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
className
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1937
|
+
var ContextMenuCheckboxItem = React37.forwardRef(({ className, children, checked, ...props }, ref) => {
|
|
1938
|
+
const mode = useUIVariant();
|
|
1939
|
+
return /* @__PURE__ */ jsxs(
|
|
1940
|
+
ContextMenuPrimitive.CheckboxItem,
|
|
1941
|
+
{
|
|
1942
|
+
ref,
|
|
1943
|
+
className: cn(
|
|
1944
|
+
"relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1945
|
+
!mode && "rounded-sm",
|
|
1946
|
+
mode === "smooth" && "rounded-lg",
|
|
1947
|
+
mode === "playful" && "rounded-lg",
|
|
1948
|
+
className
|
|
1949
|
+
),
|
|
1950
|
+
checked,
|
|
1951
|
+
...props,
|
|
1952
|
+
children: [
|
|
1953
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Check, { className: "h-4 w-4" }) }) }),
|
|
1954
|
+
children
|
|
1955
|
+
]
|
|
1956
|
+
}
|
|
1957
|
+
);
|
|
1958
|
+
});
|
|
1837
1959
|
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
1838
|
-
var ContextMenuRadioItem = React37.forwardRef(({ className, children, ...props }, ref) =>
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
className
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1852
|
-
|
|
1960
|
+
var ContextMenuRadioItem = React37.forwardRef(({ className, children, ...props }, ref) => {
|
|
1961
|
+
const mode = useUIVariant();
|
|
1962
|
+
return /* @__PURE__ */ jsxs(
|
|
1963
|
+
ContextMenuPrimitive.RadioItem,
|
|
1964
|
+
{
|
|
1965
|
+
ref,
|
|
1966
|
+
className: cn(
|
|
1967
|
+
"relative flex cursor-default select-none items-center py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1968
|
+
!mode && "rounded-sm",
|
|
1969
|
+
mode === "smooth" && "rounded-lg",
|
|
1970
|
+
mode === "playful" && "rounded-lg",
|
|
1971
|
+
className
|
|
1972
|
+
),
|
|
1973
|
+
...props,
|
|
1974
|
+
children: [
|
|
1975
|
+
/* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(Circle, { className: "h-2 w-2 fill-current" }) }) }),
|
|
1976
|
+
children
|
|
1977
|
+
]
|
|
1978
|
+
}
|
|
1979
|
+
);
|
|
1980
|
+
});
|
|
1853
1981
|
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
1854
1982
|
var ContextMenuLabel = React37.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
|
|
1855
1983
|
ContextMenuPrimitive.Label,
|
|
@@ -1915,27 +2043,30 @@ var DrawerOverlay = React37.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
1915
2043
|
}
|
|
1916
2044
|
));
|
|
1917
2045
|
DrawerOverlay.displayName = Drawer$1.Overlay.displayName;
|
|
1918
|
-
var DrawerContent = React37.forwardRef(({ className, mode, children, ...props }, ref) =>
|
|
1919
|
-
|
|
1920
|
-
/* @__PURE__ */
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
children
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
2046
|
+
var DrawerContent = React37.forwardRef(({ className, mode: modeProp, children, ...props }, ref) => {
|
|
2047
|
+
const mode = modeProp ?? useUIVariant();
|
|
2048
|
+
return /* @__PURE__ */ jsxs(DrawerPortal, { children: [
|
|
2049
|
+
/* @__PURE__ */ jsx(DrawerOverlay, {}),
|
|
2050
|
+
/* @__PURE__ */ jsx(
|
|
2051
|
+
Drawer$1.Content,
|
|
2052
|
+
{
|
|
2053
|
+
ref,
|
|
2054
|
+
className: cn(
|
|
2055
|
+
"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col border bg-background",
|
|
2056
|
+
!mode && "rounded-t-[10px]",
|
|
2057
|
+
mode === "smooth" && "rounded-t-2xl shadow-xl",
|
|
2058
|
+
mode === "playful" && "rounded-t-xl border-2 shadow-lg shadow-primary/10",
|
|
2059
|
+
className
|
|
2060
|
+
),
|
|
2061
|
+
...props,
|
|
2062
|
+
children: /* @__PURE__ */ jsxs(UIVariantProvider, { mode, children: [
|
|
2063
|
+
/* @__PURE__ */ jsx("div", { className: "mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" }),
|
|
2064
|
+
children
|
|
2065
|
+
] })
|
|
2066
|
+
}
|
|
2067
|
+
)
|
|
2068
|
+
] });
|
|
2069
|
+
});
|
|
1939
2070
|
DrawerContent.displayName = "DrawerContent";
|
|
1940
2071
|
var DrawerHeader = ({
|
|
1941
2072
|
className,
|
|
@@ -2603,20 +2734,34 @@ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
|
|
|
2603
2734
|
var Input = React37.forwardRef(
|
|
2604
2735
|
({ className, type, mode: modeProp, ...props }, ref) => {
|
|
2605
2736
|
const mode = modeProp ?? useUIVariant();
|
|
2606
|
-
|
|
2737
|
+
const input = /* @__PURE__ */ jsx(
|
|
2607
2738
|
"input",
|
|
2608
2739
|
{
|
|
2609
2740
|
type,
|
|
2610
2741
|
className: cn(
|
|
2611
2742
|
"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm aria-invalid:border-destructive aria-invalid:focus-visible:ring-destructive/20",
|
|
2612
2743
|
mode === "smooth" && "rounded-full",
|
|
2613
|
-
mode === "playful" && "
|
|
2744
|
+
mode === "playful" && "relative z-10",
|
|
2745
|
+
mode === "glass" && glassControl,
|
|
2614
2746
|
className
|
|
2615
2747
|
),
|
|
2616
2748
|
ref,
|
|
2617
2749
|
...props
|
|
2618
2750
|
}
|
|
2619
2751
|
);
|
|
2752
|
+
if (mode === "playful") {
|
|
2753
|
+
return /* @__PURE__ */ jsxs("span", { className: "group/playful relative inline-flex w-full", children: [
|
|
2754
|
+
/* @__PURE__ */ jsx(
|
|
2755
|
+
"span",
|
|
2756
|
+
{
|
|
2757
|
+
"aria-hidden": "true",
|
|
2758
|
+
className: "absolute inset-0 z-0 translate-x-[3px] translate-y-[3px] -rotate-[0.4deg] rounded-md bg-foreground/8 transition-transform duration-200 group-hover/playful:-rotate-[1deg] group-focus-within/playful:-rotate-[1deg] dark:bg-foreground/10"
|
|
2759
|
+
}
|
|
2760
|
+
),
|
|
2761
|
+
input
|
|
2762
|
+
] });
|
|
2763
|
+
}
|
|
2764
|
+
return input;
|
|
2620
2765
|
}
|
|
2621
2766
|
);
|
|
2622
2767
|
Input.displayName = "Input";
|
|
@@ -2660,10 +2805,11 @@ var Textarea = React37.forwardRef(
|
|
|
2660
2805
|
Textarea.displayName = "Textarea";
|
|
2661
2806
|
function InputGroup({
|
|
2662
2807
|
className,
|
|
2663
|
-
mode,
|
|
2808
|
+
mode: modeProp,
|
|
2664
2809
|
disabled,
|
|
2665
2810
|
...props
|
|
2666
2811
|
}) {
|
|
2812
|
+
const mode = modeProp ?? useUIVariant();
|
|
2667
2813
|
return /* @__PURE__ */ jsx(UIVariantProvider, { mode, children: /* @__PURE__ */ jsx(
|
|
2668
2814
|
"div",
|
|
2669
2815
|
{
|
|
@@ -3078,20 +3224,36 @@ function ItemFooter({ className, ...props }) {
|
|
|
3078
3224
|
}
|
|
3079
3225
|
);
|
|
3080
3226
|
}
|
|
3081
|
-
function Kbd({ className, ...props }) {
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
className
|
|
3091
|
-
),
|
|
3092
|
-
...props
|
|
3093
|
-
}
|
|
3227
|
+
function Kbd({ className, mode: modeProp, ...props }) {
|
|
3228
|
+
const mode = modeProp ?? useUIVariant();
|
|
3229
|
+
const baseClasses = cn(
|
|
3230
|
+
"bg-muted text-muted-foreground pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 px-1 font-sans text-xs font-medium",
|
|
3231
|
+
"[&_svg:not([class*='size-'])]:size-3",
|
|
3232
|
+
"[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10",
|
|
3233
|
+
!mode && "rounded-sm",
|
|
3234
|
+
mode === "smooth" && "rounded-md",
|
|
3235
|
+
mode === "playful" && "rounded-sm"
|
|
3094
3236
|
);
|
|
3237
|
+
if (mode === "playful") {
|
|
3238
|
+
return /* @__PURE__ */ jsxs("span", { className: "group/playful relative inline-flex", children: [
|
|
3239
|
+
/* @__PURE__ */ jsx(
|
|
3240
|
+
"span",
|
|
3241
|
+
{
|
|
3242
|
+
"aria-hidden": "true",
|
|
3243
|
+
className: "absolute inset-0 rounded-sm bg-primary/30 dark:bg-primary/20 transition-transform duration-200 translate-x-[2px] translate-y-[2px] -rotate-[3deg] group-hover/playful:-rotate-[5deg]"
|
|
3244
|
+
}
|
|
3245
|
+
),
|
|
3246
|
+
/* @__PURE__ */ jsx(
|
|
3247
|
+
"kbd",
|
|
3248
|
+
{
|
|
3249
|
+
"data-slot": "kbd",
|
|
3250
|
+
className: cn(baseClasses, "relative rotate-[1.5deg]", className),
|
|
3251
|
+
...props
|
|
3252
|
+
}
|
|
3253
|
+
)
|
|
3254
|
+
] });
|
|
3255
|
+
}
|
|
3256
|
+
return /* @__PURE__ */ jsx("kbd", { "data-slot": "kbd", className: cn(baseClasses, className), ...props });
|
|
3095
3257
|
}
|
|
3096
3258
|
function KbdGroup({ className, ...props }) {
|
|
3097
3259
|
return /* @__PURE__ */ jsx(
|
|
@@ -3653,6 +3815,7 @@ var PopoverContent = React37.forwardRef(({ className, align = "center", sideOffs
|
|
|
3653
3815
|
!mode && "rounded-md shadow-md",
|
|
3654
3816
|
mode === "smooth" && "rounded-2xl shadow-xl",
|
|
3655
3817
|
mode === "playful" && "rounded-xl border-2 shadow-lg shadow-primary/10",
|
|
3818
|
+
mode === "glass" && cn(glassPanel, "rounded-xl"),
|
|
3656
3819
|
className
|
|
3657
3820
|
),
|
|
3658
3821
|
...props,
|
|
@@ -3661,27 +3824,43 @@ var PopoverContent = React37.forwardRef(({ className, align = "center", sideOffs
|
|
|
3661
3824
|
) });
|
|
3662
3825
|
});
|
|
3663
3826
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
3664
|
-
var Progress = React37.forwardRef(({ className, value, disabled = false, ...props }, ref) =>
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
"
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3827
|
+
var Progress = React37.forwardRef(({ className, value, disabled = false, mode: modeProp, ...props }, ref) => {
|
|
3828
|
+
const mode = modeProp ?? useUIVariant();
|
|
3829
|
+
const bar = /* @__PURE__ */ jsx(
|
|
3830
|
+
ProgressPrimitive.Root,
|
|
3831
|
+
{
|
|
3832
|
+
ref,
|
|
3833
|
+
"aria-disabled": disabled || void 0,
|
|
3834
|
+
"data-disabled": disabled ? "" : void 0,
|
|
3835
|
+
className: cn(
|
|
3836
|
+
"relative h-4 w-full overflow-hidden rounded-full bg-secondary",
|
|
3837
|
+
disabled && "opacity-50",
|
|
3838
|
+
className
|
|
3839
|
+
),
|
|
3840
|
+
...props,
|
|
3841
|
+
children: /* @__PURE__ */ jsx(
|
|
3842
|
+
ProgressPrimitive.Indicator,
|
|
3843
|
+
{
|
|
3844
|
+
className: "h-full w-full flex-1 bg-primary transition-all",
|
|
3845
|
+
style: { transform: `translateX(-${100 - (value || 0)}%)` }
|
|
3846
|
+
}
|
|
3847
|
+
)
|
|
3848
|
+
}
|
|
3849
|
+
);
|
|
3850
|
+
if (mode === "playful") {
|
|
3851
|
+
return /* @__PURE__ */ jsxs("div", { className: "group/playful relative", children: [
|
|
3852
|
+
/* @__PURE__ */ jsx(
|
|
3853
|
+
"div",
|
|
3854
|
+
{
|
|
3855
|
+
"aria-hidden": "true",
|
|
3856
|
+
className: "absolute inset-0 rounded-full bg-border transition-transform duration-200 translate-x-[3px] translate-y-[3px] -rotate-[0.5deg] group-hover/playful:-rotate-[1.5deg]"
|
|
3857
|
+
}
|
|
3858
|
+
),
|
|
3859
|
+
/* @__PURE__ */ jsx("div", { className: "relative", children: bar })
|
|
3860
|
+
] });
|
|
3683
3861
|
}
|
|
3684
|
-
|
|
3862
|
+
return bar;
|
|
3863
|
+
});
|
|
3685
3864
|
Progress.displayName = ProgressPrimitive.Root.displayName;
|
|
3686
3865
|
var RadioGroup4 = React37.forwardRef(({ className, ...props }, ref) => {
|
|
3687
3866
|
return /* @__PURE__ */ jsx(
|
|
@@ -3694,7 +3873,31 @@ var RadioGroup4 = React37.forwardRef(({ className, ...props }, ref) => {
|
|
|
3694
3873
|
);
|
|
3695
3874
|
});
|
|
3696
3875
|
RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
|
|
3697
|
-
var RadioGroupItem = React37.forwardRef(({ className, ...props }, ref) => {
|
|
3876
|
+
var RadioGroupItem = React37.forwardRef(({ className, mode: modeProp, ...props }, ref) => {
|
|
3877
|
+
const mode = modeProp ?? useUIVariant();
|
|
3878
|
+
if (mode === "playful") {
|
|
3879
|
+
return /* @__PURE__ */ jsxs("span", { className: "group/playful relative inline-flex", children: [
|
|
3880
|
+
/* @__PURE__ */ jsx(
|
|
3881
|
+
"span",
|
|
3882
|
+
{
|
|
3883
|
+
"aria-hidden": "true",
|
|
3884
|
+
className: "absolute inset-0 rounded-full bg-primary/30 dark:bg-primary/20 transition-transform duration-200 translate-x-[2px] translate-y-[2px] -rotate-[3deg] group-hover/playful:-rotate-[5deg]"
|
|
3885
|
+
}
|
|
3886
|
+
),
|
|
3887
|
+
/* @__PURE__ */ jsx(
|
|
3888
|
+
RadioGroupPrimitive.Item,
|
|
3889
|
+
{
|
|
3890
|
+
ref,
|
|
3891
|
+
className: cn(
|
|
3892
|
+
"relative aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
3893
|
+
className
|
|
3894
|
+
),
|
|
3895
|
+
...props,
|
|
3896
|
+
children: /* @__PURE__ */ jsx(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx(Circle, { className: "h-2.5 w-2.5 fill-current text-current" }) })
|
|
3897
|
+
}
|
|
3898
|
+
)
|
|
3899
|
+
] });
|
|
3900
|
+
}
|
|
3698
3901
|
return /* @__PURE__ */ jsx(
|
|
3699
3902
|
RadioGroupPrimitive.Item,
|
|
3700
3903
|
{
|
|
@@ -3940,29 +4143,32 @@ var sideRoundingPlayful = {
|
|
|
3940
4143
|
top: "rounded-b-xl",
|
|
3941
4144
|
bottom: "rounded-t-xl"
|
|
3942
4145
|
};
|
|
3943
|
-
var SheetContent = React37.forwardRef(({ side = "right", className, children, container, mode, ...props }, ref) =>
|
|
3944
|
-
|
|
3945
|
-
/* @__PURE__ */
|
|
3946
|
-
|
|
3947
|
-
|
|
3948
|
-
|
|
3949
|
-
|
|
3950
|
-
|
|
3951
|
-
|
|
3952
|
-
|
|
3953
|
-
|
|
3954
|
-
|
|
3955
|
-
|
|
3956
|
-
|
|
3957
|
-
|
|
3958
|
-
/* @__PURE__ */ jsxs(
|
|
3959
|
-
|
|
3960
|
-
/* @__PURE__ */
|
|
4146
|
+
var SheetContent = React37.forwardRef(({ side = "right", className, children, container, mode: modeProp, ...props }, ref) => {
|
|
4147
|
+
const mode = modeProp ?? useUIVariant();
|
|
4148
|
+
return /* @__PURE__ */ jsxs(SheetPortal, { container: container ?? void 0, children: [
|
|
4149
|
+
/* @__PURE__ */ jsx(SheetOverlay, {}),
|
|
4150
|
+
/* @__PURE__ */ jsx(
|
|
4151
|
+
DialogPrimitive.Content,
|
|
4152
|
+
{
|
|
4153
|
+
ref,
|
|
4154
|
+
className: cn(
|
|
4155
|
+
sheetVariants({ side }),
|
|
4156
|
+
mode === "smooth" && `${sideRoundingSmooth[side ?? "right"]} shadow-xl`,
|
|
4157
|
+
mode === "playful" && `${sideRoundingPlayful[side ?? "right"]} border-2 shadow-lg shadow-primary/10`,
|
|
4158
|
+
className
|
|
4159
|
+
),
|
|
4160
|
+
...props,
|
|
4161
|
+
children: /* @__PURE__ */ jsxs(UIVariantProvider, { mode, children: [
|
|
4162
|
+
children,
|
|
4163
|
+
/* @__PURE__ */ jsxs(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
|
|
4164
|
+
/* @__PURE__ */ jsx(X, { className: "h-4 w-4" }),
|
|
4165
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" })
|
|
4166
|
+
] })
|
|
3961
4167
|
] })
|
|
3962
|
-
|
|
3963
|
-
|
|
3964
|
-
)
|
|
3965
|
-
|
|
4168
|
+
}
|
|
4169
|
+
)
|
|
4170
|
+
] });
|
|
4171
|
+
});
|
|
3966
4172
|
SheetContent.displayName = DialogPrimitive.Content.displayName;
|
|
3967
4173
|
var SheetHeader = ({
|
|
3968
4174
|
className,
|
|
@@ -4039,21 +4245,25 @@ function Skeleton({
|
|
|
4039
4245
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
4040
4246
|
var Tooltip2 = TooltipPrimitive.Root;
|
|
4041
4247
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
4042
|
-
var TooltipContent = React37.forwardRef(({ className, sideOffset = 4, mode, children, ...props }, ref) =>
|
|
4043
|
-
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
|
|
4056
|
-
|
|
4248
|
+
var TooltipContent = React37.forwardRef(({ className, sideOffset = 4, mode: modeProp, children, ...props }, ref) => {
|
|
4249
|
+
const mode = modeProp ?? useUIVariant();
|
|
4250
|
+
return /* @__PURE__ */ jsx(
|
|
4251
|
+
TooltipPrimitive.Content,
|
|
4252
|
+
{
|
|
4253
|
+
ref,
|
|
4254
|
+
sideOffset,
|
|
4255
|
+
className: cn(
|
|
4256
|
+
"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",
|
|
4257
|
+
mode === "smooth" && "rounded-xl shadow-xl",
|
|
4258
|
+
mode === "playful" && "rounded-lg border-2 shadow-md shadow-primary/10",
|
|
4259
|
+
mode === "glass" && cn(glassPanel, "rounded-lg"),
|
|
4260
|
+
className
|
|
4261
|
+
),
|
|
4262
|
+
...props,
|
|
4263
|
+
children: /* @__PURE__ */ jsx(UIVariantProvider, { mode, children })
|
|
4264
|
+
}
|
|
4265
|
+
);
|
|
4266
|
+
});
|
|
4057
4267
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
4058
4268
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
4059
4269
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
@@ -4779,8 +4989,9 @@ var Slider = React37.forwardRef(({ className, size = "default", ...props }, ref)
|
|
|
4779
4989
|
}
|
|
4780
4990
|
));
|
|
4781
4991
|
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
4782
|
-
var Toaster = ({ mode, className, style, ...props }) => {
|
|
4992
|
+
var Toaster = ({ mode: modeProp, className, style, ...props }) => {
|
|
4783
4993
|
const { theme = "system" } = useTheme();
|
|
4994
|
+
const mode = modeProp ?? useUIVariant();
|
|
4784
4995
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4785
4996
|
mode === "smooth" && /* @__PURE__ */ jsx("style", { children: `[data-sonner-toaster].toaster-smooth { --border-radius: 1.5rem; }` }),
|
|
4786
4997
|
mode === "playful" && /* @__PURE__ */ jsx("style", { children: `
|
|
@@ -4907,8 +5118,41 @@ var switchSizes = {
|
|
|
4907
5118
|
thumb: "size-6 data-[state=checked]:translate-x-7"
|
|
4908
5119
|
}
|
|
4909
5120
|
};
|
|
4910
|
-
var Switch = React37.forwardRef(({ className, size = "default", ...props }, ref) => {
|
|
5121
|
+
var Switch = React37.forwardRef(({ className, size = "default", mode: modeProp, ...props }, ref) => {
|
|
5122
|
+
const mode = modeProp ?? useUIVariant();
|
|
4911
5123
|
const sizes = switchSizes[size];
|
|
5124
|
+
if (mode === "playful") {
|
|
5125
|
+
return /* @__PURE__ */ jsxs("span", { className: "group/playful relative inline-flex", children: [
|
|
5126
|
+
/* @__PURE__ */ jsx(
|
|
5127
|
+
"span",
|
|
5128
|
+
{
|
|
5129
|
+
"aria-hidden": "true",
|
|
5130
|
+
className: "absolute inset-0 rounded-full bg-primary/30 dark:bg-primary/20 transition-transform duration-200 translate-x-[2px] translate-y-[2px] -rotate-[3deg] group-hover/playful:-rotate-[5deg]"
|
|
5131
|
+
}
|
|
5132
|
+
),
|
|
5133
|
+
/* @__PURE__ */ jsx(
|
|
5134
|
+
SwitchPrimitives.Root,
|
|
5135
|
+
{
|
|
5136
|
+
className: cn(
|
|
5137
|
+
"relative peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input rotate-[1.5deg]",
|
|
5138
|
+
sizes.root,
|
|
5139
|
+
className
|
|
5140
|
+
),
|
|
5141
|
+
...props,
|
|
5142
|
+
ref,
|
|
5143
|
+
children: /* @__PURE__ */ jsx(
|
|
5144
|
+
SwitchPrimitives.Thumb,
|
|
5145
|
+
{
|
|
5146
|
+
className: cn(
|
|
5147
|
+
"pointer-events-none block rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=unchecked]:translate-x-0",
|
|
5148
|
+
sizes.thumb
|
|
5149
|
+
)
|
|
5150
|
+
}
|
|
5151
|
+
)
|
|
5152
|
+
}
|
|
5153
|
+
)
|
|
5154
|
+
] });
|
|
5155
|
+
}
|
|
4912
5156
|
return /* @__PURE__ */ jsx(
|
|
4913
5157
|
SwitchPrimitives.Root,
|
|
4914
5158
|
{
|
|
@@ -5260,16 +5504,30 @@ function composeAsciiText(font, text) {
|
|
|
5260
5504
|
function getAsciiAccentColumns(font, text, accent) {
|
|
5261
5505
|
if (!accent) return /* @__PURE__ */ new Set();
|
|
5262
5506
|
const columns = /* @__PURE__ */ new Set();
|
|
5507
|
+
const accentRanges = [];
|
|
5508
|
+
let searchFrom = 0;
|
|
5509
|
+
while (true) {
|
|
5510
|
+
const idx = text.indexOf(accent, searchFrom);
|
|
5511
|
+
if (idx === -1) break;
|
|
5512
|
+
accentRanges.push({ start: idx, end: idx + accent.length });
|
|
5513
|
+
searchFrom = idx + 1;
|
|
5514
|
+
}
|
|
5515
|
+
if (accentRanges.length === 0) return columns;
|
|
5263
5516
|
let offsetX = 0;
|
|
5517
|
+
let charIndex = 0;
|
|
5264
5518
|
for (const ch of text) {
|
|
5265
5519
|
const code = ch.charCodeAt(0);
|
|
5266
5520
|
const glyph = font.chars.get(code) ?? font.chars.get(32);
|
|
5267
|
-
if (!glyph)
|
|
5521
|
+
if (!glyph) {
|
|
5522
|
+
charIndex++;
|
|
5523
|
+
continue;
|
|
5524
|
+
}
|
|
5268
5525
|
const width = Math.max(...glyph.map((line) => line.length));
|
|
5269
|
-
if (
|
|
5526
|
+
if (accentRanges.some((r) => charIndex >= r.start && charIndex < r.end)) {
|
|
5270
5527
|
for (let col = 0; col < width; col++) columns.add(offsetX + col);
|
|
5271
5528
|
}
|
|
5272
5529
|
offsetX += width;
|
|
5530
|
+
charIndex++;
|
|
5273
5531
|
}
|
|
5274
5532
|
return columns;
|
|
5275
5533
|
}
|
|
@@ -6526,6 +6784,9 @@ $$$@@
|
|
|
6526
6784
|
function AsciiText({
|
|
6527
6785
|
text = "olwibaCN",
|
|
6528
6786
|
accent = "",
|
|
6787
|
+
accents,
|
|
6788
|
+
shine = "",
|
|
6789
|
+
shineColor = "rgba(255,255,255,0.92)",
|
|
6529
6790
|
color,
|
|
6530
6791
|
accentColor
|
|
6531
6792
|
}) {
|
|
@@ -6534,6 +6795,26 @@ function AsciiText({
|
|
|
6534
6795
|
const accentCols = useMemo(() => {
|
|
6535
6796
|
return getAsciiAccentColumns(font, text, accent);
|
|
6536
6797
|
}, [font, text, accent]);
|
|
6798
|
+
const multiAccentCols = useMemo(() => {
|
|
6799
|
+
if (!accents?.length) return null;
|
|
6800
|
+
const map = /* @__PURE__ */ new Map();
|
|
6801
|
+
for (const item of accents) {
|
|
6802
|
+
const cols2 = getAsciiAccentColumns(font, text, item.text);
|
|
6803
|
+
for (const col of cols2) map.set(col, item.color);
|
|
6804
|
+
}
|
|
6805
|
+
return map;
|
|
6806
|
+
}, [accents, font, text]);
|
|
6807
|
+
const getCellColor = useCallback((col, baseColor, highlightColor) => {
|
|
6808
|
+
return multiAccentCols?.get(col) ?? (accentCols.has(col) ? highlightColor : baseColor);
|
|
6809
|
+
}, [accentCols, multiAccentCols]);
|
|
6810
|
+
const shineCols = useMemo(() => {
|
|
6811
|
+
return getAsciiAccentColumns(font, text, shine);
|
|
6812
|
+
}, [font, shine, text]);
|
|
6813
|
+
const shineBounds = useMemo(() => {
|
|
6814
|
+
if (!shineCols.size) return null;
|
|
6815
|
+
const cols2 = Array.from(shineCols);
|
|
6816
|
+
return { min: Math.min(...cols2), max: Math.max(...cols2) };
|
|
6817
|
+
}, [shineCols]);
|
|
6537
6818
|
const canvasRef = useRef(null);
|
|
6538
6819
|
const animRef = useRef(0);
|
|
6539
6820
|
const timeRef = useRef(0);
|
|
@@ -6584,24 +6865,46 @@ function AsciiText({
|
|
|
6584
6865
|
const time = timeRef.current;
|
|
6585
6866
|
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
6586
6867
|
const { base: baseColor, accent: highlightColor } = colorsRef.current;
|
|
6587
|
-
|
|
6588
|
-
|
|
6589
|
-
|
|
6590
|
-
|
|
6591
|
-
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
|
|
6868
|
+
if (multiAccentCols || shineCols.size) {
|
|
6869
|
+
for (const cell of cells) {
|
|
6870
|
+
const intensity = getAsciiCellIntensity(cell, {
|
|
6871
|
+
time,
|
|
6872
|
+
pointer: mouseRef.current,
|
|
6873
|
+
waves: wavesRef.current
|
|
6874
|
+
});
|
|
6875
|
+
ctx.globalAlpha = intensity;
|
|
6876
|
+
ctx.fillStyle = getCellColor(cell.col, baseColor, highlightColor);
|
|
6877
|
+
ctx.fillRect(cell.col * ASCII_CHAR_WIDTH, cell.row * ASCII_CHAR_HEIGHT, ASCII_CHAR_WIDTH, ASCII_CHAR_HEIGHT);
|
|
6878
|
+
if (shineBounds && shineCols.has(cell.col)) {
|
|
6879
|
+
const alpha = getShineAlpha(cell.col, cell.row, time, shineBounds) * (cell.ch === "\u2591" ? 0.55 : 1);
|
|
6880
|
+
if (alpha > 0) {
|
|
6881
|
+
ctx.globalAlpha = intensity * alpha;
|
|
6882
|
+
ctx.fillStyle = shineColor;
|
|
6883
|
+
ctx.fillRect(cell.col * ASCII_CHAR_WIDTH, cell.row * ASCII_CHAR_HEIGHT, ASCII_CHAR_WIDTH, ASCII_CHAR_HEIGHT);
|
|
6884
|
+
}
|
|
6885
|
+
}
|
|
6886
|
+
}
|
|
6887
|
+
ctx.globalAlpha = 1;
|
|
6888
|
+
} else {
|
|
6889
|
+
renderAsciiFrameToContext(ctx, { cells, cols, rows }, {
|
|
6890
|
+
accentColumns: accentCols,
|
|
6891
|
+
color: baseColor,
|
|
6892
|
+
accentColor: highlightColor,
|
|
6893
|
+
time,
|
|
6894
|
+
pointer: mouseRef.current,
|
|
6895
|
+
waves: wavesRef.current
|
|
6896
|
+
});
|
|
6897
|
+
}
|
|
6595
6898
|
if (!hasPaintedRef.current) {
|
|
6596
6899
|
hasPaintedRef.current = true;
|
|
6597
6900
|
setIsCanvasReady(true);
|
|
6598
6901
|
}
|
|
6599
6902
|
wavesRef.current = wavesRef.current.filter((w) => time - w.t < 3);
|
|
6600
|
-
}, [
|
|
6903
|
+
}, [accentCols, cells, cols, getCellColor, multiAccentCols, rows, shineBounds, shineColor, shineCols]);
|
|
6601
6904
|
useEffect(() => {
|
|
6602
6905
|
hasPaintedRef.current = false;
|
|
6603
6906
|
setIsCanvasReady(false);
|
|
6604
|
-
}, [text, accent, color, accentColor]);
|
|
6907
|
+
}, [text, accent, accents, shine, shineColor, color, accentColor]);
|
|
6605
6908
|
useEffect(() => {
|
|
6606
6909
|
let running = true;
|
|
6607
6910
|
const loop = () => {
|
|
@@ -6666,18 +6969,32 @@ function AsciiText({
|
|
|
6666
6969
|
preserveAspectRatio: "xMidYMid meet",
|
|
6667
6970
|
children: cells.map((cell) => {
|
|
6668
6971
|
const isAccent = accentCols.has(cell.col);
|
|
6669
|
-
|
|
6670
|
-
|
|
6671
|
-
|
|
6672
|
-
|
|
6673
|
-
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
6679
|
-
|
|
6680
|
-
|
|
6972
|
+
const multiAccentColor = multiAccentCols?.get(cell.col);
|
|
6973
|
+
const shineAlpha = shineBounds && shineCols.has(cell.col) ? getShineAlpha(cell.col, cell.row, 0.2, shineBounds) * (cell.ch === "\u2591" ? 0.55 : 1) : 0;
|
|
6974
|
+
return /* @__PURE__ */ jsxs(React37.Fragment, { children: [
|
|
6975
|
+
/* @__PURE__ */ jsx(
|
|
6976
|
+
"rect",
|
|
6977
|
+
{
|
|
6978
|
+
x: cell.col * ASCII_CHAR_WIDTH,
|
|
6979
|
+
y: cell.row * ASCII_CHAR_HEIGHT,
|
|
6980
|
+
width: ASCII_CHAR_WIDTH,
|
|
6981
|
+
height: ASCII_CHAR_HEIGHT,
|
|
6982
|
+
fill: multiAccentColor ?? (isAccent ? fallbackAccentColor : "currentColor"),
|
|
6983
|
+
opacity: cell.ch === "\u2591" ? 0.15 : 0.78
|
|
6984
|
+
}
|
|
6985
|
+
),
|
|
6986
|
+
shineAlpha > 0 && /* @__PURE__ */ jsx(
|
|
6987
|
+
"rect",
|
|
6988
|
+
{
|
|
6989
|
+
x: cell.col * ASCII_CHAR_WIDTH,
|
|
6990
|
+
y: cell.row * ASCII_CHAR_HEIGHT,
|
|
6991
|
+
width: ASCII_CHAR_WIDTH,
|
|
6992
|
+
height: ASCII_CHAR_HEIGHT,
|
|
6993
|
+
fill: shineColor,
|
|
6994
|
+
opacity: shineAlpha
|
|
6995
|
+
}
|
|
6996
|
+
)
|
|
6997
|
+
] }, `${cell.col}-${cell.row}`);
|
|
6681
6998
|
})
|
|
6682
6999
|
}
|
|
6683
7000
|
),
|
|
@@ -6698,6 +7015,21 @@ function AsciiText({
|
|
|
6698
7015
|
}
|
|
6699
7016
|
) });
|
|
6700
7017
|
}
|
|
7018
|
+
var SHINE_SPEED = 1.0125;
|
|
7019
|
+
function getShineAlpha(col, row, time, bounds) {
|
|
7020
|
+
const span = bounds.max - bounds.min + 1;
|
|
7021
|
+
const travel = span + 6;
|
|
7022
|
+
const diagonalCol = col + row * 0.62;
|
|
7023
|
+
const primarySweep = bounds.max + 3 - time * SHINE_SPEED % 1 * travel;
|
|
7024
|
+
const secondarySweep = bounds.max + 3 - (time * SHINE_SPEED + 0.5) % 1 * travel;
|
|
7025
|
+
const primary = getShineBandAlpha(diagonalCol, primarySweep);
|
|
7026
|
+
const secondary = getShineBandAlpha(diagonalCol, secondarySweep);
|
|
7027
|
+
return Math.min(0.86, primary + secondary * 0.82);
|
|
7028
|
+
}
|
|
7029
|
+
function getShineBandAlpha(diagonalCol, sweep) {
|
|
7030
|
+
const distance = Math.abs(diagonalCol - sweep);
|
|
7031
|
+
return Math.max(0, 1 - distance / 2.7) ** 2 * 0.78;
|
|
7032
|
+
}
|
|
6701
7033
|
function useCopyToClipboard(timeout = 2e3) {
|
|
6702
7034
|
const [isCopied, setIsCopied] = useState(false);
|
|
6703
7035
|
const copyToClipboard = useCallback(
|
|
@@ -6812,25 +7144,33 @@ function ThemeScript() {
|
|
|
6812
7144
|
}
|
|
6813
7145
|
var GLINTS = [
|
|
6814
7146
|
// perimeter
|
|
6815
|
-
{ top: "-
|
|
6816
|
-
{ top: "2px", right: "-
|
|
6817
|
-
{ bottom: "-
|
|
6818
|
-
{ top: "3px", left: "-
|
|
7147
|
+
{ top: "-8px", left: "10%", size: 9, delay: "0s", duration: "2.1s" },
|
|
7148
|
+
{ top: "2px", right: "-8px", size: 8, delay: "0.3s", duration: "3.4s" },
|
|
7149
|
+
{ bottom: "-7px", right: "15%", size: 8, delay: "1.1s", duration: "1.7s" },
|
|
7150
|
+
{ top: "3px", left: "-7px", size: 7, delay: "0.7s", duration: "2.9s" },
|
|
7151
|
+
{ bottom: "-6px", left: "40%", size: 6, delay: "2.2s", duration: "2.6s" },
|
|
7152
|
+
{ top: "-6px", right: "35%", size: 6, delay: "1.4s", duration: "2.2s" },
|
|
6819
7153
|
// inside / overlapping the child
|
|
6820
|
-
{ top: "20%", left: "38%", size:
|
|
6821
|
-
{ top: "15%", right: "22%", size:
|
|
6822
|
-
{ bottom: "15%", left: "22%", size:
|
|
7154
|
+
{ top: "20%", left: "38%", size: 6, delay: "1.5s", duration: "2.3s" },
|
|
7155
|
+
{ top: "15%", right: "22%", size: 5, delay: "0.5s", duration: "3.1s" },
|
|
7156
|
+
{ bottom: "15%", left: "22%", size: 5, delay: "1.9s", duration: "1.8s" }
|
|
6823
7157
|
];
|
|
6824
7158
|
function GlintIcon({ size }) {
|
|
6825
7159
|
return /* @__PURE__ */ jsx("svg", { width: size, height: size, viewBox: "0 0 8 8", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ jsx("path", { d: "M4 0.5 L4.6 3.4 L7.5 4 L4.6 4.6 L4 7.5 L3.4 4.6 L0.5 4 L3.4 3.4 Z" }) });
|
|
6826
7160
|
}
|
|
6827
|
-
function Enchanted({ children, className, ...props }) {
|
|
6828
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("relative", className), ...props, children: [
|
|
7161
|
+
function Enchanted({ children, className, hoverOnly = false, glintClassName, ...props }) {
|
|
7162
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("relative", hoverOnly && "group/enchanted", className), ...props, children: [
|
|
6829
7163
|
children,
|
|
6830
7164
|
GLINTS.map((g, i) => /* @__PURE__ */ jsx(
|
|
6831
7165
|
"span",
|
|
6832
7166
|
{
|
|
6833
|
-
className:
|
|
7167
|
+
className: cn(
|
|
7168
|
+
"pointer-events-none absolute z-10 animate-enchanted drop-shadow-[0_0_3px_currentColor]",
|
|
7169
|
+
glintClassName ?? "text-primary",
|
|
7170
|
+
// Display toggle (not opacity) - the keyframes own opacity, and
|
|
7171
|
+
// re-mounting restarts the glint timeline on each hover.
|
|
7172
|
+
hoverOnly && "hidden group-hover/enchanted:block"
|
|
7173
|
+
),
|
|
6834
7174
|
style: { top: g.top, bottom: g.bottom, left: g.left, right: g.right, animationDelay: g.delay, animationDuration: g.duration },
|
|
6835
7175
|
children: /* @__PURE__ */ jsx(GlintIcon, { size: g.size })
|
|
6836
7176
|
},
|