zabi-components 8.1.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) hide show
  1. package/CHANGELOG.md +1011 -0
  2. package/README.md +1 -1
  3. package/THEME.md +18 -5
  4. package/THEMING.md +308 -74
  5. package/dist/atoms/ActionPanel.svelte +1 -1
  6. package/dist/atoms/Avatar.svelte +19 -3
  7. package/dist/atoms/Avatar.svelte.d.ts +12 -0
  8. package/dist/atoms/Badge.svelte +37 -8
  9. package/dist/atoms/Badge.svelte.d.ts +6 -0
  10. package/dist/atoms/Block.svelte +74 -0
  11. package/dist/atoms/Block.svelte.d.ts +29 -0
  12. package/dist/atoms/Button.svelte +52 -15
  13. package/dist/atoms/Button.svelte.d.ts +3 -2
  14. package/dist/atoms/Card.svelte +181 -25
  15. package/dist/atoms/Card.svelte.d.ts +55 -3
  16. package/dist/atoms/Checkbox.svelte +33 -0
  17. package/dist/atoms/Checkbox.svelte.d.ts +27 -0
  18. package/dist/atoms/Chip.svelte +351 -0
  19. package/dist/atoms/Chip.svelte.d.ts +57 -0
  20. package/dist/atoms/CodeField.svelte +385 -0
  21. package/dist/atoms/CodeField.svelte.d.ts +61 -0
  22. package/dist/atoms/ColorPicker.svelte +1 -0
  23. package/dist/atoms/DateField.svelte +41 -3
  24. package/dist/atoms/DateField.svelte.d.ts +31 -3
  25. package/dist/atoms/FloatingActionButton.svelte +5 -3
  26. package/dist/atoms/FloatingActionButton.svelte.d.ts +1 -1
  27. package/dist/atoms/Heading.svelte +27 -1
  28. package/dist/atoms/Heading.svelte.d.ts +7 -0
  29. package/dist/atoms/IconButton.svelte +81 -9
  30. package/dist/atoms/IconButton.svelte.d.ts +13 -0
  31. package/dist/atoms/Input.svelte +10 -5
  32. package/dist/atoms/Input.svelte.d.ts +3 -2
  33. package/dist/atoms/List.svelte +3 -2
  34. package/dist/atoms/ListItem.svelte +31 -7
  35. package/dist/atoms/ListItem.svelte.d.ts +6 -0
  36. package/dist/atoms/PickerField.svelte +239 -0
  37. package/dist/atoms/PickerField.svelte.d.ts +67 -0
  38. package/dist/atoms/Progress.svelte +78 -17
  39. package/dist/atoms/Progress.svelte.d.ts +11 -1
  40. package/dist/atoms/Radio.svelte +32 -0
  41. package/dist/atoms/Radio.svelte.d.ts +26 -0
  42. package/dist/atoms/Rating.svelte +132 -6
  43. package/dist/atoms/Rating.svelte.d.ts +24 -3
  44. package/dist/atoms/Select.svelte +24 -26
  45. package/dist/atoms/Select.svelte.d.ts +12 -0
  46. package/dist/atoms/SelectionControl.svelte +99 -6
  47. package/dist/atoms/SelectionControl.svelte.d.ts +25 -0
  48. package/dist/atoms/Skeleton.svelte +114 -18
  49. package/dist/atoms/Skeleton.svelte.d.ts +30 -3
  50. package/dist/atoms/SkeletonGroup.svelte +43 -0
  51. package/dist/atoms/SkeletonGroup.svelte.d.ts +20 -0
  52. package/dist/atoms/Slider.svelte +35 -0
  53. package/dist/atoms/Sparkline.svelte +109 -0
  54. package/dist/atoms/Sparkline.svelte.d.ts +27 -0
  55. package/dist/atoms/SpeechBubble.svelte +187 -0
  56. package/dist/atoms/SpeechBubble.svelte.d.ts +33 -0
  57. package/dist/atoms/Stat.svelte +72 -0
  58. package/dist/atoms/Stat.svelte.d.ts +19 -0
  59. package/dist/atoms/TemporalField.svelte +342 -10
  60. package/dist/atoms/TemporalField.svelte.d.ts +20 -4
  61. package/dist/atoms/Textarea.svelte +100 -5
  62. package/dist/atoms/Textarea.svelte.d.ts +21 -0
  63. package/dist/atoms/TimeColumn.svelte +150 -0
  64. package/dist/atoms/TimeColumn.svelte.d.ts +25 -0
  65. package/dist/atoms/TimeField.svelte +46 -3
  66. package/dist/atoms/TimeField.svelte.d.ts +34 -3
  67. package/dist/atoms/Toast.svelte +6 -5
  68. package/dist/atoms/Toggle.svelte +61 -10
  69. package/dist/atoms/Toggle.svelte.d.ts +15 -0
  70. package/dist/atoms/Tooltip.svelte +20 -1
  71. package/dist/atoms/Tooltip.svelte.d.ts +7 -0
  72. package/dist/atoms/index.d.ts +21 -0
  73. package/dist/atoms/index.js +17 -0
  74. package/dist/atoms/selection-control.styles.d.ts +15 -4
  75. package/dist/atoms/selection-control.styles.js +16 -5
  76. package/dist/components/atoms/index.d.ts +21 -0
  77. package/dist/components/atoms/index.d.ts.map +1 -1
  78. package/dist/components/atoms/selection-control.styles.d.ts +15 -4
  79. package/dist/components/atoms/selection-control.styles.d.ts.map +1 -1
  80. package/dist/components/index.d.ts +27 -3
  81. package/dist/components/index.d.ts.map +1 -1
  82. package/dist/components/map.d.ts +11 -0
  83. package/dist/components/map.d.ts.map +1 -0
  84. package/dist/components/molecules/index.d.ts +7 -2
  85. package/dist/components/molecules/index.d.ts.map +1 -1
  86. package/dist/components/molecules/toast-store.d.ts +30 -0
  87. package/dist/components/molecules/toast-store.d.ts.map +1 -1
  88. package/dist/components/organisms/index.d.ts +6 -1
  89. package/dist/components/organisms/index.d.ts.map +1 -1
  90. package/dist/components/types/variants.d.ts +12 -3
  91. package/dist/components/types/variants.d.ts.map +1 -1
  92. package/dist/components/util/app-shell.d.ts +55 -4
  93. package/dist/components/util/app-shell.d.ts.map +1 -1
  94. package/dist/components/util/avatar.d.ts +3 -0
  95. package/dist/components/util/avatar.d.ts.map +1 -1
  96. package/dist/components/util/bottom-tab-bar.d.ts +6 -0
  97. package/dist/components/util/bottom-tab-bar.d.ts.map +1 -1
  98. package/dist/components/util/chart.d.ts +140 -0
  99. package/dist/components/util/chart.d.ts.map +1 -0
  100. package/dist/components/util/chip.d.ts +66 -0
  101. package/dist/components/util/chip.d.ts.map +1 -0
  102. package/dist/components/util/cn.d.ts.map +1 -1
  103. package/dist/components/util/code-field.d.ts +63 -0
  104. package/dist/components/util/code-field.d.ts.map +1 -0
  105. package/dist/components/util/collapsible.d.ts +6 -0
  106. package/dist/components/util/collapsible.d.ts.map +1 -1
  107. package/dist/components/util/display-voice.d.ts +10 -0
  108. package/dist/components/util/display-voice.d.ts.map +1 -0
  109. package/dist/components/util/field-control.d.ts +30 -0
  110. package/dist/components/util/field-control.d.ts.map +1 -0
  111. package/dist/components/util/field.d.ts +6 -0
  112. package/dist/components/util/field.d.ts.map +1 -1
  113. package/dist/components/util/focus-utils.d.ts +2 -0
  114. package/dist/components/util/focus-utils.d.ts.map +1 -1
  115. package/dist/components/util/map-view.d.ts +144 -0
  116. package/dist/components/util/map-view.d.ts.map +1 -0
  117. package/dist/components/util/photo.d.ts +19 -0
  118. package/dist/components/util/photo.d.ts.map +1 -1
  119. package/dist/components/util/progress.d.ts +19 -0
  120. package/dist/components/util/progress.d.ts.map +1 -0
  121. package/dist/components/util/scroll-edge.d.ts +33 -0
  122. package/dist/components/util/scroll-edge.d.ts.map +1 -0
  123. package/dist/components/util/sheet-drag.d.ts +25 -1
  124. package/dist/components/util/sheet-drag.d.ts.map +1 -1
  125. package/dist/components/util/skeleton.d.ts +15 -0
  126. package/dist/components/util/skeleton.d.ts.map +1 -0
  127. package/dist/components/util/sliding-indicator.d.ts +25 -0
  128. package/dist/components/util/sliding-indicator.d.ts.map +1 -0
  129. package/dist/components/util/temporal-field.d.ts +89 -0
  130. package/dist/components/util/temporal-field.d.ts.map +1 -0
  131. package/dist/components/util/toaster.d.ts +40 -0
  132. package/dist/components/util/toaster.d.ts.map +1 -1
  133. package/dist/components/util/tone-surface.d.ts +34 -0
  134. package/dist/components/util/tone-surface.d.ts.map +1 -0
  135. package/dist/components/util/top-navbar.d.ts +26 -2
  136. package/dist/components/util/top-navbar.d.ts.map +1 -1
  137. package/dist/components/util/zabi-strings.d.ts +9 -0
  138. package/dist/components/util/zabi-strings.d.ts.map +1 -1
  139. package/dist/create-theme/cli.js +6 -2
  140. package/dist/create-theme/index.d.ts +17 -3
  141. package/dist/create-theme/index.js +252 -35
  142. package/dist/create-theme/lib/resolve.js +97 -0
  143. package/dist/create-theme/theme-data.js +1618 -90
  144. package/dist/index.d.ts +27 -3
  145. package/dist/index.js +18 -0
  146. package/dist/map.d.ts +10 -0
  147. package/dist/map.js +9 -0
  148. package/dist/molecules/Alert.svelte +31 -12
  149. package/dist/molecules/Alert.svelte.d.ts +12 -1
  150. package/dist/molecules/AppBar.svelte +287 -28
  151. package/dist/molecules/AppBar.svelte.d.ts +62 -0
  152. package/dist/molecules/AvatarGroup.svelte +1 -1
  153. package/dist/molecules/BarChart.svelte +381 -0
  154. package/dist/molecules/BarChart.svelte.d.ts +45 -0
  155. package/dist/molecules/BottomSheet.svelte +88 -20
  156. package/dist/molecules/BottomSheet.svelte.d.ts +17 -1
  157. package/dist/molecules/BottomTabBar.svelte +134 -28
  158. package/dist/molecules/BottomTabBar.svelte.d.ts +36 -2
  159. package/dist/molecules/Calendar.svelte.d.ts +1 -1
  160. package/dist/molecules/ChipGroup.svelte +325 -0
  161. package/dist/molecules/ChipGroup.svelte.d.ts +41 -0
  162. package/dist/molecules/Collapsible.svelte +158 -54
  163. package/dist/molecules/Collapsible.svelte.d.ts +23 -6
  164. package/dist/molecules/CollapsibleGroup.svelte +16 -6
  165. package/dist/molecules/ConfirmDialog.svelte +5 -1
  166. package/dist/molecules/ConfirmDialog.svelte.d.ts +3 -0
  167. package/dist/molecules/Drawer.svelte +33 -12
  168. package/dist/molecules/Dropdown.svelte +9 -1
  169. package/dist/molecules/Dropdown.svelte.d.ts +2 -0
  170. package/dist/molecules/DropdownItem.svelte +1 -1
  171. package/dist/molecules/ImageUpload.svelte +230 -120
  172. package/dist/molecules/ImageUpload.svelte.d.ts +38 -3
  173. package/dist/molecules/LineChart.svelte +459 -0
  174. package/dist/molecules/LineChart.svelte.d.ts +53 -0
  175. package/dist/molecules/MapView.svelte +565 -0
  176. package/dist/molecules/MapView.svelte.d.ts +88 -0
  177. package/dist/molecules/Modal.svelte +11 -6
  178. package/dist/molecules/PhotoGrid.svelte +100 -10
  179. package/dist/molecules/PhotoGrid.svelte.d.ts +11 -0
  180. package/dist/molecules/PhotoViewer.svelte +121 -24
  181. package/dist/molecules/PhotoViewer.svelte.d.ts +18 -0
  182. package/dist/molecules/PieChart.svelte +421 -0
  183. package/dist/molecules/PieChart.svelte.d.ts +51 -0
  184. package/dist/molecules/RadioGroup.svelte +20 -4
  185. package/dist/molecules/RadioGroup.svelte.d.ts +5 -0
  186. package/dist/molecules/SegmentedControl.svelte +136 -3
  187. package/dist/molecules/SegmentedControl.svelte.d.ts +6 -0
  188. package/dist/molecules/SidebarFooter.svelte +1 -1
  189. package/dist/molecules/SidebarNavSection.svelte +1 -1
  190. package/dist/molecules/SortableList.svelte +1 -0
  191. package/dist/molecules/Stepper.svelte +21 -7
  192. package/dist/molecules/StickyActionBar.svelte +67 -8
  193. package/dist/molecules/StickyActionBar.svelte.d.ts +14 -1
  194. package/dist/molecules/Tabs.svelte +79 -2
  195. package/dist/molecules/Toaster.svelte +171 -7
  196. package/dist/molecules/Toaster.svelte.d.ts +60 -2
  197. package/dist/molecules/ToasterToast.svelte +292 -60
  198. package/dist/molecules/ToasterToast.svelte.d.ts +6 -0
  199. package/dist/molecules/UnsavedChangesBar.svelte +13 -2
  200. package/dist/molecules/index.d.ts +7 -2
  201. package/dist/molecules/index.js +4 -0
  202. package/dist/molecules/toast-store.d.ts +30 -0
  203. package/dist/molecules/toast-store.js +4 -1
  204. package/dist/organisms/AppNavigation.svelte +440 -0
  205. package/dist/organisms/AppNavigation.svelte.d.ts +72 -0
  206. package/dist/organisms/AppShell.svelte +539 -39
  207. package/dist/organisms/AppShell.svelte.d.ts +102 -6
  208. package/dist/organisms/AppShellHeaderPart.svelte +163 -0
  209. package/dist/organisms/AppShellHeaderPart.svelte.d.ts +57 -0
  210. package/dist/organisms/SidebarNavigation.svelte +23 -36
  211. package/dist/organisms/SidebarPanel.svelte +10 -14
  212. package/dist/organisms/SidebarPanel.svelte.d.ts +1 -0
  213. package/dist/organisms/SidebarShell.svelte +2 -3
  214. package/dist/organisms/TopNavbar.svelte +117 -28
  215. package/dist/organisms/TopNavbar.svelte.d.ts +22 -1
  216. package/dist/organisms/TopNavbarSheetContent.svelte +145 -0
  217. package/dist/organisms/TopNavbarSheetContent.svelte.d.ts +24 -0
  218. package/dist/organisms/index.d.ts +6 -1
  219. package/dist/organisms/index.js +4 -0
  220. package/dist/types/components.d.ts +17 -1
  221. package/dist/types/components.d.ts.map +1 -1
  222. package/dist/types/index.d.ts +497 -10
  223. package/dist/types/index.d.ts.map +1 -1
  224. package/dist/types/variants.ts +14 -3
  225. package/dist/util/app-shell.d.ts +55 -4
  226. package/dist/util/app-shell.js +32 -7
  227. package/dist/util/avatar.d.ts +3 -0
  228. package/dist/util/bottom-tab-bar.d.ts +6 -0
  229. package/dist/util/chart.d.ts +139 -0
  230. package/dist/util/chart.js +305 -0
  231. package/dist/util/chip.d.ts +65 -0
  232. package/dist/util/chip.js +58 -0
  233. package/dist/util/cn.js +28 -2
  234. package/dist/util/code-field.d.ts +62 -0
  235. package/dist/util/code-field.js +112 -0
  236. package/dist/util/collapsible.d.ts +6 -0
  237. package/dist/util/display-voice.d.ts +9 -0
  238. package/dist/util/display-voice.js +9 -0
  239. package/dist/util/field-control.d.ts +29 -0
  240. package/dist/util/field-control.js +32 -0
  241. package/dist/util/field.d.ts +6 -0
  242. package/dist/util/focus-utils.d.ts +2 -0
  243. package/dist/util/focus-utils.js +4 -0
  244. package/dist/util/map-view.d.ts +143 -0
  245. package/dist/util/map-view.js +121 -0
  246. package/dist/util/photo.d.ts +19 -0
  247. package/dist/util/photo.js +3 -0
  248. package/dist/util/progress.d.ts +18 -0
  249. package/dist/util/progress.js +17 -0
  250. package/dist/util/scroll-edge.d.ts +32 -0
  251. package/dist/util/scroll-edge.js +87 -0
  252. package/dist/util/sheet-drag.d.ts +25 -1
  253. package/dist/util/sheet-drag.js +71 -1
  254. package/dist/util/skeleton.d.ts +14 -0
  255. package/dist/util/skeleton.js +22 -0
  256. package/dist/util/sliding-indicator.d.ts +24 -0
  257. package/dist/util/sliding-indicator.js +44 -0
  258. package/dist/util/temporal-field.d.ts +88 -0
  259. package/dist/util/temporal-field.js +136 -0
  260. package/dist/util/toaster.d.ts +40 -0
  261. package/dist/util/toaster.js +55 -0
  262. package/dist/util/tone-surface.d.ts +33 -0
  263. package/dist/util/tone-surface.js +35 -0
  264. package/dist/util/top-navbar.d.ts +26 -2
  265. package/dist/util/top-navbar.js +23 -0
  266. package/dist/util/zabi-strings.d.ts +9 -0
  267. package/dist/zabi-components-colors.css +9 -3
  268. package/dist/zabi-components-theme-dark-only.css +474 -164
  269. package/dist/zabi-components-theme-dark.css +474 -164
  270. package/dist/zabi-components-theme-only.css +933 -99
  271. package/dist/zabi-components-theme.css +933 -99
  272. package/dist/zabi-components.css +2275 -321
  273. package/package.json +11 -1
