sherick-ui 2.1.1 → 2.3.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 (139) hide show
  1. package/README.md +24 -1
  2. package/dist/cjs/components/Badge.cjs +1 -1
  3. package/dist/cjs/components/Badge.cjs.map +1 -1
  4. package/dist/cjs/components/Button.cjs +11 -2
  5. package/dist/cjs/components/Button.cjs.map +1 -1
  6. package/dist/cjs/components/Calendar.cjs +2 -2
  7. package/dist/cjs/components/Calendar.cjs.map +1 -1
  8. package/dist/cjs/components/Card.cjs +3 -2
  9. package/dist/cjs/components/Card.cjs.map +1 -1
  10. package/dist/cjs/components/Chip.cjs +3 -3
  11. package/dist/cjs/components/Chip.cjs.map +1 -1
  12. package/dist/cjs/components/Combobox.cjs +1 -1
  13. package/dist/cjs/components/Combobox.cjs.map +1 -1
  14. package/dist/cjs/components/Command.cjs +2 -2
  15. package/dist/cjs/components/Command.cjs.map +1 -1
  16. package/dist/cjs/components/CommandPalette.cjs +1 -1
  17. package/dist/cjs/components/CommandPalette.cjs.map +1 -1
  18. package/dist/cjs/components/DateRangePicker.cjs +1 -1
  19. package/dist/cjs/components/DateRangePicker.cjs.map +1 -1
  20. package/dist/cjs/components/DialogHeader.cjs +1 -1
  21. package/dist/cjs/components/DialogHeader.cjs.map +1 -1
  22. package/dist/cjs/components/Drawer.cjs +1 -1
  23. package/dist/cjs/components/Drawer.cjs.map +1 -1
  24. package/dist/cjs/components/Field.cjs +1 -1
  25. package/dist/cjs/components/Field.cjs.map +1 -1
  26. package/dist/cjs/components/FileUpload.cjs +2 -2
  27. package/dist/cjs/components/FileUpload.cjs.map +1 -1
  28. package/dist/cjs/components/IconButton.cjs +1 -1
  29. package/dist/cjs/components/IconButton.cjs.map +1 -1
  30. package/dist/cjs/components/Input.cjs +1 -1
  31. package/dist/cjs/components/Input.cjs.map +1 -1
  32. package/dist/cjs/components/NavItem.cjs +3 -3
  33. package/dist/cjs/components/NavItem.cjs.map +1 -1
  34. package/dist/cjs/components/NumberField.cjs +1 -1
  35. package/dist/cjs/components/NumberField.cjs.map +1 -1
  36. package/dist/cjs/components/Pagination.cjs +1 -1
  37. package/dist/cjs/components/Pagination.cjs.map +1 -1
  38. package/dist/cjs/components/Progress.cjs +7 -4
  39. package/dist/cjs/components/Progress.cjs.map +1 -1
  40. package/dist/cjs/components/RadioGroup.cjs +3 -2
  41. package/dist/cjs/components/RadioGroup.cjs.map +1 -1
  42. package/dist/cjs/components/Select.cjs +1 -1
  43. package/dist/cjs/components/Select.cjs.map +1 -1
  44. package/dist/cjs/components/Slider.cjs +1 -1
  45. package/dist/cjs/components/Slider.cjs.map +1 -1
  46. package/dist/cjs/components/Stepper.cjs +5 -1
  47. package/dist/cjs/components/Stepper.cjs.map +1 -1
  48. package/dist/cjs/components/Table.cjs +10 -2
  49. package/dist/cjs/components/Table.cjs.map +1 -1
  50. package/dist/cjs/components/Tabs.cjs +1 -1
  51. package/dist/cjs/components/Tabs.cjs.map +1 -1
  52. package/dist/cjs/components/Textarea.cjs +1 -1
  53. package/dist/cjs/components/Textarea.cjs.map +1 -1
  54. package/dist/cjs/components/Toast.cjs +5 -2
  55. package/dist/cjs/components/Toast.cjs.map +1 -1
  56. package/dist/cjs/components/Tooltip.cjs +1 -1
  57. package/dist/cjs/components/Tooltip.cjs.map +1 -1
  58. package/dist/cjs/components/TreeView.cjs +43 -10
  59. package/dist/cjs/components/TreeView.cjs.map +1 -1
  60. package/dist/cjs/components/ui.common.cjs +109 -44
  61. package/dist/cjs/components/ui.common.cjs.map +1 -1
  62. package/dist/cjs/components/ui.motion.cjs +37 -13
  63. package/dist/cjs/components/ui.motion.cjs.map +1 -1
  64. package/dist/cjs/dev.cjs +10 -0
  65. package/dist/cjs/dev.cjs.map +1 -1
  66. package/dist/esm/components/Badge.js +2 -2
  67. package/dist/esm/components/Badge.js.map +1 -1
  68. package/dist/esm/components/Button.js +12 -3
  69. package/dist/esm/components/Button.js.map +1 -1
  70. package/dist/esm/components/Calendar.js +3 -3
  71. package/dist/esm/components/Calendar.js.map +1 -1
  72. package/dist/esm/components/Card.js +4 -3
  73. package/dist/esm/components/Card.js.map +1 -1
  74. package/dist/esm/components/Chip.js +3 -3
  75. package/dist/esm/components/Chip.js.map +1 -1
  76. package/dist/esm/components/CodeBlock.js +5 -4
  77. package/dist/esm/components/CodeBlock.js.map +1 -1
  78. package/dist/esm/components/Combobox.js +2 -2
  79. package/dist/esm/components/Combobox.js.map +1 -1
  80. package/dist/esm/components/Command.js +3 -3
  81. package/dist/esm/components/Command.js.map +1 -1
  82. package/dist/esm/components/CommandPalette.js +2 -2
  83. package/dist/esm/components/CommandPalette.js.map +1 -1
  84. package/dist/esm/components/DateRangePicker.js +2 -2
  85. package/dist/esm/components/DateRangePicker.js.map +1 -1
  86. package/dist/esm/components/DialogHeader.js +2 -2
  87. package/dist/esm/components/DialogHeader.js.map +1 -1
  88. package/dist/esm/components/Drawer.js +2 -2
  89. package/dist/esm/components/Drawer.js.map +1 -1
  90. package/dist/esm/components/Field.js +2 -2
  91. package/dist/esm/components/Field.js.map +1 -1
  92. package/dist/esm/components/FileUpload.js +3 -3
  93. package/dist/esm/components/FileUpload.js.map +1 -1
  94. package/dist/esm/components/IconButton.js +1 -1
  95. package/dist/esm/components/IconButton.js.map +1 -1
  96. package/dist/esm/components/Input.js +2 -2
  97. package/dist/esm/components/Input.js.map +1 -1
  98. package/dist/esm/components/Markdown.js +3 -2
  99. package/dist/esm/components/Markdown.js.map +1 -1
  100. package/dist/esm/components/NavItem.js +5 -5
  101. package/dist/esm/components/NavItem.js.map +1 -1
  102. package/dist/esm/components/NumberField.js +2 -2
  103. package/dist/esm/components/NumberField.js.map +1 -1
  104. package/dist/esm/components/Pagination.js +2 -2
  105. package/dist/esm/components/Pagination.js.map +1 -1
  106. package/dist/esm/components/Progress.js +8 -5
  107. package/dist/esm/components/Progress.js.map +1 -1
  108. package/dist/esm/components/RadioGroup.js +5 -4
  109. package/dist/esm/components/RadioGroup.js.map +1 -1
  110. package/dist/esm/components/Select.js +2 -2
  111. package/dist/esm/components/Select.js.map +1 -1
  112. package/dist/esm/components/Slider.js +1 -1
  113. package/dist/esm/components/Slider.js.map +1 -1
  114. package/dist/esm/components/Stepper.js +6 -2
  115. package/dist/esm/components/Stepper.js.map +1 -1
  116. package/dist/esm/components/Table.js +11 -3
  117. package/dist/esm/components/Table.js.map +1 -1
  118. package/dist/esm/components/Tabs.js +2 -2
  119. package/dist/esm/components/Tabs.js.map +1 -1
  120. package/dist/esm/components/Textarea.js +2 -2
  121. package/dist/esm/components/Textarea.js.map +1 -1
  122. package/dist/esm/components/Toast.js +6 -3
  123. package/dist/esm/components/Toast.js.map +1 -1
  124. package/dist/esm/components/Tooltip.js +2 -2
  125. package/dist/esm/components/Tooltip.js.map +1 -1
  126. package/dist/esm/components/TreeView.js +45 -12
  127. package/dist/esm/components/TreeView.js.map +1 -1
  128. package/dist/esm/components/ui.common.js +105 -46
  129. package/dist/esm/components/ui.common.js.map +1 -1
  130. package/dist/esm/components/ui.motion.js +34 -14
  131. package/dist/esm/components/ui.motion.js.map +1 -1
  132. package/dist/esm/dev.js +2 -2
  133. package/dist/styles.css +173 -61
  134. package/dist/theme.css +33 -4
  135. package/dist/types/dev.d.cts +56 -35
  136. package/dist/types/dev.d.ts +56 -35
  137. package/dist/types/index.d.cts +15 -3
  138. package/dist/types/index.d.ts +15 -3
  139. package/package.json +1 -1
