@cntyclub/ui-react 0.1.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form.d.ts +1 -1
- package/dist/index.d.ts +140 -3
- package/dist/index.js +1022 -442
- package/dist/index.js.map +1 -1
- package/dist/{input-CZvh825j.d.ts → input-JCZs61MO.d.ts} +1 -1
- package/package.json +3 -1
- package/src/components/ui/chat.tsx +494 -0
- package/src/components/ui/data-table-paged.tsx +163 -0
- package/src/components/ui/fab.tsx +45 -0
- package/src/components/ui/markdown.tsx +107 -0
- package/src/index.ts +4 -0
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { cn, buttonVariants, Input, Button, 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, PlusIcon, ChevronRight, MoreHorizontal, ArrowLeftIcon, ArrowRightIcon, SearchIcon, NfcIcon, ChevronRightIcon, FileQuestionIcon, ShieldAlertIcon, ShieldXIcon, TriangleAlertIcon, MinusIcon,
|
|
4
|
+
import { ChevronDownIcon, SunIcon, MoonIcon, ChevronsUpDownIcon, XIcon, CheckIcon, UserRoundIcon, PlusIcon, ChevronRight, MoreHorizontal, ArrowLeftIcon, ArrowRightIcon, SparklesIcon, ArrowUpIcon, SearchIcon, NfcIcon, ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon, FileQuestionIcon, ShieldAlertIcon, ShieldXIcon, TriangleAlertIcon, MinusIcon, GripVerticalIcon, PanelLeftIcon, Loader2Icon, TrendingDownIcon, TrendingUpIcon, CircleCheckIcon, LoaderCircleIcon, InfoIcon, CircleAlertIcon, PlayIcon, PauseIcon, VolumeXIcon, Volume2Icon, Minimize2Icon, Maximize2Icon, 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 React17 from 'react';
|
|
9
9
|
import { createContext, memo, forwardRef, useRef, useState, useMemo, useContext, useEffect, useCallback, useSyncExternalStore, isValidElement, useLayoutEffect } from 'react';
|
|
10
10
|
import { flushSync } from 'react-dom';
|
|
11
11
|
import { mergeProps } from '@base-ui/react/merge-props';
|
|
@@ -27,6 +27,8 @@ import { Transition } from '@headlessui/react';
|
|
|
27
27
|
import { Slot, Slottable } from '@radix-ui/react-slot';
|
|
28
28
|
import useResizeObserver from 'use-resize-observer';
|
|
29
29
|
import { OTPInput, REGEXP_ONLY_DIGITS, OTPInputContext } from 'input-otp';
|
|
30
|
+
import ReactMarkdown from 'react-markdown';
|
|
31
|
+
import remarkGfm from 'remark-gfm';
|
|
30
32
|
import { Menu as Menu$1 } from '@base-ui/react/menu';
|
|
31
33
|
import { Menubar as Menubar$1 } from '@base-ui/react/menubar';
|
|
32
34
|
import { Meter as Meter$1 } from '@base-ui/react/meter';
|
|
@@ -923,7 +925,7 @@ function useSmoothWheel(ref, {
|
|
|
923
925
|
multiplier = 0.8,
|
|
924
926
|
ease = 0.12
|
|
925
927
|
} = {}) {
|
|
926
|
-
|
|
928
|
+
React17.useEffect(() => {
|
|
927
929
|
if (!enabled) return;
|
|
928
930
|
const el = ref.current;
|
|
929
931
|
if (!el) return;
|
|
@@ -986,7 +988,7 @@ function SmoothScroll({
|
|
|
986
988
|
ease,
|
|
987
989
|
...props
|
|
988
990
|
}) {
|
|
989
|
-
const ref =
|
|
991
|
+
const ref = React17.useRef(null);
|
|
990
992
|
useSmoothWheel(ref, { ease, horizontal, multiplier });
|
|
991
993
|
return /* @__PURE__ */ jsx(
|
|
992
994
|
"div",
|
|
@@ -1012,7 +1014,7 @@ function ScrollArea({
|
|
|
1012
1014
|
viewportClassName,
|
|
1013
1015
|
...props
|
|
1014
1016
|
}) {
|
|
1015
|
-
const viewportRef =
|
|
1017
|
+
const viewportRef = React17.useRef(null);
|
|
1016
1018
|
useSmoothWheel(viewportRef, { enabled: wheelToHorizontal, horizontal: true });
|
|
1017
1019
|
useSmoothWheel(viewportRef, {
|
|
1018
1020
|
enabled: smooth && !wheelToHorizontal,
|
|
@@ -2143,9 +2145,9 @@ function CardFooter({
|
|
|
2143
2145
|
render
|
|
2144
2146
|
});
|
|
2145
2147
|
}
|
|
2146
|
-
var CarouselContext =
|
|
2148
|
+
var CarouselContext = React17.createContext(null);
|
|
2147
2149
|
function useCarousel() {
|
|
2148
|
-
const context =
|
|
2150
|
+
const context = React17.useContext(CarouselContext);
|
|
2149
2151
|
if (!context) {
|
|
2150
2152
|
throw new Error("useCarousel must be used within a <Carousel />");
|
|
2151
2153
|
}
|
|
@@ -2168,20 +2170,20 @@ function Carousel({
|
|
|
2168
2170
|
},
|
|
2169
2171
|
plugins
|
|
2170
2172
|
);
|
|
2171
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
2172
|
-
const [canScrollNext, setCanScrollNext] =
|
|
2173
|
-
const onSelect =
|
|
2173
|
+
const [canScrollPrev, setCanScrollPrev] = React17.useState(false);
|
|
2174
|
+
const [canScrollNext, setCanScrollNext] = React17.useState(false);
|
|
2175
|
+
const onSelect = React17.useCallback((api2) => {
|
|
2174
2176
|
if (!api2) return;
|
|
2175
2177
|
setCanScrollPrev(api2.canScrollPrev());
|
|
2176
2178
|
setCanScrollNext(api2.canScrollNext());
|
|
2177
2179
|
}, []);
|
|
2178
|
-
const scrollPrev =
|
|
2180
|
+
const scrollPrev = React17.useCallback(() => {
|
|
2179
2181
|
api?.scrollPrev();
|
|
2180
2182
|
}, [api]);
|
|
2181
|
-
const scrollNext =
|
|
2183
|
+
const scrollNext = React17.useCallback(() => {
|
|
2182
2184
|
api?.scrollNext();
|
|
2183
2185
|
}, [api]);
|
|
2184
|
-
const handleKeyDown =
|
|
2186
|
+
const handleKeyDown = React17.useCallback(
|
|
2185
2187
|
(event) => {
|
|
2186
2188
|
if (event.key === "ArrowLeft") {
|
|
2187
2189
|
event.preventDefault();
|
|
@@ -2193,11 +2195,11 @@ function Carousel({
|
|
|
2193
2195
|
},
|
|
2194
2196
|
[scrollPrev, scrollNext]
|
|
2195
2197
|
);
|
|
2196
|
-
|
|
2198
|
+
React17.useEffect(() => {
|
|
2197
2199
|
if (!api || !setApi) return;
|
|
2198
2200
|
setApi(api);
|
|
2199
2201
|
}, [api, setApi]);
|
|
2200
|
-
|
|
2202
|
+
React17.useEffect(() => {
|
|
2201
2203
|
if (!api) return;
|
|
2202
2204
|
onSelect(api);
|
|
2203
2205
|
api.on("reInit", onSelect);
|
|
@@ -2339,9 +2341,9 @@ function CarouselNext({
|
|
|
2339
2341
|
);
|
|
2340
2342
|
}
|
|
2341
2343
|
var THEMES = { light: "", dark: '[data-theme="dark"]' };
|
|
2342
|
-
var ChartContext =
|
|
2344
|
+
var ChartContext = React17.createContext(null);
|
|
2343
2345
|
function useChart() {
|
|
2344
|
-
const context =
|
|
2346
|
+
const context = React17.useContext(ChartContext);
|
|
2345
2347
|
if (!context) {
|
|
2346
2348
|
throw new Error("useChart must be used within a <ChartContainer />");
|
|
2347
2349
|
}
|
|
@@ -2354,7 +2356,7 @@ function ChartContainer({
|
|
|
2354
2356
|
config,
|
|
2355
2357
|
...props
|
|
2356
2358
|
}) {
|
|
2357
|
-
const uniqueId =
|
|
2359
|
+
const uniqueId = React17.useId();
|
|
2358
2360
|
const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
|
|
2359
2361
|
return /* @__PURE__ */ jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxs(
|
|
2360
2362
|
"div",
|
|
@@ -2415,7 +2417,7 @@ function ChartTooltipContent({
|
|
|
2415
2417
|
labelKey
|
|
2416
2418
|
}) {
|
|
2417
2419
|
const { config } = useChart();
|
|
2418
|
-
const tooltipLabel =
|
|
2420
|
+
const tooltipLabel = React17.useMemo(() => {
|
|
2419
2421
|
if (hideLabel || !payload?.length) {
|
|
2420
2422
|
return null;
|
|
2421
2423
|
}
|
|
@@ -2561,6 +2563,394 @@ function getPayloadConfigFromPayload(config, payload, key) {
|
|
|
2561
2563
|
}
|
|
2562
2564
|
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
2563
2565
|
}
|
|
2566
|
+
function Chat({ className, ...props }) {
|
|
2567
|
+
return /* @__PURE__ */ jsx(
|
|
2568
|
+
"div",
|
|
2569
|
+
{
|
|
2570
|
+
className: cn("flex min-h-0 flex-1 flex-col", className),
|
|
2571
|
+
"data-slot": "chat",
|
|
2572
|
+
...props
|
|
2573
|
+
}
|
|
2574
|
+
);
|
|
2575
|
+
}
|
|
2576
|
+
function ChatHeader({ className, ...props }) {
|
|
2577
|
+
return /* @__PURE__ */ jsx(
|
|
2578
|
+
"div",
|
|
2579
|
+
{
|
|
2580
|
+
className: cn(
|
|
2581
|
+
"flex shrink-0 items-center gap-1 border-border/72 border-b bg-background/95 px-3 py-2.5 backdrop-blur supports-backdrop-filter:bg-background/80",
|
|
2582
|
+
className
|
|
2583
|
+
),
|
|
2584
|
+
"data-slot": "chat-header",
|
|
2585
|
+
...props
|
|
2586
|
+
}
|
|
2587
|
+
);
|
|
2588
|
+
}
|
|
2589
|
+
function ChatHeaderAvatar({
|
|
2590
|
+
className,
|
|
2591
|
+
children,
|
|
2592
|
+
...props
|
|
2593
|
+
}) {
|
|
2594
|
+
return /* @__PURE__ */ jsx(
|
|
2595
|
+
"span",
|
|
2596
|
+
{
|
|
2597
|
+
className: cn(
|
|
2598
|
+
"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-linear-to-br from-primary to-primary/78 text-primary-foreground shadow-primary/24 shadow-xs after:absolute after:right-0 after:bottom-0 after:size-2 after:rounded-full after:bg-success after:ring-2 after:ring-background [&_svg:not([class*='size-'])]:size-4",
|
|
2599
|
+
className
|
|
2600
|
+
),
|
|
2601
|
+
"data-slot": "chat-header-avatar",
|
|
2602
|
+
...props,
|
|
2603
|
+
children: children ?? /* @__PURE__ */ jsx(SparklesIcon, {})
|
|
2604
|
+
}
|
|
2605
|
+
);
|
|
2606
|
+
}
|
|
2607
|
+
function ChatHeaderTitle({ className, ...props }) {
|
|
2608
|
+
return /* @__PURE__ */ jsx(
|
|
2609
|
+
"div",
|
|
2610
|
+
{
|
|
2611
|
+
className: cn("min-w-0 flex-1 leading-tight", className),
|
|
2612
|
+
"data-slot": "chat-header-title",
|
|
2613
|
+
...props
|
|
2614
|
+
}
|
|
2615
|
+
);
|
|
2616
|
+
}
|
|
2617
|
+
function ChatHeaderActions({ className, ...props }) {
|
|
2618
|
+
return /* @__PURE__ */ jsx(
|
|
2619
|
+
"div",
|
|
2620
|
+
{
|
|
2621
|
+
className: cn("flex shrink-0 items-center gap-0.5", className),
|
|
2622
|
+
"data-slot": "chat-header-actions",
|
|
2623
|
+
...props
|
|
2624
|
+
}
|
|
2625
|
+
);
|
|
2626
|
+
}
|
|
2627
|
+
function ChatMessages({
|
|
2628
|
+
autoScroll = true,
|
|
2629
|
+
className,
|
|
2630
|
+
children,
|
|
2631
|
+
...props
|
|
2632
|
+
}) {
|
|
2633
|
+
const viewportRef = React17.useRef(null);
|
|
2634
|
+
const pinnedRef = React17.useRef(true);
|
|
2635
|
+
const handleScroll = React17.useCallback(() => {
|
|
2636
|
+
const viewport = viewportRef.current;
|
|
2637
|
+
if (!viewport) return;
|
|
2638
|
+
const distanceFromBottom = viewport.scrollHeight - viewport.scrollTop - viewport.clientHeight;
|
|
2639
|
+
pinnedRef.current = distanceFromBottom < 48;
|
|
2640
|
+
}, []);
|
|
2641
|
+
React17.useEffect(() => {
|
|
2642
|
+
const viewport = viewportRef.current;
|
|
2643
|
+
if (!viewport || !autoScroll || !pinnedRef.current) return;
|
|
2644
|
+
viewport.scrollTop = viewport.scrollHeight;
|
|
2645
|
+
}, [children, autoScroll]);
|
|
2646
|
+
return /* @__PURE__ */ jsx(
|
|
2647
|
+
"div",
|
|
2648
|
+
{
|
|
2649
|
+
className: cn(
|
|
2650
|
+
"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto scroll-smooth p-4",
|
|
2651
|
+
className
|
|
2652
|
+
),
|
|
2653
|
+
"data-slot": "chat-messages",
|
|
2654
|
+
onScroll: handleScroll,
|
|
2655
|
+
ref: viewportRef,
|
|
2656
|
+
...props,
|
|
2657
|
+
children
|
|
2658
|
+
}
|
|
2659
|
+
);
|
|
2660
|
+
}
|
|
2661
|
+
function ChatEmptyState({ className, ...props }) {
|
|
2662
|
+
return /* @__PURE__ */ jsx(
|
|
2663
|
+
"div",
|
|
2664
|
+
{
|
|
2665
|
+
className: cn(
|
|
2666
|
+
"flex flex-1 flex-col items-center justify-center gap-3 p-6 text-center",
|
|
2667
|
+
className
|
|
2668
|
+
),
|
|
2669
|
+
"data-slot": "chat-empty-state",
|
|
2670
|
+
...props
|
|
2671
|
+
}
|
|
2672
|
+
);
|
|
2673
|
+
}
|
|
2674
|
+
function ChatEmptyStateIcon({
|
|
2675
|
+
className,
|
|
2676
|
+
children,
|
|
2677
|
+
...props
|
|
2678
|
+
}) {
|
|
2679
|
+
return /* @__PURE__ */ jsx(
|
|
2680
|
+
"span",
|
|
2681
|
+
{
|
|
2682
|
+
className: cn(
|
|
2683
|
+
"fade-in-0 zoom-in-90 relative flex size-13 shrink-0 animate-in items-center justify-center rounded-2xl bg-linear-to-br from-primary to-primary/78 text-primary-foreground shadow-lg shadow-primary/24 duration-500 before:absolute before:-inset-2.5 before:-z-10 before:rounded-3xl before:bg-primary/8 before:blur-lg [&_svg:not([class*='size-'])]:size-6",
|
|
2684
|
+
className
|
|
2685
|
+
),
|
|
2686
|
+
"data-slot": "chat-empty-state-icon",
|
|
2687
|
+
...props,
|
|
2688
|
+
children: children ?? /* @__PURE__ */ jsx(SparklesIcon, {})
|
|
2689
|
+
}
|
|
2690
|
+
);
|
|
2691
|
+
}
|
|
2692
|
+
function ChatEmptyStateTitle({ className, ...props }) {
|
|
2693
|
+
return /* @__PURE__ */ jsx(
|
|
2694
|
+
"p",
|
|
2695
|
+
{
|
|
2696
|
+
className: cn("mt-1 font-semibold text-base text-foreground", className),
|
|
2697
|
+
"data-slot": "chat-empty-state-title",
|
|
2698
|
+
...props
|
|
2699
|
+
}
|
|
2700
|
+
);
|
|
2701
|
+
}
|
|
2702
|
+
function ChatEmptyStateDescription({
|
|
2703
|
+
className,
|
|
2704
|
+
...props
|
|
2705
|
+
}) {
|
|
2706
|
+
return /* @__PURE__ */ jsx(
|
|
2707
|
+
"p",
|
|
2708
|
+
{
|
|
2709
|
+
className: cn(
|
|
2710
|
+
"max-w-72 text-muted-foreground text-sm leading-relaxed",
|
|
2711
|
+
className
|
|
2712
|
+
),
|
|
2713
|
+
"data-slot": "chat-empty-state-description",
|
|
2714
|
+
...props
|
|
2715
|
+
}
|
|
2716
|
+
);
|
|
2717
|
+
}
|
|
2718
|
+
function ChatSuggestions({ className, ...props }) {
|
|
2719
|
+
return /* @__PURE__ */ jsx(
|
|
2720
|
+
"div",
|
|
2721
|
+
{
|
|
2722
|
+
className: cn("mt-2 flex w-full max-w-sm flex-col gap-2", className),
|
|
2723
|
+
"data-slot": "chat-suggestions",
|
|
2724
|
+
...props
|
|
2725
|
+
}
|
|
2726
|
+
);
|
|
2727
|
+
}
|
|
2728
|
+
function ChatSuggestion({
|
|
2729
|
+
className,
|
|
2730
|
+
children,
|
|
2731
|
+
icon,
|
|
2732
|
+
index = 0,
|
|
2733
|
+
style,
|
|
2734
|
+
...props
|
|
2735
|
+
}) {
|
|
2736
|
+
return /* @__PURE__ */ jsxs(
|
|
2737
|
+
"button",
|
|
2738
|
+
{
|
|
2739
|
+
className: cn(
|
|
2740
|
+
"group fade-in-0 slide-in-from-bottom-2 flex w-full animate-in cursor-pointer items-center gap-2.5 fill-mode-both rounded-xl border border-border/72 bg-card px-3 py-2.5 text-left font-medium text-card-foreground text-sm shadow-xs outline-none transition-[border-color,background-color,box-shadow,transform] duration-200 hover:border-primary/24 hover:bg-accent/56 hover:shadow-sm focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background active:scale-[0.985] disabled:pointer-events-none disabled:opacity-64",
|
|
2741
|
+
className
|
|
2742
|
+
),
|
|
2743
|
+
"data-slot": "chat-suggestion",
|
|
2744
|
+
style: { animationDelay: `${index * 80}ms`, ...style },
|
|
2745
|
+
type: "button",
|
|
2746
|
+
...props,
|
|
2747
|
+
children: [
|
|
2748
|
+
/* @__PURE__ */ jsx("span", { className: "flex size-6.5 shrink-0 items-center justify-center rounded-lg bg-primary/8 text-primary transition-colors duration-200 group-hover:bg-primary group-hover:text-primary-foreground [&_svg:not([class*='size-'])]:size-3.5", children: icon ?? /* @__PURE__ */ jsx(SparklesIcon, {}) }),
|
|
2749
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1", children }),
|
|
2750
|
+
/* @__PURE__ */ jsx(ArrowRightIcon, { className: "-translate-x-1 size-3.5 shrink-0 text-muted-foreground opacity-0 transition-[opacity,translate] duration-200 group-hover:translate-x-0 group-hover:opacity-100" })
|
|
2751
|
+
]
|
|
2752
|
+
}
|
|
2753
|
+
);
|
|
2754
|
+
}
|
|
2755
|
+
var chatMessageVariants = cva(
|
|
2756
|
+
"fade-in-0 slide-in-from-bottom-1 flex w-full animate-in flex-col gap-1 duration-200",
|
|
2757
|
+
{
|
|
2758
|
+
defaultVariants: {
|
|
2759
|
+
from: "assistant"
|
|
2760
|
+
},
|
|
2761
|
+
variants: {
|
|
2762
|
+
from: {
|
|
2763
|
+
assistant: "items-start",
|
|
2764
|
+
user: "items-end"
|
|
2765
|
+
}
|
|
2766
|
+
}
|
|
2767
|
+
}
|
|
2768
|
+
);
|
|
2769
|
+
function ChatMessage({ className, from, ...props }) {
|
|
2770
|
+
return /* @__PURE__ */ jsx(
|
|
2771
|
+
"div",
|
|
2772
|
+
{
|
|
2773
|
+
className: cn(chatMessageVariants({ className, from })),
|
|
2774
|
+
"data-from": from ?? "assistant",
|
|
2775
|
+
"data-slot": "chat-message",
|
|
2776
|
+
...props
|
|
2777
|
+
}
|
|
2778
|
+
);
|
|
2779
|
+
}
|
|
2780
|
+
var chatMessageBubbleVariants = cva(
|
|
2781
|
+
"max-w-[85%] rounded-2xl px-3.5 py-2 text-sm leading-relaxed break-words",
|
|
2782
|
+
{
|
|
2783
|
+
defaultVariants: {
|
|
2784
|
+
from: "assistant"
|
|
2785
|
+
},
|
|
2786
|
+
variants: {
|
|
2787
|
+
from: {
|
|
2788
|
+
assistant: "rounded-bl-md bg-muted text-foreground",
|
|
2789
|
+
user: "rounded-br-md bg-primary text-primary-foreground shadow-primary/16 shadow-xs"
|
|
2790
|
+
}
|
|
2791
|
+
}
|
|
2792
|
+
}
|
|
2793
|
+
);
|
|
2794
|
+
function ChatMessageBubble({ className, from, ...props }) {
|
|
2795
|
+
return /* @__PURE__ */ jsx(
|
|
2796
|
+
"div",
|
|
2797
|
+
{
|
|
2798
|
+
className: cn(chatMessageBubbleVariants({ className, from })),
|
|
2799
|
+
"data-from": from ?? "assistant",
|
|
2800
|
+
"data-slot": "chat-message-bubble",
|
|
2801
|
+
...props
|
|
2802
|
+
}
|
|
2803
|
+
);
|
|
2804
|
+
}
|
|
2805
|
+
function ChatToolChip({
|
|
2806
|
+
className,
|
|
2807
|
+
children,
|
|
2808
|
+
icon,
|
|
2809
|
+
...props
|
|
2810
|
+
}) {
|
|
2811
|
+
return /* @__PURE__ */ jsxs(
|
|
2812
|
+
"div",
|
|
2813
|
+
{
|
|
2814
|
+
className: cn(
|
|
2815
|
+
"fade-in-0 flex w-fit max-w-full animate-in items-center gap-1.5 rounded-full border border-border/72 bg-muted/48 py-1 pr-3 pl-1.5 text-muted-foreground text-xs duration-200",
|
|
2816
|
+
className
|
|
2817
|
+
),
|
|
2818
|
+
"data-slot": "chat-tool-chip",
|
|
2819
|
+
...props,
|
|
2820
|
+
children: [
|
|
2821
|
+
icon ? /* @__PURE__ */ jsx("span", { className: "flex size-4.5 shrink-0 items-center justify-center rounded-full bg-background text-foreground/72 shadow-xs [&_svg:not([class*='size-'])]:size-2.5", children: icon }) : null,
|
|
2822
|
+
/* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children })
|
|
2823
|
+
]
|
|
2824
|
+
}
|
|
2825
|
+
);
|
|
2826
|
+
}
|
|
2827
|
+
function ChatToolCard({ className, ...props }) {
|
|
2828
|
+
return /* @__PURE__ */ jsx(
|
|
2829
|
+
"div",
|
|
2830
|
+
{
|
|
2831
|
+
className: cn(
|
|
2832
|
+
"fade-in-0 slide-in-from-bottom-1 w-full max-w-[95%] animate-in rounded-xl border border-border bg-card p-3 text-card-foreground text-sm shadow-xs duration-200",
|
|
2833
|
+
className
|
|
2834
|
+
),
|
|
2835
|
+
"data-slot": "chat-tool-card",
|
|
2836
|
+
...props
|
|
2837
|
+
}
|
|
2838
|
+
);
|
|
2839
|
+
}
|
|
2840
|
+
function ChatToolCardHeader({ className, ...props }) {
|
|
2841
|
+
return /* @__PURE__ */ jsx(
|
|
2842
|
+
"div",
|
|
2843
|
+
{
|
|
2844
|
+
className: cn("flex items-center gap-2 font-medium", className),
|
|
2845
|
+
"data-slot": "chat-tool-card-header",
|
|
2846
|
+
...props
|
|
2847
|
+
}
|
|
2848
|
+
);
|
|
2849
|
+
}
|
|
2850
|
+
function ChatToolCardActions({ className, ...props }) {
|
|
2851
|
+
return /* @__PURE__ */ jsx(
|
|
2852
|
+
"div",
|
|
2853
|
+
{
|
|
2854
|
+
className: cn("mt-3 flex items-center justify-end gap-2", className),
|
|
2855
|
+
"data-slot": "chat-tool-card-actions",
|
|
2856
|
+
...props
|
|
2857
|
+
}
|
|
2858
|
+
);
|
|
2859
|
+
}
|
|
2860
|
+
function ChatTypingIndicator({ className, ...props }) {
|
|
2861
|
+
return /* @__PURE__ */ jsxs(
|
|
2862
|
+
"div",
|
|
2863
|
+
{
|
|
2864
|
+
"aria-label": "Assistant is typing",
|
|
2865
|
+
className: cn(
|
|
2866
|
+
"fade-in-0 flex w-fit animate-in items-center gap-1 rounded-2xl rounded-bl-md bg-muted px-3.5 py-2.5 duration-200",
|
|
2867
|
+
className
|
|
2868
|
+
),
|
|
2869
|
+
"data-slot": "chat-typing-indicator",
|
|
2870
|
+
role: "status",
|
|
2871
|
+
...props,
|
|
2872
|
+
children: [
|
|
2873
|
+
/* @__PURE__ */ jsx("span", { className: "size-1.5 animate-bounce rounded-full bg-muted-foreground/60 [animation-delay:0ms]" }),
|
|
2874
|
+
/* @__PURE__ */ jsx("span", { className: "size-1.5 animate-bounce rounded-full bg-muted-foreground/60 [animation-delay:150ms]" }),
|
|
2875
|
+
/* @__PURE__ */ jsx("span", { className: "size-1.5 animate-bounce rounded-full bg-muted-foreground/60 [animation-delay:300ms]" })
|
|
2876
|
+
]
|
|
2877
|
+
}
|
|
2878
|
+
);
|
|
2879
|
+
}
|
|
2880
|
+
function ChatInput({
|
|
2881
|
+
className,
|
|
2882
|
+
disabled,
|
|
2883
|
+
onSubmit,
|
|
2884
|
+
onValueChange,
|
|
2885
|
+
placeholder = "Ask anything\u2026",
|
|
2886
|
+
value,
|
|
2887
|
+
...props
|
|
2888
|
+
}) {
|
|
2889
|
+
const textareaRef = React17.useRef(null);
|
|
2890
|
+
const submit = React17.useCallback(() => {
|
|
2891
|
+
const trimmed = value.trim();
|
|
2892
|
+
if (!trimmed || disabled) return;
|
|
2893
|
+
onSubmit(trimmed);
|
|
2894
|
+
}, [disabled, onSubmit, value]);
|
|
2895
|
+
React17.useEffect(() => {
|
|
2896
|
+
const textarea = textareaRef.current;
|
|
2897
|
+
if (!textarea) return;
|
|
2898
|
+
textarea.style.height = "auto";
|
|
2899
|
+
textarea.style.height = `${Math.min(textarea.scrollHeight, 144)}px`;
|
|
2900
|
+
}, [value]);
|
|
2901
|
+
return /* @__PURE__ */ jsx(
|
|
2902
|
+
"form",
|
|
2903
|
+
{
|
|
2904
|
+
className: cn("shrink-0 bg-background p-3 pt-1.5", className),
|
|
2905
|
+
"data-slot": "chat-input",
|
|
2906
|
+
onSubmit: (event) => {
|
|
2907
|
+
event.preventDefault();
|
|
2908
|
+
submit();
|
|
2909
|
+
},
|
|
2910
|
+
children: /* @__PURE__ */ jsxs(
|
|
2911
|
+
"div",
|
|
2912
|
+
{
|
|
2913
|
+
className: cn(
|
|
2914
|
+
"flex items-end gap-1.5 rounded-2xl border border-input bg-popover p-1.5 pl-3.5 shadow-xs transition-[border-color,box-shadow] duration-150 focus-within:border-ring/64 focus-within:ring-2 focus-within:ring-ring/24 dark:bg-input/32",
|
|
2915
|
+
disabled && "opacity-64"
|
|
2916
|
+
),
|
|
2917
|
+
children: [
|
|
2918
|
+
/* @__PURE__ */ jsx(
|
|
2919
|
+
"textarea",
|
|
2920
|
+
{
|
|
2921
|
+
className: "max-h-36 min-h-8 flex-1 resize-none self-center bg-transparent py-1.5 text-sm outline-none placeholder:text-muted-foreground",
|
|
2922
|
+
disabled,
|
|
2923
|
+
onChange: (event) => onValueChange(event.target.value),
|
|
2924
|
+
onKeyDown: (event) => {
|
|
2925
|
+
if (event.key === "Enter" && !event.shiftKey) {
|
|
2926
|
+
event.preventDefault();
|
|
2927
|
+
submit();
|
|
2928
|
+
}
|
|
2929
|
+
},
|
|
2930
|
+
placeholder,
|
|
2931
|
+
ref: textareaRef,
|
|
2932
|
+
rows: 1,
|
|
2933
|
+
value,
|
|
2934
|
+
...props
|
|
2935
|
+
}
|
|
2936
|
+
),
|
|
2937
|
+
/* @__PURE__ */ jsx(
|
|
2938
|
+
Button,
|
|
2939
|
+
{
|
|
2940
|
+
"aria-label": "Send message",
|
|
2941
|
+
className: "rounded-full before:rounded-full",
|
|
2942
|
+
disabled: disabled || !value.trim(),
|
|
2943
|
+
size: "icon-sm",
|
|
2944
|
+
type: "submit",
|
|
2945
|
+
children: /* @__PURE__ */ jsx(ArrowUpIcon, {})
|
|
2946
|
+
}
|
|
2947
|
+
)
|
|
2948
|
+
]
|
|
2949
|
+
}
|
|
2950
|
+
)
|
|
2951
|
+
}
|
|
2952
|
+
);
|
|
2953
|
+
}
|
|
2564
2954
|
function Collapsible({ ...props }) {
|
|
2565
2955
|
return /* @__PURE__ */ jsx(Collapsible$1.Root, { "data-slot": "collapsible", ...props });
|
|
2566
2956
|
}
|
|
@@ -2593,12 +2983,12 @@ function CollapsiblePanel({
|
|
|
2593
2983
|
}
|
|
2594
2984
|
);
|
|
2595
2985
|
}
|
|
2596
|
-
var ComboboxContext =
|
|
2986
|
+
var ComboboxContext = React17.createContext({
|
|
2597
2987
|
chipsRef: null,
|
|
2598
2988
|
multiple: false
|
|
2599
2989
|
});
|
|
2600
2990
|
function Combobox(props) {
|
|
2601
|
-
const chipsRef =
|
|
2991
|
+
const chipsRef = React17.useRef(null);
|
|
2602
2992
|
return /* @__PURE__ */ jsx(ComboboxContext.Provider, { value: { chipsRef, multiple: !!props.multiple }, children: /* @__PURE__ */ jsx(
|
|
2603
2993
|
Combobox$1.Root,
|
|
2604
2994
|
{
|
|
@@ -2614,7 +3004,7 @@ function ComboboxInput({
|
|
|
2614
3004
|
size,
|
|
2615
3005
|
...props
|
|
2616
3006
|
}) {
|
|
2617
|
-
const { multiple } =
|
|
3007
|
+
const { multiple } = React17.useContext(ComboboxContext);
|
|
2618
3008
|
const sizeValue = size ?? "default";
|
|
2619
3009
|
if (multiple) {
|
|
2620
3010
|
return /* @__PURE__ */ jsx(
|
|
@@ -2703,7 +3093,7 @@ function ComboboxPopup({
|
|
|
2703
3093
|
sideOffset = 4,
|
|
2704
3094
|
...props
|
|
2705
3095
|
}) {
|
|
2706
|
-
const { chipsRef } =
|
|
3096
|
+
const { chipsRef } = React17.useContext(ComboboxContext);
|
|
2707
3097
|
return /* @__PURE__ */ jsx(Combobox$1.Portal, { children: /* @__PURE__ */ jsx(
|
|
2708
3098
|
Combobox$1.Positioner,
|
|
2709
3099
|
{
|
|
@@ -2874,7 +3264,7 @@ function ComboboxChips({
|
|
|
2874
3264
|
startAddon,
|
|
2875
3265
|
...props
|
|
2876
3266
|
}) {
|
|
2877
|
-
const { chipsRef } =
|
|
3267
|
+
const { chipsRef } = React17.useContext(ComboboxContext);
|
|
2878
3268
|
return /* @__PURE__ */ jsxs(
|
|
2879
3269
|
Combobox$1.Chips,
|
|
2880
3270
|
{
|
|
@@ -3267,72 +3657,421 @@ function CreditCard({
|
|
|
3267
3657
|
return /* @__PURE__ */ jsx(
|
|
3268
3658
|
"div",
|
|
3269
3659
|
{
|
|
3270
|
-
className: cn("relative shrink-0 select-none font-sans", className),
|
|
3271
|
-
"data-slot": "credit-card",
|
|
3272
|
-
"data-type": type,
|
|
3273
|
-
style: { height: Math.round(BASE_HEIGHT * scale), width, ...style },
|
|
3274
|
-
...props,
|
|
3275
|
-
children: /* @__PURE__ */ jsxs(
|
|
3276
|
-
"div",
|
|
3660
|
+
className: cn("relative shrink-0 select-none font-sans", className),
|
|
3661
|
+
"data-slot": "credit-card",
|
|
3662
|
+
"data-type": type,
|
|
3663
|
+
style: { height: Math.round(BASE_HEIGHT * scale), width, ...style },
|
|
3664
|
+
...props,
|
|
3665
|
+
children: /* @__PURE__ */ jsxs(
|
|
3666
|
+
"div",
|
|
3667
|
+
{
|
|
3668
|
+
className: cn(
|
|
3669
|
+
"absolute top-0 left-0 flex origin-top-left flex-col justify-between overflow-hidden rounded-[20px] p-5",
|
|
3670
|
+
variant.card
|
|
3671
|
+
),
|
|
3672
|
+
style: {
|
|
3673
|
+
height: BASE_HEIGHT,
|
|
3674
|
+
transform: `scale(${scale})`,
|
|
3675
|
+
width: BASE_WIDTH
|
|
3676
|
+
},
|
|
3677
|
+
children: [
|
|
3678
|
+
variant.strip ? /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cn("absolute", variant.strip) }) : null,
|
|
3679
|
+
/* @__PURE__ */ jsxs("div", { className: "relative flex items-start justify-between", children: [
|
|
3680
|
+
/* @__PURE__ */ jsx(
|
|
3681
|
+
"span",
|
|
3682
|
+
{
|
|
3683
|
+
className: "font-semibold text-base tracking-tight",
|
|
3684
|
+
"data-slot": "credit-card-company",
|
|
3685
|
+
children: company
|
|
3686
|
+
}
|
|
3687
|
+
),
|
|
3688
|
+
/* @__PURE__ */ jsx(NfcIcon, { "aria-hidden": true, className: "size-5 opacity-70" })
|
|
3689
|
+
] }),
|
|
3690
|
+
/* @__PURE__ */ jsxs("div", { className: "relative flex flex-col gap-2.5", children: [
|
|
3691
|
+
/* @__PURE__ */ jsx(
|
|
3692
|
+
"span",
|
|
3693
|
+
{
|
|
3694
|
+
className: "font-medium text-[0.9375rem] tabular-nums tracking-[0.12em]",
|
|
3695
|
+
"data-slot": "credit-card-number",
|
|
3696
|
+
children: cardNumber
|
|
3697
|
+
}
|
|
3698
|
+
),
|
|
3699
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-end justify-between", children: [
|
|
3700
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-4", children: [
|
|
3701
|
+
/* @__PURE__ */ jsx(
|
|
3702
|
+
"span",
|
|
3703
|
+
{
|
|
3704
|
+
className: "font-medium text-[0.6875rem] uppercase tracking-[0.14em]",
|
|
3705
|
+
"data-slot": "credit-card-holder",
|
|
3706
|
+
children: cardHolder
|
|
3707
|
+
}
|
|
3708
|
+
),
|
|
3709
|
+
/* @__PURE__ */ jsx(
|
|
3710
|
+
"span",
|
|
3711
|
+
{
|
|
3712
|
+
className: "font-medium text-[0.6875rem] tabular-nums tracking-[0.14em] opacity-80",
|
|
3713
|
+
"data-slot": "credit-card-expiration",
|
|
3714
|
+
children: cardExpiration
|
|
3715
|
+
}
|
|
3716
|
+
)
|
|
3717
|
+
] }),
|
|
3718
|
+
/* @__PURE__ */ jsx(CreditCardLogo, { onDark: variant.onDark })
|
|
3719
|
+
] })
|
|
3720
|
+
] })
|
|
3721
|
+
]
|
|
3722
|
+
}
|
|
3723
|
+
)
|
|
3724
|
+
}
|
|
3725
|
+
);
|
|
3726
|
+
}
|
|
3727
|
+
function Pagination({ className, ...props }) {
|
|
3728
|
+
return /* @__PURE__ */ jsx(
|
|
3729
|
+
"nav",
|
|
3730
|
+
{
|
|
3731
|
+
"aria-label": "pagination",
|
|
3732
|
+
className: cn("mx-auto flex w-full justify-center", className),
|
|
3733
|
+
"data-slot": "pagination",
|
|
3734
|
+
...props
|
|
3735
|
+
}
|
|
3736
|
+
);
|
|
3737
|
+
}
|
|
3738
|
+
function PaginationContent({
|
|
3739
|
+
className,
|
|
3740
|
+
...props
|
|
3741
|
+
}) {
|
|
3742
|
+
return /* @__PURE__ */ jsx(
|
|
3743
|
+
"ul",
|
|
3744
|
+
{
|
|
3745
|
+
className: cn("flex flex-row items-center gap-1", className),
|
|
3746
|
+
"data-slot": "pagination-content",
|
|
3747
|
+
...props
|
|
3748
|
+
}
|
|
3749
|
+
);
|
|
3750
|
+
}
|
|
3751
|
+
function PaginationItem({ className, ...props }) {
|
|
3752
|
+
return /* @__PURE__ */ jsx(
|
|
3753
|
+
"li",
|
|
3754
|
+
{
|
|
3755
|
+
className: cn(
|
|
3756
|
+
"animate-in fade-in-0 zoom-in-95 duration-200 ease-out",
|
|
3757
|
+
className
|
|
3758
|
+
),
|
|
3759
|
+
"data-slot": "pagination-item",
|
|
3760
|
+
...props
|
|
3761
|
+
}
|
|
3762
|
+
);
|
|
3763
|
+
}
|
|
3764
|
+
function PaginationLink({
|
|
3765
|
+
className,
|
|
3766
|
+
isActive,
|
|
3767
|
+
disabled,
|
|
3768
|
+
size = "icon",
|
|
3769
|
+
render,
|
|
3770
|
+
...props
|
|
3771
|
+
}) {
|
|
3772
|
+
const defaultProps = {
|
|
3773
|
+
"aria-current": isActive ? "page" : void 0,
|
|
3774
|
+
"aria-disabled": disabled || void 0,
|
|
3775
|
+
className: cn(
|
|
3776
|
+
buttonVariants({
|
|
3777
|
+
size,
|
|
3778
|
+
variant: isActive ? "outline" : "ghost"
|
|
3779
|
+
}),
|
|
3780
|
+
"transition-[opacity,box-shadow,filter] duration-200 ease-out",
|
|
3781
|
+
disabled && "pointer-events-none opacity-50",
|
|
3782
|
+
className
|
|
3783
|
+
),
|
|
3784
|
+
"data-active": isActive,
|
|
3785
|
+
"data-disabled": disabled || void 0,
|
|
3786
|
+
"data-slot": "pagination-link",
|
|
3787
|
+
tabIndex: disabled ? -1 : void 0
|
|
3788
|
+
};
|
|
3789
|
+
return useRender({
|
|
3790
|
+
defaultTagName: "a",
|
|
3791
|
+
props: mergeProps(defaultProps, props),
|
|
3792
|
+
render
|
|
3793
|
+
});
|
|
3794
|
+
}
|
|
3795
|
+
function PaginationPrevious({
|
|
3796
|
+
className,
|
|
3797
|
+
...props
|
|
3798
|
+
}) {
|
|
3799
|
+
return /* @__PURE__ */ jsxs(
|
|
3800
|
+
PaginationLink,
|
|
3801
|
+
{
|
|
3802
|
+
"aria-label": "Go to previous page",
|
|
3803
|
+
className: cn("max-sm:aspect-square max-sm:p-0", className),
|
|
3804
|
+
size: "default",
|
|
3805
|
+
...props,
|
|
3806
|
+
children: [
|
|
3807
|
+
/* @__PURE__ */ jsx(ChevronLeftIcon, { className: "sm:-ms-1" }),
|
|
3808
|
+
/* @__PURE__ */ jsx("span", { className: "max-sm:hidden", children: "Previous" })
|
|
3809
|
+
]
|
|
3810
|
+
}
|
|
3811
|
+
);
|
|
3812
|
+
}
|
|
3813
|
+
function PaginationNext({
|
|
3814
|
+
className,
|
|
3815
|
+
...props
|
|
3816
|
+
}) {
|
|
3817
|
+
return /* @__PURE__ */ jsxs(
|
|
3818
|
+
PaginationLink,
|
|
3819
|
+
{
|
|
3820
|
+
"aria-label": "Go to next page",
|
|
3821
|
+
className: cn("max-sm:aspect-square max-sm:p-0", className),
|
|
3822
|
+
size: "default",
|
|
3823
|
+
...props,
|
|
3824
|
+
children: [
|
|
3825
|
+
/* @__PURE__ */ jsx("span", { className: "max-sm:hidden", children: "Next" }),
|
|
3826
|
+
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "sm:-me-1" })
|
|
3827
|
+
]
|
|
3828
|
+
}
|
|
3829
|
+
);
|
|
3830
|
+
}
|
|
3831
|
+
function PaginationEllipsis({
|
|
3832
|
+
className,
|
|
3833
|
+
...props
|
|
3834
|
+
}) {
|
|
3835
|
+
return /* @__PURE__ */ jsxs(
|
|
3836
|
+
"span",
|
|
3837
|
+
{
|
|
3838
|
+
"aria-hidden": true,
|
|
3839
|
+
className: cn("flex min-w-7 justify-center", className),
|
|
3840
|
+
"data-slot": "pagination-ellipsis",
|
|
3841
|
+
...props,
|
|
3842
|
+
children: [
|
|
3843
|
+
/* @__PURE__ */ jsx(MoreHorizontalIcon, { className: "size-5 sm:size-4" }),
|
|
3844
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
|
|
3845
|
+
]
|
|
3846
|
+
}
|
|
3847
|
+
);
|
|
3848
|
+
}
|
|
3849
|
+
function PaginationControls(props) {
|
|
3850
|
+
const { page, pageCount, renderPageLink } = props;
|
|
3851
|
+
if (pageCount <= 1) return null;
|
|
3852
|
+
return /* @__PURE__ */ jsx(Pagination, { children: /* @__PURE__ */ jsxs(PaginationContent, { children: [
|
|
3853
|
+
/* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(
|
|
3854
|
+
PaginationPrevious,
|
|
3855
|
+
{
|
|
3856
|
+
disabled: page <= 1,
|
|
3857
|
+
render: page > 1 ? renderPageLink(page - 1) : /* @__PURE__ */ jsx("span", {})
|
|
3858
|
+
}
|
|
3859
|
+
) }),
|
|
3860
|
+
page > 1 && /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationLink, { render: renderPageLink(1), children: "1" }) }),
|
|
3861
|
+
page > 2 && /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationEllipsis, {}) }),
|
|
3862
|
+
/* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationLink, { render: renderPageLink(page), isActive: true, children: page }) }),
|
|
3863
|
+
pageCount > page + 1 && /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationEllipsis, {}) }),
|
|
3864
|
+
pageCount > page && /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationLink, { render: renderPageLink(pageCount), children: pageCount }) }),
|
|
3865
|
+
/* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(
|
|
3866
|
+
PaginationNext,
|
|
3867
|
+
{
|
|
3868
|
+
disabled: page >= pageCount,
|
|
3869
|
+
render: page < pageCount ? renderPageLink(page + 1) : /* @__PURE__ */ jsx("span", {})
|
|
3870
|
+
}
|
|
3871
|
+
) })
|
|
3872
|
+
] }) });
|
|
3873
|
+
}
|
|
3874
|
+
function Table({ className, ...props }) {
|
|
3875
|
+
return /* @__PURE__ */ jsx(
|
|
3876
|
+
"div",
|
|
3877
|
+
{
|
|
3878
|
+
className: "relative w-full overflow-x-auto",
|
|
3879
|
+
"data-slot": "table-container",
|
|
3880
|
+
children: /* @__PURE__ */ jsx(
|
|
3881
|
+
"table",
|
|
3882
|
+
{
|
|
3883
|
+
className: cn(
|
|
3884
|
+
"w-full caption-bottom in-data-[slot=frame]:border-separate in-data-[slot=frame]:border-spacing-0 text-sm",
|
|
3885
|
+
className
|
|
3886
|
+
),
|
|
3887
|
+
"data-slot": "table",
|
|
3888
|
+
...props
|
|
3889
|
+
}
|
|
3890
|
+
)
|
|
3891
|
+
}
|
|
3892
|
+
);
|
|
3893
|
+
}
|
|
3894
|
+
function TableHeader({ className, ...props }) {
|
|
3895
|
+
return /* @__PURE__ */ jsx(
|
|
3896
|
+
"thead",
|
|
3897
|
+
{
|
|
3898
|
+
className: cn(
|
|
3899
|
+
"[&_tr]:border-b in-data-[slot=frame]:**:[th]:h-9 in-data-[slot=frame]:*:[tr]:border-none in-data-[slot=frame]:*:[tr]:hover:bg-transparent",
|
|
3900
|
+
className
|
|
3901
|
+
),
|
|
3902
|
+
"data-slot": "table-header",
|
|
3903
|
+
...props
|
|
3904
|
+
}
|
|
3905
|
+
);
|
|
3906
|
+
}
|
|
3907
|
+
function TableBody({ className, ...props }) {
|
|
3908
|
+
return /* @__PURE__ */ jsx(
|
|
3909
|
+
"tbody",
|
|
3910
|
+
{
|
|
3911
|
+
className: cn(
|
|
3912
|
+
"relative in-data-[slot=frame]:rounded-xl in-data-[slot=frame]:shadow-xs/5 before:pointer-events-none before:absolute before:inset-px not-in-data-[slot=frame]:before:hidden before:rounded-[calc(var(--radius-xl)-1px)] before:shadow-[0_1px_--theme(--color-black/6%)] dark:before:shadow-[0_-1px_--theme(--color-white/8%)] [&_tr:last-child]:border-0 in-data-[slot=frame]:*:[tr]:border-0 in-data-[slot=frame]:*:[tr]:*:[td]:border-b in-data-[slot=frame]:*:[tr]:*:[td]:bg-background in-data-[slot=frame]:*:[tr]:*:[td]:bg-clip-padding in-data-[slot=frame]:*:[tr]:first:*:[td]:first:rounded-ss-xl in-data-[slot=frame]:*:[tr]:*:[td]:first:border-s in-data-[slot=frame]:*:[tr]:first:*:[td]:border-t in-data-[slot=frame]:*:[tr]:last:*:[td]:last:rounded-ee-xl in-data-[slot=frame]:*:[tr]:*:[td]:last:border-e in-data-[slot=frame]:*:[tr]:first:*:[td]:last:rounded-se-xl in-data-[slot=frame]:*:[tr]:last:*:[td]:first:rounded-es-xl in-data-[slot=frame]:*:[tr]:hover:*:[td]:bg-transparent in-data-[slot=frame]:*:[tr]:data-[state=selected]:*:[td]:bg-muted/72",
|
|
3913
|
+
className
|
|
3914
|
+
),
|
|
3915
|
+
"data-slot": "table-body",
|
|
3916
|
+
...props
|
|
3917
|
+
}
|
|
3918
|
+
);
|
|
3919
|
+
}
|
|
3920
|
+
function TableFooter({ className, ...props }) {
|
|
3921
|
+
return /* @__PURE__ */ jsx(
|
|
3922
|
+
"tfoot",
|
|
3923
|
+
{
|
|
3924
|
+
className: cn(
|
|
3925
|
+
"border-t in-data-[slot=frame]:border-none bg-muted/72 in-data-[slot=frame]:bg-transparent font-medium [&>tr]:last:border-b-0 in-data-[slot=frame]:*:[tr]:hover:bg-transparent",
|
|
3926
|
+
className
|
|
3927
|
+
),
|
|
3928
|
+
"data-slot": "table-footer",
|
|
3929
|
+
...props
|
|
3930
|
+
}
|
|
3931
|
+
);
|
|
3932
|
+
}
|
|
3933
|
+
function TableRow({ className, ...props }) {
|
|
3934
|
+
return /* @__PURE__ */ jsx(
|
|
3935
|
+
"tr",
|
|
3936
|
+
{
|
|
3937
|
+
className: cn(
|
|
3938
|
+
"border-b transition-colors hover:bg-muted/72 in-data-[slot=frame]:hover:bg-transparent data-[state=selected]:bg-muted/72 in-data-[slot=frame]:data-[state=selected]:bg-transparent",
|
|
3939
|
+
className
|
|
3940
|
+
),
|
|
3941
|
+
"data-slot": "table-row",
|
|
3942
|
+
...props
|
|
3943
|
+
}
|
|
3944
|
+
);
|
|
3945
|
+
}
|
|
3946
|
+
function TableHead({ className, ...props }) {
|
|
3947
|
+
return /* @__PURE__ */ jsx(
|
|
3948
|
+
"th",
|
|
3949
|
+
{
|
|
3950
|
+
className: cn(
|
|
3951
|
+
"h-10 whitespace-nowrap px-2.5 text-left align-middle font-medium text-muted-foreground leading-none has-[[role=checkbox]]:w-px has-[[role=checkbox]]:pe-0",
|
|
3952
|
+
className
|
|
3953
|
+
),
|
|
3954
|
+
"data-slot": "table-head",
|
|
3955
|
+
...props
|
|
3956
|
+
}
|
|
3957
|
+
);
|
|
3958
|
+
}
|
|
3959
|
+
function TableCell({ className, ...props }) {
|
|
3960
|
+
return /* @__PURE__ */ jsx(
|
|
3961
|
+
"td",
|
|
3962
|
+
{
|
|
3963
|
+
className: cn(
|
|
3964
|
+
"whitespace-nowrap p-2.5 align-middle leading-none in-data-[slot=frame]:first:p-[calc(--spacing(2.5)-1px)] in-data-[slot=frame]:last:p-[calc(--spacing(2.5)-1px)] has-[[role=checkbox]]:pe-0",
|
|
3965
|
+
className
|
|
3966
|
+
),
|
|
3967
|
+
"data-slot": "table-cell",
|
|
3968
|
+
...props
|
|
3969
|
+
}
|
|
3970
|
+
);
|
|
3971
|
+
}
|
|
3972
|
+
function TableCaption({
|
|
3973
|
+
className,
|
|
3974
|
+
...props
|
|
3975
|
+
}) {
|
|
3976
|
+
return /* @__PURE__ */ jsx(
|
|
3977
|
+
"caption",
|
|
3978
|
+
{
|
|
3979
|
+
className: cn(
|
|
3980
|
+
"in-data-[slot=frame]:my-4 mt-4 text-muted-foreground text-sm",
|
|
3981
|
+
className
|
|
3982
|
+
),
|
|
3983
|
+
"data-slot": "table-caption",
|
|
3984
|
+
...props
|
|
3985
|
+
}
|
|
3986
|
+
);
|
|
3987
|
+
}
|
|
3988
|
+
function formatCell(value) {
|
|
3989
|
+
if (value === null || value === void 0 || value === "") return "\u2014";
|
|
3990
|
+
if (typeof value === "boolean") return value ? "Yes" : "No";
|
|
3991
|
+
if (React17.isValidElement(value)) return value;
|
|
3992
|
+
if (typeof value === "object") return JSON.stringify(value);
|
|
3993
|
+
return String(value);
|
|
3994
|
+
}
|
|
3995
|
+
function DataTablePaged({
|
|
3996
|
+
className,
|
|
3997
|
+
columns,
|
|
3998
|
+
emptyLabel = "No results",
|
|
3999
|
+
pageSize = 10,
|
|
4000
|
+
rows,
|
|
4001
|
+
searchable = true,
|
|
4002
|
+
searchPlaceholder = "Filter results\u2026",
|
|
4003
|
+
totalCount
|
|
4004
|
+
}) {
|
|
4005
|
+
const [page, setPage] = React17.useState(1);
|
|
4006
|
+
const [query, setQuery] = React17.useState("");
|
|
4007
|
+
const filteredRows = React17.useMemo(() => {
|
|
4008
|
+
const trimmed = query.trim().toLowerCase();
|
|
4009
|
+
if (!trimmed) return rows;
|
|
4010
|
+
return rows.filter(
|
|
4011
|
+
(row) => columns.some(
|
|
4012
|
+
(column) => String(row[column.key] ?? "").toLowerCase().includes(trimmed)
|
|
4013
|
+
)
|
|
4014
|
+
);
|
|
4015
|
+
}, [columns, query, rows]);
|
|
4016
|
+
const pageCount = Math.max(1, Math.ceil(filteredRows.length / pageSize));
|
|
4017
|
+
const safePage = Math.min(page, pageCount);
|
|
4018
|
+
const pageRows = filteredRows.slice((safePage - 1) * pageSize, safePage * pageSize);
|
|
4019
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex flex-col gap-2", className), "data-slot": "data-table-paged", children: [
|
|
4020
|
+
searchable && rows.length > pageSize && /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
4021
|
+
/* @__PURE__ */ jsx(SearchIcon, { className: "-translate-y-1/2 absolute top-1/2 left-2.5 size-4 text-muted-foreground" }),
|
|
4022
|
+
/* @__PURE__ */ jsx(
|
|
4023
|
+
Input,
|
|
3277
4024
|
{
|
|
3278
|
-
className:
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
style: {
|
|
3283
|
-
height: BASE_HEIGHT,
|
|
3284
|
-
transform: `scale(${scale})`,
|
|
3285
|
-
width: BASE_WIDTH
|
|
4025
|
+
className: "h-8 pl-8 text-sm",
|
|
4026
|
+
onChange: (event) => {
|
|
4027
|
+
setQuery(event.target.value);
|
|
4028
|
+
setPage(1);
|
|
3286
4029
|
},
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
4030
|
+
placeholder: searchPlaceholder,
|
|
4031
|
+
value: query
|
|
4032
|
+
}
|
|
4033
|
+
)
|
|
4034
|
+
] }),
|
|
4035
|
+
/* @__PURE__ */ jsx("div", { className: "overflow-x-auto rounded-lg border border-border", children: /* @__PURE__ */ jsxs(Table, { children: [
|
|
4036
|
+
/* @__PURE__ */ jsx(TableHeader, { children: /* @__PURE__ */ jsx(TableRow, { children: columns.map((column) => /* @__PURE__ */ jsx(TableHead, { className: "whitespace-nowrap", children: column.label ?? column.key.replaceAll("_", " ") }, column.key)) }) }),
|
|
4037
|
+
/* @__PURE__ */ jsx(TableBody, { children: pageRows.length === 0 ? /* @__PURE__ */ jsx(TableRow, { children: /* @__PURE__ */ jsx(
|
|
4038
|
+
TableCell,
|
|
4039
|
+
{
|
|
4040
|
+
className: "py-6 text-center text-muted-foreground",
|
|
4041
|
+
colSpan: columns.length,
|
|
4042
|
+
children: emptyLabel
|
|
4043
|
+
}
|
|
4044
|
+
) }) : pageRows.map((row, rowIndex) => /* @__PURE__ */ jsx(TableRow, { children: columns.map((column) => /* @__PURE__ */ jsx(TableCell, { className: "max-w-56 truncate", children: formatCell(row[column.key]) }, column.key)) }, `${safePage}-${rowIndex}`)) })
|
|
4045
|
+
] }) }),
|
|
4046
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
|
|
4047
|
+
/* @__PURE__ */ jsxs("span", { className: "text-muted-foreground text-xs", children: [
|
|
4048
|
+
filteredRows.length,
|
|
4049
|
+
typeof totalCount === "number" && totalCount > rows.length ? ` of ${totalCount}` : "",
|
|
4050
|
+
" ",
|
|
4051
|
+
"rows"
|
|
4052
|
+
] }),
|
|
4053
|
+
/* @__PURE__ */ jsx(
|
|
4054
|
+
PaginationControls,
|
|
4055
|
+
{
|
|
4056
|
+
page: safePage,
|
|
4057
|
+
pageCount,
|
|
4058
|
+
renderPageLink: (nextPage) => (
|
|
4059
|
+
// biome-ignore lint/a11y/useValidAnchor: client-side pagination
|
|
4060
|
+
/* @__PURE__ */ jsx(
|
|
4061
|
+
"a",
|
|
4062
|
+
{
|
|
4063
|
+
href: "#",
|
|
4064
|
+
onClick: (event) => {
|
|
4065
|
+
event.preventDefault();
|
|
4066
|
+
setPage(nextPage);
|
|
3307
4067
|
}
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
/* @__PURE__ */ jsx(
|
|
3312
|
-
"span",
|
|
3313
|
-
{
|
|
3314
|
-
className: "font-medium text-[0.6875rem] uppercase tracking-[0.14em]",
|
|
3315
|
-
"data-slot": "credit-card-holder",
|
|
3316
|
-
children: cardHolder
|
|
3317
|
-
}
|
|
3318
|
-
),
|
|
3319
|
-
/* @__PURE__ */ jsx(
|
|
3320
|
-
"span",
|
|
3321
|
-
{
|
|
3322
|
-
className: "font-medium text-[0.6875rem] tabular-nums tracking-[0.14em] opacity-80",
|
|
3323
|
-
"data-slot": "credit-card-expiration",
|
|
3324
|
-
children: cardExpiration
|
|
3325
|
-
}
|
|
3326
|
-
)
|
|
3327
|
-
] }),
|
|
3328
|
-
/* @__PURE__ */ jsx(CreditCardLogo, { onDark: variant.onDark })
|
|
3329
|
-
] })
|
|
3330
|
-
] })
|
|
3331
|
-
]
|
|
4068
|
+
}
|
|
4069
|
+
)
|
|
4070
|
+
)
|
|
3332
4071
|
}
|
|
3333
4072
|
)
|
|
3334
|
-
}
|
|
3335
|
-
);
|
|
4073
|
+
] })
|
|
4074
|
+
] });
|
|
3336
4075
|
}
|
|
3337
4076
|
function Drawer(props) {
|
|
3338
4077
|
return /* @__PURE__ */ jsx(Drawer$1.Root, { "data-slot": "drawer", ...props });
|
|
@@ -3940,6 +4679,33 @@ function EmptyContent({ className, ...props }) {
|
|
|
3940
4679
|
}
|
|
3941
4680
|
);
|
|
3942
4681
|
}
|
|
4682
|
+
var fabVariants = cva(
|
|
4683
|
+
"fixed z-50 rounded-full shadow-lg transition-transform duration-150 hover:scale-105 active:scale-95 before:rounded-full",
|
|
4684
|
+
{
|
|
4685
|
+
defaultVariants: {
|
|
4686
|
+
position: "bottom-right"
|
|
4687
|
+
},
|
|
4688
|
+
variants: {
|
|
4689
|
+
position: {
|
|
4690
|
+
"bottom-right": "right-4 bottom-4 sm:right-6 sm:bottom-6",
|
|
4691
|
+
"bottom-left": "bottom-4 left-4 sm:bottom-6 sm:left-6",
|
|
4692
|
+
"top-right": "top-4 right-4 sm:top-6 sm:right-6",
|
|
4693
|
+
"top-left": "top-4 left-4 sm:top-6 sm:left-6"
|
|
4694
|
+
}
|
|
4695
|
+
}
|
|
4696
|
+
}
|
|
4697
|
+
);
|
|
4698
|
+
function Fab({ className, position, size = "icon-xl", ...props }) {
|
|
4699
|
+
return /* @__PURE__ */ jsx(
|
|
4700
|
+
Button,
|
|
4701
|
+
{
|
|
4702
|
+
className: cn(fabVariants({ className, position })),
|
|
4703
|
+
"data-slot": "fab",
|
|
4704
|
+
size,
|
|
4705
|
+
...props
|
|
4706
|
+
}
|
|
4707
|
+
);
|
|
4708
|
+
}
|
|
3943
4709
|
var featuredIconVariants = cva(
|
|
3944
4710
|
"relative inline-flex shrink-0 select-none items-center justify-center align-middle [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
3945
4711
|
{
|
|
@@ -4576,7 +5342,7 @@ function InputOTPSlot({
|
|
|
4576
5342
|
size,
|
|
4577
5343
|
...props
|
|
4578
5344
|
}) {
|
|
4579
|
-
const inputOTPContext =
|
|
5345
|
+
const inputOTPContext = React17.useContext(OTPInputContext);
|
|
4580
5346
|
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
|
|
4581
5347
|
return /* @__PURE__ */ jsxs(
|
|
4582
5348
|
"div",
|
|
@@ -4785,6 +5551,81 @@ function KbdGroup({ className, ...props }) {
|
|
|
4785
5551
|
}
|
|
4786
5552
|
);
|
|
4787
5553
|
}
|
|
5554
|
+
function Markdown({ children, className }) {
|
|
5555
|
+
return /* @__PURE__ */ jsx(
|
|
5556
|
+
"div",
|
|
5557
|
+
{
|
|
5558
|
+
className: cn(
|
|
5559
|
+
"space-y-2 break-words text-foreground text-sm leading-relaxed",
|
|
5560
|
+
className
|
|
5561
|
+
),
|
|
5562
|
+
"data-slot": "markdown",
|
|
5563
|
+
children: /* @__PURE__ */ jsx(
|
|
5564
|
+
ReactMarkdown,
|
|
5565
|
+
{
|
|
5566
|
+
components: {
|
|
5567
|
+
a: ({ node: _node, ...props }) => /* @__PURE__ */ jsx(
|
|
5568
|
+
"a",
|
|
5569
|
+
{
|
|
5570
|
+
className: "font-medium text-primary underline underline-offset-2 hover:opacity-80",
|
|
5571
|
+
rel: "noreferrer noopener",
|
|
5572
|
+
target: "_blank",
|
|
5573
|
+
...props
|
|
5574
|
+
}
|
|
5575
|
+
),
|
|
5576
|
+
blockquote: ({ node: _node, ...props }) => /* @__PURE__ */ jsx(
|
|
5577
|
+
"blockquote",
|
|
5578
|
+
{
|
|
5579
|
+
className: "border-border border-l-2 pl-3 text-muted-foreground italic",
|
|
5580
|
+
...props
|
|
5581
|
+
}
|
|
5582
|
+
),
|
|
5583
|
+
code: ({ node: _node, className: codeClassName, ...props }) => {
|
|
5584
|
+
const isBlock = /language-/.test(codeClassName ?? "");
|
|
5585
|
+
return /* @__PURE__ */ jsx(
|
|
5586
|
+
"code",
|
|
5587
|
+
{
|
|
5588
|
+
className: cn(
|
|
5589
|
+
"rounded bg-muted font-mono text-[0.85em]",
|
|
5590
|
+
isBlock ? "block overflow-x-auto p-3" : "px-1 py-0.5",
|
|
5591
|
+
codeClassName
|
|
5592
|
+
),
|
|
5593
|
+
...props
|
|
5594
|
+
}
|
|
5595
|
+
);
|
|
5596
|
+
},
|
|
5597
|
+
h1: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("h1", { className: "font-semibold text-base", ...props }),
|
|
5598
|
+
h2: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("h2", { className: "font-semibold text-base", ...props }),
|
|
5599
|
+
h3: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("h3", { className: "font-semibold text-sm", ...props }),
|
|
5600
|
+
hr: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("hr", { className: "border-border", ...props }),
|
|
5601
|
+
li: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("li", { className: "my-0.5", ...props }),
|
|
5602
|
+
ol: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("ol", { className: "list-decimal space-y-1 pl-5", ...props }),
|
|
5603
|
+
pre: ({ node: _node, ...props }) => /* @__PURE__ */ jsx(
|
|
5604
|
+
"pre",
|
|
5605
|
+
{
|
|
5606
|
+
className: "overflow-x-auto rounded-lg bg-muted p-0 text-[0.85em]",
|
|
5607
|
+
...props
|
|
5608
|
+
}
|
|
5609
|
+
),
|
|
5610
|
+
table: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("div", { className: "overflow-x-auto rounded-lg border border-border", children: /* @__PURE__ */ jsx("table", { className: "w-full text-left text-sm", ...props }) }),
|
|
5611
|
+
td: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("td", { className: "border-border border-t px-3 py-1.5 align-top", ...props }),
|
|
5612
|
+
th: ({ node: _node, ...props }) => /* @__PURE__ */ jsx(
|
|
5613
|
+
"th",
|
|
5614
|
+
{
|
|
5615
|
+
className: "bg-muted px-3 py-1.5 font-medium text-muted-foreground",
|
|
5616
|
+
...props
|
|
5617
|
+
}
|
|
5618
|
+
),
|
|
5619
|
+
ul: ({ node: _node, ...props }) => /* @__PURE__ */ jsx("ul", { className: "list-disc space-y-1 pl-5", ...props })
|
|
5620
|
+
},
|
|
5621
|
+
remarkPlugins: [remarkGfm],
|
|
5622
|
+
skipHtml: true,
|
|
5623
|
+
children
|
|
5624
|
+
}
|
|
5625
|
+
)
|
|
5626
|
+
}
|
|
5627
|
+
);
|
|
5628
|
+
}
|
|
4788
5629
|
var MenuCreateHandle = Menu$1.createHandle;
|
|
4789
5630
|
var Menu = Menu$1.Root;
|
|
4790
5631
|
var MenuPortal = Menu$1.Portal;
|
|
@@ -5152,10 +5993,10 @@ function MultiSelect({
|
|
|
5152
5993
|
popupClassName,
|
|
5153
5994
|
sideOffset = 4
|
|
5154
5995
|
}) {
|
|
5155
|
-
const [uncontrolledValue, setUncontrolledValue] =
|
|
5996
|
+
const [uncontrolledValue, setUncontrolledValue] = React17.useState(
|
|
5156
5997
|
defaultValue ?? []
|
|
5157
5998
|
);
|
|
5158
|
-
const [search, setSearch] =
|
|
5999
|
+
const [search, setSearch] = React17.useState("");
|
|
5159
6000
|
const isControlled = valueProp !== void 0;
|
|
5160
6001
|
const value = isControlled ? valueProp : uncontrolledValue;
|
|
5161
6002
|
const setValue = (next) => {
|
|
@@ -5299,8 +6140,8 @@ function MultiSelectSearch({
|
|
|
5299
6140
|
onChange,
|
|
5300
6141
|
placeholder
|
|
5301
6142
|
}) {
|
|
5302
|
-
const inputRef =
|
|
5303
|
-
|
|
6143
|
+
const inputRef = React17.useRef(null);
|
|
6144
|
+
React17.useEffect(() => {
|
|
5304
6145
|
const frame = requestAnimationFrame(() => inputRef.current?.focus());
|
|
5305
6146
|
return () => cancelAnimationFrame(frame);
|
|
5306
6147
|
}, []);
|
|
@@ -5398,251 +6239,104 @@ function NavigationMenu({
|
|
|
5398
6239
|
className: "relative h-full w-full overflow-hidden",
|
|
5399
6240
|
"data-slot": "navigation-menu-viewport"
|
|
5400
6241
|
}
|
|
5401
|
-
)
|
|
5402
|
-
}
|
|
5403
|
-
)
|
|
5404
|
-
}
|
|
5405
|
-
) })
|
|
5406
|
-
]
|
|
5407
|
-
}
|
|
5408
|
-
);
|
|
5409
|
-
}
|
|
5410
|
-
function NavigationMenuList({
|
|
5411
|
-
className,
|
|
5412
|
-
...props
|
|
5413
|
-
}) {
|
|
5414
|
-
return /* @__PURE__ */ jsx(
|
|
5415
|
-
NavigationMenu$1.List,
|
|
5416
|
-
{
|
|
5417
|
-
className: cn(
|
|
5418
|
-
"group flex flex-1 list-none items-center justify-center gap-1",
|
|
5419
|
-
className
|
|
5420
|
-
),
|
|
5421
|
-
"data-slot": "navigation-menu-list",
|
|
5422
|
-
...props
|
|
5423
|
-
}
|
|
5424
|
-
);
|
|
5425
|
-
}
|
|
5426
|
-
function NavigationMenuItem({
|
|
5427
|
-
className,
|
|
5428
|
-
...props
|
|
5429
|
-
}) {
|
|
5430
|
-
return /* @__PURE__ */ jsx(
|
|
5431
|
-
NavigationMenu$1.Item,
|
|
5432
|
-
{
|
|
5433
|
-
className: cn("relative", className),
|
|
5434
|
-
"data-slot": "navigation-menu-item",
|
|
5435
|
-
...props
|
|
5436
|
-
}
|
|
5437
|
-
);
|
|
5438
|
-
}
|
|
5439
|
-
var navigationMenuTriggerStyle = cva(
|
|
5440
|
-
"group inline-flex h-9 w-max cursor-pointer select-none items-center justify-center gap-1 rounded-lg bg-transparent px-3 py-2 font-medium text-base outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background data-popup-open:bg-accent/50 data-popup-open:text-accent-foreground disabled:pointer-events-none disabled:opacity-64 sm:h-8 sm:text-sm"
|
|
5441
|
-
);
|
|
5442
|
-
function NavigationMenuTrigger({
|
|
5443
|
-
className,
|
|
5444
|
-
children,
|
|
5445
|
-
...props
|
|
5446
|
-
}) {
|
|
5447
|
-
return /* @__PURE__ */ jsxs(
|
|
5448
|
-
NavigationMenu$1.Trigger,
|
|
5449
|
-
{
|
|
5450
|
-
className: cn(navigationMenuTriggerStyle(), className),
|
|
5451
|
-
"data-slot": "navigation-menu-trigger",
|
|
5452
|
-
...props,
|
|
5453
|
-
children: [
|
|
5454
|
-
children,
|
|
5455
|
-
/* @__PURE__ */ jsx(
|
|
5456
|
-
NavigationMenu$1.Icon,
|
|
5457
|
-
{
|
|
5458
|
-
className: "relative top-px transition-transform duration-300 ease-in-out group-data-popup-open:rotate-180",
|
|
5459
|
-
"data-slot": "navigation-menu-icon",
|
|
5460
|
-
children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-3.5 opacity-80" })
|
|
5461
|
-
}
|
|
5462
|
-
)
|
|
5463
|
-
]
|
|
5464
|
-
}
|
|
5465
|
-
);
|
|
5466
|
-
}
|
|
5467
|
-
function NavigationMenuContent({
|
|
5468
|
-
className,
|
|
5469
|
-
...props
|
|
5470
|
-
}) {
|
|
5471
|
-
return /* @__PURE__ */ jsx(
|
|
5472
|
-
NavigationMenu$1.Content,
|
|
5473
|
-
{
|
|
5474
|
-
className: cn(
|
|
5475
|
-
"h-full w-max p-2 transition-[opacity,translate,transform] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] data-ending-style:opacity-0 data-starting-style:opacity-0 data-[activation-direction=left]:data-ending-style:translate-x-[50%] data-[activation-direction=left]:data-starting-style:translate-x-[-50%] data-[activation-direction=right]:data-ending-style:translate-x-[-50%] data-[activation-direction=right]:data-starting-style:translate-x-[50%]",
|
|
5476
|
-
className
|
|
5477
|
-
),
|
|
5478
|
-
"data-slot": "navigation-menu-content",
|
|
5479
|
-
...props
|
|
5480
|
-
}
|
|
5481
|
-
);
|
|
5482
|
-
}
|
|
5483
|
-
function NavigationMenuLink({
|
|
5484
|
-
className,
|
|
5485
|
-
...props
|
|
5486
|
-
}) {
|
|
5487
|
-
return /* @__PURE__ */ jsx(
|
|
5488
|
-
NavigationMenu$1.Link,
|
|
5489
|
-
{
|
|
5490
|
-
className: cn(
|
|
5491
|
-
"flex cursor-pointer flex-col gap-1 rounded-md p-2 text-base no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background sm:text-sm [&_svg:not([class*='size-'])]:size-4",
|
|
5492
|
-
className
|
|
5493
|
-
),
|
|
5494
|
-
"data-slot": "navigation-menu-link",
|
|
5495
|
-
...props
|
|
5496
|
-
}
|
|
5497
|
-
);
|
|
5498
|
-
}
|
|
5499
|
-
function Pagination({ className, ...props }) {
|
|
5500
|
-
return /* @__PURE__ */ jsx(
|
|
5501
|
-
"nav",
|
|
5502
|
-
{
|
|
5503
|
-
"aria-label": "pagination",
|
|
5504
|
-
className: cn("mx-auto flex w-full justify-center", className),
|
|
5505
|
-
"data-slot": "pagination",
|
|
5506
|
-
...props
|
|
5507
|
-
}
|
|
5508
|
-
);
|
|
5509
|
-
}
|
|
5510
|
-
function PaginationContent({
|
|
5511
|
-
className,
|
|
5512
|
-
...props
|
|
5513
|
-
}) {
|
|
5514
|
-
return /* @__PURE__ */ jsx(
|
|
5515
|
-
"ul",
|
|
5516
|
-
{
|
|
5517
|
-
className: cn("flex flex-row items-center gap-1", className),
|
|
5518
|
-
"data-slot": "pagination-content",
|
|
5519
|
-
...props
|
|
6242
|
+
)
|
|
6243
|
+
}
|
|
6244
|
+
)
|
|
6245
|
+
}
|
|
6246
|
+
) })
|
|
6247
|
+
]
|
|
5520
6248
|
}
|
|
5521
6249
|
);
|
|
5522
6250
|
}
|
|
5523
|
-
function
|
|
6251
|
+
function NavigationMenuList({
|
|
6252
|
+
className,
|
|
6253
|
+
...props
|
|
6254
|
+
}) {
|
|
5524
6255
|
return /* @__PURE__ */ jsx(
|
|
5525
|
-
|
|
6256
|
+
NavigationMenu$1.List,
|
|
5526
6257
|
{
|
|
5527
6258
|
className: cn(
|
|
5528
|
-
"
|
|
6259
|
+
"group flex flex-1 list-none items-center justify-center gap-1",
|
|
5529
6260
|
className
|
|
5530
6261
|
),
|
|
5531
|
-
"data-slot": "
|
|
6262
|
+
"data-slot": "navigation-menu-list",
|
|
5532
6263
|
...props
|
|
5533
6264
|
}
|
|
5534
6265
|
);
|
|
5535
6266
|
}
|
|
5536
|
-
function
|
|
6267
|
+
function NavigationMenuItem({
|
|
5537
6268
|
className,
|
|
5538
|
-
isActive,
|
|
5539
|
-
disabled,
|
|
5540
|
-
size = "icon",
|
|
5541
|
-
render,
|
|
5542
6269
|
...props
|
|
5543
6270
|
}) {
|
|
5544
|
-
|
|
5545
|
-
|
|
5546
|
-
|
|
5547
|
-
|
|
5548
|
-
|
|
5549
|
-
|
|
5550
|
-
|
|
5551
|
-
|
|
5552
|
-
"transition-[opacity,box-shadow,filter] duration-200 ease-out",
|
|
5553
|
-
disabled && "pointer-events-none opacity-50",
|
|
5554
|
-
className
|
|
5555
|
-
),
|
|
5556
|
-
"data-active": isActive,
|
|
5557
|
-
"data-disabled": disabled || void 0,
|
|
5558
|
-
"data-slot": "pagination-link",
|
|
5559
|
-
tabIndex: disabled ? -1 : void 0
|
|
5560
|
-
};
|
|
5561
|
-
return useRender({
|
|
5562
|
-
defaultTagName: "a",
|
|
5563
|
-
props: mergeProps(defaultProps, props),
|
|
5564
|
-
render
|
|
5565
|
-
});
|
|
6271
|
+
return /* @__PURE__ */ jsx(
|
|
6272
|
+
NavigationMenu$1.Item,
|
|
6273
|
+
{
|
|
6274
|
+
className: cn("relative", className),
|
|
6275
|
+
"data-slot": "navigation-menu-item",
|
|
6276
|
+
...props
|
|
6277
|
+
}
|
|
6278
|
+
);
|
|
5566
6279
|
}
|
|
5567
|
-
|
|
6280
|
+
var navigationMenuTriggerStyle = cva(
|
|
6281
|
+
"group inline-flex h-9 w-max cursor-pointer select-none items-center justify-center gap-1 rounded-lg bg-transparent px-3 py-2 font-medium text-base outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background data-popup-open:bg-accent/50 data-popup-open:text-accent-foreground disabled:pointer-events-none disabled:opacity-64 sm:h-8 sm:text-sm"
|
|
6282
|
+
);
|
|
6283
|
+
function NavigationMenuTrigger({
|
|
5568
6284
|
className,
|
|
6285
|
+
children,
|
|
5569
6286
|
...props
|
|
5570
6287
|
}) {
|
|
5571
6288
|
return /* @__PURE__ */ jsxs(
|
|
5572
|
-
|
|
6289
|
+
NavigationMenu$1.Trigger,
|
|
5573
6290
|
{
|
|
5574
|
-
|
|
5575
|
-
|
|
5576
|
-
size: "default",
|
|
6291
|
+
className: cn(navigationMenuTriggerStyle(), className),
|
|
6292
|
+
"data-slot": "navigation-menu-trigger",
|
|
5577
6293
|
...props,
|
|
5578
6294
|
children: [
|
|
5579
|
-
|
|
5580
|
-
/* @__PURE__ */ jsx(
|
|
6295
|
+
children,
|
|
6296
|
+
/* @__PURE__ */ jsx(
|
|
6297
|
+
NavigationMenu$1.Icon,
|
|
6298
|
+
{
|
|
6299
|
+
className: "relative top-px transition-transform duration-300 ease-in-out group-data-popup-open:rotate-180",
|
|
6300
|
+
"data-slot": "navigation-menu-icon",
|
|
6301
|
+
children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-3.5 opacity-80" })
|
|
6302
|
+
}
|
|
6303
|
+
)
|
|
5581
6304
|
]
|
|
5582
6305
|
}
|
|
5583
6306
|
);
|
|
5584
6307
|
}
|
|
5585
|
-
function
|
|
6308
|
+
function NavigationMenuContent({
|
|
5586
6309
|
className,
|
|
5587
6310
|
...props
|
|
5588
6311
|
}) {
|
|
5589
|
-
return /* @__PURE__ */
|
|
5590
|
-
|
|
6312
|
+
return /* @__PURE__ */ jsx(
|
|
6313
|
+
NavigationMenu$1.Content,
|
|
5591
6314
|
{
|
|
5592
|
-
|
|
5593
|
-
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
/* @__PURE__ */ jsx(ChevronRightIcon, { className: "sm:-me-1" })
|
|
5599
|
-
]
|
|
6315
|
+
className: cn(
|
|
6316
|
+
"h-full w-max p-2 transition-[opacity,translate,transform] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)] data-ending-style:opacity-0 data-starting-style:opacity-0 data-[activation-direction=left]:data-ending-style:translate-x-[50%] data-[activation-direction=left]:data-starting-style:translate-x-[-50%] data-[activation-direction=right]:data-ending-style:translate-x-[-50%] data-[activation-direction=right]:data-starting-style:translate-x-[50%]",
|
|
6317
|
+
className
|
|
6318
|
+
),
|
|
6319
|
+
"data-slot": "navigation-menu-content",
|
|
6320
|
+
...props
|
|
5600
6321
|
}
|
|
5601
6322
|
);
|
|
5602
6323
|
}
|
|
5603
|
-
function
|
|
6324
|
+
function NavigationMenuLink({
|
|
5604
6325
|
className,
|
|
5605
6326
|
...props
|
|
5606
6327
|
}) {
|
|
5607
|
-
return /* @__PURE__ */
|
|
5608
|
-
|
|
6328
|
+
return /* @__PURE__ */ jsx(
|
|
6329
|
+
NavigationMenu$1.Link,
|
|
5609
6330
|
{
|
|
5610
|
-
|
|
5611
|
-
|
|
5612
|
-
|
|
5613
|
-
|
|
5614
|
-
|
|
5615
|
-
|
|
5616
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "More pages" })
|
|
5617
|
-
]
|
|
6331
|
+
className: cn(
|
|
6332
|
+
"flex cursor-pointer flex-col gap-1 rounded-md p-2 text-base no-underline outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background sm:text-sm [&_svg:not([class*='size-'])]:size-4",
|
|
6333
|
+
className
|
|
6334
|
+
),
|
|
6335
|
+
"data-slot": "navigation-menu-link",
|
|
6336
|
+
...props
|
|
5618
6337
|
}
|
|
5619
6338
|
);
|
|
5620
6339
|
}
|
|
5621
|
-
function PaginationControls(props) {
|
|
5622
|
-
const { page, pageCount, renderPageLink } = props;
|
|
5623
|
-
if (pageCount <= 1) return null;
|
|
5624
|
-
return /* @__PURE__ */ jsx(Pagination, { children: /* @__PURE__ */ jsxs(PaginationContent, { children: [
|
|
5625
|
-
/* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(
|
|
5626
|
-
PaginationPrevious,
|
|
5627
|
-
{
|
|
5628
|
-
disabled: page <= 1,
|
|
5629
|
-
render: page > 1 ? renderPageLink(page - 1) : /* @__PURE__ */ jsx("span", {})
|
|
5630
|
-
}
|
|
5631
|
-
) }),
|
|
5632
|
-
page > 1 && /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationLink, { render: renderPageLink(1), children: "1" }) }),
|
|
5633
|
-
page > 2 && /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationEllipsis, {}) }),
|
|
5634
|
-
/* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationLink, { render: renderPageLink(page), isActive: true, children: page }) }),
|
|
5635
|
-
pageCount > page + 1 && /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationEllipsis, {}) }),
|
|
5636
|
-
pageCount > page && /* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(PaginationLink, { render: renderPageLink(pageCount), children: pageCount }) }),
|
|
5637
|
-
/* @__PURE__ */ jsx(PaginationItem, { children: /* @__PURE__ */ jsx(
|
|
5638
|
-
PaginationNext,
|
|
5639
|
-
{
|
|
5640
|
-
disabled: page >= pageCount,
|
|
5641
|
-
render: page < pageCount ? renderPageLink(page + 1) : /* @__PURE__ */ jsx("span", {})
|
|
5642
|
-
}
|
|
5643
|
-
) })
|
|
5644
|
-
] }) });
|
|
5645
|
-
}
|
|
5646
6340
|
var PreviewCard = PreviewCard$1.Root;
|
|
5647
6341
|
function PreviewCardTrigger({ ...props }) {
|
|
5648
6342
|
return /* @__PURE__ */ jsx(PreviewCard$1.Trigger, { "data-slot": "preview-card-trigger", ...props });
|
|
@@ -5938,8 +6632,8 @@ var qrCodeVariants = cva(
|
|
|
5938
6632
|
}
|
|
5939
6633
|
);
|
|
5940
6634
|
function QRCode({ className, size, value, options, ...props }) {
|
|
5941
|
-
const containerRef =
|
|
5942
|
-
|
|
6635
|
+
const containerRef = React17.useRef(null);
|
|
6636
|
+
React17.useEffect(() => {
|
|
5943
6637
|
const container = containerRef.current;
|
|
5944
6638
|
if (!container) return;
|
|
5945
6639
|
let disposed = false;
|
|
@@ -6467,8 +7161,8 @@ function SocialButton({
|
|
|
6467
7161
|
render
|
|
6468
7162
|
});
|
|
6469
7163
|
}
|
|
6470
|
-
var StepperContext =
|
|
6471
|
-
var StepperItemContext =
|
|
7164
|
+
var StepperContext = React17.createContext({ orientation: "horizontal", value: 1 });
|
|
7165
|
+
var StepperItemContext = React17.createContext({ state: "inactive", step: 1 });
|
|
6472
7166
|
function Stepper({
|
|
6473
7167
|
value = 1,
|
|
6474
7168
|
orientation = "horizontal",
|
|
@@ -6495,7 +7189,7 @@ function StepperItem({
|
|
|
6495
7189
|
className,
|
|
6496
7190
|
...props
|
|
6497
7191
|
}) {
|
|
6498
|
-
const { value } =
|
|
7192
|
+
const { value } = React17.useContext(StepperContext);
|
|
6499
7193
|
const state = completed || value > step ? "completed" : value === step ? "active" : "inactive";
|
|
6500
7194
|
return /* @__PURE__ */ jsx(StepperItemContext.Provider, { value: { state, step }, children: /* @__PURE__ */ jsx(
|
|
6501
7195
|
"div",
|
|
@@ -6534,7 +7228,7 @@ function StepperIndicator({
|
|
|
6534
7228
|
children,
|
|
6535
7229
|
...props
|
|
6536
7230
|
}) {
|
|
6537
|
-
const { step } =
|
|
7231
|
+
const { step } = React17.useContext(StepperItemContext);
|
|
6538
7232
|
return /* @__PURE__ */ jsxs(
|
|
6539
7233
|
"span",
|
|
6540
7234
|
{
|
|
@@ -6862,7 +7556,7 @@ function TooltipPopup({
|
|
|
6862
7556
|
}
|
|
6863
7557
|
) });
|
|
6864
7558
|
}
|
|
6865
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ?
|
|
7559
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React17.useLayoutEffect : React17.useEffect;
|
|
6866
7560
|
var SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
6867
7561
|
var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
6868
7562
|
var SIDEBAR_WIDTH_LG = "18.5rem";
|
|
@@ -6870,9 +7564,9 @@ var SIDEBAR_WIDTH_MD = "14.5rem";
|
|
|
6870
7564
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
6871
7565
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
6872
7566
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
6873
|
-
var SidebarContext =
|
|
7567
|
+
var SidebarContext = React17.createContext(null);
|
|
6874
7568
|
function useSidebar() {
|
|
6875
|
-
const context =
|
|
7569
|
+
const context = React17.useContext(SidebarContext);
|
|
6876
7570
|
if (!context) {
|
|
6877
7571
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
6878
7572
|
}
|
|
@@ -6887,7 +7581,7 @@ function SidebarProvider({
|
|
|
6887
7581
|
children,
|
|
6888
7582
|
...props
|
|
6889
7583
|
}) {
|
|
6890
|
-
const [isMobile, setIsMobile] =
|
|
7584
|
+
const [isMobile, setIsMobile] = React17.useState(false);
|
|
6891
7585
|
useIsomorphicLayoutEffect(() => {
|
|
6892
7586
|
const mql = window.matchMedia("(max-width: 47.999rem)");
|
|
6893
7587
|
const onChange = () => setIsMobile(mql.matches);
|
|
@@ -6895,10 +7589,10 @@ function SidebarProvider({
|
|
|
6895
7589
|
mql.addEventListener("change", onChange);
|
|
6896
7590
|
return () => mql.removeEventListener("change", onChange);
|
|
6897
7591
|
}, []);
|
|
6898
|
-
const [openMobile, setOpenMobile] =
|
|
6899
|
-
const [_open, _setOpen] =
|
|
7592
|
+
const [openMobile, setOpenMobile] = React17.useState(false);
|
|
7593
|
+
const [_open, _setOpen] = React17.useState(defaultOpen);
|
|
6900
7594
|
const open = openProp ?? _open;
|
|
6901
|
-
const setOpen =
|
|
7595
|
+
const setOpen = React17.useCallback(
|
|
6902
7596
|
(value) => {
|
|
6903
7597
|
const openState = typeof value === "function" ? value(open) : value;
|
|
6904
7598
|
if (setOpenProp) {
|
|
@@ -6913,10 +7607,10 @@ function SidebarProvider({
|
|
|
6913
7607
|
},
|
|
6914
7608
|
[setOpenProp, open]
|
|
6915
7609
|
);
|
|
6916
|
-
const toggleSidebar =
|
|
7610
|
+
const toggleSidebar = React17.useCallback(() => {
|
|
6917
7611
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
6918
7612
|
}, [isMobile, setOpen]);
|
|
6919
|
-
|
|
7613
|
+
React17.useEffect(() => {
|
|
6920
7614
|
const handleKeyDown = (event) => {
|
|
6921
7615
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
6922
7616
|
event.preventDefault();
|
|
@@ -6927,7 +7621,7 @@ function SidebarProvider({
|
|
|
6927
7621
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
6928
7622
|
}, [toggleSidebar]);
|
|
6929
7623
|
const state = open ? "expanded" : "collapsed";
|
|
6930
|
-
const contextValue =
|
|
7624
|
+
const contextValue = React17.useMemo(
|
|
6931
7625
|
() => ({
|
|
6932
7626
|
isMobile,
|
|
6933
7627
|
open,
|
|
@@ -7394,7 +8088,7 @@ function SidebarMenuSkeleton({
|
|
|
7394
8088
|
showIcon = false,
|
|
7395
8089
|
...props
|
|
7396
8090
|
}) {
|
|
7397
|
-
const width =
|
|
8091
|
+
const width = React17.useMemo(() => {
|
|
7398
8092
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
7399
8093
|
}, []);
|
|
7400
8094
|
return /* @__PURE__ */ jsxs(
|
|
@@ -7493,7 +8187,7 @@ function Slider({
|
|
|
7493
8187
|
formatLabel = (labelValue) => String(labelValue),
|
|
7494
8188
|
...props
|
|
7495
8189
|
}) {
|
|
7496
|
-
const _values =
|
|
8190
|
+
const _values = React17.useMemo(() => {
|
|
7497
8191
|
if (value !== void 0) {
|
|
7498
8192
|
return Array.isArray(value) ? value : [value];
|
|
7499
8193
|
}
|
|
@@ -7772,120 +8466,6 @@ function Switch({ className, size = "md", slim = false, ...props }) {
|
|
|
7772
8466
|
}
|
|
7773
8467
|
);
|
|
7774
8468
|
}
|
|
7775
|
-
function Table({ className, ...props }) {
|
|
7776
|
-
return /* @__PURE__ */ jsx(
|
|
7777
|
-
"div",
|
|
7778
|
-
{
|
|
7779
|
-
className: "relative w-full overflow-x-auto",
|
|
7780
|
-
"data-slot": "table-container",
|
|
7781
|
-
children: /* @__PURE__ */ jsx(
|
|
7782
|
-
"table",
|
|
7783
|
-
{
|
|
7784
|
-
className: cn(
|
|
7785
|
-
"w-full caption-bottom in-data-[slot=frame]:border-separate in-data-[slot=frame]:border-spacing-0 text-sm",
|
|
7786
|
-
className
|
|
7787
|
-
),
|
|
7788
|
-
"data-slot": "table",
|
|
7789
|
-
...props
|
|
7790
|
-
}
|
|
7791
|
-
)
|
|
7792
|
-
}
|
|
7793
|
-
);
|
|
7794
|
-
}
|
|
7795
|
-
function TableHeader({ className, ...props }) {
|
|
7796
|
-
return /* @__PURE__ */ jsx(
|
|
7797
|
-
"thead",
|
|
7798
|
-
{
|
|
7799
|
-
className: cn(
|
|
7800
|
-
"[&_tr]:border-b in-data-[slot=frame]:**:[th]:h-9 in-data-[slot=frame]:*:[tr]:border-none in-data-[slot=frame]:*:[tr]:hover:bg-transparent",
|
|
7801
|
-
className
|
|
7802
|
-
),
|
|
7803
|
-
"data-slot": "table-header",
|
|
7804
|
-
...props
|
|
7805
|
-
}
|
|
7806
|
-
);
|
|
7807
|
-
}
|
|
7808
|
-
function TableBody({ className, ...props }) {
|
|
7809
|
-
return /* @__PURE__ */ jsx(
|
|
7810
|
-
"tbody",
|
|
7811
|
-
{
|
|
7812
|
-
className: cn(
|
|
7813
|
-
"relative in-data-[slot=frame]:rounded-xl in-data-[slot=frame]:shadow-xs/5 before:pointer-events-none before:absolute before:inset-px not-in-data-[slot=frame]:before:hidden before:rounded-[calc(var(--radius-xl)-1px)] before:shadow-[0_1px_--theme(--color-black/6%)] dark:before:shadow-[0_-1px_--theme(--color-white/8%)] [&_tr:last-child]:border-0 in-data-[slot=frame]:*:[tr]:border-0 in-data-[slot=frame]:*:[tr]:*:[td]:border-b in-data-[slot=frame]:*:[tr]:*:[td]:bg-background in-data-[slot=frame]:*:[tr]:*:[td]:bg-clip-padding in-data-[slot=frame]:*:[tr]:first:*:[td]:first:rounded-ss-xl in-data-[slot=frame]:*:[tr]:*:[td]:first:border-s in-data-[slot=frame]:*:[tr]:first:*:[td]:border-t in-data-[slot=frame]:*:[tr]:last:*:[td]:last:rounded-ee-xl in-data-[slot=frame]:*:[tr]:*:[td]:last:border-e in-data-[slot=frame]:*:[tr]:first:*:[td]:last:rounded-se-xl in-data-[slot=frame]:*:[tr]:last:*:[td]:first:rounded-es-xl in-data-[slot=frame]:*:[tr]:hover:*:[td]:bg-transparent in-data-[slot=frame]:*:[tr]:data-[state=selected]:*:[td]:bg-muted/72",
|
|
7814
|
-
className
|
|
7815
|
-
),
|
|
7816
|
-
"data-slot": "table-body",
|
|
7817
|
-
...props
|
|
7818
|
-
}
|
|
7819
|
-
);
|
|
7820
|
-
}
|
|
7821
|
-
function TableFooter({ className, ...props }) {
|
|
7822
|
-
return /* @__PURE__ */ jsx(
|
|
7823
|
-
"tfoot",
|
|
7824
|
-
{
|
|
7825
|
-
className: cn(
|
|
7826
|
-
"border-t in-data-[slot=frame]:border-none bg-muted/72 in-data-[slot=frame]:bg-transparent font-medium [&>tr]:last:border-b-0 in-data-[slot=frame]:*:[tr]:hover:bg-transparent",
|
|
7827
|
-
className
|
|
7828
|
-
),
|
|
7829
|
-
"data-slot": "table-footer",
|
|
7830
|
-
...props
|
|
7831
|
-
}
|
|
7832
|
-
);
|
|
7833
|
-
}
|
|
7834
|
-
function TableRow({ className, ...props }) {
|
|
7835
|
-
return /* @__PURE__ */ jsx(
|
|
7836
|
-
"tr",
|
|
7837
|
-
{
|
|
7838
|
-
className: cn(
|
|
7839
|
-
"border-b transition-colors hover:bg-muted/72 in-data-[slot=frame]:hover:bg-transparent data-[state=selected]:bg-muted/72 in-data-[slot=frame]:data-[state=selected]:bg-transparent",
|
|
7840
|
-
className
|
|
7841
|
-
),
|
|
7842
|
-
"data-slot": "table-row",
|
|
7843
|
-
...props
|
|
7844
|
-
}
|
|
7845
|
-
);
|
|
7846
|
-
}
|
|
7847
|
-
function TableHead({ className, ...props }) {
|
|
7848
|
-
return /* @__PURE__ */ jsx(
|
|
7849
|
-
"th",
|
|
7850
|
-
{
|
|
7851
|
-
className: cn(
|
|
7852
|
-
"h-10 whitespace-nowrap px-2.5 text-left align-middle font-medium text-muted-foreground leading-none has-[[role=checkbox]]:w-px has-[[role=checkbox]]:pe-0",
|
|
7853
|
-
className
|
|
7854
|
-
),
|
|
7855
|
-
"data-slot": "table-head",
|
|
7856
|
-
...props
|
|
7857
|
-
}
|
|
7858
|
-
);
|
|
7859
|
-
}
|
|
7860
|
-
function TableCell({ className, ...props }) {
|
|
7861
|
-
return /* @__PURE__ */ jsx(
|
|
7862
|
-
"td",
|
|
7863
|
-
{
|
|
7864
|
-
className: cn(
|
|
7865
|
-
"whitespace-nowrap p-2.5 align-middle leading-none in-data-[slot=frame]:first:p-[calc(--spacing(2.5)-1px)] in-data-[slot=frame]:last:p-[calc(--spacing(2.5)-1px)] has-[[role=checkbox]]:pe-0",
|
|
7866
|
-
className
|
|
7867
|
-
),
|
|
7868
|
-
"data-slot": "table-cell",
|
|
7869
|
-
...props
|
|
7870
|
-
}
|
|
7871
|
-
);
|
|
7872
|
-
}
|
|
7873
|
-
function TableCaption({
|
|
7874
|
-
className,
|
|
7875
|
-
...props
|
|
7876
|
-
}) {
|
|
7877
|
-
return /* @__PURE__ */ jsx(
|
|
7878
|
-
"caption",
|
|
7879
|
-
{
|
|
7880
|
-
className: cn(
|
|
7881
|
-
"in-data-[slot=frame]:my-4 mt-4 text-muted-foreground text-sm",
|
|
7882
|
-
className
|
|
7883
|
-
),
|
|
7884
|
-
"data-slot": "table-caption",
|
|
7885
|
-
...props
|
|
7886
|
-
}
|
|
7887
|
-
);
|
|
7888
|
-
}
|
|
7889
8469
|
function Tabs({ className, ...props }) {
|
|
7890
8470
|
return /* @__PURE__ */ jsx(
|
|
7891
8471
|
Tabs$1.Root,
|
|
@@ -8780,7 +9360,7 @@ function Toggle({
|
|
|
8780
9360
|
}
|
|
8781
9361
|
);
|
|
8782
9362
|
}
|
|
8783
|
-
var ToggleGroupContext =
|
|
9363
|
+
var ToggleGroupContext = React17.createContext({
|
|
8784
9364
|
size: "default",
|
|
8785
9365
|
variant: "default"
|
|
8786
9366
|
});
|
|
@@ -8817,7 +9397,7 @@ function Toggle2({
|
|
|
8817
9397
|
size,
|
|
8818
9398
|
...props
|
|
8819
9399
|
}) {
|
|
8820
|
-
const context =
|
|
9400
|
+
const context = React17.useContext(ToggleGroupContext);
|
|
8821
9401
|
const resolvedVariant = context.variant || variant;
|
|
8822
9402
|
const resolvedSize = context.size || size;
|
|
8823
9403
|
return /* @__PURE__ */ jsx(
|
|
@@ -9093,30 +9673,30 @@ function VideoPlayer({
|
|
|
9093
9673
|
loop = false,
|
|
9094
9674
|
...props
|
|
9095
9675
|
}) {
|
|
9096
|
-
const containerRef =
|
|
9097
|
-
const videoRef =
|
|
9098
|
-
const hideTimerRef =
|
|
9099
|
-
const [playing, setPlaying] =
|
|
9100
|
-
const [currentTime, setCurrentTime] =
|
|
9101
|
-
const [duration, setDuration] =
|
|
9102
|
-
const [muted, setMuted] =
|
|
9103
|
-
const [fullscreen, setFullscreen] =
|
|
9104
|
-
const [controlsVisible, setControlsVisible] =
|
|
9676
|
+
const containerRef = React17.useRef(null);
|
|
9677
|
+
const videoRef = React17.useRef(null);
|
|
9678
|
+
const hideTimerRef = React17.useRef(null);
|
|
9679
|
+
const [playing, setPlaying] = React17.useState(false);
|
|
9680
|
+
const [currentTime, setCurrentTime] = React17.useState(0);
|
|
9681
|
+
const [duration, setDuration] = React17.useState(0);
|
|
9682
|
+
const [muted, setMuted] = React17.useState(false);
|
|
9683
|
+
const [fullscreen, setFullscreen] = React17.useState(false);
|
|
9684
|
+
const [controlsVisible, setControlsVisible] = React17.useState(true);
|
|
9105
9685
|
const clearHideTimer = () => {
|
|
9106
9686
|
if (hideTimerRef.current) clearTimeout(hideTimerRef.current);
|
|
9107
9687
|
};
|
|
9108
|
-
const scheduleHide =
|
|
9688
|
+
const scheduleHide = React17.useCallback(() => {
|
|
9109
9689
|
clearHideTimer();
|
|
9110
9690
|
hideTimerRef.current = setTimeout(() => setControlsVisible(false), 2500);
|
|
9111
9691
|
}, []);
|
|
9112
|
-
|
|
9113
|
-
|
|
9692
|
+
React17.useEffect(() => () => clearHideTimer(), []);
|
|
9693
|
+
React17.useEffect(() => {
|
|
9114
9694
|
if (!playing) {
|
|
9115
9695
|
clearHideTimer();
|
|
9116
9696
|
setControlsVisible(true);
|
|
9117
9697
|
}
|
|
9118
9698
|
}, [playing]);
|
|
9119
|
-
|
|
9699
|
+
React17.useEffect(() => {
|
|
9120
9700
|
const handler = () => setFullscreen(!!document.fullscreenElement);
|
|
9121
9701
|
document.addEventListener("fullscreenchange", handler);
|
|
9122
9702
|
return () => document.removeEventListener("fullscreenchange", handler);
|
|
@@ -9686,6 +10266,6 @@ function useIs2xl({
|
|
|
9686
10266
|
return is2xl;
|
|
9687
10267
|
}
|
|
9688
10268
|
|
|
9689
|
-
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, AnimatedThemeToggler, AppGalleryLogoIcon, AppStoreButton, AppleLogoIcon, AspectRatio, 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, 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, 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, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CreditCard, DashboardHeader, DashboardPanel, 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, FacebookLogoIcon, FeaturedIcon, Fieldset, FieldsetLegend, FigmaLogoIcon, ForbiddenErrorState, Form, Frame, FrameDescription, FrameFooter, FrameHeader, FramePanel, FrameTitle, GalaxyStoreLogoIcon, GeneralErrorState, GoogleLogoIcon, GooglePlayLogoIcon, Group, GroupSeparator, GroupText, 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, 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, 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, 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, Tooltip2 as Tooltip, TooltipPopup as TooltipContent, TooltipCreateHandle, TooltipDescription, TooltipPopup, TooltipProvider, TooltipTitle, TooltipTrigger, UnauthorizedErrorState, VerticalScrollFader, VerticalScrollFaderBottomScroller, VerticalScrollFaderContent, VerticalScrollFaderTopScroller, VideoPlayer, XLogoIcon, anchoredToastManager, appStoreButtonVariants, avatarGroupVariants, avatarVariants, badgeGroupVariants, badgeVariants, featuredIconVariants, groupVariants, itemVariants, navigationMenuTriggerStyle, qrCodeVariants, script, sectionHeaderDescriptionVariants, sectionHeaderTitleVariants, sheetPopupVariants, sheetViewportVariants, socialButtonVariants, statTrendVariants, statVariants, toastManager, toggleVariants, useAutocompleteFilter, use_callback_ref_default as useCallbackRef, useCarousel, useComboboxFilter, useFirstRender, useHover, useIs2xl, useIsLg, useIsMd, useIsSm, use_is_tab_active_default as useIsTabActive, useIsXl, useMediaQuery, useSidebar, useSmoothWheel, useSubscribeBreakpoints, useTheme, videoPlayerVariants };
|
|
10269
|
+
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, AnimatedThemeToggler, AppGalleryLogoIcon, AppStoreButton, AppleLogoIcon, AspectRatio, 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, 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, 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, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CreditCard, DashboardHeader, DashboardPanel, DataTablePaged, 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, 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, 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, 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, Tooltip2 as 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, socialButtonVariants, statTrendVariants, statVariants, toastManager, toggleVariants, useAutocompleteFilter, use_callback_ref_default as useCallbackRef, useCarousel, useComboboxFilter, useFirstRender, useHover, useIs2xl, useIsLg, useIsMd, useIsSm, use_is_tab_active_default as useIsTabActive, useIsXl, useMediaQuery, useSidebar, useSmoothWheel, useSubscribeBreakpoints, useTheme, videoPlayerVariants };
|
|
9690
10270
|
//# sourceMappingURL=index.js.map
|
|
9691
10271
|
//# sourceMappingURL=index.js.map
|