@@ -0,0 +1,89 @@
1
+ /**
2
+ * What DateField and TimeField share once they are given a `locale`: the
3
+ * words, and the pure parts of the time picker (which hours and minutes
4
+ * there are, which are outside `min` and `max`).
5
+ */
6
+ /** The words DateField says when it has a `locale`. Replace any of them to translate. */
7
+ export interface DateFieldStrings {
8
+ /** The sheet's action that empties the field. Shown while the field has a value and is not `required`. */
9
+ clear: string;
10
+ /** The sheet's name when the field has no label. */
11
+ chooseDate: string;
12
+ }
13
+ export declare const DATE_FIELD_STRINGS: DateFieldStrings;
14
+ /** The words TimeField says when it has a `locale`. Replace any of them to translate. */
15
+ export interface TimeFieldStrings {
16
+ /** The sheet's action that empties the field. Shown while the field has a value and is not `required`. */
17
+ clear: string;
18
+ /** The sheet's action that sets the chosen time and closes it. */
19
+ done: string;
20
+ /** Accessible name of the column of hours. */
21
+ hours: string;
22
+ /** Accessible name of the column of minutes. */
23
+ minutes: string;
24
+ /** The sheet's words beside Done for the time Done will set: "Chosen time 18:00". */
25
+ chosenTime: string;
26
+ /** The sheet's name when the field has no label. */
27
+ chooseTime: string;
28
+ }
29
+ export declare const TIME_FIELD_STRINGS: TimeFieldStrings;
30
+ /** Whether a `locale` was given: a tag, or a list with at least one. */
31
+ export declare function hasLocale(locale: string | string[] | undefined | null): boolean;
32
+ /** The minutes between choices when the app says nothing: five. */
33
+ export declare const DEFAULT_MINUTE_STEP = 5;
34
+ /**
35
+ * Whether the library's time picker can serve this `step`. It has hours and
36
+ * minutes only, so a step in seconds (under 60) or `"any"` is left to the
37
+ * platform's own picker.
38
+ */
39
+ export declare function stepFitsLibraryPicker(step: number | "any" | undefined): boolean;
40
+ /** `step` (in seconds) as whole minutes between choices; five without one. */
41
+ export declare function minuteStep(step: number | "any" | undefined): number;
42
+ /** `"19:30"` (or `"19:30:15"`) as [19, 30]; null for anything else. */
43
+ export declare function parseHourMinute(value: string | null | undefined): [number, number] | null;
44
+ /**
45
+ * The time an empty field's columns stand at: `openAt`, else `now` (an
46
+ * hour and a minute), kept within `min` and `max` and on the minute step.
47
+ * Only a place to scroll to; nothing is chosen. Two-digit strings, as the
48
+ * columns' option values.
49
+ */
50
+ export declare function openingTime(options: {
51
+ openAt?: string;
52
+ now: [number, number];
53
+ stepMinutes: number;
54
+ min?: string;
55
+ max?: string;
56
+ }): [string, string];
57
+ /**
58
+ * Whether a time is within `min` and `max`, either of which may be missing.
59
+ * Like the native input, a `min` later than `max` is a range over midnight:
60
+ * 22:00 to 06:00 allows 23:30 and 05:00.
61
+ */
62
+ export declare function timeInRange(hour: number, minute: number, min?: string, max?: string): boolean;
63
+ export interface TimeChoice {
64
+ /** Two digits: `"07"`. */
65
+ value: string;
66
+ label: string;
67
+ disabled: boolean;
68
+ }
69
+ /** The hour as the locale writes it: "19" in Swedish, "7 PM" in American English. */
70
+ export declare function hourLabel(hour: number, locale: string | string[] | undefined): string;
71
+ /** The minute as two digits, in the locale's own numerals. */
72
+ export declare function minuteLabel(minute: number, locale: string | string[] | undefined): string;
73
+ /** The 24 hours. An hour is disabled when no time in it is within `min` and `max`. */
74
+ export declare function hourChoices(locale: string | string[] | undefined, min?: string, max?: string): TimeChoice[];
75
+ /**
76
+ * The minutes of one hour: every `stepMinutes`, plus the minute of `current`
77
+ * when it is not on the step, so a value such as 19:07 can be kept. A minute
78
+ * is disabled when the time is outside `min` and `max`; with no hour chosen
79
+ * none is.
80
+ */
81
+ export declare function minuteChoices(options: {
82
+ locale: string | string[] | undefined;
83
+ stepMinutes: number;
84
+ hour: string;
85
+ current?: string;
86
+ min?: string;
87
+ max?: string;
88
+ }): TimeChoice[];
89
+ //# sourceMappingURL=temporal-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"temporal-field.d.ts","sourceRoot":"","sources":["../../../src/components/util/temporal-field.ts"],"names":[],"mappings":"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"}
@@ -90,4 +90,44 @@ export interface ToastPauseChange {
90
90
  /** True while a pointer is over the toast, a finger is on it, or focus is inside it. */
91
91
  paused: boolean;
92
92
  }
