@kanso-labs/react-native-kanso-ui 0.11.3 → 0.11.5

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/README.md CHANGED
@@ -209,7 +209,6 @@ mise exec node@"$(awk '/^nodejs/{print $2}' .tool-versions)" -- npm install
209
209
  | Lint | `npm run lint` |
210
210
  | Build | `npm run build` |
211
211
  | Verify | `npm run package:check` |
212
- | Tokens | `npm run tokens:build` |
213
212
 
214
213
  `npm run storybook` serves the components through React Native Web. Its Theme
215
214
  control offers kanso-ui's seven demo schemes beside light and dark, and the
@@ -1,4 +1,5 @@
1
1
  import { useIconStyle } from "./icon-style.js";
2
+ import { arrowBackPath, arrowDownwardPath, arrowDropDownPath, arrowUpwardPath, calendarPath, checkPath, chevronDownPath, chevronEndPath, clockPath, closePath, keyboardPath, minusPath, personPath, plusPath, searchPath } from "../kanso-ui-core/glyphs.js";
2
3
  import { HIDDEN } from "./hidden.js";
3
4
  import { glyphStyles } from "./styles.js";
4
5
  import { c } from "react/compiler-runtime";
@@ -10,7 +11,7 @@ function ArrowBackGlyph(props) {
10
11
  const $ = c(3);
11
12
  let t0;
12
13
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
13
- t0 = /* @__PURE__ */ jsx(Path, { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" });
14
+ t0 = /* @__PURE__ */ jsx(Path, { d: arrowBackPath });
14
15
  $[0] = t0;
15
16
  } else t0 = $[0];
16
17
  let t1;
@@ -29,7 +30,7 @@ function ArrowDownwardGlyph(props) {
29
30
  const $ = c(3);
30
31
  let t0;
31
32
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
32
- t0 = /* @__PURE__ */ jsx(Path, { d: "M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z" });
33
+ t0 = /* @__PURE__ */ jsx(Path, { d: arrowDownwardPath });
33
34
  $[0] = t0;
34
35
  } else t0 = $[0];
35
36
  let t1;
@@ -47,7 +48,7 @@ function ArrowDropDownGlyph(props) {
47
48
  const $ = c(3);
48
49
  let t0;
49
50
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
50
- t0 = /* @__PURE__ */ jsx(Path, { d: "M7 10l5 5 5-5z" });
51
+ t0 = /* @__PURE__ */ jsx(Path, { d: arrowDropDownPath });
51
52
  $[0] = t0;
52
53
  } else t0 = $[0];
53
54
  let t1;
@@ -65,7 +66,7 @@ function ArrowUpwardGlyph(props) {
65
66
  const $ = c(3);
66
67
  let t0;
67
68
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
68
- t0 = /* @__PURE__ */ jsx(Path, { d: "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z" });
69
+ t0 = /* @__PURE__ */ jsx(Path, { d: arrowUpwardPath });
69
70
  $[0] = t0;
70
71
  } else t0 = $[0];
71
72
  let t1;
@@ -83,7 +84,7 @@ function CalendarGlyph(props) {
83
84
  const $ = c(3);
84
85
  let t0;
85
86
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
86
- t0 = /* @__PURE__ */ jsx(Path, { d: "M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z" });
87
+ t0 = /* @__PURE__ */ jsx(Path, { d: calendarPath });
87
88
  $[0] = t0;
88
89
  } else t0 = $[0];
89
90
  let t1;
@@ -101,7 +102,7 @@ function CheckGlyph(props) {
101
102
  const $ = c(3);
102
103
  let t0;
103
104
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
104
- t0 = /* @__PURE__ */ jsx(Path, { d: "M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" });
105
+ t0 = /* @__PURE__ */ jsx(Path, { d: checkPath });
105
106
  $[0] = t0;
106
107
  } else t0 = $[0];
107
108
  let t1;
@@ -119,7 +120,7 @@ function ChevronDownGlyph(props) {
119
120
  const $ = c(3);
120
121
  let t0;
121
122
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
122
- t0 = /* @__PURE__ */ jsx(Path, { d: "M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z" });
123
+ t0 = /* @__PURE__ */ jsx(Path, { d: chevronDownPath });
123
124
  $[0] = t0;
124
125
  } else t0 = $[0];
125
126
  let t1;
@@ -137,7 +138,7 @@ function ChevronEndGlyph(props) {
137
138
  const $ = c(3);
138
139
  let t0;
139
140
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
140
- t0 = /* @__PURE__ */ jsx(Path, { d: "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" });
141
+ t0 = /* @__PURE__ */ jsx(Path, { d: chevronEndPath });
141
142
  $[0] = t0;
142
143
  } else t0 = $[0];
143
144
  let t1;
@@ -156,7 +157,7 @@ function ClockGlyph(props) {
156
157
  const $ = c(3);
157
158
  let t0;
158
159
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
159
- t0 = /* @__PURE__ */ jsx(Path, { d: "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z" });
160
+ t0 = /* @__PURE__ */ jsx(Path, { d: clockPath });
160
161
  $[0] = t0;
161
162
  } else t0 = $[0];
162
163
  let t1;
@@ -174,7 +175,7 @@ function CloseGlyph(props) {
174
175
  const $ = c(3);
175
176
  let t0;
176
177
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
177
- t0 = /* @__PURE__ */ jsx(Path, { d: "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" });
178
+ t0 = /* @__PURE__ */ jsx(Path, { d: closePath });
178
179
  $[0] = t0;
179
180
  } else t0 = $[0];
180
181
  let t1;
@@ -218,7 +219,7 @@ function Glyph(t0) {
218
219
  height: side,
219
220
  style: t3,
220
221
  testID,
221
- viewBox: "0 0 24 24",
222
+ viewBox: `0 0 24 24`,
222
223
  width: side,
223
224
  children
224
225
  });
@@ -235,7 +236,7 @@ function KeyboardGlyph(props) {
235
236
  const $ = c(3);
236
237
  let t0;
237
238
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
238
- t0 = /* @__PURE__ */ jsx(Path, { d: "M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 12H4V7h16v10zm-9-9h2v2h-2zm0 3h2v2h-2zM8 8h2v2H8zm0 3h2v2H8zm-3 0h2v2H5zm0-3h2v2H5zm3 6h8v2H8zm6-3h2v2h-2zm0-3h2v2h-2zm3 3h2v2h-2zm0-3h2v2h-2z" });
239
+ t0 = /* @__PURE__ */ jsx(Path, { d: keyboardPath });
239
240
  $[0] = t0;
240
241
  } else t0 = $[0];
241
242
  let t1;
@@ -253,7 +254,7 @@ function MinusGlyph(props) {
253
254
  const $ = c(3);
254
255
  let t0;
255
256
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
256
- t0 = /* @__PURE__ */ jsx(Path, { d: "M19 13H5v-2h14v2z" });
257
+ t0 = /* @__PURE__ */ jsx(Path, { d: minusPath });
257
258
  $[0] = t0;
258
259
  } else t0 = $[0];
259
260
  let t1;
@@ -272,7 +273,7 @@ function PersonGlyph(props) {
272
273
  const $ = c(3);
273
274
  let t0;
274
275
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
275
- t0 = /* @__PURE__ */ jsx(Path, { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" });
276
+ t0 = /* @__PURE__ */ jsx(Path, { d: personPath });
276
277
  $[0] = t0;
277
278
  } else t0 = $[0];
278
279
  let t1;
@@ -290,7 +291,7 @@ function PlusGlyph(props) {
290
291
  const $ = c(3);
291
292
  let t0;
292
293
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
293
- t0 = /* @__PURE__ */ jsx(Path, { d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" });
294
+ t0 = /* @__PURE__ */ jsx(Path, { d: plusPath });
294
295
  $[0] = t0;
295
296
  } else t0 = $[0];
296
297
  let t1;
@@ -308,7 +309,7 @@ function SearchGlyph(props) {
308
309
  const $ = c(3);
309
310
  let t0;
310
311
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
311
- t0 = /* @__PURE__ */ jsx(Path, { d: "M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" });
312
+ t0 = /* @__PURE__ */ jsx(Path, { d: searchPath });
312
313
  $[0] = t0;
313
314
  } else t0 = $[0];
314
315
  let t1;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ReactNode","ColorValue","StyleProp","ViewStyle","I18nManager","StyleSheet","Svg","Path","HIDDEN","useIconStyle","glyphStyles","GlyphProps","color","size","style","testID","ArrowBackGlyph","props","$","_c","t0","Symbol","for","t1","ArrowDownwardGlyph","ArrowDropDownGlyph","ArrowUpwardGlyph","CalendarGlyph","CheckGlyph","ChevronDownGlyph","ChevronEndGlyph","ClockGlyph","CloseGlyph","Glyph","children","mirrored","undefined","slot","side","t2","t3","compose","isRTL","t4","KeyboardGlyph","MinusGlyph","IndeterminateGlyph","PersonGlyph","PlusGlyph","SearchGlyph","_c"],"sources":["../../src/glyphs/index.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport type { ColorValue, StyleProp, ViewStyle } from 'react-native'\n\nimport { I18nManager, StyleSheet } from 'react-native'\nimport Svg, { Path } from 'react-native-svg'\n\nimport { HIDDEN } from './hidden'\nimport { useIconStyle } from './icon-style'\nimport { glyphStyles } from './styles'\n\n// The glyphs the library's own controls draw, the same set kanso-ui draws on\n// web: the check and the dash a checkbox shows, the plus and minus a number\n// field's steppers show, the magnifier and cross a search field shows, and the\n// rest named beside each one. Private to the library, as on web: a call site\n// with icons of its own passes them to the slots that take a node, and reads\n// the slot's colour and size through `useIconStyle()`.\n//\n// The paths are kanso-ui's, unchanged: Material Symbols on their 24-unit grid,\n// which is what the checkbox page draws at 18dp, the icon buttons page at 20\n// and the search, menus, date picker and time picker pages at 24.\n\ntype GlyphProps = {\n /** The fill. Defaults to the colour of the slot the glyph sits in. */\n readonly color?: ColorValue\n /** The square's side in dp. Defaults to the size of the slot. */\n readonly size?: number\n readonly style?: StyleProp<ViewStyle>\n readonly testID?: string\n}\n\n// What a search view's back button draws, pointing at the page it returns to.\n// It says \"back\" rather than \"to the left\", so it mirrors under a right-to-left\n// layout.\nfunction ArrowBackGlyph(props: GlyphProps) {\n return (\n <Glyph {...props} mirrored>\n <Path d=\"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z\" />\n </Glyph>\n )\n}\n\n// Which way a sorted column is ordered. Up is ascending and down is\n// descending. Neither mirrors under a right-to-left layout: they say \"up\" and\n// \"down\" rather than \"onward\", and those do not flip.\nfunction ArrowDownwardGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\" />\n </Glyph>\n )\n}\n\n// What a menu button draws after its label, pointing at the list it opens.\n// Down is down in either writing direction, so it does not mirror.\nfunction ArrowDropDownGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M7 10l5 5 5-5z\" />\n </Glyph>\n )\n}\n\nfunction ArrowUpwardGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\" />\n </Glyph>\n )\n}\n\n// What the date picker's trigger draws: the calendar a date is picked from.\nfunction CalendarGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z\" />\n </Glyph>\n )\n}\n\nfunction CheckGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\" />\n </Glyph>\n )\n}\n\n// Points down at the menu a split button's second half opens, and at the\n// list a select opens.\nfunction ChevronDownGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z\" />\n </Glyph>\n )\n}\n\n// Points at the submenu a menu item opens. It says \"further in\" rather than\n// \"to the right\", so it mirrors under a right-to-left layout.\nfunction ChevronEndGlyph(props: GlyphProps) {\n return (\n <Glyph {...props} mirrored>\n <Path d=\"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\" />\n </Glyph>\n )\n}\n\n// What the time picker's trigger draws, and the button that takes its keyboard\n// entry back to the dial: the clock a time is picked from.\nfunction ClockGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z\" />\n </Glyph>\n )\n}\n\nfunction CloseGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" />\n </Glyph>\n )\n}\n\n/**\n * The svg every glyph draws: the 24-unit grid its path is on, a square of the\n * slot's size filled in the slot's colour, and nothing a screen reader\n * announces, since the control around a glyph carries the name. A glyph whose\n * direction means \"onward\" or \"back\" passes `mirrored`, which turns it over\n * under a right-to-left layout as `:dir(rtl)` does on web.\n */\nfunction Glyph({\n children,\n color,\n mirrored = false,\n size,\n style,\n testID,\n}: GlyphProps & { readonly children: ReactNode; readonly mirrored?: boolean }) {\n const slot = useIconStyle()\n const side = size ?? slot.size\n return (\n <Svg\n {...HIDDEN}\n color={color ?? slot.color}\n fill=\"currentColor\"\n height={side}\n style={StyleSheet.compose(\n mirrored && I18nManager.isRTL ? glyphStyles.mirrored : undefined,\n style,\n )}\n testID={testID}\n viewBox=\"0 0 24 24\"\n width={side}\n >\n {children}\n </Svg>\n )\n}\n\n// What the time picker's dial draws on the button that switches it to typed\n// entry.\nfunction KeyboardGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 12H4V7h16v10zm-9-9h2v2h-2zm0 3h2v2h-2zM8 8h2v2H8zm0 3h2v2H8zm-3 0h2v2H5zm0-3h2v2H5zm3 6h8v2H8zm6-3h2v2h-2zm0-3h2v2h-2zm3 3h2v2h-2zm0-3h2v2h-2z\" />\n </Glyph>\n )\n}\n\n// The same rule stands for a partly selected checkbox and for a stepper's\n// decrement; the two names say which is meant at the call site.\nfunction MinusGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M19 13H5v-2h14v2z\" />\n </Glyph>\n )\n}\n\nconst IndeterminateGlyph = MinusGlyph\n\n// What an avatar with no name to take initials from draws: Material Design's\n// anonymous person, a head over shoulders.\nfunction PersonGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\" />\n </Glyph>\n )\n}\n\nfunction PlusGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\" />\n </Glyph>\n )\n}\n\nfunction SearchGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d=\"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" />\n </Glyph>\n )\n}\n\nexport {\n ArrowBackGlyph,\n ArrowDownwardGlyph,\n ArrowDropDownGlyph,\n ArrowUpwardGlyph,\n CalendarGlyph,\n CheckGlyph,\n ChevronDownGlyph,\n ChevronEndGlyph,\n ClockGlyph,\n CloseGlyph,\n IndeterminateGlyph,\n KeyboardGlyph,\n MinusGlyph,\n PersonGlyph,\n PlusGlyph,\n SearchGlyph,\n}\nexport type { GlyphProps }\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["ReactNode","ColorValue","StyleProp","ViewStyle","arrowBackPath","arrowDownwardPath","arrowDropDownPath","arrowUpwardPath","calendarPath","checkPath","chevronDownPath","chevronEndPath","clockPath","closePath","gridSize","keyboardPath","minusPath","personPath","plusPath","searchPath","I18nManager","StyleSheet","Svg","Path","HIDDEN","useIconStyle","glyphStyles","GlyphProps","color","size","style","testID","ArrowBackGlyph","props","$","_c","t0","Symbol","for","t1","ArrowDownwardGlyph","ArrowDropDownGlyph","ArrowUpwardGlyph","CalendarGlyph","CheckGlyph","ChevronDownGlyph","ChevronEndGlyph","ClockGlyph","CloseGlyph","Glyph","children","mirrored","undefined","slot","side","t2","t3","compose","isRTL","t4","KeyboardGlyph","MinusGlyph","IndeterminateGlyph","PersonGlyph","PlusGlyph","SearchGlyph","_c"],"sources":["../../src/glyphs/index.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport type { ColorValue, StyleProp, ViewStyle } from 'react-native'\n\nimport {\n arrowBackPath,\n arrowDownwardPath,\n arrowDropDownPath,\n arrowUpwardPath,\n calendarPath,\n checkPath,\n chevronDownPath,\n chevronEndPath,\n clockPath,\n closePath,\n gridSize,\n keyboardPath,\n minusPath,\n personPath,\n plusPath,\n searchPath,\n} from '@kanso-labs/kanso-ui-core/glyphs'\nimport { I18nManager, StyleSheet } from 'react-native'\nimport Svg, { Path } from 'react-native-svg'\n\nimport { HIDDEN } from './hidden'\nimport { useIconStyle } from './icon-style'\nimport { glyphStyles } from './styles'\n\n// The glyphs the library's own controls draw, the same set kanso-ui draws on\n// web: the check and the dash a checkbox shows, the plus and minus a number\n// field's steppers show, the magnifier and cross a search field shows, and the\n// rest named beside each one. Private to the library, as on web: a call site\n// with icons of its own passes them to the slots that take a node, and reads\n// the slot's colour and size through `useIconStyle()`.\n//\n// The paths are @kanso-labs/kanso-ui-core's, the ones kanso-ui draws too:\n// Material Symbols on their 24-unit grid, which is what the checkbox page draws\n// at 18dp, the icon buttons page at 20 and the search, menus, date picker and\n// time picker pages at 24. The package is a devDependency, so the build writes\n// them into dist.\n\ntype GlyphProps = {\n /** The fill. Defaults to the colour of the slot the glyph sits in. */\n readonly color?: ColorValue\n /** The square's side in dp. Defaults to the size of the slot. */\n readonly size?: number\n readonly style?: StyleProp<ViewStyle>\n readonly testID?: string\n}\n\n// What a search view's back button draws, pointing at the page it returns to.\n// It says \"back\" rather than \"to the left\", so it mirrors under a right-to-left\n// layout.\nfunction ArrowBackGlyph(props: GlyphProps) {\n return (\n <Glyph {...props} mirrored>\n <Path d={arrowBackPath} />\n </Glyph>\n )\n}\n\n// Which way a sorted column is ordered. Up is ascending and down is\n// descending. Neither mirrors under a right-to-left layout: they say \"up\" and\n// \"down\" rather than \"onward\", and those do not flip.\nfunction ArrowDownwardGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={arrowDownwardPath} />\n </Glyph>\n )\n}\n\n// What a menu button draws after its label, pointing at the list it opens.\n// Down is down in either writing direction, so it does not mirror.\nfunction ArrowDropDownGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={arrowDropDownPath} />\n </Glyph>\n )\n}\n\nfunction ArrowUpwardGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={arrowUpwardPath} />\n </Glyph>\n )\n}\n\n// What the date picker's trigger draws: the calendar a date is picked from.\nfunction CalendarGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={calendarPath} />\n </Glyph>\n )\n}\n\nfunction CheckGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={checkPath} />\n </Glyph>\n )\n}\n\n// Points down at the menu a split button's second half opens, and at the\n// list a select opens.\nfunction ChevronDownGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={chevronDownPath} />\n </Glyph>\n )\n}\n\n// Points at the submenu a menu item opens. It says \"further in\" rather than\n// \"to the right\", so it mirrors under a right-to-left layout.\nfunction ChevronEndGlyph(props: GlyphProps) {\n return (\n <Glyph {...props} mirrored>\n <Path d={chevronEndPath} />\n </Glyph>\n )\n}\n\n// What the time picker's trigger draws, and the button that takes its keyboard\n// entry back to the dial: the clock a time is picked from.\nfunction ClockGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={clockPath} />\n </Glyph>\n )\n}\n\nfunction CloseGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={closePath} />\n </Glyph>\n )\n}\n\n/**\n * The svg every glyph draws: the 24-unit grid its path is on, a square of the\n * slot's size filled in the slot's colour, and nothing a screen reader\n * announces, since the control around a glyph carries the name. A glyph whose\n * direction means \"onward\" or \"back\" passes `mirrored`, which turns it over\n * under a right-to-left layout as `:dir(rtl)` does on web.\n */\nfunction Glyph({\n children,\n color,\n mirrored = false,\n size,\n style,\n testID,\n}: GlyphProps & { readonly children: ReactNode; readonly mirrored?: boolean }) {\n const slot = useIconStyle()\n const side = size ?? slot.size\n return (\n <Svg\n {...HIDDEN}\n color={color ?? slot.color}\n fill=\"currentColor\"\n height={side}\n style={StyleSheet.compose(\n mirrored && I18nManager.isRTL ? glyphStyles.mirrored : undefined,\n style,\n )}\n testID={testID}\n viewBox={`0 0 ${gridSize} ${gridSize}`}\n width={side}\n >\n {children}\n </Svg>\n )\n}\n\n// What the time picker's dial draws on the button that switches it to typed\n// entry.\nfunction KeyboardGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={keyboardPath} />\n </Glyph>\n )\n}\n\n// The same rule stands for a partly selected checkbox and for a stepper's\n// decrement; the two names say which is meant at the call site.\nfunction MinusGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={minusPath} />\n </Glyph>\n )\n}\n\nconst IndeterminateGlyph = MinusGlyph\n\n// What an avatar with no name to take initials from draws: Material Design's\n// anonymous person, a head over shoulders.\nfunction PersonGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={personPath} />\n </Glyph>\n )\n}\n\nfunction PlusGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={plusPath} />\n </Glyph>\n )\n}\n\nfunction SearchGlyph(props: GlyphProps) {\n return (\n <Glyph {...props}>\n <Path d={searchPath} />\n </Glyph>\n )\n}\n\nexport {\n ArrowBackGlyph,\n ArrowDownwardGlyph,\n ArrowDropDownGlyph,\n ArrowUpwardGlyph,\n CalendarGlyph,\n CheckGlyph,\n ChevronDownGlyph,\n ChevronEndGlyph,\n ClockGlyph,\n CloseGlyph,\n IndeterminateGlyph,\n KeyboardGlyph,\n MinusGlyph,\n PersonGlyph,\n PlusGlyph,\n SearchGlyph,\n}\nexport type { GlyphProps }\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { breakpoints } from "../tokens/defaults.js";
1
+ import { n as breakpoints } from "../kanso-ui-core/defaults-DMH0HWCw.js";
2
2
  //#region src/hooks/useWindowSizeClass.d.ts
3
3
  /**
4
4
  * Material Design's window size classes, which kanso-ui's breakpoint tokens
@@ -1,4 +1,4 @@
1
- import { breakpoints } from "../tokens/defaults.js";
1
+ import { breakpoints } from "../kanso-ui-core/index.js";
2
2
  import { c } from "react/compiler-runtime";
3
3
  import { useWindowDimensions } from "react-native";
4
4
  //#region src/hooks/useWindowSizeClass.ts
package/dist/index.d.ts CHANGED
@@ -35,7 +35,7 @@ import { DisclosureGroup, DisclosureGroupProps } from "./components/disclosure-g
35
35
  import { PickedFile } from "./files/index.js";
36
36
  import { DragTypes, DropEnterEvent, DropEvent, DropExitEvent, DropItem, DropOperation, FileDropItem, TextDropItem, isFileDropItem, isTextDropItem } from "./drop/index.js";
37
37
  import { DropZone, DropZoneProps, FileTrigger, FileTriggerProps } from "./components/drop-zone/index.js";
38
- import { KuiTheme } from "./tokens/defaults.js";
38
+ import { t as KuiTheme } from "./kanso-ui-core/defaults-DMH0HWCw.js";
39
39
  import { ResolvedTheme, useTheme } from "./theme/scope.js";
40
40
  import { TypeRole } from "./typography/roles.js";
41
41
  import { FabSize, FabTone, FabVariant } from "./fab/index.js";
@@ -1,4 +1,4 @@
1
- //#region src/tokens/defaults.d.ts
1
+ //#region node_modules/@kanso-labs/kanso-ui-core/dist/defaults-DMH0HWCw.d.ts
2
2
  /**
3
3
  * A theme: any of the `--kui-*` custom properties `tokens.css` lists, each set
4
4
  * to a value in CSS syntax. Hand one to `ThemeScope`'s `theme` prop, and every
@@ -391,9 +391,10 @@ type KuiTheme = {
391
391
  readonly '--kui-typography-weight-regular'?: string;
392
392
  };
393
393
  /**
394
- * The lower bound of each window size class, in dp. A media query cannot read
395
- * a custom property, so on web these are compiled in rather than overridable,
396
- * and they are constants here for the same contract.
394
+ * The lower bound of each window size class, in px on the web and dp on
395
+ * native, smallest first. A media query cannot read a custom property, so
396
+ * neither library offers these as one to override, and `tokens.css` leaves
397
+ * them out.
397
398
  */
398
399
  declare const breakpoints: {
399
400
  readonly compact: 0;
@@ -403,5 +404,5 @@ declare const breakpoints: {
403
404
  readonly extraLarge: 1600;
404
405
  };
405
406
  //#endregion
406
- export { type KuiTheme, breakpoints };
407
- //# sourceMappingURL=defaults.d.ts.map
407
+ export { breakpoints as n, KuiTheme as t };
408
+ //# sourceMappingURL=defaults-DMH0HWCw.d.ts.map
@@ -0,0 +1,41 @@
1
+ //#region node_modules/@kanso-labs/kanso-ui-core/dist/glyphs.js
2
+ /** An arrow pointing back, at the page a view returns to. */
3
+ const arrowBackPath = "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z";
4
+ /** An arrow pointing down, for a column sorted in descending order. */
5
+ const arrowDownwardPath = "M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z";
6
+ /** A small solid triangle pointing down, at the list a menu button opens. */
7
+ const arrowDropDownPath = "M7 10l5 5 5-5z";
8
+ /** An arrow pointing up, for a column sorted in ascending order. */
9
+ const arrowUpwardPath = "M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z";
10
+ /** A calendar, which a date is picked from. */
11
+ const calendarPath = "M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z";
12
+ /** A check mark, as a selected checkbox shows. */
13
+ const checkPath = "M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z";
14
+ /** A chevron pointing down, at the menu a button opens. */
15
+ const chevronDownPath = "M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z";
16
+ /**
17
+ * A chevron pointing onward, at what an item opens, such as a submenu. It is
18
+ * drawn pointing right, the onward direction in a left-to-right layout.
19
+ */
20
+ const chevronEndPath = "M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z";
21
+ /** A clock face, which a time is picked from. */
22
+ const clockPath = "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z";
23
+ /** A cross, which closes or clears. */
24
+ const closePath = "M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z";
25
+ /** A keyboard, which switches a picker to typed entry. */
26
+ const keyboardPath = "M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 12H4V7h16v10zm-9-9h2v2h-2zm0 3h2v2h-2zM8 8h2v2H8zm0 3h2v2H8zm-3 0h2v2H5zm0-3h2v2H5zm3 6h8v2H8zm6-3h2v2h-2zm0-3h2v2h-2zm3 3h2v2h-2zm0-3h2v2h-2z";
27
+ /**
28
+ * A horizontal rule, which stands both for a partly selected checkbox and for
29
+ * a stepper's decrement.
30
+ */
31
+ const minusPath = "M19 13H5v-2h14v2z";
32
+ /** Material Design's anonymous person, a head over shoulders. */
33
+ const personPath = "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z";
34
+ /** A plus, as a stepper's increment shows. */
35
+ const plusPath = "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z";
36
+ /** A magnifier, as a search field shows. */
37
+ const searchPath = "M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z";
38
+ //#endregion
39
+ export { arrowBackPath, arrowDownwardPath, arrowDropDownPath, arrowUpwardPath, calendarPath, checkPath, chevronDownPath, chevronEndPath, clockPath, closePath, keyboardPath, minusPath, personPath, plusPath, searchPath };
40
+
41
+ //# sourceMappingURL=glyphs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glyphs.js","names":[],"sources":["../../node_modules/@kanso-labs/kanso-ui-core/dist/glyphs.js"],"sourcesContent":["// src/glyphs.ts\n/** The side of the square grid every path below is drawn on. */\nconst gridSize = 24;\n/** An arrow pointing back, at the page a view returns to. */\nconst arrowBackPath = \"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z\";\n/** An arrow pointing down, for a column sorted in descending order. */\nconst arrowDownwardPath = \"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\";\n/** A small solid triangle pointing down, at the list a menu button opens. */\nconst arrowDropDownPath = \"M7 10l5 5 5-5z\";\n/** An arrow pointing up, for a column sorted in ascending order. */\nconst arrowUpwardPath = \"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\";\n/** A calendar, which a date is picked from. */\nconst calendarPath = \"M19 4h-1V2h-2v2H8V2H6v2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2z\";\n/**\n* A check in a filled circle. It shares its outline with `errorPath`, so the\n* two differ by the mark inside rather than by their colour alone.\n*/\nconst checkCirclePath = \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\";\n/** A check mark, as a selected checkbox shows. */\nconst checkPath = \"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\";\n/** A chevron pointing down, at the menu a button opens. */\nconst chevronDownPath = \"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z\";\n/**\n* A chevron pointing onward, at what an item opens, such as a submenu. It is\n* drawn pointing right, the onward direction in a left-to-right layout.\n*/\nconst chevronEndPath = \"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\";\n/** A clock face, which a time is picked from. */\nconst clockPath = \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z\";\n/** A cross, which closes or clears. */\nconst closePath = \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\";\n/** An exclamation mark in a filled circle; see `checkCirclePath`. */\nconst errorPath = \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z\";\n/** A keyboard, which switches a picker to typed entry. */\nconst keyboardPath = \"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 12H4V7h16v10zm-9-9h2v2h-2zm0 3h2v2h-2zM8 8h2v2H8zm0 3h2v2H8zm-3 0h2v2H5zm0-3h2v2H5zm3 6h8v2H8zm6-3h2v2h-2zm0-3h2v2h-2zm3 3h2v2h-2zm0-3h2v2h-2z\";\n/**\n* A horizontal rule, which stands both for a partly selected checkbox and for\n* a stepper's decrement.\n*/\nconst minusPath = \"M19 13H5v-2h14v2z\";\n/** Material Design's anonymous person, a head over shoulders. */\nconst personPath = \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\";\n/** A plus, as a stepper's increment shows. */\nconst plusPath = \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\";\n/** A magnifier, as a search field shows. */\nconst searchPath = \"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\";\nexport { arrowBackPath, arrowDownwardPath, arrowDropDownPath, arrowUpwardPath, calendarPath, checkCirclePath, checkPath, chevronDownPath, chevronEndPath, clockPath, closePath, errorPath, gridSize, keyboardPath, minusPath, personPath, plusPath, searchPath };\n\n//# sourceMappingURL=glyphs.js.map"],"ignoreList":[0],"mappings":";;AAIA,MAAM,gBAAgB;;AAEtB,MAAM,oBAAoB;;AAE1B,MAAM,oBAAoB;;AAE1B,MAAM,kBAAkB;;AAExB,MAAM,eAAe;;AAOrB,MAAM,YAAY;;AAElB,MAAM,kBAAkB;;;;;AAKxB,MAAM,iBAAiB;;AAEvB,MAAM,YAAY;;AAElB,MAAM,YAAY;;AAIlB,MAAM,eAAe;;;;;AAKrB,MAAM,YAAY;;AAElB,MAAM,aAAa;;AAEnB,MAAM,WAAW;;AAEjB,MAAM,aAAa"}
@@ -1,5 +1,5 @@
1
- //#region src/tokens/defaults.ts
2
- /** Every property at its value in the light scheme. */
1
+ //#region node_modules/@kanso-labs/kanso-ui-core/dist/index.js
2
+ /** Every property at its value in the light scheme, as `tokens.css` declares it. */
3
3
  const light = {
4
4
  "--kui-color-background": "#fef7ff",
5
5
  "--kui-color-error": "#b3261e",
@@ -192,7 +192,11 @@ const light = {
192
192
  "--kui-typography-weight-medium": "500",
193
193
  "--kui-typography-weight-regular": "400"
194
194
  };
195
- /** Every property at its value in the dark scheme. */
195
+ /**
196
+ * Every property at its value in the dark scheme: the colours `tokens.css`
197
+ * declares under `prefers-color-scheme: dark`, over every other property at
198
+ * the one value it has in both.
199
+ */
196
200
  const dark = {
197
201
  "--kui-color-background": "#141218",
198
202
  "--kui-color-error": "#f2b8b5",
@@ -386,9 +390,10 @@ const dark = {
386
390
  "--kui-typography-weight-regular": "400"
387
391
  };
388
392
  /**
389
- * The lower bound of each window size class, in dp. A media query cannot read
390
- * a custom property, so on web these are compiled in rather than overridable,
391
- * and they are constants here for the same contract.
393
+ * The lower bound of each window size class, in px on the web and dp on
394
+ * native, smallest first. A media query cannot read a custom property, so
395
+ * neither library offers these as one to override, and `tokens.css` leaves
396
+ * them out.
392
397
  */
393
398
  const breakpoints = {
394
399
  compact: 0,
@@ -400,4 +405,4 @@ const breakpoints = {
400
405
  //#endregion
401
406
  export { breakpoints, dark, light };
402
407
 
403
- //# sourceMappingURL=defaults.js.map
408
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../node_modules/@kanso-labs/kanso-ui-core/dist/index.js"],"sourcesContent":["// src/tokens/defaults.ts\n/** Every property at its value in the light scheme, as `tokens.css` declares it. */\nconst light = {\n\t\"--kui-color-background\": \"#fef7ff\",\n\t\"--kui-color-error\": \"#b3261e\",\n\t\"--kui-color-error-container\": \"#f9dedc\",\n\t\"--kui-color-inverse-on-surface\": \"#f5eff7\",\n\t\"--kui-color-inverse-primary\": \"#d0bcff\",\n\t\"--kui-color-inverse-surface\": \"#322f35\",\n\t\"--kui-color-negative\": \"#a04022\",\n\t\"--kui-color-negative-container\": \"#ffdbd1\",\n\t\"--kui-color-on-background\": \"#1d1b20\",\n\t\"--kui-color-on-error\": \"#ffffff\",\n\t\"--kui-color-on-error-container\": \"#410e0b\",\n\t\"--kui-color-on-negative\": \"#ffffff\",\n\t\"--kui-color-on-negative-container\": \"#3a0a00\",\n\t\"--kui-color-on-positive\": \"#ffffff\",\n\t\"--kui-color-on-positive-container\": \"#002115\",\n\t\"--kui-color-on-primary\": \"#ffffff\",\n\t\"--kui-color-on-primary-container\": \"#21005d\",\n\t\"--kui-color-on-primary-fixed\": \"#21005d\",\n\t\"--kui-color-on-primary-fixed-variant\": \"#4f378b\",\n\t\"--kui-color-on-secondary\": \"#ffffff\",\n\t\"--kui-color-on-secondary-container\": \"#1d192b\",\n\t\"--kui-color-on-secondary-fixed\": \"#1d192b\",\n\t\"--kui-color-on-secondary-fixed-variant\": \"#4a4458\",\n\t\"--kui-color-on-surface\": \"#1d1b20\",\n\t\"--kui-color-on-surface-variant\": \"#49454f\",\n\t\"--kui-color-on-tertiary\": \"#ffffff\",\n\t\"--kui-color-on-tertiary-container\": \"#31111d\",\n\t\"--kui-color-on-tertiary-fixed\": \"#31111d\",\n\t\"--kui-color-on-tertiary-fixed-variant\": \"#633b48\",\n\t\"--kui-color-outline\": \"#79747e\",\n\t\"--kui-color-outline-variant\": \"#cac4d0\",\n\t\"--kui-color-positive\": \"#006c4d\",\n\t\"--kui-color-positive-container\": \"#90f6ca\",\n\t\"--kui-color-primary\": \"#6750a4\",\n\t\"--kui-color-primary-container\": \"#eaddff\",\n\t\"--kui-color-primary-fixed\": \"#eaddff\",\n\t\"--kui-color-primary-fixed-dim\": \"#d0bcff\",\n\t\"--kui-color-scrim\": \"#000000\",\n\t\"--kui-color-secondary\": \"#625b71\",\n\t\"--kui-color-secondary-container\": \"#e8def8\",\n\t\"--kui-color-secondary-fixed\": \"#e8def8\",\n\t\"--kui-color-secondary-fixed-dim\": \"#ccc2dc\",\n\t\"--kui-color-shadow\": \"#000000\",\n\t\"--kui-color-surface\": \"#fef7ff\",\n\t\"--kui-color-surface-bright\": \"#fef7ff\",\n\t\"--kui-color-surface-container\": \"#f3edf7\",\n\t\"--kui-color-surface-container-high\": \"#ece6f0\",\n\t\"--kui-color-surface-container-highest\": \"#e6e0e9\",\n\t\"--kui-color-surface-container-low\": \"#f7f2fa\",\n\t\"--kui-color-surface-container-lowest\": \"#ffffff\",\n\t\"--kui-color-surface-dim\": \"#ded8e1\",\n\t\"--kui-color-surface-tint\": \"#6750a4\",\n\t\"--kui-color-surface-variant\": \"#e7e0ec\",\n\t\"--kui-color-tertiary\": \"#7d5260\",\n\t\"--kui-color-tertiary-container\": \"#ffd8e4\",\n\t\"--kui-color-tertiary-fixed\": \"#ffd8e4\",\n\t\"--kui-color-tertiary-fixed-dim\": \"#efb8c8\",\n\t\"--kui-motion-duration-long1\": \"450ms\",\n\t\"--kui-motion-duration-long2\": \"500ms\",\n\t\"--kui-motion-duration-long3\": \"600ms\",\n\t\"--kui-motion-duration-medium1\": \"250ms\",\n\t\"--kui-motion-duration-medium2\": \"300ms\",\n\t\"--kui-motion-duration-medium3\": \"350ms\",\n\t\"--kui-motion-duration-short1\": \"100ms\",\n\t\"--kui-motion-duration-short2\": \"150ms\",\n\t\"--kui-motion-duration-short3\": \"200ms\",\n\t\"--kui-motion-easing-emphasized\": \"cubic-bezier(0.2, 0, 0, 1)\",\n\t\"--kui-motion-easing-emphasized-accelerate\": \"cubic-bezier(0.3, 0, 0.8, 0.15)\",\n\t\"--kui-motion-easing-emphasized-decelerate\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\",\n\t\"--kui-motion-easing-spring-fast\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n\t\"--kui-motion-easing-spring-slow\": \"cubic-bezier(0.16, 1, 0.3, 1)\",\n\t\"--kui-motion-easing-standard\": \"cubic-bezier(0.2, 0, 0, 1)\",\n\t\"--kui-radius-circle\": \"9999px\",\n\t\"--kui-radius-lg\": \"16px\",\n\t\"--kui-radius-md\": \"12px\",\n\t\"--kui-radius-none\": \"0px\",\n\t\"--kui-radius-pill\": \"9999px\",\n\t\"--kui-radius-sm\": \"8px\",\n\t\"--kui-radius-xl\": \"28px\",\n\t\"--kui-radius-xs\": \"4px\",\n\t\"--kui-shadow-elevation1\": \"0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)\",\n\t\"--kui-shadow-elevation2\": \"0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15)\",\n\t\"--kui-shadow-elevation3\": \"0px 1px 3px 0px rgba(0, 0, 0, 0.3), 0px 4px 8px 3px rgba(0, 0, 0, 0.15)\",\n\t\"--kui-shadow-elevation4\": \"0px 2px 3px 0px rgba(0, 0, 0, 0.3), 0px 6px 10px 4px rgba(0, 0, 0, 0.15)\",\n\t\"--kui-shadow-elevation5\": \"0px 4px 4px 0px rgba(0, 0, 0, 0.3), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)\",\n\t\"--kui-sizing-control-lg\": \"56px\",\n\t\"--kui-sizing-control-md\": \"48px\",\n\t\"--kui-sizing-control-sm\": \"40px\",\n\t\"--kui-sizing-control-xl\": \"96px\",\n\t\"--kui-sizing-control-xs\": \"32px\",\n\t\"--kui-sizing-control-xxl\": \"136px\",\n\t\"--kui-sizing-row-lg\": \"88px\",\n\t\"--kui-sizing-row-md\": \"72px\",\n\t\"--kui-sizing-row-sm\": \"56px\",\n\t\"--kui-sizing-row-xs\": \"48px\",\n\t\"--kui-spacing-lg\": \"16px\",\n\t\"--kui-spacing-md\": \"12px\",\n\t\"--kui-spacing-sm\": \"8px\",\n\t\"--kui-spacing-xl\": \"24px\",\n\t\"--kui-spacing-xs\": \"4px\",\n\t\"--kui-spacing-xxl\": \"32px\",\n\t\"--kui-spacing-xxs\": \"2px\",\n\t\"--kui-spacing-xxxl\": \"40px\",\n\t\"--kui-state-layer-opacity-disabled-container\": \"0.12\",\n\t\"--kui-state-layer-opacity-disabled-content\": \"0.38\",\n\t\"--kui-state-layer-opacity-dragged\": \"0.16\",\n\t\"--kui-state-layer-opacity-focus\": \"0.1\",\n\t\"--kui-state-layer-opacity-hover\": \"0.08\",\n\t\"--kui-state-layer-opacity-pressed\": \"0.1\",\n\t\"--kui-typography-body-large-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-body-large-line-height\": \"24px\",\n\t\"--kui-typography-body-large-size\": \"16px\",\n\t\"--kui-typography-body-large-tracking\": \"0.5px\",\n\t\"--kui-typography-body-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-body-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-body-medium-line-height\": \"20px\",\n\t\"--kui-typography-body-medium-size\": \"14px\",\n\t\"--kui-typography-body-medium-tracking\": \"0.25px\",\n\t\"--kui-typography-body-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-body-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-body-small-line-height\": \"16px\",\n\t\"--kui-typography-body-small-size\": \"12px\",\n\t\"--kui-typography-body-small-tracking\": \"0.4px\",\n\t\"--kui-typography-body-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-display-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-display-large-line-height\": \"64px\",\n\t\"--kui-typography-display-large-size\": \"57px\",\n\t\"--kui-typography-display-large-tracking\": \"-0.25px\",\n\t\"--kui-typography-display-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-display-medium-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-display-medium-line-height\": \"52px\",\n\t\"--kui-typography-display-medium-size\": \"45px\",\n\t\"--kui-typography-display-medium-tracking\": \"0px\",\n\t\"--kui-typography-display-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-display-small-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-display-small-line-height\": \"44px\",\n\t\"--kui-typography-display-small-size\": \"36px\",\n\t\"--kui-typography-display-small-tracking\": \"0px\",\n\t\"--kui-typography-display-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-font-family-brand\": \"'Roboto Serif', 'Iowan Old Style', Georgia, serif\",\n\t\"--kui-typography-font-family-mono\": \"'Roboto Mono', ui-monospace, 'SF Mono', Menlo, monospace\",\n\t\"--kui-typography-font-family-plain\": \"'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif\",\n\t\"--kui-typography-headline-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-headline-large-line-height\": \"40px\",\n\t\"--kui-typography-headline-large-size\": \"32px\",\n\t\"--kui-typography-headline-large-tracking\": \"0px\",\n\t\"--kui-typography-headline-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-headline-medium-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-headline-medium-line-height\": \"36px\",\n\t\"--kui-typography-headline-medium-size\": \"28px\",\n\t\"--kui-typography-headline-medium-tracking\": \"0px\",\n\t\"--kui-typography-headline-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-headline-small-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-headline-small-line-height\": \"32px\",\n\t\"--kui-typography-headline-small-size\": \"24px\",\n\t\"--kui-typography-headline-small-tracking\": \"0px\",\n\t\"--kui-typography-headline-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-label-large-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-label-large-line-height\": \"20px\",\n\t\"--kui-typography-label-large-size\": \"14px\",\n\t\"--kui-typography-label-large-tracking\": \"0.1px\",\n\t\"--kui-typography-label-large-weight\": \"var(--kui-typography-weight-medium, 500)\",\n\t\"--kui-typography-label-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-label-medium-line-height\": \"16px\",\n\t\"--kui-typography-label-medium-size\": \"12px\",\n\t\"--kui-typography-label-medium-tracking\": \"0.5px\",\n\t\"--kui-typography-label-medium-weight\": \"var(--kui-typography-weight-medium, 500)\",\n\t\"--kui-typography-label-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-label-small-line-height\": \"16px\",\n\t\"--kui-typography-label-small-size\": \"11px\",\n\t\"--kui-typography-label-small-tracking\": \"0.5px\",\n\t\"--kui-typography-label-small-weight\": \"var(--kui-typography-weight-medium, 500)\",\n\t\"--kui-typography-title-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-title-large-line-height\": \"28px\",\n\t\"--kui-typography-title-large-size\": \"22px\",\n\t\"--kui-typography-title-large-tracking\": \"0px\",\n\t\"--kui-typography-title-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-title-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-title-medium-line-height\": \"24px\",\n\t\"--kui-typography-title-medium-size\": \"16px\",\n\t\"--kui-typography-title-medium-tracking\": \"0.15px\",\n\t\"--kui-typography-title-medium-weight\": \"var(--kui-typography-weight-medium, 500)\",\n\t\"--kui-typography-title-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-title-small-line-height\": \"20px\",\n\t\"--kui-typography-title-small-size\": \"14px\",\n\t\"--kui-typography-title-small-tracking\": \"0.1px\",\n\t\"--kui-typography-title-small-weight\": \"var(--kui-typography-weight-medium, 500)\",\n\t\"--kui-typography-weight-bold\": \"700\",\n\t\"--kui-typography-weight-medium\": \"500\",\n\t\"--kui-typography-weight-regular\": \"400\"\n};\n/**\n* Every property at its value in the dark scheme: the colours `tokens.css`\n* declares under `prefers-color-scheme: dark`, over every other property at\n* the one value it has in both.\n*/\nconst dark = {\n\t\"--kui-color-background\": \"#141218\",\n\t\"--kui-color-error\": \"#f2b8b5\",\n\t\"--kui-color-error-container\": \"#8c1d18\",\n\t\"--kui-color-inverse-on-surface\": \"#322f35\",\n\t\"--kui-color-inverse-primary\": \"#6750a4\",\n\t\"--kui-color-inverse-surface\": \"#e6e0e9\",\n\t\"--kui-color-negative\": \"#ffb59f\",\n\t\"--kui-color-negative-container\": \"#81290c\",\n\t\"--kui-color-on-background\": \"#e6e0e9\",\n\t\"--kui-color-on-error\": \"#601410\",\n\t\"--kui-color-on-error-container\": \"#f9dedc\",\n\t\"--kui-color-on-negative\": \"#5f1600\",\n\t\"--kui-color-on-negative-container\": \"#ffdbd1\",\n\t\"--kui-color-on-positive\": \"#003827\",\n\t\"--kui-color-on-positive-container\": \"#90f6ca\",\n\t\"--kui-color-on-primary\": \"#381e72\",\n\t\"--kui-color-on-primary-container\": \"#eaddff\",\n\t\"--kui-color-on-primary-fixed\": \"#21005d\",\n\t\"--kui-color-on-primary-fixed-variant\": \"#4f378b\",\n\t\"--kui-color-on-secondary\": \"#332d41\",\n\t\"--kui-color-on-secondary-container\": \"#e8def8\",\n\t\"--kui-color-on-secondary-fixed\": \"#1d192b\",\n\t\"--kui-color-on-secondary-fixed-variant\": \"#4a4458\",\n\t\"--kui-color-on-surface\": \"#e6e0e9\",\n\t\"--kui-color-on-surface-variant\": \"#cac4d0\",\n\t\"--kui-color-on-tertiary\": \"#492532\",\n\t\"--kui-color-on-tertiary-container\": \"#ffd8e4\",\n\t\"--kui-color-on-tertiary-fixed\": \"#31111d\",\n\t\"--kui-color-on-tertiary-fixed-variant\": \"#633b48\",\n\t\"--kui-color-outline\": \"#938f99\",\n\t\"--kui-color-outline-variant\": \"#49454f\",\n\t\"--kui-color-positive\": \"#74d9af\",\n\t\"--kui-color-positive-container\": \"#00513a\",\n\t\"--kui-color-primary\": \"#d0bcff\",\n\t\"--kui-color-primary-container\": \"#4f378b\",\n\t\"--kui-color-primary-fixed\": \"#eaddff\",\n\t\"--kui-color-primary-fixed-dim\": \"#d0bcff\",\n\t\"--kui-color-scrim\": \"#000000\",\n\t\"--kui-color-secondary\": \"#ccc2dc\",\n\t\"--kui-color-secondary-container\": \"#4a4458\",\n\t\"--kui-color-secondary-fixed\": \"#e8def8\",\n\t\"--kui-color-secondary-fixed-dim\": \"#ccc2dc\",\n\t\"--kui-color-shadow\": \"#000000\",\n\t\"--kui-color-surface\": \"#141218\",\n\t\"--kui-color-surface-bright\": \"#3b383e\",\n\t\"--kui-color-surface-container\": \"#211f26\",\n\t\"--kui-color-surface-container-high\": \"#2b2930\",\n\t\"--kui-color-surface-container-highest\": \"#36343b\",\n\t\"--kui-color-surface-container-low\": \"#1d1b20\",\n\t\"--kui-color-surface-container-lowest\": \"#0f0d13\",\n\t\"--kui-color-surface-dim\": \"#141218\",\n\t\"--kui-color-surface-tint\": \"#d0bcff\",\n\t\"--kui-color-surface-variant\": \"#49454f\",\n\t\"--kui-color-tertiary\": \"#efb8c8\",\n\t\"--kui-color-tertiary-container\": \"#633b48\",\n\t\"--kui-color-tertiary-fixed\": \"#ffd8e4\",\n\t\"--kui-color-tertiary-fixed-dim\": \"#efb8c8\",\n\t\"--kui-motion-duration-long1\": \"450ms\",\n\t\"--kui-motion-duration-long2\": \"500ms\",\n\t\"--kui-motion-duration-long3\": \"600ms\",\n\t\"--kui-motion-duration-medium1\": \"250ms\",\n\t\"--kui-motion-duration-medium2\": \"300ms\",\n\t\"--kui-motion-duration-medium3\": \"350ms\",\n\t\"--kui-motion-duration-short1\": \"100ms\",\n\t\"--kui-motion-duration-short2\": \"150ms\",\n\t\"--kui-motion-duration-short3\": \"200ms\",\n\t\"--kui-motion-easing-emphasized\": \"cubic-bezier(0.2, 0, 0, 1)\",\n\t\"--kui-motion-easing-emphasized-accelerate\": \"cubic-bezier(0.3, 0, 0.8, 0.15)\",\n\t\"--kui-motion-easing-emphasized-decelerate\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\",\n\t\"--kui-motion-easing-spring-fast\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n\t\"--kui-motion-easing-spring-slow\": \"cubic-bezier(0.16, 1, 0.3, 1)\",\n\t\"--kui-motion-easing-standard\": \"cubic-bezier(0.2, 0, 0, 1)\",\n\t\"--kui-radius-circle\": \"9999px\",\n\t\"--kui-radius-lg\": \"16px\",\n\t\"--kui-radius-md\": \"12px\",\n\t\"--kui-radius-none\": \"0px\",\n\t\"--kui-radius-pill\": \"9999px\",\n\t\"--kui-radius-sm\": \"8px\",\n\t\"--kui-radius-xl\": \"28px\",\n\t\"--kui-radius-xs\": \"4px\",\n\t\"--kui-shadow-elevation1\": \"0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)\",\n\t\"--kui-shadow-elevation2\": \"0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15)\",\n\t\"--kui-shadow-elevation3\": \"0px 1px 3px 0px rgba(0, 0, 0, 0.3), 0px 4px 8px 3px rgba(0, 0, 0, 0.15)\",\n\t\"--kui-shadow-elevation4\": \"0px 2px 3px 0px rgba(0, 0, 0, 0.3), 0px 6px 10px 4px rgba(0, 0, 0, 0.15)\",\n\t\"--kui-shadow-elevation5\": \"0px 4px 4px 0px rgba(0, 0, 0, 0.3), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)\",\n\t\"--kui-sizing-control-lg\": \"56px\",\n\t\"--kui-sizing-control-md\": \"48px\",\n\t\"--kui-sizing-control-sm\": \"40px\",\n\t\"--kui-sizing-control-xl\": \"96px\",\n\t\"--kui-sizing-control-xs\": \"32px\",\n\t\"--kui-sizing-control-xxl\": \"136px\",\n\t\"--kui-sizing-row-lg\": \"88px\",\n\t\"--kui-sizing-row-md\": \"72px\",\n\t\"--kui-sizing-row-sm\": \"56px\",\n\t\"--kui-sizing-row-xs\": \"48px\",\n\t\"--kui-spacing-lg\": \"16px\",\n\t\"--kui-spacing-md\": \"12px\",\n\t\"--kui-spacing-sm\": \"8px\",\n\t\"--kui-spacing-xl\": \"24px\",\n\t\"--kui-spacing-xs\": \"4px\",\n\t\"--kui-spacing-xxl\": \"32px\",\n\t\"--kui-spacing-xxs\": \"2px\",\n\t\"--kui-spacing-xxxl\": \"40px\",\n\t\"--kui-state-layer-opacity-disabled-container\": \"0.12\",\n\t\"--kui-state-layer-opacity-disabled-content\": \"0.38\",\n\t\"--kui-state-layer-opacity-dragged\": \"0.16\",\n\t\"--kui-state-layer-opacity-focus\": \"0.1\",\n\t\"--kui-state-layer-opacity-hover\": \"0.08\",\n\t\"--kui-state-layer-opacity-pressed\": \"0.1\",\n\t\"--kui-typography-body-large-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-body-large-line-height\": \"24px\",\n\t\"--kui-typography-body-large-size\": \"16px\",\n\t\"--kui-typography-body-large-tracking\": \"0.5px\",\n\t\"--kui-typography-body-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-body-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-body-medium-line-height\": \"20px\",\n\t\"--kui-typography-body-medium-size\": \"14px\",\n\t\"--kui-typography-body-medium-tracking\": \"0.25px\",\n\t\"--kui-typography-body-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-body-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-body-small-line-height\": \"16px\",\n\t\"--kui-typography-body-small-size\": \"12px\",\n\t\"--kui-typography-body-small-tracking\": \"0.4px\",\n\t\"--kui-typography-body-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-display-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-display-large-line-height\": \"64px\",\n\t\"--kui-typography-display-large-size\": \"57px\",\n\t\"--kui-typography-display-large-tracking\": \"-0.25px\",\n\t\"--kui-typography-display-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-display-medium-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-display-medium-line-height\": \"52px\",\n\t\"--kui-typography-display-medium-size\": \"45px\",\n\t\"--kui-typography-display-medium-tracking\": \"0px\",\n\t\"--kui-typography-display-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-display-small-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-display-small-line-height\": \"44px\",\n\t\"--kui-typography-display-small-size\": \"36px\",\n\t\"--kui-typography-display-small-tracking\": \"0px\",\n\t\"--kui-typography-display-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-font-family-brand\": \"'Roboto Serif', 'Iowan Old Style', Georgia, serif\",\n\t\"--kui-typography-font-family-mono\": \"'Roboto Mono', ui-monospace, 'SF Mono', Menlo, monospace\",\n\t\"--kui-typography-font-family-plain\": \"'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif\",\n\t\"--kui-typography-headline-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-headline-large-line-height\": \"40px\",\n\t\"--kui-typography-headline-large-size\": \"32px\",\n\t\"--kui-typography-headline-large-tracking\": \"0px\",\n\t\"--kui-typography-headline-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-headline-medium-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-headline-medium-line-height\": \"36px\",\n\t\"--kui-typography-headline-medium-size\": \"28px\",\n\t\"--kui-typography-headline-medium-tracking\": \"0px\",\n\t\"--kui-typography-headline-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-headline-small-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-headline-small-line-height\": \"32px\",\n\t\"--kui-typography-headline-small-size\": \"24px\",\n\t\"--kui-typography-headline-small-tracking\": \"0px\",\n\t\"--kui-typography-headline-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-label-large-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-label-large-line-height\": \"20px\",\n\t\"--kui-typography-label-large-size\": \"14px\",\n\t\"--kui-typography-label-large-tracking\": \"0.1px\",\n\t\"--kui-typography-label-large-weight\": \"var(--kui-typography-weight-medium, 500)\",\n\t\"--kui-typography-label-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-label-medium-line-height\": \"16px\",\n\t\"--kui-typography-label-medium-size\": \"12px\",\n\t\"--kui-typography-label-medium-tracking\": \"0.5px\",\n\t\"--kui-typography-label-medium-weight\": \"var(--kui-typography-weight-medium, 500)\",\n\t\"--kui-typography-label-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-label-small-line-height\": \"16px\",\n\t\"--kui-typography-label-small-size\": \"11px\",\n\t\"--kui-typography-label-small-tracking\": \"0.5px\",\n\t\"--kui-typography-label-small-weight\": \"var(--kui-typography-weight-medium, 500)\",\n\t\"--kui-typography-title-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n\t\"--kui-typography-title-large-line-height\": \"28px\",\n\t\"--kui-typography-title-large-size\": \"22px\",\n\t\"--kui-typography-title-large-tracking\": \"0px\",\n\t\"--kui-typography-title-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n\t\"--kui-typography-title-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-title-medium-line-height\": \"24px\",\n\t\"--kui-typography-title-medium-size\": \"16px\",\n\t\"--kui-typography-title-medium-tracking\": \"0.15px\",\n\t\"--kui-typography-title-medium-weight\": \"var(--kui-typography-weight-medium, 500)\",\n\t\"--kui-typography-title-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n\t\"--kui-typography-title-small-line-height\": \"20px\",\n\t\"--kui-typography-title-small-size\": \"14px\",\n\t\"--kui-typography-title-small-tracking\": \"0.1px\",\n\t\"--kui-typography-title-small-weight\": \"var(--kui-typography-weight-medium, 500)\",\n\t\"--kui-typography-weight-bold\": \"700\",\n\t\"--kui-typography-weight-medium\": \"500\",\n\t\"--kui-typography-weight-regular\": \"400\"\n};\n/**\n* The lower bound of each window size class, in px on the web and dp on\n* native, smallest first. A media query cannot read a custom property, so\n* neither library offers these as one to override, and `tokens.css` leaves\n* them out.\n*/\nconst breakpoints = {\n\tcompact: 0,\n\tmedium: 600,\n\texpanded: 840,\n\tlarge: 1200,\n\textraLarge: 1600\n};\nexport { breakpoints, dark, light };\n\n//# sourceMappingURL=index.js.map"],"ignoreList":[0],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","names":["Attempt","Settled","reason","Easing","x1","y1","x2","y2","Group","ResolvedGroups","Groups","key","G","Kind","colors","Readonly","Record","motion","radii","shadows","sizing","spacing","stateLayerOpacity","typography","raw","value","Value","ThemeProblem","property","ThemeProperties","Partial","CATEGORIES","EASING_KEYWORDS","ease","linear","FONT_WEIGHT_KEYWORDS","bold","normal","UNSUPPORTED_FUNCTION","NUMBER","String","camelCase","kebab","replaceAll","_","letter","toUpperCase","classify","group","kind","startsWith","undefined","name","slice","length","match","find","category","rest","kindOf","closingParenthesis","from","depth","index","typographyKindOf","parseColor","drawable","test","parseDuration","exec","duration","Number","parseEasing","keyword","points","split","map","point","trim","every","RegExp","x","parseFontFamily","families","splitTopLevel","family","replace","includes","parseFontWeight","weight","parseLength","parseOpacity","opacity","Math","min","max","parseShadow","parts","quote","start","character","push","endsWith","measured","some","suffix","PARSERS","color","easing","fontFamily","fontWeight","shadow","declarations","properties","Map","Object","entries","filter","entry","resolveTheme","defaults","overrides","problems","theme","declared","replaced","settled","settling","cyclic","Set","substitute","indexOf","end","fallback","join","referenced","has","settle","replacement","evaluate","unsupported","read","parsed","attempt","result","known","get","classified","member","add","pop","set","assign"],"sources":["../../src/theme/resolve.ts"],"sourcesContent":["type Attempt = Settled | { readonly reason: string }\n\n/** A cubic Bézier curve's control points, as `cubic-bezier()` lists them. */\ntype Easing = readonly [x1: number, y1: number, x2: number, y2: number]\n\ntype Group = keyof ResolvedGroups\n\n// The resolved theme with its groups writable, for the resolver to fill in.\ntype Groups = {\n -readonly [G in Group]: { [key: string]: ResolvedGroups[G][string] }\n}\n\ntype Kind =\n | 'color'\n | 'duration'\n | 'easing'\n | 'fontFamily'\n | 'fontWeight'\n | 'length'\n | 'opacity'\n | 'shadow'\n\n/**\n * The tokens in the values React Native styles take, grouped and keyed as the\n * web library's StyleX tokens are: `--kui-color-primary` is `colors.primary`\n * and `--kui-typography-body-large-size` is `typography.bodyLargeSize`. Any\n * set of properties resolves to this shape; `ResolvedTheme` in ./scope.ts is\n * the same groups with the keys the library's own tokens give them.\n */\ntype ResolvedGroups = {\n readonly colors: Readonly<Record<string, string>>\n readonly motion: Readonly<Record<string, Easing | number>>\n readonly radii: Readonly<Record<string, number>>\n readonly shadows: Readonly<Record<string, string>>\n readonly sizing: Readonly<Record<string, number>>\n readonly spacing: Readonly<Record<string, number>>\n readonly stateLayerOpacity: Readonly<Record<string, number>>\n readonly typography: Readonly<Record<string, number | readonly string[]>>\n}\n\ntype Settled = { readonly raw: string; readonly value: Value }\n\n/** A property whose value could not be used, and why. */\ntype ThemeProblem = {\n readonly property: string\n readonly reason: string\n readonly value: string\n}\n\n/**\n * A set of `--kui-*` custom properties and their values, written in CSS syntax\n * exactly as kanso-ui's `tokens.css` declares them, so one theme serves both\n * libraries.\n */\ntype ThemeProperties = Readonly<Partial<Record<`--kui-${string}`, string>>>\n\ntype Value = Easing | number | readonly string[] | string\n\n// The segment each group takes in a property's name, as kanso-ui's\n// build-tokens.mjs writes it: singular where the group's own name is plural.\nconst CATEGORIES: readonly (readonly [string, Group])[] = [\n ['color', 'colors'],\n ['motion', 'motion'],\n ['radius', 'radii'],\n ['shadow', 'shadows'],\n ['sizing', 'sizing'],\n ['spacing', 'spacing'],\n ['state-layer-opacity', 'stateLayerOpacity'],\n ['typography', 'typography'],\n]\n\n// The CSS keywords a timing function may be written as, as the curves the\n// CSS Easing specification defines them to be.\nconst EASING_KEYWORDS: Readonly<Partial<Record<string, Easing>>> = {\n ease: [0.25, 0.1, 0.25, 1],\n 'ease-in': [0.42, 0, 1, 1],\n 'ease-in-out': [0.42, 0, 0.58, 1],\n 'ease-out': [0, 0, 0.58, 1],\n linear: [0, 0, 1, 1],\n}\n\nconst FONT_WEIGHT_KEYWORDS: Readonly<Partial<Record<string, number>>> = {\n bold: 700,\n normal: 400,\n}\n\n// Functions a browser evaluates and React Native does not. `var()` is the one\n// CSS function the resolver evaluates itself, so it is not among them.\nconst UNSUPPORTED_FUNCTION =\n /\\b(attr|calc|clamp|color-mix|env|light-dark|max|min)\\(/u\n\nconst NUMBER = String.raw`-?(?:\\d+\\.?\\d*|\\.\\d+)`\n\nfunction camelCase(kebab: string): string {\n return kebab.replaceAll(/-([a-z0-9])/gu, (_, letter: string) =>\n letter.toUpperCase(),\n )\n}\n\n/** The group a property belongs to, the key it takes there, and its kind. */\nfunction classify(\n property: string,\n): undefined | { group: Group; key: string; kind: Kind } {\n if (!property.startsWith('--kui-')) {\n return undefined\n }\n\n const name = property.slice('--kui-'.length)\n const match = CATEGORIES.find(([category]) => name.startsWith(`${category}-`))\n\n if (match === undefined) {\n return undefined\n }\n\n const [category, group] = match\n const rest = name.slice(category.length + 1)\n const kind = kindOf(category, rest)\n\n return kind === undefined ? undefined : { group, key: camelCase(rest), kind }\n}\n\n/** The index of the parenthesis closing the one just before `from`. */\nfunction closingParenthesis(value: string, from: number): number {\n let depth = 1\n\n for (let index = from; index < value.length; index++) {\n if (value[index] === '(') {\n depth++\n } else if (value[index] === ')') {\n depth--\n\n if (depth === 0) {\n return index\n }\n }\n }\n\n return -1\n}\n\nfunction kindOf(category: string, rest: string): Kind | undefined {\n switch (category) {\n case 'color': {\n return 'color'\n }\n case 'motion': {\n if (rest.startsWith('duration-')) {\n return 'duration'\n }\n\n return rest.startsWith('easing-') ? 'easing' : undefined\n }\n case 'radius':\n case 'sizing':\n case 'spacing': {\n return 'length'\n }\n case 'shadow': {\n return 'shadow'\n }\n case 'state-layer-opacity': {\n return 'opacity'\n }\n default: {\n return typographyKindOf(rest)\n }\n }\n}\n\nfunction parseColor(value: string): string | undefined {\n const drawable =\n /^#([\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$/iu.test(value) ||\n /^(rgba?|hsla?|hwb)\\([^()]*\\)$/iu.test(value) ||\n /^[a-z]+$/iu.test(value)\n\n return drawable ? value : undefined\n}\n\nfunction parseDuration(value: string): number | undefined {\n const match = /^(\\d+\\.?\\d*|\\.\\d+)(ms|s)$/u.exec(value)\n\n if (match === null) {\n return undefined\n }\n\n const duration = Number(match[1])\n\n return match[2] === 's' ? duration * 1000 : duration\n}\n\nfunction parseEasing(value: string): Easing | undefined {\n const keyword = EASING_KEYWORDS[value]\n\n if (keyword !== undefined) {\n return keyword\n }\n\n const match = /^cubic-bezier\\(([^()]*)\\)$/u.exec(value)\n\n if (match === null) {\n return undefined\n }\n\n const points = match[1].split(',').map((point) => point.trim())\n\n if (\n points.length !== 4 ||\n !points.every((point) => new RegExp(`^${NUMBER}$`, 'u').test(point))\n ) {\n return undefined\n }\n\n const [x1, y1, x2, y2] = points.map(Number)\n\n // The curve has to stay a function of time, which is what holds both x\n // coordinates inside the unit interval.\n return [x1, x2].every((x) => x >= 0 && x <= 1) ? [x1, y1, x2, y2] : undefined\n}\n\nfunction parseFontFamily(value: string): readonly string[] | undefined {\n const families = splitTopLevel(value).map((family) =>\n family.trim().replace(/^([\"'])(.*)\\1$/u, '$2'),\n )\n\n return families.every((family) => family !== '' && !family.includes('('))\n ? families\n : undefined\n}\n\nfunction parseFontWeight(value: string): number | undefined {\n const keyword = FONT_WEIGHT_KEYWORDS[value]\n\n if (keyword !== undefined) {\n return keyword\n }\n\n if (!/^\\d+(\\.\\d+)?$/u.test(value)) {\n return undefined\n }\n\n const weight = Number(value)\n\n return weight >= 1 && weight <= 1000 ? weight : undefined\n}\n\nfunction parseLength(value: string): number | undefined {\n const match = new RegExp(`^(${NUMBER})(px)?$`, 'u').exec(value)\n\n if (match === null) {\n return undefined\n }\n\n const length = Number(match[1])\n\n // CSS takes a bare number as a length only when it is zero.\n return match[2] !== 'px' && length !== 0 ? undefined : length\n}\n\nfunction parseOpacity(value: string): number | undefined {\n const match = new RegExp(`^(${NUMBER})(%)?$`, 'u').exec(value)\n\n if (match === null) {\n return undefined\n }\n\n const opacity = Number(match[1]) / (match[2] === '%' ? 100 : 1)\n\n // CSS clamps an opacity to the unit interval rather than rejecting it.\n return Math.min(Math.max(opacity, 0), 1)\n}\n\nfunction parseShadow(value: string): string | undefined {\n return value === '' ? undefined : value\n}\n\n/** Splits a value at its top-level commas, leaving any inside parentheses. */\nfunction splitTopLevel(value: string): string[] {\n const parts: string[] = []\n let depth = 0\n let quote: string | undefined\n let start = 0\n\n for (let index = 0; index < value.length; index++) {\n const character = value[index]\n\n if (quote !== undefined) {\n quote = character === quote ? undefined : quote\n } else if (character === '\"' || character === \"'\") {\n quote = character\n } else if (character === '(') {\n depth++\n } else if (character === ')') {\n depth--\n } else if (character === ',' && depth === 0) {\n parts.push(value.slice(start, index))\n start = index + 1\n }\n }\n\n parts.push(value.slice(start))\n\n return parts\n}\n\nfunction typographyKindOf(rest: string): Kind | undefined {\n if (rest.startsWith('font-family-') || rest.endsWith('-font')) {\n return 'fontFamily'\n }\n\n if (rest.startsWith('weight-') || rest.endsWith('-weight')) {\n return 'fontWeight'\n }\n\n const measured = ['-line-height', '-size', '-tracking'].some((suffix) =>\n rest.endsWith(suffix),\n )\n\n return measured ? 'length' : undefined\n}\n\n// How each kind of value is read, and what a value that cannot be read is\n// reported as.\nconst PARSERS: Readonly<\n Record<Kind, readonly [(value: string) => undefined | Value, string]>\n> = {\n color: [parseColor, 'is not a colour React Native can draw'],\n duration: [parseDuration, 'is not a duration in ms or s'],\n easing: [parseEasing, 'is not a cubic-bezier() curve or an easing keyword'],\n fontFamily: [parseFontFamily, 'is not a font family list'],\n fontWeight: [parseFontWeight, 'is not a font weight from 1 to 1000'],\n length: [parseLength, 'is not a length in px'],\n opacity: [parseOpacity, 'is not a number or a percentage'],\n shadow: [parseShadow, 'is empty'],\n}\n\n/** The properties a theme declares, leaving out any it lists as undefined. */\nfunction declarations(properties: ThemeProperties): Map<string, string> {\n return new Map(\n Object.entries(properties).filter(\n (entry): entry is [string, string] => entry[1] !== undefined,\n ),\n )\n}\n\n/**\n * Turns a theme in CSS syntax into the values React Native styles take.\n *\n * `defaults` is the whole contract, and `overrides` replace any of it, as a\n * consumer's declarations replace the library's on web. A `var()` reference\n * resolves against both, with its fallback where the property it names has no\n * usable value, so a role pointing at a family or a weight follows an override\n * of that family or weight as it does in a browser.\n *\n * A value native cannot use, such as a `calc()` or a `color-mix()`, leaves its\n * property at the default instead of dropping it, and a property the defaults\n * do not declare is ignored. Each is listed in `problems` by name, for the\n * caller to report.\n */\nfunction resolveTheme(\n defaults: ThemeProperties,\n overrides: ThemeProperties = {},\n): { problems: readonly ThemeProblem[]; theme: ResolvedGroups } {\n const declared = declarations(defaults)\n const replaced = declarations(overrides)\n const problems: ThemeProblem[] = []\n const settled = new Map<string, null | Settled>()\n const settling: string[] = []\n const cyclic = new Set<string>()\n\n function substitute(value: string): string | { reason: string } {\n const start = value.indexOf('var(')\n\n if (start === -1) {\n return value\n }\n\n const end = closingParenthesis(value, start + 'var('.length)\n\n if (end === -1) {\n return { reason: 'has a var() that is never closed' }\n }\n\n const [name, ...rest] = splitTopLevel(\n value.slice(start + 'var('.length, end),\n )\n const property = name.trim()\n const fallback = rest.length === 0 ? undefined : rest.join(',').trim()\n const referenced = declared.has(property) ? settle(property) : null\n\n let replacement: string | { reason: string }\n\n if (referenced !== null) {\n replacement = referenced.raw\n } else if (fallback === undefined) {\n replacement = {\n reason: `refers to ${property}, which has no usable value`,\n }\n } else {\n replacement = substitute(fallback)\n }\n\n if (typeof replacement !== 'string') {\n return replacement\n }\n\n return substitute(\n `${value.slice(0, start)}${replacement}${value.slice(end + 1)}`,\n )\n }\n\n function evaluate(kind: Kind, value: string): Attempt {\n const raw = substitute(value.trim())\n\n if (typeof raw !== 'string') {\n return raw\n }\n\n const unsupported = UNSUPPORTED_FUNCTION.exec(raw)\n\n if (unsupported !== null) {\n return {\n reason: `uses ${unsupported[1]}(), which native cannot evaluate`,\n }\n }\n\n const [read, reason] = PARSERS[kind]\n const parsed = read(raw)\n\n return parsed === undefined ? { reason } : { raw, value: parsed }\n }\n\n /** Evaluates one declaration, listing it as a problem if it fails. */\n function attempt(\n property: string,\n kind: Kind,\n value: string | undefined,\n ): null | Settled {\n if (value === undefined) {\n return null\n }\n\n const result = evaluate(kind, value)\n\n if ('reason' in result) {\n problems.push({ property, reason: result.reason, value })\n\n return null\n }\n\n return result\n }\n\n function settle(property: string): null | Settled {\n const known = settled.get(property)\n\n if (known !== undefined) {\n return known\n }\n\n const classified = classify(property)\n\n if (classified === undefined) {\n return null\n }\n\n // A reference leading back to a property still being settled closes a\n // cycle, and every property on it is invalid, as in CSS. The defaults\n // hold no cycle, so the members fall back to theirs.\n const index = settling.indexOf(property)\n\n if (index !== -1) {\n for (const member of settling.slice(index)) {\n cyclic.add(member)\n }\n\n return null\n }\n\n settling.push(property)\n\n const value = replaced.get(property)\n let result = attempt(property, classified.kind, value)\n\n if (result !== null && value !== undefined && cyclic.has(property)) {\n problems.push({\n property,\n reason: 'refers back to itself through var()',\n value,\n })\n result = null\n }\n\n result ??= attempt(property, classified.kind, declared.get(property))\n\n settling.pop()\n settled.set(property, result)\n\n return result\n }\n\n const theme: Groups = {\n colors: {},\n motion: {},\n radii: {},\n shadows: {},\n sizing: {},\n spacing: {},\n stateLayerOpacity: {},\n typography: {},\n }\n\n for (const [property, value] of declared) {\n const classified = classify(property)\n\n if (classified === undefined) {\n problems.push({ property, reason: 'is not a Kanso UI token', value })\n\n continue\n }\n\n const result = settle(property)\n\n // classify() pairs every group with the kinds whose values it holds, which\n // is the one thing the type of a group's record cannot see.\n if (result !== null) {\n Object.assign(theme[classified.group], { [classified.key]: result.value })\n }\n }\n\n for (const [property, value] of replaced) {\n if (!declared.has(property)) {\n problems.push({ property, reason: 'is not a Kanso UI token', value })\n }\n }\n\n return { problems, theme }\n}\n\nexport type { Easing, ResolvedGroups, ThemeProblem, ThemeProperties }\nexport { parseLength, resolveTheme }\n"],"mappings":";AA4DA,MAAM+B,aAAoD;CACxD,CAAC,SAAS,QAAQ;CAClB,CAAC,UAAU,QAAQ;CACnB,CAAC,UAAU,OAAO;CAClB,CAAC,UAAU,SAAS;CACpB,CAAC,UAAU,QAAQ;CACnB,CAAC,WAAW,SAAS;CACrB,CAAC,uBAAuB,mBAAmB;CAC3C,CAAC,cAAc,YAAY;AAAC;AAK9B,MAAMC,kBAA6D;CACjEC,MAAM;EAAC;EAAM;EAAK;EAAM;CAAC;CACzB,WAAW;EAAC;EAAM;EAAG;EAAG;CAAC;CACzB,eAAe;EAAC;EAAM;EAAG;EAAM;CAAC;CAChC,YAAY;EAAC;EAAG;EAAG;EAAM;CAAC;CAC1BC,QAAQ;EAAC;EAAG;EAAG;EAAG;CAAC;AACrB;AAEA,MAAMC,uBAAkE;CACtEC,MAAM;CACNC,QAAQ;AACV;AAIA,MAAMC,uBACJ;AAEF,MAAMC,SAASC,OAAOhB,GAAG;AAEzB,SAASiB,UAAUC,OAAuB;CACxC,OAAOA,MAAMC,WAAW,kBAAkBC,GAAGC,WAC3CA,OAAOC,YAAY,CACrB;AACF;;AAGA,SAASC,SACPnB,UACuD;CACvD,IAAI,CAACA,SAASsB,WAAW,QAAQ,GAC/B;CAGF,MAAME,OAAOxB,SAASyB,MAAM,CAAe;CAC3C,MAAME,QAAQxB,WAAWyB,MAAM,CAACC,cAAcL,KAAKF,WAAW,GAAGO,SAAQ,EAAG,CAAC;CAE7E,IAAIF,UAAUJ,KAAAA,GACZ;CAGF,MAAM,CAACM,UAAUT,SAASO;CAC1B,MAAMG,OAAON,KAAKC,MAAMI,SAASH,SAAS,CAAC;CAC3C,MAAML,OAAOU,OAAOF,UAAUC,IAAI;CAElC,OAAOT,SAASE,KAAAA,IAAYA,KAAAA,IAAY;EAAEH;EAAOrC,KAAK8B,UAAUiB,IAAI;EAAGT;CAAK;AAC9E;;AAGA,SAASW,mBAAmBnC,OAAeoC,MAAsB;CAC/D,IAAIC,QAAQ;CAEZ,KAAK,IAAIC,QAAQF,MAAME,QAAQtC,MAAM6B,QAAQS,SAC3C,IAAItC,MAAMsC,WAAW,KACnBD;MACK,IAAIrC,MAAMsC,WAAW,KAAK;EAC/BD;EAEA,IAAIA,UAAU,GACZ,OAAOC;CAEX;CAGF,OAAO;AACT;AAEA,SAASJ,OAAOF,UAAkBC,MAAgC;CAChE,QAAQD,UAAR;EACE,KAAK,SACH,OAAO;EAET,KAAK;GACH,IAAIC,KAAKR,WAAW,WAAW,GAC7B,OAAO;GAGT,OAAOQ,KAAKR,WAAW,SAAS,IAAI,WAAWC,KAAAA;EAEjD,KAAK;EACL,KAAK;EACL,KAAK,WACH,OAAO;EAET,KAAK,UACH,OAAO;EAET,KAAK,uBACH,OAAO;EAET,SACE,OAAOa,iBAAiBN,IAAI;CAEhC;AACF;AAEA,SAASO,WAAWxC,OAAmC;CAMrD,OAJE,4CAA4C0C,KAAK1C,KAAK,KACtD,kCAAkC0C,KAAK1C,KAAK,KAC5C,aAAa0C,KAAK1C,KAAK,IAEPA,QAAQ0B,KAAAA;AAC5B;AAEA,SAASiB,cAAc3C,OAAmC;CACxD,MAAM8B,QAAQ,6BAA6Bc,KAAK5C,KAAK;CAErD,IAAI8B,UAAU,MACZ;CAGF,MAAMe,WAAWC,OAAOhB,MAAM,EAAE;CAEhC,OAAOA,MAAM,OAAO,MAAMe,WAAW,MAAOA;AAC9C;AAEA,SAASE,YAAY/C,OAAmC;CACtD,MAAMgD,UAAUzC,gBAAgBP;CAEhC,IAAIgD,YAAYtB,KAAAA,GACd,OAAOsB;CAGT,MAAMlB,QAAQ,8BAA8Bc,KAAK5C,KAAK;CAEtD,IAAI8B,UAAU,MACZ;CAGF,MAAMmB,SAASnB,MAAM,EAAE,CAACoB,MAAM,GAAG,CAAC,CAACC,KAAKC,UAAUA,MAAMC,KAAK,CAAC;CAE9D,IACEJ,OAAOpB,WAAW,KAClB,CAACoB,OAAOK,OAAOF,UAAU,IAAIG,OAAO,IAAIzC,OAAM,IAAK,GAAG,CAAC,CAAC4B,KAAKU,KAAK,CAAC,GAEnE;CAGF,MAAM,CAACzE,IAAIC,IAAIC,IAAIC,MAAMmE,OAAOE,IAAIL,MAAM;CAI1C,OAAO,CAACnE,IAAIE,EAAE,CAAC,CAACyE,OAAOE,MAAMA,KAAK,KAAKA,KAAK,CAAC,IAAI;EAAC7E;EAAIC;EAAIC;EAAIC;CAAE,IAAI4C,KAAAA;AACtE;AAEA,SAAS+B,gBAAgBzD,OAA8C;CACrE,MAAM0D,WAAWC,cAAc3D,KAAK,CAAC,CAACmD,KAAKS,WACzCA,OAAOP,KAAK,CAAC,CAACQ,QAAQ,mBAAmB,IAAI,CAC/C;CAEA,OAAOH,SAASJ,OAAOM,WAAWA,WAAW,MAAM,CAACA,OAAOE,SAAS,GAAG,CAAC,IACpEJ,WACAhC,KAAAA;AACN;AAEA,SAASqC,gBAAgB/D,OAAmC;CAC1D,MAAMgD,UAAUtC,qBAAqBV;CAErC,IAAIgD,YAAYtB,KAAAA,GACd,OAAOsB;CAGT,IAAI,CAAC,iBAAiBN,KAAK1C,KAAK,GAC9B;CAGF,MAAMgE,SAASlB,OAAO9C,KAAK;CAE3B,OAAOgE,UAAU,KAAKA,UAAU,MAAOA,SAAStC,KAAAA;AAClD;AAEA,SAASuC,YAAYjE,OAAmC;CACtD,MAAM8B,QAAQ,IAAIyB,OAAO,KAAKzC,OAAM,UAAW,GAAG,CAAC,CAAC8B,KAAK5C,KAAK;CAE9D,IAAI8B,UAAU,MACZ;CAGF,MAAMD,SAASiB,OAAOhB,MAAM,EAAE;CAG9B,OAAOA,MAAM,OAAO,QAAQD,WAAW,IAAIH,KAAAA,IAAYG;AACzD;AAEA,SAASqC,aAAalE,OAAmC;CACvD,MAAM8B,QAAQ,IAAIyB,OAAO,KAAKzC,OAAM,SAAU,GAAG,CAAC,CAAC8B,KAAK5C,KAAK;CAE7D,IAAI8B,UAAU,MACZ;CAGF,MAAMqC,UAAUrB,OAAOhB,MAAM,EAAE,KAAKA,MAAM,OAAO,MAAM,MAAM;CAG7D,OAAOsC,KAAKC,IAAID,KAAKE,IAAIH,SAAS,CAAC,GAAG,CAAC;AACzC;AAEA,SAASI,YAAYvE,OAAmC;CACtD,OAAOA,UAAU,KAAK0B,KAAAA,IAAY1B;AACpC;;AAGA,SAAS2D,cAAc3D,OAAyB;CAC9C,MAAMwE,QAAkB,CAAA;CACxB,IAAInC,QAAQ;CACZ,IAAIoC;CACJ,IAAIC,QAAQ;CAEZ,KAAK,IAAIpC,QAAQ,GAAGA,QAAQtC,MAAM6B,QAAQS,SAAS;EACjD,MAAMqC,YAAY3E,MAAMsC;EAExB,IAAImC,UAAU/C,KAAAA,GACZ+C,QAAQE,cAAcF,QAAQ/C,KAAAA,IAAY+C;OACrC,IAAIE,cAAc,QAAOA,cAAc,KAC5CF,QAAQE;OACH,IAAIA,cAAc,KACvBtC;OACK,IAAIsC,cAAc,KACvBtC;OACK,IAAIsC,cAAc,OAAOtC,UAAU,GAAG;GAC3CmC,MAAMI,KAAK5E,MAAM4B,MAAM8C,OAAOpC,KAAK,CAAC;GACpCoC,QAAQpC,QAAQ;EAClB;CACF;CAEAkC,MAAMI,KAAK5E,MAAM4B,MAAM8C,KAAK,CAAC;CAE7B,OAAOF;AACT;AAEA,SAASjC,iBAAiBN,MAAgC;CACxD,IAAIA,KAAKR,WAAW,cAAc,KAAKQ,KAAK4C,SAAS,OAAO,GAC1D,OAAO;CAGT,IAAI5C,KAAKR,WAAW,SAAS,KAAKQ,KAAK4C,SAAS,SAAS,GACvD,OAAO;CAOT,OAJiB;EAAC;EAAgB;EAAS;CAAW,CAAC,CAACE,MAAMC,WAC5D/C,KAAK4C,SAASG,MAAM,CAGfF,IAAW,WAAWpD,KAAAA;AAC/B;AAIA,MAAMuD,UAEF;CACFC,OAAO,CAAC1C,YAAY,uCAAuC;CAC3DK,UAAU,CAACF,eAAe,8BAA8B;CACxDwC,QAAQ,CAACpC,aAAa,oDAAoD;CAC1EqC,YAAY,CAAC3B,iBAAiB,2BAA2B;CACzD4B,YAAY,CAACtB,iBAAiB,qCAAqC;CACnElC,QAAQ,CAACoC,aAAa,uBAAuB;CAC7CE,SAAS,CAACD,cAAc,iCAAiC;CACzDoB,QAAQ,CAACf,aAAa,UAAU;AAClC;;AAGA,SAASgB,aAAaC,YAAkD;CACtE,OAAO,IAAIC,IACTC,OAAOC,QAAQH,UAAU,CAAC,CAACI,QACxBC,UAAqCA,MAAM,OAAOnE,KAAAA,CACrD,CACF;AACF;;;;;;;;;;;;;;;AAgBA,SAASoE,aACPC,UACAC,YAA6B,CAAC,GACgC;CAC9D,MAAMG,WAAWZ,aAAaQ,QAAQ;CACtC,MAAMK,WAAWb,aAAaS,SAAS;CACvC,MAAMC,WAA2B,CAAA;CACjC,MAAMI,0BAAU,IAAIZ,IAA4B;CAChD,MAAMa,WAAqB,CAAA;CAC3B,MAAMC,yBAAS,IAAIC,IAAY;CAE/B,SAASC,WAAWzG,OAA4C;EAC9D,MAAM0E,QAAQ1E,MAAM0G,QAAQ,MAAM;EAElC,IAAIhC,UAAU,IACZ,OAAO1E;EAGT,MAAM2G,MAAMxE,mBAAmBnC,OAAO0E,QAAQ,CAAa;EAE3D,IAAIiC,QAAQ,IACV,OAAO,EAAElI,QAAQ,mCAAmC;EAGtD,MAAM,CAACkD,MAAM,GAAGM,QAAQ0B,cACtB3D,MAAM4B,MAAM8C,QAAQ,GAAeiC,GAAG,CACxC;EACA,MAAMxG,WAAWwB,KAAK0B,KAAK;EAC3B,MAAMuD,WAAW3E,KAAKJ,WAAW,IAAIH,KAAAA,IAAYO,KAAK4E,KAAK,GAAG,CAAC,CAACxD,KAAK;EACrE,MAAMyD,aAAaX,SAASY,IAAI5G,QAAQ,IAAI6G,OAAO7G,QAAQ,IAAI;EAE/D,IAAI8G;EAEJ,IAAIH,eAAe,MACjBG,cAAcH,WAAW/G;OACpB,IAAI6G,aAAalF,KAAAA,GACtBuF,cAAc,EACZxI,QAAQ,aAAa0B,SAAQ,6BAC/B;OAEA8G,cAAcR,WAAWG,QAAQ;EAGnC,IAAI,OAAOK,gBAAgB,UACzB,OAAOA;EAGT,OAAOR,WACL,GAAGzG,MAAM4B,MAAM,GAAG8C,KAAK,IAAIuC,cAAcjH,MAAM4B,MAAM+E,MAAM,CAAC,GAC9D;CACF;CAEA,SAASO,SAAS1F,MAAYxB,OAAwB;EACpD,MAAMD,MAAM0G,WAAWzG,MAAMqD,KAAK,CAAC;EAEnC,IAAI,OAAOtD,QAAQ,UACjB,OAAOA;EAGT,MAAMoH,cAActG,qBAAqB+B,KAAK7C,GAAG;EAEjD,IAAIoH,gBAAgB,MAClB,OAAO,EACL1I,QAAQ,QAAQ0I,YAAY,GAAE,kCAChC;EAGF,MAAM,CAACC,MAAM3I,UAAUwG,QAAQzD;EAC/B,MAAM6F,SAASD,KAAKrH,GAAG;EAEvB,OAAOsH,WAAW3F,KAAAA,IAAY,EAAEjD,OAAO,IAAI;GAAEsB;GAAKC,OAAOqH;EAAO;CAClE;;CAGA,SAASC,QACPnH,UACAqB,MACAxB,OACgB;EAChB,IAAIA,UAAU0B,KAAAA,GACZ,OAAO;EAGT,MAAM6F,SAASL,SAAS1F,MAAMxB,KAAK;EAEnC,IAAI,YAAYuH,QAAQ;GACtBtB,SAASrB,KAAK;IAAEzE;IAAU1B,QAAQ8I,OAAO9I;IAAQuB;GAAM,CAAC;GAExD,OAAO;EACT;EAEA,OAAOuH;CACT;CAEA,SAASP,OAAO7G,UAAkC;EAChD,MAAMqH,QAAQnB,QAAQoB,IAAItH,QAAQ;EAElC,IAAIqH,UAAU9F,KAAAA,GACZ,OAAO8F;EAGT,MAAME,aAAapG,SAASnB,QAAQ;EAEpC,IAAIuH,eAAehG,KAAAA,GACjB,OAAO;EAMT,MAAMY,QAAQgE,SAASI,QAAQvG,QAAQ;EAEvC,IAAImC,UAAU,IAAI;GAChB,KAAK,MAAMqF,UAAUrB,SAAS1E,MAAMU,KAAK,GACvCiE,OAAOqB,IAAID,MAAM;GAGnB,OAAO;EACT;EAEArB,SAAS1B,KAAKzE,QAAQ;EAEtB,MAAMH,QAAQoG,SAASqB,IAAItH,QAAQ;EACnC,IAAIoH,SAASD,QAAQnH,UAAUuH,WAAWlG,MAAMxB,KAAK;EAErD,IAAIuH,WAAW,QAAQvH,UAAU0B,KAAAA,KAAa6E,OAAOQ,IAAI5G,QAAQ,GAAG;GAClE8F,SAASrB,KAAK;IACZzE;IACA1B,QAAQ;IACRuB;GACF,CAAC;GACDuH,SAAS;EACX;EAEAA,WAAWD,QAAQnH,UAAUuH,WAAWlG,MAAM2E,SAASsB,IAAItH,QAAQ,CAAC;EAEpEmG,SAASuB,IAAI;EACbxB,QAAQyB,IAAI3H,UAAUoH,MAAM;EAE5B,OAAOA;CACT;CAEA,MAAMrB,QAAgB;EACpB7G,QAAQ,CAAC;EACTG,QAAQ,CAAC;EACTC,OAAO,CAAC;EACRC,SAAS,CAAC;EACVC,QAAQ,CAAC;EACTC,SAAS,CAAC;EACVC,mBAAmB,CAAC;EACpBC,YAAY,CAAC;CACf;CAEA,KAAK,MAAM,CAACK,UAAUH,UAAUmG,UAAU;EACxC,MAAMuB,aAAapG,SAASnB,QAAQ;EAEpC,IAAIuH,eAAehG,KAAAA,GAAW;GAC5BuE,SAASrB,KAAK;IAAEzE;IAAU1B,QAAQ;IAA2BuB;GAAM,CAAC;GAEpE;EACF;EAEA,MAAMuH,SAASP,OAAO7G,QAAQ;EAI9B,IAAIoH,WAAW,MACb7B,OAAOqC,OAAO7B,MAAMwB,WAAWnG,QAAQ,GAAGmG,WAAWxI,MAAMqI,OAAOvH,MAAM,CAAC;CAE7E;CAEA,KAAK,MAAM,CAACG,UAAUH,UAAUoG,UAC9B,IAAI,CAACD,SAASY,IAAI5G,QAAQ,GACxB8F,SAASrB,KAAK;EAAEzE;EAAU1B,QAAQ;EAA2BuB;CAAM,CAAC;CAIxE,OAAO;EAAEiG;EAAUC;CAAM;AAC3B"}
1
+ {"version":3,"file":"resolve.js","names":["Attempt","Settled","reason","Easing","x1","y1","x2","y2","Group","ResolvedGroups","Groups","key","G","Kind","colors","Readonly","Record","motion","radii","shadows","sizing","spacing","stateLayerOpacity","typography","raw","value","Value","ThemeProblem","property","ThemeProperties","Partial","CATEGORIES","EASING_KEYWORDS","ease","linear","FONT_WEIGHT_KEYWORDS","bold","normal","UNSUPPORTED_FUNCTION","NUMBER","String","camelCase","kebab","replaceAll","_","letter","toUpperCase","classify","group","kind","startsWith","undefined","name","slice","length","match","find","category","rest","kindOf","closingParenthesis","from","depth","index","typographyKindOf","parseColor","drawable","test","parseDuration","exec","duration","Number","parseEasing","keyword","points","split","map","point","trim","every","RegExp","x","parseFontFamily","families","splitTopLevel","family","replace","includes","parseFontWeight","weight","parseLength","parseOpacity","opacity","Math","min","max","parseShadow","parts","quote","start","character","push","endsWith","measured","some","suffix","PARSERS","color","easing","fontFamily","fontWeight","shadow","declarations","properties","Map","Object","entries","filter","entry","resolveTheme","defaults","overrides","problems","theme","declared","replaced","settled","settling","cyclic","Set","substitute","indexOf","end","fallback","join","referenced","has","settle","replacement","evaluate","unsupported","read","parsed","attempt","result","known","get","classified","member","add","pop","set","assign"],"sources":["../../src/theme/resolve.ts"],"sourcesContent":["type Attempt = Settled | { readonly reason: string }\n\n/** A cubic Bézier curve's control points, as `cubic-bezier()` lists them. */\ntype Easing = readonly [x1: number, y1: number, x2: number, y2: number]\n\ntype Group = keyof ResolvedGroups\n\n// The resolved theme with its groups writable, for the resolver to fill in.\ntype Groups = {\n -readonly [G in Group]: { [key: string]: ResolvedGroups[G][string] }\n}\n\ntype Kind =\n | 'color'\n | 'duration'\n | 'easing'\n | 'fontFamily'\n | 'fontWeight'\n | 'length'\n | 'opacity'\n | 'shadow'\n\n/**\n * The tokens in the values React Native styles take, grouped and keyed as the\n * web library's StyleX tokens are: `--kui-color-primary` is `colors.primary`\n * and `--kui-typography-body-large-size` is `typography.bodyLargeSize`. Any\n * set of properties resolves to this shape; `ResolvedTheme` in ./scope.ts is\n * the same groups with the keys the library's own tokens give them.\n */\ntype ResolvedGroups = {\n readonly colors: Readonly<Record<string, string>>\n readonly motion: Readonly<Record<string, Easing | number>>\n readonly radii: Readonly<Record<string, number>>\n readonly shadows: Readonly<Record<string, string>>\n readonly sizing: Readonly<Record<string, number>>\n readonly spacing: Readonly<Record<string, number>>\n readonly stateLayerOpacity: Readonly<Record<string, number>>\n readonly typography: Readonly<Record<string, number | readonly string[]>>\n}\n\ntype Settled = { readonly raw: string; readonly value: Value }\n\n/** A property whose value could not be used, and why. */\ntype ThemeProblem = {\n readonly property: string\n readonly reason: string\n readonly value: string\n}\n\n/**\n * A set of `--kui-*` custom properties and their values, written in CSS syntax\n * exactly as kanso-ui's `tokens.css` declares them, so one theme serves both\n * libraries.\n */\ntype ThemeProperties = Readonly<Partial<Record<`--kui-${string}`, string>>>\n\ntype Value = Easing | number | readonly string[] | string\n\n// The segment each group takes in a property's name, as kanso-ui-core's\n// tokens.css writes it: singular where the group's own name is plural.\nconst CATEGORIES: readonly (readonly [string, Group])[] = [\n ['color', 'colors'],\n ['motion', 'motion'],\n ['radius', 'radii'],\n ['shadow', 'shadows'],\n ['sizing', 'sizing'],\n ['spacing', 'spacing'],\n ['state-layer-opacity', 'stateLayerOpacity'],\n ['typography', 'typography'],\n]\n\n// The CSS keywords a timing function may be written as, as the curves the\n// CSS Easing specification defines them to be.\nconst EASING_KEYWORDS: Readonly<Partial<Record<string, Easing>>> = {\n ease: [0.25, 0.1, 0.25, 1],\n 'ease-in': [0.42, 0, 1, 1],\n 'ease-in-out': [0.42, 0, 0.58, 1],\n 'ease-out': [0, 0, 0.58, 1],\n linear: [0, 0, 1, 1],\n}\n\nconst FONT_WEIGHT_KEYWORDS: Readonly<Partial<Record<string, number>>> = {\n bold: 700,\n normal: 400,\n}\n\n// Functions a browser evaluates and React Native does not. `var()` is the one\n// CSS function the resolver evaluates itself, so it is not among them.\nconst UNSUPPORTED_FUNCTION =\n /\\b(attr|calc|clamp|color-mix|env|light-dark|max|min)\\(/u\n\nconst NUMBER = String.raw`-?(?:\\d+\\.?\\d*|\\.\\d+)`\n\nfunction camelCase(kebab: string): string {\n return kebab.replaceAll(/-([a-z0-9])/gu, (_, letter: string) =>\n letter.toUpperCase(),\n )\n}\n\n/** The group a property belongs to, the key it takes there, and its kind. */\nfunction classify(\n property: string,\n): undefined | { group: Group; key: string; kind: Kind } {\n if (!property.startsWith('--kui-')) {\n return undefined\n }\n\n const name = property.slice('--kui-'.length)\n const match = CATEGORIES.find(([category]) => name.startsWith(`${category}-`))\n\n if (match === undefined) {\n return undefined\n }\n\n const [category, group] = match\n const rest = name.slice(category.length + 1)\n const kind = kindOf(category, rest)\n\n return kind === undefined ? undefined : { group, key: camelCase(rest), kind }\n}\n\n/** The index of the parenthesis closing the one just before `from`. */\nfunction closingParenthesis(value: string, from: number): number {\n let depth = 1\n\n for (let index = from; index < value.length; index++) {\n if (value[index] === '(') {\n depth++\n } else if (value[index] === ')') {\n depth--\n\n if (depth === 0) {\n return index\n }\n }\n }\n\n return -1\n}\n\nfunction kindOf(category: string, rest: string): Kind | undefined {\n switch (category) {\n case 'color': {\n return 'color'\n }\n case 'motion': {\n if (rest.startsWith('duration-')) {\n return 'duration'\n }\n\n return rest.startsWith('easing-') ? 'easing' : undefined\n }\n case 'radius':\n case 'sizing':\n case 'spacing': {\n return 'length'\n }\n case 'shadow': {\n return 'shadow'\n }\n case 'state-layer-opacity': {\n return 'opacity'\n }\n default: {\n return typographyKindOf(rest)\n }\n }\n}\n\nfunction parseColor(value: string): string | undefined {\n const drawable =\n /^#([\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$/iu.test(value) ||\n /^(rgba?|hsla?|hwb)\\([^()]*\\)$/iu.test(value) ||\n /^[a-z]+$/iu.test(value)\n\n return drawable ? value : undefined\n}\n\nfunction parseDuration(value: string): number | undefined {\n const match = /^(\\d+\\.?\\d*|\\.\\d+)(ms|s)$/u.exec(value)\n\n if (match === null) {\n return undefined\n }\n\n const duration = Number(match[1])\n\n return match[2] === 's' ? duration * 1000 : duration\n}\n\nfunction parseEasing(value: string): Easing | undefined {\n const keyword = EASING_KEYWORDS[value]\n\n if (keyword !== undefined) {\n return keyword\n }\n\n const match = /^cubic-bezier\\(([^()]*)\\)$/u.exec(value)\n\n if (match === null) {\n return undefined\n }\n\n const points = match[1].split(',').map((point) => point.trim())\n\n if (\n points.length !== 4 ||\n !points.every((point) => new RegExp(`^${NUMBER}$`, 'u').test(point))\n ) {\n return undefined\n }\n\n const [x1, y1, x2, y2] = points.map(Number)\n\n // The curve has to stay a function of time, which is what holds both x\n // coordinates inside the unit interval.\n return [x1, x2].every((x) => x >= 0 && x <= 1) ? [x1, y1, x2, y2] : undefined\n}\n\nfunction parseFontFamily(value: string): readonly string[] | undefined {\n const families = splitTopLevel(value).map((family) =>\n family.trim().replace(/^([\"'])(.*)\\1$/u, '$2'),\n )\n\n return families.every((family) => family !== '' && !family.includes('('))\n ? families\n : undefined\n}\n\nfunction parseFontWeight(value: string): number | undefined {\n const keyword = FONT_WEIGHT_KEYWORDS[value]\n\n if (keyword !== undefined) {\n return keyword\n }\n\n if (!/^\\d+(\\.\\d+)?$/u.test(value)) {\n return undefined\n }\n\n const weight = Number(value)\n\n return weight >= 1 && weight <= 1000 ? weight : undefined\n}\n\nfunction parseLength(value: string): number | undefined {\n const match = new RegExp(`^(${NUMBER})(px)?$`, 'u').exec(value)\n\n if (match === null) {\n return undefined\n }\n\n const length = Number(match[1])\n\n // CSS takes a bare number as a length only when it is zero.\n return match[2] !== 'px' && length !== 0 ? undefined : length\n}\n\nfunction parseOpacity(value: string): number | undefined {\n const match = new RegExp(`^(${NUMBER})(%)?$`, 'u').exec(value)\n\n if (match === null) {\n return undefined\n }\n\n const opacity = Number(match[1]) / (match[2] === '%' ? 100 : 1)\n\n // CSS clamps an opacity to the unit interval rather than rejecting it.\n return Math.min(Math.max(opacity, 0), 1)\n}\n\nfunction parseShadow(value: string): string | undefined {\n return value === '' ? undefined : value\n}\n\n/** Splits a value at its top-level commas, leaving any inside parentheses. */\nfunction splitTopLevel(value: string): string[] {\n const parts: string[] = []\n let depth = 0\n let quote: string | undefined\n let start = 0\n\n for (let index = 0; index < value.length; index++) {\n const character = value[index]\n\n if (quote !== undefined) {\n quote = character === quote ? undefined : quote\n } else if (character === '\"' || character === \"'\") {\n quote = character\n } else if (character === '(') {\n depth++\n } else if (character === ')') {\n depth--\n } else if (character === ',' && depth === 0) {\n parts.push(value.slice(start, index))\n start = index + 1\n }\n }\n\n parts.push(value.slice(start))\n\n return parts\n}\n\nfunction typographyKindOf(rest: string): Kind | undefined {\n if (rest.startsWith('font-family-') || rest.endsWith('-font')) {\n return 'fontFamily'\n }\n\n if (rest.startsWith('weight-') || rest.endsWith('-weight')) {\n return 'fontWeight'\n }\n\n const measured = ['-line-height', '-size', '-tracking'].some((suffix) =>\n rest.endsWith(suffix),\n )\n\n return measured ? 'length' : undefined\n}\n\n// How each kind of value is read, and what a value that cannot be read is\n// reported as.\nconst PARSERS: Readonly<\n Record<Kind, readonly [(value: string) => undefined | Value, string]>\n> = {\n color: [parseColor, 'is not a colour React Native can draw'],\n duration: [parseDuration, 'is not a duration in ms or s'],\n easing: [parseEasing, 'is not a cubic-bezier() curve or an easing keyword'],\n fontFamily: [parseFontFamily, 'is not a font family list'],\n fontWeight: [parseFontWeight, 'is not a font weight from 1 to 1000'],\n length: [parseLength, 'is not a length in px'],\n opacity: [parseOpacity, 'is not a number or a percentage'],\n shadow: [parseShadow, 'is empty'],\n}\n\n/** The properties a theme declares, leaving out any it lists as undefined. */\nfunction declarations(properties: ThemeProperties): Map<string, string> {\n return new Map(\n Object.entries(properties).filter(\n (entry): entry is [string, string] => entry[1] !== undefined,\n ),\n )\n}\n\n/**\n * Turns a theme in CSS syntax into the values React Native styles take.\n *\n * `defaults` is the whole contract, and `overrides` replace any of it, as a\n * consumer's declarations replace the library's on web. A `var()` reference\n * resolves against both, with its fallback where the property it names has no\n * usable value, so a role pointing at a family or a weight follows an override\n * of that family or weight as it does in a browser.\n *\n * A value native cannot use, such as a `calc()` or a `color-mix()`, leaves its\n * property at the default instead of dropping it, and a property the defaults\n * do not declare is ignored. Each is listed in `problems` by name, for the\n * caller to report.\n */\nfunction resolveTheme(\n defaults: ThemeProperties,\n overrides: ThemeProperties = {},\n): { problems: readonly ThemeProblem[]; theme: ResolvedGroups } {\n const declared = declarations(defaults)\n const replaced = declarations(overrides)\n const problems: ThemeProblem[] = []\n const settled = new Map<string, null | Settled>()\n const settling: string[] = []\n const cyclic = new Set<string>()\n\n function substitute(value: string): string | { reason: string } {\n const start = value.indexOf('var(')\n\n if (start === -1) {\n return value\n }\n\n const end = closingParenthesis(value, start + 'var('.length)\n\n if (end === -1) {\n return { reason: 'has a var() that is never closed' }\n }\n\n const [name, ...rest] = splitTopLevel(\n value.slice(start + 'var('.length, end),\n )\n const property = name.trim()\n const fallback = rest.length === 0 ? undefined : rest.join(',').trim()\n const referenced = declared.has(property) ? settle(property) : null\n\n let replacement: string | { reason: string }\n\n if (referenced !== null) {\n replacement = referenced.raw\n } else if (fallback === undefined) {\n replacement = {\n reason: `refers to ${property}, which has no usable value`,\n }\n } else {\n replacement = substitute(fallback)\n }\n\n if (typeof replacement !== 'string') {\n return replacement\n }\n\n return substitute(\n `${value.slice(0, start)}${replacement}${value.slice(end + 1)}`,\n )\n }\n\n function evaluate(kind: Kind, value: string): Attempt {\n const raw = substitute(value.trim())\n\n if (typeof raw !== 'string') {\n return raw\n }\n\n const unsupported = UNSUPPORTED_FUNCTION.exec(raw)\n\n if (unsupported !== null) {\n return {\n reason: `uses ${unsupported[1]}(), which native cannot evaluate`,\n }\n }\n\n const [read, reason] = PARSERS[kind]\n const parsed = read(raw)\n\n return parsed === undefined ? { reason } : { raw, value: parsed }\n }\n\n /** Evaluates one declaration, listing it as a problem if it fails. */\n function attempt(\n property: string,\n kind: Kind,\n value: string | undefined,\n ): null | Settled {\n if (value === undefined) {\n return null\n }\n\n const result = evaluate(kind, value)\n\n if ('reason' in result) {\n problems.push({ property, reason: result.reason, value })\n\n return null\n }\n\n return result\n }\n\n function settle(property: string): null | Settled {\n const known = settled.get(property)\n\n if (known !== undefined) {\n return known\n }\n\n const classified = classify(property)\n\n if (classified === undefined) {\n return null\n }\n\n // A reference leading back to a property still being settled closes a\n // cycle, and every property on it is invalid, as in CSS. The defaults\n // hold no cycle, so the members fall back to theirs.\n const index = settling.indexOf(property)\n\n if (index !== -1) {\n for (const member of settling.slice(index)) {\n cyclic.add(member)\n }\n\n return null\n }\n\n settling.push(property)\n\n const value = replaced.get(property)\n let result = attempt(property, classified.kind, value)\n\n if (result !== null && value !== undefined && cyclic.has(property)) {\n problems.push({\n property,\n reason: 'refers back to itself through var()',\n value,\n })\n result = null\n }\n\n result ??= attempt(property, classified.kind, declared.get(property))\n\n settling.pop()\n settled.set(property, result)\n\n return result\n }\n\n const theme: Groups = {\n colors: {},\n motion: {},\n radii: {},\n shadows: {},\n sizing: {},\n spacing: {},\n stateLayerOpacity: {},\n typography: {},\n }\n\n for (const [property, value] of declared) {\n const classified = classify(property)\n\n if (classified === undefined) {\n problems.push({ property, reason: 'is not a Kanso UI token', value })\n\n continue\n }\n\n const result = settle(property)\n\n // classify() pairs every group with the kinds whose values it holds, which\n // is the one thing the type of a group's record cannot see.\n if (result !== null) {\n Object.assign(theme[classified.group], { [classified.key]: result.value })\n }\n }\n\n for (const [property, value] of replaced) {\n if (!declared.has(property)) {\n problems.push({ property, reason: 'is not a Kanso UI token', value })\n }\n }\n\n return { problems, theme }\n}\n\nexport type { Easing, ResolvedGroups, ThemeProblem, ThemeProperties }\nexport { parseLength, resolveTheme }\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { KuiTheme } from "../tokens/defaults.js";
1
+ import { t as KuiTheme } from "../kanso-ui-core/defaults-DMH0HWCw.js";
2
2
  import { Easing } from "./resolve.js";
3
3
  //#region src/theme/scope.d.ts
4
4
  type CamelCase<Name extends string> = Name extends `${infer Head}-${infer Tail}` ? `${Head}${Capitalize<CamelCase<Tail>>}` : Name;
@@ -1,4 +1,4 @@
1
- import { dark, light } from "../tokens/defaults.js";
1
+ import { dark, light } from "../kanso-ui-core/index.js";
2
2
  import { resolveTheme } from "./resolve.js";
3
3
  import { c } from "react/compiler-runtime";
4
4
  import { useColorScheme } from "react-native";
@@ -1,4 +1,4 @@
1
- import { KuiTheme } from "./tokens/defaults.js";
1
+ import { t as KuiTheme } from "./kanso-ui-core/defaults-DMH0HWCw.js";
2
2
  import { View, ViewProps } from "react-native";
3
3
  import { ComponentRef, Ref } from "react";
4
4
  //#region src/theme-scope.d.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kanso-labs/react-native-kanso-ui",
3
- "version": "0.11.3",
3
+ "version": "0.11.5",
4
4
  "description": "Kanso UI's Material Design components for React Native, themed through the same --kui-* design tokens as the web library",
5
5
  "keywords": [
6
6
  "react-native",
@@ -34,18 +34,17 @@
34
34
  "url": "git+https://github.com/kanso-labs/react-native-kanso-ui.git"
35
35
  },
36
36
  "scripts": {
37
- "build": "npm run tokens:build && tsc -b && tsdown",
37
+ "build": "tsc -b && tsdown",
38
38
  "build-storybook": "storybook build",
39
39
  "format": "oxfmt",
40
40
  "format:check": "oxfmt --check",
41
- "lint": "npm run tokens:build && oxlint --type-aware . && eslint . && npm run format:check",
42
- "package:check": "publint && attw --pack --profile esm-only",
41
+ "lint": "oxlint --type-aware . && eslint . && npm run format:check",
42
+ "package:check": "publint && attw --pack --profile esm-only && node scripts/check-package.mjs",
43
43
  "prepare": "husky || true",
44
44
  "storybook": "storybook dev -p ${PORT:-6006}",
45
- "test": "npm run tokens:build && jest",
46
- "test:coverage": "npm run tokens:build && jest --coverage",
47
- "test:storybook": "vitest run --mode development",
48
- "tokens:build": "node scripts/build-tokens.mjs"
45
+ "test": "jest",
46
+ "test:coverage": "jest --coverage",
47
+ "test:storybook": "vitest run --mode development"
49
48
  },
50
49
  "author": "Kanso Labs <kanso.labs.org@gmail.com>",
51
50
  "dependencies": {
@@ -62,8 +61,7 @@
62
61
  "@commitlint/config-conventional": "21.2.4",
63
62
  "@eslint/js": "10.0.1",
64
63
  "@jest/globals": "29.7.0",
65
- "@kanso-labs/kanso-ui": "0.44.0",
66
- "@kanso-labs/unplugin-style-dictionary": "0.10.36",
64
+ "@kanso-labs/kanso-ui-core": "0.1.1",
67
65
  "@react-native/babel-preset": "0.88.0",
68
66
  "@react-native/jest-preset": "0.88.0",
69
67
  "@rolldown/plugin-babel": "0.2.4",
@@ -101,12 +99,11 @@
101
99
  "react-native-web": "0.21.4",
102
100
  "react-native-worklets": "0.13.0",
103
101
  "storybook": "10.6.3",
104
- "style-dictionary": "5.7.0",
105
102
  "test-renderer": "1.3.1",
106
103
  "tsdown": "0.23.1",
107
104
  "typescript": "6.0.3",
108
105
  "typescript-eslint": "8.72.0",
109
- "vite": "8.3.4",
106
+ "vite": "8.3.5",
110
107
  "vitest": "5.0.5"
111
108
  },
112
109
  "peerDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"defaults.js","names":["KuiTheme","light","Required","dark","breakpoints","compact","medium","expanded","large","extraLarge","const"],"sources":["../../src/tokens/defaults.ts"],"sourcesContent":["// AUTO-GENERATED by scripts/build-tokens.mjs from @kanso-labs/kanso-ui/tokens.json.\n// Not committed and not to be edited: `npm run tokens:build` writes it.\n\n/**\n * A theme: any of the `--kui-*` custom properties `tokens.css` lists, each set\n * to a value in CSS syntax. Hand one to `ThemeScope`'s `theme` prop, and every\n * component inside reads it.\n *\n * The values hold for both schemes. A theme with a value of its own for light\n * and for dark is two of these, with the scope handed the one for the scheme\n * in use.\n */\ntype KuiTheme = {\n /** Defaults to `#fef7ff` in the light scheme and `#141218` in the dark. */\n readonly '--kui-color-background'?: string\n /** Defaults to `#b3261e` in the light scheme and `#f2b8b5` in the dark. */\n readonly '--kui-color-error'?: string\n /** Defaults to `#f9dedc` in the light scheme and `#8c1d18` in the dark. */\n readonly '--kui-color-error-container'?: string\n /** Defaults to `#f5eff7` in the light scheme and `#322f35` in the dark. */\n readonly '--kui-color-inverse-on-surface'?: string\n /** Defaults to `#d0bcff` in the light scheme and `#6750a4` in the dark. */\n readonly '--kui-color-inverse-primary'?: string\n /** Defaults to `#322f35` in the light scheme and `#e6e0e9` in the dark. */\n readonly '--kui-color-inverse-surface'?: string\n /** Defaults to `#a04022` in the light scheme and `#ffb59f` in the dark. */\n readonly '--kui-color-negative'?: string\n /** Defaults to `#ffdbd1` in the light scheme and `#81290c` in the dark. */\n readonly '--kui-color-negative-container'?: string\n /** Defaults to `#1d1b20` in the light scheme and `#e6e0e9` in the dark. */\n readonly '--kui-color-on-background'?: string\n /** Defaults to `#ffffff` in the light scheme and `#601410` in the dark. */\n readonly '--kui-color-on-error'?: string\n /** Defaults to `#410e0b` in the light scheme and `#f9dedc` in the dark. */\n readonly '--kui-color-on-error-container'?: string\n /** Defaults to `#ffffff` in the light scheme and `#5f1600` in the dark. */\n readonly '--kui-color-on-negative'?: string\n /** Defaults to `#3a0a00` in the light scheme and `#ffdbd1` in the dark. */\n readonly '--kui-color-on-negative-container'?: string\n /** Defaults to `#ffffff` in the light scheme and `#003827` in the dark. */\n readonly '--kui-color-on-positive'?: string\n /** Defaults to `#002115` in the light scheme and `#90f6ca` in the dark. */\n readonly '--kui-color-on-positive-container'?: string\n /** Defaults to `#ffffff` in the light scheme and `#381e72` in the dark. */\n readonly '--kui-color-on-primary'?: string\n /** Defaults to `#21005d` in the light scheme and `#eaddff` in the dark. */\n readonly '--kui-color-on-primary-container'?: string\n /** Defaults to `#21005d`. */\n readonly '--kui-color-on-primary-fixed'?: string\n /** Defaults to `#4f378b`. */\n readonly '--kui-color-on-primary-fixed-variant'?: string\n /** Defaults to `#ffffff` in the light scheme and `#332d41` in the dark. */\n readonly '--kui-color-on-secondary'?: string\n /** Defaults to `#1d192b` in the light scheme and `#e8def8` in the dark. */\n readonly '--kui-color-on-secondary-container'?: string\n /** Defaults to `#1d192b`. */\n readonly '--kui-color-on-secondary-fixed'?: string\n /** Defaults to `#4a4458`. */\n readonly '--kui-color-on-secondary-fixed-variant'?: string\n /** Defaults to `#1d1b20` in the light scheme and `#e6e0e9` in the dark. */\n readonly '--kui-color-on-surface'?: string\n /** Defaults to `#49454f` in the light scheme and `#cac4d0` in the dark. */\n readonly '--kui-color-on-surface-variant'?: string\n /** Defaults to `#ffffff` in the light scheme and `#492532` in the dark. */\n readonly '--kui-color-on-tertiary'?: string\n /** Defaults to `#31111d` in the light scheme and `#ffd8e4` in the dark. */\n readonly '--kui-color-on-tertiary-container'?: string\n /** Defaults to `#31111d`. */\n readonly '--kui-color-on-tertiary-fixed'?: string\n /** Defaults to `#633b48`. */\n readonly '--kui-color-on-tertiary-fixed-variant'?: string\n /** Defaults to `#79747e` in the light scheme and `#938f99` in the dark. */\n readonly '--kui-color-outline'?: string\n /** Defaults to `#cac4d0` in the light scheme and `#49454f` in the dark. */\n readonly '--kui-color-outline-variant'?: string\n /** Defaults to `#006c4d` in the light scheme and `#74d9af` in the dark. */\n readonly '--kui-color-positive'?: string\n /** Defaults to `#90f6ca` in the light scheme and `#00513a` in the dark. */\n readonly '--kui-color-positive-container'?: string\n /** Defaults to `#6750a4` in the light scheme and `#d0bcff` in the dark. */\n readonly '--kui-color-primary'?: string\n /** Defaults to `#eaddff` in the light scheme and `#4f378b` in the dark. */\n readonly '--kui-color-primary-container'?: string\n /** Defaults to `#eaddff`. */\n readonly '--kui-color-primary-fixed'?: string\n /** Defaults to `#d0bcff`. */\n readonly '--kui-color-primary-fixed-dim'?: string\n /** Defaults to `#000000`. */\n readonly '--kui-color-scrim'?: string\n /** Defaults to `#625b71` in the light scheme and `#ccc2dc` in the dark. */\n readonly '--kui-color-secondary'?: string\n /** Defaults to `#e8def8` in the light scheme and `#4a4458` in the dark. */\n readonly '--kui-color-secondary-container'?: string\n /** Defaults to `#e8def8`. */\n readonly '--kui-color-secondary-fixed'?: string\n /** Defaults to `#ccc2dc`. */\n readonly '--kui-color-secondary-fixed-dim'?: string\n /** Defaults to `#000000`. */\n readonly '--kui-color-shadow'?: string\n /** Defaults to `#fef7ff` in the light scheme and `#141218` in the dark. */\n readonly '--kui-color-surface'?: string\n /** Defaults to `#fef7ff` in the light scheme and `#3b383e` in the dark. */\n readonly '--kui-color-surface-bright'?: string\n /** Defaults to `#f3edf7` in the light scheme and `#211f26` in the dark. */\n readonly '--kui-color-surface-container'?: string\n /** Defaults to `#ece6f0` in the light scheme and `#2b2930` in the dark. */\n readonly '--kui-color-surface-container-high'?: string\n /** Defaults to `#e6e0e9` in the light scheme and `#36343b` in the dark. */\n readonly '--kui-color-surface-container-highest'?: string\n /** Defaults to `#f7f2fa` in the light scheme and `#1d1b20` in the dark. */\n readonly '--kui-color-surface-container-low'?: string\n /** Defaults to `#ffffff` in the light scheme and `#0f0d13` in the dark. */\n readonly '--kui-color-surface-container-lowest'?: string\n /** Defaults to `#ded8e1` in the light scheme and `#141218` in the dark. */\n readonly '--kui-color-surface-dim'?: string\n /** Defaults to `#6750a4` in the light scheme and `#d0bcff` in the dark. */\n readonly '--kui-color-surface-tint'?: string\n /** Defaults to `#e7e0ec` in the light scheme and `#49454f` in the dark. */\n readonly '--kui-color-surface-variant'?: string\n /** Defaults to `#7d5260` in the light scheme and `#efb8c8` in the dark. */\n readonly '--kui-color-tertiary'?: string\n /** Defaults to `#ffd8e4` in the light scheme and `#633b48` in the dark. */\n readonly '--kui-color-tertiary-container'?: string\n /** Defaults to `#ffd8e4`. */\n readonly '--kui-color-tertiary-fixed'?: string\n /** Defaults to `#efb8c8`. */\n readonly '--kui-color-tertiary-fixed-dim'?: string\n /** Defaults to `450ms`. */\n readonly '--kui-motion-duration-long1'?: string\n /** Defaults to `500ms`. */\n readonly '--kui-motion-duration-long2'?: string\n /** Defaults to `600ms`. */\n readonly '--kui-motion-duration-long3'?: string\n /** Defaults to `250ms`. */\n readonly '--kui-motion-duration-medium1'?: string\n /** Defaults to `300ms`. */\n readonly '--kui-motion-duration-medium2'?: string\n /** Defaults to `350ms`. */\n readonly '--kui-motion-duration-medium3'?: string\n /** Defaults to `100ms`. */\n readonly '--kui-motion-duration-short1'?: string\n /** Defaults to `150ms`. */\n readonly '--kui-motion-duration-short2'?: string\n /** Defaults to `200ms`. */\n readonly '--kui-motion-duration-short3'?: string\n /** Defaults to `cubic-bezier(0.2, 0, 0, 1)`. */\n readonly '--kui-motion-easing-emphasized'?: string\n /** Defaults to `cubic-bezier(0.3, 0, 0.8, 0.15)`. */\n readonly '--kui-motion-easing-emphasized-accelerate'?: string\n /** Defaults to `cubic-bezier(0.05, 0.7, 0.1, 1)`. */\n readonly '--kui-motion-easing-emphasized-decelerate'?: string\n /** Defaults to `cubic-bezier(0.34, 1.56, 0.64, 1)`. */\n readonly '--kui-motion-easing-spring-fast'?: string\n /** Defaults to `cubic-bezier(0.16, 1, 0.3, 1)`. */\n readonly '--kui-motion-easing-spring-slow'?: string\n /** Defaults to `cubic-bezier(0.2, 0, 0, 1)`. */\n readonly '--kui-motion-easing-standard'?: string\n /** Defaults to `9999px`. */\n readonly '--kui-radius-circle'?: string\n /** Defaults to `16px`. */\n readonly '--kui-radius-lg'?: string\n /** Defaults to `12px`. */\n readonly '--kui-radius-md'?: string\n /** Defaults to `0px`. */\n readonly '--kui-radius-none'?: string\n /** Defaults to `9999px`. */\n readonly '--kui-radius-pill'?: string\n /** Defaults to `8px`. */\n readonly '--kui-radius-sm'?: string\n /** Defaults to `28px`. */\n readonly '--kui-radius-xl'?: string\n /** Defaults to `4px`. */\n readonly '--kui-radius-xs'?: string\n /** Defaults to `0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)`. */\n readonly '--kui-shadow-elevation1'?: string\n /** Defaults to `0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15)`. */\n readonly '--kui-shadow-elevation2'?: string\n /** Defaults to `0px 1px 3px 0px rgba(0, 0, 0, 0.3), 0px 4px 8px 3px rgba(0, 0, 0, 0.15)`. */\n readonly '--kui-shadow-elevation3'?: string\n /** Defaults to `0px 2px 3px 0px rgba(0, 0, 0, 0.3), 0px 6px 10px 4px rgba(0, 0, 0, 0.15)`. */\n readonly '--kui-shadow-elevation4'?: string\n /** Defaults to `0px 4px 4px 0px rgba(0, 0, 0, 0.3), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)`. */\n readonly '--kui-shadow-elevation5'?: string\n /** Defaults to `56px`. */\n readonly '--kui-sizing-control-lg'?: string\n /** Defaults to `48px`. */\n readonly '--kui-sizing-control-md'?: string\n /** Defaults to `40px`. */\n readonly '--kui-sizing-control-sm'?: string\n /** Defaults to `96px`. */\n readonly '--kui-sizing-control-xl'?: string\n /** Defaults to `32px`. */\n readonly '--kui-sizing-control-xs'?: string\n /** Defaults to `136px`. */\n readonly '--kui-sizing-control-xxl'?: string\n /** Defaults to `88px`. */\n readonly '--kui-sizing-row-lg'?: string\n /** Defaults to `72px`. */\n readonly '--kui-sizing-row-md'?: string\n /** Defaults to `56px`. */\n readonly '--kui-sizing-row-sm'?: string\n /** Defaults to `48px`. */\n readonly '--kui-sizing-row-xs'?: string\n /** Defaults to `16px`. */\n readonly '--kui-spacing-lg'?: string\n /** Defaults to `12px`. */\n readonly '--kui-spacing-md'?: string\n /** Defaults to `8px`. */\n readonly '--kui-spacing-sm'?: string\n /** Defaults to `24px`. */\n readonly '--kui-spacing-xl'?: string\n /** Defaults to `4px`. */\n readonly '--kui-spacing-xs'?: string\n /** Defaults to `32px`. */\n readonly '--kui-spacing-xxl'?: string\n /** Defaults to `2px`. */\n readonly '--kui-spacing-xxs'?: string\n /** Defaults to `40px`. */\n readonly '--kui-spacing-xxxl'?: string\n /** Defaults to `0.12`. */\n readonly '--kui-state-layer-opacity-disabled-container'?: string\n /** Defaults to `0.38`. */\n readonly '--kui-state-layer-opacity-disabled-content'?: string\n /** Defaults to `0.16`. */\n readonly '--kui-state-layer-opacity-dragged'?: string\n /** Defaults to `0.1`. */\n readonly '--kui-state-layer-opacity-focus'?: string\n /** Defaults to `0.08`. */\n readonly '--kui-state-layer-opacity-hover'?: string\n /** Defaults to `0.1`. */\n readonly '--kui-state-layer-opacity-pressed'?: string\n /** Defaults to `var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)`. */\n readonly '--kui-typography-body-large-font'?: string\n /** Defaults to `24px`. */\n readonly '--kui-typography-body-large-line-height'?: string\n /** Defaults to `16px`. */\n readonly '--kui-typography-body-large-size'?: string\n /** Defaults to `0.5px`. */\n readonly '--kui-typography-body-large-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-regular, 400)`. */\n readonly '--kui-typography-body-large-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)`. */\n readonly '--kui-typography-body-medium-font'?: string\n /** Defaults to `20px`. */\n readonly '--kui-typography-body-medium-line-height'?: string\n /** Defaults to `14px`. */\n readonly '--kui-typography-body-medium-size'?: string\n /** Defaults to `0.25px`. */\n readonly '--kui-typography-body-medium-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-regular, 400)`. */\n readonly '--kui-typography-body-medium-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)`. */\n readonly '--kui-typography-body-small-font'?: string\n /** Defaults to `16px`. */\n readonly '--kui-typography-body-small-line-height'?: string\n /** Defaults to `12px`. */\n readonly '--kui-typography-body-small-size'?: string\n /** Defaults to `0.4px`. */\n readonly '--kui-typography-body-small-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-regular, 400)`. */\n readonly '--kui-typography-body-small-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)`. */\n readonly '--kui-typography-display-large-font'?: string\n /** Defaults to `64px`. */\n readonly '--kui-typography-display-large-line-height'?: string\n /** Defaults to `57px`. */\n readonly '--kui-typography-display-large-size'?: string\n /** Defaults to `-0.25px`. */\n readonly '--kui-typography-display-large-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-regular, 400)`. */\n readonly '--kui-typography-display-large-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)`. */\n readonly '--kui-typography-display-medium-font'?: string\n /** Defaults to `52px`. */\n readonly '--kui-typography-display-medium-line-height'?: string\n /** Defaults to `45px`. */\n readonly '--kui-typography-display-medium-size'?: string\n /** Defaults to `0px`. */\n readonly '--kui-typography-display-medium-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-regular, 400)`. */\n readonly '--kui-typography-display-medium-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)`. */\n readonly '--kui-typography-display-small-font'?: string\n /** Defaults to `44px`. */\n readonly '--kui-typography-display-small-line-height'?: string\n /** Defaults to `36px`. */\n readonly '--kui-typography-display-small-size'?: string\n /** Defaults to `0px`. */\n readonly '--kui-typography-display-small-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-regular, 400)`. */\n readonly '--kui-typography-display-small-weight'?: string\n /** Defaults to `'Roboto Serif', 'Iowan Old Style', Georgia, serif`. */\n readonly '--kui-typography-font-family-brand'?: string\n /** Defaults to `'Roboto Mono', ui-monospace, 'SF Mono', Menlo, monospace`. */\n readonly '--kui-typography-font-family-mono'?: string\n /** Defaults to `'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif`. */\n readonly '--kui-typography-font-family-plain'?: string\n /** Defaults to `var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)`. */\n readonly '--kui-typography-headline-large-font'?: string\n /** Defaults to `40px`. */\n readonly '--kui-typography-headline-large-line-height'?: string\n /** Defaults to `32px`. */\n readonly '--kui-typography-headline-large-size'?: string\n /** Defaults to `0px`. */\n readonly '--kui-typography-headline-large-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-regular, 400)`. */\n readonly '--kui-typography-headline-large-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)`. */\n readonly '--kui-typography-headline-medium-font'?: string\n /** Defaults to `36px`. */\n readonly '--kui-typography-headline-medium-line-height'?: string\n /** Defaults to `28px`. */\n readonly '--kui-typography-headline-medium-size'?: string\n /** Defaults to `0px`. */\n readonly '--kui-typography-headline-medium-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-regular, 400)`. */\n readonly '--kui-typography-headline-medium-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)`. */\n readonly '--kui-typography-headline-small-font'?: string\n /** Defaults to `32px`. */\n readonly '--kui-typography-headline-small-line-height'?: string\n /** Defaults to `24px`. */\n readonly '--kui-typography-headline-small-size'?: string\n /** Defaults to `0px`. */\n readonly '--kui-typography-headline-small-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-regular, 400)`. */\n readonly '--kui-typography-headline-small-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)`. */\n readonly '--kui-typography-label-large-font'?: string\n /** Defaults to `20px`. */\n readonly '--kui-typography-label-large-line-height'?: string\n /** Defaults to `14px`. */\n readonly '--kui-typography-label-large-size'?: string\n /** Defaults to `0.1px`. */\n readonly '--kui-typography-label-large-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-medium, 500)`. */\n readonly '--kui-typography-label-large-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)`. */\n readonly '--kui-typography-label-medium-font'?: string\n /** Defaults to `16px`. */\n readonly '--kui-typography-label-medium-line-height'?: string\n /** Defaults to `12px`. */\n readonly '--kui-typography-label-medium-size'?: string\n /** Defaults to `0.5px`. */\n readonly '--kui-typography-label-medium-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-medium, 500)`. */\n readonly '--kui-typography-label-medium-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)`. */\n readonly '--kui-typography-label-small-font'?: string\n /** Defaults to `16px`. */\n readonly '--kui-typography-label-small-line-height'?: string\n /** Defaults to `11px`. */\n readonly '--kui-typography-label-small-size'?: string\n /** Defaults to `0.5px`. */\n readonly '--kui-typography-label-small-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-medium, 500)`. */\n readonly '--kui-typography-label-small-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)`. */\n readonly '--kui-typography-title-large-font'?: string\n /** Defaults to `28px`. */\n readonly '--kui-typography-title-large-line-height'?: string\n /** Defaults to `22px`. */\n readonly '--kui-typography-title-large-size'?: string\n /** Defaults to `0px`. */\n readonly '--kui-typography-title-large-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-regular, 400)`. */\n readonly '--kui-typography-title-large-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)`. */\n readonly '--kui-typography-title-medium-font'?: string\n /** Defaults to `24px`. */\n readonly '--kui-typography-title-medium-line-height'?: string\n /** Defaults to `16px`. */\n readonly '--kui-typography-title-medium-size'?: string\n /** Defaults to `0.15px`. */\n readonly '--kui-typography-title-medium-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-medium, 500)`. */\n readonly '--kui-typography-title-medium-weight'?: string\n /** Defaults to `var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)`. */\n readonly '--kui-typography-title-small-font'?: string\n /** Defaults to `20px`. */\n readonly '--kui-typography-title-small-line-height'?: string\n /** Defaults to `14px`. */\n readonly '--kui-typography-title-small-size'?: string\n /** Defaults to `0.1px`. */\n readonly '--kui-typography-title-small-tracking'?: string\n /** Defaults to `var(--kui-typography-weight-medium, 500)`. */\n readonly '--kui-typography-title-small-weight'?: string\n /** Defaults to `700`. */\n readonly '--kui-typography-weight-bold'?: string\n /** Defaults to `500`. */\n readonly '--kui-typography-weight-medium'?: string\n /** Defaults to `400`. */\n readonly '--kui-typography-weight-regular'?: string\n}\n\n/** Every property at its value in the light scheme. */\nconst light: Required<KuiTheme> = {\n \"--kui-color-background\": \"#fef7ff\",\n \"--kui-color-error\": \"#b3261e\",\n \"--kui-color-error-container\": \"#f9dedc\",\n \"--kui-color-inverse-on-surface\": \"#f5eff7\",\n \"--kui-color-inverse-primary\": \"#d0bcff\",\n \"--kui-color-inverse-surface\": \"#322f35\",\n \"--kui-color-negative\": \"#a04022\",\n \"--kui-color-negative-container\": \"#ffdbd1\",\n \"--kui-color-on-background\": \"#1d1b20\",\n \"--kui-color-on-error\": \"#ffffff\",\n \"--kui-color-on-error-container\": \"#410e0b\",\n \"--kui-color-on-negative\": \"#ffffff\",\n \"--kui-color-on-negative-container\": \"#3a0a00\",\n \"--kui-color-on-positive\": \"#ffffff\",\n \"--kui-color-on-positive-container\": \"#002115\",\n \"--kui-color-on-primary\": \"#ffffff\",\n \"--kui-color-on-primary-container\": \"#21005d\",\n \"--kui-color-on-primary-fixed\": \"#21005d\",\n \"--kui-color-on-primary-fixed-variant\": \"#4f378b\",\n \"--kui-color-on-secondary\": \"#ffffff\",\n \"--kui-color-on-secondary-container\": \"#1d192b\",\n \"--kui-color-on-secondary-fixed\": \"#1d192b\",\n \"--kui-color-on-secondary-fixed-variant\": \"#4a4458\",\n \"--kui-color-on-surface\": \"#1d1b20\",\n \"--kui-color-on-surface-variant\": \"#49454f\",\n \"--kui-color-on-tertiary\": \"#ffffff\",\n \"--kui-color-on-tertiary-container\": \"#31111d\",\n \"--kui-color-on-tertiary-fixed\": \"#31111d\",\n \"--kui-color-on-tertiary-fixed-variant\": \"#633b48\",\n \"--kui-color-outline\": \"#79747e\",\n \"--kui-color-outline-variant\": \"#cac4d0\",\n \"--kui-color-positive\": \"#006c4d\",\n \"--kui-color-positive-container\": \"#90f6ca\",\n \"--kui-color-primary\": \"#6750a4\",\n \"--kui-color-primary-container\": \"#eaddff\",\n \"--kui-color-primary-fixed\": \"#eaddff\",\n \"--kui-color-primary-fixed-dim\": \"#d0bcff\",\n \"--kui-color-scrim\": \"#000000\",\n \"--kui-color-secondary\": \"#625b71\",\n \"--kui-color-secondary-container\": \"#e8def8\",\n \"--kui-color-secondary-fixed\": \"#e8def8\",\n \"--kui-color-secondary-fixed-dim\": \"#ccc2dc\",\n \"--kui-color-shadow\": \"#000000\",\n \"--kui-color-surface\": \"#fef7ff\",\n \"--kui-color-surface-bright\": \"#fef7ff\",\n \"--kui-color-surface-container\": \"#f3edf7\",\n \"--kui-color-surface-container-high\": \"#ece6f0\",\n \"--kui-color-surface-container-highest\": \"#e6e0e9\",\n \"--kui-color-surface-container-low\": \"#f7f2fa\",\n \"--kui-color-surface-container-lowest\": \"#ffffff\",\n \"--kui-color-surface-dim\": \"#ded8e1\",\n \"--kui-color-surface-tint\": \"#6750a4\",\n \"--kui-color-surface-variant\": \"#e7e0ec\",\n \"--kui-color-tertiary\": \"#7d5260\",\n \"--kui-color-tertiary-container\": \"#ffd8e4\",\n \"--kui-color-tertiary-fixed\": \"#ffd8e4\",\n \"--kui-color-tertiary-fixed-dim\": \"#efb8c8\",\n \"--kui-motion-duration-long1\": \"450ms\",\n \"--kui-motion-duration-long2\": \"500ms\",\n \"--kui-motion-duration-long3\": \"600ms\",\n \"--kui-motion-duration-medium1\": \"250ms\",\n \"--kui-motion-duration-medium2\": \"300ms\",\n \"--kui-motion-duration-medium3\": \"350ms\",\n \"--kui-motion-duration-short1\": \"100ms\",\n \"--kui-motion-duration-short2\": \"150ms\",\n \"--kui-motion-duration-short3\": \"200ms\",\n \"--kui-motion-easing-emphasized\": \"cubic-bezier(0.2, 0, 0, 1)\",\n \"--kui-motion-easing-emphasized-accelerate\": \"cubic-bezier(0.3, 0, 0.8, 0.15)\",\n \"--kui-motion-easing-emphasized-decelerate\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\",\n \"--kui-motion-easing-spring-fast\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"--kui-motion-easing-spring-slow\": \"cubic-bezier(0.16, 1, 0.3, 1)\",\n \"--kui-motion-easing-standard\": \"cubic-bezier(0.2, 0, 0, 1)\",\n \"--kui-radius-circle\": \"9999px\",\n \"--kui-radius-lg\": \"16px\",\n \"--kui-radius-md\": \"12px\",\n \"--kui-radius-none\": \"0px\",\n \"--kui-radius-pill\": \"9999px\",\n \"--kui-radius-sm\": \"8px\",\n \"--kui-radius-xl\": \"28px\",\n \"--kui-radius-xs\": \"4px\",\n \"--kui-shadow-elevation1\": \"0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)\",\n \"--kui-shadow-elevation2\": \"0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15)\",\n \"--kui-shadow-elevation3\": \"0px 1px 3px 0px rgba(0, 0, 0, 0.3), 0px 4px 8px 3px rgba(0, 0, 0, 0.15)\",\n \"--kui-shadow-elevation4\": \"0px 2px 3px 0px rgba(0, 0, 0, 0.3), 0px 6px 10px 4px rgba(0, 0, 0, 0.15)\",\n \"--kui-shadow-elevation5\": \"0px 4px 4px 0px rgba(0, 0, 0, 0.3), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)\",\n \"--kui-sizing-control-lg\": \"56px\",\n \"--kui-sizing-control-md\": \"48px\",\n \"--kui-sizing-control-sm\": \"40px\",\n \"--kui-sizing-control-xl\": \"96px\",\n \"--kui-sizing-control-xs\": \"32px\",\n \"--kui-sizing-control-xxl\": \"136px\",\n \"--kui-sizing-row-lg\": \"88px\",\n \"--kui-sizing-row-md\": \"72px\",\n \"--kui-sizing-row-sm\": \"56px\",\n \"--kui-sizing-row-xs\": \"48px\",\n \"--kui-spacing-lg\": \"16px\",\n \"--kui-spacing-md\": \"12px\",\n \"--kui-spacing-sm\": \"8px\",\n \"--kui-spacing-xl\": \"24px\",\n \"--kui-spacing-xs\": \"4px\",\n \"--kui-spacing-xxl\": \"32px\",\n \"--kui-spacing-xxs\": \"2px\",\n \"--kui-spacing-xxxl\": \"40px\",\n \"--kui-state-layer-opacity-disabled-container\": \"0.12\",\n \"--kui-state-layer-opacity-disabled-content\": \"0.38\",\n \"--kui-state-layer-opacity-dragged\": \"0.16\",\n \"--kui-state-layer-opacity-focus\": \"0.1\",\n \"--kui-state-layer-opacity-hover\": \"0.08\",\n \"--kui-state-layer-opacity-pressed\": \"0.1\",\n \"--kui-typography-body-large-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-body-large-line-height\": \"24px\",\n \"--kui-typography-body-large-size\": \"16px\",\n \"--kui-typography-body-large-tracking\": \"0.5px\",\n \"--kui-typography-body-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-body-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-body-medium-line-height\": \"20px\",\n \"--kui-typography-body-medium-size\": \"14px\",\n \"--kui-typography-body-medium-tracking\": \"0.25px\",\n \"--kui-typography-body-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-body-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-body-small-line-height\": \"16px\",\n \"--kui-typography-body-small-size\": \"12px\",\n \"--kui-typography-body-small-tracking\": \"0.4px\",\n \"--kui-typography-body-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-display-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-display-large-line-height\": \"64px\",\n \"--kui-typography-display-large-size\": \"57px\",\n \"--kui-typography-display-large-tracking\": \"-0.25px\",\n \"--kui-typography-display-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-display-medium-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-display-medium-line-height\": \"52px\",\n \"--kui-typography-display-medium-size\": \"45px\",\n \"--kui-typography-display-medium-tracking\": \"0px\",\n \"--kui-typography-display-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-display-small-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-display-small-line-height\": \"44px\",\n \"--kui-typography-display-small-size\": \"36px\",\n \"--kui-typography-display-small-tracking\": \"0px\",\n \"--kui-typography-display-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-font-family-brand\": \"'Roboto Serif', 'Iowan Old Style', Georgia, serif\",\n \"--kui-typography-font-family-mono\": \"'Roboto Mono', ui-monospace, 'SF Mono', Menlo, monospace\",\n \"--kui-typography-font-family-plain\": \"'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif\",\n \"--kui-typography-headline-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-headline-large-line-height\": \"40px\",\n \"--kui-typography-headline-large-size\": \"32px\",\n \"--kui-typography-headline-large-tracking\": \"0px\",\n \"--kui-typography-headline-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-headline-medium-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-headline-medium-line-height\": \"36px\",\n \"--kui-typography-headline-medium-size\": \"28px\",\n \"--kui-typography-headline-medium-tracking\": \"0px\",\n \"--kui-typography-headline-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-headline-small-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-headline-small-line-height\": \"32px\",\n \"--kui-typography-headline-small-size\": \"24px\",\n \"--kui-typography-headline-small-tracking\": \"0px\",\n \"--kui-typography-headline-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-label-large-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-label-large-line-height\": \"20px\",\n \"--kui-typography-label-large-size\": \"14px\",\n \"--kui-typography-label-large-tracking\": \"0.1px\",\n \"--kui-typography-label-large-weight\": \"var(--kui-typography-weight-medium, 500)\",\n \"--kui-typography-label-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-label-medium-line-height\": \"16px\",\n \"--kui-typography-label-medium-size\": \"12px\",\n \"--kui-typography-label-medium-tracking\": \"0.5px\",\n \"--kui-typography-label-medium-weight\": \"var(--kui-typography-weight-medium, 500)\",\n \"--kui-typography-label-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-label-small-line-height\": \"16px\",\n \"--kui-typography-label-small-size\": \"11px\",\n \"--kui-typography-label-small-tracking\": \"0.5px\",\n \"--kui-typography-label-small-weight\": \"var(--kui-typography-weight-medium, 500)\",\n \"--kui-typography-title-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-title-large-line-height\": \"28px\",\n \"--kui-typography-title-large-size\": \"22px\",\n \"--kui-typography-title-large-tracking\": \"0px\",\n \"--kui-typography-title-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-title-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-title-medium-line-height\": \"24px\",\n \"--kui-typography-title-medium-size\": \"16px\",\n \"--kui-typography-title-medium-tracking\": \"0.15px\",\n \"--kui-typography-title-medium-weight\": \"var(--kui-typography-weight-medium, 500)\",\n \"--kui-typography-title-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-title-small-line-height\": \"20px\",\n \"--kui-typography-title-small-size\": \"14px\",\n \"--kui-typography-title-small-tracking\": \"0.1px\",\n \"--kui-typography-title-small-weight\": \"var(--kui-typography-weight-medium, 500)\",\n \"--kui-typography-weight-bold\": \"700\",\n \"--kui-typography-weight-medium\": \"500\",\n \"--kui-typography-weight-regular\": \"400\",\n}\n\n/** Every property at its value in the dark scheme. */\nconst dark: Required<KuiTheme> = {\n \"--kui-color-background\": \"#141218\",\n \"--kui-color-error\": \"#f2b8b5\",\n \"--kui-color-error-container\": \"#8c1d18\",\n \"--kui-color-inverse-on-surface\": \"#322f35\",\n \"--kui-color-inverse-primary\": \"#6750a4\",\n \"--kui-color-inverse-surface\": \"#e6e0e9\",\n \"--kui-color-negative\": \"#ffb59f\",\n \"--kui-color-negative-container\": \"#81290c\",\n \"--kui-color-on-background\": \"#e6e0e9\",\n \"--kui-color-on-error\": \"#601410\",\n \"--kui-color-on-error-container\": \"#f9dedc\",\n \"--kui-color-on-negative\": \"#5f1600\",\n \"--kui-color-on-negative-container\": \"#ffdbd1\",\n \"--kui-color-on-positive\": \"#003827\",\n \"--kui-color-on-positive-container\": \"#90f6ca\",\n \"--kui-color-on-primary\": \"#381e72\",\n \"--kui-color-on-primary-container\": \"#eaddff\",\n \"--kui-color-on-primary-fixed\": \"#21005d\",\n \"--kui-color-on-primary-fixed-variant\": \"#4f378b\",\n \"--kui-color-on-secondary\": \"#332d41\",\n \"--kui-color-on-secondary-container\": \"#e8def8\",\n \"--kui-color-on-secondary-fixed\": \"#1d192b\",\n \"--kui-color-on-secondary-fixed-variant\": \"#4a4458\",\n \"--kui-color-on-surface\": \"#e6e0e9\",\n \"--kui-color-on-surface-variant\": \"#cac4d0\",\n \"--kui-color-on-tertiary\": \"#492532\",\n \"--kui-color-on-tertiary-container\": \"#ffd8e4\",\n \"--kui-color-on-tertiary-fixed\": \"#31111d\",\n \"--kui-color-on-tertiary-fixed-variant\": \"#633b48\",\n \"--kui-color-outline\": \"#938f99\",\n \"--kui-color-outline-variant\": \"#49454f\",\n \"--kui-color-positive\": \"#74d9af\",\n \"--kui-color-positive-container\": \"#00513a\",\n \"--kui-color-primary\": \"#d0bcff\",\n \"--kui-color-primary-container\": \"#4f378b\",\n \"--kui-color-primary-fixed\": \"#eaddff\",\n \"--kui-color-primary-fixed-dim\": \"#d0bcff\",\n \"--kui-color-scrim\": \"#000000\",\n \"--kui-color-secondary\": \"#ccc2dc\",\n \"--kui-color-secondary-container\": \"#4a4458\",\n \"--kui-color-secondary-fixed\": \"#e8def8\",\n \"--kui-color-secondary-fixed-dim\": \"#ccc2dc\",\n \"--kui-color-shadow\": \"#000000\",\n \"--kui-color-surface\": \"#141218\",\n \"--kui-color-surface-bright\": \"#3b383e\",\n \"--kui-color-surface-container\": \"#211f26\",\n \"--kui-color-surface-container-high\": \"#2b2930\",\n \"--kui-color-surface-container-highest\": \"#36343b\",\n \"--kui-color-surface-container-low\": \"#1d1b20\",\n \"--kui-color-surface-container-lowest\": \"#0f0d13\",\n \"--kui-color-surface-dim\": \"#141218\",\n \"--kui-color-surface-tint\": \"#d0bcff\",\n \"--kui-color-surface-variant\": \"#49454f\",\n \"--kui-color-tertiary\": \"#efb8c8\",\n \"--kui-color-tertiary-container\": \"#633b48\",\n \"--kui-color-tertiary-fixed\": \"#ffd8e4\",\n \"--kui-color-tertiary-fixed-dim\": \"#efb8c8\",\n \"--kui-motion-duration-long1\": \"450ms\",\n \"--kui-motion-duration-long2\": \"500ms\",\n \"--kui-motion-duration-long3\": \"600ms\",\n \"--kui-motion-duration-medium1\": \"250ms\",\n \"--kui-motion-duration-medium2\": \"300ms\",\n \"--kui-motion-duration-medium3\": \"350ms\",\n \"--kui-motion-duration-short1\": \"100ms\",\n \"--kui-motion-duration-short2\": \"150ms\",\n \"--kui-motion-duration-short3\": \"200ms\",\n \"--kui-motion-easing-emphasized\": \"cubic-bezier(0.2, 0, 0, 1)\",\n \"--kui-motion-easing-emphasized-accelerate\": \"cubic-bezier(0.3, 0, 0.8, 0.15)\",\n \"--kui-motion-easing-emphasized-decelerate\": \"cubic-bezier(0.05, 0.7, 0.1, 1)\",\n \"--kui-motion-easing-spring-fast\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"--kui-motion-easing-spring-slow\": \"cubic-bezier(0.16, 1, 0.3, 1)\",\n \"--kui-motion-easing-standard\": \"cubic-bezier(0.2, 0, 0, 1)\",\n \"--kui-radius-circle\": \"9999px\",\n \"--kui-radius-lg\": \"16px\",\n \"--kui-radius-md\": \"12px\",\n \"--kui-radius-none\": \"0px\",\n \"--kui-radius-pill\": \"9999px\",\n \"--kui-radius-sm\": \"8px\",\n \"--kui-radius-xl\": \"28px\",\n \"--kui-radius-xs\": \"4px\",\n \"--kui-shadow-elevation1\": \"0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15)\",\n \"--kui-shadow-elevation2\": \"0px 1px 2px 0px rgba(0, 0, 0, 0.3), 0px 2px 6px 2px rgba(0, 0, 0, 0.15)\",\n \"--kui-shadow-elevation3\": \"0px 1px 3px 0px rgba(0, 0, 0, 0.3), 0px 4px 8px 3px rgba(0, 0, 0, 0.15)\",\n \"--kui-shadow-elevation4\": \"0px 2px 3px 0px rgba(0, 0, 0, 0.3), 0px 6px 10px 4px rgba(0, 0, 0, 0.15)\",\n \"--kui-shadow-elevation5\": \"0px 4px 4px 0px rgba(0, 0, 0, 0.3), 0px 8px 12px 6px rgba(0, 0, 0, 0.15)\",\n \"--kui-sizing-control-lg\": \"56px\",\n \"--kui-sizing-control-md\": \"48px\",\n \"--kui-sizing-control-sm\": \"40px\",\n \"--kui-sizing-control-xl\": \"96px\",\n \"--kui-sizing-control-xs\": \"32px\",\n \"--kui-sizing-control-xxl\": \"136px\",\n \"--kui-sizing-row-lg\": \"88px\",\n \"--kui-sizing-row-md\": \"72px\",\n \"--kui-sizing-row-sm\": \"56px\",\n \"--kui-sizing-row-xs\": \"48px\",\n \"--kui-spacing-lg\": \"16px\",\n \"--kui-spacing-md\": \"12px\",\n \"--kui-spacing-sm\": \"8px\",\n \"--kui-spacing-xl\": \"24px\",\n \"--kui-spacing-xs\": \"4px\",\n \"--kui-spacing-xxl\": \"32px\",\n \"--kui-spacing-xxs\": \"2px\",\n \"--kui-spacing-xxxl\": \"40px\",\n \"--kui-state-layer-opacity-disabled-container\": \"0.12\",\n \"--kui-state-layer-opacity-disabled-content\": \"0.38\",\n \"--kui-state-layer-opacity-dragged\": \"0.16\",\n \"--kui-state-layer-opacity-focus\": \"0.1\",\n \"--kui-state-layer-opacity-hover\": \"0.08\",\n \"--kui-state-layer-opacity-pressed\": \"0.1\",\n \"--kui-typography-body-large-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-body-large-line-height\": \"24px\",\n \"--kui-typography-body-large-size\": \"16px\",\n \"--kui-typography-body-large-tracking\": \"0.5px\",\n \"--kui-typography-body-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-body-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-body-medium-line-height\": \"20px\",\n \"--kui-typography-body-medium-size\": \"14px\",\n \"--kui-typography-body-medium-tracking\": \"0.25px\",\n \"--kui-typography-body-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-body-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-body-small-line-height\": \"16px\",\n \"--kui-typography-body-small-size\": \"12px\",\n \"--kui-typography-body-small-tracking\": \"0.4px\",\n \"--kui-typography-body-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-display-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-display-large-line-height\": \"64px\",\n \"--kui-typography-display-large-size\": \"57px\",\n \"--kui-typography-display-large-tracking\": \"-0.25px\",\n \"--kui-typography-display-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-display-medium-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-display-medium-line-height\": \"52px\",\n \"--kui-typography-display-medium-size\": \"45px\",\n \"--kui-typography-display-medium-tracking\": \"0px\",\n \"--kui-typography-display-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-display-small-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-display-small-line-height\": \"44px\",\n \"--kui-typography-display-small-size\": \"36px\",\n \"--kui-typography-display-small-tracking\": \"0px\",\n \"--kui-typography-display-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-font-family-brand\": \"'Roboto Serif', 'Iowan Old Style', Georgia, serif\",\n \"--kui-typography-font-family-mono\": \"'Roboto Mono', ui-monospace, 'SF Mono', Menlo, monospace\",\n \"--kui-typography-font-family-plain\": \"'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif\",\n \"--kui-typography-headline-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-headline-large-line-height\": \"40px\",\n \"--kui-typography-headline-large-size\": \"32px\",\n \"--kui-typography-headline-large-tracking\": \"0px\",\n \"--kui-typography-headline-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-headline-medium-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-headline-medium-line-height\": \"36px\",\n \"--kui-typography-headline-medium-size\": \"28px\",\n \"--kui-typography-headline-medium-tracking\": \"0px\",\n \"--kui-typography-headline-medium-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-headline-small-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-headline-small-line-height\": \"32px\",\n \"--kui-typography-headline-small-size\": \"24px\",\n \"--kui-typography-headline-small-tracking\": \"0px\",\n \"--kui-typography-headline-small-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-label-large-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-label-large-line-height\": \"20px\",\n \"--kui-typography-label-large-size\": \"14px\",\n \"--kui-typography-label-large-tracking\": \"0.1px\",\n \"--kui-typography-label-large-weight\": \"var(--kui-typography-weight-medium, 500)\",\n \"--kui-typography-label-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-label-medium-line-height\": \"16px\",\n \"--kui-typography-label-medium-size\": \"12px\",\n \"--kui-typography-label-medium-tracking\": \"0.5px\",\n \"--kui-typography-label-medium-weight\": \"var(--kui-typography-weight-medium, 500)\",\n \"--kui-typography-label-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-label-small-line-height\": \"16px\",\n \"--kui-typography-label-small-size\": \"11px\",\n \"--kui-typography-label-small-tracking\": \"0.5px\",\n \"--kui-typography-label-small-weight\": \"var(--kui-typography-weight-medium, 500)\",\n \"--kui-typography-title-large-font\": \"var(--kui-typography-font-family-brand, 'Roboto Serif', 'Iowan Old Style', Georgia, serif)\",\n \"--kui-typography-title-large-line-height\": \"28px\",\n \"--kui-typography-title-large-size\": \"22px\",\n \"--kui-typography-title-large-tracking\": \"0px\",\n \"--kui-typography-title-large-weight\": \"var(--kui-typography-weight-regular, 400)\",\n \"--kui-typography-title-medium-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-title-medium-line-height\": \"24px\",\n \"--kui-typography-title-medium-size\": \"16px\",\n \"--kui-typography-title-medium-tracking\": \"0.15px\",\n \"--kui-typography-title-medium-weight\": \"var(--kui-typography-weight-medium, 500)\",\n \"--kui-typography-title-small-font\": \"var(--kui-typography-font-family-plain, 'Roboto Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)\",\n \"--kui-typography-title-small-line-height\": \"20px\",\n \"--kui-typography-title-small-size\": \"14px\",\n \"--kui-typography-title-small-tracking\": \"0.1px\",\n \"--kui-typography-title-small-weight\": \"var(--kui-typography-weight-medium, 500)\",\n \"--kui-typography-weight-bold\": \"700\",\n \"--kui-typography-weight-medium\": \"500\",\n \"--kui-typography-weight-regular\": \"400\",\n}\n\n/**\n * The lower bound of each window size class, in dp. A media query cannot read\n * a custom property, so on web these are compiled in rather than overridable,\n * and they are constants here for the same contract.\n */\nconst breakpoints = {\n compact: 0,\n medium: 600,\n expanded: 840,\n large: 1200,\n extraLarge: 1600,\n} as const\n\nexport { breakpoints, dark, light }\nexport type { KuiTheme }\n"],"mappings":"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"}