@cntyclub/ui-react 0.15.0 → 0.16.1
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 +81 -1
- package/dist/index.js +322 -79
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
- package/src/components/ui/color-picker.tsx +389 -0
- package/src/index.ts +1 -0
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { cn, buttonVariants, Input, Popover, PopoverTrigger, Button, PopoverPopup, Calendar, SpinnerOnDemand } from './chunk-2HQPCV2L.js';
|
|
1
|
+
import { cn, buttonVariants, Input as Input$1, Popover, PopoverTrigger, Button, PopoverPopup, Calendar, SpinnerOnDemand } from './chunk-2HQPCV2L.js';
|
|
2
2
|
export { Button, Calendar, Checkbox, CheckboxGroup, Field, FieldControl, FieldDescription, FieldError, FieldGroup, FieldItem, FieldLabel, FieldValidity, Input, InputGroup, InputGroupAddon, InputGroupInput, InputGroupText, InputGroupTextarea, Label, NumberField, NumberFieldDecrement, NumberFieldGroup, NumberFieldIncrement, NumberFieldInput, NumberFieldScrubArea, Popover, PopoverClose, PopoverPopup as PopoverContent, PopoverCreateHandle, PopoverDescription, PopoverPopup, PopoverTitle, PopoverTrigger, Select, SelectPopup as SelectContent, SelectGroup, SelectGroupLabel, SelectItem, SelectPopup, SelectSeparator, SelectTrigger, SelectValue, SpinnerOnDemand, Textarea, buttonVariants, cn } from './chunk-2HQPCV2L.js';
|
|
3
3
|
import { Accordion as Accordion$1 } from '@base-ui/react/accordion';
|
|
4
|
-
import { ChevronDownIcon, SunIcon, MoonIcon, ChevronsUpDownIcon, XIcon, CheckIcon, UserRoundIcon,
|
|
4
|
+
import { PipetteIcon, PlusIcon, ChevronDownIcon, SunIcon, MoonIcon, ChevronsUpDownIcon, XIcon, CheckIcon, UserRoundIcon, ChevronRight, MoreHorizontal, CalendarIcon, ArrowLeftIcon, ArrowRightIcon, SparklesIcon, ArrowUpIcon, SearchIcon, NfcIcon, ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon, FileQuestionIcon, ShieldAlertIcon, ShieldXIcon, TriangleAlertIcon, CircleHelp, MinusIcon, GripVerticalIcon, PanelLeftIcon, Loader2Icon, TrendingDownIcon, TrendingUpIcon, CircleCheckIcon, LoaderCircleIcon, InfoIcon, CircleAlertIcon, PlayIcon, PauseIcon, VolumeXIcon, Volume2Icon, Minimize2Icon, Maximize2Icon, Search, LifeBuoy, Settings, LogOut, UserIcon, CloudUploadIcon, TrashIcon, Undo2, Redo2, Bold, Italic, Strikethrough, List, ListOrdered, AlignLeft, AlignCenter, AlignRight, AlignJustify } from 'lucide-react';
|
|
5
5
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
7
7
|
import { AlertDialog as AlertDialog$1 } from '@base-ui/react/alert-dialog';
|
|
8
|
-
import * as
|
|
8
|
+
import * as React20 from 'react';
|
|
9
9
|
import { createContext, memo, forwardRef, useRef, useCallback, useMemo, useImperativeHandle, useEffect, useState, useContext, Fragment as Fragment$1, useSyncExternalStore, isValidElement, useLayoutEffect } from 'react';
|
|
10
10
|
import { flushSync } from 'react-dom';
|
|
11
11
|
import { mergeProps } from '@base-ui/react/merge-props';
|
|
@@ -20,6 +20,8 @@ import { format, intervalToDuration } from 'date-fns';
|
|
|
20
20
|
import useEmblaCarousel from 'embla-carousel-react';
|
|
21
21
|
import * as RechartsPrimitive from 'recharts';
|
|
22
22
|
import { Collapsible as Collapsible$1 } from '@base-ui/react/collapsible';
|
|
23
|
+
import { parseColor, ColorSwatchPicker, ColorSwatchPickerItem, ColorSwatch as ColorSwatch$1, ColorField, Input, ColorThumb as ColorThumb$1, ColorArea as ColorArea$1, ColorPicker as ColorPicker$1, ColorPickerStateContext, ColorSlider, SliderTrack } from 'react-aria-components';
|
|
24
|
+
export { getColorChannels, parseColor } from 'react-aria-components';
|
|
23
25
|
import { Combobox as Combobox$1 } from '@base-ui/react/combobox';
|
|
24
26
|
import { Dialog as Dialog$1 } from '@base-ui/react/dialog';
|
|
25
27
|
import confetti from 'canvas-confetti';
|
|
@@ -1057,7 +1059,7 @@ function useSmoothWheel(ref, {
|
|
|
1057
1059
|
multiplier = 0.8,
|
|
1058
1060
|
ease = 0.12
|
|
1059
1061
|
} = {}) {
|
|
1060
|
-
|
|
1062
|
+
React20.useEffect(() => {
|
|
1061
1063
|
if (!enabled) return;
|
|
1062
1064
|
const el = ref.current;
|
|
1063
1065
|
if (!el) return;
|
|
@@ -1151,7 +1153,7 @@ function SmoothScroll({
|
|
|
1151
1153
|
ease,
|
|
1152
1154
|
...props
|
|
1153
1155
|
}) {
|
|
1154
|
-
const ref =
|
|
1156
|
+
const ref = React20.useRef(null);
|
|
1155
1157
|
useSmoothWheel(ref, { ease, horizontal, multiplier });
|
|
1156
1158
|
return /* @__PURE__ */ jsx(
|
|
1157
1159
|
"div",
|
|
@@ -1177,7 +1179,7 @@ function ScrollArea({
|
|
|
1177
1179
|
viewportClassName,
|
|
1178
1180
|
...props
|
|
1179
1181
|
}) {
|
|
1180
|
-
const viewportRef =
|
|
1182
|
+
const viewportRef = React20.useRef(null);
|
|
1181
1183
|
useSmoothWheel(viewportRef, { enabled: wheelToHorizontal, horizontal: true });
|
|
1182
1184
|
useSmoothWheel(viewportRef, {
|
|
1183
1185
|
enabled: smooth && !wheelToHorizontal,
|
|
@@ -1264,7 +1266,7 @@ function AutocompleteInput({
|
|
|
1264
1266
|
className
|
|
1265
1267
|
),
|
|
1266
1268
|
"data-slot": "autocomplete-input",
|
|
1267
|
-
render: /* @__PURE__ */ jsx(Input, { nativeInput: true, size: sizeValue }),
|
|
1269
|
+
render: /* @__PURE__ */ jsx(Input$1, { nativeInput: true, size: sizeValue }),
|
|
1268
1270
|
...props
|
|
1269
1271
|
}
|
|
1270
1272
|
),
|
|
@@ -2581,9 +2583,9 @@ function CardFooter({
|
|
|
2581
2583
|
render
|
|
2582
2584
|
});
|
|
2583
2585
|
}
|
|
2584
|
-
var CarouselContext =
|
|
2586
|
+
var CarouselContext = React20.createContext(null);
|
|
2585
2587
|
function useCarousel() {
|
|
2586
|
-
const context =
|
|
2588
|
+
const context = React20.useContext(CarouselContext);
|
|
2587
2589
|
if (!context) {
|
|
2588
2590
|
throw new Error("useCarousel must be used within a <Carousel />");
|
|
2589
2591
|
}
|
|
@@ -2606,20 +2608,20 @@ function Carousel({
|
|
|
2606
2608
|
},
|
|
2607
2609
|
plugins
|
|
2608
2610
|
);
|
|
2609
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
2610
|
-
const [canScrollNext, setCanScrollNext] =
|
|
2611
|
-
const onSelect =
|
|
2611
|
+
const [canScrollPrev, setCanScrollPrev] = React20.useState(false);
|
|
2612
|
+
const [canScrollNext, setCanScrollNext] = React20.useState(false);
|
|
2613
|
+
const onSelect = React20.useCallback((api2) => {
|
|
2612
2614
|
if (!api2) return;
|
|
2613
2615
|
setCanScrollPrev(api2.canScrollPrev());
|
|
2614
2616
|
setCanScrollNext(api2.canScrollNext());
|
|
2615
2617
|
}, []);
|
|
2616
|
-
const scrollPrev =
|
|
2618
|
+
const scrollPrev = React20.useCallback(() => {
|
|
2617
2619
|
api?.scrollPrev();
|
|
2618
2620
|
}, [api]);
|
|
2619
|
-
const scrollNext =
|
|
2621
|
+
const scrollNext = React20.useCallback(() => {
|
|
2620
2622
|
api?.scrollNext();
|
|
2621
2623
|
}, [api]);
|
|
2622
|
-
const handleKeyDown =
|
|
2624
|
+
const handleKeyDown = React20.useCallback(
|
|
2623
2625
|
(event) => {
|
|
2624
2626
|
if (event.key === "ArrowLeft") {
|
|
2625
2627
|
event.preventDefault();
|
|
@@ -2631,11 +2633,11 @@ function Carousel({
|
|
|
2631
2633
|
},
|
|
2632
2634
|
[scrollPrev, scrollNext]
|
|
2633
2635
|
);
|
|
2634
|
-
|
|
2636
|
+
React20.useEffect(() => {
|
|
2635
2637
|
if (!api || !setApi) return;
|
|
2636
2638
|
setApi(api);
|
|
2637
2639
|
}, [api, setApi]);
|
|
2638
|
-
|
|
2640
|
+
React20.useEffect(() => {
|
|
2639
2641
|
if (!api) return;
|
|
2640
2642
|
onSelect(api);
|
|
2641
2643
|
api.on("reInit", onSelect);
|
|
@@ -2777,9 +2779,9 @@ function CarouselNext({
|
|
|
2777
2779
|
);
|
|
2778
2780
|
}
|
|
2779
2781
|
var THEMES = { light: "", dark: '[data-theme="dark"]' };
|
|
2780
|
-
var ChartContext =
|
|
2782
|
+
var ChartContext = React20.createContext(null);
|
|
2781
2783
|
function useChart() {
|
|
2782
|
-
const context =
|
|
2784
|
+
const context = React20.useContext(ChartContext);
|
|
2783
2785
|
if (!context) {
|
|
2784
2786
|
throw new Error("useChart must be used within a <ChartContainer />");
|
|
2785
2787
|
}
|
|
@@ -2792,7 +2794,7 @@ function ChartContainer({
|
|
|
2792
2794
|
config,
|
|
2793
2795
|
...props
|
|
2794
2796
|
}) {
|
|
2795
|
-
const uniqueId =
|
|
2797
|
+
const uniqueId = React20.useId();
|
|
2796
2798
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
2797
2799
|
return /* @__PURE__ */ jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs(
|
|
2798
2800
|
"div",
|
|
@@ -2853,7 +2855,7 @@ function ChartTooltipContent({
|
|
|
2853
2855
|
labelKey
|
|
2854
2856
|
}) {
|
|
2855
2857
|
const { config } = useChart();
|
|
2856
|
-
const tooltipLabel =
|
|
2858
|
+
const tooltipLabel = React20.useMemo(() => {
|
|
2857
2859
|
if (hideLabel || !payload?.length) {
|
|
2858
2860
|
return null;
|
|
2859
2861
|
}
|
|
@@ -3066,15 +3068,15 @@ function ChatMessages({
|
|
|
3066
3068
|
children,
|
|
3067
3069
|
...props
|
|
3068
3070
|
}) {
|
|
3069
|
-
const viewportRef =
|
|
3070
|
-
const pinnedRef =
|
|
3071
|
-
const handleScroll =
|
|
3071
|
+
const viewportRef = React20.useRef(null);
|
|
3072
|
+
const pinnedRef = React20.useRef(true);
|
|
3073
|
+
const handleScroll = React20.useCallback(() => {
|
|
3072
3074
|
const viewport = viewportRef.current;
|
|
3073
3075
|
if (!viewport) return;
|
|
3074
3076
|
const distanceFromBottom = viewport.scrollHeight - viewport.scrollTop - viewport.clientHeight;
|
|
3075
3077
|
pinnedRef.current = distanceFromBottom < 48;
|
|
3076
3078
|
}, []);
|
|
3077
|
-
|
|
3079
|
+
React20.useEffect(() => {
|
|
3078
3080
|
const viewport = viewportRef.current;
|
|
3079
3081
|
if (!viewport || !autoScroll || !pinnedRef.current) return;
|
|
3080
3082
|
viewport.scrollTop = viewport.scrollHeight;
|
|
@@ -3322,13 +3324,13 @@ function ChatInput({
|
|
|
3322
3324
|
value,
|
|
3323
3325
|
...props
|
|
3324
3326
|
}) {
|
|
3325
|
-
const textareaRef =
|
|
3326
|
-
const submit =
|
|
3327
|
+
const textareaRef = React20.useRef(null);
|
|
3328
|
+
const submit = React20.useCallback(() => {
|
|
3327
3329
|
const trimmed = value.trim();
|
|
3328
3330
|
if (!trimmed || disabled) return;
|
|
3329
3331
|
onSubmit(trimmed);
|
|
3330
3332
|
}, [disabled, onSubmit, value]);
|
|
3331
|
-
|
|
3333
|
+
React20.useEffect(() => {
|
|
3332
3334
|
const textarea = textareaRef.current;
|
|
3333
3335
|
if (!textarea) return;
|
|
3334
3336
|
textarea.style.height = "auto";
|
|
@@ -3458,12 +3460,253 @@ function CollapsiblePanel({
|
|
|
3458
3460
|
}
|
|
3459
3461
|
);
|
|
3460
3462
|
}
|
|
3461
|
-
var
|
|
3463
|
+
var CHECKERBOARD = "repeating-conic-gradient(rgba(0,0,0,.12) 0% 25%, transparent 0% 50%) 50% / 12px 12px";
|
|
3464
|
+
function useColorPicker() {
|
|
3465
|
+
const state = React20.useContext(ColorPickerStateContext);
|
|
3466
|
+
if (!state) {
|
|
3467
|
+
throw new Error("useColorPicker must be used inside <ColorPicker.Provider>.");
|
|
3468
|
+
}
|
|
3469
|
+
return state;
|
|
3470
|
+
}
|
|
3471
|
+
function ColorPickerProvider(props) {
|
|
3472
|
+
return /* @__PURE__ */ jsx(ColorPicker$1, { ...props });
|
|
3473
|
+
}
|
|
3474
|
+
function ColorArea({ className, ...props }) {
|
|
3475
|
+
return /* @__PURE__ */ jsx(
|
|
3476
|
+
ColorArea$1,
|
|
3477
|
+
{
|
|
3478
|
+
className: cn(
|
|
3479
|
+
"h-40 w-full shrink-0 rounded-lg border border-input outline-none",
|
|
3480
|
+
"data-[disabled]:opacity-64",
|
|
3481
|
+
className
|
|
3482
|
+
),
|
|
3483
|
+
"data-slot": "color-picker-area",
|
|
3484
|
+
...props,
|
|
3485
|
+
children: /* @__PURE__ */ jsx(ColorThumb, {})
|
|
3486
|
+
}
|
|
3487
|
+
);
|
|
3488
|
+
}
|
|
3489
|
+
function ColorThumb({ className, ...props }) {
|
|
3490
|
+
return /* @__PURE__ */ jsx(
|
|
3491
|
+
ColorThumb$1,
|
|
3492
|
+
{
|
|
3493
|
+
className: cn(
|
|
3494
|
+
// `box-shadow` rather than a border, so the ring sits *outside* the swatch and
|
|
3495
|
+
// the pixel under the thumb is the colour actually selected.
|
|
3496
|
+
"size-4 rounded-full border-2 border-white shadow-[0_0_0_1px_rgba(0,0,0,.35)] outline-none",
|
|
3497
|
+
"transition-[scale,box-shadow] duration-150 ease-out",
|
|
3498
|
+
"data-[focus-visible]:ring-[3px] data-[focus-visible]:ring-ring/32 data-[dragging]:scale-115",
|
|
3499
|
+
className
|
|
3500
|
+
),
|
|
3501
|
+
"data-slot": "color-picker-thumb",
|
|
3502
|
+
...props
|
|
3503
|
+
}
|
|
3504
|
+
);
|
|
3505
|
+
}
|
|
3506
|
+
function ColorSliderBase({
|
|
3507
|
+
className,
|
|
3508
|
+
channel,
|
|
3509
|
+
chequered,
|
|
3510
|
+
...props
|
|
3511
|
+
}) {
|
|
3512
|
+
return /* @__PURE__ */ jsx(
|
|
3513
|
+
ColorSlider,
|
|
3514
|
+
{
|
|
3515
|
+
channel,
|
|
3516
|
+
className: cn("w-full data-[disabled]:opacity-64", className),
|
|
3517
|
+
"data-slot": `color-picker-${channel}-slider`,
|
|
3518
|
+
orientation: "horizontal",
|
|
3519
|
+
...props,
|
|
3520
|
+
children: /* @__PURE__ */ jsx(
|
|
3521
|
+
SliderTrack,
|
|
3522
|
+
{
|
|
3523
|
+
className: "relative h-3 w-full rounded-full border border-input",
|
|
3524
|
+
style: ({ defaultStyle }) => ({
|
|
3525
|
+
background: chequered ? `${defaultStyle.background}, ${CHECKERBOARD}` : defaultStyle.background
|
|
3526
|
+
}),
|
|
3527
|
+
children: /* @__PURE__ */ jsx(ColorThumb, { className: "top-1/2" })
|
|
3528
|
+
}
|
|
3529
|
+
)
|
|
3530
|
+
}
|
|
3531
|
+
);
|
|
3532
|
+
}
|
|
3533
|
+
function ColorHueSlider(props) {
|
|
3534
|
+
return /* @__PURE__ */ jsx(ColorSliderBase, { channel: "hue", colorSpace: "hsb", ...props });
|
|
3535
|
+
}
|
|
3536
|
+
function ColorAlphaSlider(props) {
|
|
3537
|
+
return /* @__PURE__ */ jsx(ColorSliderBase, { channel: "alpha", chequered: true, ...props });
|
|
3538
|
+
}
|
|
3539
|
+
function ColorSwatch({ className, ...props }) {
|
|
3540
|
+
return /* @__PURE__ */ jsx(
|
|
3541
|
+
ColorSwatch$1,
|
|
3542
|
+
{
|
|
3543
|
+
className: cn("size-8 shrink-0 rounded-md border border-input", className),
|
|
3544
|
+
"data-slot": "color-picker-swatch",
|
|
3545
|
+
style: { background: CHECKERBOARD },
|
|
3546
|
+
...props
|
|
3547
|
+
}
|
|
3548
|
+
);
|
|
3549
|
+
}
|
|
3550
|
+
function ColorValueInput({
|
|
3551
|
+
className,
|
|
3552
|
+
...props
|
|
3553
|
+
}) {
|
|
3554
|
+
return /* @__PURE__ */ jsx(
|
|
3555
|
+
ColorField,
|
|
3556
|
+
{
|
|
3557
|
+
className: cn("min-w-0 flex-1", className),
|
|
3558
|
+
"data-slot": "color-picker-value",
|
|
3559
|
+
...props,
|
|
3560
|
+
children: /* @__PURE__ */ jsx(
|
|
3561
|
+
Input,
|
|
3562
|
+
{
|
|
3563
|
+
className: cn(
|
|
3564
|
+
"h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-2.5 font-mono text-sm tabular-nums outline-none",
|
|
3565
|
+
"placeholder:text-muted-foreground focus-visible:ring-[3px] focus-visible:ring-ring/24"
|
|
3566
|
+
)
|
|
3567
|
+
}
|
|
3568
|
+
)
|
|
3569
|
+
}
|
|
3570
|
+
);
|
|
3571
|
+
}
|
|
3572
|
+
function ColorSavedColors({
|
|
3573
|
+
className,
|
|
3574
|
+
colors,
|
|
3575
|
+
onSelect,
|
|
3576
|
+
onAdd,
|
|
3577
|
+
size = "md",
|
|
3578
|
+
...props
|
|
3579
|
+
}) {
|
|
3580
|
+
const tile = size === "sm" ? "size-6" : "size-8";
|
|
3581
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-wrap items-center gap-1.5", className), "data-slot": "color-picker-saved", children: [
|
|
3582
|
+
/* @__PURE__ */ jsx(
|
|
3583
|
+
ColorSwatchPicker,
|
|
3584
|
+
{
|
|
3585
|
+
className: "flex flex-wrap items-center gap-1.5",
|
|
3586
|
+
onChange: (color) => onSelect?.(color.toString("hex")),
|
|
3587
|
+
...props,
|
|
3588
|
+
children: colors.map((color) => /* @__PURE__ */ jsx(
|
|
3589
|
+
ColorSwatchPickerItem,
|
|
3590
|
+
{
|
|
3591
|
+
className: cn(
|
|
3592
|
+
tile,
|
|
3593
|
+
"rounded-md border border-input outline-none",
|
|
3594
|
+
"data-[focus-visible]:ring-[3px] data-[focus-visible]:ring-ring/24",
|
|
3595
|
+
"data-[selected]:ring-2 data-[selected]:ring-ring data-[selected]:ring-offset-2 data-[selected]:ring-offset-background"
|
|
3596
|
+
),
|
|
3597
|
+
color,
|
|
3598
|
+
children: /* @__PURE__ */ jsx(ColorSwatch$1, { className: "size-full rounded-[5px]" })
|
|
3599
|
+
},
|
|
3600
|
+
color
|
|
3601
|
+
))
|
|
3602
|
+
}
|
|
3603
|
+
),
|
|
3604
|
+
onAdd ? /* @__PURE__ */ jsx(
|
|
3605
|
+
"button",
|
|
3606
|
+
{
|
|
3607
|
+
"aria-label": "Save this colour",
|
|
3608
|
+
className: cn(
|
|
3609
|
+
tile,
|
|
3610
|
+
"flex items-center justify-center rounded-md border border-input border-dashed text-muted-foreground outline-none",
|
|
3611
|
+
"transition-colors hover:bg-accent hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/24"
|
|
3612
|
+
),
|
|
3613
|
+
onClick: onAdd,
|
|
3614
|
+
type: "button",
|
|
3615
|
+
children: /* @__PURE__ */ jsx(PlusIcon, { className: size === "sm" ? "size-3" : "size-3.5", strokeWidth: 2 })
|
|
3616
|
+
}
|
|
3617
|
+
) : null
|
|
3618
|
+
] });
|
|
3619
|
+
}
|
|
3620
|
+
function ColorEyeDropper({ className, ...props }) {
|
|
3621
|
+
const state = useColorPicker();
|
|
3622
|
+
const [supported, setSupported] = React20.useState(false);
|
|
3623
|
+
React20.useEffect(() => {
|
|
3624
|
+
setSupported(typeof window !== "undefined" && "EyeDropper" in window);
|
|
3625
|
+
}, []);
|
|
3626
|
+
if (!supported) return null;
|
|
3627
|
+
return /* @__PURE__ */ jsx(
|
|
3628
|
+
"button",
|
|
3629
|
+
{
|
|
3630
|
+
"aria-label": "Pick a colour from the screen",
|
|
3631
|
+
className: cn(
|
|
3632
|
+
"flex size-9 shrink-0 items-center justify-center rounded-md border border-input text-muted-foreground outline-none",
|
|
3633
|
+
"transition-colors hover:bg-accent hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/24",
|
|
3634
|
+
className
|
|
3635
|
+
),
|
|
3636
|
+
"data-slot": "color-picker-eyedropper",
|
|
3637
|
+
onClick: async () => {
|
|
3638
|
+
try {
|
|
3639
|
+
const result = await new window.EyeDropper().open();
|
|
3640
|
+
state.setColor(parseColor(result.sRGBHex));
|
|
3641
|
+
} catch {
|
|
3642
|
+
}
|
|
3643
|
+
},
|
|
3644
|
+
type: "button",
|
|
3645
|
+
...props,
|
|
3646
|
+
children: /* @__PURE__ */ jsx(PipetteIcon, { className: "size-4", strokeWidth: 1.8 })
|
|
3647
|
+
}
|
|
3648
|
+
);
|
|
3649
|
+
}
|
|
3650
|
+
function ColorPreview({ className }) {
|
|
3651
|
+
const state = useColorPicker();
|
|
3652
|
+
return /* @__PURE__ */ jsx(
|
|
3653
|
+
ColorSwatch$1,
|
|
3654
|
+
{
|
|
3655
|
+
className: cn("size-9 shrink-0 rounded-md border border-input", className),
|
|
3656
|
+
color: state.color,
|
|
3657
|
+
"data-slot": "color-picker-preview",
|
|
3658
|
+
style: { background: CHECKERBOARD }
|
|
3659
|
+
}
|
|
3660
|
+
);
|
|
3661
|
+
}
|
|
3662
|
+
function ColorPickerPanel({
|
|
3663
|
+
className,
|
|
3664
|
+
withAlpha = false,
|
|
3665
|
+
savedColors,
|
|
3666
|
+
onSaveColor,
|
|
3667
|
+
...props
|
|
3668
|
+
}) {
|
|
3669
|
+
return /* @__PURE__ */ jsx(ColorPickerProvider, { ...props, children: /* @__PURE__ */ jsxs(
|
|
3670
|
+
"div",
|
|
3671
|
+
{
|
|
3672
|
+
className: cn("flex w-64 flex-col gap-3 rounded-xl border border-input bg-popover p-3", className),
|
|
3673
|
+
"data-slot": "color-picker",
|
|
3674
|
+
children: [
|
|
3675
|
+
/* @__PURE__ */ jsx(ColorArea, { colorSpace: "hsb", xChannel: "saturation", yChannel: "brightness" }),
|
|
3676
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3677
|
+
/* @__PURE__ */ jsx(ColorPreview, {}),
|
|
3678
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-2", children: [
|
|
3679
|
+
/* @__PURE__ */ jsx(ColorHueSlider, {}),
|
|
3680
|
+
withAlpha ? /* @__PURE__ */ jsx(ColorAlphaSlider, {}) : null
|
|
3681
|
+
] })
|
|
3682
|
+
] }),
|
|
3683
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3684
|
+
/* @__PURE__ */ jsx(ColorEyeDropper, {}),
|
|
3685
|
+
/* @__PURE__ */ jsx(ColorValueInput, {})
|
|
3686
|
+
] }),
|
|
3687
|
+
savedColors?.length || onSaveColor ? /* @__PURE__ */ jsx(ColorSavedColors, { colors: savedColors ?? [], onAdd: onSaveColor, size: "sm" }) : null
|
|
3688
|
+
]
|
|
3689
|
+
}
|
|
3690
|
+
) });
|
|
3691
|
+
}
|
|
3692
|
+
var ColorPicker = Object.assign(ColorPickerPanel, {
|
|
3693
|
+
Provider: ColorPickerProvider,
|
|
3694
|
+
Area: ColorArea,
|
|
3695
|
+
Thumb: ColorThumb,
|
|
3696
|
+
HueSlider: ColorHueSlider,
|
|
3697
|
+
AlphaSlider: ColorAlphaSlider,
|
|
3698
|
+
Swatch: ColorSwatch,
|
|
3699
|
+
Preview: ColorPreview,
|
|
3700
|
+
ValueInput: ColorValueInput,
|
|
3701
|
+
SavedColors: ColorSavedColors,
|
|
3702
|
+
EyeDropper: ColorEyeDropper
|
|
3703
|
+
});
|
|
3704
|
+
var ComboboxContext = React20.createContext({
|
|
3462
3705
|
chipsRef: null,
|
|
3463
3706
|
multiple: false
|
|
3464
3707
|
});
|
|
3465
3708
|
function Combobox(props) {
|
|
3466
|
-
const chipsRef =
|
|
3709
|
+
const chipsRef = React20.useRef(null);
|
|
3467
3710
|
return /* @__PURE__ */ jsx(ComboboxContext.Provider, { value: { chipsRef, multiple: !!props.multiple }, children: /* @__PURE__ */ jsx(
|
|
3468
3711
|
Combobox$1.Root,
|
|
3469
3712
|
{
|
|
@@ -3479,7 +3722,7 @@ function ComboboxInput({
|
|
|
3479
3722
|
size,
|
|
3480
3723
|
...props
|
|
3481
3724
|
}) {
|
|
3482
|
-
const { multiple } =
|
|
3725
|
+
const { multiple } = React20.useContext(ComboboxContext);
|
|
3483
3726
|
const sizeValue = size ?? "default";
|
|
3484
3727
|
if (multiple) {
|
|
3485
3728
|
return /* @__PURE__ */ jsx(
|
|
@@ -3517,7 +3760,7 @@ function ComboboxInput({
|
|
|
3517
3760
|
),
|
|
3518
3761
|
"data-slot": "combobox-input",
|
|
3519
3762
|
render: /* @__PURE__ */ jsx(
|
|
3520
|
-
Input,
|
|
3763
|
+
Input$1,
|
|
3521
3764
|
{
|
|
3522
3765
|
className: "has-disabled:opacity-100",
|
|
3523
3766
|
nativeInput: true,
|
|
@@ -3568,7 +3811,7 @@ function ComboboxPopup({
|
|
|
3568
3811
|
sideOffset = 4,
|
|
3569
3812
|
...props
|
|
3570
3813
|
}) {
|
|
3571
|
-
const { chipsRef } =
|
|
3814
|
+
const { chipsRef } = React20.useContext(ComboboxContext);
|
|
3572
3815
|
return /* @__PURE__ */ jsx(Combobox$1.Portal, { children: /* @__PURE__ */ jsx(
|
|
3573
3816
|
Combobox$1.Positioner,
|
|
3574
3817
|
{
|
|
@@ -3739,7 +3982,7 @@ function ComboboxChips({
|
|
|
3739
3982
|
startAddon,
|
|
3740
3983
|
...props
|
|
3741
3984
|
}) {
|
|
3742
|
-
const { chipsRef } =
|
|
3985
|
+
const { chipsRef } = React20.useContext(ComboboxContext);
|
|
3743
3986
|
return /* @__PURE__ */ jsxs(
|
|
3744
3987
|
Combobox$1.Chips,
|
|
3745
3988
|
{
|
|
@@ -4644,7 +4887,7 @@ function TableCaption({
|
|
|
4644
4887
|
function formatCell(value) {
|
|
4645
4888
|
if (value === null || value === void 0 || value === "") return "\u2014";
|
|
4646
4889
|
if (typeof value === "boolean") return value ? "Yes" : "No";
|
|
4647
|
-
if (
|
|
4890
|
+
if (React20.isValidElement(value)) return value;
|
|
4648
4891
|
if (typeof value === "object") return JSON.stringify(value);
|
|
4649
4892
|
return String(value);
|
|
4650
4893
|
}
|
|
@@ -4658,9 +4901,9 @@ function DataTablePaged({
|
|
|
4658
4901
|
searchPlaceholder = "Filter results\u2026",
|
|
4659
4902
|
totalCount
|
|
4660
4903
|
}) {
|
|
4661
|
-
const [page, setPage] =
|
|
4662
|
-
const [query, setQuery] =
|
|
4663
|
-
const filteredRows =
|
|
4904
|
+
const [page, setPage] = React20.useState(1);
|
|
4905
|
+
const [query, setQuery] = React20.useState("");
|
|
4906
|
+
const filteredRows = React20.useMemo(() => {
|
|
4664
4907
|
const trimmed = query.trim().toLowerCase();
|
|
4665
4908
|
if (!trimmed) return rows;
|
|
4666
4909
|
return rows.filter(
|
|
@@ -4676,7 +4919,7 @@ function DataTablePaged({
|
|
|
4676
4919
|
searchable && rows.length > pageSize && /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
4677
4920
|
/* @__PURE__ */ jsx(SearchIcon, { className: "-translate-y-1/2 absolute top-1/2 left-2.5 size-4 text-muted-foreground" }),
|
|
4678
4921
|
/* @__PURE__ */ jsx(
|
|
4679
|
-
Input,
|
|
4922
|
+
Input$1,
|
|
4680
4923
|
{
|
|
4681
4924
|
className: "h-8 pl-8 text-sm",
|
|
4682
4925
|
onChange: (event) => {
|
|
@@ -6037,7 +6280,7 @@ function InputOTPSlot({
|
|
|
6037
6280
|
size,
|
|
6038
6281
|
...props
|
|
6039
6282
|
}) {
|
|
6040
|
-
const inputOTPContext =
|
|
6283
|
+
const inputOTPContext = React20.useContext(OTPInputContext);
|
|
6041
6284
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
6042
6285
|
return /* @__PURE__ */ jsxs(
|
|
6043
6286
|
"div",
|
|
@@ -6741,10 +6984,10 @@ function MultiSelect({
|
|
|
6741
6984
|
popupClassName,
|
|
6742
6985
|
sideOffset = 4
|
|
6743
6986
|
}) {
|
|
6744
|
-
const [uncontrolledValue, setUncontrolledValue] =
|
|
6987
|
+
const [uncontrolledValue, setUncontrolledValue] = React20.useState(
|
|
6745
6988
|
defaultValue ?? []
|
|
6746
6989
|
);
|
|
6747
|
-
const [search, setSearch] =
|
|
6990
|
+
const [search, setSearch] = React20.useState("");
|
|
6748
6991
|
const isControlled = valueProp !== void 0;
|
|
6749
6992
|
const value = isControlled ? valueProp : uncontrolledValue;
|
|
6750
6993
|
const setValue = (next) => {
|
|
@@ -6888,8 +7131,8 @@ function MultiSelectSearch({
|
|
|
6888
7131
|
onChange,
|
|
6889
7132
|
placeholder
|
|
6890
7133
|
}) {
|
|
6891
|
-
const inputRef =
|
|
6892
|
-
|
|
7134
|
+
const inputRef = React20.useRef(null);
|
|
7135
|
+
React20.useEffect(() => {
|
|
6893
7136
|
const frame = requestAnimationFrame(() => inputRef.current?.focus());
|
|
6894
7137
|
return () => cancelAnimationFrame(frame);
|
|
6895
7138
|
}, []);
|
|
@@ -7380,8 +7623,8 @@ var qrCodeVariants = cva(
|
|
|
7380
7623
|
}
|
|
7381
7624
|
);
|
|
7382
7625
|
function QRCode({ className, size, value, options, ...props }) {
|
|
7383
|
-
const containerRef =
|
|
7384
|
-
|
|
7626
|
+
const containerRef = React20.useRef(null);
|
|
7627
|
+
React20.useEffect(() => {
|
|
7385
7628
|
const container = containerRef.current;
|
|
7386
7629
|
if (!container) return;
|
|
7387
7630
|
let disposed = false;
|
|
@@ -7909,8 +8152,8 @@ function SocialButton({
|
|
|
7909
8152
|
render
|
|
7910
8153
|
});
|
|
7911
8154
|
}
|
|
7912
|
-
var StepperContext =
|
|
7913
|
-
var StepperItemContext =
|
|
8155
|
+
var StepperContext = React20.createContext({ orientation: "horizontal", value: 1 });
|
|
8156
|
+
var StepperItemContext = React20.createContext({ state: "inactive", step: 1 });
|
|
7914
8157
|
function Stepper({
|
|
7915
8158
|
value = 1,
|
|
7916
8159
|
orientation = "horizontal",
|
|
@@ -7937,7 +8180,7 @@ function StepperItem({
|
|
|
7937
8180
|
className,
|
|
7938
8181
|
...props
|
|
7939
8182
|
}) {
|
|
7940
|
-
const { value } =
|
|
8183
|
+
const { value } = React20.useContext(StepperContext);
|
|
7941
8184
|
const state = completed || value > step ? "completed" : value === step ? "active" : "inactive";
|
|
7942
8185
|
return /* @__PURE__ */ jsx(StepperItemContext.Provider, { value: { state, step }, children: /* @__PURE__ */ jsx(
|
|
7943
8186
|
"div",
|
|
@@ -7976,7 +8219,7 @@ function StepperIndicator({
|
|
|
7976
8219
|
children,
|
|
7977
8220
|
...props
|
|
7978
8221
|
}) {
|
|
7979
|
-
const { step } =
|
|
8222
|
+
const { step } = React20.useContext(StepperItemContext);
|
|
7980
8223
|
return /* @__PURE__ */ jsxs(
|
|
7981
8224
|
"span",
|
|
7982
8225
|
{
|
|
@@ -8128,7 +8371,7 @@ function Toggle({
|
|
|
8128
8371
|
}
|
|
8129
8372
|
);
|
|
8130
8373
|
}
|
|
8131
|
-
var ToggleGroupContext =
|
|
8374
|
+
var ToggleGroupContext = React20.createContext({
|
|
8132
8375
|
size: "default",
|
|
8133
8376
|
variant: "default"
|
|
8134
8377
|
});
|
|
@@ -8165,7 +8408,7 @@ function Toggle2({
|
|
|
8165
8408
|
size,
|
|
8166
8409
|
...props
|
|
8167
8410
|
}) {
|
|
8168
|
-
const context =
|
|
8411
|
+
const context = React20.useContext(ToggleGroupContext);
|
|
8169
8412
|
const resolvedVariant = context.variant || variant;
|
|
8170
8413
|
const resolvedSize = context.size || size;
|
|
8171
8414
|
return /* @__PURE__ */ jsx(
|
|
@@ -8425,7 +8668,7 @@ function Skeleton({ className, ...props }) {
|
|
|
8425
8668
|
}
|
|
8426
8669
|
);
|
|
8427
8670
|
}
|
|
8428
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ?
|
|
8671
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React20.useLayoutEffect : React20.useEffect;
|
|
8429
8672
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
8430
8673
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
8431
8674
|
var SIDEBAR_WIDTH_LG = "18.5rem";
|
|
@@ -8433,9 +8676,9 @@ var SIDEBAR_WIDTH_MD = "14.5rem";
|
|
|
8433
8676
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
8434
8677
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
8435
8678
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
8436
|
-
var SidebarContext =
|
|
8679
|
+
var SidebarContext = React20.createContext(null);
|
|
8437
8680
|
function useSidebar() {
|
|
8438
|
-
const context =
|
|
8681
|
+
const context = React20.useContext(SidebarContext);
|
|
8439
8682
|
if (!context) {
|
|
8440
8683
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
8441
8684
|
}
|
|
@@ -8451,7 +8694,7 @@ function SidebarProvider({
|
|
|
8451
8694
|
children,
|
|
8452
8695
|
...props
|
|
8453
8696
|
}) {
|
|
8454
|
-
const [isMobile, setIsMobile] =
|
|
8697
|
+
const [isMobile, setIsMobile] = React20.useState(false);
|
|
8455
8698
|
useIsomorphicLayoutEffect(() => {
|
|
8456
8699
|
const mql = window.matchMedia("(max-width: 47.999rem)");
|
|
8457
8700
|
const onChange = () => setIsMobile(mql.matches);
|
|
@@ -8459,10 +8702,10 @@ function SidebarProvider({
|
|
|
8459
8702
|
mql.addEventListener("change", onChange);
|
|
8460
8703
|
return () => mql.removeEventListener("change", onChange);
|
|
8461
8704
|
}, []);
|
|
8462
|
-
const [openMobile, setOpenMobile] =
|
|
8463
|
-
const [_open, _setOpen] =
|
|
8705
|
+
const [openMobile, setOpenMobile] = React20.useState(false);
|
|
8706
|
+
const [_open, _setOpen] = React20.useState(defaultOpen);
|
|
8464
8707
|
const open = openProp ?? _open;
|
|
8465
|
-
const setOpen =
|
|
8708
|
+
const setOpen = React20.useCallback(
|
|
8466
8709
|
(value) => {
|
|
8467
8710
|
const openState = typeof value === "function" ? value(open) : value;
|
|
8468
8711
|
if (setOpenProp) {
|
|
@@ -8490,10 +8733,10 @@ function SidebarProvider({
|
|
|
8490
8733
|
} catch {
|
|
8491
8734
|
}
|
|
8492
8735
|
}, [persistKey, openProp]);
|
|
8493
|
-
const toggleSidebar =
|
|
8736
|
+
const toggleSidebar = React20.useCallback(() => {
|
|
8494
8737
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
8495
8738
|
}, [isMobile, setOpen]);
|
|
8496
|
-
|
|
8739
|
+
React20.useEffect(() => {
|
|
8497
8740
|
const handleKeyDown = (event) => {
|
|
8498
8741
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
8499
8742
|
event.preventDefault();
|
|
@@ -8504,7 +8747,7 @@ function SidebarProvider({
|
|
|
8504
8747
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
8505
8748
|
}, [toggleSidebar]);
|
|
8506
8749
|
const state = open ? "expanded" : "collapsed";
|
|
8507
|
-
const contextValue =
|
|
8750
|
+
const contextValue = React20.useMemo(
|
|
8508
8751
|
() => ({
|
|
8509
8752
|
isMobile,
|
|
8510
8753
|
open,
|
|
@@ -8700,7 +8943,7 @@ function SidebarInput({
|
|
|
8700
8943
|
...props
|
|
8701
8944
|
}) {
|
|
8702
8945
|
return /* @__PURE__ */ jsx(
|
|
8703
|
-
Input,
|
|
8946
|
+
Input$1,
|
|
8704
8947
|
{
|
|
8705
8948
|
className: cn("h-8 w-full bg-background shadow-none", className),
|
|
8706
8949
|
"data-sidebar": "input",
|
|
@@ -8970,7 +9213,7 @@ function SidebarMenuSkeleton({
|
|
|
8970
9213
|
showIcon = false,
|
|
8971
9214
|
...props
|
|
8972
9215
|
}) {
|
|
8973
|
-
const width =
|
|
9216
|
+
const width = React20.useMemo(() => {
|
|
8974
9217
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
8975
9218
|
}, []);
|
|
8976
9219
|
return /* @__PURE__ */ jsxs(
|
|
@@ -9069,7 +9312,7 @@ function Slider({
|
|
|
9069
9312
|
formatLabel = (labelValue) => String(labelValue),
|
|
9070
9313
|
...props
|
|
9071
9314
|
}) {
|
|
9072
|
-
const _values =
|
|
9315
|
+
const _values = React20.useMemo(() => {
|
|
9073
9316
|
if (value !== void 0) {
|
|
9074
9317
|
return Array.isArray(value) ? value : [value];
|
|
9075
9318
|
}
|
|
@@ -10461,30 +10704,30 @@ function VideoPlayer({
|
|
|
10461
10704
|
loop = false,
|
|
10462
10705
|
...props
|
|
10463
10706
|
}) {
|
|
10464
|
-
const containerRef =
|
|
10465
|
-
const videoRef =
|
|
10466
|
-
const hideTimerRef =
|
|
10467
|
-
const [playing, setPlaying] =
|
|
10468
|
-
const [currentTime, setCurrentTime] =
|
|
10469
|
-
const [duration, setDuration] =
|
|
10470
|
-
const [muted, setMuted] =
|
|
10471
|
-
const [fullscreen, setFullscreen] =
|
|
10472
|
-
const [controlsVisible, setControlsVisible] =
|
|
10707
|
+
const containerRef = React20.useRef(null);
|
|
10708
|
+
const videoRef = React20.useRef(null);
|
|
10709
|
+
const hideTimerRef = React20.useRef(null);
|
|
10710
|
+
const [playing, setPlaying] = React20.useState(false);
|
|
10711
|
+
const [currentTime, setCurrentTime] = React20.useState(0);
|
|
10712
|
+
const [duration, setDuration] = React20.useState(0);
|
|
10713
|
+
const [muted, setMuted] = React20.useState(false);
|
|
10714
|
+
const [fullscreen, setFullscreen] = React20.useState(false);
|
|
10715
|
+
const [controlsVisible, setControlsVisible] = React20.useState(true);
|
|
10473
10716
|
const clearHideTimer = () => {
|
|
10474
10717
|
if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
|
|
10475
10718
|
};
|
|
10476
|
-
const scheduleHide =
|
|
10719
|
+
const scheduleHide = React20.useCallback(() => {
|
|
10477
10720
|
clearHideTimer();
|
|
10478
10721
|
hideTimerRef.current = setTimeout(() => setControlsVisible(false), 2500);
|
|
10479
10722
|
}, []);
|
|
10480
|
-
|
|
10481
|
-
|
|
10723
|
+
React20.useEffect(() => () => clearHideTimer(), []);
|
|
10724
|
+
React20.useEffect(() => {
|
|
10482
10725
|
if (!playing) {
|
|
10483
10726
|
clearHideTimer();
|
|
10484
10727
|
setControlsVisible(true);
|
|
10485
10728
|
}
|
|
10486
10729
|
}, [playing]);
|
|
10487
|
-
|
|
10730
|
+
React20.useEffect(() => {
|
|
10488
10731
|
const handler = () => setFullscreen(!!document.fullscreenElement);
|
|
10489
10732
|
document.addEventListener("fullscreenchange", handler);
|
|
10490
10733
|
return () => document.removeEventListener("fullscreenchange", handler);
|
|
@@ -11198,6 +11441,6 @@ function useIs2xl({
|
|
|
11198
11441
|
return is2xl;
|
|
11199
11442
|
}
|
|
11200
11443
|
|
|
11201
|
-
export { Accordion, AccordionPanel as AccordionContent, AccordionItem, AccordionPanel, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogBackdrop, AlertDialogClose, AlertDialogPopup as AlertDialogContent, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogBackdrop as AlertDialogOverlay, AlertDialogPopup, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AlertTitle, AnchoredToastProvider, AnimatedCounter, AnimatedThemeToggler, AppGalleryLogoIcon, AppStoreButton, AppleLogoIcon, AspectRatio, AuroraOrb, AuroraText, Autocomplete, AutocompleteClear, AutocompleteCollection, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteInput, AutocompleteItem, AutocompleteList, AutocompletePopup, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue, Avatar, AvatarAddButton, AvatarCompanyIcon, AvatarFallback, AvatarGroup, AvatarImage, AvatarLabelGroup, AvatarProfilePhoto, AvatarUploadBase, Badge, BadgeAvatar, BadgeCloseButton, BadgeDot, BadgeFlag, BadgeGroup, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Group as ButtonGroup, GroupSeparator as ButtonGroupSeparator, GroupText as ButtonGroupText, CONFETTI_COLORS, Card, CardAction, CardPanel as CardContent, CardDescription, CardFooter, CardFrame, CardFrameDescription, CardFrameFooter, CardFrameHeader, CardFrameTitle, CardHeader, CardPanel, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Chat, ChatDivider, ChatEmptyState, ChatEmptyStateDescription, ChatEmptyStateIcon, ChatEmptyStateTitle, ChatHeader, ChatHeaderActions, ChatHeaderAvatar, ChatHeaderTitle, ChatInput, ChatMessage, ChatMessageBubble, ChatMessages, ChatSuggestion, ChatSuggestions, ChatToolCard, ChatToolCardActions, ChatToolCardHeader, ChatToolChip, ChatTypingIndicator, Collapsible, CollapsiblePanel as CollapsibleContent, CollapsiblePanel, CollapsibleTrigger, Combobox, ComboboxChip, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandCollection, CommandCreateHandle, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut, Confetti, ConfettiButton, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContextMeter, CreditCard, DashboardHeader, DashboardPanel, DashboardTopbar, DataTablePaged, DatePicker, DateRangePicker, Dialog, DialogBackdrop, DialogClose, DialogPopup as DialogContent, DialogCreateHandle, DialogDescription, DialogFooter, DialogHeader, DialogBackdrop as DialogOverlay, DialogPanel, DialogPopup, DialogPortal, DialogTitle, DialogTrigger, DialogViewport, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DribbbleLogoIcon, Menu as DropdownMenu, MenuCheckboxItem as DropdownMenuCheckboxItem, MenuPopup as DropdownMenuContent, MenuCreateHandle as DropdownMenuCreateHandle, MenuGroup as DropdownMenuGroup, MenuItem as DropdownMenuItem, MenuGroupLabel as DropdownMenuLabel, MenuPortal as DropdownMenuPortal, MenuRadioGroup as DropdownMenuRadioGroup, MenuRadioItem as DropdownMenuRadioItem, MenuSeparator as DropdownMenuSeparator, MenuShortcut as DropdownMenuShortcut, MenuSub as DropdownMenuSub, MenuSubPopup as DropdownMenuSubContent, MenuSubTrigger as DropdownMenuSubTrigger, MenuTrigger as DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, ErrorOrEmptyState, Fab, FacebookLogoIcon, FeaturedIcon, Fieldset, FieldsetLegend, FigmaLogoIcon, ForbiddenErrorState, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GalaxyStoreLogoIcon, GeneralErrorState, GoogleLogoIcon, GooglePlayLogoIcon, Group, GroupSeparator, GroupText, HelpTip, HorizontalScrollFader, HorizontalScrollFaderContent, HorizontalScrollFaderLeftScroller, HorizontalScrollFaderRightScroller, PreviewCard as HoverCard, PreviewCardPopup as HoverCardContent, PreviewCardTrigger as HoverCardTrigger, ImageUploadBase, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InternalServerErrorState, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, LeftScroller, Markdown, Menu, MenuCheckboxItem, MenuCreateHandle, MenuGroup, MenuGroupLabel, MenuItem, MenuPopup, MenuPortal, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuShortcut, MenuSub, MenuSubPopup, MenuSubTrigger, MenuTrigger, Menubar, MenuCheckboxItem as MenubarCheckboxItem, MenubarContent, MenuGroup as MenubarGroup, MenuItem as MenubarItem, MenuGroupLabel as MenubarLabel, MenubarMenu, MenuPortal as MenubarPortal, MenuRadioGroup as MenubarRadioGroup, MenuRadioItem as MenubarRadioItem, MenuSeparator as MenubarSeparator, MenuShortcut as MenubarShortcut, MenuSub as MenubarSub, MenuSubPopup as MenubarSubContent, MenuSubTrigger as MenubarSubTrigger, MenubarTrigger, Meter, MeterIndicator, MeterLabel, MeterTrack, MeterValue, MultiSelect, NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NotFoundErrorState, OfflineErrorState, Pagination, PaginationContent, PaginationControls, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Pipeline, PipelineConversion, PreviewCard, PreviewCardPopup, PreviewCardTrigger, Progress, ProgressCircle, ProgressFloatingValue, ProgressHalfCircle, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, QRCode, QRCodeGradientScan, Radio, RadioGroup, Radio as RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RightScroller, ScrollArea, ScrollBar, SectionHeader, SegmentedControl, Separator, Sheet, SheetBackdrop, SheetClose, SheetPopup as SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetBackdrop as SheetOverlay, SheetPanel, SheetPopup, SheetPortal, SheetTitle, SheetTrigger, SheetViewport, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, SliderValue, SmoothScroll, SocialButton, Spinner, Stat, StatDescription, StatGroup, StatLabel, StatTrend, StatValue, Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsPanel as TabsContent, TabsList, TabsPanel, TabsTab, TabsTab as TabsTrigger, Tag, TagGroup, target_countdown_default as TargetCountdown, TextEditor, ThemeContextOverride, ThemeProvider, Timeline, TimelineContent, TimelineDescription, TimelineDot, TimelineItem, TimelineTime, TimelineTitle, ToastProvider, Toggle, ToggleGroup, Toggle2 as ToggleGroupItem, ToggleGroupSeparator, Toolbar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarSeparator, Tooltip, TooltipPopup as TooltipContent, TooltipCreateHandle, TooltipDescription, TooltipPopup, TooltipProvider, TooltipTitle, TooltipTrigger, UnauthorizedErrorState, VerticalScrollFader, VerticalScrollFaderBottomScroller, VerticalScrollFaderContent, VerticalScrollFaderTopScroller, VideoPlayer, XLogoIcon, anchoredToastManager, appStoreButtonVariants, avatarGroupVariants, avatarVariants, badgeGroupVariants, badgeVariants, chatMessageBubbleVariants, chatMessageVariants, fabVariants, featuredIconVariants, groupVariants, itemVariants, navigationMenuTriggerStyle, qrCodeVariants, script, sectionHeaderDescriptionVariants, sectionHeaderTitleVariants, sheetPopupVariants, sheetViewportVariants, sideCannons, socialButtonVariants, statTrendVariants, statVariants, toastManager, toggleVariants, useAutocompleteFilter, use_callback_ref_default as useCallbackRef, useCarousel, useComboboxFilter, useConfetti, useFirstRender, useHover, useIs2xl, useIsLg, useIsMd, useIsSm, use_is_tab_active_default as useIsTabActive, useIsXl, useMediaQuery, useSidebar, useSmoothWheel, useSubscribeBreakpoints, useTheme, videoPlayerVariants };
|
|
11444
|
+
export { Accordion, AccordionPanel as AccordionContent, AccordionItem, AccordionPanel, AccordionTrigger, Alert, AlertAction, AlertDescription, AlertDialog, AlertDialogBackdrop, AlertDialogClose, AlertDialogPopup as AlertDialogContent, AlertDialogCreateHandle, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogBackdrop as AlertDialogOverlay, AlertDialogPopup, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertDialogViewport, AlertTitle, AnchoredToastProvider, AnimatedCounter, AnimatedThemeToggler, AppGalleryLogoIcon, AppStoreButton, AppleLogoIcon, AspectRatio, AuroraOrb, AuroraText, Autocomplete, AutocompleteClear, AutocompleteCollection, AutocompleteEmpty, AutocompleteGroup, AutocompleteGroupLabel, AutocompleteInput, AutocompleteItem, AutocompleteList, AutocompletePopup, AutocompleteRow, AutocompleteSeparator, AutocompleteStatus, AutocompleteTrigger, AutocompleteValue, Avatar, AvatarAddButton, AvatarCompanyIcon, AvatarFallback, AvatarGroup, AvatarImage, AvatarLabelGroup, AvatarProfilePhoto, AvatarUploadBase, Badge, BadgeAvatar, BadgeCloseButton, BadgeDot, BadgeFlag, BadgeGroup, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Group as ButtonGroup, GroupSeparator as ButtonGroupSeparator, GroupText as ButtonGroupText, CONFETTI_COLORS, Card, CardAction, CardPanel as CardContent, CardDescription, CardFooter, CardFrame, CardFrameDescription, CardFrameFooter, CardFrameHeader, CardFrameTitle, CardHeader, CardPanel, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Chat, ChatDivider, ChatEmptyState, ChatEmptyStateDescription, ChatEmptyStateIcon, ChatEmptyStateTitle, ChatHeader, ChatHeaderActions, ChatHeaderAvatar, ChatHeaderTitle, ChatInput, ChatMessage, ChatMessageBubble, ChatMessages, ChatSuggestion, ChatSuggestions, ChatToolCard, ChatToolCardActions, ChatToolCardHeader, ChatToolChip, ChatTypingIndicator, Collapsible, CollapsiblePanel as CollapsibleContent, CollapsiblePanel, CollapsibleTrigger, ColorAlphaSlider, ColorArea, ColorEyeDropper, ColorHueSlider, ColorPicker, ColorPickerPanel, ColorPickerProvider, ColorPreview, ColorSavedColors, ColorSwatch, ColorThumb, ColorValueInput, Combobox, ComboboxChip, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxPopup, ComboboxRow, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Command, CommandCollection, CommandCreateHandle, CommandDialog, CommandDialogPopup, CommandDialogTrigger, CommandEmpty, CommandFooter, CommandGroup, CommandGroupLabel, CommandInput, CommandItem, CommandList, CommandPanel, CommandSeparator, CommandShortcut, Confetti, ConfettiButton, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, ContextMeter, CreditCard, DashboardHeader, DashboardPanel, DashboardTopbar, DataTablePaged, DatePicker, DateRangePicker, Dialog, DialogBackdrop, DialogClose, DialogPopup as DialogContent, DialogCreateHandle, DialogDescription, DialogFooter, DialogHeader, DialogBackdrop as DialogOverlay, DialogPanel, DialogPopup, DialogPortal, DialogTitle, DialogTrigger, DialogViewport, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DribbbleLogoIcon, Menu as DropdownMenu, MenuCheckboxItem as DropdownMenuCheckboxItem, MenuPopup as DropdownMenuContent, MenuCreateHandle as DropdownMenuCreateHandle, MenuGroup as DropdownMenuGroup, MenuItem as DropdownMenuItem, MenuGroupLabel as DropdownMenuLabel, MenuPortal as DropdownMenuPortal, MenuRadioGroup as DropdownMenuRadioGroup, MenuRadioItem as DropdownMenuRadioItem, MenuSeparator as DropdownMenuSeparator, MenuShortcut as DropdownMenuShortcut, MenuSub as DropdownMenuSub, MenuSubPopup as DropdownMenuSubContent, MenuSubTrigger as DropdownMenuSubTrigger, MenuTrigger as DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, ErrorOrEmptyState, Fab, FacebookLogoIcon, FeaturedIcon, Fieldset, FieldsetLegend, FigmaLogoIcon, ForbiddenErrorState, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GalaxyStoreLogoIcon, GeneralErrorState, GoogleLogoIcon, GooglePlayLogoIcon, Group, GroupSeparator, GroupText, HelpTip, HorizontalScrollFader, HorizontalScrollFaderContent, HorizontalScrollFaderLeftScroller, HorizontalScrollFaderRightScroller, PreviewCard as HoverCard, PreviewCardPopup as HoverCardContent, PreviewCardTrigger as HoverCardTrigger, ImageUploadBase, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InternalServerErrorState, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, LeftScroller, Markdown, Menu, MenuCheckboxItem, MenuCreateHandle, MenuGroup, MenuGroupLabel, MenuItem, MenuPopup, MenuPortal, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuShortcut, MenuSub, MenuSubPopup, MenuSubTrigger, MenuTrigger, Menubar, MenuCheckboxItem as MenubarCheckboxItem, MenubarContent, MenuGroup as MenubarGroup, MenuItem as MenubarItem, MenuGroupLabel as MenubarLabel, MenubarMenu, MenuPortal as MenubarPortal, MenuRadioGroup as MenubarRadioGroup, MenuRadioItem as MenubarRadioItem, MenuSeparator as MenubarSeparator, MenuShortcut as MenubarShortcut, MenuSub as MenubarSub, MenuSubPopup as MenubarSubContent, MenuSubTrigger as MenubarSubTrigger, MenubarTrigger, Meter, MeterIndicator, MeterLabel, MeterTrack, MeterValue, MultiSelect, NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NotFoundErrorState, OfflineErrorState, Pagination, PaginationContent, PaginationControls, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Pipeline, PipelineConversion, PreviewCard, PreviewCardPopup, PreviewCardTrigger, Progress, ProgressCircle, ProgressFloatingValue, ProgressHalfCircle, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, QRCode, QRCodeGradientScan, Radio, RadioGroup, Radio as RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RightScroller, ScrollArea, ScrollBar, SectionHeader, SegmentedControl, Separator, Sheet, SheetBackdrop, SheetClose, SheetPopup as SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetBackdrop as SheetOverlay, SheetPanel, SheetPopup, SheetPortal, SheetTitle, SheetTrigger, SheetViewport, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, SliderValue, SmoothScroll, SocialButton, Spinner, Stat, StatDescription, StatGroup, StatLabel, StatTrend, StatValue, Stepper, StepperDescription, StepperIndicator, StepperItem, StepperSeparator, StepperTitle, StepperTrigger, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsPanel as TabsContent, TabsList, TabsPanel, TabsTab, TabsTab as TabsTrigger, Tag, TagGroup, target_countdown_default as TargetCountdown, TextEditor, ThemeContextOverride, ThemeProvider, Timeline, TimelineContent, TimelineDescription, TimelineDot, TimelineItem, TimelineTime, TimelineTitle, ToastProvider, Toggle, ToggleGroup, Toggle2 as ToggleGroupItem, ToggleGroupSeparator, Toolbar, ToolbarButton, ToolbarGroup, ToolbarInput, ToolbarLink, ToolbarSeparator, Tooltip, TooltipPopup as TooltipContent, TooltipCreateHandle, TooltipDescription, TooltipPopup, TooltipProvider, TooltipTitle, TooltipTrigger, UnauthorizedErrorState, VerticalScrollFader, VerticalScrollFaderBottomScroller, VerticalScrollFaderContent, VerticalScrollFaderTopScroller, VideoPlayer, XLogoIcon, anchoredToastManager, appStoreButtonVariants, avatarGroupVariants, avatarVariants, badgeGroupVariants, badgeVariants, chatMessageBubbleVariants, chatMessageVariants, fabVariants, featuredIconVariants, groupVariants, itemVariants, navigationMenuTriggerStyle, qrCodeVariants, script, sectionHeaderDescriptionVariants, sectionHeaderTitleVariants, sheetPopupVariants, sheetViewportVariants, sideCannons, socialButtonVariants, statTrendVariants, statVariants, toastManager, toggleVariants, useAutocompleteFilter, use_callback_ref_default as useCallbackRef, useCarousel, useColorPicker, useComboboxFilter, useConfetti, useFirstRender, useHover, useIs2xl, useIsLg, useIsMd, useIsSm, use_is_tab_active_default as useIsTabActive, useIsXl, useMediaQuery, useSidebar, useSmoothWheel, useSubscribeBreakpoints, useTheme, videoPlayerVariants };
|
|
11202
11445
|
//# sourceMappingURL=index.js.map
|
|
11203
11446
|
//# sourceMappingURL=index.js.map
|