93
+ /**
94
+ * How a `Toaster` presents its toasts. `"stack"` is the stack in the corner
95
+ * (and across the width on a phone); `"snackbar"` is the compact form for a
96
+ * phone, one at a time, docked above whatever is at the bottom; `"auto"` is
97
+ * the snackbar below 640px and the stack from there up.
98
+ */
99
+ export type ToasterMode = "stack" | "snackbar" | "auto";
100
+ /** The words of a toast on screen: its first line, and the line under it if there is one. */
101
+ export declare function toastTexts(toast: {
102
+ title?: string;
103
+ message: string;
104
+ type: string;
105
+ }, strings: Pick<ToasterStrings, "successTitle" | "errorTitle" | "warningTitle" | "infoTitle">): {
106
+ title: string;
107
+ message: string;
108
+ headerTitle: string;
109
+ secondLine: string;
110
+ };
111
+ /**
112
+ * True when the toast has to stay until a person has dealt with it, which
113
+ * makes it the one a `max` never drops: an error, one with an action, one
114
+ * with no end (`"persistent"`, or text too long to read in `long`).
115
+ */
116
+ export declare function toastStays(toast: {
117
+ title?: string;
118
+ message: string;
119
+ type: string;
120
+ duration?: ToastDuration;
121
+ action?: unknown;
122
+ }, defaultDuration?: ToastDuration): boolean;
123
+ /**
124
+ * Ids of toasts that a `max` is dropping to make room for a newer one. Such a
125
+ * toast leaves at once, without the exit motion: a newer toast is coming in
126
+ * where it is, and the two would otherwise lie on each other for a moment.
127
+ */
128
+ export declare const toastsReplaced: Set<string>;
129
+ /** The Material standard curve (`--ease-standard`), as an easing function for a script-driven slide. */
130
+ export declare function easeStandard(t: number): number;
131
+ /** A toast dragged further than this share of its width is dismissed, flick or not. */
132
+ export declare const TOAST_SWIPE_DISMISS_FRACTION = 0.4;
93
133
  //# sourceMappingURL=toaster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toaster.d.ts","sourceRoot":"","sources":["../../../src/components/util/toaster.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,oEAAoE;IACpE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAED,eAAO,MAAM,uBAAuB,EAAE,cAcrC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;CAAsD,CAAC;AAEnF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,GAAG,YAAY,GAAG,MAAM,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAchD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EACzF,eAAe,CAAC,EAAE,aAAa,GAChC,MAAM,CAQR;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC7B,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,wFAAwF;IACxF,MAAM,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"toaster.d.ts","sourceRoot":"","sources":["../../../src/components/util/toaster.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,oEAAoE;IACpE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAED,eAAO,MAAM,uBAAuB,EAAE,cAcrC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe;;;;CAAsD,CAAC;AAEnF;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,eAAe,GAAG,YAAY,GAAG,MAAM,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAchD;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,EAAE;IAAE,QAAQ,CAAC,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EACzF,eAAe,CAAC,EAAE,aAAa,GAChC,MAAM,CAQR;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC7B,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,wFAAwF;IACxF,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAExD,6FAA6F;AAC7F,wBAAgB,UAAU,CACtB,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACxD,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,YAAY,GAAG,cAAc,GAAG,WAAW,CAAC,GAC5F;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAmB7E;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACtB,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,EACpG,eAAe,CAAC,EAAE,aAAa,GAChC,OAAO,CAUT;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,aAAoB,CAAC;AAEhD,wGAAwG;AACxG,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAY9C;AAED,uFAAuF;AACvF,eAAO,MAAM,4BAA4B,MAAM,CAAC"}
