sherick-ui 2.9.0 → 2.11.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 (284) hide show
  1. package/README.md +32 -0
  2. package/dist/cjs/components/Accordion.cjs +14 -26
  3. package/dist/cjs/components/Accordion.cjs.map +1 -1
  4. package/dist/cjs/components/Alert.cjs +60 -19
  5. package/dist/cjs/components/Alert.cjs.map +1 -1
  6. package/dist/cjs/components/AlertDialog.cjs +5 -3
  7. package/dist/cjs/components/AlertDialog.cjs.map +1 -1
  8. package/dist/cjs/components/Avatar.cjs +12 -3
  9. package/dist/cjs/components/Avatar.cjs.map +1 -1
  10. package/dist/cjs/components/Badge.cjs +5 -3
  11. package/dist/cjs/components/Badge.cjs.map +1 -1
  12. package/dist/cjs/components/Breadcrumb.cjs +8 -4
  13. package/dist/cjs/components/Breadcrumb.cjs.map +1 -1
  14. package/dist/cjs/components/Button.cjs +14 -4
  15. package/dist/cjs/components/Button.cjs.map +1 -1
  16. package/dist/cjs/components/Calendar.cjs +39 -4
  17. package/dist/cjs/components/Calendar.cjs.map +1 -1
  18. package/dist/cjs/components/Card.cjs +10 -6
  19. package/dist/cjs/components/Card.cjs.map +1 -1
  20. package/dist/cjs/components/Checkbox.cjs +15 -3
  21. package/dist/cjs/components/Checkbox.cjs.map +1 -1
  22. package/dist/cjs/components/CheckboxGroup.cjs +3 -2
  23. package/dist/cjs/components/CheckboxGroup.cjs.map +1 -1
  24. package/dist/cjs/components/Chip.cjs +53 -43
  25. package/dist/cjs/components/Chip.cjs.map +1 -1
  26. package/dist/cjs/components/ChipGroup.cjs +17 -0
  27. package/dist/cjs/components/ChipGroup.cjs.map +1 -1
  28. package/dist/cjs/components/Collapsible.cjs +1 -1
  29. package/dist/cjs/components/Collapsible.cjs.map +1 -1
  30. package/dist/cjs/components/Combobox.cjs +58 -14
  31. package/dist/cjs/components/Combobox.cjs.map +1 -1
  32. package/dist/cjs/components/Command.cjs +10 -4
  33. package/dist/cjs/components/Command.cjs.map +1 -1
  34. package/dist/cjs/components/CommandPalette.cjs +5 -2
  35. package/dist/cjs/components/CommandPalette.cjs.map +1 -1
  36. package/dist/cjs/components/DatePicker.cjs +6 -3
  37. package/dist/cjs/components/DatePicker.cjs.map +1 -1
  38. package/dist/cjs/components/DateRangePicker.cjs +3 -2
  39. package/dist/cjs/components/DateRangePicker.cjs.map +1 -1
  40. package/dist/cjs/components/DateTimePicker.cjs +1 -1
  41. package/dist/cjs/components/DateTimePicker.cjs.map +1 -1
  42. package/dist/cjs/components/Dialog.cjs +10 -3
  43. package/dist/cjs/components/Dialog.cjs.map +1 -1
  44. package/dist/cjs/components/DialogContent.cjs +5 -3
  45. package/dist/cjs/components/DialogContent.cjs.map +1 -1
  46. package/dist/cjs/components/DialogDescription.cjs +5 -3
  47. package/dist/cjs/components/DialogDescription.cjs.map +1 -1
  48. package/dist/cjs/components/DialogFooter.cjs +3 -3
  49. package/dist/cjs/components/DialogFooter.cjs.map +1 -1
  50. package/dist/cjs/components/DialogHeader.cjs +5 -3
  51. package/dist/cjs/components/DialogHeader.cjs.map +1 -1
  52. package/dist/cjs/components/DialogSurface.cjs +37 -15
  53. package/dist/cjs/components/DialogSurface.cjs.map +1 -1
  54. package/dist/cjs/components/DismissButton.cjs +24 -0
  55. package/dist/cjs/components/DismissButton.cjs.map +1 -0
  56. package/dist/cjs/components/Divider.cjs +3 -1
  57. package/dist/cjs/components/Divider.cjs.map +1 -1
  58. package/dist/cjs/components/Drawer.cjs +24 -14
  59. package/dist/cjs/components/Drawer.cjs.map +1 -1
  60. package/dist/cjs/components/Field.cjs +47 -2
  61. package/dist/cjs/components/Field.cjs.map +1 -1
  62. package/dist/cjs/components/FieldLabel.cjs +20 -0
  63. package/dist/cjs/components/FieldLabel.cjs.map +1 -0
  64. package/dist/cjs/components/FileUpload.cjs +19 -9
  65. package/dist/cjs/components/FileUpload.cjs.map +1 -1
  66. package/dist/cjs/components/IconButton.cjs +28 -7
  67. package/dist/cjs/components/IconButton.cjs.map +1 -1
  68. package/dist/cjs/components/Input.cjs +14 -5
  69. package/dist/cjs/components/Input.cjs.map +1 -1
  70. package/dist/cjs/components/Menu.cjs +18 -4
  71. package/dist/cjs/components/Menu.cjs.map +1 -1
  72. package/dist/cjs/components/NavGroup.cjs +7 -1
  73. package/dist/cjs/components/NavGroup.cjs.map +1 -1
  74. package/dist/cjs/components/NavItem.cjs +28 -3
  75. package/dist/cjs/components/NavItem.cjs.map +1 -1
  76. package/dist/cjs/components/NumberField.cjs +7 -6
  77. package/dist/cjs/components/NumberField.cjs.map +1 -1
  78. package/dist/cjs/components/Pagination.cjs +42 -8
  79. package/dist/cjs/components/Pagination.cjs.map +1 -1
  80. package/dist/cjs/components/Popover.cjs +13 -5
  81. package/dist/cjs/components/Popover.cjs.map +1 -1
  82. package/dist/cjs/components/Progress.cjs +5 -3
  83. package/dist/cjs/components/Progress.cjs.map +1 -1
  84. package/dist/cjs/components/RadioGroup.cjs +3 -2
  85. package/dist/cjs/components/RadioGroup.cjs.map +1 -1
  86. package/dist/cjs/components/Search.cjs +35 -14
  87. package/dist/cjs/components/Search.cjs.map +1 -1
  88. package/dist/cjs/components/SegmentedControl.cjs +2 -1
  89. package/dist/cjs/components/SegmentedControl.cjs.map +1 -1
  90. package/dist/cjs/components/Select.cjs +14 -4
  91. package/dist/cjs/components/Select.cjs.map +1 -1
  92. package/dist/cjs/components/Skeleton.cjs +5 -3
  93. package/dist/cjs/components/Skeleton.cjs.map +1 -1
  94. package/dist/cjs/components/Slider.cjs +1 -1
  95. package/dist/cjs/components/Slider.cjs.map +1 -1
  96. package/dist/cjs/components/Spinner.cjs +24 -14
  97. package/dist/cjs/components/Spinner.cjs.map +1 -1
  98. package/dist/cjs/components/StatusMark.cjs +43 -0
  99. package/dist/cjs/components/StatusMark.cjs.map +1 -0
  100. package/dist/cjs/components/Stepper.cjs +3 -3
  101. package/dist/cjs/components/Stepper.cjs.map +1 -1
  102. package/dist/cjs/components/Switch.cjs +20 -1
  103. package/dist/cjs/components/Switch.cjs.map +1 -1
  104. package/dist/cjs/components/Table.cjs +15 -7
  105. package/dist/cjs/components/Table.cjs.map +1 -1
  106. package/dist/cjs/components/Tabs.cjs +10 -3
  107. package/dist/cjs/components/Tabs.cjs.map +1 -1
  108. package/dist/cjs/components/Textarea.cjs +8 -4
  109. package/dist/cjs/components/Textarea.cjs.map +1 -1
  110. package/dist/cjs/components/Toast.cjs +47 -34
  111. package/dist/cjs/components/Toast.cjs.map +1 -1
  112. package/dist/cjs/components/ToggleGroup.cjs +14 -3
  113. package/dist/cjs/components/ToggleGroup.cjs.map +1 -1
  114. package/dist/cjs/components/Tooltip.cjs +16 -2
  115. package/dist/cjs/components/Tooltip.cjs.map +1 -1
  116. package/dist/cjs/components/TreeView.cjs +8 -4
  117. package/dist/cjs/components/TreeView.cjs.map +1 -1
  118. package/dist/cjs/components/choice-row.cjs +1 -1
  119. package/dist/cjs/components/choice-row.cjs.map +1 -1
  120. package/dist/cjs/components/date-family.cjs +16 -2
  121. package/dist/cjs/components/date-family.cjs.map +1 -1
  122. package/dist/cjs/components/date-field.cjs +4 -2
  123. package/dist/cjs/components/date-field.cjs.map +1 -1
  124. package/dist/cjs/components/edge-fade.cjs +80 -0
  125. package/dist/cjs/components/edge-fade.cjs.map +1 -0
  126. package/dist/cjs/components/scroll-region.cjs +56 -0
  127. package/dist/cjs/components/scroll-region.cjs.map +1 -0
  128. package/dist/cjs/components/time-panel.cjs +1 -1
  129. package/dist/cjs/components/time-panel.cjs.map +1 -1
  130. package/dist/cjs/components/ui.common.cjs +115 -58
  131. package/dist/cjs/components/ui.common.cjs.map +1 -1
  132. package/dist/cjs/components/ui.motion.cjs +41 -15
  133. package/dist/cjs/components/ui.motion.cjs.map +1 -1
  134. package/dist/cjs/dev.cjs +5 -0
  135. package/dist/cjs/dev.cjs.map +1 -1
  136. package/dist/cjs/index.cjs +1 -0
  137. package/dist/cjs/index.cjs.map +1 -1
  138. package/dist/esm/components/Accordion.js +16 -28
  139. package/dist/esm/components/Accordion.js.map +1 -1
  140. package/dist/esm/components/Alert.js +62 -22
  141. package/dist/esm/components/Alert.js.map +1 -1
  142. package/dist/esm/components/AlertDialog.js +6 -4
  143. package/dist/esm/components/AlertDialog.js.map +1 -1
  144. package/dist/esm/components/Avatar.js +14 -5
  145. package/dist/esm/components/Avatar.js.map +1 -1
  146. package/dist/esm/components/Badge.js +5 -3
  147. package/dist/esm/components/Badge.js.map +1 -1
  148. package/dist/esm/components/Breadcrumb.js +9 -5
  149. package/dist/esm/components/Breadcrumb.js.map +1 -1
  150. package/dist/esm/components/Button.js +14 -4
  151. package/dist/esm/components/Button.js.map +1 -1
  152. package/dist/esm/components/Calendar.js +42 -7
  153. package/dist/esm/components/Calendar.js.map +1 -1
  154. package/dist/esm/components/Card.js +12 -8
  155. package/dist/esm/components/Card.js.map +1 -1
  156. package/dist/esm/components/Checkbox.js +16 -4
  157. package/dist/esm/components/Checkbox.js.map +1 -1
  158. package/dist/esm/components/CheckboxGroup.js +3 -2
  159. package/dist/esm/components/CheckboxGroup.js.map +1 -1
  160. package/dist/esm/components/Chip.js +56 -46
  161. package/dist/esm/components/Chip.js.map +1 -1
  162. package/dist/esm/components/ChipGroup.js +18 -1
  163. package/dist/esm/components/ChipGroup.js.map +1 -1
  164. package/dist/esm/components/CodeBlock.js +58 -28
  165. package/dist/esm/components/CodeBlock.js.map +1 -1
  166. package/dist/esm/components/Collapsible.js +1 -1
  167. package/dist/esm/components/Collapsible.js.map +1 -1
  168. package/dist/esm/components/Combobox.js +62 -18
  169. package/dist/esm/components/Combobox.js.map +1 -1
  170. package/dist/esm/components/Command.js +11 -5
  171. package/dist/esm/components/Command.js.map +1 -1
  172. package/dist/esm/components/CommandPalette.js +7 -4
  173. package/dist/esm/components/CommandPalette.js.map +1 -1
  174. package/dist/esm/components/DatePicker.js +7 -4
  175. package/dist/esm/components/DatePicker.js.map +1 -1
  176. package/dist/esm/components/DateRangePicker.js +4 -3
  177. package/dist/esm/components/DateRangePicker.js.map +1 -1
  178. package/dist/esm/components/DateTimePicker.js +1 -1
  179. package/dist/esm/components/DateTimePicker.js.map +1 -1
  180. package/dist/esm/components/Dialog.js +12 -6
  181. package/dist/esm/components/Dialog.js.map +1 -1
  182. package/dist/esm/components/DialogContent.js +6 -4
  183. package/dist/esm/components/DialogContent.js.map +1 -1
  184. package/dist/esm/components/DialogDescription.js +6 -4
  185. package/dist/esm/components/DialogDescription.js.map +1 -1
  186. package/dist/esm/components/DialogFooter.js +3 -3
  187. package/dist/esm/components/DialogFooter.js.map +1 -1
  188. package/dist/esm/components/DialogHeader.js +5 -3
  189. package/dist/esm/components/DialogHeader.js.map +1 -1
  190. package/dist/esm/components/DialogSurface.js +38 -17
  191. package/dist/esm/components/DialogSurface.js.map +1 -1
  192. package/dist/esm/components/DismissButton.js +20 -0
  193. package/dist/esm/components/DismissButton.js.map +1 -0
  194. package/dist/esm/components/Divider.js +3 -1
  195. package/dist/esm/components/Divider.js.map +1 -1
  196. package/dist/esm/components/Drawer.js +27 -17
  197. package/dist/esm/components/Drawer.js.map +1 -1
  198. package/dist/esm/components/Field.js +49 -6
  199. package/dist/esm/components/Field.js.map +1 -1
  200. package/dist/esm/components/FieldLabel.js +15 -0
  201. package/dist/esm/components/FieldLabel.js.map +1 -0
  202. package/dist/esm/components/FileUpload.js +23 -13
  203. package/dist/esm/components/FileUpload.js.map +1 -1
  204. package/dist/esm/components/IconButton.js +30 -9
  205. package/dist/esm/components/IconButton.js.map +1 -1
  206. package/dist/esm/components/Input.js +15 -6
  207. package/dist/esm/components/Input.js.map +1 -1
  208. package/dist/esm/components/Markdown.js +7 -4
  209. package/dist/esm/components/Markdown.js.map +1 -1
  210. package/dist/esm/components/Menu.js +20 -6
  211. package/dist/esm/components/Menu.js.map +1 -1
  212. package/dist/esm/components/NavGroup.js +8 -2
  213. package/dist/esm/components/NavGroup.js.map +1 -1
  214. package/dist/esm/components/NavItem.js +30 -6
  215. package/dist/esm/components/NavItem.js.map +1 -1
  216. package/dist/esm/components/NumberField.js +8 -7
  217. package/dist/esm/components/NumberField.js.map +1 -1
  218. package/dist/esm/components/Pagination.js +43 -9
  219. package/dist/esm/components/Pagination.js.map +1 -1
  220. package/dist/esm/components/Popover.js +14 -6
  221. package/dist/esm/components/Popover.js.map +1 -1
  222. package/dist/esm/components/Progress.js +5 -3
  223. package/dist/esm/components/Progress.js.map +1 -1
  224. package/dist/esm/components/RadioGroup.js +3 -2
  225. package/dist/esm/components/RadioGroup.js.map +1 -1
  226. package/dist/esm/components/Search.js +36 -15
  227. package/dist/esm/components/Search.js.map +1 -1
  228. package/dist/esm/components/SegmentedControl.js +2 -1
  229. package/dist/esm/components/SegmentedControl.js.map +1 -1
  230. package/dist/esm/components/Select.js +16 -6
  231. package/dist/esm/components/Select.js.map +1 -1
  232. package/dist/esm/components/Skeleton.js +5 -3
  233. package/dist/esm/components/Skeleton.js.map +1 -1
  234. package/dist/esm/components/Slider.js +2 -2
  235. package/dist/esm/components/Slider.js.map +1 -1
  236. package/dist/esm/components/Spinner.js +24 -14
  237. package/dist/esm/components/Spinner.js.map +1 -1
  238. package/dist/esm/components/StatusMark.js +38 -0
  239. package/dist/esm/components/StatusMark.js.map +1 -0
  240. package/dist/esm/components/Stepper.js +4 -4
  241. package/dist/esm/components/Stepper.js.map +1 -1
  242. package/dist/esm/components/Switch.js +21 -2
  243. package/dist/esm/components/Switch.js.map +1 -1
  244. package/dist/esm/components/Table.js +16 -8
  245. package/dist/esm/components/Table.js.map +1 -1
  246. package/dist/esm/components/Tabs.js +11 -4
  247. package/dist/esm/components/Tabs.js.map +1 -1
  248. package/dist/esm/components/Textarea.js +8 -4
  249. package/dist/esm/components/Textarea.js.map +1 -1
  250. package/dist/esm/components/Toast.js +49 -36
  251. package/dist/esm/components/Toast.js.map +1 -1
  252. package/dist/esm/components/ToggleGroup.js +16 -5
  253. package/dist/esm/components/ToggleGroup.js.map +1 -1
  254. package/dist/esm/components/Tooltip.js +17 -4
  255. package/dist/esm/components/Tooltip.js.map +1 -1
  256. package/dist/esm/components/TreeView.js +9 -5
  257. package/dist/esm/components/TreeView.js.map +1 -1
  258. package/dist/esm/components/choice-row.js +1 -1
  259. package/dist/esm/components/choice-row.js.map +1 -1
  260. package/dist/esm/components/date-family.js +15 -3
  261. package/dist/esm/components/date-family.js.map +1 -1
  262. package/dist/esm/components/date-field.js +5 -3
  263. package/dist/esm/components/date-field.js.map +1 -1
  264. package/dist/esm/components/edge-fade.js +77 -0
  265. package/dist/esm/components/edge-fade.js.map +1 -0
  266. package/dist/esm/components/scroll-region.js +52 -0
  267. package/dist/esm/components/scroll-region.js.map +1 -0
  268. package/dist/esm/components/time-panel.js +1 -1
  269. package/dist/esm/components/time-panel.js.map +1 -1
  270. package/dist/esm/components/ui.common.js +115 -60
  271. package/dist/esm/components/ui.common.js.map +1 -1
  272. package/dist/esm/components/ui.motion.js +39 -16
  273. package/dist/esm/components/ui.motion.js.map +1 -1
  274. package/dist/esm/content.js +1 -1
  275. package/dist/esm/dev.js +2 -2
  276. package/dist/esm/index.js +1 -1
  277. package/dist/styles.css +326 -200
  278. package/dist/theme.css +15 -12
  279. package/dist/types/content.d.ts +13 -3
  280. package/dist/types/dev.d.cts +65 -30
  281. package/dist/types/dev.d.ts +65 -30
  282. package/dist/types/index.d.cts +505 -166
  283. package/dist/types/index.d.ts +505 -166
  284. package/package.json +1 -1
