@plastic-js/tsumiki 0.1.52 → 0.1.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/components/Accordion.js +6 -6
  2. package/dist/components/Avatar.js +4 -4
  3. package/dist/components/BackToTop.js +3 -3
  4. package/dist/components/BottomNavigation.js +4 -4
  5. package/dist/components/BottomSheet.js +1 -1
  6. package/dist/components/Button.js +17 -19
  7. package/dist/components/Checkbox.js +11 -29
  8. package/dist/components/Clipboard.js +2 -2
  9. package/dist/components/CloseButton.js +4 -4
  10. package/dist/components/Collapsible.js +3 -3
  11. package/dist/components/ColorPicker.js +6 -6
  12. package/dist/components/Combobox.js +10 -9
  13. package/dist/components/{DateInput.js → DatePicker.js} +37 -22
  14. package/dist/components/Dialog.js +7 -7
  15. package/dist/components/Drawer.js +7 -7
  16. package/dist/components/Field.js +3 -3
  17. package/dist/components/Fieldset.js +2 -2
  18. package/dist/components/FileUpload.js +12 -12
  19. package/dist/components/FilterGroup.js +50 -115
  20. package/dist/components/Input.js +15 -14
  21. package/dist/components/Link.js +2 -2
  22. package/dist/components/Listbox.js +7 -6
  23. package/dist/components/Menu.js +8 -7
  24. package/dist/components/MoneyInput.js +1 -1
  25. package/dist/components/NumberInput.js +8 -9
  26. package/dist/components/Pagination.js +8 -8
  27. package/dist/components/Popover.js +5 -5
  28. package/dist/components/Progress.js +3 -3
  29. package/dist/components/RadioGroup.js +5 -10
  30. package/dist/components/RatingGroup.js +5 -5
  31. package/dist/components/SearchInput.js +4 -1
  32. package/dist/components/Select.js +51 -25
  33. package/dist/components/SelectPc.js +18 -20
  34. package/dist/components/SignaturePad.js +6 -7
  35. package/dist/components/Skeleton.js +1 -1
  36. package/dist/components/Slider.js +7 -7
  37. package/dist/components/Spinner.js +1 -1
  38. package/dist/components/Steps.js +23 -23
  39. package/dist/components/Switch.js +19 -10
  40. package/dist/components/Tabs.js +5 -5
  41. package/dist/components/TagsInput.js +6 -6
  42. package/dist/components/Toast.js +14 -14
  43. package/dist/components/Toggle.js +7 -7
  44. package/dist/components/ToggleGroup.js +19 -8
  45. package/dist/components/Tour.js +3 -3
  46. package/dist/components/TreeView.js +5 -5
  47. package/dist/index.js +2 -2
  48. package/dist/tsumiki.css +1 -1
  49. package/docs/api.md +47 -135
  50. package/docs/component-api-pattern.md +1 -1
  51. package/docs/scroll-lock-issue.md +3 -3
  52. package/package.json +1 -1
  53. package/src/styles/color.css +42 -0
  54. package/src/styles/semantic.css +212 -0
  55. package/src/styles/shadow.css +1 -0
  56. package/src/styles/theme.css +14 -0
  57. package/src/styles/tokens.css +1 -0
@@ -10,7 +10,7 @@ var _tmpl = template("<div><div><!><!></div><!></div>");
10
10
  var backdropClass = css({
11
11
  position: "fixed",
12
12
  inset: 0,
13
- background: "rgba(0, 0, 0, 0.6)",
13
+ background: "var(--tsu-bg-overlay)",
14
14
  backdropFilter: "blur(4px)",
15
15
  "&[hidden]": { display: "none" }
16
16
  });
@@ -24,8 +24,8 @@ var positionerClass = css({
24
24
  });