@@ -0,0 +1,34 @@
1
+ import type { SurfaceTone } from "../types/variants.js";
2
+ export type ToneSurfaceOptions = {
3
+ tone?: SurfaceTone;
4
+ /** Any CSS colour for a fill the app chooses, such as `var(--group-colour)`. Wins over `tone`. */
5
+ fill?: string;
6
+ /** The label colour on `fill`, any CSS colour. Without it the label is the block's own text colour. */
7
+ onFill?: string;
8
+ };
9
+ export type ToneSurface = {
10
+ /** Utility classes for the fill and its on-colour scope; empty for `neutral`. */
11
+ classes: string;
12
+ /** Inline style for a custom fill, or undefined. */
13
+ style: string | undefined;
14
+ /** True when the surface is filled by tone or by `fill`, so the fill is its edge. */
15
+ filled: boolean;
16
+ /** True when the fill is the brand, the accent or a custom colour (the on-colour scope applies). */
17
+ scoped: boolean;
18
+ };
19
+ /**
20
+ * The classes and the inline style for a filled surface, shared by Card and Block.
21
+ *
22
+ * - `neutral` (the default): nothing, the component paints what it always did.
23
+ * - `tint`: the brand tint as a content surface. Text, links and rings are
24
+ * guarded on it, so it needs no on-colour scope.
25
+ * - `brand` / `accent`: the fill and its `on-brand` / `on-accent` scope.
26
+ * - `fill`: the app's own colour. Wins over `tone`. The scope is `on-fill`,
27
+ * with `onFill` as the label colour.
28
+ *
29
+ * The library cannot check the contrast of a `fill` and `onFill` pair: it is
30
+ * a colour the app picks at run time, so the app must hold the label to 4.5:1
31
+ * on the fill (3:1 for edges and focus rings).
32
+ */
33
+ export declare function toneSurface({ tone, fill, onFill }: ToneSurfaceOptions): ToneSurface;
34
+ //# sourceMappingURL=tone-surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tone-surface.d.ts","sourceRoot":"","sources":["../../../src/components/util/tone-surface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,kGAAkG;IAClG,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uGAAuG;IACvG,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACtB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,qFAAqF;IACrF,MAAM,EAAE,OAAO,CAAC;IAChB,oGAAoG;IACpG,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,kBAAkB,GAAG,WAAW,CAmB/F"}
@@ -2,10 +2,34 @@
2
2
  export interface TopNavbarStrings {
3
3
  /** Accessible name of the phone menu's button while the menu is closed. */
4
4
  openMenu: string;
5
- /** The same button, while the menu is open. */
5
+ /** The same button, while the inline menu is open (the sheet's own button closes it). */
6
6
  closeMenu: string;
7
+ /** The phone menu's sheet: its heading and its accessible name, and the name of the links' `nav` when the bar has no `ariaLabel`. */
8
+ menuTitle?: string;
9
+ /** The heading over the theme choice in the phone menu's sheet. */
10
+ themeHeading?: string;
7
11
  /** Read after the label of a link that opens in a new tab. */
8
12
  opensInNewTab: string;
9
13
  }