package/dist/theme.css CHANGED
@@ -88,12 +88,12 @@
88
88
  --sui-primary-strong: 0.720 0.160 292;
89
89
  --sui-primary-soft: 0.300 0.075 292;
90
90
  --sui-primary-selected: 0.375 0.105 292;
91
- --sui-danger-soft: 0.290 0.060 25;
92
- --sui-danger-selected: 0.360 0.085 25;
93
- --sui-warning-soft: 0.300 0.050 75;
94
- --sui-warning-selected: 0.370 0.070 75;
95
- --sui-success-soft: 0.290 0.050 160;
96
- --sui-success-selected: 0.360 0.070 160;
91
+ --sui-danger-soft: 0.260 0.040 25;
92
+ --sui-danger-selected: 0.330 0.062 25;
93
+ --sui-warning-soft: 0.260 0.040 75;
94
+ --sui-warning-selected: 0.330 0.060 75;
95
+ --sui-success-soft: 0.260 0.040 160;
96
+ --sui-success-selected: 0.330 0.060 160;
97
97
  --sui-accent: 0.80 0.08 215;
98
98
  --sui-danger: 0.775 0.130 25;
99
99
  --sui-warning: 0.830 0.120 80;
@@ -159,12 +159,12 @@
159
159
  --sui-primary-strong: 0.720 0.160 292;
