@plastic-js/tsumiki 0.1.51 → 0.1.53
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.js +6 -6
- package/dist/components/Avatar.js +4 -4
- package/dist/components/BackToTop.js +3 -3
- package/dist/components/BottomNavigation.js +4 -4
- package/dist/components/BottomSheet.js +1 -2
- package/dist/components/Button.js +17 -19
- package/dist/components/Checkbox.js +11 -29
- package/dist/components/Clipboard.js +2 -2
- package/dist/components/CloseButton.js +4 -4
- package/dist/components/Collapsible.js +3 -3
- package/dist/components/ColorPicker.js +6 -6
- package/dist/components/Combobox.js +10 -9
- package/dist/components/{DateInput.js → DatePicker.js} +37 -22
- package/dist/components/Dialog.js +7 -7
- package/dist/components/Drawer.js +7 -7
- package/dist/components/Field.js +3 -3
- package/dist/components/Fieldset.js +2 -2
- package/dist/components/FileUpload.js +12 -12
- package/dist/components/FilterGroup.js +50 -109
- package/dist/components/Input.js +15 -14
- package/dist/components/Link.js +2 -2
- package/dist/components/Listbox.js +7 -6
- package/dist/components/Menu.js +8 -7
- package/dist/components/MoneyInput.js +1 -1
- package/dist/components/NumberInput.js +8 -9
- package/dist/components/Pagination.js +8 -8
- package/dist/components/Popover.js +5 -5
- package/dist/components/Progress.js +3 -3
- package/dist/components/RadioGroup.js +5 -10
- package/dist/components/RatingGroup.js +5 -5
- package/dist/components/SearchInput.js +4 -1
- package/dist/components/Select.js +51 -25
- package/dist/components/SelectPc.js +18 -20
- package/dist/components/SignaturePad.js +6 -7
- package/dist/components/Skeleton.js +1 -1
- package/dist/components/Slider.js +7 -7
- package/dist/components/Spinner.js +1 -1
- package/dist/components/Steps.js +23 -23
- package/dist/components/Switch.js +19 -10
- package/dist/components/Tabs.js +5 -5
- package/dist/components/TagsInput.js +6 -6
- package/dist/components/Toast.js +14 -14
- package/dist/components/Toggle.js +7 -7
- package/dist/components/ToggleGroup.js +19 -8
- package/dist/components/Tour.js +3 -3
- package/dist/components/TreeView.js +5 -5
- package/dist/index.js +2 -2
- package/dist/tsumiki.css +1 -1
- package/docs/api.md +48 -136
- package/docs/component-api-pattern.md +1 -1
- package/docs/scroll-lock-issue.md +3 -3
- package/package.json +1 -1
- package/src/styles/color.css +42 -0
- package/src/styles/semantic.css +212 -0
- package/src/styles/shadow.css +1 -0
- package/src/styles/theme.css +14 -0
- package/src/styles/tokens.css +1 -0
|
@@ -19,13 +19,13 @@ var rootClass = css({
|
|
|
19
19
|
});
|
|
20
20
|
var trackClass = css({
|
|
21
21
|
width: "100%",
|
|
22
|
-
backgroundColor: "var(--tsu-
|
|
22
|
+
backgroundColor: "var(--tsu-bg-control)",
|
|
23
23
|
borderRadius: "999px",
|
|
24
24
|
overflow: "hidden"
|
|
25
25
|
});
|
|
26
26
|
var rangeClass = css({
|
|
27
27
|
height: "100%",
|
|
28
|
-
backgroundColor: "var(--tsu-accent-
|
|
28
|
+
backgroundColor: "var(--tsu-accent-solid-bg)",
|
|
29
29
|
borderRadius: "999px",
|
|
30
30
|
transition: "width var(--tsu-transition-normal)"
|
|
31
31
|
});
|
|
@@ -41,7 +41,7 @@ var stripedClass = css({
|
|
|
41
41
|
});
|
|
42
42
|
var labelClass = css({
|
|
43
43
|
fontSize: "var(--tsu-font-size-sm)",
|
|
44
|
-
color: "var(--tsu-
|
|
44
|
+
color: "var(--tsu-text-secondary)",
|
|
45
45
|
fontWeight: "var(--tsu-font-weight-medium)"
|
|
46
46
|
});
|
|
47
47
|
var sizeHeights = {
|
|
@@ -28,7 +28,7 @@ var itemClass = css({
|
|
|
28
28
|
touchAction: "manipulation",
|
|
29
29
|
"&:active": { backgroundColor: "transparent" },
|
|
30
30
|
"&[data-disabled]": {
|
|
31
|
-
|
|
31
|
+
opacity: "var(--tsu-disabled-opacity)",
|
|
32
32
|
cursor: "not-allowed"
|
|
33
33
|
}
|
|
34
34
|
});
|
|
@@ -36,8 +36,8 @@ var itemControlClass = css({
|
|
|
36
36
|
width: "20px",
|
|
37
37
|
height: "20px",
|
|
38
38
|
borderRadius: "50%",
|
|
39
|
-
border: "2px solid var(--tsu-accent-
|
|
40
|
-
background: "var(--tsu-
|
|
39
|
+
border: "2px solid var(--tsu-accent-outline-border)",
|
|
40
|
+
background: "var(--tsu-bg-panel)",
|
|
41
41
|
display: "flex",
|
|
42
42
|
alignItems: "center",
|
|
43
43
|
justifyContent: "center",
|
|
@@ -45,18 +45,13 @@ var itemControlClass = css({
|
|
|
45
45
|
touchAction: "manipulation",
|
|
46
46
|
transition: "border-color var(--tsu-transition-fast), background-color var(--tsu-transition-fast)",
|
|
47
47
|
"&:active": { backgroundColor: "transparent" },
|
|
48
|
-
"&[data-state=\"checked\"]": { borderColor: "var(--tsu-accent-
|
|
49
|
-
"&[data-disabled]": {
|
|
50
|
-
borderColor: "var(--tsu-disabled-border)",
|
|
51
|
-
background: "var(--tsu-disabled-bg)"
|
|
52
|
-
}
|
|
48
|
+
"&[data-state=\"checked\"]": { borderColor: "var(--tsu-accent-solid-bg)" }
|
|
53
49
|
});
|
|
54
50
|
var indicatorClass = css({
|
|
55
51
|
width: "10px",
|
|
56
52
|
height: "10px",
|
|
57
53
|
borderRadius: "50%",
|
|
58
|
-
background: "var(--tsu-accent-
|
|
59
|
-
"&[data-disabled]": { background: "var(--tsu-disabled-fg)" }
|
|
54
|
+
background: "var(--tsu-accent-solid-bg)"
|
|
60
55
|
});
|
|
61
56
|
var RadioGroup$1 = (props = {}) => {
|
|
62
57
|
const [local, rest] = splitProps(mergeProps$2({}, props), [
|
|
@@ -12,7 +12,7 @@ var rootClass = css({
|
|
|
12
12
|
var labelClass = css({
|
|
13
13
|
fontSize: "var(--tsu-comp-font-size-sm)",
|
|
14
14
|
fontWeight: "var(--tsu-font-weight-medium)",
|
|
15
|
-
color: "var(--tsu-
|
|
15
|
+
color: "var(--tsu-text-secondary)"
|
|
16
16
|
});
|
|
17
17
|
var controlClass = css({
|
|
18
18
|
display: "flex",
|
|
@@ -24,12 +24,12 @@ var itemClass = css({
|
|
|
24
24
|
padding: 0,
|
|
25
25
|
cursor: "pointer",
|
|
26
26
|
lineHeight: 0,
|
|
27
|
-
color: "var(--tsu-
|
|
27
|
+
color: "var(--tsu-border)",
|
|
28
28
|
transition: "color var(--tsu-transition-fast)",
|
|
29
|
-
"&[data-highlighted]": { color: "var(--tsu-warning-
|
|
30
|
-
"&[data-checked]": { color: "var(--tsu-warning-
|
|
29
|
+
"&[data-highlighted]": { color: "var(--tsu-warning-solid-bg)" },
|
|
30
|
+
"&[data-checked]": { color: "var(--tsu-warning-solid-bg)" },
|
|
31
31
|
"&[data-disabled]": {
|
|
32
|
-
opacity:
|
|
32
|
+
opacity: "var(--tsu-disabled-opacity)",
|
|
33
33
|
cursor: "not-allowed",
|
|
34
34
|
pointerEvents: "none"
|
|
35
35
|
}
|
|
@@ -21,7 +21,10 @@ var clearButtonClass = css({
|
|
|
21
21
|
width: "100%",
|
|
22
22
|
height: "100%"
|
|
23
23
|
},
|
|
24
|
-
"&:
|
|
24
|
+
"&:active": {
|
|
25
|
+
color: "var(--tsu-fg)",
|
|
26
|
+
backgroundColor: "var(--tsu-pressed)"
|
|
27
|
+
}
|
|
25
28
|
});
|
|
26
29
|
function SearchIcon() {
|
|
27
30
|
return _tmpl.cloneNode(true);
|
|
@@ -27,20 +27,32 @@ var triggerBaseClass = css({
|
|
|
27
27
|
fontFamily: "inherit",
|
|
28
28
|
textAlign: "left",
|
|
29
29
|
cursor: "pointer",
|
|
30
|
-
"&:focus-visible": { borderColor: "var(--tsu-accent-
|
|
30
|
+
"&:focus-visible": { borderColor: "var(--tsu-accent-outline-border-hover)" },
|
|
31
31
|
"&[data-disabled]": {
|
|
32
|
-
|
|
33
|
-
borderColor: "var(--tsu-disabled-border)",
|
|
34
|
-
color: "var(--tsu-disabled-fg)",
|
|
32
|
+
opacity: "var(--tsu-disabled-opacity)",
|
|
35
33
|
cursor: "not-allowed"
|
|
36
34
|
}
|
|
37
35
|
});
|
|
38
36
|
var triggerVariants = {
|
|
39
37
|
solid: css({
|
|
40
|
-
backgroundColor: "var(--tsu-
|
|
38
|
+
backgroundColor: "var(--tsu-bg-control)",
|
|
41
39
|
border: "1px solid transparent"
|
|
42
40
|
}),
|
|
43
|
-
outline: css({ border: "1px solid var(--
|
|
41
|
+
outline: css({ border: "1px solid var(--_sel-border)" })
|
|
42
|
+
};
|
|
43
|
+
var intentClasses = {
|
|
44
|
+
default: css({
|
|
45
|
+
"--_sel-border": "var(--tsu-accent-outline-border)",
|
|
46
|
+
"--_sel-border-focus": "var(--tsu-accent-outline-border-hover)"
|
|
47
|
+
}),
|
|
48
|
+
neutral: css({
|
|
49
|
+
"--_sel-border": "var(--tsu-neutral-outline-border)",
|
|
50
|
+
"--_sel-border-focus": "var(--tsu-neutral-outline-border-hover)"
|
|
51
|
+
}),
|
|
52
|
+
danger: css({
|
|
53
|
+
"--_sel-border": "var(--tsu-danger-outline-border)",
|
|
54
|
+
"--_sel-border-focus": "var(--tsu-danger-outline-border-hover)"
|
|
55
|
+
})
|
|
44
56
|
};
|
|
45
57
|
var sizeClasses = {
|
|
46
58
|
xs: css({
|
|
@@ -79,10 +91,10 @@ var triggerValueClass = css({
|
|
|
79
91
|
textOverflow: "ellipsis",
|
|
80
92
|
whiteSpace: "nowrap"
|
|
81
93
|
});
|
|
82
|
-
var triggerPlaceholderClass = css({ color: "var(--tsu-
|
|
94
|
+
var triggerPlaceholderClass = css({ color: "var(--tsu-text-secondary)" });
|
|
83
95
|
var triggerIndicatorClass = css({
|
|
84
96
|
flexShrink: 0,
|
|
85
|
-
color: "var(--tsu-
|
|
97
|
+
color: "var(--tsu-text-secondary)",
|
|
86
98
|
display: "flex",
|
|
87
99
|
"& svg": {
|
|
88
100
|
width: "16px",
|
|
@@ -113,12 +125,16 @@ var itemClass = css({
|
|
|
113
125
|
fontFamily: "inherit",
|
|
114
126
|
textAlign: "left",
|
|
115
127
|
cursor: "pointer",
|
|
116
|
-
"&:active": { background: "
|
|
117
|
-
"&[data-selected]": { background: "var(--tsu-accent
|
|
128
|
+
"&:active": { background: "var(--tsu-pressed)" },
|
|
129
|
+
"&[data-selected]": { background: "var(--tsu-pressed-accent)" },
|
|
130
|
+
"&:disabled": {
|
|
131
|
+
opacity: "var(--tsu-disabled-opacity)",
|
|
132
|
+
cursor: "not-allowed"
|
|
133
|
+
}
|
|
118
134
|
});
|
|
119
135
|
var itemIndicatorClass = css({
|
|
120
136
|
flexShrink: 0,
|
|
121
|
-
color: "var(--tsu-accent-
|
|
137
|
+
color: "var(--tsu-accent-solid-bg)",
|
|
122
138
|
display: "flex",
|
|
123
139
|
"& svg": {
|
|
124
140
|
width: "18px",
|
|
@@ -133,15 +149,15 @@ var filterInputClass = css({
|
|
|
133
149
|
width: "100%",
|
|
134
150
|
height: "42px",
|
|
135
151
|
padding: "0 36px 0 40px",
|
|
136
|
-
background: "var(--tsu-
|
|
137
|
-
border: "1px solid var(--
|
|
152
|
+
background: "var(--tsu-bg-panel)",
|
|
153
|
+
border: "1px solid var(--_sel-border)",
|
|
138
154
|
borderRadius: "10px",
|
|
139
155
|
color: "var(--tsu-fg)",
|
|
140
156
|
fontSize: "16px",
|
|
141
157
|
fontFamily: "inherit",
|
|
142
158
|
boxSizing: "border-box",
|
|
143
|
-
"&:focus": { borderColor: "var(--
|
|
144
|
-
"&::placeholder": { color: "var(--tsu-
|
|
159
|
+
"&:focus": { borderColor: "var(--_sel-border-focus)" },
|
|
160
|
+
"&::placeholder": { color: "var(--tsu-text-secondary)" },
|
|
145
161
|
"&::-webkit-search-cancel-button": { appearance: "none" }
|
|
146
162
|
});
|
|
147
163
|
var filterIconClass = css({
|
|
@@ -149,7 +165,7 @@ var filterIconClass = css({
|
|
|
149
165
|
left: "12px",
|
|
150
166
|
top: "50%",
|
|
151
167
|
transform: "translateY(-50%)",
|
|
152
|
-
color: "var(--tsu-
|
|
168
|
+
color: "var(--tsu-text-secondary)",
|
|
153
169
|
pointerEvents: "none",
|
|
154
170
|
display: "flex",
|
|
155
171
|
"& svg": {
|
|
@@ -171,7 +187,7 @@ var filterClearClass = css({
|
|
|
171
187
|
background: "none",
|
|
172
188
|
border: "none",
|
|
173
189
|
borderRadius: "6px",
|
|
174
|
-
color: "var(--tsu-
|
|
190
|
+
color: "var(--tsu-text-secondary)",
|
|
175
191
|
cursor: "pointer",
|
|
176
192
|
"& svg": {
|
|
177
193
|
width: "16px",
|
|
@@ -181,7 +197,7 @@ var filterClearClass = css({
|
|
|
181
197
|
var noResultsClass = css({
|
|
182
198
|
padding: "20px 14px",
|
|
183
199
|
textAlign: "center",
|
|
184
|
-
color: "var(--tsu-
|
|
200
|
+
color: "var(--tsu-text-secondary)",
|
|
185
201
|
fontSize: "14px"
|
|
186
202
|
});
|
|
187
203
|
var SelectContext = createContext(null);
|
|
@@ -196,7 +212,8 @@ var read = (source) => {
|
|
|
196
212
|
var Select = (props) => {
|
|
197
213
|
const [local, rest] = splitProps(mergeProps$1({
|
|
198
214
|
size: "md",
|
|
199
|
-
solid: false
|
|
215
|
+
solid: false,
|
|
216
|
+
intent: "default"
|
|
200
217
|
}, props), [
|
|
201
218
|
"value",
|
|
202
219
|
"onValueChange",
|
|
@@ -211,7 +228,8 @@ var Select = (props) => {
|
|
|
211
228
|
"backdropClassName",
|
|
212
229
|
"backdropStyle",
|
|
213
230
|
"filter",
|
|
214
|
-
"solid"
|
|
231
|
+
"solid",
|
|
232
|
+
"intent"
|
|
215
233
|
]);
|
|
216
234
|
const open = (v) => {
|
|
217
235
|
if (v === void 0) return read(local.open);
|
|
@@ -265,6 +283,10 @@ var Select = (props) => {
|
|
|
265
283
|
disabled: () => local.disabled ?? false,
|
|
266
284
|
size: () => read(local.size),
|
|
267
285
|
solid: () => read(local.solid),
|
|
286
|
+
intent: () => {
|
|
287
|
+
const intent = read(local.intent);
|
|
288
|
+
return intent === "neutral" && read(local.solid) ? "default" : intent;
|
|
289
|
+
},
|
|
268
290
|
backdropClassName: local.backdropClassName,
|
|
269
291
|
backdropStyle: local.backdropStyle,
|
|
270
292
|
filter: local.filter,
|
|
@@ -285,7 +307,7 @@ var SelectTrigger = (props) => {
|
|
|
285
307
|
]);
|
|
286
308
|
return jsx("div", mergeProps(() => part("trigger"), {
|
|
287
309
|
get className() {
|
|
288
|
-
return `${triggerBaseClass} ${triggerVariants[ctx.solid() ? "solid" : "outline"]} ${sizeClasses[ctx.size()] || ""} ${local.className || ""}`;
|
|
310
|
+
return `${triggerBaseClass} ${triggerVariants[ctx.solid() ? "solid" : "outline"]} ${intentClasses[ctx.intent()]} ${sizeClasses[ctx.size()] || ""} ${local.className || ""}`;
|
|
289
311
|
},
|
|
290
312
|
"data-disabled": () => ctx.disabled() ? "" : void 0,
|
|
291
313
|
onClick: () => {
|
|
@@ -317,14 +339,18 @@ var Item = (props) => {
|
|
|
317
339
|
"children"
|
|
318
340
|
]);
|
|
319
341
|
const value = () => local.item !== void 0 ? ctx.itemToValue(local.item) : local.value;
|
|
342
|
+
const disabled = () => (local.item !== void 0 ? local.item.disabled : local.disabled) ?? false;
|
|
320
343
|
return jsx("button", mergeProps(() => part("item"), {
|
|
321
344
|
get className() {
|
|
322
345
|
return `${itemClass} ${local.className || ""}`;
|
|
323
346
|
},
|
|
324
347
|
"data-selected": () => ctx.isSelected(value()) ? "" : void 0,
|
|
325
|
-
|
|
348
|
+
disabled: () => disabled(),
|
|
349
|
+
onClick: () => {
|
|
350
|
+
if (!disabled()) ctx.setValue(value());
|
|
351
|
+
},
|
|
326
352
|
type: "button"
|
|
327
|
-
}, rest, { children: [jsx("span", mergeProps(() => part("itemText"), { children: () => local.children ?? (local.item !== void 0 && ctx.itemToLabel(local.item)) })), () => ctx.isSelected(value()) && jsx("span", mergeProps(() => part("itemIndicator"), {
|
|
353
|
+
}, rest, { children: [jsx("span", mergeProps(() => part("itemText"), { children: () => local.children ?? (local.item !== void 0 && ctx.itemToLabel(local.item)) })), () => ctx.isSelected(value()) && !disabled() && jsx("span", mergeProps(() => part("itemIndicator"), {
|
|
328
354
|
className: itemIndicatorClass,
|
|
329
355
|
children: jsx(Icon, mergeProps({ svg: checkSvg }))
|
|
330
356
|
}))] }));
|
|
@@ -351,7 +377,7 @@ var List = () => {
|
|
|
351
377
|
setProp(_el2, "ref", (el) => {
|
|
352
378
|
filterInputEl = el;
|
|
353
379
|
});
|
|
354
|
-
setProp(_el2, "className", () => filterInputClass);
|
|
380
|
+
setProp(_el2, "className", () => `${filterInputClass} ${intentClasses[ctx.intent()]}`);
|
|
355
381
|
setProp(_el2, "value", () => ctx.query);
|
|
356
382
|
setProp(_el2, "onInput", (e) => ctx.query(e.target.value));
|
|
357
383
|
setProp(_el2, "onClick", (e) => e.stopPropagation());
|
|
@@ -398,7 +424,7 @@ var Content = () => {
|
|
|
398
424
|
return ctx.backdropClassName;
|
|
399
425
|
},
|
|
400
426
|
get backdropStyle() {
|
|
401
|
-
return ctx.backdropStyle ?? { background: "
|
|
427
|
+
return ctx.backdropStyle ?? { background: "var(--tsu-bg-overlay)" };
|
|
402
428
|
},
|
|
403
429
|
contentClassName: listBodyClass,
|
|
404
430
|
children: jsx(List, {})
|
|
@@ -20,7 +20,7 @@ var triggerBaseClass = css({
|
|
|
20
20
|
cursor: "pointer",
|
|
21
21
|
textAlign: "start",
|
|
22
22
|
color: "var(--tsu-fg)",
|
|
23
|
-
"&[data-placeholder-shown]": { color: "var(--tsu-
|
|
23
|
+
"&[data-placeholder-shown]": { color: "var(--tsu-text-secondary)" }
|
|
24
24
|
});
|
|
25
25
|
var sizeClasses = {
|
|
26
26
|
xs: css({
|
|
@@ -56,12 +56,12 @@ var sizeClasses = {
|
|
|
56
56
|
};
|
|
57
57
|
var variantClasses = {
|
|
58
58
|
solid: css({
|
|
59
|
-
backgroundColor: "var(--tsu-
|
|
59
|
+
backgroundColor: "var(--tsu-bg-control)",
|
|
60
60
|
border: "1px solid transparent",
|
|
61
|
-
"&:hover:not(:disabled)": { backgroundColor: "var(--tsu-
|
|
61
|
+
"&:hover:not(:disabled)": { backgroundColor: "var(--tsu-bg-control-hover)" },
|
|
62
62
|
"&:active:not(:disabled)": {
|
|
63
|
-
backgroundColor: "var(--tsu-
|
|
64
|
-
borderColor: "var(--tsu-accent-
|
|
63
|
+
backgroundColor: "var(--tsu-pressed)",
|
|
64
|
+
borderColor: "var(--tsu-accent-solid-bg)"
|
|
65
65
|
},
|
|
66
66
|
"&:focus-visible": {
|
|
67
67
|
backgroundColor: "var(--tsu-focus-bg)",
|
|
@@ -69,10 +69,10 @@ var variantClasses = {
|
|
|
69
69
|
}
|
|
70
70
|
}),
|
|
71
71
|
outline: css({
|
|
72
|
-
border: "1px solid var(--tsu-accent-
|
|
72
|
+
border: "1px solid var(--tsu-accent-outline-border)",
|
|
73
73
|
"&:active:not(:disabled)": {
|
|
74
|
-
backgroundColor: "var(--tsu-accent
|
|
75
|
-
borderColor: "var(--tsu-accent-
|
|
74
|
+
backgroundColor: "var(--tsu-pressed-accent)",
|
|
75
|
+
borderColor: "var(--tsu-accent-solid-bg)"
|
|
76
76
|
},
|
|
77
77
|
"&:focus-visible": {
|
|
78
78
|
backgroundColor: "var(--tsu-focus-bg)",
|
|
@@ -81,13 +81,11 @@ var variantClasses = {
|
|
|
81
81
|
})
|
|
82
82
|
};
|
|
83
83
|
var errorClass = css({
|
|
84
|
-
borderColor: "var(--tsu-danger-
|
|
85
|
-
"&:focus-visible": { borderColor: "var(--tsu-danger-
|
|
84
|
+
borderColor: "var(--tsu-danger-outline-border) !important",
|
|
85
|
+
"&:focus-visible": { borderColor: "var(--tsu-danger-outline-border) !important" }
|
|
86
86
|
});
|
|
87
87
|
var disabledClass = css({
|
|
88
|
-
|
|
89
|
-
borderColor: "var(--tsu-disabled-border) !important",
|
|
90
|
-
color: "var(--tsu-disabled-fg) !important",
|
|
88
|
+
opacity: "var(--tsu-disabled-opacity)",
|
|
91
89
|
cursor: "not-allowed"
|
|
92
90
|
});
|
|
93
91
|
var indicatorClass = css({
|
|
@@ -95,13 +93,13 @@ var indicatorClass = css({
|
|
|
95
93
|
display: "flex",
|
|
96
94
|
alignItems: "center",
|
|
97
95
|
transition: "transform var(--tsu-transition-fast)",
|
|
98
|
-
color: "var(--tsu-
|
|
96
|
+
color: "var(--tsu-text-secondary)",
|
|
99
97
|
"&[data-state=\"open\"]": { transform: "rotate(180deg)" }
|
|
100
98
|
});
|
|
101
99
|
var positionerClass = css({ zIndex: "var(--tsu-z-dropdown)" });
|
|
102
100
|
var contentBaseClass = css({
|
|
103
|
-
backgroundColor: "var(--tsu-
|
|
104
|
-
border: "1px solid var(--tsu-
|
|
101
|
+
backgroundColor: "var(--tsu-bg-panel)",
|
|
102
|
+
border: "1px solid var(--tsu-border)",
|
|
105
103
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
106
104
|
boxShadow: "var(--tsu-shadow-lg)",
|
|
107
105
|
overflow: "hidden"
|
|
@@ -116,13 +114,13 @@ var itemClass = css({
|
|
|
116
114
|
cursor: "pointer",
|
|
117
115
|
color: "var(--tsu-fg)",
|
|
118
116
|
minHeight: "var(--_item-min-height)",
|
|
119
|
-
"&:active": { backgroundColor: "var(--tsu-
|
|
117
|
+
"&:active": { backgroundColor: "var(--tsu-pressed)" },
|
|
120
118
|
"&[data-highlighted]": {
|
|
121
|
-
backgroundColor: "var(--tsu-accent
|
|
122
|
-
color: "var(--tsu-accent-
|
|
119
|
+
backgroundColor: "var(--tsu-pressed-accent)",
|
|
120
|
+
color: "var(--tsu-accent-subtle-fg)"
|
|
123
121
|
},
|
|
124
122
|
"&[data-disabled]": {
|
|
125
|
-
|
|
123
|
+
opacity: "var(--tsu-disabled-opacity)",
|
|
126
124
|
pointerEvents: "none"
|
|
127
125
|
}
|
|
128
126
|
});
|
|
@@ -14,9 +14,9 @@ var labelClass = css({
|
|
|
14
14
|
fontWeight: "var(--tsu-font-weight-medium)"
|
|
15
15
|
});
|
|
16
16
|
var canvasClass = css({
|
|
17
|
-
border: "1px solid var(--tsu-
|
|
17
|
+
border: "1px solid var(--tsu-border)",
|
|
18
18
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
19
|
-
backgroundColor: "var(--tsu-bg)",
|
|
19
|
+
backgroundColor: "var(--tsu-bg-page)",
|
|
20
20
|
color: "var(--tsu-fg)",
|
|
21
21
|
touchAction: "none",
|
|
22
22
|
width: "100%",
|
|
@@ -31,16 +31,15 @@ var clearClass = css({
|
|
|
31
31
|
justifyContent: "center",
|
|
32
32
|
gap: "6px",
|
|
33
33
|
padding: "var(--tsu-comp-padding-y-sm) var(--tsu-comp-padding-x-md)",
|
|
34
|
-
border: "1px solid var(--tsu-neutral-
|
|
34
|
+
border: "1px solid var(--tsu-neutral-outline-border)",
|
|
35
35
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
36
|
-
background: "var(--tsu-bg)",
|
|
37
|
-
color: "var(--tsu-
|
|
36
|
+
background: "var(--tsu-bg-page)",
|
|
37
|
+
color: "var(--tsu-text-secondary)",
|
|
38
38
|
fontSize: "var(--tsu-comp-font-size-sm)",
|
|
39
39
|
fontFamily: "inherit",
|
|
40
40
|
cursor: "pointer",
|
|
41
41
|
touchAction: "manipulation",
|
|
42
|
-
"&:
|
|
43
|
-
"&:active": { background: "var(--tsu-neutral-3)" }
|
|
42
|
+
"&:active": { background: "var(--tsu-pressed)" }
|
|
44
43
|
});
|
|
45
44
|
var ClearTrigger = (props = {}) => {
|
|
46
45
|
const [local, rest] = splitProps(props, ["className", "children"]);
|
|
@@ -4,7 +4,7 @@ import { css, keyframes } from "@emotion/css";
|
|
|
4
4
|
var _tmpl = template("<span></span>");
|
|
5
5
|
var baseClass = css({
|
|
6
6
|
display: "block",
|
|
7
|
-
background: "linear-gradient(90deg, var(--tsu-
|
|
7
|
+
background: "linear-gradient(90deg, var(--tsu-border) 25%, var(--tsu-border-strong) 50%, var(--tsu-border) 75%)",
|
|
8
8
|
backgroundSize: "200% 100%",
|
|
9
9
|
animation: `${keyframes({
|
|
10
10
|
"0%": { backgroundPosition: "-200% 0" },
|
|
@@ -27,25 +27,25 @@ var trackClass = css({
|
|
|
27
27
|
width: "100%",
|
|
28
28
|
height: "4px",
|
|
29
29
|
borderRadius: "2px",
|
|
30
|
-
backgroundColor: "var(--tsu-
|
|
30
|
+
backgroundColor: "var(--tsu-border)"
|
|
31
31
|
});
|
|
32
32
|
var rangeClass = css({
|
|
33
33
|
position: "absolute",
|
|
34
34
|
height: "100%",
|
|
35
35
|
borderRadius: "2px",
|
|
36
|
-
backgroundColor: "var(--tsu-accent-
|
|
36
|
+
backgroundColor: "var(--tsu-accent-solid-bg)"
|
|
37
37
|
});
|
|
38
38
|
var thumbClass = css({
|
|
39
39
|
width: "20px",
|
|
40
40
|
height: "20px",
|
|
41
41
|
borderRadius: "50%",
|
|
42
|
-
backgroundColor: "var(--tsu-accent-
|
|
43
|
-
border: "2px solid var(--tsu-accent-
|
|
44
|
-
boxShadow: "
|
|
42
|
+
backgroundColor: "var(--tsu-accent-solid-bg)",
|
|
43
|
+
border: "2px solid var(--tsu-accent-solid-bg)",
|
|
44
|
+
boxShadow: "var(--tsu-shadow-sm)",
|
|
45
45
|
cursor: "pointer",
|
|
46
46
|
zIndex: 2,
|
|
47
47
|
transition: "box-shadow var(--tsu-transition-fast)",
|
|
48
|
-
"&:focus-visible": { boxShadow: "0 0 0 3px var(--tsu-accent-
|
|
48
|
+
"&:focus-visible": { boxShadow: "0 0 0 3px var(--tsu-accent-subtle-bg)" }
|
|
49
49
|
});
|
|
50
50
|
var indicatorClass = css({
|
|
51
51
|
position: "absolute",
|
|
@@ -55,7 +55,7 @@ var indicatorClass = css({
|
|
|
55
55
|
padding: "4px 8px",
|
|
56
56
|
borderRadius: "6px",
|
|
57
57
|
backgroundColor: "var(--tsu-fg)",
|
|
58
|
-
color: "var(--tsu-bg)",
|
|
58
|
+
color: "var(--tsu-bg-page)",
|
|
59
59
|
fontSize: "13px",
|
|
60
60
|
lineHeight: 1,
|
|
61
61
|
fontFamily: "inherit",
|
|
@@ -6,7 +6,7 @@ var rotate = keyframes({
|
|
|
6
6
|
from: { transform: "rotate(0deg)" },
|
|
7
7
|
to: { transform: "rotate(360deg)" }
|
|
8
8
|
});
|
|
9
|
-
var Spinner = ({ size = 24, strokeWidth = 2, color = "var(--tsu-accent-
|
|
9
|
+
var Spinner = ({ size = 24, strokeWidth = 2, color = "var(--tsu-accent-solid-bg)", duration = "0.8s", easing = "cubic-bezier(0.4, 0, 0.2, 1)", className } = {}) => {
|
|
10
10
|
const style = {
|
|
11
11
|
"--spinner-size": typeof size === "number" ? `${size}px` : size,
|
|
12
12
|
"--spinner-stroke": strokeWidth,
|
package/dist/components/Steps.js
CHANGED
|
@@ -60,13 +60,13 @@ var triggerClass = css({
|
|
|
60
60
|
fontFamily: "inherit",
|
|
61
61
|
touchAction: "manipulation",
|
|
62
62
|
"&[data-complete] .steps-title, &[data-current] .steps-title": {
|
|
63
|
-
color: "var(--tsu-accent-
|
|
63
|
+
color: "var(--tsu-accent-subtle-fg)",
|
|
64
64
|
fontWeight: "var(--tsu-font-weight-semibold)"
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
var titleClass = css({
|
|
68
68
|
fontSize: "var(--tsu-font-size-xs)",
|
|
69
|
-
color: "var(--tsu-
|
|
69
|
+
color: "var(--tsu-text-subtle)",
|
|
70
70
|
textAlign: "center"
|
|
71
71
|
});
|
|
72
72
|
var indicatorClass = css({
|
|
@@ -76,21 +76,21 @@ var indicatorClass = css({
|
|
|
76
76
|
width: "28px",
|
|
77
77
|
height: "28px",
|
|
78
78
|
borderRadius: "50%",
|
|
79
|
-
border: "2px solid var(--tsu-
|
|
80
|
-
backgroundColor: "var(--tsu-
|
|
79
|
+
border: "2px solid var(--tsu-border)",
|
|
80
|
+
backgroundColor: "var(--tsu-bg-panel)",
|
|
81
81
|
fontSize: "var(--tsu-font-size-sm)",
|
|
82
82
|
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
83
|
-
color: "var(--tsu-
|
|
83
|
+
color: "var(--tsu-text-subtle)",
|
|
84
84
|
transition: "background-color var(--tsu-transition-fast), border-color var(--tsu-transition-fast), color var(--tsu-transition-fast)",
|
|
85
85
|
".steps-trigger[data-current] &": {
|
|
86
|
-
borderColor: "var(--tsu-accent-
|
|
87
|
-
backgroundColor: "var(--tsu-accent-
|
|
88
|
-
color: "var(--tsu-
|
|
86
|
+
borderColor: "var(--tsu-accent-outline-border)",
|
|
87
|
+
backgroundColor: "var(--tsu-accent-solid-bg)",
|
|
88
|
+
color: "var(--tsu-accent-solid-fg)"
|
|
89
89
|
},
|
|
90
90
|
".steps-trigger[data-complete] &": {
|
|
91
|
-
borderColor: "var(--tsu-accent-
|
|
92
|
-
backgroundColor: "var(--tsu-accent-
|
|
93
|
-
color: "var(--tsu-accent-
|
|
91
|
+
borderColor: "var(--tsu-accent-outline-border)",
|
|
92
|
+
backgroundColor: "var(--tsu-accent-subtle-bg)",
|
|
93
|
+
color: "var(--tsu-accent-subtle-fg)"
|
|
94
94
|
},
|
|
95
95
|
".steps-trigger[data-complete] & .steps-indicator-index": { display: "none" },
|
|
96
96
|
".steps-trigger[data-complete] & .steps-indicator-check": { display: "flex" },
|
|
@@ -104,24 +104,24 @@ var indicatorClass = css({
|
|
|
104
104
|
var separatorClass = css({
|
|
105
105
|
flex: 1,
|
|
106
106
|
height: "2px",
|
|
107
|
-
backgroundColor: "var(--tsu-
|
|
107
|
+
backgroundColor: "var(--tsu-border)",
|
|
108
108
|
margin: "0 var(--tsu-spacing-xs)",
|
|
109
109
|
marginBottom: "20px",
|
|
110
|
-
"&[data-complete]": { backgroundColor: "var(--tsu-accent-
|
|
110
|
+
"&[data-complete]": { backgroundColor: "var(--tsu-accent-solid-bg)" }
|
|
111
111
|
});
|
|
112
112
|
var contentClass = css({
|
|
113
113
|
padding: "var(--tsu-spacing-md)",
|
|
114
|
-
backgroundColor: "var(--tsu-
|
|
114
|
+
backgroundColor: "var(--tsu-bg-panel)",
|
|
115
115
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
116
116
|
fontSize: "var(--tsu-font-size-sm)",
|
|
117
|
-
color: "var(--tsu-
|
|
117
|
+
color: "var(--tsu-text-secondary)"
|
|
118
118
|
});
|
|
119
119
|
var completedContentClass = css({
|
|
120
120
|
padding: "var(--tsu-spacing-md)",
|
|
121
121
|
textAlign: "center",
|
|
122
122
|
fontSize: "var(--tsu-font-size-md)",
|
|
123
123
|
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
124
|
-
color: "var(--tsu-success-
|
|
124
|
+
color: "var(--tsu-success-solid-bg)"
|
|
125
125
|
});
|
|
126
126
|
var navClass = css({
|
|
127
127
|
display: "flex",
|
|
@@ -130,24 +130,24 @@ var navClass = css({
|
|
|
130
130
|
});
|
|
131
131
|
var navBtnClass = css({
|
|
132
132
|
padding: "var(--tsu-spacing-sm) var(--tsu-spacing-md)",
|
|
133
|
-
border: "1px solid var(--tsu-accent-
|
|
133
|
+
border: "1px solid var(--tsu-accent-outline-border)",
|
|
134
134
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
135
|
-
backgroundColor: "var(--tsu-
|
|
136
|
-
color: "var(--tsu-
|
|
135
|
+
backgroundColor: "var(--tsu-bg-panel)",
|
|
136
|
+
color: "var(--tsu-text-secondary)",
|
|
137
137
|
fontSize: "var(--tsu-font-size-sm)",
|
|
138
138
|
fontWeight: "var(--tsu-font-weight-medium)",
|
|
139
139
|
cursor: "pointer",
|
|
140
140
|
fontFamily: "inherit",
|
|
141
141
|
touchAction: "manipulation",
|
|
142
142
|
"&:disabled": {
|
|
143
|
-
opacity:
|
|
143
|
+
opacity: "var(--tsu-disabled-opacity)",
|
|
144
144
|
cursor: "not-allowed"
|
|
145
145
|
}
|
|
146
146
|
});
|
|
147
147
|
var navNextClass = css({
|
|
148
|
-
backgroundColor: "var(--tsu-accent-
|
|
149
|
-
borderColor: "var(--tsu-accent-
|
|
150
|
-
color: "var(--tsu-
|
|
148
|
+
backgroundColor: "var(--tsu-accent-solid-bg)",
|
|
149
|
+
borderColor: "var(--tsu-accent-solid-bg)",
|
|
150
|
+
color: "var(--tsu-accent-solid-fg)"
|
|
151
151
|
});
|
|
152
152
|
var checkIcon = _tmpl.cloneNode(true);
|
|
153
153
|
var Steps$1 = (props = {}) => {
|
|
@@ -76,17 +76,21 @@ var rootClass = css({
|
|
|
76
76
|
touchAction: "manipulation",
|
|
77
77
|
"&[data-disabled]": { cursor: "not-allowed" }
|
|
78
78
|
});
|
|
79
|
+
var intentClasses = {
|
|
80
|
+
default: css({ "--_sw-track-checked": "var(--tsu-accent-solid-bg)" }),
|
|
81
|
+
danger: css({ "--_sw-track-checked": "var(--tsu-danger-solid-bg)" })
|
|
82
|
+
};
|
|
79
83
|
var controlClass = css({
|
|
80
84
|
position: "relative",
|
|
81
85
|
width: "var(--_sw-track-width, calc(2 * var(--tsu-comp-secondary-height-md)))",
|
|
82
86
|
height: "var(--_sw-track-height, var(--tsu-comp-secondary-height-md))",
|
|
83
87
|
flexShrink: 0,
|
|
84
88
|
borderRadius: "var(--_sw-track-radius, calc(var(--tsu-comp-secondary-height-md) / 2))",
|
|
85
|
-
backgroundColor: "var(--tsu-
|
|
89
|
+
backgroundColor: "var(--tsu-border)",
|
|
86
90
|
transition: "background-color var(--tsu-transition-fast)",
|
|
87
|
-
"&[data-state=\"checked\"]": { backgroundColor: "var(--
|
|
88
|
-
"&[data-disabled]": { backgroundColor: "var(--tsu-
|
|
89
|
-
"&[data-disabled][data-state=\"checked\"]": { backgroundColor: "var(--tsu-
|
|
91
|
+
"&[data-state=\"checked\"]": { backgroundColor: "var(--_sw-track-checked)" },
|
|
92
|
+
"&[data-disabled]": { backgroundColor: "var(--tsu-border-strong)" },
|
|
93
|
+
"&[data-disabled][data-state=\"checked\"]": { backgroundColor: "var(--tsu-border-strong)" }
|
|
90
94
|
});
|
|
91
95
|
var thumbClass = css({
|
|
92
96
|
position: "absolute",
|
|
@@ -95,32 +99,37 @@ var thumbClass = css({
|
|
|
95
99
|
width: "var(--_sw-thumb-size, calc(var(--tsu-comp-secondary-height-md) - 4px))",
|
|
96
100
|
height: "var(--_sw-thumb-size, calc(var(--tsu-comp-secondary-height-md) - 4px))",
|
|
97
101
|
borderRadius: "50%",
|
|
98
|
-
backgroundColor: "var(--tsu-
|
|
99
|
-
boxShadow: "
|
|
102
|
+
backgroundColor: "var(--tsu-bg-panel)",
|
|
103
|
+
boxShadow: "var(--tsu-shadow-sm)",
|
|
100
104
|
transform: "translateX(0)",
|
|
101
105
|
transition: "transform var(--tsu-transition-fast)",
|
|
102
106
|
"&[data-state=\"checked\"]": { transform: "translateX(var(--_sw-thumb-travel, var(--tsu-comp-secondary-height-md)))" },
|
|
103
107
|
"&[data-disabled]": {
|
|
104
|
-
backgroundColor: "var(--tsu-
|
|
108
|
+
backgroundColor: "var(--tsu-text-subtle)",
|
|
105
109
|
boxShadow: "none"
|
|
106
110
|
},
|
|
107
|
-
"&[data-disabled][data-state=\"checked\"]": { backgroundColor: "var(--tsu-
|
|
111
|
+
"&[data-disabled][data-state=\"checked\"]": { backgroundColor: "var(--tsu-bg-panel)" }
|
|
108
112
|
});
|
|
109
113
|
var labelClass = css({
|
|
110
114
|
fontSize: "var(--_sw-font-size, var(--tsu-comp-font-size-md))",
|
|
111
115
|
lineHeight: "var(--_sw-line-height, var(--tsu-comp-line-height-md))",
|
|
112
116
|
color: "var(--tsu-fg)",
|
|
113
|
-
"&[data-disabled]": {
|
|
117
|
+
"&[data-disabled]": { opacity: "var(--tsu-disabled-opacity)" }
|
|
114
118
|
});
|
|
115
119
|
var Switch$1 = (props = {}) => {
|
|
116
|
-
const [local, rest] = splitProps(mergeProps$2({
|
|
120
|
+
const [local, rest] = splitProps(mergeProps$2({
|
|
121
|
+
size: "md",
|
|
122
|
+
intent: "default"
|
|
123
|
+
}, props), [
|
|
117
124
|
"size",
|
|
125
|
+
"intent",
|
|
118
126
|
"className",
|
|
119
127
|
"children"
|
|
120
128
|
]);
|
|
121
129
|
const classNames = [
|
|
122
130
|
rootClass,
|
|
123
131
|
sizeClasses[local.size],
|
|
132
|
+
intentClasses[local.intent],
|
|
124
133
|
local.className
|
|
125
134
|
].filter(Boolean).join(" ");
|
|
126
135
|
return jsx(Switch.Root, mergeProps(rest, {
|