@@ -17,13 +17,13 @@ declare const elevation: {
17
17
  };
18
18
  declare const recessedTop = "shadow-sherick-recessed-top";
19
19
  declare const shape: {
20
- readonly control: "rounded-[1.25rem]";
20
+ readonly control: "rounded-[1rem]";
21
21
  readonly mark: "rounded-[0.625rem]";
22
- readonly row: "rounded-[0.875rem]";
23
- readonly prominent: "rounded-[1.5rem]";
24
- readonly surface: "rounded-[1.75rem]";
25
- readonly sheet: "rounded-[1.25rem]";
26
- readonly expressive: "rounded-[2rem]";
22
+ readonly row: "rounded-[0.75rem]";
23
+ readonly prominent: "rounded-[1.25rem]";
24
+ readonly surface: "rounded-[1.5rem]";
25
+ readonly sheet: "rounded-[1rem]";
26
+ readonly expressive: "rounded-[1.75rem]";
27
27
  readonly pill: "rounded-full";
28
28
  readonly circle: "rounded-full";
29
29
  };
@@ -62,9 +62,11 @@ declare const state: {
62
62
  readonly invalidFocusWithin: "[&&]:data-[invalid]:focus-within:bg-sherick-danger/[0.13]";
63
63
  };
64
64
  };
