ixia-ui-react 1.8.0 → 2.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/README.md +24 -1
- package/dist/accordion/index.d.ts +41 -0
- package/dist/accordion/index.js +142 -0
- package/dist/accordion/index.js.map +1 -0
- package/dist/alert/index.d.ts +22 -0
- package/dist/alert/index.js +1 -0
- package/dist/alert-Dcu9R8CY.js +73 -0
- package/dist/alert-Dcu9R8CY.js.map +1 -0
- package/dist/alert-dialog/index.d.ts +39 -0
- package/dist/alert-dialog/index.js +134 -0
- package/dist/alert-dialog/index.js.map +1 -0
- package/dist/autocomplete/index.d.ts +2 -0
- package/dist/autocomplete/index.js +1 -0
- package/dist/autocomplete-BfpWVO1l.js +169 -0
- package/dist/autocomplete-BfpWVO1l.js.map +1 -0
- package/dist/avatar/index.d.ts +2 -0
- package/dist/avatar/index.js +1 -0
- package/dist/avatar-Bp4gZh21.js +93 -0
- package/dist/avatar-Bp4gZh21.js.map +1 -0
- package/dist/badge/index.d.ts +2 -0
- package/dist/badge/index.js +1 -0
- package/dist/badge-Cl-9WTW-.js +160 -0
- package/dist/badge-Cl-9WTW-.js.map +1 -0
- package/dist/bento-box/index.d.ts +30 -0
- package/dist/bento-box/index.js +103 -0
- package/dist/bento-box/index.js.map +1 -0
- package/dist/breadcrumb/index.d.ts +18 -0
- package/dist/breadcrumb/index.js +58 -0
- package/dist/breadcrumb/index.js.map +1 -0
- package/dist/button/index.d.ts +3 -0
- package/dist/button/index.js +1 -0
- package/dist/button-DXQvyQyj.js +309 -0
- package/dist/button-DXQvyQyj.js.map +1 -0
- package/dist/button-group/index.d.ts +2 -0
- package/dist/button-group/index.js +1 -0
- package/dist/button-group-BiSk3iIf.js +269 -0
- package/dist/button-group-BiSk3iIf.js.map +1 -0
- package/dist/button-group-context-CScS9Ntz.js +7 -0
- package/dist/button-group-context-CScS9Ntz.js.map +1 -0
- package/dist/button.types-BFKrBCGd.d.ts +10 -0
- package/dist/calendar/index.d.ts +63 -0
- package/dist/calendar/index.js +292 -0
- package/dist/calendar/index.js.map +1 -0
- package/dist/chart/index.d.ts +87 -0
- package/dist/chart/index.js +262 -0
- package/dist/chart/index.js.map +1 -0
- package/dist/checkbox/index.d.ts +2 -0
- package/dist/checkbox/index.js +1 -0
- package/dist/checkbox-BuUZ1Lly.js +54 -0
- package/dist/checkbox-BuUZ1Lly.js.map +1 -0
- package/dist/checkbox-group/index.d.ts +6 -0
- package/dist/checkbox-group/index.js +17 -0
- package/dist/checkbox-group/index.js.map +1 -0
- package/dist/cn-BDi0DfT5.js +29 -0
- package/dist/cn-BDi0DfT5.js.map +1 -0
- package/dist/code-block/index.d.ts +53 -0
- package/dist/code-block/index.js +193 -0
- package/dist/code-block/index.js.map +1 -0
- package/dist/collapsible/index.d.ts +2 -0
- package/dist/collapsible/index.js +1 -0
- package/dist/collapsible-C3OPWY9l.js +44 -0
- package/dist/collapsible-C3OPWY9l.js.map +1 -0
- package/dist/color-channel-slider/index.d.ts +2 -0
- package/dist/color-channel-slider/index.js +1 -0
- package/dist/color-channel-slider-h8mUPJ35.js +70 -0
- package/dist/color-channel-slider-h8mUPJ35.js.map +1 -0
- package/dist/color-picker/index.d.ts +137 -0
- package/dist/color-picker/index.js +621 -0
- package/dist/color-picker/index.js.map +1 -0
- package/dist/combobox/index.d.ts +64 -0
- package/dist/combobox/index.js +289 -0
- package/dist/combobox/index.js.map +1 -0
- package/dist/context-menu/index.d.ts +49 -0
- package/dist/context-menu/index.js +166 -0
- package/dist/context-menu/index.js.map +1 -0
- package/dist/copy-button/index.d.ts +2 -0
- package/dist/copy-button/index.js +1 -0
- package/dist/copy-button-BAG-P44v.js +28 -0
- package/dist/copy-button-BAG-P44v.js.map +1 -0
- package/dist/dialog/index.d.ts +36 -0
- package/dist/dialog/index.js +119 -0
- package/dist/dialog/index.js.map +1 -0
- package/dist/drawer/index.d.ts +31 -0
- package/dist/drawer/index.js +95 -0
- package/dist/drawer/index.js.map +1 -0
- package/dist/dropzone/index.d.ts +70 -0
- package/dist/dropzone/index.js +479 -0
- package/dist/dropzone/index.js.map +1 -0
- package/dist/field/index.d.ts +2 -0
- package/dist/field/index.js +1 -0
- package/dist/field-DkMfrmdj.js +254 -0
- package/dist/field-DkMfrmdj.js.map +1 -0
- package/dist/form/index.d.ts +220 -0
- package/dist/form/index.js +3 -0
- package/dist/form-V2VqHn0D.js +192 -0
- package/dist/form-V2VqHn0D.js.map +1 -0
- package/dist/has-single-element-child-DLGI0Dh2.js +12 -0
- package/dist/has-single-element-child-DLGI0Dh2.js.map +1 -0
- package/dist/hooks/index.d.ts +26 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks-DUm-q_ig.js +68 -0
- package/dist/hooks-DUm-q_ig.js.map +1 -0
- package/dist/icon/index.d.ts +2 -0
- package/dist/icon/index.js +1 -0
- package/dist/icon-D3JWfCa2.js +85 -0
- package/dist/icon-D3JWfCa2.js.map +1 -0
- package/dist/icon-container/index.d.ts +10 -0
- package/dist/icon-container/index.js +64 -0
- package/dist/icon-container/index.js.map +1 -0
- package/dist/index-0ZQzIKoE.d.ts +11 -0
- package/dist/index-B0Qz4Egw.d.ts +33 -0
- package/dist/index-BJVMIPq4.d.ts +54 -0
- package/dist/index-BsV-u_jc.d.ts +4 -0
- package/dist/index-BygR7cUT.d.ts +22 -0
- package/dist/index-BzTOLSgZ.d.ts +9 -0
- package/dist/index-C15xiG9O.d.ts +14 -0
- package/dist/index-C2zco6-C.d.ts +15 -0
- package/dist/index-CIDOd4Z8.d.ts +56 -0
- package/dist/index-CQti9gFb.d.ts +49 -0
- package/dist/index-CiE-Rqit.d.ts +70 -0
- package/dist/index-CpNMNewO.d.ts +11 -0
- package/dist/index-D1kkOg9k.d.ts +14 -0
- package/dist/index-DLfdAked.d.ts +34 -0
- package/dist/index-DMaW_XF1.d.ts +24 -0
- package/dist/index-DVMheqs_.d.ts +9 -0
- package/dist/index-DXDObRKO.d.ts +14 -0
- package/dist/index-Db_QGr6S.d.ts +5 -0
- package/dist/index-DdFxZ3Xr.d.ts +22 -0
- package/dist/index-DyQYoAUf.d.ts +29 -0
- package/dist/index-PuhTRMce.d.ts +11 -0
- package/dist/index-Wb_tILYa.d.ts +24 -0
- package/dist/index-uaJUy56Z.d.ts +4 -0
- package/dist/index-x4f8gnaI.d.ts +15 -0
- package/dist/input/index.d.ts +3 -0
- package/dist/input/index.js +1 -0
- package/dist/input-Czt30vp7.js +179 -0
- package/dist/input-Czt30vp7.js.map +1 -0
- package/dist/input-group/index.d.ts +2 -0
- package/dist/input-group/index.js +1 -0
- package/dist/input-group-CgdazGrY.js +111 -0
- package/dist/input-group-CgdazGrY.js.map +1 -0
- package/dist/input-otp/index.d.ts +13 -0
- package/dist/input-otp/index.js +44 -0
- package/dist/input-otp/index.js.map +1 -0
- package/dist/input.types-816rEVWU.d.ts +20 -0
- package/dist/input.types-D0gyoaQv.js +48 -0
- package/dist/input.types-D0gyoaQv.js.map +1 -0
- package/dist/kbd/index.d.ts +9 -0
- package/dist/kbd/index.js +25 -0
- package/dist/kbd/index.js.map +1 -0
- package/dist/label/index.d.ts +8 -0
- package/dist/label/index.js +1 -0
- package/dist/label-BgpayDvN.js +27 -0
- package/dist/label-BgpayDvN.js.map +1 -0
- package/dist/layer-tree/index.d.ts +728 -0
- package/dist/layer-tree/index.js +685 -0
- package/dist/layer-tree/index.js.map +1 -0
- package/dist/map/google/index.d.ts +143 -0
- package/dist/map/google/index.js +445 -0
- package/dist/map/google/index.js.map +1 -0
- package/dist/map/index.d.ts +94 -0
- package/dist/map/index.js +208 -0
- package/dist/map/index.js.map +1 -0
- package/dist/map.context-Dw1D7E8m.js +11 -0
- package/dist/map.context-Dw1D7E8m.js.map +1 -0
- package/dist/menu/index.d.ts +2 -0
- package/dist/menu/index.js +1 -0
- package/dist/menu-sf13cnGp.js +173 -0
- package/dist/menu-sf13cnGp.js.map +1 -0
- package/dist/menu-tone-DWBEHoX2.js +22 -0
- package/dist/menu-tone-DWBEHoX2.js.map +1 -0
- package/dist/meter/index.d.ts +2 -0
- package/dist/meter/index.js +1 -0
- package/dist/meter-HD5taq57.js +116 -0
- package/dist/meter-HD5taq57.js.map +1 -0
- package/dist/nav-bar/index.d.ts +25 -0
- package/dist/nav-bar/index.js +133 -0
- package/dist/nav-bar/index.js.map +1 -0
- package/dist/navigation-menu/index.d.ts +43 -0
- package/dist/navigation-menu/index.js +176 -0
- package/dist/navigation-menu/index.js.map +1 -0
- package/dist/number-field/index.d.ts +14 -0
- package/dist/number-field/index.js +116 -0
- package/dist/number-field/index.js.map +1 -0
- package/dist/popover/index.d.ts +2 -0
- package/dist/popover/index.js +1 -0
- package/dist/popover-0WDxRi-s.js +114 -0
- package/dist/popover-0WDxRi-s.js.map +1 -0
- package/dist/preview-card/index.d.ts +13 -0
- package/dist/preview-card/index.js +35 -0
- package/dist/preview-card/index.js.map +1 -0
- package/dist/profile/index.d.ts +21 -0
- package/dist/profile/index.js +52 -0
- package/dist/profile/index.js.map +1 -0
- package/dist/progress/index.d.ts +23 -0
- package/dist/progress/index.js +97 -0
- package/dist/progress/index.js.map +1 -0
- package/dist/radar-ping/index.d.ts +11 -0
- package/dist/radar-ping/index.js +49 -0
- package/dist/radar-ping/index.js.map +1 -0
- package/dist/radio-group/index.d.ts +2 -0
- package/dist/radio-group/index.js +1 -0
- package/dist/radio-group-Dj43u35Z.js +47 -0
- package/dist/radio-group-Dj43u35Z.js.map +1 -0
- package/dist/resizeable/index.d.ts +11 -0
- package/dist/resizeable/index.js +31 -0
- package/dist/resizeable/index.js.map +1 -0
- package/dist/scroll-area/index.d.ts +11 -0
- package/dist/scroll-area/index.js +51 -0
- package/dist/scroll-area/index.js.map +1 -0
- package/dist/select/index.d.ts +2 -0
- package/dist/select/index.js +1 -0
- package/dist/select-DncJXYim.js +159 -0
- package/dist/select-DncJXYim.js.map +1 -0
- package/dist/separator/index.d.ts +2 -0
- package/dist/separator/index.js +1 -0
- package/dist/separator-DgIQp1cB.js +97 -0
- package/dist/separator-DgIQp1cB.js.map +1 -0
- package/dist/sidebar/index.d.ts +80 -0
- package/dist/sidebar/index.js +334 -0
- package/dist/sidebar/index.js.map +1 -0
- package/dist/site-header/index.d.ts +22 -0
- package/dist/site-header/index.js +55 -0
- package/dist/site-header/index.js.map +1 -0
- package/dist/skeleton/index.d.ts +4 -0
- package/dist/skeleton/index.js +1 -0
- package/dist/skeleton-DSG3FWby.js +13 -0
- package/dist/skeleton-DSG3FWby.js.map +1 -0
- package/dist/slider/index.d.ts +2 -0
- package/dist/slider/index.js +1 -0
- package/dist/slider-D_XlV4OW.js +114 -0
- package/dist/slider-D_XlV4OW.js.map +1 -0
- package/dist/slider-group/index.d.ts +46 -0
- package/dist/slider-group/index.js +198 -0
- package/dist/slider-group/index.js.map +1 -0
- package/dist/styles.css +4 -1
- package/dist/switch/index.d.ts +2 -0
- package/dist/switch/index.js +1 -0
- package/dist/switch-DXHixGHe.js +23 -0
- package/dist/switch-DXHixGHe.js.map +1 -0
- package/dist/table/index.d.ts +920 -0
- package/dist/table/index.js +1544 -0
- package/dist/table/index.js.map +1 -0
- package/dist/tabs/index.d.ts +2 -0
- package/dist/tabs/index.js +1 -0
- package/dist/tabs-DTC7coap.js +270 -0
- package/dist/tabs-DTC7coap.js.map +1 -0
- package/dist/text-area/index.d.ts +2 -0
- package/dist/text-area/index.js +1 -0
- package/dist/text-area-H6HjKnv_.js +50 -0
- package/dist/text-area-H6HjKnv_.js.map +1 -0
- package/dist/toast/index.d.ts +65 -0
- package/dist/toast/index.js +216 -0
- package/dist/toast/index.js.map +1 -0
- package/dist/toggle/index.d.ts +2 -0
- package/dist/toggle/index.js +1 -0
- package/dist/toggle-ZT9thVmz.js +73 -0
- package/dist/toggle-ZT9thVmz.js.map +1 -0
- package/dist/toggle-group/index.d.ts +10 -0
- package/dist/toggle-group/index.js +63 -0
- package/dist/toggle-group/index.js.map +1 -0
- package/dist/toggle-group-context-CBNZEf1I.js +6 -0
- package/dist/toggle-group-context-CBNZEf1I.js.map +1 -0
- package/dist/tooltip/index.d.ts +18 -0
- package/dist/tooltip/index.js +1 -0
- package/dist/tooltip-B6z3tDbW.js +41 -0
- package/dist/tooltip-B6z3tDbW.js.map +1 -0
- package/dist/trim-text-children-CQRFg2fL.js +33 -0
- package/dist/trim-text-children-CQRFg2fL.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils-BI2x7nW5.js +5 -0
- package/dist/utils-BI2x7nW5.js.map +1 -0
- package/package.json +100 -31
- package/dist/index.d.ts +0 -8000
- package/dist/index.js +0 -17274
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import { t as cn } from "./cn-BDi0DfT5.js";
|
|
2
|
+
import { t as ButtonGroupContext } from "./button-group-context-CScS9Ntz.js";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
// src/components/button-group/button-group.types.ts
|
|
6
|
+
const buttonGroupVariants = cva("inline-flex cursor-pointer items-center justify-center overflow-hidden rounded-full whitespace-nowrap transition-all select-none disabled:pointer-events-none disabled:opacity-50 [&>:where([data-slot=button],button)]:rounded-none", {
|
|
7
|
+
compoundVariants: [
|
|
8
|
+
{
|
|
9
|
+
className: "bg-brand-default text-brand-on-default",
|
|
10
|
+
tone: "brand",
|
|
11
|
+
variant: "fill"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
className: "bg-accent-default text-accent-on-default",
|
|
15
|
+
tone: "accent",
|
|
16
|
+
variant: "fill"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
className: "bg-neutral-default text-neutral-on-default",
|
|
20
|
+
tone: "neutral",
|
|
21
|
+
variant: "fill"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
className: "bg-error-default text-error-on-default",
|
|
25
|
+
tone: "error",
|
|
26
|
+
variant: "fill"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
className: "bg-info-default text-info-on-default",
|
|
30
|
+
tone: "info",
|
|
31
|
+
variant: "fill"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
className: "bg-success-default text-success-on-default",
|
|
35
|
+
tone: "success",
|
|
36
|
+
variant: "fill"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
className: "bg-warning-default text-warning-on-default",
|
|
40
|
+
tone: "warning",
|
|
41
|
+
variant: "fill"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
className: "bg-brand-container text-brand-on-container",
|
|
45
|
+
tone: "brand",
|
|
46
|
+
variant: "secondary"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
className: "bg-accent-container text-accent-on-container",
|
|
50
|
+
tone: "accent",
|
|
51
|
+
variant: "secondary"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
className: "bg-neutral-container text-neutral-on-container",
|
|
55
|
+
tone: "neutral",
|
|
56
|
+
variant: "secondary"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
className: "bg-error-container text-error-on-container",
|
|
60
|
+
tone: "error",
|
|
61
|
+
variant: "secondary"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
className: "bg-info-container text-info-on-container",
|
|
65
|
+
tone: "info",
|
|
66
|
+
variant: "secondary"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
className: "bg-success-container text-success-on-container",
|
|
70
|
+
tone: "success",
|
|
71
|
+
variant: "secondary"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
className: "bg-warning-container text-warning-on-container",
|
|
75
|
+
tone: "warning",
|
|
76
|
+
variant: "secondary"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
className: "border-brand-border text-brand-default",
|
|
80
|
+
tone: "brand",
|
|
81
|
+
variant: "outline"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
className: "border-accent-border text-accent-default",
|
|
85
|
+
tone: "accent",
|
|
86
|
+
variant: "outline"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
className: "border-neutral-border text-neutral-default",
|
|
90
|
+
tone: "neutral",
|
|
91
|
+
variant: "outline"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
className: "border-error-border text-error-default",
|
|
95
|
+
tone: "error",
|
|
96
|
+
variant: "outline"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
className: "border-info-border text-info-default",
|
|
100
|
+
tone: "info",
|
|
101
|
+
variant: "outline"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
className: "border-success-border text-success-default",
|
|
105
|
+
tone: "success",
|
|
106
|
+
variant: "outline"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
className: "border-warning-border text-warning-default",
|
|
110
|
+
tone: "warning",
|
|
111
|
+
variant: "outline"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
className: "text-brand-default",
|
|
115
|
+
tone: "brand",
|
|
116
|
+
variant: "ghost"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
className: "text-accent-default",
|
|
120
|
+
tone: "accent",
|
|
121
|
+
variant: "ghost"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
className: "text-neutral-default",
|
|
125
|
+
tone: "neutral",
|
|
126
|
+
variant: "ghost"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
className: "text-error-default",
|
|
130
|
+
tone: "error",
|
|
131
|
+
variant: "ghost"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
className: "text-info-default",
|
|
135
|
+
tone: "info",
|
|
136
|
+
variant: "ghost"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
className: "text-success-default",
|
|
140
|
+
tone: "success",
|
|
141
|
+
variant: "ghost"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
className: "text-warning-default",
|
|
145
|
+
tone: "warning",
|
|
146
|
+
variant: "ghost"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
className: "border-brand-border bg-brand-container text-brand-on-container",
|
|
150
|
+
tone: "brand",
|
|
151
|
+
variant: "soft"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
className: "border-accent-border bg-accent-container text-accent-on-container",
|
|
155
|
+
tone: "accent",
|
|
156
|
+
variant: "soft"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
className: "border-neutral-border bg-neutral-container text-neutral-on-container",
|
|
160
|
+
tone: "neutral",
|
|
161
|
+
variant: "soft"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
className: "border-error-border bg-error-container text-error-on-container",
|
|
165
|
+
tone: "error",
|
|
166
|
+
variant: "soft"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
className: "border-info-border bg-info-container text-info-on-container",
|
|
170
|
+
tone: "info",
|
|
171
|
+
variant: "soft"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
className: "border-success-border bg-success-container text-success-on-container",
|
|
175
|
+
tone: "success",
|
|
176
|
+
variant: "soft"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
className: "border-warning-border bg-warning-container text-warning-on-container",
|
|
180
|
+
tone: "warning",
|
|
181
|
+
variant: "soft"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
className: "bg-brand-container text-brand-on-container",
|
|
185
|
+
tone: "brand",
|
|
186
|
+
variant: "elevated"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
className: "bg-accent-container text-accent-on-container",
|
|
190
|
+
tone: "accent",
|
|
191
|
+
variant: "elevated"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
className: "bg-surface-2 text-on-surface",
|
|
195
|
+
tone: "neutral",
|
|
196
|
+
variant: "elevated"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
className: "bg-error-container text-error-on-container",
|
|
200
|
+
tone: "error",
|
|
201
|
+
variant: "elevated"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
className: "bg-info-container text-info-on-container",
|
|
205
|
+
tone: "info",
|
|
206
|
+
variant: "elevated"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
className: "bg-success-container text-success-on-container",
|
|
210
|
+
tone: "success",
|
|
211
|
+
variant: "elevated"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
className: "bg-warning-container text-warning-on-container",
|
|
215
|
+
tone: "warning",
|
|
216
|
+
variant: "elevated"
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
defaultVariants: {
|
|
220
|
+
orientation: "horizontal",
|
|
221
|
+
tone: "brand",
|
|
222
|
+
variant: "fill"
|
|
223
|
+
},
|
|
224
|
+
variants: {
|
|
225
|
+
orientation: {
|
|
226
|
+
horizontal: "[&>*+*]:relative [&>*+*]:before:absolute [&>*+*]:before:top-1/2 [&>*+*]:before:left-0 [&>*+*]:before:h-1/2 [&>*+*]:before:w-px [&>*+*]:before:-translate-y-1/2 [&>*+*]:before:content-[\"\"]",
|
|
227
|
+
vertical: "flex-col [&>*+*]:relative [&>*+*]:before:absolute [&>*+*]:before:top-0 [&>*+*]:before:left-1/2 [&>*+*]:before:h-px [&>*+*]:before:w-1/2 [&>*+*]:before:-translate-x-1/2 [&>*+*]:before:content-[\"\"]"
|
|
228
|
+
},
|
|
229
|
+
tone: {
|
|
230
|
+
accent: "[&>*+*]:before:bg-accent-border",
|
|
231
|
+
brand: "[&>*+*]:before:bg-brand-border",
|
|
232
|
+
error: "[&>*+*]:before:bg-error-border",
|
|
233
|
+
info: "[&>*+*]:before:bg-info-border",
|
|
234
|
+
neutral: "[&>*+*]:before:bg-neutral-border",
|
|
235
|
+
success: "[&>*+*]:before:bg-success-border",
|
|
236
|
+
warning: ""
|
|
237
|
+
},
|
|
238
|
+
variant: {
|
|
239
|
+
elevated: "shadow-xs",
|
|
240
|
+
fill: "",
|
|
241
|
+
ghost: "",
|
|
242
|
+
outline: "border",
|
|
243
|
+
secondary: "",
|
|
244
|
+
soft: "border"
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
// src/components/button-group/button-group.tsx
|
|
249
|
+
function ButtonGroup({ size = "medium", variant = "fill", tone = "brand", orientation, className, ref, ...props }) {
|
|
250
|
+
return /* @__PURE__ */ jsx(ButtonGroupContext, {
|
|
251
|
+
value: {
|
|
252
|
+
size,
|
|
253
|
+
tone,
|
|
254
|
+
variant
|
|
255
|
+
},
|
|
256
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
257
|
+
className: cn(buttonGroupVariants({
|
|
258
|
+
orientation,
|
|
259
|
+
tone,
|
|
260
|
+
variant
|
|
261
|
+
}), className),
|
|
262
|
+
ref,
|
|
263
|
+
...props
|
|
264
|
+
})
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
export { ButtonGroup as t };
|
|
268
|
+
|
|
269
|
+
//# sourceMappingURL=button-group-BiSk3iIf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-group-BiSk3iIf.js","names":[],"sources":["../src/components/button-group/button-group.types.ts","../src/components/button-group/button-group.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport type { VariantProps } from 'class-variance-authority'\n\nimport type { ButtonProps } from '../button/button.types'\n\nexport const buttonGroupVariants = cva(\n 'inline-flex cursor-pointer items-center justify-center overflow-hidden rounded-full whitespace-nowrap transition-all select-none disabled:pointer-events-none disabled:opacity-50 [&>:where([data-slot=button],button)]:rounded-none',\n {\n compoundVariants: [\n {\n className: 'bg-brand-default text-brand-on-default',\n tone: 'brand',\n variant: 'fill',\n },\n {\n className: 'bg-accent-default text-accent-on-default',\n tone: 'accent',\n variant: 'fill',\n },\n {\n className: 'bg-neutral-default text-neutral-on-default',\n tone: 'neutral',\n variant: 'fill',\n },\n {\n className: 'bg-error-default text-error-on-default',\n tone: 'error',\n variant: 'fill',\n },\n {\n className: 'bg-info-default text-info-on-default',\n tone: 'info',\n variant: 'fill',\n },\n {\n className: 'bg-success-default text-success-on-default',\n tone: 'success',\n variant: 'fill',\n },\n {\n className: 'bg-warning-default text-warning-on-default',\n tone: 'warning',\n variant: 'fill',\n },\n {\n className: 'bg-brand-container text-brand-on-container',\n tone: 'brand',\n variant: 'secondary',\n },\n {\n className: 'bg-accent-container text-accent-on-container',\n tone: 'accent',\n variant: 'secondary',\n },\n {\n className: 'bg-neutral-container text-neutral-on-container',\n tone: 'neutral',\n variant: 'secondary',\n },\n {\n className: 'bg-error-container text-error-on-container',\n tone: 'error',\n variant: 'secondary',\n },\n {\n className: 'bg-info-container text-info-on-container',\n tone: 'info',\n variant: 'secondary',\n },\n {\n className: 'bg-success-container text-success-on-container',\n tone: 'success',\n variant: 'secondary',\n },\n {\n className: 'bg-warning-container text-warning-on-container',\n tone: 'warning',\n variant: 'secondary',\n },\n {\n className: 'border-brand-border text-brand-default',\n tone: 'brand',\n variant: 'outline',\n },\n {\n className: 'border-accent-border text-accent-default',\n tone: 'accent',\n variant: 'outline',\n },\n {\n className: 'border-neutral-border text-neutral-default',\n tone: 'neutral',\n variant: 'outline',\n },\n {\n className: 'border-error-border text-error-default',\n tone: 'error',\n variant: 'outline',\n },\n {\n className: 'border-info-border text-info-default',\n tone: 'info',\n variant: 'outline',\n },\n {\n className: 'border-success-border text-success-default',\n tone: 'success',\n variant: 'outline',\n },\n {\n className: 'border-warning-border text-warning-default',\n tone: 'warning',\n variant: 'outline',\n },\n {\n className: 'text-brand-default',\n tone: 'brand',\n variant: 'ghost',\n },\n {\n className: 'text-accent-default',\n tone: 'accent',\n variant: 'ghost',\n },\n {\n className: 'text-neutral-default',\n tone: 'neutral',\n variant: 'ghost',\n },\n {\n className: 'text-error-default',\n tone: 'error',\n variant: 'ghost',\n },\n {\n className: 'text-info-default',\n tone: 'info',\n variant: 'ghost',\n },\n {\n className: 'text-success-default',\n tone: 'success',\n variant: 'ghost',\n },\n {\n className: 'text-warning-default',\n tone: 'warning',\n variant: 'ghost',\n },\n {\n className: 'border-brand-border bg-brand-container text-brand-on-container',\n tone: 'brand',\n variant: 'soft',\n },\n {\n className: 'border-accent-border bg-accent-container text-accent-on-container',\n tone: 'accent',\n variant: 'soft',\n },\n {\n className: 'border-neutral-border bg-neutral-container text-neutral-on-container',\n tone: 'neutral',\n variant: 'soft',\n },\n {\n className: 'border-error-border bg-error-container text-error-on-container',\n tone: 'error',\n variant: 'soft',\n },\n {\n className: 'border-info-border bg-info-container text-info-on-container',\n tone: 'info',\n variant: 'soft',\n },\n {\n className: 'border-success-border bg-success-container text-success-on-container',\n tone: 'success',\n variant: 'soft',\n },\n {\n className: 'border-warning-border bg-warning-container text-warning-on-container',\n tone: 'warning',\n variant: 'soft',\n },\n {\n className: 'bg-brand-container text-brand-on-container',\n tone: 'brand',\n variant: 'elevated',\n },\n {\n className: 'bg-accent-container text-accent-on-container',\n tone: 'accent',\n variant: 'elevated',\n },\n {\n className: 'bg-surface-2 text-on-surface',\n tone: 'neutral',\n variant: 'elevated',\n },\n {\n className: 'bg-error-container text-error-on-container',\n tone: 'error',\n variant: 'elevated',\n },\n {\n className: 'bg-info-container text-info-on-container',\n tone: 'info',\n variant: 'elevated',\n },\n {\n className: 'bg-success-container text-success-on-container',\n tone: 'success',\n variant: 'elevated',\n },\n {\n className: 'bg-warning-container text-warning-on-container',\n tone: 'warning',\n variant: 'elevated',\n },\n ],\n defaultVariants: {\n orientation: 'horizontal',\n tone: 'brand',\n variant: 'fill',\n },\n variants: {\n orientation: {\n horizontal:\n '[&>*+*]:relative [&>*+*]:before:absolute [&>*+*]:before:top-1/2 [&>*+*]:before:left-0 [&>*+*]:before:h-1/2 [&>*+*]:before:w-px [&>*+*]:before:-translate-y-1/2 [&>*+*]:before:content-[\"\"]',\n vertical:\n 'flex-col [&>*+*]:relative [&>*+*]:before:absolute [&>*+*]:before:top-0 [&>*+*]:before:left-1/2 [&>*+*]:before:h-px [&>*+*]:before:w-1/2 [&>*+*]:before:-translate-x-1/2 [&>*+*]:before:content-[\"\"]',\n },\n tone: {\n accent: '[&>*+*]:before:bg-accent-border',\n brand: '[&>*+*]:before:bg-brand-border',\n error: '[&>*+*]:before:bg-error-border',\n info: '[&>*+*]:before:bg-info-border',\n neutral: '[&>*+*]:before:bg-neutral-border',\n success: '[&>*+*]:before:bg-success-border',\n warning: '',\n },\n variant: {\n elevated: 'shadow-xs',\n fill: '',\n ghost: '',\n outline: 'border',\n secondary: '',\n soft: 'border',\n },\n },\n },\n)\n\nexport type ButtonGroupProps = React.ComponentProps<'div'> &\n VariantProps<typeof buttonGroupVariants> &\n Pick<ButtonProps, 'size'>\n","import { cn } from '@/utils/cn'\n\nimport { ButtonGroupContext } from './button-group-context'\nimport { buttonGroupVariants } from './button-group.types'\nimport type { ButtonGroupProps } from './button-group.types'\n\nexport function ButtonGroup({\n size = 'medium',\n variant = 'fill',\n tone = 'brand',\n orientation,\n className,\n ref,\n ...props\n}: ButtonGroupProps) {\n return (\n <ButtonGroupContext value={{ size, tone, variant }}>\n <div\n className={cn(buttonGroupVariants({ orientation, tone, variant }), className)}\n ref={ref}\n {...props}\n />\n </ButtonGroupContext>\n )\n}\n"],"mappings":";;;;;AAKA,MAAa,sBAAsB,IACjC,wOACA;CACE,kBAAkB;EAChB;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;EACA;GACE,WAAW;GACX,MAAM;GACN,SAAS;EACX;CACF;CACA,iBAAiB;EACf,aAAa;EACb,MAAM;EACN,SAAS;CACX;CACA,UAAU;EACR,aAAa;GACX,YACE;GACF,UACE;EACJ;EACA,MAAM;GACJ,QAAQ;GACR,OAAO;GACP,OAAO;GACP,MAAM;GACN,SAAS;GACT,SAAS;GACT,SAAS;EACX;EACA,SAAS;GACP,UAAU;GACV,MAAM;GACN,OAAO;GACP,SAAS;GACT,WAAW;GACX,MAAM;EACR;CACF;AACF,CACF;;ACrPA,SAAgB,YAAY,EAC1B,OAAO,UACP,UAAU,QACV,OAAO,SACP,aACA,WACA,KACA,GAAG,SACgB;CACnB,OACE,oBAAC,oBAAD;EAAoB,OAAO;GAAE;GAAM;GAAM;EAAQ;EAC/C,UAAA,oBAAC,OAAD;GACE,WAAW,GAAG,oBAAoB;IAAE;IAAa;IAAM;GAAQ,CAAC,GAAG,SAAS;GACvE;GACL,GAAI;EACL,CAAA;CACiB,CAAA;AAExB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
// src/components/button-group/button-group-context.ts
|
|
3
|
+
const ButtonGroupContext = createContext(void 0);
|
|
4
|
+
const useButtonGroupContext = () => useContext(ButtonGroupContext);
|
|
5
|
+
export { useButtonGroupContext as n, ButtonGroupContext as t };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=button-group-context-CScS9Ntz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button-group-context-CScS9Ntz.js","names":[],"sources":["../src/components/button-group/button-group-context.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nimport type { ButtonGroupProps } from './button-group.types'\n\ntype ButtonGroupContextValue = Pick<ButtonGroupProps, 'size' | 'tone' | 'variant'>\n\nconst ButtonGroupContext = createContext<ButtonGroupContextValue | undefined>(undefined),\n useButtonGroupContext = () => useContext(ButtonGroupContext)\n\nexport { ButtonGroupContext, useButtonGroupContext }\n"],"mappings":";;AAMA,MAAM,qBAAqB,cAAmD,KAAA,CAAS;AACrF,MAAA,8BAA8B,WAAW,kBAAkB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { Button } from "@base-ui/react";
|
|
3
|
+
declare const buttonVariants: (props?: ({
|
|
4
|
+
size?: "extraSmall" | "large" | "medium" | "small" | null | undefined;
|
|
5
|
+
tone?: "accent" | "brand" | "error" | "info" | "neutral" | "success" | "warning" | null | undefined;
|
|
6
|
+
variant?: "elevated" | "fill" | "ghost" | "link" | "outline" | "secondary" | "soft" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
type ButtonProps = React.ComponentProps<typeof Button> & VariantProps<typeof buttonVariants>;
|
|
9
|
+
export { ButtonProps as t };
|
|
10
|
+
//# sourceMappingURL=button.types-BFKrBCGd.d.ts.map
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import "@daypicker/react/style.css";
|
|
4
|
+
import { DateRange, DayButton, Mode, PropsBase } from "@daypicker/react";
|
|
5
|
+
declare const calendarPanelVariants: (props?: ({
|
|
6
|
+
variant?: "elevated" | "ghost" | "outline" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
type CalendarSelected = Date | Date[] | DateRange;
|
|
9
|
+
interface CalendarState {
|
|
10
|
+
selectedDates: CalendarSelected | undefined;
|
|
11
|
+
}
|
|
12
|
+
interface CalendarAction {
|
|
13
|
+
type: 'SET_SELECTED_DATES';
|
|
14
|
+
payload: CalendarSelected | undefined;
|
|
15
|
+
}
|
|
16
|
+
type CalendarProps = React.ComponentProps<'div'> & {
|
|
17
|
+
defaultState?: CalendarState;
|
|
18
|
+
};
|
|
19
|
+
interface CalendarContextValue {
|
|
20
|
+
state: CalendarState;
|
|
21
|
+
dispatch: React.Dispatch<CalendarAction>;
|
|
22
|
+
}
|
|
23
|
+
type CalendarPickerProps = PropsBase & {
|
|
24
|
+
selected?: CalendarSelected;
|
|
25
|
+
onSelect?: (date: CalendarSelected | undefined) => void;
|
|
26
|
+
mode?: Mode;
|
|
27
|
+
};
|
|
28
|
+
type CalendarPanelProps = React.ComponentProps<'div'> & VariantProps<typeof calendarPanelVariants>;
|
|
29
|
+
type CalendarHeaderProps = React.ComponentProps<'div'>;
|
|
30
|
+
type CalendarSummaryProps = React.ComponentProps<'div'>;
|
|
31
|
+
type CalendarFooterProps = React.ComponentProps<'div'>;
|
|
32
|
+
type CalendarComponents = NonNullable<PropsBase['components']>;
|
|
33
|
+
type CalendarChevronProps = React.ComponentProps<NonNullable<CalendarComponents['Chevron']>>;
|
|
34
|
+
type CalendarNextMonthButtonProps = React.ComponentProps<NonNullable<CalendarComponents['NextMonthButton']>>;
|
|
35
|
+
type CalendarPreviousMonthButtonProps = React.ComponentProps<NonNullable<CalendarComponents['PreviousMonthButton']>>;
|
|
36
|
+
type CalendarDropdownProps = React.ComponentProps<NonNullable<CalendarComponents['Dropdown']>> & {
|
|
37
|
+
children?: React.ReactNode;
|
|
38
|
+
};
|
|
39
|
+
type CalendarDayButtonProps = React.ComponentProps<typeof DayButton>;
|
|
40
|
+
declare function Calendar$1({ defaultState, children }: CalendarProps): React.JSX.Element;
|
|
41
|
+
export declare function CalendarDayButton({ className, modifiers, ...props }: CalendarDayButtonProps): import("react").JSX.Element;
|
|
42
|
+
export declare function CalendarDropdown({ children, className, disabled, value, options, onChange, 'aria-label': ariaLabel }: CalendarDropdownProps): import("react").JSX.Element;
|
|
43
|
+
export declare function CalendarFooter({ className, children, ref, ...props }: CalendarFooterProps): import("react").JSX.Element;
|
|
44
|
+
export declare function CalendarHeader({ className, children, ref, ...props }: CalendarHeaderProps): import("react").JSX.Element;
|
|
45
|
+
export declare function CalendarNextMonthButton({ className, children, ...props }: CalendarNextMonthButtonProps): import("react").JSX.Element;
|
|
46
|
+
export declare function CalendarPanel({ variant, className, children, ref, ...props }: CalendarPanelProps): import("react").JSX.Element;
|
|
47
|
+
export declare function CalendarPicker({ className, components, mode, selected, onSelect, ...props }: CalendarPickerProps): import("react").JSX.Element;
|
|
48
|
+
export declare function CalendarPreviousMonthButton({ className, children, ...props }: CalendarPreviousMonthButtonProps): import("react").JSX.Element;
|
|
49
|
+
export declare function CalendarSummary({ className, children, ref, ...props }: CalendarSummaryProps): import("react").JSX.Element;
|
|
50
|
+
export declare function CalendarChevron({ orientation }: CalendarChevronProps): import("react").JSX.Element;
|
|
51
|
+
declare const Calendar: typeof Calendar$1 & {
|
|
52
|
+
DayButton: typeof CalendarDayButton;
|
|
53
|
+
Dropdown: typeof CalendarDropdown;
|
|
54
|
+
Footer: typeof CalendarFooter;
|
|
55
|
+
Header: typeof CalendarHeader;
|
|
56
|
+
NextMonthButton: typeof CalendarNextMonthButton;
|
|
57
|
+
Panel: typeof CalendarPanel;
|
|
58
|
+
Picker: typeof CalendarPicker;
|
|
59
|
+
PreviousMonthButton: typeof CalendarPreviousMonthButton;
|
|
60
|
+
Summary: typeof CalendarSummary;
|
|
61
|
+
};
|
|
62
|
+
export { Calendar, type CalendarAction, type CalendarChevronProps, type CalendarComponents, type CalendarContextValue, type CalendarDayButtonProps, type CalendarDropdownProps, type CalendarFooterProps, type CalendarHeaderProps, type CalendarNextMonthButtonProps, type CalendarPanelProps, type CalendarPickerProps, type CalendarPreviousMonthButtonProps, type CalendarProps, type CalendarSummaryProps };
|
|
63
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { t as cn } from "../cn-BDi0DfT5.js";
|
|
2
|
+
import { t as formatDate } from "../utils-BI2x7nW5.js";
|
|
3
|
+
import { n as Icon } from "../icon-D3JWfCa2.js";
|
|
4
|
+
import { n as buttonVariants, t as Button } from "../button-DXQvyQyj.js";
|
|
5
|
+
import { a as SelectPopup, c as SelectIcon, i as SelectTitle, n as SelectValue, o as SelectList, r as SelectTrigger, s as SelectItem, t as Select } from "../select-DncJXYim.js";
|
|
6
|
+
import { cva } from "class-variance-authority";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import React, { useState } from "react";
|
|
9
|
+
import "@daypicker/react/style.css";
|
|
10
|
+
import { DayButton, DayPicker, getDefaultClassNames, isDateRange, labelDayButton } from "@daypicker/react";
|
|
11
|
+
// src/components/calendar/calendar.reducer.ts
|
|
12
|
+
const calendarReducer = (state, action) => {
|
|
13
|
+
switch (action.type) {
|
|
14
|
+
case "SET_SELECTED_DATES": return {
|
|
15
|
+
...state,
|
|
16
|
+
selectedDates: action.payload
|
|
17
|
+
};
|
|
18
|
+
default: return state;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
// src/components/calendar/calendar.tsx
|
|
22
|
+
const CalendarContext = React.createContext(void 0);
|
|
23
|
+
const useCalendar = () => {
|
|
24
|
+
const context = React.useContext(CalendarContext);
|
|
25
|
+
if (!context) throw new Error("useCalendar must be used within a Calendar");
|
|
26
|
+
return context;
|
|
27
|
+
};
|
|
28
|
+
function Calendar$1({ defaultState, children }) {
|
|
29
|
+
const [state, dispatch] = React.useReducer(calendarReducer, defaultState ?? { selectedDates: void 0 });
|
|
30
|
+
return /* @__PURE__ */ jsx(CalendarContext.Provider, {
|
|
31
|
+
value: {
|
|
32
|
+
dispatch,
|
|
33
|
+
state
|
|
34
|
+
},
|
|
35
|
+
children
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
// src/components/calendar/calendar-day-button.tsx
|
|
39
|
+
function CalendarDayButton({ className, modifiers, ...props }) {
|
|
40
|
+
return /* @__PURE__ */ jsx(DayButton, {
|
|
41
|
+
...props,
|
|
42
|
+
modifiers,
|
|
43
|
+
className: cn(buttonVariants({
|
|
44
|
+
size: "medium",
|
|
45
|
+
tone: "neutral",
|
|
46
|
+
variant: "ghost"
|
|
47
|
+
}), "text-inherit hover:bg-brand-container hover:text-brand-on-container", modifiers.selected && "hover:bg-brand-default hover:text-brand-on-default", className)
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
// src/components/calendar/calendar-dropdown.tsx
|
|
51
|
+
function createSelectTarget(value) {
|
|
52
|
+
const element = document.createElement("select"), option = Object.assign(document.createElement("option"), { value });
|
|
53
|
+
element.append(option);
|
|
54
|
+
element.value = value;
|
|
55
|
+
return element;
|
|
56
|
+
}
|
|
57
|
+
function CalendarDropdown({ children, className, disabled, value, options, onChange, "aria-label": ariaLabel }) {
|
|
58
|
+
const handleValueChange = (newValue) => {
|
|
59
|
+
if (onChange) {
|
|
60
|
+
const element = createSelectTarget(newValue ?? "");
|
|
61
|
+
onChange({
|
|
62
|
+
bubbles: false,
|
|
63
|
+
cancelable: false,
|
|
64
|
+
currentTarget: element,
|
|
65
|
+
defaultPrevented: false,
|
|
66
|
+
eventPhase: Event.NONE,
|
|
67
|
+
isDefaultPrevented: () => false,
|
|
68
|
+
isPropagationStopped: () => false,
|
|
69
|
+
isTrusted: false,
|
|
70
|
+
nativeEvent: new Event("change"),
|
|
71
|
+
persist: () => void 0,
|
|
72
|
+
preventDefault: () => void 0,
|
|
73
|
+
stopPropagation: () => void 0,
|
|
74
|
+
target: element,
|
|
75
|
+
timeStamp: performance.now(),
|
|
76
|
+
type: "change"
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
return /* @__PURE__ */ jsxs(Select, {
|
|
81
|
+
disabled,
|
|
82
|
+
value: value?.toString(),
|
|
83
|
+
onValueChange: handleValueChange,
|
|
84
|
+
children: [/* @__PURE__ */ jsxs(SelectTrigger, {
|
|
85
|
+
variant: "ghost",
|
|
86
|
+
"aria-label": ariaLabel,
|
|
87
|
+
className: cn("", className),
|
|
88
|
+
children: [/* @__PURE__ */ jsx(SelectValue, { children: options?.find((option) => option.value === value)?.label }), children ?? /* @__PURE__ */ jsx(SelectIcon, { children: /* @__PURE__ */ jsx(Icon, { name: "chevronsUpDown" }) })]
|
|
89
|
+
}), /* @__PURE__ */ jsx(SelectPopup, { children: /* @__PURE__ */ jsx(SelectList, { children: options?.map((option) => /* @__PURE__ */ jsx(SelectItem, {
|
|
90
|
+
value: option.value.toString(),
|
|
91
|
+
disabled: option.disabled,
|
|
92
|
+
children: /* @__PURE__ */ jsx(SelectTitle, { children: option.label })
|
|
93
|
+
}, option.value)) }) })]
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
// src/components/calendar/calendar-footer.tsx
|
|
97
|
+
function CalendarFooter({ className, children, ref, ...props }) {
|
|
98
|
+
return /* @__PURE__ */ jsx("div", {
|
|
99
|
+
"data-slot": "calendar-footer",
|
|
100
|
+
className: cn("mt-xs flex flex-col gap-3xs border-t border-border pt-xs", className),
|
|
101
|
+
ref,
|
|
102
|
+
...props,
|
|
103
|
+
children
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
// src/components/calendar/calendar-header.tsx
|
|
107
|
+
function CalendarHeader({ className, children, ref, ...props }) {
|
|
108
|
+
return /* @__PURE__ */ jsx("div", {
|
|
109
|
+
className: cn("", className),
|
|
110
|
+
ref,
|
|
111
|
+
...props,
|
|
112
|
+
children
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
// src/components/calendar/calendar-next-month-button.tsx
|
|
116
|
+
function CalendarNextMonthButton({ className, children, ...props }) {
|
|
117
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
118
|
+
variant: "ghost",
|
|
119
|
+
tone: "neutral",
|
|
120
|
+
size: "small",
|
|
121
|
+
className: cn("", className),
|
|
122
|
+
...props,
|
|
123
|
+
children: children ?? /* @__PURE__ */ jsx(Icon, { name: "chevronRight" })
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
// src/components/calendar/calendar.types.ts
|
|
127
|
+
const calendarPanelVariants = cva("w-fit", {
|
|
128
|
+
compoundVariants: [{
|
|
129
|
+
className: "rounded-2xl p-sm",
|
|
130
|
+
variant: ["elevated", "outline"]
|
|
131
|
+
}],
|
|
132
|
+
defaultVariants: { variant: "elevated" },
|
|
133
|
+
variants: { variant: {
|
|
134
|
+
elevated: "bg-surface shadow-2xs",
|
|
135
|
+
ghost: "bg-transparent",
|
|
136
|
+
outline: "border border-border"
|
|
137
|
+
} }
|
|
138
|
+
});
|
|
139
|
+
// src/components/calendar/calendar-panel.tsx
|
|
140
|
+
function CalendarPanel({ variant, className, children, ref, ...props }) {
|
|
141
|
+
return /* @__PURE__ */ jsx("div", {
|
|
142
|
+
className: cn(calendarPanelVariants({ variant }), className),
|
|
143
|
+
ref,
|
|
144
|
+
...props,
|
|
145
|
+
children
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
// src/components/calendar/calendar-chevron.tsx
|
|
149
|
+
const chevronIcons = {
|
|
150
|
+
down: "chevronDown",
|
|
151
|
+
left: "chevronLeft",
|
|
152
|
+
right: "chevronRight",
|
|
153
|
+
up: "chevronUp"
|
|
154
|
+
};
|
|
155
|
+
function CalendarChevron({ orientation = "left" }) {
|
|
156
|
+
return /* @__PURE__ */ jsx(Icon, { name: chevronIcons[orientation] });
|
|
157
|
+
}
|
|
158
|
+
// src/components/calendar/calendar-previous-month-button.tsx
|
|
159
|
+
function CalendarPreviousMonthButton({ className, children, ...props }) {
|
|
160
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
161
|
+
...props,
|
|
162
|
+
variant: "ghost",
|
|
163
|
+
tone: "neutral",
|
|
164
|
+
size: "small",
|
|
165
|
+
className: cn("", className),
|
|
166
|
+
children: children ?? /* @__PURE__ */ jsx(Icon, { name: "chevronLeft" })
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
// src/components/calendar/calendar-picker.tsx
|
|
170
|
+
function getMultipleSelected(selectedDates) {
|
|
171
|
+
if (Array.isArray(selectedDates)) return selectedDates;
|
|
172
|
+
}
|
|
173
|
+
function getRangeSelected(selectedDates) {
|
|
174
|
+
if (isDateRange(selectedDates)) return selectedDates;
|
|
175
|
+
}
|
|
176
|
+
function getSingleSelected(selectedDates) {
|
|
177
|
+
if (selectedDates instanceof Date) return selectedDates;
|
|
178
|
+
}
|
|
179
|
+
function labelDayButtonWithVisibleText(...args) {
|
|
180
|
+
const [date, modifiers, options, dateLib] = args;
|
|
181
|
+
return `${dateLib?.format(date, "d") ?? String(date.getDate())}, ${labelDayButton(date, modifiers, options, dateLib)}`;
|
|
182
|
+
}
|
|
183
|
+
const defaultClassNames = getDefaultClassNames();
|
|
184
|
+
const defaultComponents = {
|
|
185
|
+
Chevron: CalendarChevron,
|
|
186
|
+
DayButton: CalendarDayButton,
|
|
187
|
+
Dropdown: CalendarDropdown,
|
|
188
|
+
NextMonthButton: CalendarNextMonthButton,
|
|
189
|
+
PreviousMonthButton: CalendarPreviousMonthButton
|
|
190
|
+
};
|
|
191
|
+
const calendarClassNames = {
|
|
192
|
+
caption_label: "style-text-strong-0",
|
|
193
|
+
day: cn("size-xl! rounded-full style-text-default-0 transition-colors hover:bg-brand-container hover:text-brand-on-container data-selected:text-brand-on-default data-selected:hover:bg-brand-default", defaultClassNames.day),
|
|
194
|
+
day_button: cn("size-xl! rounded-full", defaultClassNames.day_button),
|
|
195
|
+
disabled: cn("pointer-events-none text-on-surface", defaultClassNames.disabled),
|
|
196
|
+
month_caption: "flex items-center justify-center h-lg",
|
|
197
|
+
month_grid: cn("mt-xs border-separate! border-spacing-3xs", defaultClassNames.month_grid),
|
|
198
|
+
nav: cn("h-lg! w-full justify-between!", defaultClassNames.nav),
|
|
199
|
+
outside: cn("border-none text-on-surface-muted", defaultClassNames.outside),
|
|
200
|
+
range_end: cn("rounded-l-none bg-brand-default text-brand-on-default"),
|
|
201
|
+
range_middle: cn("rounded-none! border-y border-brand-border bg-brand-container! text-brand-on-container! transition-none"),
|
|
202
|
+
range_start: cn("rounded-r-none bg-brand-default text-brand-on-default", "[&.rounded-l-none]:rounded-xl"),
|
|
203
|
+
selected: cn("bg-brand-default text-brand-on-default"),
|
|
204
|
+
today: cn("text-brand-default! data-selected:text-brand-on-default!", defaultClassNames.today),
|
|
205
|
+
week: cn("", defaultClassNames.week),
|
|
206
|
+
weekdays: cn("style-text-default-0 text-on-surface-muted", defaultClassNames.weekdays)
|
|
207
|
+
};
|
|
208
|
+
function CalendarPicker({ className, components, mode = "single", selected, onSelect, ...props }) {
|
|
209
|
+
const { state, dispatch } = useCalendar(), selectedValue = selected ?? state.selectedDates, handleSelect = (next) => {
|
|
210
|
+
dispatch({
|
|
211
|
+
payload: next,
|
|
212
|
+
type: "SET_SELECTED_DATES"
|
|
213
|
+
});
|
|
214
|
+
onSelect?.(next);
|
|
215
|
+
}, baseProps = {
|
|
216
|
+
className,
|
|
217
|
+
classNames: calendarClassNames,
|
|
218
|
+
components: {
|
|
219
|
+
...defaultComponents,
|
|
220
|
+
...components
|
|
221
|
+
},
|
|
222
|
+
labels: { labelDayButton: labelDayButtonWithVisibleText },
|
|
223
|
+
...props
|
|
224
|
+
};
|
|
225
|
+
switch (mode) {
|
|
226
|
+
case "multiple": return /* @__PURE__ */ jsx(DayPicker, {
|
|
227
|
+
...baseProps,
|
|
228
|
+
mode: "multiple",
|
|
229
|
+
selected: getMultipleSelected(selectedValue),
|
|
230
|
+
onSelect: handleSelect
|
|
231
|
+
});
|
|
232
|
+
case "range": return /* @__PURE__ */ jsx(DayPicker, {
|
|
233
|
+
...baseProps,
|
|
234
|
+
mode: "range",
|
|
235
|
+
selected: getRangeSelected(selectedValue),
|
|
236
|
+
onSelect: handleSelect
|
|
237
|
+
});
|
|
238
|
+
default: return /* @__PURE__ */ jsx(DayPicker, {
|
|
239
|
+
...baseProps,
|
|
240
|
+
mode: "single",
|
|
241
|
+
selected: getSingleSelected(selectedValue),
|
|
242
|
+
onSelect: handleSelect
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
// src/components/calendar/calendar-summary.tsx
|
|
247
|
+
const dateFormatOptions = {
|
|
248
|
+
day: "numeric",
|
|
249
|
+
month: "long",
|
|
250
|
+
year: "numeric"
|
|
251
|
+
};
|
|
252
|
+
const formatCalendarDate = (date) => formatDate(date, "en-US", dateFormatOptions);
|
|
253
|
+
function CalendarSummary({ className, children, ref, ...props }) {
|
|
254
|
+
const { state } = useCalendar(), [today, setToday] = useState(() => /* @__PURE__ */ new Date());
|
|
255
|
+
let formattedDate = void 0;
|
|
256
|
+
if (state.selectedDates instanceof Date) formattedDate = formatCalendarDate(state.selectedDates);
|
|
257
|
+
if (isDateRange(state.selectedDates)) {
|
|
258
|
+
const { from: startDate, to: endDate } = state.selectedDates;
|
|
259
|
+
if (startDate && endDate) formattedDate = `${formatCalendarDate(startDate)} - ${formatCalendarDate(endDate)}`;
|
|
260
|
+
}
|
|
261
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
262
|
+
className: cn("flex flex-col", className),
|
|
263
|
+
ref,
|
|
264
|
+
...props,
|
|
265
|
+
children: [
|
|
266
|
+
/* @__PURE__ */ jsx("span", {
|
|
267
|
+
className: "style-text-strong-1",
|
|
268
|
+
children: formatCalendarDate(today)
|
|
269
|
+
}),
|
|
270
|
+
/* @__PURE__ */ jsx("span", {
|
|
271
|
+
className: "style-text-strong-0",
|
|
272
|
+
children: formattedDate
|
|
273
|
+
}),
|
|
274
|
+
children
|
|
275
|
+
]
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
// src/components/calendar/index.ts
|
|
279
|
+
const Calendar = Object.assign(Calendar$1, {
|
|
280
|
+
DayButton: CalendarDayButton,
|
|
281
|
+
Dropdown: CalendarDropdown,
|
|
282
|
+
Footer: CalendarFooter,
|
|
283
|
+
Header: CalendarHeader,
|
|
284
|
+
NextMonthButton: CalendarNextMonthButton,
|
|
285
|
+
Panel: CalendarPanel,
|
|
286
|
+
Picker: CalendarPicker,
|
|
287
|
+
PreviousMonthButton: CalendarPreviousMonthButton,
|
|
288
|
+
Summary: CalendarSummary
|
|
289
|
+
});
|
|
290
|
+
export { Calendar, CalendarChevron, CalendarDayButton, CalendarDropdown, CalendarFooter, CalendarHeader, CalendarNextMonthButton, CalendarPanel, CalendarPicker, CalendarPreviousMonthButton, CalendarSummary };
|
|
291
|
+
|
|
292
|
+
//# sourceMappingURL=index.js.map
|