@szum-tech/design-system 3.8.0 → 3.9.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/{chunk-O3DHBQA5.cjs → chunk-3GNVQFCK.cjs} +1 -1
- package/dist/{chunk-SYKUS2RV.js → chunk-3MH6P44N.js} +2 -2
- package/dist/{chunk-3BLXG7ET.js → chunk-3RK5PCIC.js} +1 -1
- package/dist/{chunk-2Q2BIWBE.js → chunk-5MV54MWS.js} +1 -1
- package/dist/{chunk-YWG7TML6.cjs → chunk-6X26XC6P.cjs} +1 -1
- package/dist/chunk-A7SBXO2Y.cjs +40 -0
- package/dist/{chunk-ACJ3ES2B.js → chunk-BTSHACKG.js} +1 -1
- package/dist/{chunk-3DUJHGXE.cjs → chunk-CFJ44JVK.cjs} +1 -1
- package/dist/{chunk-Q5ONG5HB.cjs → chunk-DTYX7CYN.cjs} +2 -2
- package/dist/chunk-E5TYGWGE.js +176 -0
- package/dist/{chunk-XV3AQ6NS.js → chunk-KGGCA634.js} +1 -1
- package/dist/{chunk-3SDAJSY6.js → chunk-PHPJ54IC.js} +86 -51
- package/dist/{chunk-FKCWRNWB.js → chunk-U3QKV7I4.js} +1 -1
- package/dist/chunk-U7XZJQ4O.js +36 -0
- package/dist/{chunk-X55H6LRX.cjs → chunk-ULEEQ723.cjs} +1 -1
- package/dist/{chunk-BAWVLSRF.cjs → chunk-VK5EX3OG.cjs} +1 -1
- package/dist/{chunk-UW6GOD7J.js → chunk-VT5GDGZJ.js} +1 -1
- package/dist/chunk-XJZOANXX.cjs +183 -0
- package/dist/{chunk-F3GJIJRL.cjs → chunk-XTNS5QH5.cjs} +89 -54
- package/dist/{chunk-Z6CZAPVG.cjs → chunk-ZVF7J4EI.cjs} +1 -1
- package/dist/components/alert/index.cjs +4 -5
- package/dist/components/alert/index.js +1 -2
- package/dist/components/alert-dialog/index.cjs +0 -1
- package/dist/components/alert-dialog/index.js +0 -1
- package/dist/components/avatar/index.cjs +0 -1
- package/dist/components/avatar/index.js +0 -1
- package/dist/components/badge/index.cjs +4 -5
- package/dist/components/badge/index.js +1 -2
- package/dist/components/button/index.cjs +12 -13
- package/dist/components/button/index.js +11 -12
- package/dist/components/card/index.cjs +0 -1
- package/dist/components/card/index.js +0 -1
- package/dist/components/checkbox/index.cjs +0 -1
- package/dist/components/checkbox/index.js +0 -1
- package/dist/components/color-swatch/index.cjs +2 -3
- package/dist/components/color-swatch/index.js +1 -2
- package/dist/components/dialog/index.cjs +9 -10
- package/dist/components/dialog/index.js +1 -2
- package/dist/components/empty/index.cjs +0 -1
- package/dist/components/empty/index.js +0 -1
- package/dist/components/field/index.cjs +11 -12
- package/dist/components/field/index.js +1 -2
- package/dist/components/header/index.cjs +2 -3
- package/dist/components/header/index.js +1 -2
- package/dist/components/index.cjs +82 -79
- package/dist/components/index.d.cts +1 -2
- package/dist/components/index.d.ts +1 -2
- package/dist/components/index.js +11 -12
- package/dist/components/input/index.cjs +0 -1
- package/dist/components/input/index.js +0 -1
- package/dist/components/item/index.cjs +11 -12
- package/dist/components/item/index.js +1 -2
- package/dist/components/label/index.cjs +0 -1
- package/dist/components/label/index.js +0 -1
- package/dist/components/progress/index.cjs +0 -1
- package/dist/components/progress/index.js +0 -1
- package/dist/components/radio-group/index.cjs +0 -1
- package/dist/components/radio-group/index.js +0 -1
- package/dist/components/scroll-area/index.cjs +0 -1
- package/dist/components/scroll-area/index.js +0 -1
- package/dist/components/select/index.cjs +7 -8
- package/dist/components/select/index.d.cts +1 -2
- package/dist/components/select/index.d.ts +1 -2
- package/dist/components/select/index.js +1 -2
- package/dist/components/separator/index.cjs +0 -1
- package/dist/components/separator/index.js +0 -1
- package/dist/components/sheet/index.cjs +0 -1
- package/dist/components/sheet/index.js +0 -1
- package/dist/components/spinner/index.cjs +0 -1
- package/dist/components/spinner/index.js +0 -1
- package/dist/components/stepper/index.cjs +30 -31
- package/dist/components/stepper/index.js +11 -12
- package/dist/components/textarea/index.cjs +0 -1
- package/dist/components/textarea/index.js +0 -1
- package/dist/components/toaster/index.cjs +13 -14
- package/dist/components/toaster/index.js +11 -12
- package/dist/components/tooltip/index.cjs +9 -5
- package/dist/components/tooltip/index.d.cts +8 -12
- package/dist/components/tooltip/index.d.ts +8 -12
- package/dist/components/tooltip/index.js +2 -2
- package/dist/contexts/index.cjs +0 -1
- package/dist/contexts/index.js +0 -1
- package/dist/hooks/index.cjs +0 -1
- package/dist/hooks/index.js +0 -1
- package/dist/icons/index.cjs +1 -1
- package/dist/icons/index.js +1 -1
- package/dist/utils/index.cjs +0 -1
- package/dist/utils/index.js +0 -1
- package/package.json +6 -9
- package/tailwind/global.css +5 -0
- package/dist/chunk-3376ZTRC.cjs +0 -2
- package/dist/chunk-3ZRMIVJM.cjs +0 -4934
- package/dist/chunk-BYXBJQAS.js +0 -1
- package/dist/chunk-GR37JJQK.cjs +0 -43
- package/dist/chunk-HJJPEVIH.js +0 -40
- package/dist/chunk-O7QFYWMK.js +0 -4907
|
@@ -5,7 +5,7 @@ var classVarianceAuthority = require('class-variance-authority');
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
|
|
7
7
|
var alertVariants = classVarianceAuthority.cva(
|
|
8
|
-
"relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border
|
|
8
|
+
"border-border relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
9
9
|
{
|
|
10
10
|
variants: {
|
|
11
11
|
variant: {
|
|
@@ -12,10 +12,10 @@ var fieldVariants = cva("group/field data-[invalid=true]:text-error flex w-full
|
|
|
12
12
|
horizontal: [
|
|
13
13
|
"flex-row items-center",
|
|
14
14
|
"[&>[data-slot=field-label]]:flex-auto",
|
|
15
|
-
"has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px
|
|
15
|
+
"has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
16
16
|
],
|
|
17
17
|
responsive: [
|
|
18
|
-
"@md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto
|
|
18
|
+
"flex-col @md/field-group:flex-row @md/field-group:items-center [&>*]:w-full @md/field-group:[&>*]:w-auto [&>.sr-only]:w-auto",
|
|
19
19
|
"@md/field-group:[&>[data-slot=field-label]]:flex-auto",
|
|
20
20
|
"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
21
21
|
]
|
|
@@ -5,7 +5,7 @@ import { cva } from 'class-variance-authority';
|
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
7
7
|
var colorSwatchVariants = cva(
|
|
8
|
-
"border-border box-border rounded border
|
|
8
|
+
"border-border box-border rounded border [background-clip:padding-box] shadow-sm data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
9
9
|
{
|
|
10
10
|
variants: {
|
|
11
11
|
size: {
|
|
@@ -3,7 +3,7 @@ import { cva } from 'class-variance-authority';
|
|
|
3
3
|
import { jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
var alertVariants = cva(
|
|
6
|
-
"relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border
|
|
6
|
+
"border-border relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
|
|
7
7
|
{
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
@@ -7,7 +7,7 @@ function Header({ children, ...props }) {
|
|
|
7
7
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
8
8
|
"header",
|
|
9
9
|
{
|
|
10
|
-
className: "bg-
|
|
10
|
+
className: "border-border/40 bg-background/95 supports-backdrop-filter:bg-background/60 sticky top-0 z-50 w-full border-b backdrop-blur",
|
|
11
11
|
...props,
|
|
12
12
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "container flex h-16 items-center", children })
|
|
13
13
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
|
|
4
|
+
var radixUi = require('radix-ui');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function TooltipProvider({
|
|
8
|
+
delayDuration = 0,
|
|
9
|
+
...props
|
|
10
|
+
}) {
|
|
11
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Provider, { "data-slot": "tooltip-provider", delayDuration, ...props });
|
|
12
|
+
}
|
|
13
|
+
function Tooltip(props) {
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(TooltipProvider, { children: /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Root, { "data-slot": "tooltip", ...props }) });
|
|
15
|
+
}
|
|
16
|
+
function TooltipTrigger(props) {
|
|
17
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Trigger, { "data-slot": "tooltip-trigger", ...props });
|
|
18
|
+
}
|
|
19
|
+
function TooltipContent({ className, sideOffset = 0, children, ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Portal, { children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
21
|
+
radixUi.Tooltip.Content,
|
|
22
|
+
{
|
|
23
|
+
"data-slot": "tooltip-content",
|
|
24
|
+
sideOffset,
|
|
25
|
+
className: chunkH2BWO3SI_cjs.cn(
|
|
26
|
+
"bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",
|
|
27
|
+
className
|
|
28
|
+
),
|
|
29
|
+
...props,
|
|
30
|
+
children: [
|
|
31
|
+
children,
|
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx(radixUi.Tooltip.Arrow, { className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
) });
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
exports.Tooltip = Tooltip;
|
|
39
|
+
exports.TooltipContent = TooltipContent;
|
|
40
|
+
exports.TooltipTrigger = TooltipTrigger;
|
|
@@ -13,7 +13,7 @@ function DialogClose(props) {
|
|
|
13
13
|
}
|
|
14
14
|
var dialogContentVariants = cva(
|
|
15
15
|
[
|
|
16
|
-
"bg-background border-border fixed
|
|
16
|
+
"bg-background border-border fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-1rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded border p-6 shadow-lg duration-200",
|
|
17
17
|
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 "
|
|
18
18
|
],
|
|
19
19
|
{
|
|
@@ -7,7 +7,7 @@ var classVarianceAuthority = require('class-variance-authority');
|
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
|
|
9
9
|
var itemVariants = classVarianceAuthority.cva(
|
|
10
|
-
"group/item [a]:hover:bg-accent/50
|
|
10
|
+
"group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 flex flex-wrap items-center rounded border border-transparent text-sm transition-colors duration-100 outline-none focus-visible:ring [a]:transition-colors",
|
|
11
11
|
{
|
|
12
12
|
variants: {
|
|
13
13
|
variant: {
|
|
@@ -34,10 +34,10 @@ var fieldVariants = classVarianceAuthority.cva("group/field data-[invalid=true]:
|
|
|
34
34
|
horizontal: [
|
|
35
35
|
"flex-row items-center",
|
|
36
36
|
"[&>[data-slot=field-label]]:flex-auto",
|
|
37
|
-
"has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px
|
|
37
|
+
"has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
38
38
|
],
|
|
39
39
|
responsive: [
|
|
40
|
-
"@md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto
|
|
40
|
+
"flex-col @md/field-group:flex-row @md/field-group:items-center [&>*]:w-full @md/field-group:[&>*]:w-auto [&>.sr-only]:w-auto",
|
|
41
41
|
"@md/field-group:[&>[data-slot=field-label]]:flex-auto",
|
|
42
42
|
"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
|
|
43
43
|
]
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { cn } from './chunk-ZD2QRAOX.js';
|
|
2
|
+
import { ChevronDownIcon, ChevronUpIcon, CheckIcon } from 'lucide-react';
|
|
3
|
+
import { Select as Select$1 } from 'radix-ui';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
function Select({
|
|
7
|
+
children,
|
|
8
|
+
disabled,
|
|
9
|
+
defaultOpen,
|
|
10
|
+
defaultValue,
|
|
11
|
+
value,
|
|
12
|
+
dir,
|
|
13
|
+
open,
|
|
14
|
+
form,
|
|
15
|
+
name,
|
|
16
|
+
onOpenChange,
|
|
17
|
+
onValueChange,
|
|
18
|
+
required,
|
|
19
|
+
autoComplete,
|
|
20
|
+
// value props
|
|
21
|
+
placeholder,
|
|
22
|
+
// trigger props
|
|
23
|
+
className,
|
|
24
|
+
size = "default",
|
|
25
|
+
invalid = false,
|
|
26
|
+
...triggerProps
|
|
27
|
+
}) {
|
|
28
|
+
const rootProps = {
|
|
29
|
+
children,
|
|
30
|
+
disabled,
|
|
31
|
+
defaultOpen,
|
|
32
|
+
defaultValue,
|
|
33
|
+
value,
|
|
34
|
+
dir,
|
|
35
|
+
open,
|
|
36
|
+
form,
|
|
37
|
+
name,
|
|
38
|
+
onOpenChange,
|
|
39
|
+
onValueChange,
|
|
40
|
+
required,
|
|
41
|
+
autoComplete
|
|
42
|
+
};
|
|
43
|
+
return /* @__PURE__ */ jsxs(Select$1.Root, { "data-slot": "select", ...rootProps, children: [
|
|
44
|
+
/* @__PURE__ */ jsxs(
|
|
45
|
+
Select$1.Trigger,
|
|
46
|
+
{
|
|
47
|
+
"data-slot": "select-trigger",
|
|
48
|
+
"aria-invalid": triggerProps["aria-invalid"] || invalid ? true : void 0,
|
|
49
|
+
"data-size": size,
|
|
50
|
+
className: cn(
|
|
51
|
+
"border-input dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none",
|
|
52
|
+
"*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",
|
|
53
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
54
|
+
"aria-invalid:ring-error/20 dark:aria-invalid:ring-error/40 aria-invalid:border-error",
|
|
55
|
+
"data-[size=default]:h-9 data-[size=sm]:h-8",
|
|
56
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
57
|
+
"[&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
58
|
+
"data-[placeholder]:text-muted-foreground",
|
|
59
|
+
className
|
|
60
|
+
),
|
|
61
|
+
...triggerProps,
|
|
62
|
+
children: [
|
|
63
|
+
/* @__PURE__ */ jsx(Select$1.Value, { "data-slot": "select-value", placeholder }),
|
|
64
|
+
/* @__PURE__ */ jsx(Select$1.Icon, { asChild: true, children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
children
|
|
69
|
+
] });
|
|
70
|
+
}
|
|
71
|
+
function SelectContent({
|
|
72
|
+
className,
|
|
73
|
+
children,
|
|
74
|
+
position = "popper",
|
|
75
|
+
align = "center",
|
|
76
|
+
...props
|
|
77
|
+
}) {
|
|
78
|
+
return /* @__PURE__ */ jsx(Select$1.Portal, { children: /* @__PURE__ */ jsxs(
|
|
79
|
+
Select$1.Content,
|
|
80
|
+
{
|
|
81
|
+
"data-slot": "select-content",
|
|
82
|
+
className: cn(
|
|
83
|
+
"bg-popover text-popover-foreground border-border relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded border shadow-sm",
|
|
84
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
|
|
85
|
+
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
86
|
+
className
|
|
87
|
+
),
|
|
88
|
+
position,
|
|
89
|
+
align,
|
|
90
|
+
...props,
|
|
91
|
+
children: [
|
|
92
|
+
/* @__PURE__ */ jsx(SelectScrollUpButton, {}),
|
|
93
|
+
/* @__PURE__ */ jsx(
|
|
94
|
+
Select$1.Viewport,
|
|
95
|
+
{
|
|
96
|
+
className: cn(
|
|
97
|
+
"p-1",
|
|
98
|
+
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
99
|
+
),
|
|
100
|
+
children
|
|
101
|
+
}
|
|
102
|
+
),
|
|
103
|
+
/* @__PURE__ */ jsx(SelectScrollDownButton, {})
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
) });
|
|
107
|
+
}
|
|
108
|
+
function SelectScrollUpButton({ className, ...props }) {
|
|
109
|
+
return /* @__PURE__ */ jsx(
|
|
110
|
+
Select$1.ScrollUpButton,
|
|
111
|
+
{
|
|
112
|
+
"data-slot": "select-scroll-up-button",
|
|
113
|
+
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
114
|
+
...props,
|
|
115
|
+
children: /* @__PURE__ */ jsx(ChevronUpIcon, { className: "size-4" })
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
function SelectScrollDownButton({
|
|
120
|
+
className,
|
|
121
|
+
...props
|
|
122
|
+
}) {
|
|
123
|
+
return /* @__PURE__ */ jsx(
|
|
124
|
+
Select$1.ScrollDownButton,
|
|
125
|
+
{
|
|
126
|
+
"data-slot": "select-scroll-down-button",
|
|
127
|
+
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
128
|
+
...props,
|
|
129
|
+
children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
function SelectGroup(props) {
|
|
134
|
+
return /* @__PURE__ */ jsx(Select$1.Group, { "data-slot": "select-group", ...props });
|
|
135
|
+
}
|
|
136
|
+
function SelectItem({ className, children, ...props }) {
|
|
137
|
+
return /* @__PURE__ */ jsxs(
|
|
138
|
+
Select$1.Item,
|
|
139
|
+
{
|
|
140
|
+
"data-slot": "select-item",
|
|
141
|
+
className: cn(
|
|
142
|
+
"focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
143
|
+
"data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
144
|
+
"[&_svg:not([class*='text-'])]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
145
|
+
className
|
|
146
|
+
),
|
|
147
|
+
...props,
|
|
148
|
+
children: [
|
|
149
|
+
/* @__PURE__ */ jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(Select$1.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-4" }) }) }),
|
|
150
|
+
/* @__PURE__ */ jsx(Select$1.ItemText, { children })
|
|
151
|
+
]
|
|
152
|
+
}
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
function SelectLabel({ className, ...props }) {
|
|
156
|
+
return /* @__PURE__ */ jsx(
|
|
157
|
+
Select$1.Label,
|
|
158
|
+
{
|
|
159
|
+
"data-slot": "select-label",
|
|
160
|
+
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
161
|
+
...props
|
|
162
|
+
}
|
|
163
|
+
);
|
|
164
|
+
}
|
|
165
|
+
function SelectSeparator({ className, ...props }) {
|
|
166
|
+
return /* @__PURE__ */ jsx(
|
|
167
|
+
Select$1.Separator,
|
|
168
|
+
{
|
|
169
|
+
"data-slot": "select-separator",
|
|
170
|
+
className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
|
|
171
|
+
...props
|
|
172
|
+
}
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator };
|
|
@@ -5,7 +5,7 @@ import { cva } from 'class-variance-authority';
|
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
7
7
|
var itemVariants = cva(
|
|
8
|
-
"group/item [a]:hover:bg-accent/50
|
|
8
|
+
"group/item [a]:hover:bg-accent/50 focus-visible:border-ring focus-visible:ring-ring/50 flex flex-wrap items-center rounded border border-transparent text-sm transition-colors duration-100 outline-none focus-visible:ring [a]:transition-colors",
|
|
9
9
|
{
|
|
10
10
|
variants: {
|
|
11
11
|
variant: {
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { Spinner } from './chunk-P5IUC7HJ.js';
|
|
2
|
-
import { useComposedRefs } from './chunk-O7QFYWMK.js';
|
|
3
|
-
import { useLazyRef, useIsomorphicLayoutEffect } from './chunk-DFD2WUOU.js';
|
|
4
2
|
import { useDirection, Direction } from './chunk-H5O5L6XT.js';
|
|
3
|
+
import { useLazyRef, useIsomorphicLayoutEffect } from './chunk-DFD2WUOU.js';
|
|
5
4
|
import { cn } from './chunk-ZD2QRAOX.js';
|
|
6
|
-
import * as
|
|
5
|
+
import * as React6 from 'react';
|
|
7
6
|
import { Slot } from '@radix-ui/react-slot';
|
|
8
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
8
|
import { OctagonXIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon } from 'lucide-react';
|
|
@@ -37,9 +36,9 @@ var STEPPER_MAP_KEY_TO_FOCUS_INTENT = {
|
|
|
37
36
|
};
|
|
38
37
|
|
|
39
38
|
// src/components/stepper/stepper.context.tsx
|
|
40
|
-
var StepperContext =
|
|
39
|
+
var StepperContext = React6.createContext(null);
|
|
41
40
|
function useStepperContext(consumerName) {
|
|
42
|
-
const context =
|
|
41
|
+
const context = React6.useContext(StepperContext);
|
|
43
42
|
if (!context) {
|
|
44
43
|
throw new Error(`\`${consumerName}\` must be used within \`${STEPPER_ROOT_NAME}\``);
|
|
45
44
|
}
|
|
@@ -129,9 +128,9 @@ function createStepperStore(listenersRef, stateRef, onValueChange, onValueComple
|
|
|
129
128
|
};
|
|
130
129
|
return store;
|
|
131
130
|
}
|
|
132
|
-
var StepperStoreContext =
|
|
131
|
+
var StepperStoreContext = React6.createContext(null);
|
|
133
132
|
function useStepperStoreContext(consumerName) {
|
|
134
|
-
const context =
|
|
133
|
+
const context = React6.useContext(StepperStoreContext);
|
|
135
134
|
if (!context) {
|
|
136
135
|
throw new Error(`\`${consumerName}\` must be used within \`${STEPPER_ROOT_NAME}\``);
|
|
137
136
|
}
|
|
@@ -139,8 +138,8 @@ function useStepperStoreContext(consumerName) {
|
|
|
139
138
|
}
|
|
140
139
|
function useStepperStore(selector) {
|
|
141
140
|
const store = useStepperStoreContext("useStore");
|
|
142
|
-
const getSnapshot =
|
|
143
|
-
return
|
|
141
|
+
const getSnapshot = React6.useCallback(() => selector(store.getState()), [selector, store]);
|
|
142
|
+
return React6.useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);
|
|
144
143
|
}
|
|
145
144
|
function Stepper({
|
|
146
145
|
value,
|
|
@@ -162,14 +161,14 @@ function Stepper({
|
|
|
162
161
|
indicators = {},
|
|
163
162
|
...rootProps
|
|
164
163
|
}) {
|
|
165
|
-
const id =
|
|
164
|
+
const id = React6.useId();
|
|
166
165
|
const rootId = idProp ?? id;
|
|
167
166
|
const listenersRef = useLazyRef(() => /* @__PURE__ */ new Set());
|
|
168
167
|
const stateRef = useLazyRef(() => ({
|
|
169
168
|
steps: /* @__PURE__ */ new Map(),
|
|
170
169
|
value: value ?? defaultValue
|
|
171
170
|
}));
|
|
172
|
-
const store =
|
|
171
|
+
const store = React6.useMemo(
|
|
173
172
|
() => createStepperStore(listenersRef, stateRef, onValueChange, onValueComplete, onValueAdd, onValueRemove, onValidate),
|
|
174
173
|
[listenersRef, stateRef, onValueChange, onValueComplete, onValueAdd, onValueRemove, onValidate]
|
|
175
174
|
);
|
|
@@ -179,7 +178,7 @@ function Stepper({
|
|
|
179
178
|
}
|
|
180
179
|
}, [value]);
|
|
181
180
|
const dir = useDirection(dirProp);
|
|
182
|
-
const contextValue =
|
|
181
|
+
const contextValue = React6.useMemo(
|
|
183
182
|
() => ({
|
|
184
183
|
id: rootId,
|
|
185
184
|
dir,
|
|
@@ -231,14 +230,48 @@ var StepperDataState = {
|
|
|
231
230
|
ACTIVE: "active",
|
|
232
231
|
COMPLETED: "completed"
|
|
233
232
|
};
|
|
234
|
-
var StepperFocusContext =
|
|
233
|
+
var StepperFocusContext = React6.createContext(null);
|
|
235
234
|
function useStepperFocusContext(consumerName) {
|
|
236
|
-
const context =
|
|
235
|
+
const context = React6.useContext(StepperFocusContext);
|
|
237
236
|
if (!context) {
|
|
238
237
|
throw new Error(`\`${consumerName}\` must be used within \`FocusProvider\``);
|
|
239
238
|
}
|
|
240
239
|
return context;
|
|
241
240
|
}
|
|
241
|
+
function setRef(ref, value) {
|
|
242
|
+
if (typeof ref === "function") {
|
|
243
|
+
return ref(value);
|
|
244
|
+
} else if (ref !== null && ref !== void 0) {
|
|
245
|
+
ref.current = value;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
function composeRefs(...refs) {
|
|
249
|
+
return (node) => {
|
|
250
|
+
let hasCleanup = false;
|
|
251
|
+
const cleanups = refs.map((ref) => {
|
|
252
|
+
const cleanup = setRef(ref, node);
|
|
253
|
+
if (!hasCleanup && typeof cleanup == "function") {
|
|
254
|
+
hasCleanup = true;
|
|
255
|
+
}
|
|
256
|
+
return cleanup;
|
|
257
|
+
});
|
|
258
|
+
if (hasCleanup) {
|
|
259
|
+
return () => {
|
|
260
|
+
for (let i = 0; i < cleanups.length; i++) {
|
|
261
|
+
const cleanup = cleanups[i];
|
|
262
|
+
if (typeof cleanup == "function") {
|
|
263
|
+
cleanup();
|
|
264
|
+
} else {
|
|
265
|
+
setRef(refs[i], null);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
function useComposedRefs(...refs) {
|
|
273
|
+
return React6.useCallback(composeRefs(...refs), refs);
|
|
274
|
+
}
|
|
242
275
|
|
|
243
276
|
// src/components/stepper/stepper.utils.tsx
|
|
244
277
|
function focusFirst(candidates, preventScroll = false) {
|
|
@@ -288,32 +321,32 @@ function StepperNav({ className, children, asChild, ref, ...listProps }) {
|
|
|
288
321
|
const context = useStepperContext(STEPPER_NAV_NAME);
|
|
289
322
|
const orientation = context.orientation;
|
|
290
323
|
const currentValue = useStepperStore((state) => state.value);
|
|
291
|
-
const [tabStopId, setTabStopId] =
|
|
292
|
-
const [isTabbingBackOut, setIsTabbingBackOut] =
|
|
293
|
-
const [focusableItemCount, setFocusableItemCount] =
|
|
294
|
-
const isClickFocusRef =
|
|
295
|
-
const itemsRef =
|
|
296
|
-
const listRef =
|
|
324
|
+
const [tabStopId, setTabStopId] = React6.useState(null);
|
|
325
|
+
const [isTabbingBackOut, setIsTabbingBackOut] = React6.useState(false);
|
|
326
|
+
const [focusableItemCount, setFocusableItemCount] = React6.useState(0);
|
|
327
|
+
const isClickFocusRef = React6.useRef(false);
|
|
328
|
+
const itemsRef = React6.useRef(/* @__PURE__ */ new Map());
|
|
329
|
+
const listRef = React6.useRef(null);
|
|
297
330
|
const composedRef = useComposedRefs(ref, listRef);
|
|
298
|
-
const onItemFocus =
|
|
331
|
+
const onItemFocus = React6.useCallback((tabStopId2) => {
|
|
299
332
|
setTabStopId(tabStopId2);
|
|
300
333
|
}, []);
|
|
301
|
-
const onItemShiftTab =
|
|
334
|
+
const onItemShiftTab = React6.useCallback(() => {
|
|
302
335
|
setIsTabbingBackOut(true);
|
|
303
336
|
}, []);
|
|
304
|
-
const onFocusableItemAdd =
|
|
337
|
+
const onFocusableItemAdd = React6.useCallback(() => {
|
|
305
338
|
setFocusableItemCount((prevCount) => prevCount + 1);
|
|
306
339
|
}, []);
|
|
307
|
-
const onFocusableItemRemove =
|
|
340
|
+
const onFocusableItemRemove = React6.useCallback(() => {
|
|
308
341
|
setFocusableItemCount((prevCount) => prevCount - 1);
|
|
309
342
|
}, []);
|
|
310
|
-
const onItemRegister =
|
|
343
|
+
const onItemRegister = React6.useCallback((item) => {
|
|
311
344
|
itemsRef.current.set(item.id, item);
|
|
312
345
|
}, []);
|
|
313
|
-
const onItemUnregister =
|
|
346
|
+
const onItemUnregister = React6.useCallback((id) => {
|
|
314
347
|
itemsRef.current.delete(id);
|
|
315
348
|
}, []);
|
|
316
|
-
const getItems =
|
|
349
|
+
const getItems = React6.useCallback(() => {
|
|
317
350
|
return Array.from(itemsRef.current.values()).filter((item) => item.ref.current).sort((a, b) => {
|
|
318
351
|
const elementA = a.ref.current;
|
|
319
352
|
const elementB = b.ref.current;
|
|
@@ -328,15 +361,16 @@ function StepperNav({ className, children, asChild, ref, ...listProps }) {
|
|
|
328
361
|
return 0;
|
|
329
362
|
});
|
|
330
363
|
}, []);
|
|
331
|
-
const onBlur =
|
|
364
|
+
const onBlur = React6.useCallback(
|
|
332
365
|
(event) => {
|
|
333
366
|
listProps.onBlur?.(event);
|
|
334
367
|
if (event.defaultPrevented) return;
|
|
335
368
|
setIsTabbingBackOut(false);
|
|
336
369
|
},
|
|
370
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
337
371
|
[listProps.onBlur]
|
|
338
372
|
);
|
|
339
|
-
const onFocus =
|
|
373
|
+
const onFocus = React6.useCallback(
|
|
340
374
|
(event) => {
|
|
341
375
|
listProps.onFocus?.(event);
|
|
342
376
|
if (event.defaultPrevented) return;
|
|
@@ -361,7 +395,7 @@ function StepperNav({ className, children, asChild, ref, ...listProps }) {
|
|
|
361
395
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
362
396
|
[listProps.onFocus, isTabbingBackOut, currentValue, tabStopId]
|
|
363
397
|
);
|
|
364
|
-
const onMouseDown =
|
|
398
|
+
const onMouseDown = React6.useCallback(
|
|
365
399
|
(event) => {
|
|
366
400
|
listProps.onMouseDown?.(event);
|
|
367
401
|
if (event.defaultPrevented) return;
|
|
@@ -370,7 +404,7 @@ function StepperNav({ className, children, asChild, ref, ...listProps }) {
|
|
|
370
404
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
371
405
|
[listProps.onMouseDown]
|
|
372
406
|
);
|
|
373
|
-
const focusContextValue =
|
|
407
|
+
const focusContextValue = React6.useMemo(
|
|
374
408
|
() => ({
|
|
375
409
|
tabStopId,
|
|
376
410
|
onItemFocus,
|
|
@@ -416,9 +450,9 @@ function StepperNav({ className, children, asChild, ref, ...listProps }) {
|
|
|
416
450
|
}
|
|
417
451
|
) });
|
|
418
452
|
}
|
|
419
|
-
var StepperItemContext =
|
|
453
|
+
var StepperItemContext = React6.createContext(null);
|
|
420
454
|
function useStepperItemContext(consumerName) {
|
|
421
|
-
const context =
|
|
455
|
+
const context = React6.useContext(StepperItemContext);
|
|
422
456
|
if (!context) {
|
|
423
457
|
throw new Error(`\`${consumerName}\` must be used within \`${STEPPER_ITEM_NAME}\``);
|
|
424
458
|
}
|
|
@@ -449,7 +483,7 @@ function StepperItem({
|
|
|
449
483
|
const stepState = useStepperStore((state) => state.steps.get(itemValue));
|
|
450
484
|
const steps = useStepperStore((state) => state.steps);
|
|
451
485
|
const dataState = getDataState(value, itemValue, stepState, steps);
|
|
452
|
-
const itemContextValue =
|
|
486
|
+
const itemContextValue = React6.useMemo(
|
|
453
487
|
() => ({
|
|
454
488
|
value: itemValue,
|
|
455
489
|
stepState
|
|
@@ -511,11 +545,11 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
|
|
|
511
545
|
const isActive = value === itemValue;
|
|
512
546
|
const isTabStop = focusContext.tabStopId === triggerId;
|
|
513
547
|
const dataState = getDataState(value, itemValue, stepState, steps);
|
|
514
|
-
const triggerRef =
|
|
548
|
+
const triggerRef = React6.useRef(null);
|
|
515
549
|
const composedRef = useComposedRefs(ref, triggerRef);
|
|
516
|
-
const isArrowKeyPressedRef =
|
|
517
|
-
const isMouseClickRef =
|
|
518
|
-
|
|
550
|
+
const isArrowKeyPressedRef = React6.useRef(false);
|
|
551
|
+
const isMouseClickRef = React6.useRef(false);
|
|
552
|
+
React6.useEffect(() => {
|
|
519
553
|
function onKeyDown2(event) {
|
|
520
554
|
if (STEPPER_ARROW_KEYS.includes(event.key)) {
|
|
521
555
|
isArrowKeyPressedRef.current = true;
|
|
@@ -549,7 +583,7 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
|
|
|
549
583
|
}
|
|
550
584
|
};
|
|
551
585
|
}, [focusContext, triggerId, itemValue, isTabStop, isDisabled]);
|
|
552
|
-
const onClick =
|
|
586
|
+
const onClick = React6.useCallback(
|
|
553
587
|
async (event) => {
|
|
554
588
|
triggerProps.onClick?.(event);
|
|
555
589
|
if (event.defaultPrevented) return;
|
|
@@ -563,7 +597,7 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
|
|
|
563
597
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
564
598
|
[isDisabled, context.nonInteractive, store, itemValue, value, steps, triggerProps.onClick]
|
|
565
599
|
);
|
|
566
|
-
const onFocus =
|
|
600
|
+
const onFocus = React6.useCallback(
|
|
567
601
|
async (event) => {
|
|
568
602
|
triggerProps.onFocus?.(event);
|
|
569
603
|
if (event.defaultPrevented) return;
|
|
@@ -591,7 +625,7 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
|
|
|
591
625
|
store
|
|
592
626
|
]
|
|
593
627
|
);
|
|
594
|
-
const onKeyDown =
|
|
628
|
+
const onKeyDown = React6.useCallback(
|
|
595
629
|
async (event) => {
|
|
596
630
|
triggerProps.onKeyDown?.(event);
|
|
597
631
|
if (event.defaultPrevented) return;
|
|
@@ -645,6 +679,7 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
|
|
|
645
679
|
queueMicrotask(() => focusFirst(candidateRefs));
|
|
646
680
|
}
|
|
647
681
|
},
|
|
682
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
648
683
|
[
|
|
649
684
|
focusContext,
|
|
650
685
|
context.nonInteractive,
|
|
@@ -660,7 +695,7 @@ function StepperTrigger({ asChild, disabled, className, ref, ...triggerProps })
|
|
|
660
695
|
steps
|
|
661
696
|
]
|
|
662
697
|
);
|
|
663
|
-
const onMouseDown =
|
|
698
|
+
const onMouseDown = React6.useCallback(
|
|
664
699
|
(event) => {
|
|
665
700
|
triggerProps.onMouseDown?.(event);
|
|
666
701
|
if (event.defaultPrevented) {
|
|
@@ -821,7 +856,7 @@ function StepperNextTrigger({ asChild = false, onClick, disabled, ...props }) {
|
|
|
821
856
|
const stepKeys = Array.from(steps.keys());
|
|
822
857
|
const currentIndex = value ? stepKeys.indexOf(value) : -1;
|
|
823
858
|
const isDisabled = disabled || currentIndex >= stepKeys.length - 1;
|
|
824
|
-
const handleClick =
|
|
859
|
+
const handleClick = React6.useCallback(
|
|
825
860
|
async (event) => {
|
|
826
861
|
onClick?.(event);
|
|
827
862
|
if (event.defaultPrevented || isDisabled) {
|
|
@@ -854,7 +889,7 @@ function StepperPrevTrigger({ asChild = false, disabled, onClick, ...props }) {
|
|
|
854
889
|
const stepKeys = Array.from(steps.keys());
|
|
855
890
|
const currentIndex = value ? stepKeys.indexOf(value) : -1;
|
|
856
891
|
const isDisabled = disabled || currentIndex <= 0;
|
|
857
|
-
const handleClick =
|
|
892
|
+
const handleClick = React6.useCallback(
|
|
858
893
|
async (event) => {
|
|
859
894
|
onClick?.(event);
|
|
860
895
|
if (event.defaultPrevented || isDisabled) {
|
|
@@ -905,9 +940,9 @@ var Toaster = ({ theme = "system", ...props }) => {
|
|
|
905
940
|
};
|
|
906
941
|
var buttonVariants = cva(
|
|
907
942
|
[
|
|
908
|
-
"inline-flex shrink-0 items-center justify-center gap-2
|
|
943
|
+
"inline-flex shrink-0 items-center justify-center gap-2 rounded text-sm font-medium whitespace-nowrap transition-all outline-none",
|
|
909
944
|
"disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50",
|
|
910
|
-
"[&_svg:not([class*='size-'])]:size-4
|
|
945
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
911
946
|
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring",
|
|
912
947
|
"aria-invalid:ring-error/20 dark:aria-invalid:ring-error/40 aria-invalid:border-error"
|
|
913
948
|
],
|
|
@@ -916,7 +951,7 @@ var buttonVariants = cva(
|
|
|
916
951
|
variant: {
|
|
917
952
|
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
918
953
|
error: "bg-error hover:bg-error/90 focus-visible:ring-error/20 dark:focus-visible:ring-error/40 dark:bg-error/60 text-white",
|
|
919
|
-
outline: "bg-background
|
|
954
|
+
outline: "bg-background hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border shadow-xs",
|
|
920
955
|
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
921
956
|
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
922
957
|
link: "text-primary underline-offset-4 hover:underline"
|
|
@@ -1001,15 +1036,15 @@ function ButtonContent({
|
|
|
1001
1036
|
const isEndLoading = loading && loadingPosition === "end";
|
|
1002
1037
|
const EndIcon = isEndLoading ? /* @__PURE__ */ jsx(Spinner, { "aria-label": "Loading" }) : endIcon || null;
|
|
1003
1038
|
const isCenterLoading = loading && loadingPosition === "center";
|
|
1004
|
-
return asChild &&
|
|
1039
|
+
return asChild && React6.isValidElement(children) ? React6.cloneElement(
|
|
1005
1040
|
children,
|
|
1006
1041
|
props,
|
|
1007
|
-
/* @__PURE__ */ jsxs(
|
|
1042
|
+
/* @__PURE__ */ jsxs(React6.Fragment, { children: [
|
|
1008
1043
|
StartIcon,
|
|
1009
|
-
isCenterLoading ? /* @__PURE__ */ jsx(Spinner, { "aria-label": "Loading" }) :
|
|
1044
|
+
isCenterLoading ? /* @__PURE__ */ jsx(Spinner, { "aria-label": "Loading" }) : React6.isValidElement(children) ? children.props?.children : null,
|
|
1010
1045
|
EndIcon
|
|
1011
1046
|
] })
|
|
1012
|
-
) : /* @__PURE__ */ jsxs(
|
|
1047
|
+
) : /* @__PURE__ */ jsxs(React6.Fragment, { children: [
|
|
1013
1048
|
StartIcon,
|
|
1014
1049
|
isCenterLoading ? /* @__PURE__ */ jsx(Spinner, { "aria-label": "Loading" }) : children,
|
|
1015
1050
|
EndIcon
|