10
- export declare const DEFAULT_TOP_NAVBAR_STRINGS: TopNavbarStrings;
14
+ /**
15
+ * Every word, including the optional ones: `menuTitle` and `themeHeading` are
16
+ * optional in `TopNavbarStrings` so that code written before they existed, with
17
+ * a complete object, still type-checks.
18
+ */
19
+ export declare const DEFAULT_TOP_NAVBAR_STRINGS: Required<TopNavbarStrings>;
20
+ /**
21
+ * Where a piece of the bar's `actions` is drawn: in the `bar`, or in the
22
+ * `menu` sheet that opens below `collapseAt`, where it has the full width.
23
+ */
24
+ export type TopNavbarPlace = "bar" | "menu";
25
+ /** Called by the sheet's content: everything rendered inside it reads `"menu"`. */
26
+ export declare function markTopNavbarPlace(place: TopNavbarPlace): void;
27
+ /**
28
+ * Where the component calling this is drawn. Call it while the component
29
+ * initialises. A control in a TopNavbar's `actions` snippet can then draw
30
+ * itself large in the sheet and compact in the bar, with no argument to the
31
+ * snippet: `{#snippet actions()}<MyPicker />{/snippet}` keeps working. Outside
32
+ * a TopNavbar, in the bar and in `menu="inline"` it is `"bar"`.
33
+ */
34
+ export declare function getTopNavbarPlace(): TopNavbarPlace;
11
35
  //# sourceMappingURL=top-navbar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"top-navbar.d.ts","sourceRoot":"","sources":["../../../src/components/util/top-navbar.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC7B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,0BAA0B,EAAE,gBAIxC,CAAC"}