160
160
  --sui-primary-soft: 0.300 0.075 292;
161
161
  --sui-primary-selected: 0.375 0.105 292;
162
- --sui-danger-soft: 0.290 0.060 25;
163
- --sui-danger-selected: 0.360 0.085 25;
164
- --sui-warning-soft: 0.300 0.050 75;
165
- --sui-warning-selected: 0.370 0.070 75;
166
- --sui-success-soft: 0.290 0.050 160;
167
- --sui-success-selected: 0.360 0.070 160;
162
+ --sui-danger-soft: 0.260 0.040 25;
163
+ --sui-danger-selected: 0.330 0.062 25;
164
+ --sui-warning-soft: 0.260 0.040 75;
165
+ --sui-warning-selected: 0.330 0.060 75;
166
+ --sui-success-soft: 0.260 0.040 160;
167
+ --sui-success-selected: 0.330 0.060 160;
168
168
  --sui-accent: 0.80 0.08 215;
169
169
  --sui-danger: 0.775 0.130 25;
170
170
  --sui-warning: 0.830 0.120 80;
@@ -227,6 +227,9 @@
227
227
  --sui-duration-activity: 1400ms;
228
228
  --sui-duration-spin: 1000ms;
229
229
  --sui-duration-pulse: 2000ms;
230
+ --sui-duration-breathe: 2000ms;
231
+ --sui-duration-utility: 100ms;
232
+ --sui-duration-utility-exit: 80ms;
230
233
  --sui-ease-pulse: cubic-bezier(0.4, 0, 0.6, 1);
