@serendie/ui 2.4.2 → 2.5.0-dev.202602161326

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.
@@ -1,6 +1,7 @@
1
+ import { default as React } from 'react';
1
2
  import { ComboboxRootProps } from '@ark-ui/react';
2
3
  import { RecipeVariantProps } from '../../../styled-system/css';
3
- export declare const SearchStyle: import('../../../styled-system/types').SlotRecipeRuntimeFn<"icon" | "input" | "combobox" | "control" | "comboboxItem" | "iconBox" | "closeIcon", {
4
+ export declare const SearchStyle: import('../../../styled-system/types').SlotRecipeRuntimeFn<"icon" | "input" | "combobox" | "control" | "comboboxItem" | "iconBox" | "clearTrigger", {
4
5
  size: {
5
6
  medium: {
6
7
  iconBox: {
@@ -55,6 +56,15 @@ type SearchStyleProps = ComboboxRootProps<string> & RecipeVariantProps<typeof Se
55
56
  * @default true
56
57
  */
57
58
  portalled?: boolean;
59
+ /**
60
+ * 候補リストにない値(フリーテキスト)での検索を許可するかどうか
61
+ * @default true
62
+ */
63
+ allowCustomValue?: boolean;
64
+ /**
65
+ * 検索実行時のコールバック(Enterキー押下時・候補選択時)
66
+ */
67
+ onSearch?: (value: string) => void;
58
68
  };
59
69
  export declare const Search: React.FC<SearchStyleProps>;
60
70
  export {};
@@ -1,21 +1,21 @@
1
- import { jsxs as e, jsx as o } from "react/jsx-runtime";
2
- import { SerendieSymbolMagnifyingGlass as x, SerendieSymbolClose as b } from "@serendie/symbols";
3
- import { useAutoPortalContainer as u } from "../../hooks/useAutoPortalContainer.js";
4
- import { createListCollection as f } from "../../node_modules/@ark-ui/react/dist/components/collection/list-collection.js";
5
- import { Portal as h } from "../../node_modules/@ark-ui/react/dist/components/portal/portal.js";
6
- import { Box as S } from "../../styled-system/jsx/box.js";
7
- import { sva as C } from "../../styled-system/css/sva.js";
8
- import { ComboboxRoot as w } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-root.js";
9
- import { ComboboxControl as I } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-control.js";
10
- import { cx as v } from "../../styled-system/css/cx.js";
11
- import { ComboboxInput as B } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-input.js";
12
- import { ComboboxTrigger as N } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-trigger.js";
13
- import { ComboboxPositioner as R } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-positioner.js";
14
- import { ComboboxContent as _ } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-content.js";
15
- import { ComboboxItemGroup as P } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-item-group.js";
16
- import { ComboboxItem as E } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-item.js";
17
- import { ComboboxItemText as T } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-item-text.js";
18
- const d = C({
1
+ import { jsxs as p, jsx as s } from "react/jsx-runtime";
2
+ import l from "react";
3
+ import { SerendieSymbolMagnifyingGlass as k, SerendieSymbolClose as O } from "@serendie/symbols";
4
+ import { useAutoPortalContainer as z } from "../../hooks/useAutoPortalContainer.js";
5
+ import { createListCollection as j } from "../../node_modules/@ark-ui/react/dist/components/collection/list-collection.js";
6
+ import { Portal as H } from "../../node_modules/@ark-ui/react/dist/components/portal/portal.js";
7
+ import { Box as A } from "../../styled-system/jsx/box.js";
8
+ import { sva as M } from "../../styled-system/css/sva.js";
9
+ import { ComboboxRoot as D } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-root.js";
10
+ import { ComboboxControl as G } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-control.js";
11
+ import { cx as K } from "../../styled-system/css/cx.js";
12
+ import { ComboboxInput as P } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-input.js";
13
+ import { ComboboxPositioner as W } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-positioner.js";
14
+ import { ComboboxContent as U } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-content.js";
15
+ import { ComboboxItemGroup as q } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-item-group.js";
16
+ import { ComboboxItem as F } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-item.js";
17
+ import { ComboboxItemText as J } from "../../node_modules/@ark-ui/react/dist/components/combobox/combobox-item-text.js";
18
+ const h = M({
19
19
  slots: [
20
20
  "input",
21
21
  "control",
@@ -23,7 +23,7 @@ const d = C({
23
23
  "comboboxItem",
24
24
  "iconBox",
25
25
  "icon",
26
- "closeIcon"
26
+ "clearTrigger"
27
27
  ],
28
28
  base: {
29
29
  control: {
@@ -88,11 +88,11 @@ const d = C({
88
88
  icon: {
89
89
  width: "sd.system.dimension.spacing.large"
90
90
  },
91
- closeIcon: {
92
- opacity: 0,
93
- "[data-state=open] &": {
94
- opacity: 1
95
- }
91
+ clearTrigger: {
92
+ display: "flex",
93
+ alignItems: "center",
94
+ justifyContent: "center",
95
+ cursor: "pointer"
96
96
  }
97
97
  },
98
98
  variants: {
@@ -144,17 +144,45 @@ const d = C({
144
144
  defaultVariants: {
145
145
  size: "medium"
146
146
  }
147
- }), X = ({
148
- items: i = [],
149
- portalled: t = !0,
150
- ...r
147
+ }), go = ({
148
+ items: r = [],
149
+ portalled: u = !0,
150
+ allowCustomValue: x = !0,
151
+ onSearch: i,
152
+ ...b
151
153
  }) => {
152
- const [l, c] = d.splitVariantProps(r), s = d(l), { collection: L, ...n } = c, { triggerRef: p, portalContainerRef: g } = u(t), m = f({ items: i });
153
- return /* @__PURE__ */ e(
154
- w,
154
+ const [C, V] = h.splitVariantProps(b), t = h(C), { collection: Q, ...e } = V, { triggerRef: S, portalContainerRef: w } = z(u), d = e.inputValue !== void 0, [I, g] = l.useState(
155
+ e.defaultInputValue || ""
156
+ ), a = d ? e.inputValue : I, y = l.useRef(null), [v, c] = l.useState(
157
+ () => !!(e.inputValue || e.defaultInputValue)
158
+ ), m = l.useRef(null), R = l.useMemo(() => a ? r.filter(
159
+ (o) => o.toLowerCase().includes(a.toLowerCase())
160
+ ) : r, [r, a]), f = j({ items: R }), _ = (o) => {
161
+ var n;
162
+ d || g(o.inputValue), c(o.inputValue.length > 0), (n = e.onInputValueChange) == null || n.call(e, o);
163
+ }, B = (o) => {
164
+ var n;
165
+ o.value.length > 0 && (i == null || i(o.value[0])), (n = e.onValueChange) == null || n.call(e, o);
166
+ }, N = (o) => {
167
+ y.current = o.highlightedValue;
168
+ }, T = (o) => {
169
+ o.key === "Enter" && a && !y.current && (i == null || i(a));
170
+ }, E = (o) => {
171
+ c(o.target.value.length > 0);
172
+ }, L = () => {
173
+ var o;
174
+ m.current && (m.current.value = "", m.current.focus()), c(!1), d || g(""), (o = e.onInputValueChange) == null || o.call(e, { inputValue: "" });
175
+ };
176
+ return /* @__PURE__ */ p(
177
+ D,
155
178
  {
156
- ...n,
157
- collection: m,
179
+ ...e,
180
+ collection: f,
181
+ openOnClick: !0,
182
+ allowCustomValue: x,
183
+ onInputValueChange: _,
184
+ onValueChange: B,
185
+ onHighlightChange: N,
158
186
  lazyMount: !0,
159
187
  unmountOnExit: !0,
160
188
  positioning: {
@@ -164,41 +192,57 @@ const d = C({
164
192
  }
165
193
  },
166
194
  children: [
167
- /* @__PURE__ */ e(
168
- I,
195
+ /* @__PURE__ */ p(
196
+ G,
169
197
  {
170
- className: v(s.control, n.className),
171
- ref: p,
198
+ className: K(t.control, e.className),
199
+ ref: S,
172
200
  children: [
173
- /* @__PURE__ */ o("div", { className: s.iconBox, children: /* @__PURE__ */ o(x, { className: s.icon }) }),
174
- /* @__PURE__ */ o(B, { className: s.input }),
175
- i.length > 0 && /* @__PURE__ */ o(N, { children: /* @__PURE__ */ o("div", { className: s.closeIcon, children: /* @__PURE__ */ o(b, { className: s.icon }) }) })
201
+ /* @__PURE__ */ s("div", { className: t.iconBox, children: /* @__PURE__ */ s(k, { className: t.icon }) }),
202
+ /* @__PURE__ */ s(
203
+ P,
204
+ {
205
+ ref: m,
206
+ className: t.input,
207
+ onKeyDown: T,
208
+ onChange: E
209
+ }
210
+ ),
211
+ v && /* @__PURE__ */ s(
212
+ "button",
213
+ {
214
+ type: "button",
215
+ className: t.clearTrigger,
216
+ onClick: L,
217
+ children: /* @__PURE__ */ s(O, { className: t.icon })
218
+ }
219
+ )
176
220
  ]
177
221
  }
178
222
  ),
179
- /* @__PURE__ */ o(h, { disabled: !t, container: g, children: /* @__PURE__ */ o(R, { children: /* @__PURE__ */ o(_, { className: s.combobox, children: /* @__PURE__ */ o(P, { id: "framework", children: m.items.map((a, y) => /* @__PURE__ */ e(
180
- E,
223
+ /* @__PURE__ */ s(H, { disabled: !u, container: w, children: /* @__PURE__ */ s(W, { children: /* @__PURE__ */ s(U, { className: t.combobox, children: /* @__PURE__ */ s(q, { id: "framework", children: f.items.map((o, n) => /* @__PURE__ */ p(
224
+ F,
181
225
  {
182
- item: a,
183
- className: s.comboboxItem,
226
+ item: o,
227
+ className: t.comboboxItem,
184
228
  children: [
185
- /* @__PURE__ */ o(
186
- S,
229
+ /* @__PURE__ */ s(
230
+ A,
187
231
  {
188
232
  w: "sd.system.dimension.spacing.large",
189
233
  h: "sd.system.dimension.spacing.large"
190
234
  }
191
235
  ),
192
- /* @__PURE__ */ o(T, { children: a })
236
+ /* @__PURE__ */ s(J, { children: o })
193
237
  ]
194
238
  },
195
- y
239
+ n
196
240
  )) }) }) }) })
197
241
  ]
198
242
  }
199
243
  );
200
244
  };
201
245
  export {
202
- X as Search,
203
- d as SearchStyle
246
+ go as Search,
247
+ h as SearchStyle
204
248
  };
@@ -1,82 +1,86 @@
1
- import { jsxs as a, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as n, jsx as e } from "react/jsx-runtime";
2
2
  import { SerendieSymbolAlertCircle as A, SerendieSymbolClose as W } from "@serendie/symbols";
3
3
  import z from "../../node_modules/merge-refs/dist/esm/index.js";
4
4
  import m, { forwardRef as B } from "react";
5
- import { textFieldRecipe as F } from "../../recipes/textFieldRecipe.js";
6
- import { useTranslations as D } from "../../i18n/index.js";
7
- import { cx as E } from "../../styled-system/css/cx.js";
8
- import { css as V } from "../../styled-system/css/css.js";
9
- const U = B(
5
+ import { textFieldRecipe as b } from "../../recipes/textFieldRecipe.js";
6
+ import { useTranslations as E } from "../../i18n/index.js";
7
+ import { cx as G } from "../../styled-system/css/cx.js";
8
+ import { css as w } from "../../styled-system/css/css.js";
9
+ const X = B(
10
10
  ({
11
- placeholder: b,
11
+ placeholder: F,
12
12
  label: d,
13
- description: i,
13
+ description: o,
14
14
  required: u,
15
- requiredLabel: S,
16
- invalidMessage: c,
17
- invalid: r,
18
- type: w = "text",
19
- disabled: n,
20
- onChange: h,
21
- value: f,
22
- className: y,
23
- leftContent: N,
24
- rightContent: p,
15
+ requiredLabel: V,
16
+ invalidMessage: i,
17
+ invalid: s,
18
+ type: y = "text",
19
+ disabled: c,
20
+ onChange: f,
21
+ value: h,
22
+ className: C,
23
+ leftContent: p,
24
+ rightContent: N,
25
25
  ...l
26
- }, C) => {
27
- const v = D(), o = m.useRef(null), P = z(o, C), [_, j] = F.splitVariantProps({
26
+ }, P) => {
27
+ const v = E(), a = m.useRef(null), S = z(a, P), [D, _] = b.splitVariantProps({
28
28
  ...l
29
- }), t = F(_), I = i || r && c, [T, k] = m.useState(l.defaultValue || f), g = l.id || m.useId(), q = () => {
29
+ }), t = b(D), j = o || s && i, [I, T] = m.useState(l.defaultValue || h), g = l.id || m.useId(), k = () => {
30
30
  var x;
31
- const s = {
31
+ const r = {
32
32
  target: { value: "" }
33
33
  };
34
- R(s), (x = l.onReset) == null || x.call(l, s), o.current && (o.current.value = "");
35
- }, R = (s) => {
36
- k(s.target.value), h && h(s);
34
+ R(r), (x = l.onReset) == null || x.call(l, r), a.current && (a.current.value = "", a.current.focus());
35
+ }, q = (r) => {
36
+ r.button === 0 && r.preventDefault();
37
+ }, R = (r) => {
38
+ T(r.target.value), f && f(r);
37
39
  };
38
- return /* @__PURE__ */ a("div", { className: E(t.root, y), children: [
39
- d ? /* @__PURE__ */ a("label", { className: t.label, htmlFor: g, children: [
40
+ return /* @__PURE__ */ n("div", { className: G(t.root, C), children: [
41
+ d ? /* @__PURE__ */ n("label", { className: t.label, htmlFor: g, children: [
40
42
  d,
41
- u && /* @__PURE__ */ e("span", { className: t.labelRequired, children: S ?? v("common.required") })
43
+ u && /* @__PURE__ */ e("span", { className: t.labelRequired, children: V ?? v("common.required") })
42
44
  ] }) : null,
43
- /* @__PURE__ */ a(
45
+ /* @__PURE__ */ n(
44
46
  "div",
45
47
  {
46
48
  className: t.inputWrapper,
47
- "data-invalid": r ? !0 : void 0,
48
- "data-disabled": n ? !0 : void 0,
49
+ "data-invalid": s ? !0 : void 0,
50
+ "data-disabled": c ? !0 : void 0,
49
51
  children: [
50
- N ? /* @__PURE__ */ e("div", { className: t.leftContent, children: N }) : /* @__PURE__ */ e("div", {}),
52
+ p ? /* @__PURE__ */ e("div", { className: t.leftContent, children: p }) : /* @__PURE__ */ e("div", {}),
51
53
  /* @__PURE__ */ e(
52
54
  "input",
53
55
  {
54
- ref: P,
56
+ ref: S,
55
57
  id: g,
56
- placeholder: b,
58
+ placeholder: F,
57
59
  required: u,
58
- disabled: n,
59
- value: f,
60
- type: w,
60
+ disabled: c,
61
+ value: h,
62
+ type: y,
61
63
  className: t.input,
62
64
  onChange: R,
63
- ...j
65
+ ..._
64
66
  }
65
67
  ),
66
- p ? /* @__PURE__ */ e("div", { className: t.rightContent, children: p }) : /* @__PURE__ */ e("div", { className: t.icon, children: !n && /* disabledの場合はアイコンを表示しない */
67
- (r ? /* @__PURE__ */ e(
68
+ N ? /* @__PURE__ */ e("div", { className: t.rightContent, children: N }) : /* @__PURE__ */ e("div", { className: t.icon, children: !c && /* disabledの場合はアイコンを表示しない */
69
+ (s ? /* @__PURE__ */ e(
68
70
  "span",
69
71
  {
70
- className: V({
72
+ className: w({
71
73
  color: "sd.system.color.impression.negative"
72
74
  }),
73
75
  children: /* @__PURE__ */ e(A, { width: 20, height: 20 })
74
76
  }
75
- ) : T ? /* @__PURE__ */ e(
77
+ ) : I ? /* @__PURE__ */ e(
76
78
  "button",
77
79
  {
78
- className: V({ cursor: "pointer" }),
79
- onClick: q,
80
+ type: "button",
81
+ className: w({ cursor: "pointer" }),
82
+ onPointerDown: q,
83
+ onClick: k,
80
84
  "aria-label": v("textField.clearValue"),
81
85
  children: /* @__PURE__ */ e(W, { width: 20, height: 20 })
82
86
  }
@@ -84,13 +88,13 @@ const U = B(
84
88
  ]
85
89
  }
86
90
  ),
87
- I && /* @__PURE__ */ a("div", { className: t.messageField, children: [
88
- i && /* @__PURE__ */ e("p", { className: t.description, children: i }),
89
- r && c && /* @__PURE__ */ e("p", { className: t.invalidMessage, children: c })
91
+ j && /* @__PURE__ */ n("div", { className: t.messageField, children: [
92
+ o && /* @__PURE__ */ e("p", { className: t.description, children: o }),
93
+ s && i && /* @__PURE__ */ e("p", { className: t.invalidMessage, children: i })
90
94
  ] })
91
95
  ] });
92
96
  }
93
97
  );
94
98
  export {
95
- U as TextField
99
+ X as TextField
96
100
  };
@@ -26,6 +26,18 @@ const e = {
26
26
  },
27
27
  wh60: {
28
28
  value: "#FFFFFF99"
29
+ },
30
+ wh2: {
31
+ value: "#FFFFFF05"
32
+ },
33
+ wh5: {
34
+ value: "#FFFFFF0D"
35
+ },
36
+ wh20: {
37
+ value: "#FFFFFF33"
38
+ },
39
+ bl60: {
40
+ value: "#00000099"
29
41
  }
30
42
  },
31
43
  gray: {
@@ -60,6 +72,38 @@ const e = {
60
72
  value: "#232322"
61
73
  }
62
74
  },
75
+ neutral: {
76
+ 100: {
77
+ value: "#FAFAFA"
78
+ },
79
+ 200: {
80
+ value: "#F5F5F5"
81
+ },
82
+ 300: {
83
+ value: "#F0F0F0"
84
+ },
85
+ 400: {
86
+ value: "#EBEBEB"
87
+ },
88
+ 500: {
89
+ value: "#E5E5E5"
90
+ },
91
+ 600: {
92
+ value: "#474747"
93
+ },
94
+ 700: {
95
+ value: "#3B3B3B"
96
+ },
97
+ 800: {
98
+ value: "#2E2E2E"
99
+ },
100
+ 900: {
101
+ value: "#212121"
102
+ },
103
+ 1e3: {
104
+ value: "#141414"
105
+ }
106
+ },
63
107
  red: {
64
108
  100: {
65
109
  value: "#FCEBEA"
@@ -436,7 +480,7 @@ const e = {
436
480
  value: "#BCEEDD"
437
481
  },
438
482
  onPositiveContainer: {
439
- value: "#FFFFFF"
483
+ value: "#000000"
440
484
  },
441
485
  positiveContainerVariant: {
442
486
  value: "#DBF5EA"
@@ -475,6 +519,21 @@ const e = {
475
519
  },
476
520
  scrim: {
477
521
  value: "#00000033"
522
+ },
523
+ surfaceDim: {
524
+ value: "#F0F0F0"
525
+ },
526
+ surfaceBright: {
527
+ value: "#FFFFFF"
528
+ },
529
+ surfaceContainerBright: {
530
+ value: "#FFFFFF"
531
+ },
532
+ surfaceContainer: {
533
+ value: "#FAFAFA"
534
+ },
535
+ surfaceContainerDim: {
536
+ value: "#F5F5F5"
478
537
  }
479
538
  },
480
539
  interaction: {
@@ -1456,7 +1515,7 @@ const e = {
1456
1515
  value: "#BCEEDD"
1457
1516
  },
1458
1517
  onPositiveContainer: {
1459
- value: "#FFFFFF"
1518
+ value: "#000000"
1460
1519
  },
1461
1520
  positiveContainerVariant: {
1462
1521
  value: "#DBF5EA"
@@ -1495,6 +1554,21 @@ const e = {
1495
1554
  },
1496
1555
  scrim: {
1497
1556
  value: "#00000033"
1557
+ },
1558
+ surfaceDim: {
1559
+ value: "#F0F0F0"
1560
+ },
1561
+ surfaceBright: {
1562
+ value: "#FFFFFF"
1563
+ },
1564
+ surfaceContainerBright: {
1565
+ value: "#FFFFFF"
1566
+ },
1567
+ surfaceContainer: {
1568
+ value: "#FAFAFA"
1569
+ },
1570
+ surfaceContainerDim: {
1571
+ value: "#F5F5F5"
1498
1572
  }
1499
1573
  },
1500
1574
  interaction: {
@@ -1751,7 +1825,7 @@ const e = {
1751
1825
  value: "#BCEEDD"
1752
1826
  },
1753
1827
  onPositiveContainer: {
1754
- value: "#FFFFFF"
1828
+ value: "#000000"
1755
1829
  },
1756
1830
  positiveContainerVariant: {
1757
1831
  value: "#DBF5EA"
@@ -1790,6 +1864,21 @@ const e = {
1790
1864
  },
1791
1865
  scrim: {
1792
1866
  value: "#00000033"
1867
+ },
1868
+ surfaceDim: {
1869
+ value: "#F0F0F0"
1870
+ },
1871
+ surfaceBright: {
1872
+ value: "#FFFFFF"
1873
+ },
1874
+ surfaceContainerBright: {
1875
+ value: "#FFFFFF"
1876
+ },
1877
+ surfaceContainer: {
1878
+ value: "#FAFAFA"
1879
+ },
1880
+ surfaceContainerDim: {
1881
+ value: "#F5F5F5"
1793
1882
  }
1794
1883
  },
1795
1884
  interaction: {
@@ -2046,7 +2135,7 @@ const e = {
2046
2135
  value: "#BCEEDD"
2047
2136
  },
2048
2137
  onPositiveContainer: {
2049
- value: "#FFFFFF"
2138
+ value: "#000000"
2050
2139
  },
2051
2140
  positiveContainerVariant: {
2052
2141
  value: "#DBF5EA"
@@ -2085,6 +2174,21 @@ const e = {
2085
2174
  },
2086
2175
  scrim: {
2087
2176
  value: "#00000033"
2177
+ },
2178
+ surfaceDim: {
2179
+ value: "#F0F0F0"
2180
+ },
2181
+ surfaceBright: {
2182
+ value: "#FFFFFF"
2183
+ },
2184
+ surfaceContainerBright: {
2185
+ value: "#FFFFFF"
2186
+ },
2187
+ surfaceContainer: {
2188
+ value: "#FAFAFA"
2189
+ },
2190
+ surfaceContainerDim: {
2191
+ value: "#F5F5F5"
2088
2192
  }
2089
2193
  },
2090
2194
  interaction: {
@@ -2341,7 +2445,7 @@ const e = {
2341
2445
  value: "#BCEEDD"
2342
2446
  },
2343
2447
  onPositiveContainer: {
2344
- value: "#FFFFFF"
2448
+ value: "#000000"
2345
2449
  },
2346
2450
  positiveContainerVariant: {
2347
2451
  value: "#DBF5EA"
@@ -2380,6 +2484,21 @@ const e = {
2380
2484
  },
2381
2485
  scrim: {
2382
2486
  value: "#00000033"
2487
+ },
2488
+ surfaceDim: {
2489
+ value: "#F0F0F0"
2490
+ },
2491
+ surfaceBright: {
2492
+ value: "#FFFFFF"
2493
+ },
2494
+ surfaceContainerBright: {
2495
+ value: "#FFFFFF"
2496
+ },
2497
+ surfaceContainer: {
2498
+ value: "#FAFAFA"
2499
+ },
2500
+ surfaceContainerDim: {
2501
+ value: "#F5F5F5"
2383
2502
  }
2384
2503
  },
2385
2504
  interaction: {