1
+ {"version":3,"file":"top-navbar.d.ts","sourceRoot":"","sources":["../../../src/components/util/top-navbar.ts"],"names":[],"mappings":"AAEA,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC7B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB,qIAAqI;IACrI,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,gBAAgB,CAMjE,CAAC;AAIF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAE5C,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAE9D;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAElD"}
@@ -1,11 +1,15 @@
1
1
  import type { AvatarGroupStrings } from "./avatar.js";
2
2
  import type { CalendarStrings } from "./calendar.js";
3
+ import type { DateFieldStrings, TimeFieldStrings } from "./temporal-field.js";
3
4
  import type { MediaGridStrings } from "./media-grid.js";
5
+ import type { CodeFieldStrings } from "./code-field.js";
4
6
  import type { PhotoGridStrings, PhotoViewerStrings } from "./photo.js";
7
+ import type { ProgressStrings } from "./progress.js";
5
8
  import type { PullToRefreshStrings } from "./pull-to-refresh.js";
6
9
  import type { RatingStrings } from "./rating.js";
7
10
  import type { ColorPickerStrings, ComponentDemoStrings, ContactFormStrings, PropsTableStrings } from "./ready-made-strings.js";
8
11
  import type { SelectStrings } from "./select.js";
12
+ import type { SkeletonStrings } from "./skeleton.js";
9
13
  import type { SidebarAccountPanelStrings, SidebarBrandHeaderStrings, SidebarFooterStrings, SidebarNavigationStrings } from "./sidebar.js";