65
+ declare const stateLayerQuietComposite: string;
65
66
  declare const stateLayer: {
66
67
  readonly quiet: string;
67
68
  readonly tonal: string;
69
+ readonly tonalNeutral: string;
68
70
  readonly filled: string;
69
71
  readonly track: string;
70
72
  readonly activeRow: "data-[highlighted]:before:opacity-[0.05]";
@@ -84,13 +86,31 @@ declare const material: {
84
86
  };
85
87
  declare const mediaCanvas = "bg-sherick-media";
86
88
  declare const matteInset = "bg-sherick-surface-high/[0.35] text-sherick-ink";
89
+ declare const type: {
90
+ readonly control: {
91
+ readonly compact: "text-sm";
92
+ readonly normal: "text-[0.9375rem] leading-[1.375rem]";
93
+ readonly prominent: "text-lg";
94
+ };
95
+ readonly supporting: "text-[0.8125rem] leading-5";
96
+ readonly caption: "text-xs leading-4";
97
+ readonly title: "text-[0.9375rem] leading-[1.375rem] font-semibold";
98
+ readonly heading: "text-xl leading-7 font-semibold tracking-[-0.02em]";
99
+ readonly numeric: "tabular-nums";
100
+ };
87
101
  declare const density: {
88
- readonly compact: "min-h-10 text-sm";
89
- readonly normal: "min-h-12 text-[0.95rem]";
90
- readonly prominent: "min-h-14 text-lg";
102
+ readonly compact: string;
103
+ readonly normal: string;
104
+ readonly prominent: string;
91
105
  readonly target: "min-h-11 min-w-11";
92
106
  readonly part: "min-h-11 min-w-9";
93
107
  };
108
+ declare const iconSlot: {
109
+ readonly caption: "inline-flex size-3.5 shrink-0 items-center justify-center [&>svg]:size-3.5";
110
+ readonly compact: "inline-flex size-4 shrink-0 items-center justify-center [&>svg]:size-4";
111
+ readonly normal: "inline-flex size-5 shrink-0 items-center justify-center [&>svg]:size-5";
112
+ readonly prominent: "inline-flex size-6 shrink-0 items-center justify-center [&>svg]:size-6";
113
+ };
94
114
  declare const stacking: {
95
115
  readonly float: "z-50";
96
116
  readonly notification: "z-[60]";
@@ -167,6 +187,8 @@ declare const tone: {
167
187
  success: string;
168
188
  };
169
189
  };
190
+ declare const currentDestination = "bg-sherick-primary-soft text-sherick-ink font-medium";
191
+ declare const selectableRowSurface = "has-[[data-checked]]:bg-sherick-primary-selected has-[[data-checked]]:text-sherick-ink has-[[data-checked]]:shadow-sherick-control";
170
192
  declare const selectable: {
171
193
  readonly surface: string;
172
194
  readonly markSurface: string;
@@ -185,29 +207,23 @@ declare const recipeAlphas: {
185
207
  readonly hover: number;
186
208
  readonly press: number;
187
209
  };
210
+ readonly tonalNeutral: {
211
+ readonly hover: number;
212
+ readonly press: number;
213
+ };
188
214
  readonly filled: {
189
215
  readonly hover: number;
190
216
  readonly press: number;
191
217
  };
192
218
  };
193
219
  readonly tint: {
194
- readonly soft: {
195
- readonly primary: number;
196
- readonly danger: number;
197
- readonly warning: number;
198
- readonly success: number;
199
- };
200
- readonly selected: {
201
- readonly primary: number;
202
- readonly danger: number;
203
- readonly warning: number;
204
- readonly success: number;
205
- };
220
+ readonly neutralSoft: number;
206
221
  readonly neutralRest: number;
207
222
  };
208
223
  readonly field: {
209
224
  readonly quiet: number;
210
225
  readonly card: number;
226
+ readonly groove: number;
211
227
  readonly control: number;
212
228
  readonly hover: number;
213
229
  readonly engaged: number;
@@ -217,21 +233,19 @@ declare const recipeAlphas: {
217
233
  };
218
234
  };
219
235
  declare const fieldLayout = "flex min-w-0 w-full flex-col [overflow-wrap:anywhere]";
236
+ declare const fieldMessage: {
237
+ readonly description: string;
238
+ readonly error: string;
239
+ };
220
240
 
221
241
  type MotionIntent = "feedback" | "tactile" | "arrive" | "orient" | "relocate" | "direct" | "disclose" | "presence" | "activity";
222
242
  /** Non-spatial feedback: hover, focus, field tone, a highlighted row, a filled surface.
223
243
  * It never translates, scales or resizes; reduced motion simply drops the interpolation
224
244
  * and the state still arrives. */
225
245
  declare const motionFeedback = "transition-[background-color,color,box-shadow,opacity] duration-press ease-press motion-reduce:transition-none";
226
- /** A control answers a press immediately and settles on its release.
227
- *
228
- * The recipe owns the *amplitude* of that answer as well as its timing, because how far a
229
- * press travels is the system's physical character rather than a component's anatomy: a
230
- * control whose outline is what the user sees compresses 4%, which is about two pixels at the
231
- * size of the ink it moves. A control whose visible ink is far smaller than the target it is
232
- * aimed at takes `motionInkPress` on that ink instead, so the target itself never moves. The
233
- * interpolation and the compression are neutralised together under reduced motion. */
234
- declare const motionTactile = "transition-[background-color,color,box-shadow,transform,opacity] duration-release ease-release active:duration-press active:ease-press motion-safe:[&:not([data-disabled],:disabled,:has(>[role=combobox][data-disabled]))]:active:scale-[0.96] motion-reduce:transition-none";
246
+ declare const motionTactile: string;
247
+ declare const motionTactileWide: string;
248
+ declare const motionTactileField: string;
235
249
  /** The spatial half of a compact press, applied to the *mark* rather than to the control.
236
250
  *
237
251
  * A control whose visible ink is much smaller than the target it is aimed at — a dialog's close
@@ -241,7 +255,7 @@ declare const motionTactile = "transition-[background-color,color,box-shadow,tra
241
255
  * release lands), so the mark takes the twelve percent and the target keeps its geometry. The
242
256
  * target still owns the focus ring and the state layer, and still carries the tone and depth
243
257
  * response, so the boundary a press happens inside never moves. */
244
- declare const motionInkPress = "transition-transform duration-release ease-release group-active:duration-press group-active:ease-press group-active:scale-[0.88] motion-reduce:transition-none motion-reduce:group-active:scale-100";
258
+ declare const motionInkPress = "transition-transform duration-release ease-release group-active:duration-tactile group-active:ease-press group-active:scale-[0.88] motion-reduce:transition-none motion-reduce:group-active:scale-100";
245
259
  /** A meaningful subordinate part arrives. Spring is reserved for this intent: a mark is
246
260
  * made by overshooting the position it lands in. It leaves without the overshoot, and
247
261
  * reduced motion lands it in one step — which takes a *state-specific* override, because the
@@ -258,6 +272,9 @@ declare const motionOrient = "transition-transform duration-release ease-release
258
272
  * settle together, and an interrupted move retargets from wherever it currently is
259
273
  * because it is a transition and not a keyframe. */
260
274
  declare const motionRelocate = "transition-[left,inset-inline-start,top,width,height,transform,background-color,color,box-shadow,opacity] duration-release ease-glide motion-reduce:transition-none";
275
+ /** The same travel across a whole track — a tab indicator — on the longer travel timing, so a
276
+ * movement of hundreds of pixels is followed rather than skipped. */
277
+ declare const motionRelocateLong = "transition-[left,inset-inline-start,top,width,height,transform,background-color,color,box-shadow,opacity] duration-travel ease-glide motion-reduce:transition-none";
261
278
  /** Direct manipulation: the pointer owns the geometry, so a positional transition would be
262
279
  * lag. While the primitive reports a drag, position and size are removed from the
263
280
  * transition list and only tone and engagement geometry remain; a keyboard or programmatic
@@ -282,7 +299,7 @@ declare const motionPresenceTooltip: string;
282
299
  declare const motionPresenceModal: string;
283
300
  /** The plane behind a surface that owns the viewport. Opacity only: a blur or a filter is
284
301
  * never animated, so the plane can never animate the page behind it. */
285
- declare const motionPresenceScrim = "transition-opacity duration-overlay ease-release data-[ending-style]:duration-overlay-exit data-[ending-style]:ease-exit";
302
+ 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";
286
303
  /** Continuous activity is a distinct intent, not an exception to interaction motion: it
287
304
  * reports work rather than answering an event, and it has no entrance of its own. */
288
305
  declare const motionActivitySpin = "animate-spin motion-reduce:animate-none";
@@ -297,8 +314,12 @@ declare const motionActivityPulse = "animate-pulse motion-reduce:animate-none";
297
314
  declare const motionActivityIndeterminate = "animate-sherick-indeterminate [[dir=rtl]_&]:[--sui-indeterminate-direction:-1] motion-reduce:animate-none";
298
315
  /** The state layer is a composited overlay, so its own opacity is the only thing that
299
316
  * moves. Shared here because four interaction states across the library ride it. */
300
- declare const motionStateLayer = "before:transition-opacity before:duration-release before:ease-release active:before:duration-press active:before:ease-press group-active:before:duration-press group-active:before:ease-press motion-reduce:before:transition-none";
301
- declare const motionDisclose = "transition-[height] duration-release ease-release data-[starting-style]:h-0 data-[ending-style]:h-0 motion-reduce:transition-none";
317
+ /** A row in a collection moves its highlight rather than fading it: a highlight is where the reader
318
+ * is, and arrowing through a list with a soft fade on every row leaves a smear of half-lit rows.
319
+ * The row's layer therefore changes in one step, for the pointer and the keyboard alike. */
320
+ declare const motionRowLayer = "before:transition-none";
321
+ declare const motionStateLayer = "before:transition-opacity before:duration-release before:ease-release active:before:duration-tactile active:before:ease-press group-active:before:duration-tactile group-active:before:ease-press motion-reduce:before:transition-none";
322
+ declare const motionDisclose = "transition-[height] duration-release ease-release data-[starting-style]:h-0 data-[ending-style]:h-0 data-[ending-style]:duration-overlay-exit data-[ending-style]:ease-exit motion-reduce:transition-none";
302
323
  declare const motionPresenceSheet: string;
303
324
  declare const motionPresenceToast: string;
304
325
 
@@ -309,5 +330,5 @@ declare const motionPresenceToast: string;
309
330
  */
310
331
  declare const cn: (...inputs: ClassValue[]) => string;
311
332
 
312
- export { cn, density, detail, disclosure, edge, edgeTone, elevation, fieldLayout, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, groupFocusRing, hitArea, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionRelocate, motionStateLayer, motionTactile, overlay, parentFocusRingInset, recessedTop, recipeAlphas, selectable, shape, stacking, state, stateLayer, text, tone };
333
+ export { cn, currentDestination, density, detail, disclosure, edge, edgeTone, elevation, fieldLayout, fieldMessage, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, groupFocusRing, hitArea, iconSlot, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionRelocate, motionRelocateLong, motionRowLayer, motionStateLayer, motionTactile, motionTactileField, motionTactileWide, overlay, parentFocusRingInset, recessedTop, recipeAlphas, selectable, selectableRowSurface, shape, stacking, state, stateLayer, stateLayerQuietComposite, text, tone, type };
313
334
  export type { MotionIntent };
@@ -17,13 +17,13 @@ declare const elevation: {
17
17
  };
18
18
  declare const recessedTop = "shadow-sherick-recessed-top";
19
19
  declare const shape: {
20
- readonly control: "rounded-[1.25rem]";
20
+ readonly control: "rounded-[1rem]";
21
21
  readonly mark: "rounded-[0.625rem]";
22
- readonly row: "rounded-[0.875rem]";
23
- readonly prominent: "rounded-[1.5rem]";
24
- readonly surface: "rounded-[1.75rem]";
25
- readonly sheet: "rounded-[1.25rem]";
26
- readonly expressive: "rounded-[2rem]";
22
+ readonly row: "rounded-[0.75rem]";
23
+ readonly prominent: "rounded-[1.25rem]";
24
+ readonly surface: "rounded-[1.5rem]";
25
+ readonly sheet: "rounded-[1rem]";
26
+ readonly expressive: "rounded-[1.75rem]";
27
27
  readonly pill: "rounded-full";
28
28
  readonly circle: "rounded-full";
29
29
  };
@@ -62,9 +62,11 @@ declare const state: {
62
62
  readonly invalidFocusWithin: "[&&]:data-[invalid]:focus-within:bg-sherick-danger/[0.13]";
63
63
  };
64
64
  };
