@plastic-js/tsumiki 0.1.33 → 0.1.35
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/BottomNavigation.js +1 -1
- package/dist/components/BottomSheet.js +20 -5
- package/dist/components/Card.js +1 -1
- package/dist/components/Checkbox.js +3 -3
- package/dist/components/Clipboard.js +20 -8
- package/dist/components/ColorPicker.js +1 -1
- package/dist/components/Combobox.js +2 -2
- package/dist/components/ConfirmDialog.js +2 -2
- package/dist/components/DateInput.js +4 -4
- package/dist/components/Dialog.js +21 -5
- package/dist/components/Drawer.js +2 -2
- package/dist/components/FileUpload.js +3 -3
- package/dist/components/FilterGroup.js +1 -1
- package/dist/components/Icon.js +20 -1
- package/dist/components/Input.js +1 -1
- package/dist/components/Listbox.js +1 -1
- package/dist/components/Menu.js +1 -1
- package/dist/components/MoneyInput.js +1 -1
- package/dist/components/NumberInput.js +1 -1
- package/dist/components/Pagination.js +1 -1
- package/dist/components/Popover.js +2 -2
- package/dist/components/RadioGroup.js +1 -1
- package/dist/components/Select.js +65 -132
- package/dist/components/SelectPc.js +2 -2
- package/dist/components/SignaturePad.js +6 -1
- package/dist/components/Steps.js +2 -2
- package/dist/components/Switch.js +2 -2
- package/dist/components/TagsInput.js +1 -1
- package/dist/components/Toast.js +2 -2
- package/dist/components/Toggle.js +1 -1
- package/dist/components/Tour.js +1 -1
- package/dist/tsumiki.css +1 -1
- package/docs/api.md +0 -2
- package/docs/scroll-lock-issue.md +35 -0
- package/package.json +5 -5
- package/src/styles/color.css +15 -5
- package/docs/v0.1.33-migration.md +0 -163
|
@@ -13,7 +13,7 @@ var rootClass = css({
|
|
|
13
13
|
alignItems: "center",
|
|
14
14
|
height: "56px",
|
|
15
15
|
paddingBottom: "env(safe-area-inset-bottom)",
|
|
16
|
-
backgroundColor: "var(--tsu-
|
|
16
|
+
backgroundColor: "var(--tsu-surface)",
|
|
17
17
|
borderTop: "1px solid var(--tsu-neutral-6)",
|
|
18
18
|
zIndex: "var(--tsu-z-base)"
|
|
19
19
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
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 { createSignal, mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
|
|
4
|
+
import { createEffect, createSignal, mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
|
|
5
5
|
//#region src/components/BottomSheet.jsx
|
|
6
6
|
var _tmpl4 = template("<div><h2></h2></div>");
|
|
7
7
|
var _tmpl3 = template("<div><div></div></div>");
|
|
@@ -33,7 +33,7 @@ var sheetClass = css({
|
|
|
33
33
|
insetInline: 0,
|
|
34
34
|
bottom: 0,
|
|
35
35
|
zIndex: 1400,
|
|
36
|
-
background: "var(--tsu-
|
|
36
|
+
background: "var(--tsu-surface)",
|
|
37
37
|
borderRadius: "var(--tsu-radius-l3-md) var(--tsu-radius-l3-md) 0 0",
|
|
38
38
|
boxShadow: "var(--tsu-shadow-lg)",
|
|
39
39
|
maxHeight: "70vh",
|
|
@@ -54,7 +54,7 @@ var sheetClass = css({
|
|
|
54
54
|
left: 0,
|
|
55
55
|
right: 0,
|
|
56
56
|
height: "30vh",
|
|
57
|
-
background: "var(--tsu-
|
|
57
|
+
background: "var(--tsu-surface)"
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
var draggingClass = css({ transition: "none" });
|
|
@@ -119,6 +119,9 @@ var BottomSheet = (props) => {
|
|
|
119
119
|
"dismissible",
|
|
120
120
|
"draggable",
|
|
121
121
|
"backdropBlur",
|
|
122
|
+
"backdropClassName",
|
|
123
|
+
"backdropStyle",
|
|
124
|
+
"bodyClassName",
|
|
122
125
|
"footer",
|
|
123
126
|
"footerClass",
|
|
124
127
|
"class",
|
|
@@ -135,6 +138,13 @@ var BottomSheet = (props) => {
|
|
|
135
138
|
if (!detail.open) local.onClose?.();
|
|
136
139
|
local.onOpenChange?.(detail);
|
|
137
140
|
};
|
|
141
|
+
const isOpen = () => read(local.open);
|
|
142
|
+
let prevOpen = isOpen();
|
|
143
|
+
createEffect(() => {
|
|
144
|
+
const cur = isOpen();
|
|
145
|
+
if (cur && !prevOpen) local.onOpen?.();
|
|
146
|
+
prevOpen = cur;
|
|
147
|
+
});
|
|
138
148
|
const handleBackdropClick = () => {
|
|
139
149
|
if (read(local.dismissible)) handleOpenChange({ open: false });
|
|
140
150
|
};
|
|
@@ -174,7 +184,12 @@ var BottomSheet = (props) => {
|
|
|
174
184
|
const showGrabber = read(local.draggable);
|
|
175
185
|
return jsx(Portal_default, mergeProps({ children: [(() => {
|
|
176
186
|
const _el0 = _tmpl.cloneNode(true);
|
|
177
|
-
setProp(_el0, "className", () =>
|
|
187
|
+
setProp(_el0, "className", () => [
|
|
188
|
+
backdropClass,
|
|
189
|
+
local.backdropBlur && backdropBlurClass,
|
|
190
|
+
local.backdropClassName
|
|
191
|
+
].filter(Boolean).join(" "));
|
|
192
|
+
setProp(_el0, "style", () => local.backdropStyle);
|
|
178
193
|
setProp(_el0, "data-open", () => read(local.open) ? "" : void 0);
|
|
179
194
|
setProp(_el0, "onClick", () => handleBackdropClick);
|
|
180
195
|
return _el0;
|
|
@@ -204,7 +219,7 @@ var BottomSheet = (props) => {
|
|
|
204
219
|
return _el0;
|
|
205
220
|
}), _el2);
|
|
206
221
|
insert(_el3, () => local.children);
|
|
207
|
-
setProp(_el3, "className", () => !local.title && !showGrabber ? `${bodyClass} ${bodyNoHeaderClass}` : bodyClass);
|
|
222
|
+
setProp(_el3, "className", () => [!local.title && !showGrabber ? `${bodyClass} ${bodyNoHeaderClass}` : bodyClass, local.bodyClassName].filter(Boolean).join(" "));
|
|
208
223
|
insert(_el0, () => local.footer && (() => {
|
|
209
224
|
const _el0 = _tmpl.cloneNode(true);
|
|
210
225
|
insert(_el0, () => local.footer);
|
package/dist/components/Card.js
CHANGED
|
@@ -3,7 +3,7 @@ import { css } from "@emotion/css";
|
|
|
3
3
|
import { mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
|
|
4
4
|
//#region src/components/Card.jsx
|
|
5
5
|
var baseClass = css({
|
|
6
|
-
backgroundColor: "var(--tsu-
|
|
6
|
+
backgroundColor: "var(--tsu-surface)",
|
|
7
7
|
borderRadius: "var(--tsu-radius-l2-md)"
|
|
8
8
|
});
|
|
9
9
|
var Card = (props = {}) => {
|
|
@@ -73,7 +73,7 @@ var controlClass = css({
|
|
|
73
73
|
flexShrink: 0,
|
|
74
74
|
borderRadius: "var(--_cb-radius, var(--tsu-radius-l1-md))",
|
|
75
75
|
border: "1px solid var(--tsu-accent-8)",
|
|
76
|
-
backgroundColor: "var(--tsu-
|
|
76
|
+
backgroundColor: "var(--tsu-surface)",
|
|
77
77
|
color: "transparent",
|
|
78
78
|
transition: "background-color var(--tsu-transition-fast), border-color var(--tsu-transition-fast), color var(--tsu-transition-fast), transform var(--tsu-transition-fast)",
|
|
79
79
|
"&[data-state=\"checked\"], &[data-state=\"indeterminate\"]": {
|
|
@@ -100,10 +100,10 @@ var errorClass = css({
|
|
|
100
100
|
},
|
|
101
101
|
"&[data-disabled]": {
|
|
102
102
|
borderColor: "var(--tsu-danger-9)",
|
|
103
|
-
backgroundColor: "var(--tsu-
|
|
103
|
+
backgroundColor: "var(--tsu-surface)"
|
|
104
104
|
},
|
|
105
105
|
"&[data-disabled][data-state=\"checked\"], &[data-disabled][data-state=\"indeterminate\"]": {
|
|
106
|
-
backgroundColor: "var(--tsu-
|
|
106
|
+
backgroundColor: "var(--tsu-surface)",
|
|
107
107
|
borderColor: "var(--tsu-danger-9)",
|
|
108
108
|
color: "var(--tsu-danger-9)"
|
|
109
109
|
}
|
|
@@ -99,20 +99,32 @@ var Clipboard = (props = {}) => {
|
|
|
99
99
|
const copied = createSignal(false);
|
|
100
100
|
const handleCopy = async () => {
|
|
101
101
|
try {
|
|
102
|
-
await navigator.clipboard.writeText(local.value);
|
|
102
|
+
if (navigator.clipboard?.writeText) await navigator.clipboard.writeText(local.value);
|
|
103
|
+
else fallbackCopy();
|
|
103
104
|
} catch {
|
|
104
|
-
|
|
105
|
-
ta.value = local.value;
|
|
106
|
-
ta.style.cssText = "position:fixed;opacity:0";
|
|
107
|
-
document.body.appendChild(ta);
|
|
108
|
-
ta.select();
|
|
109
|
-
document.execCommand("copy");
|
|
110
|
-
document.body.removeChild(ta);
|
|
105
|
+
fallbackCopy();
|
|
111
106
|
}
|
|
112
107
|
copied(true);
|
|
113
108
|
clearTimeout(timer);
|
|
114
109
|
timer = setTimeout(() => copied(false), local.copiedDuration);
|
|
115
110
|
};
|
|
111
|
+
const fallbackCopy = () => {
|
|
112
|
+
const ta = document.createElement("textarea");
|
|
113
|
+
ta.value = local.value;
|
|
114
|
+
ta.setAttribute("readonly", "");
|
|
115
|
+
ta.style.cssText = "position:fixed;top:0;left:0;width:2px;height:2px;padding:0;border:none;outline:none;box-shadow:none;background:transparent;opacity:0;pointer-events:none";
|
|
116
|
+
document.body.appendChild(ta);
|
|
117
|
+
const selection = document.getSelection();
|
|
118
|
+
const prevRange = selection && selection.rangeCount > 0 ? selection.getRangeAt(0) : null;
|
|
119
|
+
ta.select();
|
|
120
|
+
ta.setSelectionRange(0, local.value.length);
|
|
121
|
+
document.execCommand("copy");
|
|
122
|
+
document.body.removeChild(ta);
|
|
123
|
+
if (prevRange && selection) {
|
|
124
|
+
selection.removeAllRanges();
|
|
125
|
+
selection.addRange(prevRange);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
116
128
|
onCleanup(() => clearTimeout(timer));
|
|
117
129
|
return jsx("button", mergeProps(rest, {
|
|
118
130
|
type: "button",
|
|
@@ -65,7 +65,7 @@ var valueTextClass = css({
|
|
|
65
65
|
fontVariantNumeric: "tabular-nums"
|
|
66
66
|
});
|
|
67
67
|
var contentClass = css({
|
|
68
|
-
backgroundColor: "var(--tsu-
|
|
68
|
+
backgroundColor: "var(--tsu-surface)",
|
|
69
69
|
border: "1px solid var(--tsu-neutral-6)",
|
|
70
70
|
borderRadius: "var(--tsu-radius-l2-xl)",
|
|
71
71
|
boxShadow: "var(--tsu-shadow-lg)",
|
|
@@ -7,7 +7,7 @@ var inputClass = css({
|
|
|
7
7
|
width: "100%",
|
|
8
8
|
height: "var(--tsu-comp-height-md)",
|
|
9
9
|
padding: "0 var(--tsu-comp-padding-x-md)",
|
|
10
|
-
background: "var(--tsu-
|
|
10
|
+
background: "var(--tsu-surface)",
|
|
11
11
|
border: "1px solid var(--tsu-accent-8)",
|
|
12
12
|
borderRadius: "var(--tsu-radius-l1-md)",
|
|
13
13
|
color: "var(--tsu-fg)",
|
|
@@ -21,7 +21,7 @@ var inputClass = css({
|
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
23
|
var contentClass = css({
|
|
24
|
-
backgroundColor: "var(--tsu-
|
|
24
|
+
backgroundColor: "var(--tsu-surface)",
|
|
25
25
|
border: "1px solid var(--tsu-neutral-6)",
|
|
26
26
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
27
27
|
boxShadow: "var(--tsu-shadow-lg)",
|
|
@@ -72,8 +72,6 @@ function ConfirmDialog(props) {
|
|
|
72
72
|
}
|
|
73
73
|
}));
|
|
74
74
|
}
|
|
75
|
-
var container = document.createElement("div");
|
|
76
|
-
document.body.appendChild(container);
|
|
77
75
|
var _resolve = null;
|
|
78
76
|
var _reject = null;
|
|
79
77
|
var _setState = null;
|
|
@@ -81,6 +79,8 @@ var _initialized = false;
|
|
|
81
79
|
function ensureInit() {
|
|
82
80
|
if (_initialized) return;
|
|
83
81
|
_initialized = true;
|
|
82
|
+
const container = document.createElement("div");
|
|
83
|
+
document.body.appendChild(container);
|
|
84
84
|
const state = createSignal(null);
|
|
85
85
|
_setState = state;
|
|
86
86
|
const handleConfirm = () => {
|
|
@@ -71,7 +71,7 @@ var triggerClass = css({
|
|
|
71
71
|
width: "100%",
|
|
72
72
|
height: "var(--tsu-comp-height-md)",
|
|
73
73
|
padding: "0 36px 0 var(--tsu-comp-padding-x-md)",
|
|
74
|
-
background: "var(--tsu-
|
|
74
|
+
background: "var(--tsu-surface)",
|
|
75
75
|
border: "1px solid var(--tsu-accent-8)",
|
|
76
76
|
borderRadius: "var(--tsu-radius-l1-md)",
|
|
77
77
|
color: "var(--tsu-fg)",
|
|
@@ -118,7 +118,7 @@ var sheetClass = css({
|
|
|
118
118
|
width: "100%",
|
|
119
119
|
display: "flex",
|
|
120
120
|
flexDirection: "column",
|
|
121
|
-
background: "var(--tsu-
|
|
121
|
+
background: "var(--tsu-surface)",
|
|
122
122
|
borderTop: "1px solid var(--tsu-neutral-7)",
|
|
123
123
|
borderRadius: "18px 18px 0 0",
|
|
124
124
|
boxShadow: "0 -8px 32px rgba(0,0,0,0.4)",
|
|
@@ -193,11 +193,11 @@ var columnViewportClass = css({
|
|
|
193
193
|
},
|
|
194
194
|
"&::before": {
|
|
195
195
|
top: 0,
|
|
196
|
-
background: "linear-gradient(to bottom, var(--tsu-
|
|
196
|
+
background: "linear-gradient(to bottom, var(--tsu-surface) 0%, transparent 100%)"
|
|
197
197
|
},
|
|
198
198
|
"&::after": {
|
|
199
199
|
bottom: 0,
|
|
200
|
-
background: "linear-gradient(to top, var(--tsu-
|
|
200
|
+
background: "linear-gradient(to top, var(--tsu-surface) 0%, transparent 100%)"
|
|
201
201
|
}
|
|
202
202
|
});
|
|
203
203
|
var columnListClass = css({ willChange: "transform" });
|
|
@@ -54,7 +54,7 @@ var sheetContentIn = keyframes({
|
|
|
54
54
|
to: { transform: "translateY(0)" }
|
|
55
55
|
});
|
|
56
56
|
var contentModalClass = css({
|
|
57
|
-
background: "var(--tsu-
|
|
57
|
+
background: "var(--tsu-surface)",
|
|
58
58
|
borderRadius: "var(--tsu-radius-l3-md)",
|
|
59
59
|
width: "100%",
|
|
60
60
|
maxWidth: "440px",
|
|
@@ -67,7 +67,7 @@ var contentModalClass = css({
|
|
|
67
67
|
animation: `${modalContentIn} 200ms ease`
|
|
68
68
|
});
|
|
69
69
|
var contentSheetClass = css({
|
|
70
|
-
background: "var(--tsu-
|
|
70
|
+
background: "var(--tsu-surface)",
|
|
71
71
|
borderRadius: "var(--tsu-radius-l3-md) var(--tsu-radius-l3-md) 0 0",
|
|
72
72
|
width: "100%",
|
|
73
73
|
maxHeight: "70vh",
|
|
@@ -98,7 +98,7 @@ var titleIconClass = css({
|
|
|
98
98
|
});
|
|
99
99
|
var titleClass = css({
|
|
100
100
|
fontSize: "18px",
|
|
101
|
-
fontWeight:
|
|
101
|
+
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
102
102
|
margin: 0
|
|
103
103
|
});
|
|
104
104
|
var closeBtnClass = css({
|
|
@@ -204,15 +204,22 @@ var Dialog$1 = (props) => {
|
|
|
204
204
|
"class",
|
|
205
205
|
"children"
|
|
206
206
|
]);
|
|
207
|
+
const cancelRequested = { current: false };
|
|
207
208
|
const handleOpenChange = (open) => {
|
|
208
209
|
if (!open) {
|
|
209
|
-
|
|
210
|
+
const wasCancelled = cancelRequested.current;
|
|
211
|
+
cancelRequested.current = false;
|
|
212
|
+
if (wasCancelled) local.onCancel?.();
|
|
210
213
|
local.onClose?.();
|
|
211
|
-
} else
|
|
214
|
+
} else {
|
|
215
|
+
cancelRequested.current = false;
|
|
216
|
+
local.onOpen?.();
|
|
217
|
+
}
|
|
212
218
|
local.onOpenChange?.(open);
|
|
213
219
|
};
|
|
214
220
|
const handleCancel = () => {
|
|
215
221
|
if (read(local.loading)) return;
|
|
222
|
+
cancelRequested.current = true;
|
|
216
223
|
handleOpenChange(false);
|
|
217
224
|
};
|
|
218
225
|
const handleConfirm = () => {
|
|
@@ -250,6 +257,12 @@ var Dialog$1 = (props) => {
|
|
|
250
257
|
return read(local.open);
|
|
251
258
|
},
|
|
252
259
|
onOpenChange: handleOpenChange,
|
|
260
|
+
onEscapeKeyDown: () => {
|
|
261
|
+
cancelRequested.current = true;
|
|
262
|
+
},
|
|
263
|
+
onInteractOutside: () => {
|
|
264
|
+
if (read(local.closeOnInteractOutside)) cancelRequested.current = true;
|
|
265
|
+
},
|
|
253
266
|
get lazyMount() {
|
|
254
267
|
return local.lazyMount;
|
|
255
268
|
},
|
|
@@ -288,6 +301,9 @@ var Dialog$1 = (props) => {
|
|
|
288
301
|
insert(_el0, () => !isSheet && (local.closeable ?? true) && jsx(Dialog.CloseTrigger, mergeProps({
|
|
289
302
|
"aria-label": "Close",
|
|
290
303
|
className: closeBtnClass,
|
|
304
|
+
onClick: () => {
|
|
305
|
+
cancelRequested.current = true;
|
|
306
|
+
},
|
|
291
307
|
children: "×"
|
|
292
308
|
})), _el4);
|
|
293
309
|
setProp(_el0, "className", () => headerClass);
|
|
@@ -24,7 +24,7 @@ var positionerClass = css({
|
|
|
24
24
|
});
|
|
25
25
|
var contentClass = css({
|
|
26
26
|
pointerEvents: "auto",
|
|
27
|
-
background: "var(--tsu-
|
|
27
|
+
background: "var(--tsu-surface)",
|
|
28
28
|
borderLeft: "1px solid var(--tsu-neutral-7)",
|
|
29
29
|
width: "min(320px, calc(100vw - 24px))",
|
|
30
30
|
height: "100%",
|
|
@@ -54,7 +54,7 @@ var titleIconClass = css({
|
|
|
54
54
|
});
|
|
55
55
|
var titleClass = css({
|
|
56
56
|
fontSize: "18px",
|
|
57
|
-
fontWeight:
|
|
57
|
+
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
58
58
|
margin: 0
|
|
59
59
|
});
|
|
60
60
|
var closeBtnClass = css({
|
|
@@ -25,7 +25,7 @@ var dropzoneClass = css({
|
|
|
25
25
|
padding: "var(--tsu-spacing-xl)",
|
|
26
26
|
border: "2px dashed var(--tsu-accent-7)",
|
|
27
27
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
28
|
-
backgroundColor: "var(--tsu-
|
|
28
|
+
backgroundColor: "var(--tsu-surface)",
|
|
29
29
|
cursor: "pointer",
|
|
30
30
|
minHeight: "120px",
|
|
31
31
|
transition: "border-color var(--tsu-transition-fast), background-color var(--tsu-transition-fast)",
|
|
@@ -54,7 +54,7 @@ var itemClass = css({
|
|
|
54
54
|
alignItems: "center",
|
|
55
55
|
gap: "var(--tsu-spacing-sm)",
|
|
56
56
|
padding: "var(--tsu-spacing-sm) var(--tsu-spacing-md)",
|
|
57
|
-
backgroundColor: "var(--tsu-
|
|
57
|
+
backgroundColor: "var(--tsu-surface)",
|
|
58
58
|
border: "1px solid var(--tsu-neutral-5)",
|
|
59
59
|
borderRadius: "var(--tsu-radius-l2-md)"
|
|
60
60
|
});
|
|
@@ -92,7 +92,7 @@ var clearClass = css({
|
|
|
92
92
|
padding: "var(--tsu-spacing-sm) var(--tsu-spacing-md)",
|
|
93
93
|
border: "1px solid var(--tsu-neutral-7)",
|
|
94
94
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
95
|
-
backgroundColor: "var(--tsu-
|
|
95
|
+
backgroundColor: "var(--tsu-surface)",
|
|
96
96
|
color: "var(--tsu-neutral-11)",
|
|
97
97
|
fontSize: "var(--tsu-font-size-sm)",
|
|
98
98
|
cursor: "pointer",
|
package/dist/components/Icon.js
CHANGED
|
@@ -4,6 +4,23 @@ import { mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
|
|
|
4
4
|
//#region src/components/Icon.jsx
|
|
5
5
|
var _tmpl = template("<span></span>");
|
|
6
6
|
var read = (v) => typeof v === "function" ? v() : v;
|
|
7
|
+
var sanitizeSvg = (svgString) => {
|
|
8
|
+
let doc;
|
|
9
|
+
try {
|
|
10
|
+
doc = new DOMParser().parseFromString(svgString, "image/svg+xml");
|
|
11
|
+
} catch {
|
|
12
|
+
return "";
|
|
13
|
+
}
|
|
14
|
+
if (!doc || doc.querySelector("parsererror")) return "";
|
|
15
|
+
const svg = doc.querySelector("svg");
|
|
16
|
+
if (!svg) return "";
|
|
17
|
+
svg.querySelectorAll("script").forEach((el) => {
|
|
18
|
+
el.remove();
|
|
19
|
+
});
|
|
20
|
+
const all = [svg, ...Array.from(svg.querySelectorAll("*"))];
|
|
21
|
+
for (const el of all) for (const attr of Array.from(el.attributes)) if (attr.name.toLowerCase().startsWith("on") || /^\s*javascript:/i.test(attr.value)) el.removeAttribute(attr.name);
|
|
22
|
+
return svg.outerHTML;
|
|
23
|
+
};
|
|
7
24
|
var iconClass = css({
|
|
8
25
|
display: "inline-flex",
|
|
9
26
|
alignItems: "center",
|
|
@@ -37,7 +54,9 @@ var Icon = (props = {}) => {
|
|
|
37
54
|
"--icon-sw": sw
|
|
38
55
|
};
|
|
39
56
|
const setEl = (el) => {
|
|
40
|
-
if (el
|
|
57
|
+
if (!el) return;
|
|
58
|
+
const safe = sanitizeSvg(svgContent);
|
|
59
|
+
if (el.innerHTML !== safe) el.innerHTML = safe;
|
|
41
60
|
};
|
|
42
61
|
return (() => {
|
|
43
62
|
const _el0 = _tmpl.cloneNode(true);
|
package/dist/components/Input.js
CHANGED
|
@@ -4,7 +4,7 @@ import { Listbox } from "@plastic-js/ark";
|
|
|
4
4
|
import { splitProps } from "@plastic-js/plastic";
|
|
5
5
|
//#region src/components/Listbox.jsx
|
|
6
6
|
css({
|
|
7
|
-
backgroundColor: "var(--tsu-
|
|
7
|
+
backgroundColor: "var(--tsu-surface)",
|
|
8
8
|
border: "1px solid var(--tsu-neutral-6)",
|
|
9
9
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
10
10
|
boxShadow: "var(--tsu-shadow-lg)",
|
package/dist/components/Menu.js
CHANGED
|
@@ -6,7 +6,7 @@ import { splitProps } from "@plastic-js/plastic";
|
|
|
6
6
|
//#region src/components/Menu.jsx
|
|
7
7
|
var positionerClass = css({ zIndex: "var(--tsu-z-dropdown)" });
|
|
8
8
|
var contentClass = css({
|
|
9
|
-
backgroundColor: "var(--tsu-
|
|
9
|
+
backgroundColor: "var(--tsu-surface)",
|
|
10
10
|
border: "1px solid var(--tsu-neutral-6)",
|
|
11
11
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
12
12
|
boxShadow: "var(--tsu-shadow-lg)",
|
|
@@ -8,7 +8,7 @@ var affixSuffixClass = css({
|
|
|
8
8
|
color: "var(--tsu-fg)",
|
|
9
9
|
fontWeight: "var(--tsu-font-weight-semibold)",
|
|
10
10
|
paddingLeft: "10px",
|
|
11
|
-
marginLeft: "
|
|
11
|
+
marginLeft: "var(--tsu-spacing-xs)",
|
|
12
12
|
borderLeft: "1px solid var(--tsu-neutral-7)"
|
|
13
13
|
});
|
|
14
14
|
var read = (value) => {
|
|
@@ -10,7 +10,7 @@ var rootClass = css({
|
|
|
10
10
|
alignItems: "center",
|
|
11
11
|
border: "1px solid var(--tsu-accent-8)",
|
|
12
12
|
borderRadius: "var(--tsu-radius-l1-md)",
|
|
13
|
-
backgroundColor: "var(--tsu-
|
|
13
|
+
backgroundColor: "var(--tsu-surface)",
|
|
14
14
|
overflow: "hidden",
|
|
15
15
|
"&:focus-within": { borderColor: "var(--tsu-focus-border)" }
|
|
16
16
|
});
|
|
@@ -18,7 +18,7 @@ var itemClass = css({
|
|
|
18
18
|
padding: "0 var(--tsu-spacing-sm)",
|
|
19
19
|
border: "1px solid var(--tsu-neutral-5)",
|
|
20
20
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
21
|
-
backgroundColor: "var(--tsu-
|
|
21
|
+
backgroundColor: "var(--tsu-surface)",
|
|
22
22
|
color: "var(--tsu-neutral-11)",
|
|
23
23
|
fontSize: "var(--tsu-font-size-sm)",
|
|
24
24
|
fontWeight: "var(--tsu-font-weight-medium)",
|
|
@@ -21,7 +21,7 @@ var positionerClass = css({
|
|
|
21
21
|
});
|
|
22
22
|
var contentClass = css({
|
|
23
23
|
padding: "var(--tsu-container-padding-sm)",
|
|
24
|
-
backgroundColor: "var(--tsu-
|
|
24
|
+
backgroundColor: "var(--tsu-surface)",
|
|
25
25
|
borderRadius: "var(--tsu-radius-l2-md)",
|
|
26
26
|
boxShadow: "var(--tsu-shadow-lg)",
|
|
27
27
|
border: "1px solid var(--tsu-neutral-6)",
|
|
@@ -30,7 +30,7 @@ var contentClass = css({
|
|
|
30
30
|
});
|
|
31
31
|
var arrowClass = css({
|
|
32
32
|
"--arrow-size": "8px",
|
|
33
|
-
"--arrow-background": "var(--tsu-
|
|
33
|
+
"--arrow-background": "var(--tsu-surface)"
|
|
34
34
|
});
|
|
35
35
|
var closeTriggerClass = css({
|
|
36
36
|
display: "flex",
|