231
234
  --sui-ease-press: cubic-bezier(0.4, 0, 0.2, 1);
232
235
  --sui-ease-release: cubic-bezier(0.16, 1, 0.3, 1);
@@ -1,17 +1,27 @@
1
1
  import React, { ReactNode } from 'react';
2
2
 
3
+ interface InlineCodeProps {
4
+ className?: string;
5
+ children?: ReactNode;
6
+ }
7
+ declare const InlineCode: ({ className, children }: InlineCodeProps) => React.JSX.Element;
3
8
  interface CodeBlockProps {
9
+ /** @deprecated Render `InlineCode` for code inside a sentence. This is kept for one minor and maps to it. */
4
10
  inline?: boolean;
5
11
  className?: string;
6
12
  children?: ReactNode;
7
13
  language?: string;
14
+ /** The copy action's label. */
15
+ copyLabel?: string;
16
+ /** The copy action's label once the code is on the clipboard. */
17
+ copiedLabel?: string;
8
18
  }
9
- declare const CodeBlock: ({ inline, className, language, children }: CodeBlockProps) => React.JSX.Element;
19
+ declare const CodeBlock: ({ inline, className, language, copyLabel, copiedLabel, children, }: CodeBlockProps) => React.JSX.Element;
10
20
 
11
21
  interface MarkdownProps {
12
22
  children: string;
13
23
  }
14
24
  declare const Markdown: ({ children }: MarkdownProps) => React.JSX.Element;
15
25
 
16
- export { CodeBlock, Markdown };
17
- export type { CodeBlockProps, MarkdownProps };
26
+ export { CodeBlock, InlineCode, Markdown };
27
+ export type { CodeBlockProps, InlineCodeProps, MarkdownProps };
@@ -1,16 +1,17 @@
1
1
  import { ClassValue } from 'clsx';
2
2
 
3
- declare const focusRing = "focus:outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-sherick-focus focus-visible:outline-offset-[3px]";
4
- declare const focusRingInset = "focus:outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-sherick-focus";
3
+ declare const focusRing = "focus:[outline-style:none] focus-visible:outline focus-visible:outline-2 focus-visible:outline-sherick-focus focus-visible:outline-offset-[3px]";
4
+ declare const focusRingInset = "focus:[outline-style:none] focus-visible:[outline-style:none] focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-sherick-focus forced-colors:focus-visible:outline forced-colors:focus-visible:outline-2 forced-colors:focus-visible:outline-offset-[-2px]";
5
5
  declare const parentFocusRingInset = "[:focus-visible>&]:ring-2 [:focus-visible>&]:ring-inset [:focus-visible>&]:ring-sherick-focus";
6
- declare const focusRingHeld = "focus:outline-none focus:outline focus:outline-2 focus:outline-sherick-focus focus:outline-offset-[3px] data-[popup-open]:outline data-[popup-open]:outline-2 data-[popup-open]:outline-sherick-focus data-[popup-open]:outline-offset-[3px]";
6
+ declare const focusRingHeld = "focus:outline focus:outline-2 focus:outline-sherick-focus focus:outline-offset-[3px] data-[popup-open]:outline data-[popup-open]:outline-2 data-[popup-open]:outline-sherick-focus data-[popup-open]:outline-offset-[3px]";
7
7
  declare const focusRingWithin = "has-[:focus-visible]:outline has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-sherick-focus has-[:focus-visible]:outline-offset-[3px]";
8
8
  declare const focusRingDrag = "data-[dragging]:outline data-[dragging]:outline-2 data-[dragging]:outline-sherick-focus data-[dragging]:outline-offset-[3px]";
9
9
  declare const groupFocusRing = "group-focus-visible:outline group-focus-visible:outline-2 group-focus-visible:outline-sherick-focus group-focus-visible:outline-offset-[3px]";