65
+ declare const stateLayerQuietComposite: string;
65
66
  declare const stateLayer: {
66
67
  readonly quiet: string;
67
68
  readonly tonal: string;
69
+ readonly tonalNeutral: string;
68
70
  readonly filled: string;
69
71
  readonly track: string;
70
72
  readonly activeRow: "data-[highlighted]:before:opacity-[0.05]";
@@ -84,13 +86,31 @@ declare const material: {
84
86
  };
85
87
  declare const mediaCanvas = "bg-sherick-media";
86
88
  declare const matteInset = "bg-sherick-surface-high/[0.35] text-sherick-ink";
89
+ declare const type: {
90
+ readonly control: {
91
+ readonly compact: "text-sm";
92
+ readonly normal: "text-[0.9375rem] leading-[1.375rem]";
93
+ readonly prominent: "text-lg";
94
+ };
95
+ readonly supporting: "text-[0.8125rem] leading-5";
96
+ readonly caption: "text-xs leading-4";
97
+ readonly title: "text-[0.9375rem] leading-[1.375rem] font-semibold";
98
+ readonly heading: "text-xl leading-7 font-semibold tracking-[-0.02em]";
99
+ readonly numeric: "tabular-nums";
100
+ };
87
101
  declare const density: {
88
- readonly compact: "min-h-10 text-sm";
89
- readonly normal: "min-h-12 text-[0.95rem]";
90
- readonly prominent: "min-h-14 text-lg";
102
+ readonly compact: string;
103
+ readonly normal: string;
104
+ readonly prominent: string;
91
105
  readonly target: "min-h-11 min-w-11";
92
106
  readonly part: "min-h-11 min-w-9";
93
107
  };
108
+ declare const iconSlot: {
109
+ readonly caption: "inline-flex size-3.5 shrink-0 items-center justify-center [&>svg]:size-3.5";
110
+ readonly compact: "inline-flex size-4 shrink-0 items-center justify-center [&>svg]:size-4";
111
+ readonly normal: "inline-flex size-5 shrink-0 items-center justify-center [&>svg]:size-5";
112
+ readonly prominent: "inline-flex size-6 shrink-0 items-center justify-center [&>svg]:size-6";
113
+ };
94
114
  declare const stacking: {
95
115
  readonly float: "z-50";
96
116
  readonly notification: "z-[60]";
@@ -167,6 +187,8 @@ declare const tone: {
167
187
  success: string;
168
188
  };
169
189
  };
190
+ declare const currentDestination = "bg-sherick-primary-soft text-sherick-ink font-medium";
191
+ declare const selectableRowSurface = "has-[[data-checked]]:bg-sherick-primary-selected has-[[data-checked]]:text-sherick-ink has-[[data-checked]]:shadow-sherick-control";
170
192
  declare const selectable: {
171
193
  readonly surface: string;
172
194
  readonly markSurface: string;
@@ -185,29 +207,23 @@ declare const recipeAlphas: {
185
207
  readonly hover: number;
186
208
  readonly press: number;
187
209
  };
210
+ readonly tonalNeutral: {
211
+ readonly hover: number;
212
+ readonly press: number;
213
+ };
188
214
  readonly filled: {
189
215
  readonly hover: number;
190
216
  readonly press: number;
191
217
  };
192
218
  };
193
219
  readonly tint: {
194
- readonly soft: {
195
- readonly primary: number;
196
- readonly danger: number;
197
- readonly warning: number;
198
- readonly success: number;
199
- };
200
- readonly selected: {
201
- readonly primary: number;
202
- readonly danger: number;
203
- readonly warning: number;
204
- readonly success: number;
205
- };
220
+ readonly neutralSoft: number;
206
221
  readonly neutralRest: number;
207
222
  };
208
223
  readonly field: {
209
224
  readonly quiet: number;
210
225
  readonly card: number;
226
+ readonly groove: number;
211
227
  readonly control: number;
212
228
  readonly hover: number;
213
229
  readonly engaged: number;
@@ -217,21 +233,19 @@ declare const recipeAlphas: {
217
233
  };
218
234
  };
219
235
  declare const fieldLayout = "flex min-w-0 w-full flex-col [overflow-wrap:anywhere]";
236
+ declare const fieldMessage: {
237
+ readonly description: string;
238
+ readonly error: string;
239
+ };
220
240
 
221
241
  type MotionIntent = "feedback" | "tactile" | "arrive" | "orient" | "relocate" | "direct" | "disclose" | "presence" | "activity";
222
242
  /** Non-spatial feedback: hover, focus, field tone, a highlighted row, a filled surface.
223
243
  * It never translates, scales or resizes; reduced motion simply drops the interpolation
224
244
  * and the state still arrives. */
225
245
  declare const motionFeedback = "transition-[background-color,color,box-shadow,opacity] duration-press ease-press motion-reduce:transition-none";
226
- /** A control answers a press immediately and settles on its release.
227
- *
228
- * The recipe owns the *amplitude* of that answer as well as its timing, because how far a
229
- * press travels is the system's physical character rather than a component's anatomy: a
230
- * control whose outline is what the user sees compresses 4%, which is about two pixels at the
231
- * size of the ink it moves. A control whose visible ink is far smaller than the target it is
232
- * aimed at takes `motionInkPress` on that ink instead, so the target itself never moves. The
233
- * interpolation and the compression are neutralised together under reduced motion. */
234
- declare const motionTactile = "transition-[background-color,color,box-shadow,transform,opacity] duration-release ease-release active:duration-press active:ease-press motion-safe:[&:not([data-disabled],:disabled,:has(>[role=combobox][data-disabled]))]:active:scale-[0.96] motion-reduce:transition-none";
246
+ declare const motionTactile: string;
247
+ declare const motionTactileWide: string;
248
+ declare const motionTactileField: string;
235
249
  /** The spatial half of a compact press, applied to the *mark* rather than to the control.
236
250
  *
237
251
  * A control whose visible ink is much smaller than the target it is aimed at — a dialog's close
@@ -241,7 +255,7 @@ declare const motionTactile = "transition-[background-color,color,box-shadow,tra
241
255
  * release lands), so the mark takes the twelve percent and the target keeps its geometry. The
242
256
  * target still owns the focus ring and the state layer, and still carries the tone and depth
243
257
  * response, so the boundary a press happens inside never moves. */
244
- declare const motionInkPress = "transition-transform duration-release ease-release group-active:duration-press group-active:ease-press group-active:scale-[0.88] motion-reduce:transition-none motion-reduce:group-active:scale-100";
258
+ declare const motionInkPress = "transition-transform duration-release ease-release group-active:duration-tactile group-active:ease-press group-active:scale-[0.88] motion-reduce:transition-none motion-reduce:group-active:scale-100";
245
259
  /** A meaningful subordinate part arrives. Spring is reserved for this intent: a mark is
246
260
  * made by overshooting the position it lands in. It leaves without the overshoot, and
247
261
  * reduced motion lands it in one step — which takes a *state-specific* override, because the
@@ -258,6 +272,9 @@ declare const motionOrient = "transition-transform duration-release ease-release
258
272
  * settle together, and an interrupted move retargets from wherever it currently is
259
273
  * because it is a transition and not a keyframe. */
260
274
  declare const motionRelocate = "transition-[left,inset-inline-start,top,width,height,transform,background-color,color,box-shadow,opacity] duration-release ease-glide motion-reduce:transition-none";
275
+ /** The same travel across a whole track — a tab indicator — on the longer travel timing, so a
276
+ * movement of hundreds of pixels is followed rather than skipped. */
277
+ declare const motionRelocateLong = "transition-[left,inset-inline-start,top,width,height,transform,background-color,color,box-shadow,opacity] duration-travel ease-glide motion-reduce:transition-none";
261
278
  /** Direct manipulation: the pointer owns the geometry, so a positional transition would be
262
279
  * lag. While the primitive reports a drag, position and size are removed from the
263
280
  * transition list and only tone and engagement geometry remain; a keyboard or programmatic
@@ -282,7 +299,7 @@ declare const motionPresenceTooltip: string;
282
299
  declare const motionPresenceModal: string;
283
300
  /** The plane behind a surface that owns the viewport. Opacity only: a blur or a filter is
284
301
  * never animated, so the plane can never animate the page behind it. */
285
- declare const motionPresenceScrim = "transition-opacity duration-overlay ease-release data-[ending-style]:duration-overlay-exit data-[ending-style]:ease-exit";
302
+ 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";
286
303
  /** Continuous activity is a distinct intent, not an exception to interaction motion: it
287
304
  * reports work rather than answering an event, and it has no entrance of its own. */
288
305
  declare const motionActivitySpin = "animate-spin motion-reduce:animate-none";
@@ -297,8 +314,12 @@ declare const motionActivityPulse = "animate-pulse motion-reduce:animate-none";
297
314
  declare const motionActivityIndeterminate = "animate-sherick-indeterminate [[dir=rtl]_&]:[--sui-indeterminate-direction:-1] motion-reduce:animate-none";
298
315
  /** The state layer is a composited overlay, so its own opacity is the only thing that
299
316
  * moves. Shared here because four interaction states across the library ride it. */
300
- declare const motionStateLayer = "before:transition-opacity before:duration-release before:ease-release active:before:duration-press active:before:ease-press group-active:before:duration-press group-active:before:ease-press motion-reduce:before:transition-none";
301
- declare const motionDisclose = "transition-[height] duration-release ease-release data-[starting-style]:h-0 data-[ending-style]:h-0 motion-reduce:transition-none";
317
+ /** A row in a collection moves its highlight rather than fading it: a highlight is where the reader
318
+ * is, and arrowing through a list with a soft fade on every row leaves a smear of half-lit rows.
319
+ * The row's layer therefore changes in one step, for the pointer and the keyboard alike. */
320
+ declare const motionRowLayer = "before:transition-none";
321
+ declare const motionStateLayer = "before:transition-opacity before:duration-release before:ease-release active:before:duration-tactile active:before:ease-press group-active:before:duration-tactile group-active:before:ease-press motion-reduce:before:transition-none";
322
+ declare const motionDisclose = "transition-[height] duration-release ease-release data-[starting-style]:h-0 data-[ending-style]:h-0 data-[ending-style]:duration-overlay-exit data-[ending-style]:ease-exit motion-reduce:transition-none";
302
323
  declare const motionPresenceSheet: string;
303
324
  declare const motionPresenceToast: string;
304
325
 
@@ -309,5 +330,5 @@ declare const motionPresenceToast: string;
309
330
  */
310
331
  declare const cn: (...inputs: ClassValue[]) => string;
311
332
 
312
- export { cn, density, detail, disclosure, edge, edgeTone, elevation, fieldLayout, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, groupFocusRing, hitArea, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionRelocate, motionStateLayer, motionTactile, overlay, parentFocusRingInset, recessedTop, recipeAlphas, selectable, shape, stacking, state, stateLayer, text, tone };
333
+ export { cn, currentDestination, density, detail, disclosure, edge, edgeTone, elevation, fieldLayout, fieldMessage, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, groupFocusRing, hitArea, iconSlot, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionRelocate, motionRelocateLong, motionRowLayer, motionStateLayer, motionTactile, motionTactileField, motionTactileWide, overlay, parentFocusRingInset, recessedTop, recipeAlphas, selectable, selectableRowSurface, shape, stacking, state, stateLayer, stateLayerQuietComposite, text, tone, type };
313
334
  export type { MotionIntent };
@@ -1140,6 +1140,8 @@ interface RadioGroupOption {
1140
1140
  }
1141
1141
  interface RadioGroupProps extends Omit<ComponentProps<"div">, "onChange" | "defaultValue" | "children"> {
1142
1142
  options: RadioGroupOption[];
1143
+ /** Gives each choice its own selectable surface. The default keeps the compact, unfilled rows. */
1144
+ appearance?: "default" | "surface";
1143
1145
  /** The group's own label. Naming the group is the group's job, not a field's: an
1144
1146
  * enclosing `Field` names one control, while every option here is its own control. */
1145
1147
  label?: ReactNode;
@@ -1346,11 +1348,21 @@ type ToggleGroupComponent = ForwardRefExoticComponent<ToggleGroupProps & RefAttr
1346
1348
  declare const ToggleGroup: ToggleGroupComponent;
1347
1349
 
1348
1350
  interface TableProps {
1349
- headers: string[];
1351
+ headers: Array<string | TableColumn>;
1350
1352
  rows: ReactNode[][];
1353
+ /** Classes for the outer scrollable surface. */
1351
1354
  className?: string;
1355
+ /** Classes for the native table element. */
1356
+ tableClassName?: string;
1352
1357
  }
1353
- declare const Table: ({ headers, rows, className, }: TableProps) => React__default.JSX.Element;
1358
+ interface TableColumn {
1359
+ /** Stable identity for this column, shared by its header and body cells. */
1360
+ id: string;
1361
+ label: string;
1362
+ /** Classes applied to this column's header and body cells. */
1363
+ className?: string;
1364
+ }
1365
+ declare const Table: ({ headers, rows, className, tableClassName, }: TableProps) => React__default.JSX.Element;
1354
1366
 
1355
1367
  interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
1356
1368
  label?: ReactNode;
@@ -1642,4 +1654,4 @@ interface DirectionProviderProps {
1642
1654
  declare const DirectionProvider: ({ direction, children }: DirectionProviderProps) => React__default.JSX.Element;
1643
1655
 
1644
1656
  export { Accordion, Alert, AlertDialog, Avatar, Badge, Breadcrumb, Button, Calendar, Card, Checkbox, Chip, ChipGroup, Collapsible, Combobox, Command, CommandPalette, DatePicker, DateRangePicker, Dialog, DirectionProvider, Divider, Drawer, Field, FileUpload, IconButton, Input, Media, Menu, NavGroup, NavItem, NumberField, Pagination, Popover, Progress, RadioGroup, Search, SegmentedControl, Select, Skeleton, Slider, Spinner, Stepper, Switch, Table, Tabs, Textarea, ToastProvider, ToastViewport, ToggleGroup, Tooltip, TreeView, createToastManager, useToast };
1645
- export type { AccordionHeadingLevel, AccordionItemProps, AccordionPanelProps, AccordionProps, AccordionTriggerProps, AlertDialogProps, AlertProps, AvatarProps, BadgeProps, BreadcrumbItem, BreadcrumbProps, ButtonAppearance, ButtonProps, ButtonSize, CalendarDate, CalendarLabels, CalendarProps, CardProps, CheckboxProps, ChipGroupProps, ChipProps, CollapsiblePanelProps, CollapsibleProps, CollapsibleTriggerProps, ComboboxOption, ComboboxProps, CommandItem, CommandPaletteProps, CommandProps, DatePickerProps, DateRange, DateRangePickerProps, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogProps, DirectionProviderProps, DividerProps, DividerWeight, DrawerContentProps, DrawerDescriptionProps, DrawerFooterProps, DrawerHeaderProps, DrawerProps, DrawerSide, DrawerTriggerProps, FieldProps, FileRejection, FileUploadProps, IconButtonAppearance, IconButtonProps, InputProps, MediaImageProps, MediaVideoProps, MenuContentProps, MenuItemProps, MenuProps, MenuSeparatorProps, MenuTriggerProps, NavGroupHeadingLevel, NavGroupItem, NavGroupProps, NavItemProps, NumberFieldProps, OverlayAlign, OverlaySide, PaginationProps, PopoverContentProps, PopoverProps, PopoverTriggerProps, ProgressProps, RadioGroupOption, RadioGroupProps, SearchProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SkeletonProps, SliderProps, SpinnerProps, StepperItem, StepperProps, SwitchProps, Tab, TableProps, TabsProps, TextareaProps, ToastActionOptions, ToastManager, ToastOptions, ToastPosition, ToastPromiseOptions, ToastProviderProps, ToastType, ToastUpdateOptions, ToastViewportProps, ToggleGroupItemProps, ToggleGroupProps, TooltipProps, TreeViewItem, TreeViewProps, Variant };
1657
+ export type { AccordionHeadingLevel, AccordionItemProps, AccordionPanelProps, AccordionProps, AccordionTriggerProps, AlertDialogProps, AlertProps, AvatarProps, BadgeProps, BreadcrumbItem, BreadcrumbProps, ButtonAppearance, ButtonProps, ButtonSize, CalendarDate, CalendarLabels, CalendarProps, CardProps, CheckboxProps, ChipGroupProps, ChipProps, CollapsiblePanelProps, CollapsibleProps, CollapsibleTriggerProps, ComboboxOption, ComboboxProps, CommandItem, CommandPaletteProps, CommandProps, DatePickerProps, DateRange, DateRangePickerProps, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogProps, DirectionProviderProps, DividerProps, DividerWeight, DrawerContentProps, DrawerDescriptionProps, DrawerFooterProps, DrawerHeaderProps, DrawerProps, DrawerSide, DrawerTriggerProps, FieldProps, FileRejection, FileUploadProps, IconButtonAppearance, IconButtonProps, InputProps, MediaImageProps, MediaVideoProps, MenuContentProps, MenuItemProps, MenuProps, MenuSeparatorProps, MenuTriggerProps, NavGroupHeadingLevel, NavGroupItem, NavGroupProps, NavItemProps, NumberFieldProps, OverlayAlign, OverlaySide, PaginationProps, PopoverContentProps, PopoverProps, PopoverTriggerProps, ProgressProps, RadioGroupOption, RadioGroupProps, SearchProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SkeletonProps, SliderProps, SpinnerProps, StepperItem, StepperProps, SwitchProps, Tab, TableColumn, TableProps, TabsProps, TextareaProps, ToastActionOptions, ToastManager, ToastOptions, ToastPosition, ToastPromiseOptions, ToastProviderProps, ToastType, ToastUpdateOptions, ToastViewportProps, ToggleGroupItemProps, ToggleGroupProps, TooltipProps, TreeViewItem, TreeViewProps, Variant };
@@ -1140,6 +1140,8 @@ interface RadioGroupOption {
1140
1140
  }
1141
1141
  interface RadioGroupProps extends Omit<ComponentProps<"div">, "onChange" | "defaultValue" | "children"> {
1142
1142
  options: RadioGroupOption[];
1143
+ /** Gives each choice its own selectable surface. The default keeps the compact, unfilled rows. */
1144
+ appearance?: "default" | "surface";
1143
1145
  /** The group's own label. Naming the group is the group's job, not a field's: an
1144
1146
  * enclosing `Field` names one control, while every option here is its own control. */
1145
1147
  label?: ReactNode;
@@ -1346,11 +1348,21 @@ type ToggleGroupComponent = ForwardRefExoticComponent<ToggleGroupProps & RefAttr
1346
1348
  declare const ToggleGroup: ToggleGroupComponent;
1347
1349
 
1348
1350
  interface TableProps {
1349
- headers: string[];
1351
+ headers: Array<string | TableColumn>;
1350
1352
  rows: ReactNode[][];
1353
+ /** Classes for the outer scrollable surface. */
1351
1354
  className?: string;
1355
+ /** Classes for the native table element. */
1356
+ tableClassName?: string;
1352
1357
  }
1353
- declare const Table: ({ headers, rows, className, }: TableProps) => React__default.JSX.Element;
1358
+ interface TableColumn {
1359
+ /** Stable identity for this column, shared by its header and body cells. */
1360
+ id: string;
1361
+ label: string;
1362
+ /** Classes applied to this column's header and body cells. */
1363
+ className?: string;
1364
+ }
1365
+ declare const Table: ({ headers, rows, className, tableClassName, }: TableProps) => React__default.JSX.Element;
1354
1366
 
1355
1367
  interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
1356
1368
  label?: ReactNode;
@@ -1642,4 +1654,4 @@ interface DirectionProviderProps {
1642
1654
  declare const DirectionProvider: ({ direction, children }: DirectionProviderProps) => React__default.JSX.Element;
1643
1655
 
1644
1656
  export { Accordion, Alert, AlertDialog, Avatar, Badge, Breadcrumb, Button, Calendar, Card, Checkbox, Chip, ChipGroup, Collapsible, Combobox, Command, CommandPalette, DatePicker, DateRangePicker, Dialog, DirectionProvider, Divider, Drawer, Field, FileUpload, IconButton, Input, Media, Menu, NavGroup, NavItem, NumberField, Pagination, Popover, Progress, RadioGroup, Search, SegmentedControl, Select, Skeleton, Slider, Spinner, Stepper, Switch, Table, Tabs, Textarea, ToastProvider, ToastViewport, ToggleGroup, Tooltip, TreeView, createToastManager, useToast };
1645
- export type { AccordionHeadingLevel, AccordionItemProps, AccordionPanelProps, AccordionProps, AccordionTriggerProps, AlertDialogProps, AlertProps, AvatarProps, BadgeProps, BreadcrumbItem, BreadcrumbProps, ButtonAppearance, ButtonProps, ButtonSize, CalendarDate, CalendarLabels, CalendarProps, CardProps, CheckboxProps, ChipGroupProps, ChipProps, CollapsiblePanelProps, CollapsibleProps, CollapsibleTriggerProps, ComboboxOption, ComboboxProps, CommandItem, CommandPaletteProps, CommandProps, DatePickerProps, DateRange, DateRangePickerProps, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogProps, DirectionProviderProps, DividerProps, DividerWeight, DrawerContentProps, DrawerDescriptionProps, DrawerFooterProps, DrawerHeaderProps, DrawerProps, DrawerSide, DrawerTriggerProps, FieldProps, FileRejection, FileUploadProps, IconButtonAppearance, IconButtonProps, InputProps, MediaImageProps, MediaVideoProps, MenuContentProps, MenuItemProps, MenuProps, MenuSeparatorProps, MenuTriggerProps, NavGroupHeadingLevel, NavGroupItem, NavGroupProps, NavItemProps, NumberFieldProps, OverlayAlign, OverlaySide, PaginationProps, PopoverContentProps, PopoverProps, PopoverTriggerProps, ProgressProps, RadioGroupOption, RadioGroupProps, SearchProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SkeletonProps, SliderProps, SpinnerProps, StepperItem, StepperProps, SwitchProps, Tab, TableProps, TabsProps, TextareaProps, ToastActionOptions, ToastManager, ToastOptions, ToastPosition, ToastPromiseOptions, ToastProviderProps, ToastType, ToastUpdateOptions, ToastViewportProps, ToggleGroupItemProps, ToggleGroupProps, TooltipProps, TreeViewItem, TreeViewProps, Variant };
1657
+ export type { AccordionHeadingLevel, AccordionItemProps, AccordionPanelProps, AccordionProps, AccordionTriggerProps, AlertDialogProps, AlertProps, AvatarProps, BadgeProps, BreadcrumbItem, BreadcrumbProps, ButtonAppearance, ButtonProps, ButtonSize, CalendarDate, CalendarLabels, CalendarProps, CardProps, CheckboxProps, ChipGroupProps, ChipProps, CollapsiblePanelProps, CollapsibleProps, CollapsibleTriggerProps, ComboboxOption, ComboboxProps, CommandItem, CommandPaletteProps, CommandProps, DatePickerProps, DateRange, DateRangePickerProps, DialogContentProps, DialogDescriptionProps, DialogFooterProps, DialogHeaderProps, DialogProps, DirectionProviderProps, DividerProps, DividerWeight, DrawerContentProps, DrawerDescriptionProps, DrawerFooterProps, DrawerHeaderProps, DrawerProps, DrawerSide, DrawerTriggerProps, FieldProps, FileRejection, FileUploadProps, IconButtonAppearance, IconButtonProps, InputProps, MediaImageProps, MediaVideoProps, MenuContentProps, MenuItemProps, MenuProps, MenuSeparatorProps, MenuTriggerProps, NavGroupHeadingLevel, NavGroupItem, NavGroupProps, NavItemProps, NumberFieldProps, OverlayAlign, OverlaySide, PaginationProps, PopoverContentProps, PopoverProps, PopoverTriggerProps, ProgressProps, RadioGroupOption, RadioGroupProps, SearchProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SkeletonProps, SliderProps, SpinnerProps, StepperItem, StepperProps, SwitchProps, Tab, TableColumn, TableProps, TabsProps, TextareaProps, ToastActionOptions, ToastManager, ToastOptions, ToastPosition, ToastPromiseOptions, ToastProviderProps, ToastType, ToastUpdateOptions, ToastViewportProps, ToggleGroupItemProps, ToggleGroupProps, TooltipProps, TreeViewItem, TreeViewProps, Variant };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sherick-ui",
3
- "version": "2.1.1",
3
+ "version": "2.3.0",
4
4
  "description": "A reusable React component library inspired by Material 3 Expressive.",
5
5
  "repository": {
6
6
  "type": "git",