25
25
  var contentClass = css({
26
26
  pointerEvents: "auto",
27
- background: "var(--tsu-surface)",
28
- borderLeft: "1px solid var(--tsu-neutral-7)",
27
+ background: "var(--tsu-bg-panel)",
28
+ borderLeft: "1px solid var(--tsu-border)",
29
29
  width: "min(320px, calc(100vw - 24px))",
30
30
  height: "100%",
31
31
  display: "flex",
@@ -39,7 +39,7 @@ var headClass = css({
39
39
  alignItems: "center",
40
40
  justifyContent: "space-between",
41
41
  padding: "18px var(--tsu-container-padding-lg)",
42
- borderBottom: "1px solid var(--tsu-neutral-7)",
42
+ borderBottom: "1px solid var(--tsu-border)",
43
43
  flexShrink: 0
44
44
  });
45
45
  var titleWrapClass = css({
@@ -50,7 +50,7 @@ var titleWrapClass = css({
50
50
  });
51
51
  var titleIconClass = css({
52
52
  flexShrink: 0,
53
- color: "var(--tsu-accent-9)"
53
+ color: "var(--tsu-accent-solid-bg)"
54
54
  });
55
55
  var titleClass = css({
56
56
  fontSize: "18px",
@@ -63,7 +63,7 @@ var closeBtnClass = css({
63
63
  borderRadius: "50%",
64
64
  background: "transparent",
65
65
  border: "none",
66
- color: "var(--tsu-neutral-11)",
66
+ color: "var(--tsu-text-secondary)",
67
67
  fontSize: "22px",
68
68
  lineHeight: 1,
69
69
  cursor: "pointer",
@@ -80,7 +80,7 @@ var bodyClass = css({
80
80
  var descClass = css({
81
81
  margin: "8px 0 0",
82
82
  fontSize: "var(--tsu-comp-font-size-sm)",
83
- color: "var(--tsu-neutral-11)",
83
+ color: "var(--tsu-text-secondary)",
84
84
  lineHeight: 1.5
85
85
  });
86
86
  var ArkRoot = Drawer.Root;
@@ -33,18 +33,18 @@ var inputWrapClass = css({
33
33
  gap: "var(--tsu-spacing-xs)"
34
34
  });
35
35
  var requiredClass = css({
36
- color: "var(--tsu-danger-9)",
36
+ color: "var(--tsu-danger-solid-bg)",
37
37
  marginLeft: "var(--tsu-spacing-xxs)"
38
38
  });
39
39
  var errorTextClass = css({
40
40
  fontSize: "var(--tsu-font-size-sm)",
41
- color: "var(--tsu-danger-9)",
41
+ color: "var(--tsu-danger-solid-bg)",
42
42
  margin: 0,
43
43
  flexBasis: "100%"
44
44
  });
45
45
  var helperTextClass = css({
46
46
  fontSize: "var(--tsu-font-size-sm)",
47
- color: "var(--tsu-neutral-11)",
47
+ color: "var(--tsu-text-secondary)",
48
48
  margin: 0,
49
49
  flexBasis: "100%"
50
50
  });
@@ -7,7 +7,7 @@ var rootClass = css({
7
7
  display: "flex",
8
8
  flexDirection: "column",
9
9
  gap: "var(--tsu-spacing-xs)",
10
- border: "1px solid var(--tsu-neutral-7)",
10
+ border: "1px solid var(--tsu-border)",
11
11
  borderRadius: "var(--tsu-radius-l1-md)",
12
12
  padding: "var(--tsu-spacing-lg)"
13
13
  });
@@ -20,7 +20,7 @@ var legendClass = css({
20
20
  });
21
21
  var helperClass = css({
22
22
  fontSize: "var(--tsu-font-size-sm)",
23
- color: "var(--tsu-neutral-11)",
23
+ color: "var(--tsu-text-secondary)",
24
24
  margin: 0
25
25
  });
26
26
  var read = (v) => typeof v === "function" ? v() : v;
@@ -23,22 +23,22 @@ var dropzoneClass = css({
23
23
  justifyContent: "center",
24
24
  gap: "var(--tsu-spacing-sm)",
25
25
  padding: "var(--tsu-spacing-xl)",
26
- border: "2px dashed var(--tsu-accent-7)",
26
+ border: "2px dashed var(--tsu-accent-outline-border)",
27
27
  borderRadius: "var(--tsu-radius-l2-md)",
28
- backgroundColor: "var(--tsu-surface)",
28
+ backgroundColor: "var(--tsu-bg-panel)",
29
29
  cursor: "pointer",
30
30
  minHeight: "120px",
31
31
  transition: "border-color var(--tsu-transition-fast), background-color var(--tsu-transition-fast)",
32
32
  touchAction: "manipulation",
33
33
  "&[data-disabled]": {
34
- opacity: .5,
34
+ opacity: "var(--tsu-disabled-opacity)",
35
35
  cursor: "not-allowed",
36
36
  pointerEvents: "none"
37
37
  }
38
38
  });
39
39
  var dropzoneTextClass = css({
40
40
  fontSize: "var(--tsu-font-size-sm)",
41
- color: "var(--tsu-neutral-9)",
41
+ color: "var(--tsu-text-subtle)",
42
42
  textAlign: "center"
43
43
  });
44
44
  var itemGroupClass = css({
@@ -54,8 +54,8 @@ 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-surface)",
58
- border: "1px solid var(--tsu-neutral-5)",
57
+ backgroundColor: "var(--tsu-bg-panel)",
58
+ border: "1px solid var(--tsu-border)",
59
59
  borderRadius: "var(--tsu-radius-l2-md)"
60
60
  });
61
61
  var itemNameClass = css({
@@ -68,7 +68,7 @@ var itemNameClass = css({
68
68
  });
69
69
  var itemSizeTextClass = css({
70
70
  fontSize: "var(--tsu-font-size-xs)",
71
- color: "var(--tsu-neutral-9)",
71
+ color: "var(--tsu-text-subtle)",
72
72
  marginTop: "var(--tsu-spacing-xxs)"
73
73
  });
74
74
  var itemDeleteClass = css({
@@ -80,7 +80,7 @@ var itemDeleteClass = css({
80
80
  flexShrink: 0,
81
81
  border: "none",
82
82
  background: "none",
83
- color: "var(--tsu-neutral-9)",
83
+ color: "var(--tsu-text-subtle)",
84
84
  cursor: "pointer",
85
85
  borderRadius: "var(--tsu-radius-l1-md)",
86
86
  padding: 0
@@ -90,16 +90,16 @@ var clearClass = css({
90
90
  alignItems: "center",
91
91
  gap: "var(--tsu-spacing-xs)",
92
92
  padding: "var(--tsu-spacing-sm) var(--tsu-spacing-md)",
93
- border: "1px solid var(--tsu-neutral-7)",
93
+ border: "1px solid var(--tsu-neutral-outline-border)",
94
94
  borderRadius: "var(--tsu-radius-l2-md)",
95
- backgroundColor: "var(--tsu-surface)",
96
- color: "var(--tsu-neutral-11)",
95
+ backgroundColor: "var(--tsu-bg-panel)",
96
+ color: "var(--tsu-text-secondary)",
97
97
  fontSize: "var(--tsu-font-size-sm)",
98
98
  cursor: "pointer",
99
99
  fontFamily: "inherit",
100
100
  touchAction: "manipulation",
101
101
  "&:disabled": {
102
- opacity: .5,
102
+ opacity: "var(--tsu-disabled-opacity)",
103
103
  cursor: "not-allowed"
104
104
  }
105
105
  });
@@ -1,46 +1,10 @@
1
- import ToggleGroup, { ToggleGroupItem } from "./ToggleGroup.js";
1
+ import Button from "./Button.js";
2
2
  import { insert, jsx, mergeProps, setProp, template } from "@plastic-js/plastic/jsx-runtime";
3
3
  import { css } from "@emotion/css";
4
4
  import { mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
5
5
  //#region src/components/FilterGroup.jsx
6
- var _tmpl = template("<button type=\"button\"></button>");
6
+ var _tmpl = template("<div></div>");
7
7
  var access = (v) => typeof v === "function" ? v() : v;
8
- var sizeVars = {
9
- xs: {
10
- "--_tg-padding-y": "var(--tsu-comp-padding-y-xs)",
11
- "--_tg-padding-x": "var(--tsu-comp-padding-x-xs)",
12
- "--_tg-font-size": "var(--tsu-comp-font-size-xs)",
13
- "--_tg-radius": "var(--tsu-radius-l1-xs)"
14
- },
15
- sm: {
16
- "--_tg-padding-y": "var(--tsu-comp-padding-y-sm)",
17
- "--_tg-padding-x": "var(--tsu-comp-padding-x-sm)",
18
- "--_tg-font-size": "var(--tsu-comp-font-size-sm)",
19
- "--_tg-radius": "var(--tsu-radius-l1-sm)"
20
- },
21
- md: {
22
- "--_tg-padding-y": "var(--tsu-comp-padding-y-md)",
23
- "--_tg-padding-x": "var(--tsu-comp-padding-x-md)",
24
- "--_tg-font-size": "var(--tsu-comp-font-size-md)",
25
- "--_tg-radius": "var(--tsu-radius-l1-md)"
26
- },
27
- lg: {
28
- "--_tg-padding-y": "var(--tsu-comp-padding-y-lg)",
29
- "--_tg-padding-x": "var(--tsu-comp-padding-x-lg)",
30
- "--_tg-font-size": "var(--tsu-comp-font-size-lg)",
31
- "--_tg-radius": "var(--tsu-radius-l1-lg)"
32
- },
33
- xl: {
34
- "--_tg-padding-y": "var(--tsu-comp-padding-y-xl)",
35
- "--_tg-padding-x": "var(--tsu-comp-padding-x-xl)",
36
- "--_tg-font-size": "var(--tsu-comp-font-size-xl)",
37
- "--_tg-radius": "var(--tsu-radius-l1-xl)"
38
- }
39
- };
40
- var defaultStyle = {
41
- "--_tg-border": "var(--tsu-neutral-6)",
42
- "--_fg-gap": "var(--tsu-spacing-sm)"
43
- };
44
8
  var rootClass = css({
45
9
  display: "flex",
46
10
  width: "100%",
@@ -53,53 +17,22 @@ var stickyClass = css({
53
17
  zIndex: "var(--tsu-z-dropdown)",
54
18
  backgroundColor: "var(--tsu-surface)"
55
19
  });
56
- var allClass = css({
57
- display: "flex",
58
- alignItems: "center",
59
- justifyContent: "center",
60
- flexShrink: 0,
61
- padding: "var(--_tg-padding-y, var(--tsu-comp-padding-y-md)) var(--_tg-padding-x, var(--tsu-comp-padding-x-md))",
62
- border: "1px solid var(--_tg-border)",
20
+ var pillClass = css({
63
21
  borderRadius: "var(--tsu-radius-round)",
64
- background: "transparent",
65
- color: "var(--tsu-neutral-11)",
66
- fontSize: "var(--_tg-font-size, var(--tsu-comp-font-size-md))",
67
- fontWeight: "var(--tsu-font-weight-medium)",
68
- fontFamily: "inherit",
69
- cursor: "pointer",
70
- touchAction: "manipulation",
71
- transition: "background-color var(--tsu-transition-fast), color var(--tsu-transition-fast), border-color var(--tsu-transition-fast)",
72
- "&[data-state=\"on\"]": {
73
- backgroundColor: "var(--tsu-neutral-9)",
74
- borderColor: "var(--tsu-neutral-9)",
75
- color: "var(--tsu-bg)"
76
- },
77
- "&:disabled": {
78
- opacity: .5,
79
- cursor: "not-allowed"
80
- }
22
+ flexShrink: 0
81
23
  });
24
+ var selectedItemClass = css({ backgroundColor: "var(--tsu-accent-outline-bg-active)" });
82
25
  var groupClass = css({
83
- border: "none",
84
- overflowX: "auto",
85
- overflowY: "hidden",
26
+ display: "flex",
27
+ alignItems: "center",
28
+ gap: "var(--_fg-gap, var(--tsu-spacing-sm))",
86
29
  flex: "1 1 auto",
87
30
  minWidth: 0,
88
- gap: "var(--_fg-gap, var(--tsu-spacing-sm))",
31
+ overflowX: "auto",
32
+ overflowY: "hidden",
89
33
  scrollbarWidth: "none",
90
34
  "::-webkit-scrollbar": { display: "none" }
91
35
  });
92
- var itemClass = css({
93
- border: "1px solid var(--_tg-border)",
94
- borderRadius: "var(--tsu-radius-round)",
95
- flexShrink: 0,
96
- "&[data-state=\"on\"]": {
97
- backgroundColor: "transparent",
98
- borderColor: "var(--tsu-accent-9)",
99
- color: "var(--tsu-accent-11)"
100
- },
101
- "&:last-child": { border: "1px solid var(--_tg-border)" }
102
- });
103
36
  var FilterGroup = (props = {}) => {
104
37
  const [local, rest] = splitProps(mergeProps$1({
105
38
  size: "md",
@@ -126,7 +59,11 @@ var FilterGroup = (props = {}) => {
126
59
  if (allActive()) return;
127
60
  emit([]);
128
61
  };
129
- const handleChange = (value) => emit(value);
62
+ const handleItemClick = (itemValue) => {
63
+ const current = value();
64
+ emit(current.includes(itemValue) ? current.filter((v) => v !== itemValue) : [...current, itemValue]);
65
+ };
66
+ const buttonClassNames = [pillClass, local.buttonClass].filter(Boolean).join(" ");
130
67
  return jsx("div", mergeProps(rest, {
131
68
  className: () => [
132
69
  rootClass,
@@ -134,50 +71,48 @@ var FilterGroup = (props = {}) => {
134
71
  local.className
135
72
  ].filter(Boolean).join(" "),
136
73
  style: () => ({
137
- ...defaultStyle,
138
- ...sizeVars[access(local.size)],
74
+ "--_fg-gap": "var(--tsu-spacing-sm)",
139
75
  ...typeof sticky() === "number" ? { top: `${sticky()}px` } : void 0
140
76
  }),
141
- children: [() => {
142
- const _el0 = _tmpl.cloneNode(true);
143
- insert(_el0, () => local.allLabel);
144
- setProp(_el0, "className", () => [allClass, local.buttonClass].filter(Boolean).join(" "));
145
- setProp(_el0, "data-state", () => allActive() ? "on" : "off");
146
- setProp(_el0, "onClick", () => handleAllClick);
147
- return _el0;
148
- }, jsx(ToggleGroup, mergeProps({
149
- multiple: true,
77
+ children: [jsx(Button, mergeProps({
78
+ type: "button",
150
79
  get size() {
151
80
  return local.size;
152
81
  },
153
- get value() {
154
- return allActive() ? [] : value();
155
- },
156
- onValueChange: handleChange,
157
- get className() {
158
- return [groupClass, local.groupClass].filter(Boolean).join(" ");
82
+ get solid() {
83
+ return allActive();
159
84
  },
160
- children: () => local.items.map((item) => jsx(ToggleGroupItem, mergeProps({
161
- get key() {
162
- return item.value;
163
- },
164
- get value() {
165
- return item.value;
166
- },
167
- get disabled() {
168
- return item.disabled;
169
- },
170
- get className() {
171
- return [itemClass, local.buttonClass].filter(Boolean).join(" ");
172
- },
173
- children: () => item.label
174
- })))
175
- }))]
85
+ className: buttonClassNames,
86
+ onClick: handleAllClick,
87
+ children: () => local.allLabel
88
+ })), () => {
89
+ const _el0 = _tmpl.cloneNode(true);
90
+ insert(_el0, () => local.items.map((item) => {
91
+ const selected = value().includes(item.value);
92
+ return jsx(Button, mergeProps({
93
+ get key() {
94
+ return item.value;
95
+ },
96
+ type: "button",
97
+ get size() {
98
+ return local.size;
99
+ },
100
+ intent: selected ? "default" : "neutral",
101
+ get disabled() {
102
+ return item.disabled;
103
+ },
104
+ get className() {
105
+ return [selected && selectedItemClass, buttonClassNames].filter(Boolean).join(" ");
106
+ },
107
+ onClick: () => handleItemClick(item.value),
108
+ children: () => item.label
109
+ }));
110
+ }));
111
+ setProp(_el0, "className", () => [groupClass, local.groupClass].filter(Boolean).join(" "));
112
+ return _el0;
113
+ }]
176
114
  }));
177
115
  };
178
- FilterGroup.origin = {
179
- ToggleGroup,
180
- ToggleGroupItem
181
- };
116
+ FilterGroup.origin = { Button };
182
117
  //#endregion
183
118
  export { FilterGroup as default };
@@ -65,7 +65,7 @@ var variantClasses = {
65
65
  }
66
66
  }),
67
67
  outline: css({
68
- border: "1px solid var(--_input-border, var(--tsu-accent-8))",
68
+ border: "1px solid var(--_input-border)",
69
69
  color: "var(--tsu-fg)",
70
70
  "&:focus-within": {
71
71
  backgroundColor: "var(--tsu-focus-bg)",
@@ -74,18 +74,16 @@ var variantClasses = {
74
74
  })
75
75
  };
76
76
  var intentClasses = {
77
- default: css({ "--_input-border": "var(--tsu-accent-8)" }),
78
- neutral: css({ "--_input-border": "var(--tsu-neutral-6)" }),
79
- danger: css({ "--_input-border": "var(--tsu-danger-9)" })
77
+ default: css({ "--_input-border": "var(--tsu-accent-outline-border)" }),
78
+ neutral: css({ "--_input-border": "var(--tsu-neutral-outline-border)" }),
79
+ danger: css({ "--_input-border": "var(--tsu-danger-outline-border)" })
80
80
  };
81
81
  var errorClass = css({
82
- borderColor: "var(--tsu-danger-9) !important",
83
- "&:focus-within": { borderColor: "var(--tsu-danger-9) !important" }
82
+ borderColor: "var(--tsu-danger-outline-border) !important",
83
+ "&:focus-within": { borderColor: "var(--tsu-danger-outline-border) !important" }
84
84
  });
85
85
  var disabledClass = css({
86
- backgroundColor: "var(--tsu-disabled-bg) !important",
87
- borderColor: "var(--tsu-disabled-border) !important",
88
- color: "var(--tsu-disabled-fg) !important",
86
+ opacity: "var(--tsu-disabled-opacity)",
89
87
  cursor: "not-allowed"
90
88
  });
91
89
  var inputClass = css({
@@ -97,13 +95,13 @@ var inputClass = css({
97
95
  fontSize: "inherit",
98
96
  color: "inherit",
99
97
  padding: 0,
100
- "&::placeholder": { color: "var(--tsu-neutral-11)" }
98
+ "&::placeholder": { color: "var(--tsu-text-secondary)" }
101
99
  });
102
100
  var affixClass = css({
103
101
  flexShrink: 0,
104
102
  display: "inline-flex",
105
103
  alignItems: "center",
106
- color: "var(--tsu-neutral-11)",
104
+ color: "var(--tsu-text-secondary)",
107
105
  userSelect: "none",
108
106
  "& > svg": {
109
107
  width: "1.3em",
@@ -124,16 +122,19 @@ var eyeButtonClass = css({
124
122
  background: "none",
125
123
  border: "none",
126
124
  borderRadius: "var(--tsu-radius-l1-sm)",
127
- color: "var(--tsu-neutral-11)",
125
+ color: "var(--tsu-text-secondary)",
128
126
  cursor: "pointer",
129
127
  "& svg": {
130
128
  width: "100%",
131
129
  height: "100%",
132
130
  display: "block"
133
131
  },
134
- "&:hover": { color: "var(--tsu-fg)" },
132
+ "&:active": {
133
+ color: "var(--tsu-fg)",
134
+ backgroundColor: "var(--tsu-pressed)"
135
+ },
135
136
  "&:focus-visible": {
136
- outline: "2px solid var(--tsu-accent-9)",
137
+ outline: "2px solid var(--tsu-accent-outline-border-hover)",
137
138
  outlineOffset: "1px"
138
139
  }
139
140
  });
@@ -3,14 +3,14 @@ import { css } from "@emotion/css";
3
3
  import { mergeProps as mergeProps$1, splitProps } from "@plastic-js/plastic";
4
4
  //#region src/components/Link.jsx
5
5
  var baseClass = css({
6
- color: "var(--tsu-accent-11)",
6
+ color: "var(--tsu-accent-plain-fg)",
7
7
  textDecoration: "none",
8
8
  cursor: "pointer",
9
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",
13
- textDecorationColor: "var(--tsu-accent-6)"
13
+ textDecorationColor: "var(--tsu-accent-subtle-bg-hover)"
14
14
  },
15
15
  "&:focus-visible": {
16
16
  outline: "2px solid var(--tsu-focus-border)",
@@ -4,8 +4,8 @@ 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-surface)",
8
- border: "1px solid var(--tsu-neutral-6)",
7
+ backgroundColor: "var(--tsu-bg-panel)",
8
+ border: "1px solid var(--tsu-border)",
9
9
  borderRadius: "var(--tsu-radius-l2-md)",
10
10
  boxShadow: "var(--tsu-shadow-lg)",
11
11
  zIndex: "var(--tsu-z-dropdown)",
@@ -21,12 +21,13 @@ css({
21
21
  color: "var(--tsu-fg)",
22
22
  cursor: "pointer",
23
23
  "&[data-highlighted]": {
24
- backgroundColor: "var(--tsu-accent-3)",
25
- color: "var(--tsu-accent-9)"
24
+ backgroundColor: "var(--tsu-pressed-accent)",
25
+ color: "var(--tsu-accent-subtle-fg)"
26
26
  },
27
27
  "&[data-disabled]": {
28
- color: "var(--tsu-disabled-fg)",
29
- pointerEvents: "none"
28
+ opacity: "var(--tsu-disabled-opacity)",
29
+ pointerEvents: "none",
30
+ cursor: "not-allowed"
30
31
  }
31
32
  });
32
33
  var Listbox$1 = (props = {}) => {
@@ -6,8 +6,8 @@ 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-surface)",
10
- border: "1px solid var(--tsu-neutral-6)",
9
+ backgroundColor: "var(--tsu-bg-panel)",
10
+ border: "1px solid var(--tsu-border)",
11
11
  borderRadius: "var(--tsu-radius-l2-md)",
12
12
  boxShadow: "var(--tsu-shadow-lg)",
13
13
  padding: "6px",
@@ -31,17 +31,18 @@ var itemClass = css({
31
31
  textAlign: "left",
32
32
  lineHeight: 1.4,
33
33
  "&[data-highlighted]": {
34
- backgroundColor: "var(--tsu-accent-3)",
35
- color: "var(--tsu-accent-9)"
34
+ backgroundColor: "var(--tsu-pressed-accent)",
35
+ color: "var(--tsu-accent-subtle-fg)"
36
36
  },
37
37
  "&[data-disabled]": {
38
- opacity: .4,
39
- pointerEvents: "none"
38
+ opacity: "var(--tsu-disabled-opacity)",
39
+ pointerEvents: "none",
40
+ cursor: "not-allowed"
40
41
  }
41
42
  });
42
43
  var separatorClass = css({
43
44
  height: "1px",
44
- backgroundColor: "var(--tsu-neutral-6)",
45
+ backgroundColor: "var(--tsu-border)",
45
46
  margin: "4px 0"
46
47
  });
47
48
  var Menu$1 = (props = {}) => {
@@ -9,7 +9,7 @@ var affixSuffixClass = css({
9
9
  fontWeight: "var(--tsu-font-weight-semibold)",
10
10
  paddingLeft: "10px",
11
11
  marginLeft: "var(--tsu-spacing-xs)",
12
- borderLeft: "1px solid var(--tsu-neutral-7)"
12
+ borderLeft: "1px solid var(--tsu-border)"
13
13
  });
14
14
  var read = (value) => {
15
15
  return typeof value === "function" ? value() : value;
@@ -13,7 +13,7 @@ var rootBaseClass = css({
13
13
  });
14
14
  var variantClasses = {
15
15
  solid: css({
16
- backgroundColor: "var(--tsu-surface)",
16
+ backgroundColor: "var(--tsu-bg-control)",
17
17
  border: "1px solid transparent",
18
18
  "&:focus-within": {
19
19
  backgroundColor: "var(--tsu-focus-bg)",
@@ -21,7 +21,7 @@ var variantClasses = {
21
21
  }
22
22
  }),
23
23
  outline: css({
24
- border: "1px solid var(--tsu-accent-8)",
24
+ border: "1px solid var(--tsu-accent-outline-border)",
25
25
  "&:focus-within": {
26
26
  backgroundColor: "var(--tsu-focus-bg)",
27
27
  borderColor: "var(--tsu-focus-border)"
@@ -29,8 +29,8 @@ var variantClasses = {
29
29
  })
30
30
  };
31
31
  var disabledClass = css({
32
- borderColor: "var(--tsu-disabled-border)",
33
- "& *": { color: "var(--tsu-disabled-fg)" }
32
+ opacity: "var(--tsu-disabled-opacity)",
33
+ cursor: "not-allowed"
34
34
  });
35
35
  var sizeClasses = {
36
36
  xs: css({
@@ -62,8 +62,7 @@ var inputClass = css({
62
62
  color: "var(--tsu-fg)",
63
63
  fontFamily: "inherit",
64
64
  textAlign: "center",
65
- padding: 0,
66
- "&:disabled": { color: "var(--tsu-disabled-fg)" }
65
+ padding: 0
67
66
  });
68
67
  var btnClass = css({
69
68
  width: "28px",
@@ -73,14 +72,14 @@ var btnClass = css({
73
72
  justifyContent: "center",
74
73
  border: "none",
75
74
  background: "transparent",
76
- color: "var(--tsu-neutral-11)",
75
+ color: "var(--tsu-text-secondary)",
77
76
  cursor: "pointer",
78
77
  fontFamily: "inherit",
79
78
  fontSize: "14px",
80
79
  touchAction: "manipulation",
81
- "&:active:not(:disabled)": { backgroundColor: "var(--tsu-accent-3)" },
80
+ "&:active:not(:disabled)": { backgroundColor: "var(--tsu-pressed-accent)" },
82
81
  "&:disabled": {
83
- color: "var(--tsu-disabled-fg)",
82
+ color: "var(--tsu-text-subtle)",
84
83
  cursor: "not-allowed"
85
84
  }
86
85
  });
@@ -16,10 +16,10 @@ var itemClass = css({
16
16
  minWidth: "var(--tsu-level-primary-md)",
17
17
  height: "var(--tsu-level-primary-md)",
18
18
  padding: "0 var(--tsu-spacing-sm)",
19
- border: "1px solid var(--tsu-neutral-5)",
19
+ border: "1px solid var(--tsu-neutral-outline-border)",
20
20
  borderRadius: "var(--tsu-radius-l2-md)",
21
- backgroundColor: "var(--tsu-surface)",
22
- color: "var(--tsu-neutral-11)",
21
+ backgroundColor: "var(--tsu-bg-panel)",
22
+ color: "var(--tsu-text-secondary)",
23
23
  fontSize: "var(--tsu-font-size-sm)",
24
24
  fontWeight: "var(--tsu-font-weight-medium)",
25
25
  cursor: "pointer",
@@ -27,12 +27,12 @@ var itemClass = css({
27
27
  touchAction: "manipulation",
28
28
  transition: "background-color var(--tsu-transition-fast), border-color var(--tsu-transition-fast)",
29
29
  "&[data-selected]": {
30
- backgroundColor: "var(--tsu-accent-9)",
31
- borderColor: "var(--tsu-accent-8)",
32
- color: "var(--tsu-bg)"
30
+ backgroundColor: "var(--tsu-accent-solid-bg)",
31
+ borderColor: "var(--tsu-accent-solid-bg)",
32
+ color: "var(--tsu-accent-solid-fg)"
33
33
  },
34
34
  "&:disabled, &[data-disabled]": {
35
- opacity: .5,
35
+ opacity: "var(--tsu-disabled-opacity)",
36
36
  cursor: "not-allowed"
37
37
  }
38
38
  });
@@ -41,7 +41,7 @@ var ellipsisClass = css({
41
41
  alignItems: "center",
42
42
  justifyContent: "center",
43
43
  width: "var(--tsu-level-primary-md)",
44
- color: "var(--tsu-neutral-9)",
44
+ color: "var(--tsu-text-subtle)",
45
45
  fontSize: "var(--tsu-font-size-sm)",
46
46
  userSelect: "none"
47
47
  });