10
+ declare const forcedBoundary = "forced-colors:outline forced-colors:outline-1 forced-colors:outline-offset-[-1px]";
10
11
  declare const elevation: {
11
12
  readonly flat: "shadow-sherick-flat";
12
- readonly raised: "shadow-sherick-raised";
13
- readonly floating: "shadow-sherick-floating";
13
+ readonly raised: string;
14
+ readonly floating: string;
14
15
  readonly control: "shadow-sherick-control";
15
16
  readonly recessed: "shadow-sherick-recessed";
16
17
  readonly well: "shadow-sherick-well";
@@ -45,14 +46,16 @@ declare const edge: {
45
46
  };
46
47
  declare const state: {
47
48
  readonly recess: "active:shadow-sherick-recessed";
48
- readonly disabled: "cursor-not-allowed opacity-45";
49
- readonly effectiveDisabled: "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-45 disabled:cursor-not-allowed disabled:opacity-45";
50
- readonly disabledRow: "has-[[data-disabled]]:cursor-not-allowed has-[[data-disabled]]:opacity-45";
49
+ readonly disabled: "cursor-not-allowed opacity-45 aria-disabled:cursor-not-allowed aria-disabled:opacity-45";
50
+ readonly busy: "aria-busy:cursor-progress aria-busy:opacity-100";
51
+ readonly effectiveDisabled: "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-45 aria-disabled:cursor-not-allowed aria-disabled:opacity-45 disabled:cursor-not-allowed disabled:opacity-45";
52
+ readonly disabledRow: "has-[[data-disabled]]:cursor-not-allowed has-[[data-disabled]]:opacity-45 has-[[aria-disabled=true]]:cursor-not-allowed has-[[aria-disabled=true]]:opacity-45";
51
53
  readonly disabledDescendant: "cursor-not-allowed";
52
54
  readonly disabledPart: string;
53
55
  readonly engaged: "group-[:not([data-disabled])]:hover:scale-110 group-[:not([data-disabled])]:hover:bg-sherick-primary-strong group-[:not([data-disabled])]:hover:text-sherick-on-primary data-[dragging]:scale-110 data-[dragging]:bg-sherick-primary-strong data-[dragging]:text-sherick-on-primary";
54
56
  readonly enabled: "cursor-pointer";
55
57
  readonly text: "cursor-text";
58
+ readonly quietInk: "text-sherick-ink-muted hover:text-sherick-ink focus-visible:text-sherick-ink";
56
59
  readonly rowHover: "hover:bg-sherick-ink/[0.05]";
57
60
  readonly field: {
58
61
  readonly hover: "hover:bg-sherick-tray-deep";
@@ -88,9 +91,9 @@ declare const material: {
88
91
  readonly control: "bg-sherick-surface-high text-sherick-ink placeholder:text-sherick-ink-muted";
89
92
  readonly controlError: "bg-sherick-danger-soft text-sherick-ink placeholder:text-sherick-danger";
90
93
  readonly handle: "bg-sherick-ink-muted text-sherick-canvas";
91
- readonly acrylic: "bg-sherick-surface-float/[var(--sui-glass-fill)] bg-[image:var(--sui-glass-gradient)] text-sherick-ink backdrop-blur-[var(--sui-glass-blur)] backdrop-saturate-[var(--sui-glass-saturation)] backdrop-brightness-[var(--sui-glass-brightness)]";
92
- readonly acrylicDense: "bg-sherick-surface-float/[var(--sui-glass-dense-fill)] bg-[image:var(--sui-glass-gradient-dense)] text-sherick-ink backdrop-blur-[var(--sui-glass-dense-blur)] backdrop-saturate-[var(--sui-glass-dense-saturation)] backdrop-brightness-[var(--sui-glass-dense-brightness)]";
93
- readonly acrylicHero: "bg-sherick-surface-overlay/[var(--sui-overlay-fill)] bg-[image:var(--sui-glass-hero-gradient)] text-sherick-ink backdrop-blur-[var(--sui-glass-hero-blur)] backdrop-saturate-[var(--sui-glass-hero-saturation)] backdrop-brightness-[var(--sui-glass-hero-brightness)]";
94
+ readonly acrylic: "bg-sherick-surface-float/[var(--sui-glass-fill)] bg-[image:var(--sui-glass-gradient)] text-sherick-ink";
95
+ readonly acrylicDense: "bg-sherick-surface-float/[var(--sui-glass-dense-fill)] bg-[image:var(--sui-glass-gradient-dense)] text-sherick-ink";
96
+ readonly acrylicHero: "bg-sherick-surface-overlay/[var(--sui-overlay-fill)] bg-[image:var(--sui-glass-hero-gradient)] text-sherick-ink";
94
97
  };
95
98
  declare const mediaCanvas = "bg-sherick-media";
96
99
  declare const matteInset = "bg-sherick-surface-high/[0.35] text-sherick-ink";
@@ -101,12 +104,12 @@ declare const type: {
101
104
  readonly prominent: "text-lg";
102
105
  };
103
106
  readonly label: "text-sm leading-5 font-medium";
104
- readonly body: "text-sm leading-6";
105
- readonly supporting: "text-[0.8125rem] leading-5";
106
- readonly caption: "text-xs leading-4";
107
- readonly title: "text-base leading-6 font-semibold tracking-[-0.011em]";
108
- readonly heading: "text-xl leading-7 font-semibold tracking-[-0.02em]";
109
- readonly numeric: "tabular-nums";
107
+ readonly body: "text-sm leading-6 text-pretty";
108
+ readonly supporting: "text-[0.8125rem] leading-5 text-pretty";
109
+ readonly caption: "text-xs leading-4 text-pretty";
110
+ readonly title: "text-base leading-6 font-semibold tracking-[-0.011em] text-balance";
111
+ readonly heading: "text-xl leading-7 font-semibold tracking-[-0.02em] text-balance";
112
+ readonly numeric: "text-sm leading-5 tabular-nums";
110
113
  };
111
114
  declare const density: {
112
115
  readonly compact: string;
@@ -148,13 +151,19 @@ declare const detail: {
148
151
  /** The same tone as a block, for a gutter or a rail with thickness. */
149
152
  readonly fill: "bg-sherick-detail";
150
153
  };
154
+ declare const headingRhythm: {
155
+ readonly title: "mt-1";
156
+ readonly heading: "mt-2";
157
+ };
151
158
  declare const list: {
152
159
  readonly sheet: "max-w-[var(--available-width)] max-h-[var(--available-height)] overflow-y-auto";
160
+ readonly commandIcon: "inline-flex size-4 shrink-0 items-center justify-center [&>svg]:size-4";
153
161
  readonly option: string;
154
162
  readonly groupLabel: string;
155
163
  readonly command: string;
156
164
  };
157
165
  declare const disclosure: {
166
+ readonly chevron: "inline-flex size-5 shrink-0 items-center justify-center [&>svg]:size-5";
158
167
  readonly trigger: string;
159
168
  readonly panel: string;
160
169
  };
@@ -244,6 +253,9 @@ declare const recipeAlphas: {
244
253
  readonly neutralSoft: number;
245
254
  readonly neutralRest: number;
246
255
  };
256
+ readonly code: {
257
+ readonly well: number;
258
+ };
247
259
  readonly field: {
248
260
  readonly quiet: number;
249
261
  readonly card: number;
@@ -255,13 +267,13 @@ declare const recipeAlphas: {
255
267
  readonly error: number;
256
268
  };
257
269
  };
258
- declare const fieldLayout = "flex min-w-0 w-full flex-col [overflow-wrap:anywhere]";
270
+ declare const fieldLayout = "flex min-w-0 w-full flex-col gap-2 [overflow-wrap:anywhere] [&>label+p]:-mt-1";
259
271
  declare const fieldLabel: string;
260
272
  declare const fieldMessage: {
261
273
  readonly description: string;
262
274
  readonly error: string;
263
275
  };
264
- declare const codeWell = "bg-sherick-canvas/[0.28]";
276
+ declare const codeWell: "bg-sherick-surface-high/[0.72] text-sherick-ink";
265
277
  declare const richText: {
266
278
  readonly quoteRule: "border-sherick-primary/[0.45]";
267
279
  readonly linkUnderline: "decoration-sherick-primary/[0.35] hover:decoration-sherick-primary";
@@ -320,27 +332,50 @@ declare const motionDirect = "transition-[inset-inline-start,width,height,backgr
320
332
  declare const motionPresenceAnchored: string;
321
333
  /** A tooltip: the same side-aware model and the same grow as an anchored popup, deliberately
322
334
  * lighter — it settles on the local timing rather than the overlay timing, and it never
323
- * bounces. */
335
+ * bounces. A tooltip that Base opens during its warm-up (`data-instant`, because another tooltip
336
+ * was just closed) takes no timing at all: the next hint is already where the reader moved to. */
324
337
  declare const motionPresenceTooltip: string;
338
+ /** The utility tier: a small surface a reader opened from the keyboard, or a menu they asked for.
339
+ * It is opacity only — no travel, no scale and no scrim ramp — on the short utility timing, so the
340
+ * surface is there as soon as the key that opened it has been answered. */
341
+ declare const motionPresenceUtility: string;
325
342
  /** A modal surface: anchored to the viewport rather than to a trigger, so it has no side
326
343
  * to grow from. A large surface never bounces; it fades, rises a little and settles, and its
327
344
  * scale stays restrained because a plane this big grows visibly even from a few percent. */
328
345
  declare const motionPresenceModal: string;
329
- /** The plane behind a surface that owns the viewport. Opacity only: a blur or a filter is
330
- * never animated, so the plane can never animate the page behind it. */
331
- declare const motionPresenceScrim = "transition-opacity duration-overlay ease-release data-[starting-style]:opacity-0 data-[ending-style]:opacity-0 data-[ending-style]:duration-overlay-exit data-[ending-style]:ease-exit";
346
+ /** The plane behind a surface that owns the viewport. Only its tint fades, and the tint is the
347
+ * `::before` layer `overlay.scrim` paints: the element itself carries the backdrop blur, and a
348
+ * presence recipe never animates a node that carries `backdrop-filter`, because every frame of
349
+ * such an animation re-blurs the page behind it. The blur therefore arrives with the plane, and
350
+ * the tint fades in front of it. */
351
+ declare const motionPresenceScrim: string;
352
+ /** The scrim of a utility surface. A surface the reader opened from the keyboard answers on the
353
+ * utility timing, and its plane fades on that same timing, so the backdrop is not slower than the
354
+ * surface it sits behind. */
355
+ declare const motionPresenceScrimUtility: string;
332
356
  /** Continuous activity is a distinct intent, not an exception to interaction motion: it
333
- * reports work rather than answering an event, and it has no entrance of its own. */
334
- declare const motionActivitySpin = "animate-spin motion-reduce:animate-none";
335
- declare const motionActivityPulse = "animate-pulse motion-reduce:animate-none";
357
+ * reports work rather than answering an event, and it has no entrance of its own.
358
+ *
359
+ * Reduced motion removes the *travel* of an activity loop — the rotation, the sweep — and keeps
360
+ * the loop as an opacity change. A spinner that simply stopped reads as finished, and a user who
361
+ * asked for less motion still needs to know the work is running. The reduced form is therefore
362
+ * a slow breathe for the spinner and a softer pulse for a skeleton, both on the authored pace. */
363
+ declare const motionActivitySpin = "animate-spin motion-reduce:animate-sherick-breathe";
364
+ declare const motionActivityPulse = "animate-pulse motion-reduce:animate-sherick-soft-pulse";
365
+ /** The reduced form of an indeterminate bar. The sweep is removed — its travel is the thing reduced
366
+ * motion takes away — and the fill is held at the full width of its track, where its opacity
367
+ * breathes on the same slow loop the spinner takes. A progress part that owns this class sets its
368
+ * fill to the whole track under `motion-reduce`, so the reader still sees a bar that is busy.
369
+ * Exported separately so `Progress` can pair it with its own width rule. */
370
+ declare const motionActivityIndeterminateReduced = "motion-reduce:animate-sherick-breathe";
336
371
  /** The indeterminate half of a progress bar. A task with no known value cannot report a
337
372
  * position, so it reports *work* instead: the fill sweeps across its own track on the one loop
338
373
  * that is paced, because a loop that reports rather than answers cannot arrive. The travel is a
339
374
  * composited transform rather than a laid-out edge, and an endless loop must never sit on the
340
375
  * layout path; the direction is a value the recipe flips with the writing direction, because a
341
- * transform is physical and the sweep follows the page. Under reduced motion the loop stops and
342
- * the fill rests where it starts: a static status glyph, exactly as the spin and the pulse rest. */
343
- declare const motionActivityIndeterminate = "animate-sherick-indeterminate [[dir=rtl]_&]:[--sui-indeterminate-direction:-1] motion-reduce:animate-none";
376
+ * transform is physical and the sweep follows the page. Under reduced motion the sweep gives way
377
+ * to the opacity breathe above, so the bar keeps saying that work is running without moving. */
378
+ declare const motionActivityIndeterminate: string;
344
379
  /** The state layer is a composited overlay, so its own opacity is the only thing that
345
380
  * moves. Shared here because four interaction states across the library ride it. */
346
381
  /** A row in a collection moves its highlight rather than fading it: a highlight is where the reader
@@ -363,5 +398,5 @@ declare const motionPresenceToast: string;
363
398
  */
364
399
  declare const cn: (...inputs: ClassValue[]) => string;
365
400
 
366
- export { cn, codeWell, currentDestination, density, detail, disclosure, edge, edgeTone, elevation, fieldLabel, fieldLayout, fieldMessage, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, groupFocusRing, hitArea, iconSlot, iconStroke, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionRelocate, motionRelocateLong, motionRim, motionRowLayer, motionStateLayer, motionTactile, motionTactileField, motionTactileWide, overlay, parentFocusRingInset, puck, recessedTop, recipeAlphas, richText, rim, selectable, selectableRowSupporting, selectableRowSurface, shape, stacking, state, stateLayer, stateLayerQuietComposite, text, tone, type };
401
+ export { cn, codeWell, currentDestination, density, detail, disclosure, edge, edgeTone, elevation, fieldLabel, fieldLayout, fieldMessage, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, forcedBoundary, groupFocusRing, headingRhythm, hitArea, iconSlot, iconStroke, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityIndeterminateReduced, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceScrimUtility, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionPresenceUtility, motionRelocate, motionRelocateLong, motionRim, motionRowLayer, motionStateLayer, motionTactile, motionTactileField, motionTactileWide, overlay, parentFocusRingInset, puck, recessedTop, recipeAlphas, richText, rim, selectable, selectableRowSupporting, selectableRowSurface, shape, stacking, state, stateLayer, stateLayerQuietComposite, text, tone, type };
367
402
  export type { MotionIntent };
@@ -1,16 +1,17 @@
1
1
  import { ClassValue } from 'clsx';
2
2
 
3
- declare const focusRing = "focus:outline-none focus-visible:outline focus-visible:outline-2 focus-visible:outline-sherick-focus focus-visible:outline-offset-[3px]";
4
- declare const focusRingInset = "focus:outline-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-sherick-focus";
3
+ declare const focusRing = "focus:[outline-style:none] focus-visible:outline focus-visible:outline-2 focus-visible:outline-sherick-focus focus-visible:outline-offset-[3px]";
4
+ declare const focusRingInset = "focus:[outline-style:none] focus-visible:[outline-style:none] focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-sherick-focus forced-colors:focus-visible:outline forced-colors:focus-visible:outline-2 forced-colors:focus-visible:outline-offset-[-2px]";
5
5
  declare const parentFocusRingInset = "[:focus-visible>&]:ring-2 [:focus-visible>&]:ring-inset [:focus-visible>&]:ring-sherick-focus";
6
- declare const focusRingHeld = "focus:outline-none focus:outline focus:outline-2 focus:outline-sherick-focus focus:outline-offset-[3px] data-[popup-open]:outline data-[popup-open]:outline-2 data-[popup-open]:outline-sherick-focus data-[popup-open]:outline-offset-[3px]";
6
+ declare const focusRingHeld = "focus:outline focus:outline-2 focus:outline-sherick-focus focus:outline-offset-[3px] data-[popup-open]:outline data-[popup-open]:outline-2 data-[popup-open]:outline-sherick-focus data-[popup-open]:outline-offset-[3px]";
7
7
  declare const focusRingWithin = "has-[:focus-visible]:outline has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-sherick-focus has-[:focus-visible]:outline-offset-[3px]";
8
8
  declare const focusRingDrag = "data-[dragging]:outline data-[dragging]:outline-2 data-[dragging]:outline-sherick-focus data-[dragging]:outline-offset-[3px]";
9
9
  declare const groupFocusRing = "group-focus-visible:outline group-focus-visible:outline-2 group-focus-visible:outline-sherick-focus group-focus-visible:outline-offset-[3px]";
10
+ declare const forcedBoundary = "forced-colors:outline forced-colors:outline-1 forced-colors:outline-offset-[-1px]";
10
11
  declare const elevation: {
11
12
  readonly flat: "shadow-sherick-flat";
12
- readonly raised: "shadow-sherick-raised";
13
- readonly floating: "shadow-sherick-floating";
13
+ readonly raised: string;
14
+ readonly floating: string;
14
15
  readonly control: "shadow-sherick-control";
15
16
  readonly recessed: "shadow-sherick-recessed";
16
17
  readonly well: "shadow-sherick-well";
@@ -45,14 +46,16 @@ declare const edge: {
45
46
  };
46
47
  declare const state: {
47
48
  readonly recess: "active:shadow-sherick-recessed";
48
- readonly disabled: "cursor-not-allowed opacity-45";
49
- readonly effectiveDisabled: "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-45 disabled:cursor-not-allowed disabled:opacity-45";
50
- readonly disabledRow: "has-[[data-disabled]]:cursor-not-allowed has-[[data-disabled]]:opacity-45";
49
+ readonly disabled: "cursor-not-allowed opacity-45 aria-disabled:cursor-not-allowed aria-disabled:opacity-45";
50
+ readonly busy: "aria-busy:cursor-progress aria-busy:opacity-100";
51
+ readonly effectiveDisabled: "data-[disabled]:cursor-not-allowed data-[disabled]:opacity-45 aria-disabled:cursor-not-allowed aria-disabled:opacity-45 disabled:cursor-not-allowed disabled:opacity-45";
52
+ readonly disabledRow: "has-[[data-disabled]]:cursor-not-allowed has-[[data-disabled]]:opacity-45 has-[[aria-disabled=true]]:cursor-not-allowed has-[[aria-disabled=true]]:opacity-45";
51
53
  readonly disabledDescendant: "cursor-not-allowed";
52
54
  readonly disabledPart: string;
53
55
  readonly engaged: "group-[:not([data-disabled])]:hover:scale-110 group-[:not([data-disabled])]:hover:bg-sherick-primary-strong group-[:not([data-disabled])]:hover:text-sherick-on-primary data-[dragging]:scale-110 data-[dragging]:bg-sherick-primary-strong data-[dragging]:text-sherick-on-primary";
54
56
  readonly enabled: "cursor-pointer";
55
57
  readonly text: "cursor-text";
58
+ readonly quietInk: "text-sherick-ink-muted hover:text-sherick-ink focus-visible:text-sherick-ink";
56
59
  readonly rowHover: "hover:bg-sherick-ink/[0.05]";
57
60
  readonly field: {
58
61
  readonly hover: "hover:bg-sherick-tray-deep";
@@ -88,9 +91,9 @@ declare const material: {
88
91
  readonly control: "bg-sherick-surface-high text-sherick-ink placeholder:text-sherick-ink-muted";
89
92
  readonly controlError: "bg-sherick-danger-soft text-sherick-ink placeholder:text-sherick-danger";
90
93
  readonly handle: "bg-sherick-ink-muted text-sherick-canvas";
91
- readonly acrylic: "bg-sherick-surface-float/[var(--sui-glass-fill)] bg-[image:var(--sui-glass-gradient)] text-sherick-ink backdrop-blur-[var(--sui-glass-blur)] backdrop-saturate-[var(--sui-glass-saturation)] backdrop-brightness-[var(--sui-glass-brightness)]";
92
- readonly acrylicDense: "bg-sherick-surface-float/[var(--sui-glass-dense-fill)] bg-[image:var(--sui-glass-gradient-dense)] text-sherick-ink backdrop-blur-[var(--sui-glass-dense-blur)] backdrop-saturate-[var(--sui-glass-dense-saturation)] backdrop-brightness-[var(--sui-glass-dense-brightness)]";
93
- readonly acrylicHero: "bg-sherick-surface-overlay/[var(--sui-overlay-fill)] bg-[image:var(--sui-glass-hero-gradient)] text-sherick-ink backdrop-blur-[var(--sui-glass-hero-blur)] backdrop-saturate-[var(--sui-glass-hero-saturation)] backdrop-brightness-[var(--sui-glass-hero-brightness)]";
94
+ readonly acrylic: "bg-sherick-surface-float/[var(--sui-glass-fill)] bg-[image:var(--sui-glass-gradient)] text-sherick-ink";
95
+ readonly acrylicDense: "bg-sherick-surface-float/[var(--sui-glass-dense-fill)] bg-[image:var(--sui-glass-gradient-dense)] text-sherick-ink";
96
+ readonly acrylicHero: "bg-sherick-surface-overlay/[var(--sui-overlay-fill)] bg-[image:var(--sui-glass-hero-gradient)] text-sherick-ink";
94
97
  };
95
98
  declare const mediaCanvas = "bg-sherick-media";
96
99
  declare const matteInset = "bg-sherick-surface-high/[0.35] text-sherick-ink";
@@ -101,12 +104,12 @@ declare const type: {
101
104
  readonly prominent: "text-lg";
102
105
  };
103
106
  readonly label: "text-sm leading-5 font-medium";
104
- readonly body: "text-sm leading-6";
105
- readonly supporting: "text-[0.8125rem] leading-5";
106
- readonly caption: "text-xs leading-4";
107
- readonly title: "text-base leading-6 font-semibold tracking-[-0.011em]";
108
- readonly heading: "text-xl leading-7 font-semibold tracking-[-0.02em]";
109
- readonly numeric: "tabular-nums";
107
+ readonly body: "text-sm leading-6 text-pretty";
108
+ readonly supporting: "text-[0.8125rem] leading-5 text-pretty";
109
+ readonly caption: "text-xs leading-4 text-pretty";
110
+ readonly title: "text-base leading-6 font-semibold tracking-[-0.011em] text-balance";
111
+ readonly heading: "text-xl leading-7 font-semibold tracking-[-0.02em] text-balance";
112
+ readonly numeric: "text-sm leading-5 tabular-nums";
110
113
  };
111
114
  declare const density: {
112
115
  readonly compact: string;
@@ -148,13 +151,19 @@ declare const detail: {
148
151
  /** The same tone as a block, for a gutter or a rail with thickness. */
149
152
  readonly fill: "bg-sherick-detail";
150
153
  };
154
+ declare const headingRhythm: {
155
+ readonly title: "mt-1";
156
+ readonly heading: "mt-2";
157
+ };
151
158
  declare const list: {
152
159
  readonly sheet: "max-w-[var(--available-width)] max-h-[var(--available-height)] overflow-y-auto";
160
+ readonly commandIcon: "inline-flex size-4 shrink-0 items-center justify-center [&>svg]:size-4";
153
161
  readonly option: string;
154
162
  readonly groupLabel: string;
155
163
  readonly command: string;
156
164
  };
157
165
  declare const disclosure: {
166
+ readonly chevron: "inline-flex size-5 shrink-0 items-center justify-center [&>svg]:size-5";
158
167
  readonly trigger: string;
159
168
  readonly panel: string;
160
169
  };
@@ -244,6 +253,9 @@ declare const recipeAlphas: {
244
253
  readonly neutralSoft: number;
245
254
  readonly neutralRest: number;
246
255
  };
256
+ readonly code: {
257
+ readonly well: number;
258
+ };
247
259
  readonly field: {
248
260
  readonly quiet: number;
249
261
  readonly card: number;
@@ -255,13 +267,13 @@ declare const recipeAlphas: {
255
267
  readonly error: number;
256
268
  };
257
269
  };
258
- declare const fieldLayout = "flex min-w-0 w-full flex-col [overflow-wrap:anywhere]";
270
+ declare const fieldLayout = "flex min-w-0 w-full flex-col gap-2 [overflow-wrap:anywhere] [&>label+p]:-mt-1";
259
271
  declare const fieldLabel: string;
260
272
  declare const fieldMessage: {
261
273
  readonly description: string;
262
274
  readonly error: string;
263
275
  };
264
- declare const codeWell = "bg-sherick-canvas/[0.28]";
276
+ declare const codeWell: "bg-sherick-surface-high/[0.72] text-sherick-ink";
265
277
  declare const richText: {
266
278
  readonly quoteRule: "border-sherick-primary/[0.45]";
267
279
  readonly linkUnderline: "decoration-sherick-primary/[0.35] hover:decoration-sherick-primary";
@@ -320,27 +332,50 @@ declare const motionDirect = "transition-[inset-inline-start,width,height,backgr
320
332
  declare const motionPresenceAnchored: string;
321
333
  /** A tooltip: the same side-aware model and the same grow as an anchored popup, deliberately
322
334
  * lighter — it settles on the local timing rather than the overlay timing, and it never
323
- * bounces. */
335
+ * bounces. A tooltip that Base opens during its warm-up (`data-instant`, because another tooltip
336
+ * was just closed) takes no timing at all: the next hint is already where the reader moved to. */
324
337
  declare const motionPresenceTooltip: string;
338
+ /** The utility tier: a small surface a reader opened from the keyboard, or a menu they asked for.
339
+ * It is opacity only — no travel, no scale and no scrim ramp — on the short utility timing, so the
340
+ * surface is there as soon as the key that opened it has been answered. */
341
+ declare const motionPresenceUtility: string;
325
342
  /** A modal surface: anchored to the viewport rather than to a trigger, so it has no side
326
343
  * to grow from. A large surface never bounces; it fades, rises a little and settles, and its
327
344
  * scale stays restrained because a plane this big grows visibly even from a few percent. */
328
345
  declare const motionPresenceModal: string;
329
- /** The plane behind a surface that owns the viewport. Opacity only: a blur or a filter is
330
- * never animated, so the plane can never animate the page behind it. */
331
- declare const motionPresenceScrim = "transition-opacity duration-overlay ease-release data-[starting-style]:opacity-0 data-[ending-style]:opacity-0 data-[ending-style]:duration-overlay-exit data-[ending-style]:ease-exit";
346
+ /** The plane behind a surface that owns the viewport. Only its tint fades, and the tint is the
347
+ * `::before` layer `overlay.scrim` paints: the element itself carries the backdrop blur, and a
348
+ * presence recipe never animates a node that carries `backdrop-filter`, because every frame of
349
+ * such an animation re-blurs the page behind it. The blur therefore arrives with the plane, and
350
+ * the tint fades in front of it. */
351
+ declare const motionPresenceScrim: string;
352
+ /** The scrim of a utility surface. A surface the reader opened from the keyboard answers on the
353
+ * utility timing, and its plane fades on that same timing, so the backdrop is not slower than the
354
+ * surface it sits behind. */
355
+ declare const motionPresenceScrimUtility: string;
332
356
  /** Continuous activity is a distinct intent, not an exception to interaction motion: it
333
- * reports work rather than answering an event, and it has no entrance of its own. */
334
- declare const motionActivitySpin = "animate-spin motion-reduce:animate-none";
335
- declare const motionActivityPulse = "animate-pulse motion-reduce:animate-none";
357
+ * reports work rather than answering an event, and it has no entrance of its own.
358
+ *
359
+ * Reduced motion removes the *travel* of an activity loop — the rotation, the sweep — and keeps
360
+ * the loop as an opacity change. A spinner that simply stopped reads as finished, and a user who
361
+ * asked for less motion still needs to know the work is running. The reduced form is therefore
362
+ * a slow breathe for the spinner and a softer pulse for a skeleton, both on the authored pace. */
363
+ declare const motionActivitySpin = "animate-spin motion-reduce:animate-sherick-breathe";
364
+ declare const motionActivityPulse = "animate-pulse motion-reduce:animate-sherick-soft-pulse";
365
+ /** The reduced form of an indeterminate bar. The sweep is removed — its travel is the thing reduced
366
+ * motion takes away — and the fill is held at the full width of its track, where its opacity
367
+ * breathes on the same slow loop the spinner takes. A progress part that owns this class sets its
368
+ * fill to the whole track under `motion-reduce`, so the reader still sees a bar that is busy.
369
+ * Exported separately so `Progress` can pair it with its own width rule. */
370
+ declare const motionActivityIndeterminateReduced = "motion-reduce:animate-sherick-breathe";
336
371
  /** The indeterminate half of a progress bar. A task with no known value cannot report a
337
372
  * position, so it reports *work* instead: the fill sweeps across its own track on the one loop
338
373
  * that is paced, because a loop that reports rather than answers cannot arrive. The travel is a
339
374
  * composited transform rather than a laid-out edge, and an endless loop must never sit on the
340
375
  * layout path; the direction is a value the recipe flips with the writing direction, because a
341
- * transform is physical and the sweep follows the page. Under reduced motion the loop stops and
342
- * the fill rests where it starts: a static status glyph, exactly as the spin and the pulse rest. */
343
- declare const motionActivityIndeterminate = "animate-sherick-indeterminate [[dir=rtl]_&]:[--sui-indeterminate-direction:-1] motion-reduce:animate-none";
376
+ * transform is physical and the sweep follows the page. Under reduced motion the sweep gives way
377
+ * to the opacity breathe above, so the bar keeps saying that work is running without moving. */
378
+ declare const motionActivityIndeterminate: string;
344
379
  /** The state layer is a composited overlay, so its own opacity is the only thing that
345
380
  * moves. Shared here because four interaction states across the library ride it. */
346
381
  /** A row in a collection moves its highlight rather than fading it: a highlight is where the reader
@@ -363,5 +398,5 @@ declare const motionPresenceToast: string;
363
398
  */
364
399
  declare const cn: (...inputs: ClassValue[]) => string;
365
400
 
366
- export { cn, codeWell, currentDestination, density, detail, disclosure, edge, edgeTone, elevation, fieldLabel, fieldLayout, fieldMessage, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, groupFocusRing, hitArea, iconSlot, iconStroke, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionRelocate, motionRelocateLong, motionRim, motionRowLayer, motionStateLayer, motionTactile, motionTactileField, motionTactileWide, overlay, parentFocusRingInset, puck, recessedTop, recipeAlphas, richText, rim, selectable, selectableRowSupporting, selectableRowSurface, shape, stacking, state, stateLayer, stateLayerQuietComposite, text, tone, type };
401
+ export { cn, codeWell, currentDestination, density, detail, disclosure, edge, edgeTone, elevation, fieldLabel, fieldLayout, fieldMessage, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, forcedBoundary, groupFocusRing, headingRhythm, hitArea, iconSlot, iconStroke, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityIndeterminateReduced, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceScrimUtility, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionPresenceUtility, motionRelocate, motionRelocateLong, motionRim, motionRowLayer, motionStateLayer, motionTactile, motionTactileField, motionTactileWide, overlay, parentFocusRingInset, puck, recessedTop, recipeAlphas, richText, rim, selectable, selectableRowSupporting, selectableRowSurface, shape, stacking, state, stateLayer, stateLayerQuietComposite, text, tone, type };
367
402
  export type { MotionIntent };