10
14
  import type { SortableListStrings } from "./sortable-list.js";
11
15
  import type { StepperStrings } from "./stepper.js";
@@ -81,7 +85,9 @@ export interface ZabiStrings {
81
85
  avatarGroup?: Partial<AvatarGroupStrings>;
82
86
  calendar?: Partial<CalendarStrings>;
83
87
  codeBlock?: Partial<CodeBlockTexts>;
88
+ codeField?: Partial<CodeFieldStrings>;
84
89
  colorPicker?: Partial<ColorPickerStrings>;
90
+ dateField?: Partial<DateFieldStrings>;
85
91
  componentDemo?: Partial<ComponentDemoStrings>;
86
92
  contactForm?: Partial<ContactFormStrings>;
87
93
  imageUpload?: Partial<ImageUploadTexts>;
@@ -89,9 +95,11 @@ export interface ZabiStrings {
89
95
  photoGrid?: Partial<PhotoGridStrings>;
90
96
  photoViewer?: Partial<PhotoViewerStrings>;
91
97
  propsTable?: Partial<PropsTableStrings>;
98
+ progress?: Partial<ProgressStrings>;
92
99
  pullToRefresh?: Partial<PullToRefreshStrings>;
93
100
  rating?: Partial<RatingStrings>;
94
101
  select?: Partial<SelectStrings>;
102
+ skeleton?: Partial<SkeletonStrings>;
95
103
  sidebarAccountPanel?: Partial<SidebarAccountPanelStrings>;
96
104
  sidebarBrandHeader?: Partial<SidebarBrandHeaderStrings>;
97
105
  sidebarFooter?: Partial<SidebarFooterStrings>;
@@ -100,6 +108,7 @@ export interface ZabiStrings {
100
108
  stepper?: Partial<StepperStrings>;
101
109
  swipeableListItem?: Partial<SwipeableListItemStrings>;
102
110
  themeToggle?: Partial<ThemeToggleLabels>;
111
+ timeField?: Partial<TimeFieldStrings>;
103
112
  toast?: Partial<ToastTexts>;
104
113
  toaster?: Partial<ToasterStrings>;
105
114
  topNavbar?: Partial<TopNavbarStrings>;
@@ -1 +1 @@
1
- {"version":3,"file":"zabi-strings.d.ts","sourceRoot":"","sources":["../../../src/components/util/zabi-strings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zabi-strings.d.ts","sourceRoot":"","sources":["../../../src/components/util/zabi-strings.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EACR,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EACR,0BAA0B,EAC1B,yBAAyB,EACzB,oBAAoB,EACpB,wBAAwB,EAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,YAAY,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,2BAA2B,EAAE,iBAUzC,CAAC;AAOF,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE,MAAM,CAAC;CACtB;AACD,eAAO,MAAM,mBAAmB,EAAE,UAAiD,CAAC;AAEpF,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACvB,UAAU,EAAE,MAAM,CAAC;CACtB;AACD,eAAO,MAAM,mBAAmB,EAAE,UAA4C,CAAC;AAE/E,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACvB;AACD,eAAO,MAAM,wBAAwB,EAAE,cAGtC,CAAC;AAEF,oEAAoE;AACpE,MAAM,WAAW,gBAAgB;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AACD,eAAO,MAAM,0BAA0B,EAAE,gBASxC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACxB;AACD,eAAO,MAAM,iCAAiC,EAAE,sBAK/C,CAAC;AAEF,gFAAgF;AAChF,MAAM,WAAW,WAAW;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACpC,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACpC,mBAAmB,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAC1D,kBAAkB,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9C,iBAAiB,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC,iBAAiB,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACvD;AAED,qHAAqH;AACrH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;CACjC;AAKD,oGAAoG;AACpG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAQ3G;AAED,4GAA4G;AAC5G,wBAAgB,gBAAgB,IAAI,kBAAkB,GAAG,SAAS,CAEjE;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,kBAAkB,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,WAAW,EAAE,QAAQ,CAAC,EACzE,GAAG,EAAE,CAAC,GACP,MAAM,WAAW,CAAC,CAAC,CAAC,CAGtB;AAED,oEAAoE;AACpE,wBAAgB,iBAAiB,IAAI,MAAM,iBAAiB,CAM3D"}
@@ -18,7 +18,7 @@ const HELP = `zabi-theme: generate brand tokens for zabi-components
18
18
 
19
19
  Usage
20
20
  zabi-theme --brand <hex> [--pin] [--accent <hex>] [--pin-accent] [--neutral <hex>]
21
- [--neutral-chroma <n>]
21
+ [--neutral-chroma <n>] [--dark-primary brand|mirror]
22
22
  [--out <file>] [--strict] [--set <token>=<value> ...]
23
23
  [--set-light <token>=<value> ...] [--set-dark <token>=<value> ...]
24
24
 
@@ -34,6 +34,9 @@ Options
34
34
  tinted neutral. Needs --neutral. With it, the ink roles (secondary
35
35
  button, hover and pressed tints, overlay edge, shadow colour)
36
36
  follow the neutral ramp instead of staying grey.
37
+ --dark-primary <brand|mirror>
38
+ Dark primary and danger fills. brand (default): the same steps as
39
+ light, with a white label. mirror: the 8.1 pale mirrored steps.
37
40
  --out <file> Write the CSS here. Without it the CSS goes to stdout.
38
41
  --strict Exit 1 when any role pair is below WCAG AA.
39
42
  --set <t>=<v> Also write this declaration, e.g. --set "--color-link=var(--color-brand-800)".
@@ -63,7 +66,7 @@ Import the file after the theme:
63
66
  @import "./brand.generated.css";
64
67
  `;
65
68
 
66
- const VALUE_OPTIONS = ['brand', 'accent', 'neutral', 'neutral-chroma', 'out'];
69
+ const VALUE_OPTIONS = ['brand', 'accent', 'neutral', 'neutral-chroma', 'dark-primary', 'out'];
67
70
  const FLAG_OPTIONS = ['strict', 'help', 'pin', 'pin-accent'];
68
71
 
69
72
  function usageError(message) {
@@ -124,6 +127,7 @@ try {
124
127
  neutral: options.neutral,
125
128
  // Left out when not asked for, so the options are what they always were.
126
129
  ...(options['neutral-chroma'] !== undefined ? { neutralChroma: parseChroma(options['neutral-chroma']) } : {}),
130
+ ...(options['dark-primary'] !== undefined ? { darkPrimary: options['dark-primary'] } : {}),
127
131
  // `--set` alone is the flat map, as it always was; a mode flag makes it { light, dark, both }.
128
132
  overrides: options.modes && (options.modes.light || options.modes.dark) ? options.modes : options.modes?.both,
129
133
  // Left out when not asked for, so the options are what they always were.
@@ -44,6 +44,20 @@ export interface CreateThemeOptions {
44
44
  * without the option.
45
45
  */
46
46
  neutralChroma?: number;
47
+ /**
48
+ * What the dark primary and danger fills are. `'brand'` (the default) is
49
+ * what the library does: the same steps as light (600, 700, 800) with a
50
+ * white label, so the main action keeps its colour in dark, and nothing
51
+ * extra is written. `'mirror'` restores the 8.1 behaviour: under the dark
52
+ * selectors the primary is the mirrored `--color-brand-600 | 700 | 800`
53
+ * (pale steps in dark), danger the mirrored `--color-error-600 | 700 | 800`,
54
+ * the label is chosen by the contrast check, and the control veil is the
55
+ * lighten-heavy 22% / 6%. A `dark` or `both` override of any of these roles
56
+ * wins over both settings. With `pin`, dark takes the pinned colour only
57
+ * when no guarded pair fails with it, and otherwise keeps what this option
58
+ * gives.
59
+ */
60
+ darkPrimary?: 'brand' | 'mirror';
47
61
  /**
48
62
  * Extra declarations written after the ramps, for example
49
63
  * `{ "--color-link": "var(--color-brand-800)" }`. They apply in light and in
@@ -144,14 +158,14 @@ export interface ClosestStep {
144
158
  export interface CreateThemeResult {
145
159
  /**
146
160
  * The stylesheet: a header comment and one `:root { … }` rule. With `pin`,
147
- * `neutralChroma` or `light` / `dark` overrides, two more rules follow, with the dark values of those roles:
161
+ * `neutralChroma`, `darkPrimary: 'mirror'` or `light` / `dark` overrides, two more rules follow, with the dark values of those roles:
148
162
  * `.dark, [data-theme="dark"] { … }` and the same declarations for
149
163
  * `[data-theme="auto"]` inside `@media (prefers-color-scheme: dark)`.
150
164
  */
151
165
  css: string;
152
166
  /** Every declaration of the `:root` rule, name to value, in output order. */
153
167
  tokens: Record<string, string>;
154
- /** Only with `pin`, `neutralChroma` or `light` / `dark` overrides: every declaration of the dark rules. */
168
+ /** Only with `pin`, `neutralChroma`, `darkPrimary: 'mirror'` or `light` / `dark` overrides: every declaration of the dark rules. */
155
169
  darkTokens?: Record<string, string>;
156
170
  /** Only with `pin`: what was pinned and which roles took the colour. */
157
171
  pinned?: { brand?: PinReport; accent?: PinReport };
@@ -165,7 +179,7 @@ export interface CreateThemeResult {
165
179
  * every guarded role pair in light and dark. Deterministic: the same options
166
180
  * give the same bytes.
167
181
  *
168
- * @throws {TypeError} when `brand` is missing, a colour is not a hex value, or `neutralChroma` is not a number from 0 to 0.1 or is given without `neutral`.
182
+ * @throws {TypeError} when `brand` is missing, a colour is not a hex value, `neutralChroma` is not a number from 0 to 0.1 or is given without `neutral`, or `darkPrimary` is not `'brand'` or `'mirror'`.
169
183
  */
170
184
  export function createTheme(options: CreateThemeOptions): CreateThemeResult;
171
185
  export default createTheme;