@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.
Files changed (37) hide show
  1. package/dist/components/BottomNavigation.js +1 -1
  2. package/dist/components/BottomSheet.js +20 -5
  3. package/dist/components/Card.js +1 -1
  4. package/dist/components/Checkbox.js +3 -3
  5. package/dist/components/Clipboard.js +20 -8
  6. package/dist/components/ColorPicker.js +1 -1
  7. package/dist/components/Combobox.js +2 -2
  8. package/dist/components/ConfirmDialog.js +2 -2
  9. package/dist/components/DateInput.js +4 -4
  10. package/dist/components/Dialog.js +21 -5
  11. package/dist/components/Drawer.js +2 -2
  12. package/dist/components/FileUpload.js +3 -3
  13. package/dist/components/FilterGroup.js +1 -1
  14. package/dist/components/Icon.js +20 -1
  15. package/dist/components/Input.js +1 -1
  16. package/dist/components/Listbox.js +1 -1
  17. package/dist/components/Menu.js +1 -1
  18. package/dist/components/MoneyInput.js +1 -1
  19. package/dist/components/NumberInput.js +1 -1
  20. package/dist/components/Pagination.js +1 -1
  21. package/dist/components/Popover.js +2 -2
  22. package/dist/components/RadioGroup.js +1 -1
  23. package/dist/components/Select.js +65 -132
  24. package/dist/components/SelectPc.js +2 -2
  25. package/dist/components/SignaturePad.js +6 -1
  26. package/dist/components/Steps.js +2 -2
  27. package/dist/components/Switch.js +2 -2
  28. package/dist/components/TagsInput.js +1 -1
  29. package/dist/components/Toast.js +2 -2
  30. package/dist/components/Toggle.js +1 -1
  31. package/dist/components/Tour.js +1 -1
  32. package/dist/tsumiki.css +1 -1
  33. package/docs/api.md +0 -2
  34. package/docs/scroll-lock-issue.md +35 -0
  35. package/package.json +5 -5
  36. package/src/styles/color.css +15 -5
  37. 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-bg)",
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-bg)",
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-bg)"
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", () => local.backdropBlur ? `${backdropClass} ${backdropBlurClass}` : backdropClass);
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);
@@ -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-bg)",
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-bg)",
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-bg)"
103
+ backgroundColor: "var(--tsu-surface)"
104
104
  },
105
105
  "&[data-disabled][data-state=\"checked\"], &[data-disabled][data-state=\"indeterminate\"]": {
106
- backgroundColor: "var(--tsu-bg)",
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
- const ta = document.createElement("textarea");
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-bg)",
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-bg)",
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-bg)",
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-bg)",
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-bg)",
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-bg) 0%, transparent 100%)"
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-bg) 0%, transparent 100%)"
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-bg)",
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-bg)",
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: 700,
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
- local.onCancel?.();
210
+ const wasCancelled = cancelRequested.current;
211
+ cancelRequested.current = false;
212
+ if (wasCancelled) local.onCancel?.();
210
213
  local.onClose?.();
211
- } else local.onOpen?.();
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-bg)",
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: 700,
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-bg)",
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-bg)",
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-bg)",
95
+ backgroundColor: "var(--tsu-surface)",
96
96
  color: "var(--tsu-neutral-11)",
97
97
  fontSize: "var(--tsu-font-size-sm)",
98
98
  cursor: "pointer",
@@ -51,7 +51,7 @@ var stickyClass = css({
51
51
  position: "sticky",
52
52
  top: 0,
53
53
  zIndex: "var(--tsu-z-dropdown)",
54
- backgroundColor: "var(--tsu-bg)"
54
+ backgroundColor: "var(--tsu-surface)"
55
55
  });
56
56
  var allClass = css({
57
57
  display: "flex",
@@ -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 && el.innerHTML !== svgContent) el.innerHTML = svgContent;
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);
@@ -56,7 +56,7 @@ var sizeClasses = {
56
56
  };
57
57
  var variantClasses = {
58
58
  solid: css({
59
- backgroundColor: "var(--tsu-neutral-3)",
59
+ backgroundColor: "var(--tsu-surface-raised)",
60
60
  border: "1px solid transparent",
61
61
  color: "var(--tsu-fg)",
62
62
  "&:focus-within": {
@@ -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-bg)",
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)",
@@ -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-bg)",
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: "4px",
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-bg)",
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-bg)",
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-bg)",
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-bg)"
33
+ "--arrow-background": "var(--tsu-surface)"
34
34
  });
35
35
  var closeTriggerClass = css({
36
36
  display: "flex",
@@ -38,7 +38,7 @@ var itemControlClass = css({
38
38
  height: "20px",
39
39
  borderRadius: "50%",
40
40
  border: "2px solid var(--tsu-accent-8)",
41
- background: "var(--tsu-bg)",
41
+ background: "var(--tsu-surface)",
42
42
  display: "flex",
43
43
  alignItems: "center",
44
44
  justifyContent: "center",