@moduix/solid-tailwind 1.0.0 → 1.1.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/components/accordion/Accordion.js +19 -13
- package/dist/components/accordion/Accordion.jsx +7 -7
- package/dist/components/alert/Alert.js +19 -13
- package/dist/components/alert/Alert.jsx +7 -7
- package/dist/components/angle-slider/AngleSlider.d.ts +2 -6
- package/dist/components/angle-slider/AngleSlider.js +21 -16
- package/dist/components/angle-slider/AngleSlider.jsx +10 -11
- package/dist/components/avatar/Avatar.js +10 -7
- package/dist/components/avatar/Avatar.jsx +6 -6
- package/dist/components/bleed/Bleed.js +1 -1
- package/dist/components/bleed/Bleed.jsx +1 -1
- package/dist/components/button/Button.js +1 -6
- package/dist/components/button/Button.jsx +2 -4
- package/dist/components/card/Card.js +54 -44
- package/dist/components/card/Card.jsx +12 -12
- package/dist/components/carousel/Carousel.d.ts +1 -1
- package/dist/components/carousel/Carousel.js +32 -23
- package/dist/components/carousel/Carousel.jsx +12 -13
- package/dist/components/checkbox/Checkbox.js +16 -14
- package/dist/components/checkbox/Checkbox.jsx +6 -6
- package/dist/components/clipboard/Clipboard.js +28 -17
- package/dist/components/clipboard/Clipboard.jsx +12 -11
- package/dist/components/collapsible/Collapsible.js +16 -11
- package/dist/components/collapsible/Collapsible.jsx +6 -6
- package/dist/components/color-picker/ColorPicker.js +69 -48
- package/dist/components/color-picker/ColorPicker.jsx +28 -28
- package/dist/components/combobox/Combobox.js +44 -31
- package/dist/components/combobox/Combobox.jsx +18 -18
- package/dist/components/command-palette/CommandPalette.js +71 -52
- package/dist/components/command-palette/CommandPalette.jsx +28 -31
- package/dist/components/container/Container.js +5 -5
- package/dist/components/container/Container.jsx +5 -5
- package/dist/components/date-input/DateInput.js +18 -12
- package/dist/components/date-input/DateInput.jsx +7 -7
- package/dist/components/date-picker/DatePicker.js +73 -51
- package/dist/components/date-picker/DatePicker.jsx +29 -29
- package/dist/components/dialog/Dialog.js +30 -20
- package/dist/components/dialog/Dialog.jsx +10 -10
- package/dist/components/drawer/Drawer.js +45 -30
- package/dist/components/drawer/Drawer.jsx +15 -15
- package/dist/components/editable/Editable.js +24 -17
- package/dist/components/editable/Editable.jsx +10 -10
- package/dist/components/empty/Empty.js +1 -1
- package/dist/components/empty/Empty.jsx +1 -1
- package/dist/components/file-upload/FileUpload.js +39 -28
- package/dist/components/file-upload/FileUpload.jsx +17 -17
- package/dist/components/floating-panel/FloatingPanel.js +35 -23
- package/dist/components/floating-panel/FloatingPanel.jsx +12 -12
- package/dist/components/hover-card/HoverCard.js +16 -11
- package/dist/components/hover-card/HoverCard.jsx +6 -6
- package/dist/components/image-cropper/ImageCropper.js +21 -14
- package/dist/components/image-cropper/ImageCropper.jsx +7 -7
- package/dist/components/input-group/InputGroup.js +3 -2
- package/dist/components/input-group/InputGroup.jsx +3 -2
- package/dist/components/json-tree-view/JsonTreeView.js +1 -1
- package/dist/components/json-tree-view/JsonTreeView.jsx +1 -1
- package/dist/components/lightbox/Lightbox.d.ts +1 -0
- package/dist/components/lightbox/Lightbox.js +41 -27
- package/dist/components/lightbox/Lightbox.jsx +13 -12
- package/dist/components/listbox/Listbox.js +48 -32
- package/dist/components/listbox/Listbox.jsx +17 -17
- package/dist/components/marquee/Marquee.js +18 -12
- package/dist/components/marquee/Marquee.jsx +9 -9
- package/dist/components/menu/Menu.js +66 -44
- package/dist/components/menu/Menu.jsx +28 -28
- package/dist/components/navigation-menu/NavigationMenu.js +36 -24
- package/dist/components/navigation-menu/NavigationMenu.jsx +12 -12
- package/dist/components/number-input/NumberInput.js +19 -14
- package/dist/components/number-input/NumberInput.jsx +9 -9
- package/dist/components/pagination/Pagination.js +10 -9
- package/dist/components/pagination/Pagination.jsx +8 -8
- package/dist/components/password-input/PasswordInput.js +16 -11
- package/dist/components/password-input/PasswordInput.jsx +6 -6
- package/dist/components/pin-input/PinInput.js +15 -10
- package/dist/components/pin-input/PinInput.jsx +6 -6
- package/dist/components/popover/Popover.js +37 -25
- package/dist/components/popover/Popover.jsx +13 -13
- package/dist/components/progress-circular/ProgressCircular.js +18 -13
- package/dist/components/progress-circular/ProgressCircular.jsx +8 -8
- package/dist/components/progress-linear/ProgressLinear.js +17 -12
- package/dist/components/progress-linear/ProgressLinear.jsx +7 -7
- package/dist/components/qr-code/QrCode.js +8 -7
- package/dist/components/qr-code/QrCode.jsx +6 -6
- package/dist/components/rating-group/RatingGroup.js +15 -10
- package/dist/components/rating-group/RatingGroup.jsx +6 -6
- package/dist/components/segment-group/SegmentGroup.js +17 -12
- package/dist/components/segment-group/SegmentGroup.jsx +7 -7
- package/dist/components/select/Select.js +50 -35
- package/dist/components/select/Select.jsx +20 -20
- package/dist/components/sidebar/Sidebar.js +72 -43
- package/dist/components/sidebar/Sidebar.jsx +34 -27
- package/dist/components/signature-pad/SignaturePad.js +16 -12
- package/dist/components/signature-pad/SignaturePad.jsx +8 -8
- package/dist/components/slider/Slider.js +29 -20
- package/dist/components/slider/Slider.jsx +11 -11
- package/dist/components/split-button/SplitButton.d.ts +4 -3
- package/dist/components/split-button/SplitButton.js +20 -9
- package/dist/components/split-button/SplitButton.jsx +13 -7
- package/dist/components/splitter/Splitter.js +13 -9
- package/dist/components/splitter/Splitter.jsx +5 -5
- package/dist/components/steps/Steps.js +34 -23
- package/dist/components/steps/Steps.jsx +12 -12
- package/dist/components/swap/Swap.js +9 -6
- package/dist/components/swap/Swap.jsx +3 -3
- package/dist/components/switch/Switch.js +9 -7
- package/dist/components/switch/Switch.jsx +5 -5
- package/dist/components/tabs/Tabs.js +18 -12
- package/dist/components/tabs/Tabs.jsx +6 -6
- package/dist/components/tags-input/TagsInput.js +28 -20
- package/dist/components/tags-input/TagsInput.jsx +12 -12
- package/dist/components/timer/Timer.js +21 -14
- package/dist/components/timer/Timer.jsx +7 -7
- package/dist/components/toast/Toast.js +11 -9
- package/dist/components/toast/Toast.jsx +7 -7
- package/dist/components/toc/Toc.js +31 -20
- package/dist/components/toc/Toc.jsx +10 -10
- package/dist/components/tooltip/Tooltip.js +13 -9
- package/dist/components/tooltip/Tooltip.jsx +5 -5
- package/dist/components/tour/Tour.js +38 -26
- package/dist/components/tour/Tour.jsx +13 -13
- package/dist/components/tree-view/TreeView.js +39 -28
- package/dist/components/tree-view/TreeView.jsx +17 -17
- package/dist/styles/animations.css +8 -8
- package/package.json +1 -1
|
@@ -9,7 +9,6 @@ function TabsRoot(props) {
|
|
|
9
9
|
'variant'
|
|
10
10
|
]);
|
|
11
11
|
return createComponent(Tabs.Root, mergeProps({
|
|
12
|
-
"data-slot": "tabs-root",
|
|
13
12
|
get ["data-variant"] () {
|
|
14
13
|
return memo(()=>'vertical' === local.orientation)() ? 'default' : local.variant ?? 'default';
|
|
15
14
|
},
|
|
@@ -19,7 +18,9 @@ function TabsRoot(props) {
|
|
|
19
18
|
get orientation () {
|
|
20
19
|
return local.orientation;
|
|
21
20
|
}
|
|
22
|
-
}, others
|
|
21
|
+
}, others, {
|
|
22
|
+
"data-slot": "tabs-root"
|
|
23
|
+
}));
|
|
23
24
|
}
|
|
24
25
|
function TabsRootProvider(props) {
|
|
25
26
|
const [local, others] = splitProps(props, [
|
|
@@ -29,7 +30,6 @@ function TabsRootProvider(props) {
|
|
|
29
30
|
]);
|
|
30
31
|
const orientation = ()=>local.value().getRootProps()['data-orientation'];
|
|
31
32
|
return createComponent(Tabs.RootProvider, mergeProps({
|
|
32
|
-
"data-slot": "tabs-root-provider",
|
|
33
33
|
get ["data-variant"] () {
|
|
34
34
|
return memo(()=>'vertical' === orientation())() ? 'default' : local.variant ?? 'default';
|
|
35
35
|
},
|
|
@@ -39,51 +39,57 @@ function TabsRootProvider(props) {
|
|
|
39
39
|
get value () {
|
|
40
40
|
return local.value;
|
|
41
41
|
}
|
|
42
|
-
}, others
|
|
42
|
+
}, others, {
|
|
43
|
+
"data-slot": "tabs-root-provider"
|
|
44
|
+
}));
|
|
43
45
|
}
|
|
44
46
|
function TabsList(props) {
|
|
45
47
|
const [local, others] = splitProps(props, [
|
|
46
48
|
'class'
|
|
47
49
|
]);
|
|
48
50
|
return createComponent(Tabs.List, mergeProps({
|
|
49
|
-
"data-slot": "tabs-list",
|
|
50
51
|
get ["class"] () {
|
|
51
52
|
return cn('relative z-0 inline-flex w-fit max-w-full items-stretch gap-1 rounded-lg border border-border bg-muted p-1 group-data-[orientation=horizontal]/tabs:overflow-x-auto group-data-[orientation=vertical]/tabs:w-48 group-data-[orientation=vertical]/tabs:min-w-48 group-data-[orientation=vertical]/tabs:flex-col group-data-[variant=line]/tabs:w-full group-data-[variant=line]/tabs:rounded-none group-data-[variant=line]/tabs:border-x-0 group-data-[variant=line]/tabs:border-t-0 group-data-[variant=line]/tabs:bg-transparent group-data-[variant=line]/tabs:px-0 group-data-[orientation=vertical]/tabs:max-[30rem]:w-2/5 group-data-[orientation=vertical]/tabs:max-[30rem]:min-w-0', local.class);
|
|
52
53
|
}
|
|
53
|
-
}, others
|
|
54
|
+
}, others, {
|
|
55
|
+
"data-slot": "tabs-list"
|
|
56
|
+
}));
|
|
54
57
|
}
|
|
55
58
|
function TabsTrigger(props) {
|
|
56
59
|
const [local, others] = splitProps(props, [
|
|
57
60
|
'class'
|
|
58
61
|
]);
|
|
59
62
|
return createComponent(Tabs.Trigger, mergeProps({
|
|
60
|
-
"data-slot": "tabs-trigger",
|
|
61
63
|
get ["class"] () {
|
|
62
64
|
return cn("relative z-1 inline-flex h-8 cursor-pointer items-center justify-center gap-2 rounded-md border-0 bg-transparent px-2.5 text-sm leading-5 font-medium whitespace-nowrap text-muted-foreground no-underline outline-0 transition-[color,opacity] duration-200 ease-in-out select-none focus-visible:before:pointer-events-none focus-visible:before:absolute focus-visible:before:inset-0 focus-visible:before:rounded-[inherit] focus-visible:before:outline-1 focus-visible:before:outline-ring focus-visible:before:content-[''] disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:opacity-50 data-selected:text-foreground motion-reduce:transition-none [&>svg]:size-4 [&>svg]:shrink-0 [@media(hover:hover)]:hover:text-foreground", local.class);
|
|
63
65
|
}
|
|
64
|
-
}, others
|
|
66
|
+
}, others, {
|
|
67
|
+
"data-slot": "tabs-trigger"
|
|
68
|
+
}));
|
|
65
69
|
}
|
|
66
70
|
function TabsIndicator(props) {
|
|
67
71
|
const [local, others] = splitProps(props, [
|
|
68
72
|
'class'
|
|
69
73
|
]);
|
|
70
74
|
return createComponent(Tabs.Indicator, mergeProps({
|
|
71
|
-
"data-slot": "tabs-indicator",
|
|
72
75
|
get ["class"] () {
|
|
73
76
|
return cn('pointer-events-none absolute top-1/2 left-[var(--left,0)] z-0 h-8 w-[var(--width,0)] -translate-y-1/2 rounded-md bg-background shadow-sm transition-[var(--transition-property,translate)] duration-200 ease-in-out group-data-[orientation=vertical]/tabs:top-[var(--top,0)] group-data-[orientation=vertical]/tabs:left-1/2 group-data-[orientation=vertical]/tabs:h-[var(--height,0)] group-data-[orientation=vertical]/tabs:w-[calc(100%-0.5rem)] group-data-[orientation=vertical]/tabs:-translate-x-1/2 group-data-[orientation=vertical]/tabs:translate-y-0 group-data-[variant=line]/tabs:top-auto group-data-[variant=line]/tabs:bottom-0 group-data-[variant=line]/tabs:h-0.5 group-data-[variant=line]/tabs:[translate:none] group-data-[variant=line]/tabs:rounded-full group-data-[variant=line]/tabs:bg-foreground group-data-[variant=line]/tabs:shadow-none motion-reduce:transition-none', local.class);
|
|
74
77
|
}
|
|
75
|
-
}, others
|
|
78
|
+
}, others, {
|
|
79
|
+
"data-slot": "tabs-indicator"
|
|
80
|
+
}));
|
|
76
81
|
}
|
|
77
82
|
function TabsContent(props) {
|
|
78
83
|
const [local, others] = splitProps(props, [
|
|
79
84
|
'class'
|
|
80
85
|
]);
|
|
81
86
|
return createComponent(Tabs.Content, mergeProps({
|
|
82
|
-
"data-slot": "tabs-content",
|
|
83
87
|
get ["class"] () {
|
|
84
88
|
return cn("box-border min-w-0 flex-1 rounded-lg border border-border bg-background p-4 text-sm leading-5 text-foreground outline-0 focus-visible:rounded-[inherit] focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-ring [&[hidden]:not([hidden='until-found'])]:hidden", local.class);
|
|
85
89
|
}
|
|
86
|
-
}, others
|
|
90
|
+
}, others, {
|
|
91
|
+
"data-slot": "tabs-content"
|
|
92
|
+
}));
|
|
87
93
|
}
|
|
88
94
|
const Tabs_Tabs = Object.assign(TabsRoot, {
|
|
89
95
|
Root: TabsRoot,
|
|
@@ -7,7 +7,7 @@ function TabsRoot(props) {
|
|
|
7
7
|
'orientation',
|
|
8
8
|
'variant'
|
|
9
9
|
]);
|
|
10
|
-
return <Tabs.Root data-
|
|
10
|
+
return <Tabs.Root data-variant={'vertical' === local.orientation ? 'default' : local.variant ?? 'default'} class={cn('group/tabs box-border flex w-full min-w-0 flex-col gap-3 text-foreground data-[orientation=vertical]:flex-row data-[orientation=vertical]:items-stretch', local.class)} orientation={local.orientation} {...others} data-slot="tabs-root"/>;
|
|
11
11
|
}
|
|
12
12
|
function TabsRootProvider(props) {
|
|
13
13
|
const [local, others] = splitProps(props, [
|
|
@@ -16,31 +16,31 @@ function TabsRootProvider(props) {
|
|
|
16
16
|
'variant'
|
|
17
17
|
]);
|
|
18
18
|
const orientation = ()=>local.value().getRootProps()['data-orientation'];
|
|
19
|
-
return <Tabs.RootProvider data-
|
|
19
|
+
return <Tabs.RootProvider data-variant={'vertical' === orientation() ? 'default' : local.variant ?? 'default'} class={cn('group/tabs box-border flex w-full min-w-0 flex-col gap-3 text-foreground data-[orientation=vertical]:flex-row data-[orientation=vertical]:items-stretch', local.class)} value={local.value} {...others} data-slot="tabs-root-provider"/>;
|
|
20
20
|
}
|
|
21
21
|
function TabsList(props) {
|
|
22
22
|
const [local, others] = splitProps(props, [
|
|
23
23
|
'class'
|
|
24
24
|
]);
|
|
25
|
-
return <Tabs.List
|
|
25
|
+
return <Tabs.List class={cn('relative z-0 inline-flex w-fit max-w-full items-stretch gap-1 rounded-lg border border-border bg-muted p-1 group-data-[orientation=horizontal]/tabs:overflow-x-auto group-data-[orientation=vertical]/tabs:w-48 group-data-[orientation=vertical]/tabs:min-w-48 group-data-[orientation=vertical]/tabs:flex-col group-data-[variant=line]/tabs:w-full group-data-[variant=line]/tabs:rounded-none group-data-[variant=line]/tabs:border-x-0 group-data-[variant=line]/tabs:border-t-0 group-data-[variant=line]/tabs:bg-transparent group-data-[variant=line]/tabs:px-0 group-data-[orientation=vertical]/tabs:max-[30rem]:w-2/5 group-data-[orientation=vertical]/tabs:max-[30rem]:min-w-0', local.class)} {...others} data-slot="tabs-list"/>;
|
|
26
26
|
}
|
|
27
27
|
function TabsTrigger(props) {
|
|
28
28
|
const [local, others] = splitProps(props, [
|
|
29
29
|
'class'
|
|
30
30
|
]);
|
|
31
|
-
return <Tabs.Trigger
|
|
31
|
+
return <Tabs.Trigger class={cn("relative z-1 inline-flex h-8 cursor-pointer items-center justify-center gap-2 rounded-md border-0 bg-transparent px-2.5 text-sm leading-5 font-medium whitespace-nowrap text-muted-foreground no-underline outline-0 transition-[color,opacity] duration-200 ease-in-out select-none focus-visible:before:pointer-events-none focus-visible:before:absolute focus-visible:before:inset-0 focus-visible:before:rounded-[inherit] focus-visible:before:outline-1 focus-visible:before:outline-ring focus-visible:before:content-[''] disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:opacity-50 data-selected:text-foreground motion-reduce:transition-none [&>svg]:size-4 [&>svg]:shrink-0 [@media(hover:hover)]:hover:text-foreground", local.class)} {...others} data-slot="tabs-trigger"/>;
|
|
32
32
|
}
|
|
33
33
|
function TabsIndicator(props) {
|
|
34
34
|
const [local, others] = splitProps(props, [
|
|
35
35
|
'class'
|
|
36
36
|
]);
|
|
37
|
-
return <Tabs.Indicator
|
|
37
|
+
return <Tabs.Indicator class={cn('pointer-events-none absolute top-1/2 left-[var(--left,0)] z-0 h-8 w-[var(--width,0)] -translate-y-1/2 rounded-md bg-background shadow-sm transition-[var(--transition-property,translate)] duration-200 ease-in-out group-data-[orientation=vertical]/tabs:top-[var(--top,0)] group-data-[orientation=vertical]/tabs:left-1/2 group-data-[orientation=vertical]/tabs:h-[var(--height,0)] group-data-[orientation=vertical]/tabs:w-[calc(100%-0.5rem)] group-data-[orientation=vertical]/tabs:-translate-x-1/2 group-data-[orientation=vertical]/tabs:translate-y-0 group-data-[variant=line]/tabs:top-auto group-data-[variant=line]/tabs:bottom-0 group-data-[variant=line]/tabs:h-0.5 group-data-[variant=line]/tabs:[translate:none] group-data-[variant=line]/tabs:rounded-full group-data-[variant=line]/tabs:bg-foreground group-data-[variant=line]/tabs:shadow-none motion-reduce:transition-none', local.class)} {...others} data-slot="tabs-indicator"/>;
|
|
38
38
|
}
|
|
39
39
|
function TabsContent(props) {
|
|
40
40
|
const [local, others] = splitProps(props, [
|
|
41
41
|
'class'
|
|
42
42
|
]);
|
|
43
|
-
return <Tabs.Content
|
|
43
|
+
return <Tabs.Content class={cn("box-border min-w-0 flex-1 rounded-lg border border-border bg-background p-4 text-sm leading-5 text-foreground outline-0 focus-visible:rounded-[inherit] focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-ring [&[hidden]:not([hidden='until-found'])]:hidden", local.class)} {...others} data-slot="tabs-content"/>;
|
|
44
44
|
}
|
|
45
45
|
const Tabs_Tabs = Object.assign(TabsRoot, {
|
|
46
46
|
Root: TabsRoot,
|
|
@@ -14,11 +14,11 @@ function TagsInputRoot(props) {
|
|
|
14
14
|
get asChild () {
|
|
15
15
|
return local.asChild;
|
|
16
16
|
},
|
|
17
|
-
"data-slot": "tags-input-root",
|
|
18
17
|
get ["class"] () {
|
|
19
18
|
return cn('flex w-full max-w-96 flex-col gap-1 text-foreground data-disabled:opacity-50', local.class);
|
|
20
19
|
}
|
|
21
20
|
}, others, {
|
|
21
|
+
"data-slot": "tags-input-root",
|
|
22
22
|
get children () {
|
|
23
23
|
return local.children;
|
|
24
24
|
}
|
|
@@ -34,11 +34,11 @@ function TagsInputRootProvider(props) {
|
|
|
34
34
|
get asChild () {
|
|
35
35
|
return local.asChild;
|
|
36
36
|
},
|
|
37
|
-
"data-slot": "tags-input-root-provider",
|
|
38
37
|
get ["class"] () {
|
|
39
38
|
return cn('flex w-full max-w-96 flex-col gap-1 text-foreground data-disabled:opacity-50', local.class);
|
|
40
39
|
}
|
|
41
40
|
}, others, {
|
|
41
|
+
"data-slot": "tags-input-root-provider",
|
|
42
42
|
get children () {
|
|
43
43
|
return local.children;
|
|
44
44
|
}
|
|
@@ -49,55 +49,60 @@ function TagsInputLabel(props) {
|
|
|
49
49
|
'class'
|
|
50
50
|
]);
|
|
51
51
|
return createComponent(TagsInput.Label, mergeProps({
|
|
52
|
-
"data-slot": "tags-input-label",
|
|
53
52
|
get ["class"] () {
|
|
54
53
|
return cn('inline-flex items-center gap-1 text-sm leading-5 font-medium text-foreground data-disabled:opacity-50', local.class);
|
|
55
54
|
}
|
|
56
|
-
}, others
|
|
55
|
+
}, others, {
|
|
56
|
+
"data-slot": "tags-input-label"
|
|
57
|
+
}));
|
|
57
58
|
}
|
|
58
59
|
function TagsInputControl(props) {
|
|
59
60
|
const [local, others] = splitProps(props, [
|
|
60
61
|
'class'
|
|
61
62
|
]);
|
|
62
63
|
return createComponent(TagsInput.Control, mergeProps({
|
|
63
|
-
"data-slot": "tags-input-control",
|
|
64
64
|
get ["class"] () {
|
|
65
65
|
return cn('flex min-h-control-md w-full flex-wrap items-center gap-1 rounded-md border border-border bg-background px-2 py-[0.3125rem] text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color,background-color,opacity] duration-200 ease-in-out data-disabled:pointer-events-none data-focus:outline-ring data-invalid:border-destructive data-invalid:data-focus:outline-destructive data-readonly:bg-background data-readonly:text-foreground motion-reduce:transition-none', local.class);
|
|
66
66
|
}
|
|
67
|
-
}, others
|
|
67
|
+
}, others, {
|
|
68
|
+
"data-slot": "tags-input-control"
|
|
69
|
+
}));
|
|
68
70
|
}
|
|
69
71
|
function TagsInputItem(props) {
|
|
70
72
|
const [local, others] = splitProps(props, [
|
|
71
73
|
'class'
|
|
72
74
|
]);
|
|
73
75
|
return createComponent(TagsInput.Item, mergeProps({
|
|
74
|
-
"data-slot": "tags-input-item",
|
|
75
76
|
get ["class"] () {
|
|
76
77
|
return cn('contents', local.class);
|
|
77
78
|
}
|
|
78
|
-
}, others
|
|
79
|
+
}, others, {
|
|
80
|
+
"data-slot": "tags-input-item"
|
|
81
|
+
}));
|
|
79
82
|
}
|
|
80
83
|
function TagsInputItemPreview(props) {
|
|
81
84
|
const [local, others] = splitProps(props, [
|
|
82
85
|
'class'
|
|
83
86
|
]);
|
|
84
87
|
return createComponent(TagsInput.ItemPreview, mergeProps({
|
|
85
|
-
"data-slot": "tags-input-item-preview",
|
|
86
88
|
get ["class"] () {
|
|
87
89
|
return cn('inline-flex min-h-control-xs max-w-full min-w-0 items-center gap-1 rounded-full border border-transparent bg-secondary px-2 py-0.5 text-xs leading-4 font-medium text-secondary-foreground transition-[border-color,background-color,color,box-shadow] duration-200 ease-in-out data-disabled:opacity-50 data-highlighted:ring-1 data-highlighted:ring-ring motion-reduce:transition-none', local.class);
|
|
88
90
|
}
|
|
89
|
-
}, others
|
|
91
|
+
}, others, {
|
|
92
|
+
"data-slot": "tags-input-item-preview"
|
|
93
|
+
}));
|
|
90
94
|
}
|
|
91
95
|
function TagsInputItemText(props) {
|
|
92
96
|
const [local, others] = splitProps(props, [
|
|
93
97
|
'class'
|
|
94
98
|
]);
|
|
95
99
|
return createComponent(TagsInput.ItemText, mergeProps({
|
|
96
|
-
"data-slot": "tags-input-item-text",
|
|
97
100
|
get ["class"] () {
|
|
98
101
|
return cn('min-w-0 truncate', local.class);
|
|
99
102
|
}
|
|
100
|
-
}, others
|
|
103
|
+
}, others, {
|
|
104
|
+
"data-slot": "tags-input-item-text"
|
|
105
|
+
}));
|
|
101
106
|
}
|
|
102
107
|
function TagsInputItemDeleteTrigger(props) {
|
|
103
108
|
const [local, others] = splitProps(props, [
|
|
@@ -106,11 +111,11 @@ function TagsInputItemDeleteTrigger(props) {
|
|
|
106
111
|
]);
|
|
107
112
|
const resolvedChildren = children(()=>local.children);
|
|
108
113
|
return createComponent(TagsInput.ItemDeleteTrigger, mergeProps({
|
|
109
|
-
"data-slot": "tags-input-item-delete-trigger",
|
|
110
114
|
get ["class"] () {
|
|
111
115
|
return cn('inline-flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-full border-0 bg-transparent p-0 text-inherit outline-0 transition-[background-color,color,opacity,box-shadow] duration-200 ease-in-out focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:opacity-50 motion-reduce:transition-none [&>svg]:pointer-events-none [&>svg]:size-2.5 [&>svg]:shrink-0 [@media(hover:hover)]:hover:bg-current/10', local.class);
|
|
112
116
|
}
|
|
113
117
|
}, others, {
|
|
118
|
+
"data-slot": "tags-input-item-delete-trigger",
|
|
114
119
|
get children () {
|
|
115
120
|
return resolvedChildren() ?? createComponent(CloseIcon, {});
|
|
116
121
|
}
|
|
@@ -121,22 +126,24 @@ function TagsInputItemInput(props) {
|
|
|
121
126
|
'class'
|
|
122
127
|
]);
|
|
123
128
|
return createComponent(TagsInput.ItemInput, mergeProps({
|
|
124
|
-
"data-slot": "tags-input-item-input",
|
|
125
129
|
get ["class"] () {
|
|
126
130
|
return cn('h-control-xs min-w-28 shrink grow-0 basis-28 border-0 bg-transparent px-1 text-sm leading-5 text-inherit outline-0 placeholder:text-muted-foreground read-only:cursor-default data-readonly:cursor-default', local.class);
|
|
127
131
|
}
|
|
128
|
-
}, others
|
|
132
|
+
}, others, {
|
|
133
|
+
"data-slot": "tags-input-item-input"
|
|
134
|
+
}));
|
|
129
135
|
}
|
|
130
136
|
function TagsInputInput(props) {
|
|
131
137
|
const [local, others] = splitProps(props, [
|
|
132
138
|
'class'
|
|
133
139
|
]);
|
|
134
140
|
return createComponent(TagsInput.Input, mergeProps({
|
|
135
|
-
"data-slot": "tags-input-input",
|
|
136
141
|
get ["class"] () {
|
|
137
142
|
return cn('h-control-xs min-w-28 shrink grow basis-28 border-0 bg-transparent px-1 text-sm leading-5 text-inherit outline-0 placeholder:text-muted-foreground read-only:cursor-default data-readonly:hidden data-readonly:cursor-default', local.class);
|
|
138
143
|
}
|
|
139
|
-
}, others
|
|
144
|
+
}, others, {
|
|
145
|
+
"data-slot": "tags-input-input"
|
|
146
|
+
}));
|
|
140
147
|
}
|
|
141
148
|
function TagsInputClearTrigger(props) {
|
|
142
149
|
const [local, others] = splitProps(props, [
|
|
@@ -153,7 +160,6 @@ function TagsInputClearTrigger(props) {
|
|
|
153
160
|
get asChild () {
|
|
154
161
|
return local.asChild;
|
|
155
162
|
},
|
|
156
|
-
"data-slot": "tags-input-clear-trigger",
|
|
157
163
|
get ["class"] () {
|
|
158
164
|
return cn('ms-auto shrink-0 self-center data-readonly:hidden', local.class);
|
|
159
165
|
},
|
|
@@ -164,6 +170,7 @@ function TagsInputClearTrigger(props) {
|
|
|
164
170
|
return local['aria-labelledby'];
|
|
165
171
|
}
|
|
166
172
|
}, others, {
|
|
173
|
+
"data-slot": "tags-input-clear-trigger",
|
|
167
174
|
get children () {
|
|
168
175
|
return local.children;
|
|
169
176
|
}
|
|
@@ -183,11 +190,12 @@ function TagsInputClearTrigger(props) {
|
|
|
183
190
|
return resolvedChildren();
|
|
184
191
|
}
|
|
185
192
|
})),
|
|
186
|
-
"data-slot": "tags-input-clear-trigger",
|
|
187
193
|
get ["class"] () {
|
|
188
194
|
return cn('ms-auto size-control-xs shrink-0 self-center rounded-sm bg-transparent text-muted-foreground transition-[background-color,color,opacity] duration-200 ease-in-out focus-visible:outline-1 focus-visible:outline-offset-1 focus-visible:outline-ring data-readonly:hidden motion-reduce:transition-none [&>svg]:size-3 [@media(hover:hover)]:hover:bg-muted [@media(hover:hover)]:hover:text-foreground', local.class);
|
|
189
195
|
}
|
|
190
|
-
}, others
|
|
196
|
+
}, others, {
|
|
197
|
+
"data-slot": "tags-input-clear-trigger"
|
|
198
|
+
}));
|
|
191
199
|
}
|
|
192
200
|
const TagsInputContext = TagsInput.Context;
|
|
193
201
|
function TagsInputItems() {
|
|
@@ -9,7 +9,7 @@ function TagsInputRoot(props) {
|
|
|
9
9
|
'children',
|
|
10
10
|
'class'
|
|
11
11
|
]);
|
|
12
|
-
return <TagsInput.Root asChild={local.asChild}
|
|
12
|
+
return <TagsInput.Root asChild={local.asChild} class={cn('flex w-full max-w-96 flex-col gap-1 text-foreground data-disabled:opacity-50', local.class)} {...others} data-slot="tags-input-root">
|
|
13
13
|
{local.children}
|
|
14
14
|
</TagsInput.Root>;
|
|
15
15
|
}
|
|
@@ -19,7 +19,7 @@ function TagsInputRootProvider(props) {
|
|
|
19
19
|
'children',
|
|
20
20
|
'class'
|
|
21
21
|
]);
|
|
22
|
-
return <TagsInput.RootProvider asChild={local.asChild}
|
|
22
|
+
return <TagsInput.RootProvider asChild={local.asChild} class={cn('flex w-full max-w-96 flex-col gap-1 text-foreground data-disabled:opacity-50', local.class)} {...others} data-slot="tags-input-root-provider">
|
|
23
23
|
{local.children}
|
|
24
24
|
</TagsInput.RootProvider>;
|
|
25
25
|
}
|
|
@@ -27,31 +27,31 @@ function TagsInputLabel(props) {
|
|
|
27
27
|
const [local, others] = splitProps(props, [
|
|
28
28
|
'class'
|
|
29
29
|
]);
|
|
30
|
-
return <TagsInput.Label
|
|
30
|
+
return <TagsInput.Label class={cn('inline-flex items-center gap-1 text-sm leading-5 font-medium text-foreground data-disabled:opacity-50', local.class)} {...others} data-slot="tags-input-label"/>;
|
|
31
31
|
}
|
|
32
32
|
function TagsInputControl(props) {
|
|
33
33
|
const [local, others] = splitProps(props, [
|
|
34
34
|
'class'
|
|
35
35
|
]);
|
|
36
|
-
return <TagsInput.Control
|
|
36
|
+
return <TagsInput.Control class={cn('flex min-h-control-md w-full flex-wrap items-center gap-1 rounded-md border border-border bg-background px-2 py-[0.3125rem] text-foreground outline-1 -outline-offset-1 outline-transparent transition-[border-color,outline-color,background-color,opacity] duration-200 ease-in-out data-disabled:pointer-events-none data-focus:outline-ring data-invalid:border-destructive data-invalid:data-focus:outline-destructive data-readonly:bg-background data-readonly:text-foreground motion-reduce:transition-none', local.class)} {...others} data-slot="tags-input-control"/>;
|
|
37
37
|
}
|
|
38
38
|
function TagsInputItem(props) {
|
|
39
39
|
const [local, others] = splitProps(props, [
|
|
40
40
|
'class'
|
|
41
41
|
]);
|
|
42
|
-
return <TagsInput.Item
|
|
42
|
+
return <TagsInput.Item class={cn('contents', local.class)} {...others} data-slot="tags-input-item"/>;
|
|
43
43
|
}
|
|
44
44
|
function TagsInputItemPreview(props) {
|
|
45
45
|
const [local, others] = splitProps(props, [
|
|
46
46
|
'class'
|
|
47
47
|
]);
|
|
48
|
-
return <TagsInput.ItemPreview
|
|
48
|
+
return <TagsInput.ItemPreview class={cn('inline-flex min-h-control-xs max-w-full min-w-0 items-center gap-1 rounded-full border border-transparent bg-secondary px-2 py-0.5 text-xs leading-4 font-medium text-secondary-foreground transition-[border-color,background-color,color,box-shadow] duration-200 ease-in-out data-disabled:opacity-50 data-highlighted:ring-1 data-highlighted:ring-ring motion-reduce:transition-none', local.class)} {...others} data-slot="tags-input-item-preview"/>;
|
|
49
49
|
}
|
|
50
50
|
function TagsInputItemText(props) {
|
|
51
51
|
const [local, others] = splitProps(props, [
|
|
52
52
|
'class'
|
|
53
53
|
]);
|
|
54
|
-
return <TagsInput.ItemText
|
|
54
|
+
return <TagsInput.ItemText class={cn('min-w-0 truncate', local.class)} {...others} data-slot="tags-input-item-text"/>;
|
|
55
55
|
}
|
|
56
56
|
function TagsInputItemDeleteTrigger(props) {
|
|
57
57
|
const [local, others] = splitProps(props, [
|
|
@@ -59,7 +59,7 @@ function TagsInputItemDeleteTrigger(props) {
|
|
|
59
59
|
'class'
|
|
60
60
|
]);
|
|
61
61
|
const resolvedChildren = children(()=>local.children);
|
|
62
|
-
return <TagsInput.ItemDeleteTrigger
|
|
62
|
+
return <TagsInput.ItemDeleteTrigger class={cn('inline-flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-full border-0 bg-transparent p-0 text-inherit outline-0 transition-[background-color,color,opacity,box-shadow] duration-200 ease-in-out focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 data-disabled:pointer-events-none data-disabled:cursor-default data-disabled:opacity-50 motion-reduce:transition-none [&>svg]:pointer-events-none [&>svg]:size-2.5 [&>svg]:shrink-0 [@media(hover:hover)]:hover:bg-current/10', local.class)} {...others} data-slot="tags-input-item-delete-trigger">
|
|
63
63
|
{resolvedChildren() ?? <CloseIcon/>}
|
|
64
64
|
</TagsInput.ItemDeleteTrigger>;
|
|
65
65
|
}
|
|
@@ -67,13 +67,13 @@ function TagsInputItemInput(props) {
|
|
|
67
67
|
const [local, others] = splitProps(props, [
|
|
68
68
|
'class'
|
|
69
69
|
]);
|
|
70
|
-
return <TagsInput.ItemInput
|
|
70
|
+
return <TagsInput.ItemInput class={cn('h-control-xs min-w-28 shrink grow-0 basis-28 border-0 bg-transparent px-1 text-sm leading-5 text-inherit outline-0 placeholder:text-muted-foreground read-only:cursor-default data-readonly:cursor-default', local.class)} {...others} data-slot="tags-input-item-input"/>;
|
|
71
71
|
}
|
|
72
72
|
function TagsInputInput(props) {
|
|
73
73
|
const [local, others] = splitProps(props, [
|
|
74
74
|
'class'
|
|
75
75
|
]);
|
|
76
|
-
return <TagsInput.Input
|
|
76
|
+
return <TagsInput.Input class={cn('h-control-xs min-w-28 shrink grow basis-28 border-0 bg-transparent px-1 text-sm leading-5 text-inherit outline-0 placeholder:text-muted-foreground read-only:cursor-default data-readonly:hidden data-readonly:cursor-default', local.class)} {...others} data-slot="tags-input-input"/>;
|
|
77
77
|
}
|
|
78
78
|
function TagsInputClearTrigger(props) {
|
|
79
79
|
const [local, others] = splitProps(props, [
|
|
@@ -86,12 +86,12 @@ function TagsInputClearTrigger(props) {
|
|
|
86
86
|
const tagsInput = useTagsInputContext();
|
|
87
87
|
const resolvedChildren = children(()=>local.children);
|
|
88
88
|
const clearTriggerLabel = ()=>tagsInput().getClearTriggerProps()['aria-label'];
|
|
89
|
-
if (local.asChild) return <TagsInput.ClearTrigger asChild={local.asChild}
|
|
89
|
+
if (local.asChild) return <TagsInput.ClearTrigger asChild={local.asChild} class={cn('ms-auto shrink-0 self-center data-readonly:hidden', local.class)} aria-label={local['aria-label']} aria-labelledby={local['aria-labelledby']} {...others} data-slot="tags-input-clear-trigger">
|
|
90
90
|
{local.children}
|
|
91
91
|
</TagsInput.ClearTrigger>;
|
|
92
92
|
return <TagsInput.ClearTrigger asChild={(triggerProps)=><CloseButton.Root {...triggerProps()} aria-label={local['aria-label'] ?? clearTriggerLabel()} aria-labelledby={local['aria-labelledby']} data-part="clear-trigger" data-scope="tags-input" data-slot="tags-input-clear-trigger">
|
|
93
93
|
{resolvedChildren()}
|
|
94
|
-
</CloseButton.Root>}
|
|
94
|
+
</CloseButton.Root>} class={cn('ms-auto size-control-xs shrink-0 self-center rounded-sm bg-transparent text-muted-foreground transition-[background-color,color,opacity] duration-200 ease-in-out focus-visible:outline-1 focus-visible:outline-offset-1 focus-visible:outline-ring data-readonly:hidden motion-reduce:transition-none [&>svg]:size-3 [@media(hover:hover)]:hover:bg-muted [@media(hover:hover)]:hover:text-foreground', local.class)} {...others} data-slot="tags-input-clear-trigger"/>;
|
|
95
95
|
}
|
|
96
96
|
const TagsInputContext = TagsInput.Context;
|
|
97
97
|
function TagsInputItems() {
|
|
@@ -7,77 +7,84 @@ function TimerRoot(props) {
|
|
|
7
7
|
'class'
|
|
8
8
|
]);
|
|
9
9
|
return createComponent(Timer.Root, mergeProps({
|
|
10
|
-
"data-slot": "timer-root",
|
|
11
10
|
get ["class"] () {
|
|
12
11
|
return cn('inline-grid w-max max-w-full place-items-center gap-3 text-foreground', local.class);
|
|
13
12
|
}
|
|
14
|
-
}, others
|
|
13
|
+
}, others, {
|
|
14
|
+
"data-slot": "timer-root"
|
|
15
|
+
}));
|
|
15
16
|
}
|
|
16
17
|
function TimerRootProvider(props) {
|
|
17
18
|
const [local, others] = splitProps(props, [
|
|
18
19
|
'class'
|
|
19
20
|
]);
|
|
20
21
|
return createComponent(Timer.RootProvider, mergeProps({
|
|
21
|
-
"data-slot": "timer-root-provider",
|
|
22
22
|
get ["class"] () {
|
|
23
23
|
return cn('inline-grid w-max max-w-full place-items-center gap-3 text-foreground', local.class);
|
|
24
24
|
}
|
|
25
|
-
}, others
|
|
25
|
+
}, others, {
|
|
26
|
+
"data-slot": "timer-root-provider"
|
|
27
|
+
}));
|
|
26
28
|
}
|
|
27
29
|
function TimerArea(props) {
|
|
28
30
|
const [local, others] = splitProps(props, [
|
|
29
31
|
'class'
|
|
30
32
|
]);
|
|
31
33
|
return createComponent(Timer.Area, mergeProps({
|
|
32
|
-
"data-slot": "timer-area",
|
|
33
34
|
get ["class"] () {
|
|
34
35
|
return cn('inline-flex max-w-full min-w-0 flex-wrap items-baseline justify-center gap-1 text-2xl leading-5 font-semibold tracking-normal tabular-nums', local.class);
|
|
35
36
|
}
|
|
36
|
-
}, others
|
|
37
|
+
}, others, {
|
|
38
|
+
"data-slot": "timer-area"
|
|
39
|
+
}));
|
|
37
40
|
}
|
|
38
41
|
function TimerItem(props) {
|
|
39
42
|
const [local, others] = splitProps(props, [
|
|
40
43
|
'class'
|
|
41
44
|
]);
|
|
42
45
|
return createComponent(Timer.Item, mergeProps({
|
|
43
|
-
"data-slot": "timer-item",
|
|
44
46
|
get ["class"] () {
|
|
45
47
|
return cn('min-w-[2ch] text-center', local.class);
|
|
46
48
|
}
|
|
47
|
-
}, others
|
|
49
|
+
}, others, {
|
|
50
|
+
"data-slot": "timer-item"
|
|
51
|
+
}));
|
|
48
52
|
}
|
|
49
53
|
function TimerSeparator(props) {
|
|
50
54
|
const [local, others] = splitProps(props, [
|
|
51
55
|
'class'
|
|
52
56
|
]);
|
|
53
57
|
return createComponent(Timer.Separator, mergeProps({
|
|
54
|
-
"data-slot": "timer-separator",
|
|
55
58
|
get ["class"] () {
|
|
56
59
|
return cn('text-muted-foreground', local.class);
|
|
57
60
|
}
|
|
58
|
-
}, others
|
|
61
|
+
}, others, {
|
|
62
|
+
"data-slot": "timer-separator"
|
|
63
|
+
}));
|
|
59
64
|
}
|
|
60
65
|
function TimerControl(props) {
|
|
61
66
|
const [local, others] = splitProps(props, [
|
|
62
67
|
'class'
|
|
63
68
|
]);
|
|
64
69
|
return createComponent(Timer.Control, mergeProps({
|
|
65
|
-
"data-slot": "timer-control",
|
|
66
70
|
get ["class"] () {
|
|
67
71
|
return cn('inline-flex flex-wrap items-center gap-2', local.class);
|
|
68
72
|
}
|
|
69
|
-
}, others
|
|
73
|
+
}, others, {
|
|
74
|
+
"data-slot": "timer-control"
|
|
75
|
+
}));
|
|
70
76
|
}
|
|
71
77
|
function TimerActionTrigger(props) {
|
|
72
78
|
const [local, others] = splitProps(props, [
|
|
73
79
|
'class'
|
|
74
80
|
]);
|
|
75
81
|
return createComponent(Timer.ActionTrigger, mergeProps({
|
|
76
|
-
"data-slot": "timer-action-trigger",
|
|
77
82
|
get ["class"] () {
|
|
78
83
|
return cn('inline-flex min-h-control-md cursor-pointer appearance-none items-center justify-center gap-2 rounded-md border border-border bg-background px-3 py-1.5 text-sm leading-5 font-medium whitespace-nowrap text-foreground transition-[background-color,border-color,color,opacity,box-shadow] duration-200 ease-in-out focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-ring disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:cursor-default aria-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [@media(hover:hover)]:hover:bg-accent', local.class);
|
|
79
84
|
}
|
|
80
|
-
}, others
|
|
85
|
+
}, others, {
|
|
86
|
+
"data-slot": "timer-action-trigger"
|
|
87
|
+
}));
|
|
81
88
|
}
|
|
82
89
|
const defaultTimerSegmentTypes = [
|
|
83
90
|
'hours',
|
|
@@ -5,43 +5,43 @@ function TimerRoot(props) {
|
|
|
5
5
|
const [local, others] = splitProps(props, [
|
|
6
6
|
'class'
|
|
7
7
|
]);
|
|
8
|
-
return <Timer.Root
|
|
8
|
+
return <Timer.Root class={cn('inline-grid w-max max-w-full place-items-center gap-3 text-foreground', local.class)} {...others} data-slot="timer-root"/>;
|
|
9
9
|
}
|
|
10
10
|
function TimerRootProvider(props) {
|
|
11
11
|
const [local, others] = splitProps(props, [
|
|
12
12
|
'class'
|
|
13
13
|
]);
|
|
14
|
-
return <Timer.RootProvider
|
|
14
|
+
return <Timer.RootProvider class={cn('inline-grid w-max max-w-full place-items-center gap-3 text-foreground', local.class)} {...others} data-slot="timer-root-provider"/>;
|
|
15
15
|
}
|
|
16
16
|
function TimerArea(props) {
|
|
17
17
|
const [local, others] = splitProps(props, [
|
|
18
18
|
'class'
|
|
19
19
|
]);
|
|
20
|
-
return <Timer.Area
|
|
20
|
+
return <Timer.Area class={cn('inline-flex max-w-full min-w-0 flex-wrap items-baseline justify-center gap-1 text-2xl leading-5 font-semibold tracking-normal tabular-nums', local.class)} {...others} data-slot="timer-area"/>;
|
|
21
21
|
}
|
|
22
22
|
function TimerItem(props) {
|
|
23
23
|
const [local, others] = splitProps(props, [
|
|
24
24
|
'class'
|
|
25
25
|
]);
|
|
26
|
-
return <Timer.Item
|
|
26
|
+
return <Timer.Item class={cn('min-w-[2ch] text-center', local.class)} {...others} data-slot="timer-item"/>;
|
|
27
27
|
}
|
|
28
28
|
function TimerSeparator(props) {
|
|
29
29
|
const [local, others] = splitProps(props, [
|
|
30
30
|
'class'
|
|
31
31
|
]);
|
|
32
|
-
return <Timer.Separator
|
|
32
|
+
return <Timer.Separator class={cn('text-muted-foreground', local.class)} {...others} data-slot="timer-separator"/>;
|
|
33
33
|
}
|
|
34
34
|
function TimerControl(props) {
|
|
35
35
|
const [local, others] = splitProps(props, [
|
|
36
36
|
'class'
|
|
37
37
|
]);
|
|
38
|
-
return <Timer.Control
|
|
38
|
+
return <Timer.Control class={cn('inline-flex flex-wrap items-center gap-2', local.class)} {...others} data-slot="timer-control"/>;
|
|
39
39
|
}
|
|
40
40
|
function TimerActionTrigger(props) {
|
|
41
41
|
const [local, others] = splitProps(props, [
|
|
42
42
|
'class'
|
|
43
43
|
]);
|
|
44
|
-
return <Timer.ActionTrigger
|
|
44
|
+
return <Timer.ActionTrigger class={cn('inline-flex min-h-control-md cursor-pointer appearance-none items-center justify-center gap-2 rounded-md border border-border bg-background px-3 py-1.5 text-sm leading-5 font-medium whitespace-nowrap text-foreground transition-[background-color,border-color,color,opacity,box-shadow] duration-200 ease-in-out focus-visible:outline-2 focus-visible:-outline-offset-1 focus-visible:outline-ring disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:cursor-default aria-disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0 [@media(hover:hover)]:hover:bg-accent', local.class)} {...others} data-slot="timer-action-trigger"/>;
|
|
45
45
|
}
|
|
46
46
|
const defaultTimerSegmentTypes = [
|
|
47
47
|
'hours',
|