@plastic-js/tsumiki 0.1.30 → 0.1.33
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 +1 -1
- package/dist/components/Avatar.js +1 -1
- package/dist/components/BottomNavigation.js +9 -5
- package/dist/components/BottomSheet.js +117 -20
- package/dist/components/Collapsible.js +1 -1
- package/dist/components/ColorPicker.js +2 -2
- package/dist/components/DateInput.js +3 -3
- package/dist/components/Dialog.js +1 -1
- package/dist/components/Field.js +1 -1
- package/dist/components/Fieldset.js +1 -1
- package/dist/components/FilterGroup.js +32 -14
- package/dist/components/Input.js +11 -0
- package/dist/components/Link.js +1 -1
- package/dist/components/MoneyInput.js +1 -1
- package/dist/components/Pagination.js +1 -1
- package/dist/components/Popover.js +1 -1
- package/dist/components/Progress.js +1 -1
- package/dist/components/RadioGroup.js +1 -1
- package/dist/components/RatingGroup.js +1 -1
- package/dist/components/SignaturePad.js +1 -1
- package/dist/components/Slider.js +1 -1
- package/dist/components/Steps.js +4 -4
- package/dist/components/SwipeReveal.js +1 -1
- package/dist/components/TagsInput.js +2 -2
- package/dist/components/Toggle.js +1 -1
- package/dist/components/ToggleGroup.js +1 -1
- package/dist/tsumiki.css +1 -1
- package/docs/api.md +1 -0
- package/docs/v0.1.33-migration.md +163 -0
- package/package.json +1 -1
- package/src/styles/color.css +8 -0
- package/src/styles/radius.css +10 -10
- package/src/styles/reset.css +1 -1
- package/src/styles/shadow.css +6 -3
- package/src/styles/transition.css +15 -3
- package/src/styles/typography.css +20 -0
|
@@ -20,7 +20,7 @@ var triggerClass = css({
|
|
|
20
20
|
background: "none",
|
|
21
21
|
color: "var(--tsu-fg)",
|
|
22
22
|
fontSize: "var(--tsu-comp-font-size-md)",
|
|
23
|
-
fontWeight:
|
|
23
|
+
fontWeight: "var(--tsu-font-weight-medium)",
|
|
24
24
|
fontFamily: "inherit",
|
|
25
25
|
cursor: "pointer",
|
|
26
26
|
touchAction: "manipulation",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { insert, jsx, mergeProps, setProp, template } from "@plastic-js/plastic/jsx-runtime";
|
|
2
2
|
import { css } from "@emotion/css";
|
|
3
|
-
import { Dynamic, mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
|
|
3
|
+
import { Dynamic, createComputed, mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
|
|
4
4
|
//#region src/components/BottomNavigation.jsx
|
|
5
5
|
var _tmpl = template("<span></span>");
|
|
6
6
|
var read = (v) => typeof v === "function" ? v() : v;
|
|
@@ -42,24 +42,28 @@ var iconClass = css({
|
|
|
42
42
|
height: "24px",
|
|
43
43
|
"& svg": {
|
|
44
44
|
width: "100%",
|
|
45
|
-
height: "100%"
|
|
45
|
+
height: "100%",
|
|
46
|
+
strokeWidth: "var(--tsu-nav-icon-stroke-width, 2)"
|
|
46
47
|
}
|
|
47
48
|
});
|
|
48
49
|
var labelClass = css({
|
|
49
50
|
fontSize: "11px",
|
|
50
51
|
lineHeight: "14px",
|
|
51
|
-
fontWeight:
|
|
52
|
+
fontWeight: "var(--tsu-font-weight-medium)"
|
|
52
53
|
});
|
|
53
54
|
var BottomNavigationItem = (props = {}) => {
|
|
54
55
|
const [local, rest] = splitProps(props, [
|
|
55
56
|
"icon",
|
|
57
|
+
"activeIcon",
|
|
56
58
|
"label",
|
|
57
59
|
"active",
|
|
58
60
|
"href",
|
|
59
61
|
"onClick",
|
|
60
62
|
"className"
|
|
61
63
|
]);
|
|
62
|
-
|
|
64
|
+
const tag = local.href ? "a" : "button";
|
|
65
|
+
const shown = createComputed(() => read(local.active) && local.activeIcon != null ? read(local.activeIcon) : read(local.icon));
|
|
66
|
+
return jsx(Dynamic, mergeProps({ component: tag }, () => local.href ? { href: local.href } : { type: "button" }, {
|
|
63
67
|
get className() {
|
|
64
68
|
return [itemClass, local.className].filter(Boolean).join(" ");
|
|
65
69
|
},
|
|
@@ -69,7 +73,7 @@ var BottomNavigationItem = (props = {}) => {
|
|
|
69
73
|
},
|
|
70
74
|
children: [() => {
|
|
71
75
|
const _el0 = _tmpl.cloneNode(true);
|
|
72
|
-
insert(_el0, () =>
|
|
76
|
+
insert(_el0, () => shown());
|
|
73
77
|
setProp(_el0, "className", () => iconClass);
|
|
74
78
|
return _el0;
|
|
75
79
|
}, () => {
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import Portal_default from "./Portal.js";
|
|
2
2
|
import { insert, jsx, mergeProps, setProp, template } from "@plastic-js/plastic/jsx-runtime";
|
|
3
3
|
import { css } from "@emotion/css";
|
|
4
|
-
import { mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
|
|
4
|
+
import { createSignal, mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
|
|
5
5
|
//#region src/components/BottomSheet.jsx
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var _tmpl4 = template("<div><h2></h2></div>");
|
|
7
|
+
var _tmpl3 = template("<div><div></div></div>");
|
|
8
|
+
var _tmpl2 = template("<div role=\"dialog\" aria-modal=\"true\"><!><!><div></div><!></div>");
|
|
8
9
|
var _tmpl = template("<div></div>");
|
|
10
|
+
var CLOSE_DISTANCE_RATIO = .3;
|
|
11
|
+
var CLOSE_VELOCITY = .5;
|
|
12
|
+
var RUBBER_BAND_FACTOR = 3;
|
|
9
13
|
var backdropClass = css({
|
|
10
14
|
position: "fixed",
|
|
11
15
|
inset: 0,
|
|
@@ -13,10 +17,11 @@ var backdropClass = css({
|
|
|
13
17
|
background: "rgba(0, 0, 0, 0.35)",
|
|
14
18
|
opacity: 0,
|
|
15
19
|
pointerEvents: "none",
|
|
16
|
-
transition: "opacity
|
|
20
|
+
transition: "opacity var(--tsu-transition-overlay-exit)",
|
|
17
21
|
"&[data-open]": {
|
|
18
22
|
opacity: 1,
|
|
19
|
-
pointerEvents: "auto"
|
|
23
|
+
pointerEvents: "auto",
|
|
24
|
+
transition: "opacity var(--tsu-transition-overlay-enter)"
|
|
20
25
|
}
|
|
21
26
|
});
|
|
22
27
|
var backdropBlurClass = css({
|
|
@@ -30,17 +35,45 @@ var sheetClass = css({
|
|
|
30
35
|
zIndex: 1400,
|
|
31
36
|
background: "var(--tsu-bg)",
|
|
32
37
|
borderRadius: "var(--tsu-radius-l3-md) var(--tsu-radius-l3-md) 0 0",
|
|
38
|
+
boxShadow: "var(--tsu-shadow-lg)",
|
|
33
39
|
maxHeight: "70vh",
|
|
34
40
|
display: "flex",
|
|
35
41
|
flexDirection: "column",
|
|
36
42
|
transform: "translateY(100%)",
|
|
37
43
|
pointerEvents: "none",
|
|
38
|
-
transition: "transform
|
|
44
|
+
transition: "transform var(--tsu-transition-overlay-exit)",
|
|
39
45
|
"&[data-open]": {
|
|
40
46
|
transform: "translateY(0)",
|
|
41
|
-
pointerEvents: "auto"
|
|
47
|
+
pointerEvents: "auto",
|
|
48
|
+
transition: "transform var(--tsu-transition-overlay-enter)"
|
|
49
|
+
},
|
|
50
|
+
"&::after": {
|
|
51
|
+
content: "\"\"",
|
|
52
|
+
position: "absolute",
|
|
53
|
+
top: "calc(100% - 1px)",
|
|
54
|
+
left: 0,
|
|
55
|
+
right: 0,
|
|
56
|
+
height: "30vh",
|
|
57
|
+
background: "var(--tsu-bg)"
|
|
42
58
|
}
|
|
43
59
|
});
|
|
60
|
+
var draggingClass = css({ transition: "none" });
|
|
61
|
+
var grabberAreaClass = css({
|
|
62
|
+
display: "flex",
|
|
63
|
+
alignItems: "center",
|
|
64
|
+
justifyContent: "center",
|
|
65
|
+
padding: "6px 0",
|
|
66
|
+
flexShrink: 0,
|
|
67
|
+
cursor: "grab",
|
|
68
|
+
touchAction: "none",
|
|
69
|
+
"&:active": { cursor: "grabbing" }
|
|
70
|
+
});
|
|
71
|
+
var grabberClass = css({
|
|
72
|
+
width: "36px",
|
|
73
|
+
height: "5px",
|
|
74
|
+
borderRadius: "2.5px",
|
|
75
|
+
background: "var(--tsu-neutral-alpha-6)"
|
|
76
|
+
});
|
|
44
77
|
var headerClass = css({
|
|
45
78
|
display: "flex",
|
|
46
79
|
alignItems: "center",
|
|
@@ -51,8 +84,9 @@ var headerClass = css({
|
|
|
51
84
|
});
|
|
52
85
|
var titleClass = css({
|
|
53
86
|
margin: 0,
|
|
54
|
-
fontSize: "var(--tsu-
|
|
55
|
-
fontWeight:
|
|
87
|
+
fontSize: "var(--tsu-text-title-size)",
|
|
88
|
+
fontWeight: "var(--tsu-text-title-weight)",
|
|
89
|
+
lineHeight: "var(--tsu-text-title-line-height)",
|
|
56
90
|
color: "var(--tsu-fg)",
|
|
57
91
|
textAlign: "center"
|
|
58
92
|
});
|
|
@@ -74,7 +108,8 @@ var read = (v) => typeof v === "function" ? v() : v;
|
|
|
74
108
|
var BottomSheet = (props) => {
|
|
75
109
|
const [local] = splitProps(mergeProps$1({
|
|
76
110
|
dismissible: true,
|
|
77
|
-
backdropBlur: true
|
|
111
|
+
backdropBlur: true,
|
|
112
|
+
draggable: true
|
|
78
113
|
}, props), [
|
|
79
114
|
"open",
|
|
80
115
|
"onOpen",
|
|
@@ -82,18 +117,61 @@ var BottomSheet = (props) => {
|
|
|
82
117
|
"onOpenChange",
|
|
83
118
|
"title",
|
|
84
119
|
"dismissible",
|
|
120
|
+
"draggable",
|
|
85
121
|
"backdropBlur",
|
|
86
122
|
"footer",
|
|
87
123
|
"footerClass",
|
|
88
124
|
"class",
|
|
89
125
|
"children"
|
|
90
126
|
]);
|
|
127
|
+
const dragging = createSignal(false);
|
|
128
|
+
let sheetEl = null;
|
|
129
|
+
let startY = 0;
|
|
130
|
+
let currentDy = 0;
|
|
131
|
+
let lastY = 0;
|
|
132
|
+
let lastT = 0;
|
|
133
|
+
let velocity = 0;
|
|
134
|
+
const handleOpenChange = (detail) => {
|
|
135
|
+
if (!detail.open) local.onClose?.();
|
|
136
|
+
local.onOpenChange?.(detail);
|
|
137
|
+
};
|
|
91
138
|
const handleBackdropClick = () => {
|
|
92
|
-
if (local.dismissible) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
139
|
+
if (read(local.dismissible)) handleOpenChange({ open: false });
|
|
140
|
+
};
|
|
141
|
+
const onGrabberPointerDown = (e) => {
|
|
142
|
+
e.currentTarget.setPointerCapture?.(e.pointerId);
|
|
143
|
+
startY = lastY = e.clientY;
|
|
144
|
+
lastT = e.timeStamp;
|
|
145
|
+
velocity = 0;
|
|
146
|
+
currentDy = 0;
|
|
147
|
+
dragging(true);
|
|
96
148
|
};
|
|
149
|
+
const onGrabberPointerMove = (e) => {
|
|
150
|
+
if (!dragging()) return;
|
|
151
|
+
const dy = e.clientY - startY;
|
|
152
|
+
const dt = e.timeStamp - lastT;
|
|
153
|
+
if (dt > 0) velocity = (e.clientY - lastY) / dt;
|
|
154
|
+
lastY = e.clientY;
|
|
155
|
+
lastT = e.timeStamp;
|
|
156
|
+
currentDy = dy;
|
|
157
|
+
const translate = dy >= 0 ? dy : dy / RUBBER_BAND_FACTOR;
|
|
158
|
+
if (sheetEl) sheetEl.style.transform = `translateY(${translate}px)`;
|
|
159
|
+
};
|
|
160
|
+
const settle = (shouldClose) => {
|
|
161
|
+
dragging(false);
|
|
162
|
+
if (sheetEl) sheetEl.style.transform = "";
|
|
163
|
+
if (shouldClose && read(local.dismissible)) handleOpenChange({ open: false });
|
|
164
|
+
};
|
|
165
|
+
const onGrabberPointerUp = () => {
|
|
166
|
+
if (!dragging()) return;
|
|
167
|
+
const sheetHeight = sheetEl?.offsetHeight || 1;
|
|
168
|
+
settle(currentDy > sheetHeight * CLOSE_DISTANCE_RATIO || currentDy > 0 && velocity > CLOSE_VELOCITY);
|
|
169
|
+
};
|
|
170
|
+
const onGrabberPointerCancel = () => {
|
|
171
|
+
if (!dragging()) return;
|
|
172
|
+
settle(false);
|
|
173
|
+
};
|
|
174
|
+
const showGrabber = read(local.draggable);
|
|
97
175
|
return jsx(Portal_default, mergeProps({ children: [(() => {
|
|
98
176
|
const _el0 = _tmpl.cloneNode(true);
|
|
99
177
|
setProp(_el0, "className", () => local.backdropBlur ? `${backdropClass} ${backdropBlurClass}` : backdropClass);
|
|
@@ -105,23 +183,42 @@ var BottomSheet = (props) => {
|
|
|
105
183
|
const _el1 = _el0.firstChild;
|
|
106
184
|
const _el2 = _el0.firstChild.nextSibling;
|
|
107
185
|
const _el3 = _el0.firstChild.nextSibling.nextSibling;
|
|
108
|
-
|
|
186
|
+
const _el4 = _el0.firstChild.nextSibling.nextSibling.nextSibling;
|
|
187
|
+
insert(_el0, () => showGrabber && (() => {
|
|
109
188
|
const _el0 = _tmpl3.cloneNode(true);
|
|
110
189
|
const _el1 = _el0.firstChild;
|
|
190
|
+
setProp(_el1, "className", () => grabberClass);
|
|
191
|
+
setProp(_el0, "className", () => grabberAreaClass);
|
|
192
|
+
setProp(_el0, "onPointerDown", () => onGrabberPointerDown);
|
|
193
|
+
setProp(_el0, "onPointerMove", () => onGrabberPointerMove);
|
|
194
|
+
setProp(_el0, "onPointerUp", () => onGrabberPointerUp);
|
|
195
|
+
setProp(_el0, "onPointerCancel", () => onGrabberPointerCancel);
|
|
196
|
+
return _el0;
|
|
197
|
+
})(), _el1);
|
|
198
|
+
insert(_el0, () => local.title && (() => {
|
|
199
|
+
const _el0 = _tmpl4.cloneNode(true);
|
|
200
|
+
const _el1 = _el0.firstChild;
|
|
111
201
|
insert(_el1, () => local.title);
|
|
112
202
|
setProp(_el1, "className", () => titleClass);
|
|
113
203
|
setProp(_el0, "className", () => headerClass);
|
|
114
204
|
return _el0;
|
|
115
|
-
}),
|
|
116
|
-
insert(
|
|
117
|
-
setProp(
|
|
205
|
+
}), _el2);
|
|
206
|
+
insert(_el3, () => local.children);
|
|
207
|
+
setProp(_el3, "className", () => !local.title && !showGrabber ? `${bodyClass} ${bodyNoHeaderClass}` : bodyClass);
|
|
118
208
|
insert(_el0, () => local.footer && (() => {
|
|
119
209
|
const _el0 = _tmpl.cloneNode(true);
|
|
120
210
|
insert(_el0, () => local.footer);
|
|
121
211
|
setProp(_el0, "className", () => local.footerClass ? `${footerClass} ${local.footerClass}` : footerClass);
|
|
122
212
|
return _el0;
|
|
123
|
-
}),
|
|
124
|
-
setProp(_el0, "
|
|
213
|
+
}), _el4);
|
|
214
|
+
setProp(_el0, "ref", (el) => {
|
|
215
|
+
sheetEl = el;
|
|
216
|
+
});
|
|
217
|
+
setProp(_el0, "className", () => [
|
|
218
|
+
sheetClass,
|
|
219
|
+
dragging() && draggingClass,
|
|
220
|
+
local.class
|
|
221
|
+
].filter(Boolean).join(" "));
|
|
125
222
|
setProp(_el0, "data-open", () => read(local.open) ? "" : void 0);
|
|
126
223
|
setProp(_el0, "aria-label", () => local.title || "BottomSheet");
|
|
127
224
|
return _el0;
|
|
@@ -20,7 +20,7 @@ var triggerClass = css({
|
|
|
20
20
|
borderRadius: "var(--tsu-radius-l1-md)",
|
|
21
21
|
color: "var(--tsu-fg)",
|
|
22
22
|
fontSize: "var(--tsu-comp-font-size-sm)",
|
|
23
|
-
fontWeight:
|
|
23
|
+
fontWeight: "var(--tsu-font-weight-medium)",
|
|
24
24
|
fontFamily: "inherit",
|
|
25
25
|
cursor: "pointer",
|
|
26
26
|
textAlign: "left",
|
|
@@ -35,7 +35,7 @@ var sizeClasses = {
|
|
|
35
35
|
};
|
|
36
36
|
var labelClass = css({
|
|
37
37
|
fontSize: "13px",
|
|
38
|
-
fontWeight:
|
|
38
|
+
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
39
39
|
color: "var(--tsu-fg)"
|
|
40
40
|
});
|
|
41
41
|
var controlClass = css({
|
|
@@ -60,7 +60,7 @@ var valueSwatchClass = css({
|
|
|
60
60
|
});
|
|
61
61
|
var valueTextClass = css({
|
|
62
62
|
fontSize: "var(--_cp-font-size, var(--tsu-comp-font-size-md))",
|
|
63
|
-
fontWeight:
|
|
63
|
+
fontWeight: "var(--tsu-font-weight-medium)",
|
|
64
64
|
color: "var(--tsu-fg)",
|
|
65
65
|
fontVariantNumeric: "tabular-nums"
|
|
66
66
|
});
|
|
@@ -151,7 +151,7 @@ var toolbarBtnClass = css({
|
|
|
151
151
|
});
|
|
152
152
|
var toolbarTitleClass = css({
|
|
153
153
|
fontSize: "15px",
|
|
154
|
-
fontWeight:
|
|
154
|
+
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
155
155
|
color: "var(--tsu-fg)"
|
|
156
156
|
});
|
|
157
157
|
var wheelAreaClass = css({
|
|
@@ -174,7 +174,7 @@ var columnLabelClass = css({
|
|
|
174
174
|
textTransform: "uppercase",
|
|
175
175
|
letterSpacing: "0.5px",
|
|
176
176
|
marginBottom: "6px",
|
|
177
|
-
fontWeight:
|
|
177
|
+
fontWeight: "var(--tsu-font-weight-medium)"
|
|
178
178
|
});
|
|
179
179
|
var columnViewportClass = css({
|
|
180
180
|
width: "100%",
|
|
@@ -228,7 +228,7 @@ var itemBaseClass = css({
|
|
|
228
228
|
});
|
|
229
229
|
var selectedItemClass = css({
|
|
230
230
|
color: "var(--tsu-fg)",
|
|
231
|
-
fontWeight:
|
|
231
|
+
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
232
232
|
fontSize: "22px"
|
|
233
233
|
});
|
|
234
234
|
var mountWheel = (el, wheel) => {
|
|
@@ -144,7 +144,7 @@ var btnClass = css({
|
|
|
144
144
|
background: "transparent",
|
|
145
145
|
color: "var(--tsu-fg)",
|
|
146
146
|
fontSize: "var(--tsu-comp-font-size-lg)",
|
|
147
|
-
fontWeight:
|
|
147
|
+
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
148
148
|
fontFamily: "inherit",
|
|
149
149
|
cursor: "pointer"
|
|
150
150
|
});
|
package/dist/components/Field.js
CHANGED
|
@@ -42,20 +42,29 @@ var defaultStyle = {
|
|
|
42
42
|
"--_fg-gap": "var(--tsu-spacing-sm)"
|
|
43
43
|
};
|
|
44
44
|
var rootClass = css({
|
|
45
|
-
display: "
|
|
45
|
+
display: "flex",
|
|
46
|
+
width: "100%",
|
|
47
|
+
alignItems: "center",
|
|
46
48
|
gap: "var(--_fg-gap, var(--tsu-spacing-sm))"
|
|
47
49
|
});
|
|
50
|
+
var stickyClass = css({
|
|
51
|
+
position: "sticky",
|
|
52
|
+
top: 0,
|
|
53
|
+
zIndex: "var(--tsu-z-dropdown)",
|
|
54
|
+
backgroundColor: "var(--tsu-bg)"
|
|
55
|
+
});
|
|
48
56
|
var allClass = css({
|
|
49
57
|
display: "flex",
|
|
50
58
|
alignItems: "center",
|
|
51
59
|
justifyContent: "center",
|
|
60
|
+
flexShrink: 0,
|
|
52
61
|
padding: "var(--_tg-padding-y, var(--tsu-comp-padding-y-md)) var(--_tg-padding-x, var(--tsu-comp-padding-x-md))",
|
|
53
62
|
border: "1px solid var(--_tg-border)",
|
|
54
63
|
borderRadius: "var(--tsu-radius-round)",
|
|
55
64
|
background: "transparent",
|
|
56
65
|
color: "var(--tsu-neutral-11)",
|
|
57
66
|
fontSize: "var(--_tg-font-size, var(--tsu-comp-font-size-md))",
|
|
58
|
-
fontWeight:
|
|
67
|
+
fontWeight: "var(--tsu-font-weight-medium)",
|
|
59
68
|
fontFamily: "inherit",
|
|
60
69
|
cursor: "pointer",
|
|
61
70
|
touchAction: "manipulation",
|
|
@@ -71,12 +80,18 @@ var allClass = css({
|
|
|
71
80
|
});
|
|
72
81
|
var groupClass = css({
|
|
73
82
|
border: "none",
|
|
74
|
-
|
|
75
|
-
|
|
83
|
+
overflowX: "auto",
|
|
84
|
+
overflowY: "hidden",
|
|
85
|
+
flex: "1 1 auto",
|
|
86
|
+
minWidth: 0,
|
|
87
|
+
gap: "var(--_fg-gap, var(--tsu-spacing-sm))",
|
|
88
|
+
scrollbarWidth: "none",
|
|
89
|
+
"::-webkit-scrollbar": { display: "none" }
|
|
76
90
|
});
|
|
77
91
|
var itemClass = css({
|
|
78
92
|
border: "1px solid var(--_tg-border)",
|
|
79
93
|
borderRadius: "var(--tsu-radius-round)",
|
|
94
|
+
flexShrink: 0,
|
|
80
95
|
"&:last-child": { border: "1px solid var(--_tg-border)" }
|
|
81
96
|
});
|
|
82
97
|
var FilterGroup = (props = {}) => {
|
|
@@ -92,10 +107,12 @@ var FilterGroup = (props = {}) => {
|
|
|
92
107
|
"allLabel",
|
|
93
108
|
"size",
|
|
94
109
|
"buttonClass",
|
|
95
|
-
"groupClass"
|
|
110
|
+
"groupClass",
|
|
111
|
+
"sticky"
|
|
96
112
|
]);
|
|
97
113
|
const value = () => access(local.value) ?? [];
|
|
98
114
|
const allActive = () => value().length === 0;
|
|
115
|
+
const sticky = () => access(local.sticky);
|
|
99
116
|
const emit = (val) => {
|
|
100
117
|
local.onValueChange?.(val);
|
|
101
118
|
};
|
|
@@ -105,15 +122,16 @@ var FilterGroup = (props = {}) => {
|
|
|
105
122
|
};
|
|
106
123
|
const handleChange = (value) => emit(value);
|
|
107
124
|
return jsx("div", mergeProps(rest, {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
125
|
+
className: () => [
|
|
126
|
+
rootClass,
|
|
127
|
+
sticky() && stickyClass,
|
|
128
|
+
local.className
|
|
129
|
+
].filter(Boolean).join(" "),
|
|
130
|
+
style: () => ({
|
|
131
|
+
...defaultStyle,
|
|
132
|
+
...sizeVars[access(local.size)],
|
|
133
|
+
...typeof sticky() === "number" ? { top: `${sticky()}px` } : void 0
|
|
134
|
+
}),
|
|
117
135
|
children: [() => {
|
|
118
136
|
const _el0 = _tmpl.cloneNode(true);
|
|
119
137
|
insert(_el0, () => local.allLabel);
|
package/dist/components/Input.js
CHANGED
|
@@ -21,30 +21,35 @@ var sizeClasses = {
|
|
|
21
21
|
xs: css({
|
|
22
22
|
height: "var(--tsu-comp-height-xs)",
|
|
23
23
|
padding: "var(--tsu-comp-padding-y-xs) var(--tsu-comp-padding-x-xs)",
|
|
24
|
+
"--_pad-x": "var(--tsu-comp-padding-x-xs)",
|
|
24
25
|
fontSize: "var(--tsu-comp-font-size-xs)",
|
|
25
26
|
borderRadius: "var(--tsu-radius-l1-xs)"
|
|
26
27
|
}),
|
|
27
28
|
sm: css({
|
|
28
29
|
height: "var(--tsu-comp-height-sm)",
|
|
29
30
|
padding: "var(--tsu-comp-padding-y-sm) var(--tsu-comp-padding-x-sm)",
|
|
31
|
+
"--_pad-x": "var(--tsu-comp-padding-x-sm)",
|
|
30
32
|
fontSize: "var(--tsu-comp-font-size-sm)",
|
|
31
33
|
borderRadius: "var(--tsu-radius-l1-sm)"
|
|
32
34
|
}),
|
|
33
35
|
md: css({
|
|
34
36
|
height: "var(--tsu-comp-height-md)",
|
|
35
37
|
padding: "var(--tsu-comp-padding-y-md) var(--tsu-comp-padding-x-md)",
|
|
38
|
+
"--_pad-x": "var(--tsu-comp-padding-x-md)",
|
|
36
39
|
fontSize: "var(--tsu-comp-font-size-md)",
|
|
37
40
|
borderRadius: "var(--tsu-radius-l1-md)"
|
|
38
41
|
}),
|
|
39
42
|
lg: css({
|
|
40
43
|
height: "var(--tsu-comp-height-lg)",
|
|
41
44
|
padding: "var(--tsu-comp-padding-y-lg) var(--tsu-comp-padding-x-lg)",
|
|
45
|
+
"--_pad-x": "var(--tsu-comp-padding-x-lg)",
|
|
42
46
|
fontSize: "var(--tsu-comp-font-size-lg)",
|
|
43
47
|
borderRadius: "var(--tsu-radius-l1-lg)"
|
|
44
48
|
}),
|
|
45
49
|
xl: css({
|
|
46
50
|
height: "var(--tsu-comp-height-xl)",
|
|
47
51
|
padding: "var(--tsu-comp-padding-y-xl) var(--tsu-comp-padding-x-xl)",
|
|
52
|
+
"--_pad-x": "var(--tsu-comp-padding-x-xl)",
|
|
48
53
|
fontSize: "var(--tsu-comp-font-size-xl)",
|
|
49
54
|
borderRadius: "var(--tsu-radius-l1-xl)"
|
|
50
55
|
})
|
|
@@ -103,6 +108,8 @@ var affixClass = css({
|
|
|
103
108
|
display: "block"
|
|
104
109
|
}
|
|
105
110
|
});
|
|
111
|
+
var hasPrefixClass = css({ paddingLeft: "calc(var(--_pad-x) / 2)" });
|
|
112
|
+
var hasSuffixClass = css({ paddingRight: "calc(var(--_pad-x) / 2)" });
|
|
106
113
|
var eyeButtonClass = css({
|
|
107
114
|
flexShrink: 0,
|
|
108
115
|
display: "inline-flex",
|
|
@@ -148,6 +155,8 @@ var Input = (props = {}) => {
|
|
|
148
155
|
]);
|
|
149
156
|
const showPassword = createSignal(false);
|
|
150
157
|
const isPassword = read(local.type) === "password";
|
|
158
|
+
const hasPrefix = () => read(local.prefix) != null;
|
|
159
|
+
const hasSuffix = () => read(local.suffix) != null || isPassword;
|
|
151
160
|
const field = useFieldContext();
|
|
152
161
|
const fieldInvalid = () => field?.invalid?.() ?? false;
|
|
153
162
|
const fieldDisabled = () => field?.disabled?.() ?? false;
|
|
@@ -159,6 +168,8 @@ var Input = (props = {}) => {
|
|
|
159
168
|
read(local.solid) ? variantClasses.solid : variantClasses.outline,
|
|
160
169
|
effectiveInvalid() && errorClass,
|
|
161
170
|
effectiveDisabled() && disabledClass,
|
|
171
|
+
hasPrefix() && hasPrefixClass,
|
|
172
|
+
hasSuffix() && hasSuffixClass,
|
|
162
173
|
read(local.className)
|
|
163
174
|
].filter(Boolean).join(" ");
|
|
164
175
|
const inputType = () => {
|
package/dist/components/Link.js
CHANGED
|
@@ -6,7 +6,7 @@ var baseClass = css({
|
|
|
6
6
|
color: "var(--tsu-accent-11)",
|
|
7
7
|
textDecoration: "none",
|
|
8
8
|
cursor: "pointer",
|
|
9
|
-
fontWeight:
|
|
9
|
+
fontWeight: "var(--tsu-font-weight-medium)",
|
|
10
10
|
transition: "color var(--tsu-transition-fast), text-decoration-color var(--tsu-transition-fast)",
|
|
11
11
|
"&:hover": {
|
|
12
12
|
textDecoration: "underline",
|
|
@@ -6,7 +6,7 @@ import { splitProps } from "@plastic-js/plastic";
|
|
|
6
6
|
var _tmpl = template("<span></span>");
|
|
7
7
|
var affixSuffixClass = css({
|
|
8
8
|
color: "var(--tsu-fg)",
|
|
9
|
-
fontWeight:
|
|
9
|
+
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
10
10
|
paddingLeft: "10px",
|
|
11
11
|
marginLeft: "4px",
|
|
12
12
|
borderLeft: "1px solid var(--tsu-neutral-7)"
|
|
@@ -21,7 +21,7 @@ var itemClass = css({
|
|
|
21
21
|
backgroundColor: "var(--tsu-bg)",
|
|
22
22
|
color: "var(--tsu-neutral-11)",
|
|
23
23
|
fontSize: "var(--tsu-font-size-sm)",
|
|
24
|
-
fontWeight:
|
|
24
|
+
fontWeight: "var(--tsu-font-weight-medium)",
|
|
25
25
|
cursor: "pointer",
|
|
26
26
|
fontFamily: "inherit",
|
|
27
27
|
touchAction: "manipulation",
|
|
@@ -11,7 +11,7 @@ var rootClass = css({
|
|
|
11
11
|
var labelClass = css({
|
|
12
12
|
fontSize: "var(--tsu-comp-font-size-sm)",
|
|
13
13
|
color: "var(--tsu-fg)",
|
|
14
|
-
fontWeight:
|
|
14
|
+
fontWeight: "var(--tsu-font-weight-medium)"
|
|
15
15
|
});
|
|
16
16
|
var canvasClass = css({
|
|
17
17
|
border: "1px solid var(--tsu-neutral-7)",
|
package/dist/components/Steps.js
CHANGED
|
@@ -61,7 +61,7 @@ var triggerClass = css({
|
|
|
61
61
|
touchAction: "manipulation",
|
|
62
62
|
"&[data-complete] .steps-title, &[data-current] .steps-title": {
|
|
63
63
|
color: "var(--tsu-accent-9)",
|
|
64
|
-
fontWeight:
|
|
64
|
+
fontWeight: "var(--tsu-font-weight-semibold)"
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
67
|
var titleClass = css({
|
|
@@ -79,7 +79,7 @@ var indicatorClass = css({
|
|
|
79
79
|
border: "2px solid var(--tsu-neutral-5)",
|
|
80
80
|
backgroundColor: "var(--tsu-bg)",
|
|
81
81
|
fontSize: "var(--tsu-font-size-sm)",
|
|
82
|
-
fontWeight:
|
|
82
|
+
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
83
83
|
color: "var(--tsu-neutral-9)",
|
|
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] &": {
|
|
@@ -120,7 +120,7 @@ var completedContentClass = css({
|
|
|
120
120
|
padding: "var(--tsu-spacing-md)",
|
|
121
121
|
textAlign: "center",
|
|
122
122
|
fontSize: "var(--tsu-font-size-md)",
|
|
123
|
-
fontWeight:
|
|
123
|
+
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
124
124
|
color: "var(--tsu-success-9)"
|
|
125
125
|
});
|
|
126
126
|
var navClass = css({
|
|
@@ -135,7 +135,7 @@ var navBtnClass = css({
|
|
|
135
135
|
backgroundColor: "var(--tsu-bg)",
|
|
136
136
|
color: "var(--tsu-neutral-11)",
|
|
137
137
|
fontSize: "var(--tsu-font-size-sm)",
|
|
138
|
-
fontWeight:
|
|
138
|
+
fontWeight: "var(--tsu-font-weight-medium)",
|
|
139
139
|
cursor: "pointer",
|
|
140
140
|
fontFamily: "inherit",
|
|
141
141
|
touchAction: "manipulation",
|
|
@@ -25,7 +25,7 @@ var tagClass = css({
|
|
|
25
25
|
backgroundColor: "var(--tsu-accent-3)",
|
|
26
26
|
color: "var(--tsu-accent-9)",
|
|
27
27
|
fontSize: "var(--tsu-font-size-sm)",
|
|
28
|
-
fontWeight:
|
|
28
|
+
fontWeight: "var(--tsu-font-weight-medium)"
|
|
29
29
|
});
|
|
30
30
|
var tagDeleteClass = css({
|
|
31
31
|
display: "flex",
|
|
@@ -67,7 +67,7 @@ var inputClass = css({
|
|
|
67
67
|
});
|
|
68
68
|
var labelClass = css({
|
|
69
69
|
fontSize: "var(--tsu-comp-font-size-md)",
|
|
70
|
-
fontWeight:
|
|
70
|
+
fontWeight: "var(--tsu-font-weight-medium)",
|
|
71
71
|
color: "var(--tsu-fg)",
|
|
72
72
|
marginBottom: "var(--tsu-spacing-xs)"
|
|
73
73
|
});
|
|
@@ -13,7 +13,7 @@ var rootClass = css({
|
|
|
13
13
|
backgroundColor: "var(--tsu-bg)",
|
|
14
14
|
color: "var(--tsu-neutral-11)",
|
|
15
15
|
fontSize: "var(--tsu-font-size-sm)",
|
|
16
|
-
fontWeight:
|
|
16
|
+
fontWeight: "var(--tsu-font-weight-medium)",
|
|
17
17
|
cursor: "pointer",
|
|
18
18
|
fontFamily: "inherit",
|
|
19
19
|
touchAction: "manipulation",
|
|
@@ -20,7 +20,7 @@ var itemClass = css({
|
|
|
20
20
|
background: "transparent",
|
|
21
21
|
color: "var(--tsu-neutral-11)",
|
|
22
22
|
fontSize: "var(--_tg-font-size, var(--tsu-comp-font-size-md))",
|
|
23
|
-
fontWeight:
|
|
23
|
+
fontWeight: "var(--tsu-font-weight-medium)",
|
|
24
24
|
fontFamily: "inherit",
|
|
25
25
|
cursor: "pointer",
|
|
26
26
|
touchAction: "manipulation",
|
package/dist/tsumiki.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root,.light,.light-theme{--indigo-1:#fdfdfe;--indigo-2:#f7f9ff;--indigo-3:#edf2fe;--indigo-4:#e1e9ff;--indigo-5:#d2deff;--indigo-6:#c1d0ff;--indigo-7:#abbdf9;--indigo-8:#8da4ef;--indigo-9:#3e63dd;--indigo-10:#3358d4;--indigo-11:#3a5bc7;--indigo-12:#1f2d5c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-1:color(display-p3 .992 .992 .996);--indigo-2:color(display-p3 .971 .977 .998);--indigo-3:color(display-p3 .933 .948 .992);--indigo-4:color(display-p3 .885 .914 1);--indigo-5:color(display-p3 .831 .87 1);--indigo-6:color(display-p3 .767 .814 .995);--indigo-7:color(display-p3 .685 .74 .957);--indigo-8:color(display-p3 .569 .639 .916);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .234 .343 .801);--indigo-11:color(display-p3 .256 .354 .755);--indigo-12:color(display-p3 .133 .175 .348)}}}:root,.light,.light-theme{--indigo-a1:#00008002;--indigo-a2:#0040ff08;--indigo-a3:#0047f112;--indigo-a4:#0044ff1e;--indigo-a5:#0044ff2d;--indigo-a6:#003eff3e;--indigo-a7:#0037ed54;--indigo-a8:#0034dc72;--indigo-a9:#0031d2c1;--indigo-a10:#002ec9cc;--indigo-a11:#002bb7c5;--indigo-a12:#001046e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-a1:color(display-p3 .02 .02 .51/.008);--indigo-a2:color(display-p3 .024 .161 .863/.028);--indigo-a3:color(display-p3 .008 .239 .886/.067);--indigo-a4:color(display-p3 .004 .247 1/.114);--indigo-a5:color(display-p3 .004 .235 1/.169);--indigo-a6:color(display-p3 .004 .208 .984/.232);--indigo-a7:color(display-p3 .004 .176 .863/.314);--indigo-a8:color(display-p3 .004 .165 .812/.432);--indigo-a9:color(display-p3 0 .153 .773/.726);--indigo-a10:color(display-p3 0 .137 .737/.765);--indigo-a11:color(display-p3 .256 .354 .755);--indigo-a12:color(display-p3 .133 .175 .348)}}}:root,.light,.light-theme{--olive-1:#fcfdfc;--olive-2:#f8faf8;--olive-3:#eff1ef;--olive-4:#e7e9e7;--olive-5:#dfe2df;--olive-6:#d7dad7;--olive-7:#cccfcc;--olive-8:#b9bcb8;--olive-9:#898e87;--olive-10:#7f847d;--olive-11:#60655f;--olive-12:#1d211c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-1:color(display-p3 .989 .992 .989);--olive-2:color(display-p3 .974 .98 .973);--olive-3:color(display-p3 .939 .945 .937);--olive-4:color(display-p3 .907 .914 .905);--olive-5:color(display-p3 .878 .885 .875);--olive-6:color(display-p3 .846 .855 .843);--olive-7:color(display-p3 .803 .812 .8);--olive-8:color(display-p3 .727 .738 .723);--olive-9:color(display-p3 .541 .556 .532);--olive-10:color(display-p3 .5 .515 .491);--olive-11:color(display-p3 .38 .395 .374);--olive-12:color(display-p3 .117 .129 .111)}}}:root,.light,.light-theme{--olive-a1:#00550003;--olive-a2:#00490007;--olive-a3:#00200010;--olive-a4:#00160018;--olive-a5:#00180020;--olive-a6:#00140028;--olive-a7:#000f0033;--olive-a8:#040f0047;--olive-a9:#050f0078;--olive-a10:#040e0082;--olive-a11:#020a00a0;--olive-a12:#010600e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-a1:color(display-p3 .024 .349 .024/.012);--olive-a2:color(display-p3 .024 .302 .024/.028);--olive-a3:color(display-p3 .008 .129 .008/.063);--olive-a4:color(display-p3 .012 .094 .012/.095);--olive-a5:color(display-p3 .035 .098 .008/.126);--olive-a6:color(display-p3 .027 .078 .004/.157);--olive-a7:color(display-p3 .02 .059 0/.2);--olive-a8:color(display-p3 .02 .059 .004/.279);--olive-a9:color(display-p3 .02 .051 .004/.467);--olive-a10:color(display-p3 .024 .047 0/.51);--olive-a11:color(display-p3 .012 .039 0/.628);--olive-a12:color(display-p3 .008 .024 0/.891)}}}.dark,.dark-theme{--indigo-1:#11131f;--indigo-2:#141726;--indigo-3:#182449;--indigo-4:#1d2e62;--indigo-5:#253974;--indigo-6:#304384;--indigo-7:#3a4f97;--indigo-8:#435db1;--indigo-9:#3e63dd;--indigo-10:#5472e4;--indigo-11:#9eb1ff;--indigo-12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-1:color(display-p3 .068 .074 .118);--indigo-2:color(display-p3 .081 .089 .144);--indigo-3:color(display-p3 .105 .141 .275);--indigo-4:color(display-p3 .129 .18 .369);--indigo-5:color(display-p3 .163 .22 .439);--indigo-6:color(display-p3 .203 .262 .5);--indigo-7:color(display-p3 .245 .309 .575);--indigo-8:color(display-p3 .285 .362 .674);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .354 .445 .866);--indigo-11:color(display-p3 .63 .69 1);--indigo-12:color(display-p3 .848 .881 .99)}}}.dark,.dark-theme{--indigo-a1:#1133ff0f;--indigo-a2:#3354fa17;--indigo-a3:#2f62ff3c;--indigo-a4:#3566ff57;--indigo-a5:#4171fd6b;--indigo-a6:#5178fd7c;--indigo-a7:#5a7fff90;--indigo-a8:#5b81feac;--indigo-a9:#4671ffdb;--indigo-a10:#5c7efee3;--indigo-a11:#9eb1ff;--indigo-a12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-a1:color(display-p3 .071 .212 .996/.055);--indigo-a2:color(display-p3 .251 .345 .988/.085);--indigo-a3:color(display-p3 .243 .404 1/.223);--indigo-a4:color(display-p3 .263 .42 1/.324);--indigo-a5:color(display-p3 .314 .451 1/.4);--indigo-a6:color(display-p3 .361 .49 1/.467);--indigo-a7:color(display-p3 .388 .51 1/.547);--indigo-a8:color(display-p3 .404 .518 1/.652);--indigo-a9:color(display-p3 .318 .451 1/.824);--indigo-a10:color(display-p3 .404 .506 1/.858);--indigo-a11:color(display-p3 .63 .69 1);--indigo-a12:color(display-p3 .848 .881 .99)}}}.dark,.dark-theme{--olive-1:#111210;--olive-2:#181917;--olive-3:#212220;--olive-4:#282a27;--olive-5:#2f312e;--olive-6:#383a36;--olive-7:#454843;--olive-8:#5c625b;--olive-9:#687066;--olive-10:#767d74;--olive-11:#afb5ad;--olive-12:#eceeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-1:color(display-p3 .067 .07 .063);--olive-2:color(display-p3 .095 .098 .091);--olive-3:color(display-p3 .131 .135 .126);--olive-4:color(display-p3 .158 .163 .153);--olive-5:color(display-p3 .186 .192 .18);--olive-6:color(display-p3 .221 .229 .215);--olive-7:color(display-p3 .273 .284 .266);--olive-8:color(display-p3 .365 .382 .359);--olive-9:color(display-p3 .414 .438 .404);--olive-10:color(display-p3 .467 .49 .458);--olive-11:color(display-p3 .69 .709 .682);--olive-12:color(display-p3 .927 .933 .926)}}}.dark,.dark-theme{--olive-a1:#0000;--olive-a2:#f1f2f008;--olive-a3:#f4f5f312;--olive-a4:#f3fef21a;--olive-a5:#f2fbf122;--olive-a6:#f4faed2c;--olive-a7:#f2fced3b;--olive-a8:#edfdeb57;--olive-a9:#ebfde766;--olive-a10:#f0fdec74;--olive-a11:#f6fef4b0;--olive-a12:#fdfffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-a1:color(display-p3 0 0 0/0);--olive-a2:color(display-p3 .984 .988 .976/.03);--olive-a3:color(display-p3 .992 .996 .988/.068);--olive-a4:color(display-p3 .953 .996 .949/.102);--olive-a5:color(display-p3 .969 1 .965/.131);--olive-a6:color(display-p3 .973 1 .969/.169);--olive-a7:color(display-p3 .98 1 .961/.228);--olive-a8:color(display-p3 .961 1 .957/.334);--olive-a9:color(display-p3 .949 1 .922/.397);--olive-a10:color(display-p3 .953 1 .941/.452);--olive-a11:color(display-p3 .976 1 .965/.688);--olive-a12:color(display-p3 .992 1 .992/.929)}}}:root{--tsu-accent-1:var(--indigo-1);--tsu-accent-2:var(--indigo-2);--tsu-accent-3:var(--indigo-3);--tsu-accent-4:var(--indigo-4);--tsu-accent-5:var(--indigo-5);--tsu-accent-6:var(--indigo-6);--tsu-accent-7:var(--indigo-7);--tsu-accent-8:var(--indigo-8);--tsu-accent-9:var(--indigo-9);--tsu-accent-10:var(--indigo-10);--tsu-accent-11:var(--indigo-11);--tsu-accent-12:var(--indigo-12);--tsu-neutral-1:var(--olive-1);--tsu-neutral-2:var(--olive-2);--tsu-neutral-3:var(--olive-3);--tsu-neutral-4:var(--olive-4);--tsu-neutral-5:var(--olive-5);--tsu-neutral-6:var(--olive-6);--tsu-neutral-7:var(--olive-7);--tsu-neutral-8:var(--olive-8);--tsu-neutral-9:var(--olive-9);--tsu-neutral-10:var(--olive-10);--tsu-neutral-11:var(--olive-11);--tsu-neutral-12:var(--olive-12)}:root,.light,.light-theme{--red-1:#fffcfc;--red-2:#fff7f7;--red-3:#feebec;--red-4:#ffdbdc;--red-5:#ffcdce;--red-6:#fdbdbe;--red-7:#f4a9aa;--red-8:#eb8e90;--red-9:#e5484d;--red-10:#dc3e42;--red-11:#ce2c31;--red-12:#641723}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-1:color(display-p3 .998 .989 .988);--red-2:color(display-p3 .995 .971 .971);--red-3:color(display-p3 .985 .925 .925);--red-4:color(display-p3 .999 .866 .866);--red-5:color(display-p3 .984 .812 .811);--red-6:color(display-p3 .955 .751 .749);--red-7:color(display-p3 .915 .675 .672);--red-8:color(display-p3 .872 .575 .572);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .798 .294 .285);--red-11:color(display-p3 .744 .234 .222);--red-12:color(display-p3 .36 .115 .143)}}}:root,.light,.light-theme{--red-a1:#ff000003;--red-a2:#ff000008;--red-a3:#f3000d14;--red-a4:#ff000824;--red-a5:#ff000632;--red-a6:#f8000442;--red-a7:#df000356;--red-a8:#d2000571;--red-a9:#db0007b7;--red-a10:#d10005c1;--red-a11:#c40006d3;--red-a12:#55000de8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-a1:color(display-p3 .675 .024 .024/.012);--red-a2:color(display-p3 .863 .024 .024/.028);--red-a3:color(display-p3 .792 .008 .008/.075);--red-a4:color(display-p3 1 .008 .008/.134);--red-a5:color(display-p3 .918 .008 .008/.189);--red-a6:color(display-p3 .831 .02 .004/.251);--red-a7:color(display-p3 .741 .016 .004/.33);--red-a8:color(display-p3 .698 .012 .004/.428);--red-a9:color(display-p3 .749 .008 0/.675);--red-a10:color(display-p3 .714 .012 0/.714);--red-a11:color(display-p3 .744 .234 .222);--red-a12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-1:#191111;--red-2:#201314;--red-3:#3b1219;--red-4:#500f1c;--red-5:#611623;--red-6:#72232d;--red-7:#8c333a;--red-8:#b54548;--red-9:#e5484d;--red-10:#ec5d5e;--red-11:#ff9592;--red-12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-1:color(display-p3 .093 .068 .067);--red-2:color(display-p3 .118 .077 .079);--red-3:color(display-p3 .211 .081 .099);--red-4:color(display-p3 .287 .079 .113);--red-5:color(display-p3 .348 .11 .142);--red-6:color(display-p3 .414 .16 .183);--red-7:color(display-p3 .508 .224 .236);--red-8:color(display-p3 .659 .298 .297);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .861 .403 .387);--red-11:color(display-p3 1 .57 .55);--red-12:color(display-p3 .971 .826 .852)}}}.dark,.dark-theme{--red-a1:#f4121209;--red-a2:#f22f3e11;--red-a3:#ff173f2d;--red-a4:#fe0a3b44;--red-a5:#ff204756;--red-a6:#ff3e5668;--red-a7:#ff536184;--red-a8:#ff5d61b0;--red-a9:#fe4e54e4;--red-a10:#ff6465eb;--red-a11:#ff9592;--red-a12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-a1:color(display-p3 .984 .071 .071/.03);--red-a2:color(display-p3 .996 .282 .282/.055);--red-a3:color(display-p3 1 .169 .271/.156);--red-a4:color(display-p3 1 .118 .267/.236);--red-a5:color(display-p3 1 .212 .314/.303);--red-a6:color(display-p3 1 .318 .38/.374);--red-a7:color(display-p3 1 .4 .424/.475);--red-a8:color(display-p3 1 .431 .431/.635);--red-a9:color(display-p3 1 .388 .384/.82);--red-a10:color(display-p3 1 .463 .447/.853);--red-a11:color(display-p3 1 .57 .55);--red-a12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--green-1:#fbfefc;--green-2:#f4fbf6;--green-3:#e6f6eb;--green-4:#d6f1df;--green-5:#c4e8d1;--green-6:#adddc0;--green-7:#8eceaa;--green-8:#5bb98b;--green-9:#30a46c;--green-10:#2b9a66;--green-11:#218358;--green-12:#193b2d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-1:color(display-p3 .986 .996 .989);--green-2:color(display-p3 .963 .983 .967);--green-3:color(display-p3 .913 .964 .925);--green-4:color(display-p3 .859 .94 .879);--green-5:color(display-p3 .796 .907 .826);--green-6:color(display-p3 .718 .863 .761);--green-7:color(display-p3 .61 .801 .675);--green-8:color(display-p3 .451 .715 .559);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .308 .595 .417);--green-11:color(display-p3 .19 .5 .32);--green-12:color(display-p3 .132 .228 .18)}}}:root,.light,.light-theme{--green-a1:#00c04004;--green-a2:#00a32f0b;--green-a3:#00a43319;--green-a4:#00a83829;--green-a5:#019c393b;--green-a6:#00963c52;--green-a7:#00914071;--green-a8:#00924ba4;--green-a9:#008f4acf;--green-a10:#008647d4;--green-a11:#00713fde;--green-a12:#002616e6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-a1:color(display-p3 .024 .757 .267/.016);--green-a2:color(display-p3 .024 .565 .129/.036);--green-a3:color(display-p3 .012 .596 .145/.087);--green-a4:color(display-p3 .008 .588 .145/.142);--green-a5:color(display-p3 .004 .541 .157/.204);--green-a6:color(display-p3 .004 .518 .157/.283);--green-a7:color(display-p3 .004 .486 .165/.389);--green-a8:color(display-p3 0 .478 .2/.55);--green-a9:color(display-p3 0 .455 .165/.667);--green-a10:color(display-p3 0 .416 .153/.691);--green-a11:color(display-p3 .19 .5 .32);--green-a12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-1:#0e1512;--green-2:#121b17;--green-3:#132d21;--green-4:#113b29;--green-5:#174933;--green-6:#20573e;--green-7:#28684a;--green-8:#2f7c57;--green-9:#30a46c;--green-10:#33b074;--green-11:#3dd68c;--green-12:#b1f1cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-1:color(display-p3 .062 .083 .071);--green-2:color(display-p3 .079 .106 .09);--green-3:color(display-p3 .1 .173 .133);--green-4:color(display-p3 .115 .229 .166);--green-5:color(display-p3 .147 .282 .206);--green-6:color(display-p3 .185 .338 .25);--green-7:color(display-p3 .227 .403 .298);--green-8:color(display-p3 .27 .479 .351);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .357 .682 .474);--green-11:color(display-p3 .434 .828 .573);--green-12:color(display-p3 .747 .938 .807)}}}.dark,.dark-theme{--green-a1:#00de4505;--green-a2:#29f99d0b;--green-a3:#22ff991e;--green-a4:#11ff992d;--green-a5:#2bffa23c;--green-a6:#44ffaa4b;--green-a7:#50fdac5e;--green-a8:#54ffad73;--green-a9:#44ffa49e;--green-a10:#43fea4ab;--green-a11:#46fea5d4;--green-a12:#bbffd7f0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-a1:color(display-p3 0 .992 .298/.017);--green-a2:color(display-p3 .341 .98 .616/.043);--green-a3:color(display-p3 .376 .996 .655/.114);--green-a4:color(display-p3 .341 .996 .635/.173);--green-a5:color(display-p3 .408 1 .678/.232);--green-a6:color(display-p3 .475 1 .706/.29);--green-a7:color(display-p3 .514 1 .706/.362);--green-a8:color(display-p3 .529 1 .718/.442);--green-a9:color(display-p3 .502 .996 .682/.61);--green-a10:color(display-p3 .506 1 .682/.66);--green-a11:color(display-p3 .434 .828 .573);--green-a12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--amber-1:#fefdfb;--amber-2:#fefbe9;--amber-3:#fff7c2;--amber-4:#ffee9c;--amber-5:#fbe577;--amber-6:#f3d673;--amber-7:#e9c162;--amber-8:#e2a336;--amber-9:#ffc53d;--amber-10:#ffba18;--amber-11:#ab6400;--amber-12:#4f3422}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-1:color(display-p3 .995 .992 .985);--amber-2:color(display-p3 .994 .986 .921);--amber-3:color(display-p3 .994 .969 .782);--amber-4:color(display-p3 .989 .937 .65);--amber-5:color(display-p3 .97 .902 .527);--amber-6:color(display-p3 .936 .844 .506);--amber-7:color(display-p3 .89 .762 .443);--amber-8:color(display-p3 .85 .65 .3);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 .959 .741 .274);--amber-11:color(display-p3 .64 .4 0);--amber-12:color(display-p3 .294 .208 .145)}}}:root,.light,.light-theme{--amber-a1:#c0800004;--amber-a2:#f4d10016;--amber-a3:#ffde003d;--amber-a4:#ffd40063;--amber-a5:#f8cf0088;--amber-a6:#eab5008c;--amber-a7:#dc9b009d;--amber-a8:#da8a00c9;--amber-a9:#ffb300c2;--amber-a10:#ffb300e7;--amber-a11:#ab6400;--amber-a12:#341500dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-a1:color(display-p3 .757 .514 .024/.016);--amber-a2:color(display-p3 .902 .804 .008/.079);--amber-a3:color(display-p3 .965 .859 .004/.22);--amber-a4:color(display-p3 .969 .82 .004/.35);--amber-a5:color(display-p3 .933 .796 .004/.475);--amber-a6:color(display-p3 .875 .682 .004/.495);--amber-a7:color(display-p3 .804 .573 0/.557);--amber-a8:color(display-p3 .788 .502 0/.699);--amber-a9:color(display-p3 1 .686 0/.742);--amber-a10:color(display-p3 .945 .643 0/.726);--amber-a11:color(display-p3 .64 .4 0);--amber-a12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-1:#16120c;--amber-2:#1d180f;--amber-3:#302008;--amber-4:#3f2700;--amber-5:#4d3000;--amber-6:#5c3d05;--amber-7:#714f19;--amber-8:#8f6424;--amber-9:#ffc53d;--amber-10:#ffd60a;--amber-11:#ffca16;--amber-12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-1:color(display-p3 .082 .07 .05);--amber-2:color(display-p3 .111 .094 .064);--amber-3:color(display-p3 .178 .128 .049);--amber-4:color(display-p3 .239 .156 0);--amber-5:color(display-p3 .29 .193 0);--amber-6:color(display-p3 .344 .245 .076);--amber-7:color(display-p3 .422 .314 .141);--amber-8:color(display-p3 .535 .399 .189);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 1 .87 .15);--amber-11:color(display-p3 1 .8 .29);--amber-12:color(display-p3 .984 .909 .726)}}}.dark,.dark-theme{--amber-a1:#e63c0006;--amber-a2:#fd9b000d;--amber-a3:#fa820022;--amber-a4:#fc820032;--amber-a5:#fd8b0041;--amber-a6:#fd9b0051;--amber-a7:#ffab2567;--amber-a8:#ffae3587;--amber-a9:#ffc53d;--amber-a10:#ffd60a;--amber-a11:#ffca16;--amber-a12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-a1:color(display-p3 .992 .298 0/.017);--amber-a2:color(display-p3 .988 .651 0/.047);--amber-a3:color(display-p3 1 .6 0/.118);--amber-a4:color(display-p3 1 .557 0/.185);--amber-a5:color(display-p3 1 .592 0/.24);--amber-a6:color(display-p3 1 .659 .094/.299);--amber-a7:color(display-p3 1 .714 .263/.383);--amber-a8:color(display-p3 .996 .729 .306/.5);--amber-a9:color(display-p3 1 .769 .259);--amber-a10:color(display-p3 1 .871 .149);--amber-a11:color(display-p3 1 .8 .29);--amber-a12:color(display-p3 .984 .909 .726)}}}:root{--tsu-bg:var(--tsu-neutral-1);--tsu-fg:var(--tsu-neutral-12);--tsu-info-1:var(--tsu-accent-1);--tsu-info-2:var(--tsu-accent-2);--tsu-info-3:var(--tsu-accent-3);--tsu-info-4:var(--tsu-accent-4);--tsu-info-5:var(--tsu-accent-5);--tsu-info-6:var(--tsu-accent-6);--tsu-info-7:var(--tsu-accent-7);--tsu-info-8:var(--tsu-accent-8);--tsu-info-9:var(--tsu-accent-9);--tsu-info-10:var(--tsu-accent-10);--tsu-info-11:var(--tsu-accent-11);--tsu-info-12:var(--tsu-accent-12);--tsu-danger-1:var(--red-1);--tsu-danger-2:var(--red-2);--tsu-danger-3:var(--red-3);--tsu-danger-4:var(--red-4);--tsu-danger-5:var(--red-5);--tsu-danger-6:var(--red-6);--tsu-danger-7:var(--red-7);--tsu-danger-8:var(--red-8);--tsu-danger-9:var(--red-9);--tsu-danger-10:var(--red-10);--tsu-danger-11:var(--red-11);--tsu-danger-12:var(--red-12);--tsu-success-1:var(--green-1);--tsu-success-2:var(--green-2);--tsu-success-3:var(--green-3);--tsu-success-4:var(--green-4);--tsu-success-5:var(--green-5);--tsu-success-6:var(--green-6);--tsu-success-7:var(--green-7);--tsu-success-8:var(--green-8);--tsu-success-9:var(--green-9);--tsu-success-10:var(--green-10);--tsu-success-11:var(--green-11);--tsu-success-12:var(--green-12);--tsu-warning-1:var(--amber-1);--tsu-warning-2:var(--amber-2);--tsu-warning-3:var(--amber-3);--tsu-warning-4:var(--amber-4);--tsu-warning-5:var(--amber-5);--tsu-warning-6:var(--amber-6);--tsu-warning-7:var(--amber-7);--tsu-warning-8:var(--amber-8);--tsu-warning-9:var(--amber-9);--tsu-warning-10:var(--amber-10);--tsu-warning-11:var(--amber-11);--tsu-warning-12:var(--amber-12);--tsu-neutral-alpha-1:var(--olive-a1);--tsu-neutral-alpha-2:var(--olive-a2);--tsu-neutral-alpha-3:var(--olive-a3);--tsu-neutral-alpha-4:var(--olive-a4);--tsu-neutral-alpha-5:var(--olive-a5);--tsu-neutral-alpha-6:var(--olive-a6);--tsu-neutral-alpha-7:var(--olive-a7);--tsu-neutral-alpha-8:var(--olive-a8);--tsu-neutral-alpha-9:var(--olive-a9);--tsu-neutral-alpha-10:var(--olive-a10);--tsu-neutral-alpha-11:var(--olive-a11);--tsu-neutral-alpha-12:var(--olive-a12);--tsu-disabled-bg:var(--tsu-neutral-3);--tsu-disabled-fg:var(--tsu-neutral-9);--tsu-disabled-border:var(--tsu-neutral-7);--tsu-focus-bg:var(--tsu-neutral-2);--tsu-focus-border:var(--tsu-accent-8);--ink:var(--tsu-fg);--muted:var(--tsu-neutral-11);--accent:var(--tsu-accent-9);--surface:var(--tsu-bg);--bg:var(--tsu-neutral-2);--border:var(--tsu-neutral-7);--danger:var(--tsu-danger-9)}:root.dark{--tsu-bg:var(--tsu-neutral-3);--tsu-fg:#fff}:root{--tsu-radius-round:9999px;--tsu-radius-l3-xs:16px;--tsu-radius-l2-xs:8px;--tsu-radius-l1-xs:2px;--tsu-radius-l3-sm:16px;--tsu-radius-l2-sm:8px;--tsu-radius-l1-sm:2px;--tsu-radius-l3-md:16px;--tsu-radius-l2-md:8px;--tsu-radius-l1-md:4px;--tsu-radius-l3-lg:16px;--tsu-radius-l2-lg:8px;--tsu-radius-l1-lg:6px;--tsu-radius-l3-xl:16px;--tsu-radius-l2-xl:8px;--tsu-radius-l1-xl:8px;--tsu-radius-l3-xxl:16px;--tsu-radius-l2-xxl:8px;--tsu-radius-l1-xxl:16px;--tsu-level-primary-xs:32px;--tsu-level-primary-sm:36px;--tsu-level-primary-md:40px;--tsu-level-primary-lg:44px;--tsu-level-primary-xl:48px;--tsu-level-primary-xxl:64px;--tsu-level-secondary-xs:16px;--tsu-level-secondary-sm:18px;--tsu-level-secondary-md:20px;--tsu-level-secondary-lg:22px;--tsu-level-secondary-xl:24px;--tsu-level-secondary-xxl:32px;--tsu-comp-height-xs:var(--tsu-level-primary-xs);--tsu-comp-height-sm:var(--tsu-level-primary-sm);--tsu-comp-height-md:var(--tsu-level-primary-md);--tsu-comp-height-lg:var(--tsu-level-primary-lg);--tsu-comp-height-xl:var(--tsu-level-primary-xl);--tsu-comp-height-xxl:var(--tsu-level-primary-xxl);--tsu-comp-font-size-xs:12px;--tsu-comp-font-size-sm:14px;--tsu-comp-font-size-md:14px;--tsu-comp-font-size-lg:16px;--tsu-comp-font-size-xl:18px;--tsu-comp-font-size-xxl:20px;--tsu-comp-line-height-xs:16px;--tsu-comp-line-height-sm:20px;--tsu-comp-line-height-md:20px;--tsu-comp-line-height-lg:24px;--tsu-comp-line-height-xl:28px;--tsu-comp-line-height-xxl:30px;--tsu-comp-padding-y-xs:7px;--tsu-comp-padding-y-sm:7px;--tsu-comp-padding-y-md:9px;--tsu-comp-padding-y-lg:9px;--tsu-comp-padding-y-xl:9px;--tsu-comp-padding-y-xxl:16px;--tsu-comp-padding-x-xs:8px;--tsu-comp-padding-x-sm:12px;--tsu-comp-padding-x-md:16px;--tsu-comp-padding-x-lg:20px;--tsu-comp-padding-x-xl:24px;--tsu-comp-padding-x-xxl:32px;--tsu-comp-secondary-height-xs:var(--tsu-level-secondary-xs);--tsu-comp-secondary-height-sm:var(--tsu-level-secondary-sm);--tsu-comp-secondary-height-md:var(--tsu-level-secondary-md);--tsu-comp-secondary-height-lg:var(--tsu-level-secondary-lg);--tsu-comp-secondary-height-xl:var(--tsu-level-secondary-xl);--tsu-comp-secondary-height-xxl:var(--tsu-level-secondary-xxl);--tsu-font-size-xs:10px;--tsu-font-size-sm:12px;--tsu-font-size-md:14px;--tsu-font-size-lg:16px;--tsu-font-size-xl:20px;--tsu-font-size-xxl:24px;--tsu-spacing-xxs:2px;--tsu-spacing-xs:4px;--tsu-spacing-sm:8px;--tsu-spacing-md:12px;--tsu-spacing-lg:16px;--tsu-spacing-xl:24px;--tsu-spacing-xxl:32px;--tsu-transition-fast:.15s ease;--tsu-transition-normal:.3s ease;--tsu-transition-overlay:.3s ease;--tsu-shadow-sm:0 1px 2px var(--tsu-neutral-alpha-6);--tsu-shadow-md:0 4px 12px var(--tsu-neutral-alpha-8);--tsu-shadow-lg:0 8px 24px var(--tsu-neutral-alpha-10);--tsu-font-family:system-ui, -apple-system, sans-serif;--tsu-line-height:1.5;--tsu-container-padding-sm:12px;--tsu-container-padding-md:16px;--tsu-container-padding-lg:24px;--tsu-container-padding-xl:32px;--tsu-z-base:0;--tsu-z-dropdown:100;--tsu-z-modal:200;--tsu-z-toast:300}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}*{-webkit-tap-highlight-color:#0000;margin:0;padding:0}body{min-height:100vh;font-family:var(--tsu-font-family);font-size:var(--tsu-font-size-md);line-height:var(--tsu-line-height);color:var(--tsu-fg);background-color:var(--tsu-bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance;font-weight:600}a{color:inherit;text-decoration:none}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}:where(ul,ol){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(button){appearance:none;cursor:pointer;background:0 0;border:none}:where([hidden]){display:none}input[type=search]::-webkit-search-cancel-button{display:none}input[type=search]::-ms-clear{display:none}
|
|
1
|
+
:root,.light,.light-theme{--indigo-1:#fdfdfe;--indigo-2:#f7f9ff;--indigo-3:#edf2fe;--indigo-4:#e1e9ff;--indigo-5:#d2deff;--indigo-6:#c1d0ff;--indigo-7:#abbdf9;--indigo-8:#8da4ef;--indigo-9:#3e63dd;--indigo-10:#3358d4;--indigo-11:#3a5bc7;--indigo-12:#1f2d5c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-1:color(display-p3 .992 .992 .996);--indigo-2:color(display-p3 .971 .977 .998);--indigo-3:color(display-p3 .933 .948 .992);--indigo-4:color(display-p3 .885 .914 1);--indigo-5:color(display-p3 .831 .87 1);--indigo-6:color(display-p3 .767 .814 .995);--indigo-7:color(display-p3 .685 .74 .957);--indigo-8:color(display-p3 .569 .639 .916);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .234 .343 .801);--indigo-11:color(display-p3 .256 .354 .755);--indigo-12:color(display-p3 .133 .175 .348)}}}:root,.light,.light-theme{--indigo-a1:#00008002;--indigo-a2:#0040ff08;--indigo-a3:#0047f112;--indigo-a4:#0044ff1e;--indigo-a5:#0044ff2d;--indigo-a6:#003eff3e;--indigo-a7:#0037ed54;--indigo-a8:#0034dc72;--indigo-a9:#0031d2c1;--indigo-a10:#002ec9cc;--indigo-a11:#002bb7c5;--indigo-a12:#001046e0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--indigo-a1:color(display-p3 .02 .02 .51/.008);--indigo-a2:color(display-p3 .024 .161 .863/.028);--indigo-a3:color(display-p3 .008 .239 .886/.067);--indigo-a4:color(display-p3 .004 .247 1/.114);--indigo-a5:color(display-p3 .004 .235 1/.169);--indigo-a6:color(display-p3 .004 .208 .984/.232);--indigo-a7:color(display-p3 .004 .176 .863/.314);--indigo-a8:color(display-p3 .004 .165 .812/.432);--indigo-a9:color(display-p3 0 .153 .773/.726);--indigo-a10:color(display-p3 0 .137 .737/.765);--indigo-a11:color(display-p3 .256 .354 .755);--indigo-a12:color(display-p3 .133 .175 .348)}}}:root,.light,.light-theme{--olive-1:#fcfdfc;--olive-2:#f8faf8;--olive-3:#eff1ef;--olive-4:#e7e9e7;--olive-5:#dfe2df;--olive-6:#d7dad7;--olive-7:#cccfcc;--olive-8:#b9bcb8;--olive-9:#898e87;--olive-10:#7f847d;--olive-11:#60655f;--olive-12:#1d211c}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-1:color(display-p3 .989 .992 .989);--olive-2:color(display-p3 .974 .98 .973);--olive-3:color(display-p3 .939 .945 .937);--olive-4:color(display-p3 .907 .914 .905);--olive-5:color(display-p3 .878 .885 .875);--olive-6:color(display-p3 .846 .855 .843);--olive-7:color(display-p3 .803 .812 .8);--olive-8:color(display-p3 .727 .738 .723);--olive-9:color(display-p3 .541 .556 .532);--olive-10:color(display-p3 .5 .515 .491);--olive-11:color(display-p3 .38 .395 .374);--olive-12:color(display-p3 .117 .129 .111)}}}:root,.light,.light-theme{--olive-a1:#00550003;--olive-a2:#00490007;--olive-a3:#00200010;--olive-a4:#00160018;--olive-a5:#00180020;--olive-a6:#00140028;--olive-a7:#000f0033;--olive-a8:#040f0047;--olive-a9:#050f0078;--olive-a10:#040e0082;--olive-a11:#020a00a0;--olive-a12:#010600e3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--olive-a1:color(display-p3 .024 .349 .024/.012);--olive-a2:color(display-p3 .024 .302 .024/.028);--olive-a3:color(display-p3 .008 .129 .008/.063);--olive-a4:color(display-p3 .012 .094 .012/.095);--olive-a5:color(display-p3 .035 .098 .008/.126);--olive-a6:color(display-p3 .027 .078 .004/.157);--olive-a7:color(display-p3 .02 .059 0/.2);--olive-a8:color(display-p3 .02 .059 .004/.279);--olive-a9:color(display-p3 .02 .051 .004/.467);--olive-a10:color(display-p3 .024 .047 0/.51);--olive-a11:color(display-p3 .012 .039 0/.628);--olive-a12:color(display-p3 .008 .024 0/.891)}}}.dark,.dark-theme{--indigo-1:#11131f;--indigo-2:#141726;--indigo-3:#182449;--indigo-4:#1d2e62;--indigo-5:#253974;--indigo-6:#304384;--indigo-7:#3a4f97;--indigo-8:#435db1;--indigo-9:#3e63dd;--indigo-10:#5472e4;--indigo-11:#9eb1ff;--indigo-12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-1:color(display-p3 .068 .074 .118);--indigo-2:color(display-p3 .081 .089 .144);--indigo-3:color(display-p3 .105 .141 .275);--indigo-4:color(display-p3 .129 .18 .369);--indigo-5:color(display-p3 .163 .22 .439);--indigo-6:color(display-p3 .203 .262 .5);--indigo-7:color(display-p3 .245 .309 .575);--indigo-8:color(display-p3 .285 .362 .674);--indigo-9:color(display-p3 .276 .384 .837);--indigo-10:color(display-p3 .354 .445 .866);--indigo-11:color(display-p3 .63 .69 1);--indigo-12:color(display-p3 .848 .881 .99)}}}.dark,.dark-theme{--indigo-a1:#1133ff0f;--indigo-a2:#3354fa17;--indigo-a3:#2f62ff3c;--indigo-a4:#3566ff57;--indigo-a5:#4171fd6b;--indigo-a6:#5178fd7c;--indigo-a7:#5a7fff90;--indigo-a8:#5b81feac;--indigo-a9:#4671ffdb;--indigo-a10:#5c7efee3;--indigo-a11:#9eb1ff;--indigo-a12:#d6e1ff}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--indigo-a1:color(display-p3 .071 .212 .996/.055);--indigo-a2:color(display-p3 .251 .345 .988/.085);--indigo-a3:color(display-p3 .243 .404 1/.223);--indigo-a4:color(display-p3 .263 .42 1/.324);--indigo-a5:color(display-p3 .314 .451 1/.4);--indigo-a6:color(display-p3 .361 .49 1/.467);--indigo-a7:color(display-p3 .388 .51 1/.547);--indigo-a8:color(display-p3 .404 .518 1/.652);--indigo-a9:color(display-p3 .318 .451 1/.824);--indigo-a10:color(display-p3 .404 .506 1/.858);--indigo-a11:color(display-p3 .63 .69 1);--indigo-a12:color(display-p3 .848 .881 .99)}}}.dark,.dark-theme{--olive-1:#111210;--olive-2:#181917;--olive-3:#212220;--olive-4:#282a27;--olive-5:#2f312e;--olive-6:#383a36;--olive-7:#454843;--olive-8:#5c625b;--olive-9:#687066;--olive-10:#767d74;--olive-11:#afb5ad;--olive-12:#eceeec}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-1:color(display-p3 .067 .07 .063);--olive-2:color(display-p3 .095 .098 .091);--olive-3:color(display-p3 .131 .135 .126);--olive-4:color(display-p3 .158 .163 .153);--olive-5:color(display-p3 .186 .192 .18);--olive-6:color(display-p3 .221 .229 .215);--olive-7:color(display-p3 .273 .284 .266);--olive-8:color(display-p3 .365 .382 .359);--olive-9:color(display-p3 .414 .438 .404);--olive-10:color(display-p3 .467 .49 .458);--olive-11:color(display-p3 .69 .709 .682);--olive-12:color(display-p3 .927 .933 .926)}}}.dark,.dark-theme{--olive-a1:#0000;--olive-a2:#f1f2f008;--olive-a3:#f4f5f312;--olive-a4:#f3fef21a;--olive-a5:#f2fbf122;--olive-a6:#f4faed2c;--olive-a7:#f2fced3b;--olive-a8:#edfdeb57;--olive-a9:#ebfde766;--olive-a10:#f0fdec74;--olive-a11:#f6fef4b0;--olive-a12:#fdfffded}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--olive-a1:color(display-p3 0 0 0/0);--olive-a2:color(display-p3 .984 .988 .976/.03);--olive-a3:color(display-p3 .992 .996 .988/.068);--olive-a4:color(display-p3 .953 .996 .949/.102);--olive-a5:color(display-p3 .969 1 .965/.131);--olive-a6:color(display-p3 .973 1 .969/.169);--olive-a7:color(display-p3 .98 1 .961/.228);--olive-a8:color(display-p3 .961 1 .957/.334);--olive-a9:color(display-p3 .949 1 .922/.397);--olive-a10:color(display-p3 .953 1 .941/.452);--olive-a11:color(display-p3 .976 1 .965/.688);--olive-a12:color(display-p3 .992 1 .992/.929)}}}:root{--tsu-accent-1:var(--indigo-1);--tsu-accent-2:var(--indigo-2);--tsu-accent-3:var(--indigo-3);--tsu-accent-4:var(--indigo-4);--tsu-accent-5:var(--indigo-5);--tsu-accent-6:var(--indigo-6);--tsu-accent-7:var(--indigo-7);--tsu-accent-8:var(--indigo-8);--tsu-accent-9:var(--indigo-9);--tsu-accent-10:var(--indigo-10);--tsu-accent-11:var(--indigo-11);--tsu-accent-12:var(--indigo-12);--tsu-neutral-1:var(--olive-1);--tsu-neutral-2:var(--olive-2);--tsu-neutral-3:var(--olive-3);--tsu-neutral-4:var(--olive-4);--tsu-neutral-5:var(--olive-5);--tsu-neutral-6:var(--olive-6);--tsu-neutral-7:var(--olive-7);--tsu-neutral-8:var(--olive-8);--tsu-neutral-9:var(--olive-9);--tsu-neutral-10:var(--olive-10);--tsu-neutral-11:var(--olive-11);--tsu-neutral-12:var(--olive-12)}:root,.light,.light-theme{--red-1:#fffcfc;--red-2:#fff7f7;--red-3:#feebec;--red-4:#ffdbdc;--red-5:#ffcdce;--red-6:#fdbdbe;--red-7:#f4a9aa;--red-8:#eb8e90;--red-9:#e5484d;--red-10:#dc3e42;--red-11:#ce2c31;--red-12:#641723}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-1:color(display-p3 .998 .989 .988);--red-2:color(display-p3 .995 .971 .971);--red-3:color(display-p3 .985 .925 .925);--red-4:color(display-p3 .999 .866 .866);--red-5:color(display-p3 .984 .812 .811);--red-6:color(display-p3 .955 .751 .749);--red-7:color(display-p3 .915 .675 .672);--red-8:color(display-p3 .872 .575 .572);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .798 .294 .285);--red-11:color(display-p3 .744 .234 .222);--red-12:color(display-p3 .36 .115 .143)}}}:root,.light,.light-theme{--red-a1:#ff000003;--red-a2:#ff000008;--red-a3:#f3000d14;--red-a4:#ff000824;--red-a5:#ff000632;--red-a6:#f8000442;--red-a7:#df000356;--red-a8:#d2000571;--red-a9:#db0007b7;--red-a10:#d10005c1;--red-a11:#c40006d3;--red-a12:#55000de8}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--red-a1:color(display-p3 .675 .024 .024/.012);--red-a2:color(display-p3 .863 .024 .024/.028);--red-a3:color(display-p3 .792 .008 .008/.075);--red-a4:color(display-p3 1 .008 .008/.134);--red-a5:color(display-p3 .918 .008 .008/.189);--red-a6:color(display-p3 .831 .02 .004/.251);--red-a7:color(display-p3 .741 .016 .004/.33);--red-a8:color(display-p3 .698 .012 .004/.428);--red-a9:color(display-p3 .749 .008 0/.675);--red-a10:color(display-p3 .714 .012 0/.714);--red-a11:color(display-p3 .744 .234 .222);--red-a12:color(display-p3 .36 .115 .143)}}}.dark,.dark-theme{--red-1:#191111;--red-2:#201314;--red-3:#3b1219;--red-4:#500f1c;--red-5:#611623;--red-6:#72232d;--red-7:#8c333a;--red-8:#b54548;--red-9:#e5484d;--red-10:#ec5d5e;--red-11:#ff9592;--red-12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-1:color(display-p3 .093 .068 .067);--red-2:color(display-p3 .118 .077 .079);--red-3:color(display-p3 .211 .081 .099);--red-4:color(display-p3 .287 .079 .113);--red-5:color(display-p3 .348 .11 .142);--red-6:color(display-p3 .414 .16 .183);--red-7:color(display-p3 .508 .224 .236);--red-8:color(display-p3 .659 .298 .297);--red-9:color(display-p3 .83 .329 .324);--red-10:color(display-p3 .861 .403 .387);--red-11:color(display-p3 1 .57 .55);--red-12:color(display-p3 .971 .826 .852)}}}.dark,.dark-theme{--red-a1:#f4121209;--red-a2:#f22f3e11;--red-a3:#ff173f2d;--red-a4:#fe0a3b44;--red-a5:#ff204756;--red-a6:#ff3e5668;--red-a7:#ff536184;--red-a8:#ff5d61b0;--red-a9:#fe4e54e4;--red-a10:#ff6465eb;--red-a11:#ff9592;--red-a12:#ffd1d9}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--red-a1:color(display-p3 .984 .071 .071/.03);--red-a2:color(display-p3 .996 .282 .282/.055);--red-a3:color(display-p3 1 .169 .271/.156);--red-a4:color(display-p3 1 .118 .267/.236);--red-a5:color(display-p3 1 .212 .314/.303);--red-a6:color(display-p3 1 .318 .38/.374);--red-a7:color(display-p3 1 .4 .424/.475);--red-a8:color(display-p3 1 .431 .431/.635);--red-a9:color(display-p3 1 .388 .384/.82);--red-a10:color(display-p3 1 .463 .447/.853);--red-a11:color(display-p3 1 .57 .55);--red-a12:color(display-p3 .971 .826 .852)}}}:root,.light,.light-theme{--green-1:#fbfefc;--green-2:#f4fbf6;--green-3:#e6f6eb;--green-4:#d6f1df;--green-5:#c4e8d1;--green-6:#adddc0;--green-7:#8eceaa;--green-8:#5bb98b;--green-9:#30a46c;--green-10:#2b9a66;--green-11:#218358;--green-12:#193b2d}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-1:color(display-p3 .986 .996 .989);--green-2:color(display-p3 .963 .983 .967);--green-3:color(display-p3 .913 .964 .925);--green-4:color(display-p3 .859 .94 .879);--green-5:color(display-p3 .796 .907 .826);--green-6:color(display-p3 .718 .863 .761);--green-7:color(display-p3 .61 .801 .675);--green-8:color(display-p3 .451 .715 .559);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .308 .595 .417);--green-11:color(display-p3 .19 .5 .32);--green-12:color(display-p3 .132 .228 .18)}}}:root,.light,.light-theme{--green-a1:#00c04004;--green-a2:#00a32f0b;--green-a3:#00a43319;--green-a4:#00a83829;--green-a5:#019c393b;--green-a6:#00963c52;--green-a7:#00914071;--green-a8:#00924ba4;--green-a9:#008f4acf;--green-a10:#008647d4;--green-a11:#00713fde;--green-a12:#002616e6}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--green-a1:color(display-p3 .024 .757 .267/.016);--green-a2:color(display-p3 .024 .565 .129/.036);--green-a3:color(display-p3 .012 .596 .145/.087);--green-a4:color(display-p3 .008 .588 .145/.142);--green-a5:color(display-p3 .004 .541 .157/.204);--green-a6:color(display-p3 .004 .518 .157/.283);--green-a7:color(display-p3 .004 .486 .165/.389);--green-a8:color(display-p3 0 .478 .2/.55);--green-a9:color(display-p3 0 .455 .165/.667);--green-a10:color(display-p3 0 .416 .153/.691);--green-a11:color(display-p3 .19 .5 .32);--green-a12:color(display-p3 .132 .228 .18)}}}.dark,.dark-theme{--green-1:#0e1512;--green-2:#121b17;--green-3:#132d21;--green-4:#113b29;--green-5:#174933;--green-6:#20573e;--green-7:#28684a;--green-8:#2f7c57;--green-9:#30a46c;--green-10:#33b074;--green-11:#3dd68c;--green-12:#b1f1cb}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-1:color(display-p3 .062 .083 .071);--green-2:color(display-p3 .079 .106 .09);--green-3:color(display-p3 .1 .173 .133);--green-4:color(display-p3 .115 .229 .166);--green-5:color(display-p3 .147 .282 .206);--green-6:color(display-p3 .185 .338 .25);--green-7:color(display-p3 .227 .403 .298);--green-8:color(display-p3 .27 .479 .351);--green-9:color(display-p3 .332 .634 .442);--green-10:color(display-p3 .357 .682 .474);--green-11:color(display-p3 .434 .828 .573);--green-12:color(display-p3 .747 .938 .807)}}}.dark,.dark-theme{--green-a1:#00de4505;--green-a2:#29f99d0b;--green-a3:#22ff991e;--green-a4:#11ff992d;--green-a5:#2bffa23c;--green-a6:#44ffaa4b;--green-a7:#50fdac5e;--green-a8:#54ffad73;--green-a9:#44ffa49e;--green-a10:#43fea4ab;--green-a11:#46fea5d4;--green-a12:#bbffd7f0}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--green-a1:color(display-p3 0 .992 .298/.017);--green-a2:color(display-p3 .341 .98 .616/.043);--green-a3:color(display-p3 .376 .996 .655/.114);--green-a4:color(display-p3 .341 .996 .635/.173);--green-a5:color(display-p3 .408 1 .678/.232);--green-a6:color(display-p3 .475 1 .706/.29);--green-a7:color(display-p3 .514 1 .706/.362);--green-a8:color(display-p3 .529 1 .718/.442);--green-a9:color(display-p3 .502 .996 .682/.61);--green-a10:color(display-p3 .506 1 .682/.66);--green-a11:color(display-p3 .434 .828 .573);--green-a12:color(display-p3 .747 .938 .807)}}}:root,.light,.light-theme{--amber-1:#fefdfb;--amber-2:#fefbe9;--amber-3:#fff7c2;--amber-4:#ffee9c;--amber-5:#fbe577;--amber-6:#f3d673;--amber-7:#e9c162;--amber-8:#e2a336;--amber-9:#ffc53d;--amber-10:#ffba18;--amber-11:#ab6400;--amber-12:#4f3422}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-1:color(display-p3 .995 .992 .985);--amber-2:color(display-p3 .994 .986 .921);--amber-3:color(display-p3 .994 .969 .782);--amber-4:color(display-p3 .989 .937 .65);--amber-5:color(display-p3 .97 .902 .527);--amber-6:color(display-p3 .936 .844 .506);--amber-7:color(display-p3 .89 .762 .443);--amber-8:color(display-p3 .85 .65 .3);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 .959 .741 .274);--amber-11:color(display-p3 .64 .4 0);--amber-12:color(display-p3 .294 .208 .145)}}}:root,.light,.light-theme{--amber-a1:#c0800004;--amber-a2:#f4d10016;--amber-a3:#ffde003d;--amber-a4:#ffd40063;--amber-a5:#f8cf0088;--amber-a6:#eab5008c;--amber-a7:#dc9b009d;--amber-a8:#da8a00c9;--amber-a9:#ffb300c2;--amber-a10:#ffb300e7;--amber-a11:#ab6400;--amber-a12:#341500dd}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){:root,.light,.light-theme{--amber-a1:color(display-p3 .757 .514 .024/.016);--amber-a2:color(display-p3 .902 .804 .008/.079);--amber-a3:color(display-p3 .965 .859 .004/.22);--amber-a4:color(display-p3 .969 .82 .004/.35);--amber-a5:color(display-p3 .933 .796 .004/.475);--amber-a6:color(display-p3 .875 .682 .004/.495);--amber-a7:color(display-p3 .804 .573 0/.557);--amber-a8:color(display-p3 .788 .502 0/.699);--amber-a9:color(display-p3 1 .686 0/.742);--amber-a10:color(display-p3 .945 .643 0/.726);--amber-a11:color(display-p3 .64 .4 0);--amber-a12:color(display-p3 .294 .208 .145)}}}.dark,.dark-theme{--amber-1:#16120c;--amber-2:#1d180f;--amber-3:#302008;--amber-4:#3f2700;--amber-5:#4d3000;--amber-6:#5c3d05;--amber-7:#714f19;--amber-8:#8f6424;--amber-9:#ffc53d;--amber-10:#ffd60a;--amber-11:#ffca16;--amber-12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-1:color(display-p3 .082 .07 .05);--amber-2:color(display-p3 .111 .094 .064);--amber-3:color(display-p3 .178 .128 .049);--amber-4:color(display-p3 .239 .156 0);--amber-5:color(display-p3 .29 .193 0);--amber-6:color(display-p3 .344 .245 .076);--amber-7:color(display-p3 .422 .314 .141);--amber-8:color(display-p3 .535 .399 .189);--amber-9:color(display-p3 1 .77 .26);--amber-10:color(display-p3 1 .87 .15);--amber-11:color(display-p3 1 .8 .29);--amber-12:color(display-p3 .984 .909 .726)}}}.dark,.dark-theme{--amber-a1:#e63c0006;--amber-a2:#fd9b000d;--amber-a3:#fa820022;--amber-a4:#fc820032;--amber-a5:#fd8b0041;--amber-a6:#fd9b0051;--amber-a7:#ffab2567;--amber-a8:#ffae3587;--amber-a9:#ffc53d;--amber-a10:#ffd60a;--amber-a11:#ffca16;--amber-a12:#ffe7b3}@supports (color:color(display-p3 1 1 1)){@media (color-gamut:p3){.dark,.dark-theme{--amber-a1:color(display-p3 .992 .298 0/.017);--amber-a2:color(display-p3 .988 .651 0/.047);--amber-a3:color(display-p3 1 .6 0/.118);--amber-a4:color(display-p3 1 .557 0/.185);--amber-a5:color(display-p3 1 .592 0/.24);--amber-a6:color(display-p3 1 .659 .094/.299);--amber-a7:color(display-p3 1 .714 .263/.383);--amber-a8:color(display-p3 .996 .729 .306/.5);--amber-a9:color(display-p3 1 .769 .259);--amber-a10:color(display-p3 1 .871 .149);--amber-a11:color(display-p3 1 .8 .29);--amber-a12:color(display-p3 .984 .909 .726)}}}:root{--tsu-bg:var(--tsu-neutral-1);--tsu-fg:var(--tsu-neutral-12);--tsu-color-pressed:var(--tsu-neutral-3);--tsu-color-pressed-accent:var(--tsu-accent-3);--tsu-color-muted:var(--tsu-neutral-alpha-7);--tsu-color-muted-subtle:var(--tsu-neutral-alpha-5);--tsu-info-1:var(--tsu-accent-1);--tsu-info-2:var(--tsu-accent-2);--tsu-info-3:var(--tsu-accent-3);--tsu-info-4:var(--tsu-accent-4);--tsu-info-5:var(--tsu-accent-5);--tsu-info-6:var(--tsu-accent-6);--tsu-info-7:var(--tsu-accent-7);--tsu-info-8:var(--tsu-accent-8);--tsu-info-9:var(--tsu-accent-9);--tsu-info-10:var(--tsu-accent-10);--tsu-info-11:var(--tsu-accent-11);--tsu-info-12:var(--tsu-accent-12);--tsu-danger-1:var(--red-1);--tsu-danger-2:var(--red-2);--tsu-danger-3:var(--red-3);--tsu-danger-4:var(--red-4);--tsu-danger-5:var(--red-5);--tsu-danger-6:var(--red-6);--tsu-danger-7:var(--red-7);--tsu-danger-8:var(--red-8);--tsu-danger-9:var(--red-9);--tsu-danger-10:var(--red-10);--tsu-danger-11:var(--red-11);--tsu-danger-12:var(--red-12);--tsu-success-1:var(--green-1);--tsu-success-2:var(--green-2);--tsu-success-3:var(--green-3);--tsu-success-4:var(--green-4);--tsu-success-5:var(--green-5);--tsu-success-6:var(--green-6);--tsu-success-7:var(--green-7);--tsu-success-8:var(--green-8);--tsu-success-9:var(--green-9);--tsu-success-10:var(--green-10);--tsu-success-11:var(--green-11);--tsu-success-12:var(--green-12);--tsu-warning-1:var(--amber-1);--tsu-warning-2:var(--amber-2);--tsu-warning-3:var(--amber-3);--tsu-warning-4:var(--amber-4);--tsu-warning-5:var(--amber-5);--tsu-warning-6:var(--amber-6);--tsu-warning-7:var(--amber-7);--tsu-warning-8:var(--amber-8);--tsu-warning-9:var(--amber-9);--tsu-warning-10:var(--amber-10);--tsu-warning-11:var(--amber-11);--tsu-warning-12:var(--amber-12);--tsu-neutral-alpha-1:var(--olive-a1);--tsu-neutral-alpha-2:var(--olive-a2);--tsu-neutral-alpha-3:var(--olive-a3);--tsu-neutral-alpha-4:var(--olive-a4);--tsu-neutral-alpha-5:var(--olive-a5);--tsu-neutral-alpha-6:var(--olive-a6);--tsu-neutral-alpha-7:var(--olive-a7);--tsu-neutral-alpha-8:var(--olive-a8);--tsu-neutral-alpha-9:var(--olive-a9);--tsu-neutral-alpha-10:var(--olive-a10);--tsu-neutral-alpha-11:var(--olive-a11);--tsu-neutral-alpha-12:var(--olive-a12);--tsu-disabled-bg:var(--tsu-neutral-3);--tsu-disabled-fg:var(--tsu-neutral-9);--tsu-disabled-border:var(--tsu-neutral-7);--tsu-focus-bg:var(--tsu-neutral-2);--tsu-focus-border:var(--tsu-accent-8);--ink:var(--tsu-fg);--muted:var(--tsu-neutral-11);--accent:var(--tsu-accent-9);--surface:var(--tsu-bg);--bg:var(--tsu-neutral-2);--border:var(--tsu-neutral-7);--danger:var(--tsu-danger-9)}:root.dark{--tsu-bg:var(--tsu-neutral-3);--tsu-fg:#fff}:root{--tsu-radius-round:9999px;--tsu-radius-l3-xs:14px;--tsu-radius-l2-xs:6px;--tsu-radius-l1-xs:2px;--tsu-radius-l3-sm:14px;--tsu-radius-l2-sm:6px;--tsu-radius-l1-sm:2px;--tsu-radius-l3-md:16px;--tsu-radius-l2-md:8px;--tsu-radius-l1-md:4px;--tsu-radius-l3-lg:18px;--tsu-radius-l2-lg:10px;--tsu-radius-l1-lg:6px;--tsu-radius-l3-xl:20px;--tsu-radius-l2-xl:12px;--tsu-radius-l1-xl:8px;--tsu-radius-l3-xxl:28px;--tsu-radius-l2-xxl:20px;--tsu-radius-l1-xxl:16px;--tsu-level-primary-xs:32px;--tsu-level-primary-sm:36px;--tsu-level-primary-md:40px;--tsu-level-primary-lg:44px;--tsu-level-primary-xl:48px;--tsu-level-primary-xxl:64px;--tsu-level-secondary-xs:16px;--tsu-level-secondary-sm:18px;--tsu-level-secondary-md:20px;--tsu-level-secondary-lg:22px;--tsu-level-secondary-xl:24px;--tsu-level-secondary-xxl:32px;--tsu-comp-height-xs:var(--tsu-level-primary-xs);--tsu-comp-height-sm:var(--tsu-level-primary-sm);--tsu-comp-height-md:var(--tsu-level-primary-md);--tsu-comp-height-lg:var(--tsu-level-primary-lg);--tsu-comp-height-xl:var(--tsu-level-primary-xl);--tsu-comp-height-xxl:var(--tsu-level-primary-xxl);--tsu-comp-font-size-xs:12px;--tsu-comp-font-size-sm:14px;--tsu-comp-font-size-md:14px;--tsu-comp-font-size-lg:16px;--tsu-comp-font-size-xl:18px;--tsu-comp-font-size-xxl:20px;--tsu-comp-line-height-xs:16px;--tsu-comp-line-height-sm:20px;--tsu-comp-line-height-md:20px;--tsu-comp-line-height-lg:24px;--tsu-comp-line-height-xl:28px;--tsu-comp-line-height-xxl:30px;--tsu-comp-padding-y-xs:7px;--tsu-comp-padding-y-sm:7px;--tsu-comp-padding-y-md:9px;--tsu-comp-padding-y-lg:9px;--tsu-comp-padding-y-xl:9px;--tsu-comp-padding-y-xxl:16px;--tsu-comp-padding-x-xs:8px;--tsu-comp-padding-x-sm:12px;--tsu-comp-padding-x-md:16px;--tsu-comp-padding-x-lg:20px;--tsu-comp-padding-x-xl:24px;--tsu-comp-padding-x-xxl:32px;--tsu-comp-secondary-height-xs:var(--tsu-level-secondary-xs);--tsu-comp-secondary-height-sm:var(--tsu-level-secondary-sm);--tsu-comp-secondary-height-md:var(--tsu-level-secondary-md);--tsu-comp-secondary-height-lg:var(--tsu-level-secondary-lg);--tsu-comp-secondary-height-xl:var(--tsu-level-secondary-xl);--tsu-comp-secondary-height-xxl:var(--tsu-level-secondary-xxl);--tsu-font-size-xs:10px;--tsu-font-size-sm:12px;--tsu-font-size-md:14px;--tsu-font-size-lg:16px;--tsu-font-size-xl:20px;--tsu-font-size-xxl:24px;--tsu-font-weight-regular:400;--tsu-font-weight-medium:500;--tsu-font-weight-semibold:600;--tsu-text-title-size:var(--tsu-font-size-lg);--tsu-text-title-weight:var(--tsu-font-weight-semibold);--tsu-text-title-line-height:24px;--tsu-text-body-size:var(--tsu-font-size-md);--tsu-text-body-weight:var(--tsu-font-weight-regular);--tsu-text-body-line-height:20px;--tsu-text-label-size:var(--tsu-font-size-md);--tsu-text-label-weight:var(--tsu-font-weight-medium);--tsu-text-label-line-height:20px;--tsu-text-caption-size:var(--tsu-font-size-sm);--tsu-text-caption-weight:var(--tsu-font-weight-regular);--tsu-text-caption-line-height:16px;--tsu-spacing-xxs:2px;--tsu-spacing-xs:4px;--tsu-spacing-sm:8px;--tsu-spacing-md:12px;--tsu-spacing-lg:16px;--tsu-spacing-xl:24px;--tsu-spacing-xxl:32px;--tsu-duration-fast:.15s;--tsu-duration-normal:.25s;--tsu-duration-overlay-enter:.35s;--tsu-duration-overlay-exit:.2s;--tsu-ease-standard:cubic-bezier(.2, 0, 0, 1);--tsu-ease-out:cubic-bezier(.32, .72, 0, 1);--tsu-ease-in:cubic-bezier(.4, 0, 1, 1);--tsu-transition-fast:var(--tsu-duration-fast) var(--tsu-ease-standard);--tsu-transition-normal:var(--tsu-duration-normal) var(--tsu-ease-standard);--tsu-transition-overlay-enter:var(--tsu-duration-overlay-enter) var(--tsu-ease-out);--tsu-transition-overlay-exit:var(--tsu-duration-overlay-exit) var(--tsu-ease-in);--tsu-transition-overlay:var(--tsu-transition-overlay-enter);--tsu-shadow-sm:0 1px 2px var(--tsu-neutral-alpha-6), 0 2px 4px var(--tsu-neutral-alpha-7);--tsu-shadow-md:0 1px 3px var(--tsu-neutral-alpha-6), 0 4px 16px var(--tsu-neutral-alpha-8);--tsu-shadow-lg:0 2px 6px var(--tsu-neutral-alpha-6), 0 12px 32px var(--tsu-neutral-alpha-10);--tsu-font-family:system-ui, -apple-system, sans-serif;--tsu-line-height:1.5;--tsu-container-padding-sm:12px;--tsu-container-padding-md:16px;--tsu-container-padding-lg:24px;--tsu-container-padding-xl:32px;--tsu-z-base:0;--tsu-z-dropdown:100;--tsu-z-modal:200;--tsu-z-toast:300}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none}*{-webkit-tap-highlight-color:#0000;margin:0;padding:0}body{min-height:100vh;font-family:var(--tsu-font-family);font-size:var(--tsu-font-size-md);line-height:var(--tsu-line-height);color:var(--tsu-fg);background-color:var(--tsu-bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{max-inline-size:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}p{text-wrap:pretty}h1,h2,h3,h4,h5,h6{text-wrap:balance;font-weight:var(--tsu-font-weight-semibold)}a{color:inherit;text-decoration:none}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}:where(ul,ol){list-style:none}:where(table){border-collapse:collapse;border-spacing:0}:where(button){appearance:none;cursor:pointer;background:0 0;border:none}:where([hidden]){display:none}input[type=search]::-webkit-search-cancel-button{display:none}input[type=search]::-ms-clear{display:none}
|
package/docs/api.md
CHANGED
|
@@ -282,6 +282,7 @@ Multi-select filter bar built on `ToggleGroup`. Renders an "All" toggle; selecti
|
|
|
282
282
|
| `size` | `string` | `md` | See size values. |
|
|
283
283
|
| `buttonClass` | `string` | — | Class applied to every button. |
|
|
284
284
|
| `groupClass` | `string` | — | Class applied to the inner `ToggleGroup`. |
|
|
285
|
+
| `sticky` | `boolean \| number` | — | Sticky to the top of the scroll container; pass a number for a `top` offset in px. |
|
|
285
286
|
| `className` | `string` | — | Root class. |
|
|
286
287
|
|
|
287
288
|
### RadioGroup
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# v0.1.33 — Migration & Release Notes
|
|
2
|
+
|
|
3
|
+
> What changed in `@plastic-js/tsumiki` 0.1.33 and how to update your code.
|
|
4
|
+
|
|
5
|
+
This release upgrades the design-token system and adds drag/dismiss, affix, and
|
|
6
|
+
icon behaviors. **No code changes are required** for the vast majority of
|
|
7
|
+
consumers — most items below are new tokens or purely visual. Breaking behavior
|
|
8
|
+
is limited to the new `BottomSheet` grabber and the re-tuned radius/transition
|
|
9
|
+
tokens; each is called out with an explicit "Action" section.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 1. Design token system upgrade
|
|
14
|
+
|
|
15
|
+
The token layer (`src/styles/`) gained new variables and two tokens changed meaning.
|
|
16
|
+
|
|
17
|
+
### New tokens
|
|
18
|
+
|
|
19
|
+
- **Transitions** — explicit durations, easings, and composites, with
|
|
20
|
+
enter/exit asymmetry for overlays:
|
|
21
|
+
- `--tsu-duration-fast: 150ms`, `--tsu-duration-normal: 250ms`
|
|
22
|
+
- `--tsu-duration-overlay-enter: 350ms`, `--tsu-duration-overlay-exit: 200ms`
|
|
23
|
+
- `--tsu-ease-standard: cubic-bezier(0.2, 0, 0, 1)`
|
|
24
|
+
- `--tsu-ease-out: cubic-bezier(0.32, 0.72, 0, 1)` (enter — decelerate)
|
|
25
|
+
- `--tsu-ease-in: cubic-bezier(0.4, 0, 1, 1)` (exit — accelerate)
|
|
26
|
+
- `--tsu-transition-fast`, `--tsu-transition-normal`,
|
|
27
|
+
`--tsu-transition-overlay-enter`, `--tsu-transition-overlay-exit`
|
|
28
|
+
- **Typography** — exactly three font weights plus semantic type roles:
|
|
29
|
+
- `--tsu-font-weight-regular: 400`, `--tsu-font-weight-medium: 500`,
|
|
30
|
+
`--tsu-font-weight-semibold: 600`
|
|
31
|
+
- Roles (size/weight/line-height triples):
|
|
32
|
+
`--tsu-text-title-*`, `--tsu-text-body-*`, `--tsu-text-label-*`,
|
|
33
|
+
`--tsu-text-caption-*`
|
|
34
|
+
- **Colors** — pressed-state and muted-surface feedback tokens:
|
|
35
|
+
- `--tsu-color-pressed`, `--tsu-color-pressed-accent`
|
|
36
|
+
- `--tsu-color-muted`, `--tsu-color-muted-subtle`
|
|
37
|
+
- **Shadows** — `--tsu-shadow-sm/md/lg` are now two-layer (tight ambient +
|
|
38
|
+
soft key) for more natural depth.
|
|
39
|
+
|
|
40
|
+
### Behavior changes
|
|
41
|
+
|
|
42
|
+
- `--tsu-transition-overlay` is now a **deprecated alias** for
|
|
43
|
+
`--tsu-transition-overlay-enter`. Overlays (e.g. `BottomSheet`) now enter in
|
|
44
|
+
**350ms on a decelerating curve** and exit in **200ms on an accelerating one**
|
|
45
|
+
(previously a symmetric `0.3s ease`).
|
|
46
|
+
- `--tsu-radius-l1/l2/l3-*` values were aligned to the concentric formula
|
|
47
|
+
`L2 = L1 + 4px`, `L3 = L2 + 8px`:
|
|
48
|
+
|
|
49
|
+
| size | L1 | L2 | L3 |
|
|
50
|
+
|------|----|----|----|
|
|
51
|
+
| xs | 2 | 6 | 14 |
|
|
52
|
+
| sm | 2 | 6 | 14 |
|
|
53
|
+
| md | 4 | 8 | 16 |
|
|
54
|
+
| lg | 6 | 10 | 18 |
|
|
55
|
+
| xl | 8 | 12 | 20 |
|
|
56
|
+
| xxl | 16 | 20 | 28 |
|
|
57
|
+
|
|
58
|
+
(Previously L3 was `16px` and L2 `8px` across all sizes, so `lg`–`xxl`
|
|
59
|
+
radii are now slightly larger and `xs`/`sm` slightly smaller.)
|
|
60
|
+
|
|
61
|
+
- Internal: components' `fontWeight: 500 / 600` literals were migrated to
|
|
62
|
+
`--tsu-font-weight-medium / semibold` — **appearance-neutral**.
|
|
63
|
+
|
|
64
|
+
### Action
|
|
65
|
+
|
|
66
|
+
No code changes required. All `--tsu-*` names your CSS already references are
|
|
67
|
+
stable. If you want the pre-0.1.33 look, override the affected tokens in your
|
|
68
|
+
own stylesheet **after** the library import:
|
|
69
|
+
|
|
70
|
+
```css
|
|
71
|
+
:root {
|
|
72
|
+
--tsu-transition-overlay: 0.3s ease; /* old symmetric transition */
|
|
73
|
+
--tsu-radius-l3-lg: 16px; /* old radius */
|
|
74
|
+
--tsu-radius-l2-lg: 8px;
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
New tokens (weights, type roles, pressed/muted colors, two-layer shadows) are
|
|
79
|
+
ready for you to consume.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 2. BottomSheet — drag-to-dismiss
|
|
84
|
+
|
|
85
|
+
`BottomSheet` now ships a grabber handle and can be dragged to close:
|
|
86
|
+
|
|
87
|
+
- New `draggable` prop (default `true`). When enabled, a grabber bar renders at
|
|
88
|
+
the top of the sheet.
|
|
89
|
+
- Drag **down** follows your finger; drag **up** meets rubber-band resistance.
|
|
90
|
+
- Release past **30%** of the sheet height, or a **fast downward flick**, closes
|
|
91
|
+
the sheet.
|
|
92
|
+
- Backdrop-click dismissal is unchanged and still respects `dismissible`.
|
|
93
|
+
|
|
94
|
+
### Action
|
|
95
|
+
|
|
96
|
+
- If you don't want the grabber or drag behavior, pass `draggable={false}`.
|
|
97
|
+
- If you render your own content flush with the top edge, the grabber now
|
|
98
|
+
occupies that top strip while `draggable` is on.
|
|
99
|
+
|
|
100
|
+
```jsx
|
|
101
|
+
<BottomSheet open={open} onOpenChange={v => open(v.open)} draggable={false}>
|
|
102
|
+
{children}
|
|
103
|
+
</BottomSheet>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 3. Input — `hasPrefix` / `hasSuffix` boundary padding
|
|
109
|
+
|
|
110
|
+
When a `prefix`, `suffix`, or the built-in password toggle is present, the
|
|
111
|
+
matching side padding on the input wrapper is now reduced to **half** the normal
|
|
112
|
+
horizontal padding, so edge affixes sit closer to the boundary instead of
|
|
113
|
+
floating at full text padding.
|
|
114
|
+
|
|
115
|
+
### Action
|
|
116
|
+
|
|
117
|
+
Purely visual — no code changes required. If you previously compensated for the
|
|
118
|
+
full padding (e.g. absolute-positioned affixes), you may need to adjust.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 4. BottomNavigation — `activeIcon` + stroke-width token
|
|
123
|
+
|
|
124
|
+
`BottomNavigationItem` gains an optional `activeIcon` prop:
|
|
125
|
+
|
|
126
|
+
- When the item is active **and** `activeIcon` is provided, it replaces `icon`
|
|
127
|
+
(reactively, via a memo). Backward compatible — omitting `activeIcon` keeps
|
|
128
|
+
the old behavior.
|
|
129
|
+
- The icon's SVG stroke width is now controlled by the `--tsu-nav-icon-stroke-width`
|
|
130
|
+
token (default `2`). Set it on the nav to thin or thicken all icon strokes.
|
|
131
|
+
|
|
132
|
+
### Action
|
|
133
|
+
|
|
134
|
+
Optional. Typical use is a filled icon for the active tab:
|
|
135
|
+
|
|
136
|
+
```jsx
|
|
137
|
+
<BottomNavigationItem
|
|
138
|
+
icon={<MyOutlineIcon />}
|
|
139
|
+
activeIcon={<MyFilledIcon />}
|
|
140
|
+
label="Home"
|
|
141
|
+
active={active() === 0}
|
|
142
|
+
onClick={() => active(0)}
|
|
143
|
+
/>
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Tune stroke thickness with one variable:
|
|
147
|
+
|
|
148
|
+
```jsx
|
|
149
|
+
<BottomNavigation style={{ '--tsu-nav-icon-stroke-width': 1.5 }}>
|
|
150
|
+
...
|
|
151
|
+
</BottomNavigation>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Summary
|
|
157
|
+
|
|
158
|
+
| Area | Change | Code needed? |
|
|
159
|
+
|------|--------|--------------|
|
|
160
|
+
| Tokens | New transition/typography/color/shadow tokens; `--tsu-transition-overlay` alias; radius re-tuned | No (optional overrides) |
|
|
161
|
+
| `BottomSheet` | Grabber + drag-to-dismiss via `draggable` (default on) | Opt out with `draggable={false}` |
|
|
162
|
+
| `Input` | Reduced boundary padding when prefix/suffix/password present | No |
|
|
163
|
+
| `BottomNavigation` | New `activeIcon` prop; `--tsu-nav-icon-stroke-width` token | Optional |
|
package/package.json
CHANGED
package/src/styles/color.css
CHANGED
|
@@ -16,6 +16,14 @@
|
|
|
16
16
|
--tsu-bg: var(--tsu-neutral-1);
|
|
17
17
|
--tsu-fg: var(--tsu-neutral-12);
|
|
18
18
|
|
|
19
|
+
/* Pressed-state feedback (touch): rows/items vs. controls */
|
|
20
|
+
--tsu-color-pressed: var(--tsu-neutral-3);
|
|
21
|
+
--tsu-color-pressed-accent: var(--tsu-accent-3);
|
|
22
|
+
|
|
23
|
+
/* Muted / quiet gray — loading, empty, and secondary surfaces */
|
|
24
|
+
--tsu-color-muted: var(--tsu-neutral-alpha-7);
|
|
25
|
+
--tsu-color-muted-subtle: var(--tsu-neutral-alpha-5);
|
|
26
|
+
|
|
19
27
|
/* Info (accent) — full 12-step palette */
|
|
20
28
|
--tsu-info-1: var(--tsu-accent-1);
|
|
21
29
|
--tsu-info-2: var(--tsu-accent-2);
|
package/src/styles/radius.css
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--tsu-radius-round: 9999px;
|
|
3
3
|
|
|
4
|
-
--tsu-radius-l3-xs:
|
|
5
|
-
--tsu-radius-l2-xs:
|
|
4
|
+
--tsu-radius-l3-xs: 14px;
|
|
5
|
+
--tsu-radius-l2-xs: 6px;
|
|
6
6
|
--tsu-radius-l1-xs: 2px;
|
|
7
7
|
|
|
8
|
-
--tsu-radius-l3-sm:
|
|
9
|
-
--tsu-radius-l2-sm:
|
|
8
|
+
--tsu-radius-l3-sm: 14px;
|
|
9
|
+
--tsu-radius-l2-sm: 6px;
|
|
10
10
|
--tsu-radius-l1-sm: 2px;
|
|
11
11
|
|
|
12
12
|
--tsu-radius-l3-md: 16px;
|
|
13
13
|
--tsu-radius-l2-md: 8px;
|
|
14
14
|
--tsu-radius-l1-md: 4px;
|
|
15
15
|
|
|
16
|
-
--tsu-radius-l3-lg:
|
|
17
|
-
--tsu-radius-l2-lg:
|
|
16
|
+
--tsu-radius-l3-lg: 18px;
|
|
17
|
+
--tsu-radius-l2-lg: 10px;
|
|
18
18
|
--tsu-radius-l1-lg: 6px;
|
|
19
19
|
|
|
20
|
-
--tsu-radius-l3-xl:
|
|
21
|
-
--tsu-radius-l2-xl:
|
|
20
|
+
--tsu-radius-l3-xl: 20px;
|
|
21
|
+
--tsu-radius-l2-xl: 12px;
|
|
22
22
|
--tsu-radius-l1-xl: 8px;
|
|
23
23
|
|
|
24
|
-
--tsu-radius-l3-xxl:
|
|
25
|
-
--tsu-radius-l2-xxl:
|
|
24
|
+
--tsu-radius-l3-xxl: 28px;
|
|
25
|
+
--tsu-radius-l2-xxl: 20px;
|
|
26
26
|
--tsu-radius-l1-xxl: 16px;
|
|
27
27
|
}
|
package/src/styles/reset.css
CHANGED
package/src/styles/shadow.css
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
--tsu-shadow-sm: 0 1px 2px var(--tsu-neutral-alpha-6)
|
|
3
|
-
|
|
4
|
-
--tsu-shadow-
|
|
2
|
+
--tsu-shadow-sm: 0 1px 2px var(--tsu-neutral-alpha-6),
|
|
3
|
+
0 2px 4px var(--tsu-neutral-alpha-7);
|
|
4
|
+
--tsu-shadow-md: 0 1px 3px var(--tsu-neutral-alpha-6),
|
|
5
|
+
0 4px 16px var(--tsu-neutral-alpha-8);
|
|
6
|
+
--tsu-shadow-lg: 0 2px 6px var(--tsu-neutral-alpha-6),
|
|
7
|
+
0 12px 32px var(--tsu-neutral-alpha-10);
|
|
5
8
|
}
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
--tsu-
|
|
3
|
-
--tsu-
|
|
4
|
-
--tsu-
|
|
2
|
+
--tsu-duration-fast: 150ms;
|
|
3
|
+
--tsu-duration-normal: 250ms;
|
|
4
|
+
--tsu-duration-overlay-enter: 350ms;
|
|
5
|
+
--tsu-duration-overlay-exit: 200ms;
|
|
6
|
+
|
|
7
|
+
--tsu-ease-standard: cubic-bezier(0.2, 0, 0, 1);
|
|
8
|
+
--tsu-ease-out: cubic-bezier(0.32, 0.72, 0, 1);
|
|
9
|
+
--tsu-ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
10
|
+
|
|
11
|
+
--tsu-transition-fast: var(--tsu-duration-fast) var(--tsu-ease-standard);
|
|
12
|
+
--tsu-transition-normal: var(--tsu-duration-normal) var(--tsu-ease-standard);
|
|
13
|
+
--tsu-transition-overlay-enter: var(--tsu-duration-overlay-enter) var(--tsu-ease-out);
|
|
14
|
+
--tsu-transition-overlay-exit: var(--tsu-duration-overlay-exit) var(--tsu-ease-in);
|
|
15
|
+
|
|
16
|
+
--tsu-transition-overlay: var(--tsu-transition-overlay-enter);
|
|
5
17
|
}
|
|
@@ -5,4 +5,24 @@
|
|
|
5
5
|
--tsu-font-size-lg: 16px;
|
|
6
6
|
--tsu-font-size-xl: 20px;
|
|
7
7
|
--tsu-font-size-xxl: 24px;
|
|
8
|
+
|
|
9
|
+
--tsu-font-weight-regular: 400;
|
|
10
|
+
--tsu-font-weight-medium: 500;
|
|
11
|
+
--tsu-font-weight-semibold: 600;
|
|
12
|
+
|
|
13
|
+
--tsu-text-title-size: var(--tsu-font-size-lg);
|
|
14
|
+
--tsu-text-title-weight: var(--tsu-font-weight-semibold);
|
|
15
|
+
--tsu-text-title-line-height: 24px;
|
|
16
|
+
|
|
17
|
+
--tsu-text-body-size: var(--tsu-font-size-md);
|
|
18
|
+
--tsu-text-body-weight: var(--tsu-font-weight-regular);
|
|
19
|
+
--tsu-text-body-line-height: 20px;
|
|
20
|
+
|
|
21
|
+
--tsu-text-label-size: var(--tsu-font-size-md);
|
|
22
|
+
--tsu-text-label-weight: var(--tsu-font-weight-medium);
|
|
23
|
+
--tsu-text-label-line-height: 20px;
|
|
24
|
+
|
|
25
|
+
--tsu-text-caption-size: var(--tsu-font-size-sm);
|
|
26
|
+
--tsu-text-caption-weight: var(--tsu-font-weight-regular);
|
|
27
|
+
--tsu-text-caption-line-height: 16px;
|
|
8
28
|
}
|