@adminiumjs/ui 0.2.9 → 0.3.0-rc.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 (260) hide show
  1. package/dist/components/alert/Alert.d.ts +1 -1
  2. package/dist/components/alert/Alert.js +1 -1
  3. package/dist/components/auth-layout/AuthLayout.d.ts +6 -6
  4. package/dist/components/auth-layout/AuthLayout.js +6 -6
  5. package/dist/components/auth-screens/ForgotPasswordForm.d.ts +5 -6
  6. package/dist/components/auth-screens/ForgotPasswordForm.d.ts.map +1 -1
  7. package/dist/components/auth-screens/ForgotPasswordForm.js.map +1 -1
  8. package/dist/components/autosave-indicator/AutosaveIndicator.d.ts +2 -2
  9. package/dist/components/autosave-indicator/AutosaveIndicator.js +1 -1
  10. package/dist/components/avatar/Avatar.d.ts +5 -5
  11. package/dist/components/avatar/Avatar.js +5 -5
  12. package/dist/components/avatar-stack/AvatarStack.d.ts +1 -1
  13. package/dist/components/avatar-stack/AvatarStack.js +1 -1
  14. package/dist/components/badge/Badge.d.ts +1 -1
  15. package/dist/components/badge/Badge.js +1 -1
  16. package/dist/components/badge/index.js +2 -2
  17. package/dist/components/badge/index.js.map +1 -1
  18. package/dist/components/banner/Banner.d.ts +1 -1
  19. package/dist/components/banner/Banner.js +1 -1
  20. package/dist/components/breadcrumbs/Breadcrumbs.d.ts +1 -1
  21. package/dist/components/breadcrumbs/Breadcrumbs.js +1 -1
  22. package/dist/components/bulk-action-bar/BulkActionBar.d.ts +2 -2
  23. package/dist/components/bulk-action-bar/BulkActionBar.js +2 -2
  24. package/dist/components/button/Button.d.ts +3 -3
  25. package/dist/components/button/Button.js +3 -3
  26. package/dist/components/card/Card.d.ts +1 -1
  27. package/dist/components/card/Card.js +1 -1
  28. package/dist/components/check-row/CheckRow.d.ts +34 -0
  29. package/dist/components/check-row/CheckRow.d.ts.map +1 -0
  30. package/dist/components/check-row/CheckRow.js +53 -0
  31. package/dist/components/check-row/CheckRow.js.map +1 -0
  32. package/dist/components/check-row/index.d.ts +3 -0
  33. package/dist/components/check-row/index.d.ts.map +1 -0
  34. package/dist/components/check-row/index.js +3 -0
  35. package/dist/components/check-row/index.js.map +1 -0
  36. package/dist/components/checkbox/Checkbox.d.ts +1 -1
  37. package/dist/components/checkbox/Checkbox.js +1 -1
  38. package/dist/components/chip-input/ChipInput.d.ts +9 -2
  39. package/dist/components/chip-input/ChipInput.d.ts.map +1 -1
  40. package/dist/components/chip-input/ChipInput.js +3 -3
  41. package/dist/components/chip-input/ChipInput.js.map +1 -1
  42. package/dist/components/choice-chips/ChoiceChips.d.ts +2 -2
  43. package/dist/components/choice-chips/ChoiceChips.js +2 -2
  44. package/dist/components/combobox/Combobox.d.ts +1 -1
  45. package/dist/components/combobox/Combobox.js +1 -1
  46. package/dist/components/command-palette/CommandPalette.d.ts +1 -1
  47. package/dist/components/command-palette/CommandPalette.js +1 -1
  48. package/dist/components/command-palette/useCommandK.d.ts +4 -3
  49. package/dist/components/command-palette/useCommandK.d.ts.map +1 -1
  50. package/dist/components/command-palette/useCommandK.js +4 -3
  51. package/dist/components/command-palette/useCommandK.js.map +1 -1
  52. package/dist/components/confirm-modal/ConfirmModal.d.ts +7 -7
  53. package/dist/components/confirm-modal/ConfirmModal.js +1 -1
  54. package/dist/components/count-badge/CountBadge.d.ts +1 -1
  55. package/dist/components/count-badge/CountBadge.js +1 -1
  56. package/dist/components/date-input/DateInput.d.ts +1 -1
  57. package/dist/components/date-input/DateInput.js +1 -1
  58. package/dist/components/delta-pill/DeltaPill.d.ts +1 -1
  59. package/dist/components/delta-pill/DeltaPill.js +1 -1
  60. package/dist/components/divider/Divider.d.ts +1 -1
  61. package/dist/components/divider/Divider.js +1 -1
  62. package/dist/components/drawer/Drawer.d.ts +3 -3
  63. package/dist/components/drawer/Drawer.js +2 -2
  64. package/dist/components/drawer/Drawer.js.map +1 -1
  65. package/dist/components/dropdown-menu/DropdownMenu.d.ts +1 -1
  66. package/dist/components/dropdown-menu/DropdownMenu.js +1 -1
  67. package/dist/components/empty-state/EmptyState.d.ts +1 -1
  68. package/dist/components/empty-state/EmptyState.js +1 -1
  69. package/dist/components/filter-chip/FilterChip.d.ts +1 -1
  70. package/dist/components/filter-chip/FilterChip.js +1 -1
  71. package/dist/components/form-dialog/FormDialog.d.ts +79 -0
  72. package/dist/components/form-dialog/FormDialog.d.ts.map +1 -0
  73. package/dist/components/form-dialog/FormDialog.js +76 -0
  74. package/dist/components/form-dialog/FormDialog.js.map +1 -0
  75. package/dist/components/form-dialog/index.d.ts +3 -0
  76. package/dist/components/form-dialog/index.d.ts.map +1 -0
  77. package/dist/components/form-dialog/index.js +3 -0
  78. package/dist/components/form-dialog/index.js.map +1 -0
  79. package/dist/components/form-field/FormField.d.ts +1 -1
  80. package/dist/components/form-field/FormField.d.ts.map +1 -1
  81. package/dist/components/form-field/FormField.js +3 -2
  82. package/dist/components/form-field/FormField.js.map +1 -1
  83. package/dist/components/icon/Icon.d.ts +6 -6
  84. package/dist/components/icon/Icon.d.ts.map +1 -1
  85. package/dist/components/icon/Icon.js +1 -1
  86. package/dist/components/icon/Icon.js.map +1 -1
  87. package/dist/components/icon/icon-names.js +3 -3
  88. package/dist/components/icon/icon-names.js.map +1 -1
  89. package/dist/components/icon-button/IconButton.d.ts +2 -2
  90. package/dist/components/icon-button/IconButton.js +2 -2
  91. package/dist/components/icon-tile/IconTile.d.ts +1 -1
  92. package/dist/components/icon-tile/IconTile.js +2 -2
  93. package/dist/components/icon-tile/IconTile.js.map +1 -1
  94. package/dist/components/input/Input.d.ts +2 -2
  95. package/dist/components/input/Input.js +2 -2
  96. package/dist/components/input-group/InputGroup.d.ts +2 -2
  97. package/dist/components/input-group/InputGroup.js +2 -2
  98. package/dist/components/kbd/Kbd.d.ts +1 -1
  99. package/dist/components/kbd/Kbd.js +1 -1
  100. package/dist/components/key-value-list/KeyValueList.d.ts +1 -1
  101. package/dist/components/key-value-list/KeyValueList.js +1 -1
  102. package/dist/components/label/Label.d.ts +1 -1
  103. package/dist/components/label/Label.js +1 -1
  104. package/dist/components/meta-pill/MetaPill.d.ts +23 -0
  105. package/dist/components/meta-pill/MetaPill.d.ts.map +1 -0
  106. package/dist/components/meta-pill/MetaPill.js +19 -0
  107. package/dist/components/meta-pill/MetaPill.js.map +1 -0
  108. package/dist/components/meta-pill/index.d.ts +2 -0
  109. package/dist/components/meta-pill/index.d.ts.map +1 -0
  110. package/dist/components/meta-pill/index.js +3 -0
  111. package/dist/components/meta-pill/index.js.map +1 -0
  112. package/dist/components/modal/Modal.d.ts +1 -1
  113. package/dist/components/modal/Modal.d.ts.map +1 -1
  114. package/dist/components/modal/Modal.js +3 -2
  115. package/dist/components/modal/Modal.js.map +1 -1
  116. package/dist/components/mono-text/MonoText.d.ts +2 -3
  117. package/dist/components/mono-text/MonoText.d.ts.map +1 -1
  118. package/dist/components/mono-text/MonoText.js +2 -3
  119. package/dist/components/mono-text/MonoText.js.map +1 -1
  120. package/dist/components/month-calendar/MonthCalendar.d.ts +46 -0
  121. package/dist/components/month-calendar/MonthCalendar.d.ts.map +1 -0
  122. package/dist/components/month-calendar/MonthCalendar.js +55 -0
  123. package/dist/components/month-calendar/MonthCalendar.js.map +1 -0
  124. package/dist/components/month-calendar/index.d.ts +2 -0
  125. package/dist/components/month-calendar/index.d.ts.map +1 -0
  126. package/dist/components/month-calendar/index.js +3 -0
  127. package/dist/components/month-calendar/index.js.map +1 -0
  128. package/dist/components/number-stepper/NumberStepper.d.ts +16 -2
  129. package/dist/components/number-stepper/NumberStepper.d.ts.map +1 -1
  130. package/dist/components/number-stepper/NumberStepper.js +22 -3
  131. package/dist/components/number-stepper/NumberStepper.js.map +1 -1
  132. package/dist/components/pagination/Pagination.d.ts +1 -1
  133. package/dist/components/pagination/Pagination.js +1 -1
  134. package/dist/components/password-strength/PasswordStrength.d.ts +1 -1
  135. package/dist/components/password-strength/PasswordStrength.js +1 -1
  136. package/dist/components/permission-matrix/PermissionMatrix.d.ts +3 -3
  137. package/dist/components/popover/Popover.d.ts +1 -1
  138. package/dist/components/popover/Popover.js +1 -1
  139. package/dist/components/progress-bar/ProgressBar.d.ts +1 -1
  140. package/dist/components/progress-bar/ProgressBar.js +2 -2
  141. package/dist/components/progress-bar/ProgressBar.js.map +1 -1
  142. package/dist/components/radio/Radio.d.ts +2 -2
  143. package/dist/components/radio/Radio.js +2 -2
  144. package/dist/components/radio-card/RadioCard.d.ts +18 -8
  145. package/dist/components/radio-card/RadioCard.d.ts.map +1 -1
  146. package/dist/components/radio-card/RadioCard.js +4 -4
  147. package/dist/components/radio-card/RadioCard.js.map +1 -1
  148. package/dist/components/runtime-chip/RuntimeChip.d.ts +9 -9
  149. package/dist/components/runtime-chip/RuntimeChip.js +8 -8
  150. package/dist/components/search-input/SearchInput.d.ts +1 -1
  151. package/dist/components/search-input/SearchInput.js +1 -1
  152. package/dist/components/secret-input/SecretInput.d.ts +1 -1
  153. package/dist/components/secret-input/SecretInput.js +1 -1
  154. package/dist/components/segmented-control/SegmentedControl.d.ts +1 -1
  155. package/dist/components/segmented-control/SegmentedControl.js +1 -1
  156. package/dist/components/select/Select.d.ts +1 -1
  157. package/dist/components/select/Select.js +1 -1
  158. package/dist/components/skeleton/Skeleton.d.ts +1 -1
  159. package/dist/components/skeleton/Skeleton.js +2 -2
  160. package/dist/components/skeleton/Skeleton.js.map +1 -1
  161. package/dist/components/slider/Slider.d.ts +1 -1
  162. package/dist/components/slider/Slider.js +1 -1
  163. package/dist/components/slot-grid/SlotGrid.d.ts +37 -0
  164. package/dist/components/slot-grid/SlotGrid.d.ts.map +1 -0
  165. package/dist/components/slot-grid/SlotGrid.js +47 -0
  166. package/dist/components/slot-grid/SlotGrid.js.map +1 -0
  167. package/dist/components/slot-grid/index.d.ts +2 -0
  168. package/dist/components/slot-grid/index.d.ts.map +1 -0
  169. package/dist/components/slot-grid/index.js +3 -0
  170. package/dist/components/slot-grid/index.js.map +1 -0
  171. package/dist/components/snackbar/Snackbar.d.ts +1 -1
  172. package/dist/components/snackbar/Snackbar.js +1 -1
  173. package/dist/components/spinner/Spinner.d.ts +1 -1
  174. package/dist/components/spinner/Spinner.js +1 -1
  175. package/dist/components/status-pill/StatusPill.d.ts +1 -1
  176. package/dist/components/status-pill/StatusPill.js +5 -5
  177. package/dist/components/status-pill/StatusPill.js.map +1 -1
  178. package/dist/components/step-rail/StepRail.d.ts +36 -0
  179. package/dist/components/step-rail/StepRail.d.ts.map +1 -0
  180. package/dist/components/step-rail/StepRail.js +28 -0
  181. package/dist/components/step-rail/StepRail.js.map +1 -0
  182. package/dist/components/step-rail/index.d.ts +2 -0
  183. package/dist/components/step-rail/index.d.ts.map +1 -0
  184. package/dist/components/step-rail/index.js +3 -0
  185. package/dist/components/step-rail/index.js.map +1 -0
  186. package/dist/components/stepper/Stepper.d.ts +1 -1
  187. package/dist/components/stepper/Stepper.js +1 -1
  188. package/dist/components/success-state/SuccessState.d.ts +1 -2
  189. package/dist/components/success-state/SuccessState.d.ts.map +1 -1
  190. package/dist/components/success-state/SuccessState.js +1 -2
  191. package/dist/components/success-state/SuccessState.js.map +1 -1
  192. package/dist/components/switch/Switch.d.ts +2 -2
  193. package/dist/components/switch/Switch.js +2 -2
  194. package/dist/components/tabs/Tabs.d.ts +1 -1
  195. package/dist/components/tabs/Tabs.js +1 -1
  196. package/dist/components/tag/Tag.d.ts +1 -1
  197. package/dist/components/tag/Tag.js +1 -1
  198. package/dist/components/textarea/Textarea.d.ts +1 -1
  199. package/dist/components/textarea/Textarea.js +1 -1
  200. package/dist/components/toast/Toast.d.ts +5 -6
  201. package/dist/components/toast/Toast.d.ts.map +1 -1
  202. package/dist/components/toast/Toast.js +5 -6
  203. package/dist/components/toast/Toast.js.map +1 -1
  204. package/dist/components/toast/useToastQueue.d.ts +6 -7
  205. package/dist/components/toast/useToastQueue.d.ts.map +1 -1
  206. package/dist/components/toast/useToastQueue.js +6 -7
  207. package/dist/components/toast/useToastQueue.js.map +1 -1
  208. package/dist/components/toggle-row/ToggleRow.d.ts +33 -0
  209. package/dist/components/toggle-row/ToggleRow.d.ts.map +1 -0
  210. package/dist/components/toggle-row/ToggleRow.js +41 -0
  211. package/dist/components/toggle-row/ToggleRow.js.map +1 -0
  212. package/dist/components/toggle-row/index.d.ts +3 -0
  213. package/dist/components/toggle-row/index.d.ts.map +1 -0
  214. package/dist/components/toggle-row/index.js +3 -0
  215. package/dist/components/toggle-row/index.js.map +1 -0
  216. package/dist/components/tooltip/Tooltip.d.ts +1 -1
  217. package/dist/components/tooltip/Tooltip.js +1 -1
  218. package/dist/components/two-phase-modal/TwoPhaseModal.d.ts +3 -4
  219. package/dist/components/two-phase-modal/TwoPhaseModal.d.ts.map +1 -1
  220. package/dist/components/two-phase-modal/TwoPhaseModal.js +3 -4
  221. package/dist/components/two-phase-modal/TwoPhaseModal.js.map +1 -1
  222. package/dist/hooks/useUndoableAction.d.ts +5 -5
  223. package/dist/hooks/useUndoableAction.js +5 -5
  224. package/dist/index.d.ts +7 -0
  225. package/dist/index.d.ts.map +1 -1
  226. package/dist/index.js +7 -0
  227. package/dist/index.js.map +1 -1
  228. package/dist/lib/cn.d.ts +3 -4
  229. package/dist/lib/cn.d.ts.map +1 -1
  230. package/dist/lib/cn.js +3 -4
  231. package/dist/lib/cn.js.map +1 -1
  232. package/dist/lib/index.d.ts +1 -0
  233. package/dist/lib/index.d.ts.map +1 -1
  234. package/dist/lib/index.js +1 -0
  235. package/dist/lib/index.js.map +1 -1
  236. package/dist/lib/tones.d.ts +10 -9
  237. package/dist/lib/tones.d.ts.map +1 -1
  238. package/dist/lib/tones.js +10 -9
  239. package/dist/lib/tones.js.map +1 -1
  240. package/dist/lib/week.d.ts +37 -0
  241. package/dist/lib/week.d.ts.map +1 -0
  242. package/dist/lib/week.js +71 -0
  243. package/dist/lib/week.js.map +1 -0
  244. package/dist/theme/ThemeProvider.d.ts +4 -5
  245. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  246. package/dist/theme/ThemeProvider.js +19 -19
  247. package/dist/theme/ThemeProvider.js.map +1 -1
  248. package/dist/theme/context.d.ts +6 -5
  249. package/dist/theme/context.d.ts.map +1 -1
  250. package/dist/theme/context.js.map +1 -1
  251. package/dist/theme/subscribe.d.ts +4 -4
  252. package/dist/theme/subscribe.js +1 -1
  253. package/dist/theme/types.d.ts +10 -10
  254. package/dist/theme/types.d.ts.map +1 -1
  255. package/dist/theme/types.js +4 -4
  256. package/dist/theme/types.js.map +1 -1
  257. package/dist/theme/useTheme.d.ts.map +1 -1
  258. package/dist/theme/useTheme.js +2 -3
  259. package/dist/theme/useTheme.js.map +1 -1
  260. package/package.json +2 -2
@@ -26,7 +26,7 @@ export interface SegmentedControlProps extends Omit<React.ComponentPropsWithRef<
26
26
  }
27
27
  /**
28
28
  * SegmentedControl — 3px-padded `--surface-2` tray; active segment =
29
- * `--surface` bg + card shadow (research/design-system.md §3 Tier 2).
29
+ * `--surface` bg + card shadow (research/design-system.md Tier 2).
30
30
  * Variants come from the option shape: text, icon-only, with count pill,
31
31
  * with status dot. Radiogroup semantics with a single tab stop; arrow keys
32
32
  * move AND select (RTL-mirrored); Home/End jump.
@@ -13,7 +13,7 @@ const dotToneClasses = {
13
13
  };
14
14
  /**
15
15
  * SegmentedControl — 3px-padded `--surface-2` tray; active segment =
16
- * `--surface` bg + card shadow (research/design-system.md §3 Tier 2).
16
+ * `--surface` bg + card shadow (research/design-system.md Tier 2).
17
17
  * Variants come from the option shape: text, icon-only, with count pill,
18
18
  * with status dot. Radiogroup semantics with a single tab stop; arrow keys
19
19
  * move AND select (RTL-mirrored); Home/End jump.
@@ -9,7 +9,7 @@ export interface SelectProps extends Omit<React.ComponentPropsWithRef<'select'>,
9
9
  }
10
10
  /**
11
11
  * Native `<select>` in the Input chrome with a chevron-down affordance
12
- * (research/design-system.md §3 Tier 2). Kept native for plain forms —
12
+ * (research/design-system.md Tier 2). Kept native for plain forms —
13
13
  * searchable/rich cases (avatar rows, empty state) are `Combobox`.
14
14
  * Children are regular `<option>`/`<optgroup>` elements.
15
15
  */
@@ -5,7 +5,7 @@ import { cn } from '../../lib/cn.js';
5
5
  import { inputVariants } from '../input/index.js';
6
6
  /**
7
7
  * Native `<select>` in the Input chrome with a chevron-down affordance
8
- * (research/design-system.md §3 Tier 2). Kept native for plain forms —
8
+ * (research/design-system.md Tier 2). Kept native for plain forms —
9
9
  * searchable/rich cases (avatar rows, empty state) are `Combobox`.
10
10
  * Children are regular `<option>`/`<optgroup>` elements.
11
11
  */
@@ -3,7 +3,7 @@ import type * as React from 'react';
3
3
  /**
4
4
  * Shimmer placeholder using the tokens `.nb-skel` sweep (surface-3 ↔
5
5
  * surface-2, 1.4s; static under reduced motion). `aria-hidden` — the loading
6
- * *container* carries `aria-busy` (03-component-library.md §5.1).
6
+ * *container* carries `aria-busy`.
7
7
  */
8
8
  export declare const skeletonVariants: (props?: ({
9
9
  rounded?: "sm" | "md" | "lg" | "full" | null | undefined;
@@ -5,7 +5,7 @@ import { cn } from '../../lib/cn.js';
5
5
  /**
6
6
  * Shimmer placeholder using the tokens `.nb-skel` sweep (surface-3 ↔
7
7
  * surface-2, 1.4s; static under reduced motion). `aria-hidden` — the loading
8
- * *container* carries `aria-busy` (03-component-library.md §5.1).
8
+ * *container* carries `aria-busy`.
9
9
  */
10
10
  export const skeletonVariants = cva('nb-skel block', {
11
11
  variants: {
@@ -25,7 +25,7 @@ function toCssSize(value) {
25
25
  }
26
26
  export function Skeleton({ className, rounded, width, height, ...props }) {
27
27
  return (_jsx("div", { "aria-hidden": "true", className: cn(skeletonVariants({ rounded }), width !== undefined && 'w-[var(--adm-w)]', height !== undefined && 'h-[var(--adm-h)]', className),
28
- // Sanctioned escape hatch: CSS custom properties only (02-design-system.md §8).
28
+ // Sanctioned escape hatch: CSS custom properties only.
29
29
  style: { '--adm-w': toCssSize(width), '--adm-h': toCssSize(height) }, ...props }));
30
30
  }
31
31
  //# sourceMappingURL=Skeleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../src/components/skeleton/Skeleton.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAI/C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,eAAe,EAAE;IACnD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,cAAc;SACrB;KACF;IACD,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CACnC,CAAC,CAAC;AAWH,SAAS,SAAS,CAAC,KAAkC;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAiB;IACrF,OAAO,CACL,6BACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,EAC7B,KAAK,KAAK,SAAS,IAAI,kBAAkB,EACzC,MAAM,KAAK,SAAS,IAAI,kBAAkB,EAC1C,SAAS,CACV;QACD,gFAAgF;QAChF,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,KAChE,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Skeleton.js","sourceRoot":"","sources":["../../../src/components/skeleton/Skeleton.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAI/C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC,eAAe,EAAE;IACnD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,cAAc;SACrB;KACF;IACD,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;CACnC,CAAC,CAAC;AAWH,SAAS,SAAS,CAAC,KAAkC;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAiB;IACrF,OAAO,CACL,6BACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,EAC7B,KAAK,KAAK,SAAS,IAAI,kBAAkB,EACzC,MAAM,KAAK,SAAS,IAAI,kBAAkB,EAC1C,SAAS,CACV;QACD,uDAAuD;QACvD,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,KAChE,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
@@ -9,7 +9,7 @@ export interface SliderProps extends Omit<React.ComponentPropsWithRef<typeof Sli
9
9
  }
10
10
  /**
11
11
  * Slider — Radix slider with an accent range on a `--surface-3` track
12
- * (research/design-system.md §3 Tier 2). Arrow keys step (RTL-mirrored),
12
+ * (research/design-system.md Tier 2). Arrow keys step (RTL-mirrored),
13
13
  * PageUp/Down large-step, Home/End clamp. Pass a two-element `value`/
14
14
  * `defaultValue` for a range slider.
15
15
  */
@@ -4,7 +4,7 @@ import * as SliderPrimitive from '@radix-ui/react-slider';
4
4
  import { cn } from '../../lib/cn.js';
5
5
  /**
6
6
  * Slider — Radix slider with an accent range on a `--surface-3` track
7
- * (research/design-system.md §3 Tier 2). Arrow keys step (RTL-mirrored),
7
+ * (research/design-system.md Tier 2). Arrow keys step (RTL-mirrored),
8
8
  * PageUp/Down large-step, Home/End clamp. Pass a two-element `value`/
9
9
  * `defaultValue` for a range slider.
10
10
  */
@@ -0,0 +1,37 @@
1
+ export interface Slot {
2
+ /** `HH:MM` — what is stored, and what is shown. */
3
+ value: string;
4
+ /** Already held; struck through and inert (comp 653–658). */
5
+ taken?: boolean | undefined;
6
+ }
7
+ export interface SlotGridProps {
8
+ slots: readonly Slot[];
9
+ value: string | null;
10
+ onChange: (slot: string) => void;
11
+ /** Accessible name for the group (i18n: no default). */
12
+ label: string;
13
+ emptyLabel: string;
14
+ className?: string | undefined;
15
+ }
16
+ /**
17
+ * SlotGrid — the two-column grid of times (comp
18
+ * 342–346, 653–658).
19
+ *
20
+ * A taken slot is `disabled`, not merely struck through: the comp's own
21
+ * `onClick` for one is a no-op function, which looks identical and behaves
22
+ * identically to a broken button for anybody using a keyboard.
23
+ *
24
+ * The grid draws NOTHING rather than an empty frame when a day has no slots —
25
+ * a day outside the opening hours, or one whose slots are all taken and
26
+ * filtered away upstream — because an empty bordered box reads as "loading".
27
+ */
28
+ export declare function SlotGrid({ slots, value, onChange, label, emptyLabel, className }: SlotGridProps): import("react").JSX.Element;
29
+ /**
30
+ * The slots of one day, from an opening time, a closing time and a step.
31
+ *
32
+ * The last slot STARTS before `end` rather than ending by it: a 09:00–17:00
33
+ * day with 30-minute slots offers 16:30 and not 17:00, because 17:00 is when
34
+ * the day closes, not a time anybody can book.
35
+ */
36
+ export declare function slotsBetween(start: string, end: string, minutes: number): string[];
37
+ //# sourceMappingURL=SlotGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlotGrid.d.ts","sourceRoot":"","sources":["../../../src/components/slot-grid/SlotGrid.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,IAAI;IACnB,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,aAAa,+BAuC/F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAalF"}
@@ -0,0 +1,47 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ import { cn } from '../../lib/cn.js';
4
+ /**
5
+ * SlotGrid — the two-column grid of times (comp
6
+ * 342–346, 653–658).
7
+ *
8
+ * A taken slot is `disabled`, not merely struck through: the comp's own
9
+ * `onClick` for one is a no-op function, which looks identical and behaves
10
+ * identically to a broken button for anybody using a keyboard.
11
+ *
12
+ * The grid draws NOTHING rather than an empty frame when a day has no slots —
13
+ * a day outside the opening hours, or one whose slots are all taken and
14
+ * filtered away upstream — because an empty bordered box reads as "loading".
15
+ */
16
+ export function SlotGrid({ slots, value, onChange, label, emptyLabel, className }) {
17
+ if (slots.length === 0) {
18
+ return (_jsx("p", { className: "text-body-sm text-fg-subtle", "data-testid": "slot-grid-empty", children: emptyLabel }));
19
+ }
20
+ return (_jsx("div", { className: cn('grid grid-cols-2 gap-1.5', className), role: "group", "aria-label": label, "data-testid": "slot-grid", children: slots.map((slot) => {
21
+ const chosen = slot.value === value;
22
+ return (_jsx("button", { type: "button", disabled: slot.taken === true, "aria-pressed": chosen, "data-testid": `slot-${slot.value}`, onClick: () => onChange(slot.value), className: cn('rounded-[10px] border px-1.5 py-2.5 font-mono text-[12.5px] font-bold', 'focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-accent', chosen && 'border-accent bg-accent-soft text-accent', !chosen && slot.taken === true && 'border-border-strong bg-surface-3 text-fg-subtle line-through', !chosen && slot.taken !== true && 'border-border-strong bg-surface text-fg-muted hover:text-fg'), children: slot.value }, slot.value));
23
+ }) }));
24
+ }
25
+ /**
26
+ * The slots of one day, from an opening time, a closing time and a step.
27
+ *
28
+ * The last slot STARTS before `end` rather than ending by it: a 09:00–17:00
29
+ * day with 30-minute slots offers 16:30 and not 17:00, because 17:00 is when
30
+ * the day closes, not a time anybody can book.
31
+ */
32
+ export function slotsBetween(start, end, minutes) {
33
+ const parse = (text) => {
34
+ const [h, m] = text.split(':');
35
+ return Number(h) * 60 + Number(m ?? 0);
36
+ };
37
+ const from = parse(start);
38
+ const to = parse(end);
39
+ if (!Number.isFinite(from) || !Number.isFinite(to) || minutes <= 0 || to <= from)
40
+ return [];
41
+ const out = [];
42
+ for (let at = from; at < to; at += minutes) {
43
+ out.push(`${String(Math.floor(at / 60)).padStart(2, '0')}:${String(at % 60).padStart(2, '0')}`);
44
+ }
45
+ return out;
46
+ }
47
+ //# sourceMappingURL=SlotGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlotGrid.js","sourceRoot":"","sources":["../../../src/components/slot-grid/SlotGrid.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAmBrC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAiB;IAC9F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CACL,YAAG,SAAS,EAAC,6BAA6B,iBAAa,iBAAiB,YACrE,UAAU,GACT,CACL,CAAC;IACJ,CAAC;IACD,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,EACpD,IAAI,EAAC,OAAO,gBACA,KAAK,iBACL,WAAW,YAEtB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC;YACpC,OAAO,CACL,iBAEE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,kBACf,MAAM,iBACP,QAAQ,IAAI,CAAC,KAAK,EAAE,EACjC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,EAAE,CACX,uEAAuE,EACvE,qFAAqF,EACrF,MAAM,IAAI,0CAA0C,EACpD,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,+DAA+D,EACjG,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,6DAA6D,CAChG,YAEA,IAAI,CAAC,KAAK,IAdN,IAAI,CAAC,KAAK,CAeR,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,GAAW,EAAE,OAAe;IACtE,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;QACrC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC5F,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { SlotGrid, slotsBetween, type Slot, type SlotGridProps } from './SlotGrid.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/slot-grid/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ export { SlotGrid, slotsBetween } from './SlotGrid.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/slot-grid/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAiC,MAAM,eAAe,CAAC"}
@@ -13,7 +13,7 @@ export interface SnackbarProps extends ComponentPropsWithRef<'div'> {
13
13
  }
14
14
  /**
15
15
  * Snackbar — inverted dark pill (`fg` background / `bg` text) with an inline
16
- * Undo action (research/design-system.md §3 Tier 3). For queued, tonal
16
+ * Undo action (research/design-system.md Tier 3). For queued, tonal
17
17
  * notifications use `Toast`/`useToastQueue`; Snackbar is the single
18
18
  * lightweight confirmation.
19
19
  */
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from '../../lib/cn.js';
3
3
  /**
4
4
  * Snackbar — inverted dark pill (`fg` background / `bg` text) with an inline
5
- * Undo action (research/design-system.md §3 Tier 3). For queued, tonal
5
+ * Undo action (research/design-system.md Tier 3). For queued, tonal
6
6
  * notifications use `Toast`/`useToastQueue`; Snackbar is the single
7
7
  * lightweight confirmation.
8
8
  */
@@ -3,7 +3,7 @@ import type * as React from 'react';
3
3
  /**
4
4
  * Rotating ring: currentColor top segment on a 25%-alpha ring, `nb-spin`
5
5
  * keyframe from @adminium/tokens. Sizes 14/18/24px
6
- * (research/design-system.md §3 Tier 1). Inherits its color, so it adapts to
6
+ * (research/design-system.md Tier 1). Inherits its color, so it adapts to
7
7
  * `text-accent-fg` inside primary buttons; set `text-accent` (default) via
8
8
  * className on standalone usage.
9
9
  */
@@ -5,7 +5,7 @@ import { cn } from '../../lib/cn.js';
5
5
  /**
6
6
  * Rotating ring: currentColor top segment on a 25%-alpha ring, `nb-spin`
7
7
  * keyframe from @adminium/tokens. Sizes 14/18/24px
8
- * (research/design-system.md §3 Tier 1). Inherits its color, so it adapts to
8
+ * (research/design-system.md Tier 1). Inherits its color, so it adapts to
9
9
  * `text-accent-fg` inside primary buttons; set `text-accent` (default) via
10
10
  * className on standalone usage.
11
11
  */
@@ -13,7 +13,7 @@ export interface StatusPillProps extends Omit<BadgeProps, 'tone' | 'dot' | 'asCh
13
13
  }
14
14
  /**
15
15
  * Badge preset with a status dot; tone driven by the semantic status→tone
16
- * registry (research/design-system.md §3 Tier 1).
16
+ * registry (research/design-system.md Tier 1).
17
17
  */
18
18
  export declare function StatusPill({ status, tone, fallbackTone, children, ...props }: StatusPillProps): React.JSX.Element;
19
19
  //# sourceMappingURL=StatusPill.d.ts.map
@@ -1,14 +1,14 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Badge } from '../badge/Badge.js';
3
3
  import { statusTone } from '../../lib/tones.js';
4
- // The status→tone registry lives in lib/tones.ts (03-component-library.md
5
- // §7.6) — ONE registry instance package-wide, so a `registerStatusTones`
6
- // caller and every consumer resolve through the same map. Re-exported here
7
- // because this module was the barrel's historical source.
4
+ // The status→tone registry lives in lib/tones.ts — ONE registry instance
5
+ // package-wide, so a `registerStatusTones` caller and every consumer
6
+ // resolve through the same map. Re-exported here because this module was
7
+ // the barrel's historical source.
8
8
  export { DEFAULT_STATUS_TONES, registerStatusTones, statusTone } from '../../lib/tones.js';
9
9
  /**
10
10
  * Badge preset with a status dot; tone driven by the semantic status→tone
11
- * registry (research/design-system.md §3 Tier 1).
11
+ * registry (research/design-system.md Tier 1).
12
12
  */
13
13
  export function StatusPill({ status, tone, fallbackTone = 'neutral', children, ...props }) {
14
14
  return (_jsx(Badge, { tone: tone ?? statusTone(status, fallbackTone), dot: true, "data-status": status, ...props, children: children ?? status }));
@@ -1 +1 @@
1
- {"version":3,"file":"StatusPill.js","sourceRoot":"","sources":["../../../src/components/status-pill/StatusPill.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,0DAA0D;AAC1D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAa3F;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAmB;IACxG,OAAO,CACL,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,uBAAc,MAAM,KAAM,KAAK,YACtF,QAAQ,IAAI,MAAM,GACb,CACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"StatusPill.js","sourceRoot":"","sources":["../../../src/components/status-pill/StatusPill.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,yEAAyE;AACzE,qEAAqE;AACrE,yEAAyE;AACzE,kCAAkC;AAClC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAa3F;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAmB;IACxG,OAAO,CACL,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,IAAI,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,uBAAc,MAAM,KAAM,KAAK,YACtF,QAAQ,IAAI,MAAM,GACb,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { ComponentPropsWithRef, ReactNode } from 'react';
2
+ export interface StepRailStep {
3
+ /** The step's name: 12.5 / 700 (comp 366). */
4
+ label: ReactNode;
5
+ /** The second line, 10.5 subtle — what this step is for (comp 367). */
6
+ hint?: ReactNode | undefined;
7
+ }
8
+ export interface StepRailProps extends Omit<ComponentPropsWithRef<'nav'>, 'children'> {
9
+ steps: readonly StepRailStep[];
10
+ /** Zero-based. Everything before it is DONE, and looks the same. */
11
+ current: number;
12
+ /** Accessible name for the rail itself (i18n: no default). */
13
+ label: string;
14
+ /** Jump to a step; absent ⇒ the rail is a display, not a control. */
15
+ onStep?: ((index: number) => void) | undefined;
16
+ }
17
+ /**
18
+ * StepRail — the wizard's progress band (comp
19
+ * 365–372, 660–667).
20
+ *
21
+ * ─── The number stays ──────────────────────────────────────────────────────
22
+ *
23
+ * A done step keeps its NUMBER and takes the accent, rather than turning into a
24
+ * tick: the comp draws it that way, and it means a person can still say "I am
25
+ * on three of four" when they look back. A tick would also collide with the
26
+ * check the third step's own rows draw.
27
+ *
28
+ * ─── Below 640px, badges only ──────────────────────────────────────────────
29
+ *
30
+ * The labels go and the numbered badges stay (DP11): three labels with hints do
31
+ * not fit a phone-width dialog, and a rail that wraps to three lines is a rail
32
+ * that has eaten the form. `aria-current="step"` carries the same information
33
+ * to a screen reader at every width.
34
+ */
35
+ export declare function StepRail({ steps, current, label, onStep, className, ...props }: StepRailProps): import("react").JSX.Element;
36
+ //# sourceMappingURL=StepRail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepRail.d.ts","sourceRoot":"","sources":["../../../src/components/step-rail/StepRail.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9D,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,KAAK,EAAE,SAAS,CAAC;IACjB,uEAAuE;IACvE,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnF,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BAgD7F"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { cn } from '../../lib/cn.js';
3
+ /**
4
+ * StepRail — the wizard's progress band (comp
5
+ * 365–372, 660–667).
6
+ *
7
+ * ─── The number stays ──────────────────────────────────────────────────────
8
+ *
9
+ * A done step keeps its NUMBER and takes the accent, rather than turning into a
10
+ * tick: the comp draws it that way, and it means a person can still say "I am
11
+ * on three of four" when they look back. A tick would also collide with the
12
+ * check the third step's own rows draw.
13
+ *
14
+ * ─── Below 640px, badges only ──────────────────────────────────────────────
15
+ *
16
+ * The labels go and the numbered badges stay (DP11): three labels with hints do
17
+ * not fit a phone-width dialog, and a rail that wraps to three lines is a rail
18
+ * that has eaten the form. `aria-current="step"` carries the same information
19
+ * to a screen reader at every width.
20
+ */
21
+ export function StepRail({ steps, current, label, onStep, className, ...props }) {
22
+ return (_jsx("nav", { "aria-label": label, className: cn('flex flex-wrap items-center gap-5 border-b border-border bg-surface-2 px-[22px] py-3.5', className), ...props, children: _jsx("ol", { className: "flex flex-wrap items-center gap-5", children: steps.map((step, index) => {
23
+ const done = index <= current;
24
+ const inner = (_jsxs(_Fragment, { children: [_jsx("span", { "aria-hidden": "true", className: cn('flex size-6 shrink-0 items-center justify-center rounded-full font-mono text-[11px] font-bold', done ? 'bg-accent text-accent-fg' : 'bg-surface text-fg-subtle ring-1 ring-border'), children: index + 1 }), _jsxs("span", { className: "hidden min-w-0 flex-col sm:flex", children: [_jsx("span", { className: "text-[12.5px] font-bold text-fg", children: step.label }), step.hint === undefined ? null : (_jsx("span", { className: "text-[10.5px] text-fg-subtle", children: step.hint }))] })] }));
25
+ return (_jsx("li", { ...(index === current ? { 'aria-current': 'step' } : {}), children: onStep === undefined ? (_jsx("span", { className: "flex items-center gap-2", children: inner })) : (_jsx("button", { type: "button", onClick: () => onStep(index), className: "nb-ib flex items-center gap-2 rounded focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent", children: inner })) }, index));
26
+ }) }) }));
27
+ }
28
+ //# sourceMappingURL=StepRail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepRail.js","sourceRoot":"","sources":["../../../src/components/step-rail/StepRail.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAmBrC;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAiB;IAC5F,OAAO,CACL,4BACc,KAAK,EACjB,SAAS,EAAE,EAAE,CAAC,wFAAwF,EAAE,SAAS,CAAC,KAC9G,KAAK,YAET,aAAI,SAAS,EAAC,mCAAmC,YAC9C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,IAAI,GAAG,KAAK,IAAI,OAAO,CAAC;gBAC9B,MAAM,KAAK,GAAG,CACZ,8BACE,8BACc,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,+FAA+F,EAC/F,IAAI,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,8CAA8C,CACnF,YAEA,KAAK,GAAG,CAAC,GACL,EACP,gBAAM,SAAS,EAAC,iCAAiC,aAC/C,eAAM,SAAS,EAAC,iCAAiC,YAAE,IAAI,CAAC,KAAK,GAAQ,EACpE,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAChC,eAAM,SAAS,EAAC,8BAA8B,YAAE,IAAI,CAAC,IAAI,GAAQ,CAClE,IACI,IACN,CACJ,CAAC;gBACF,OAAO,CACL,gBAAoB,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAC/E,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACtB,eAAM,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAQ,CACzD,CAAC,CAAC,CAAC,CACF,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5B,SAAS,EAAC,2HAA2H,YAEpI,KAAK,GACC,CACV,IAXM,KAAK,CAYT,CACN,CAAC;YACJ,CAAC,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { StepRail, type StepRailProps, type StepRailStep } from './StepRail.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/step-rail/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ export { StepRail } from './StepRail.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/step-rail/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAyC,MAAM,eAAe,CAAC"}
@@ -24,7 +24,7 @@ export interface StepperProps extends ComponentPropsWithRef<'ol'> {
24
24
  /**
25
25
  * Stepper — wizard progress: numbered/spinner/check circles + connectors in
26
26
  * `horizontal` (wizard header) and `vertical` (timeline) variants; states
27
- * pending/active/loading/done/error (research/design-system.md §3 Tier 3).
27
+ * pending/active/loading/done/error (research/design-system.md Tier 3).
28
28
  * `<ol>` semantics with `aria-current="step"` on the active item.
29
29
  */
30
30
  export declare function Stepper({ steps, activeIndex, orientation, onStepClick, label, className, ...props }: StepperProps): import("react").JSX.Element;
@@ -50,7 +50,7 @@ function StepCircle({ state, index }) {
50
50
  /**
51
51
  * Stepper — wizard progress: numbered/spinner/check circles + connectors in
52
52
  * `horizontal` (wizard header) and `vertical` (timeline) variants; states
53
- * pending/active/loading/done/error (research/design-system.md §3 Tier 3).
53
+ * pending/active/loading/done/error (research/design-system.md Tier 3).
54
54
  * `<ol>` semantics with `aria-current="step"` on the active item.
55
55
  */
56
56
  export function Stepper({ steps, activeIndex = 0, orientation = 'horizontal', onStepClick, label, className, ...props }) {
@@ -20,8 +20,7 @@ export interface SuccessStateProps extends Omit<ComponentPropsWithRef<'div'>, 't
20
20
  }
21
21
  /**
22
22
  * SuccessState — 56px pos-soft check tile + heading + copy + Done button;
23
- * modal phase 2 everywhere and wizard terminal step
24
- * (03-component-library.md §5.3, §7.1).
23
+ * modal phase 2 everywhere and wizard terminal step.
25
24
  */
26
25
  export declare function SuccessState({ title, body, doneLabel, onDone, autoFocusDone, icon, tone, actions, className, children, ...props }: SuccessStateProps): import("react").JSX.Element;
27
26
  //# sourceMappingURL=SuccessState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuccessState.d.ts","sourceRoot":"","sources":["../../../src/components/success-state/SuccessState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI/C,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACpF,wCAAwC;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,iFAAiF;IACjF,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gCAAgC;IAChC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,aAAoB,EACpB,IAAI,EACJ,IAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,iBAAiB,+BAqBnB"}
1
+ {"version":3,"file":"SuccessState.d.ts","sourceRoot":"","sources":["../../../src/components/success-state/SuccessState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAI/C,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACpF,wCAAwC;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,iFAAiF;IACjF,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACpC,+BAA+B;IAC/B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gCAAgC;IAChC,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,aAAoB,EACpB,IAAI,EACJ,IAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,iBAAiB,+BAqBnB"}
@@ -6,8 +6,7 @@ import { Button } from '../button/Button.js';
6
6
  import { IconTile } from '../icon-tile/IconTile.js';
7
7
  /**
8
8
  * SuccessState — 56px pos-soft check tile + heading + copy + Done button;
9
- * modal phase 2 everywhere and wizard terminal step
10
- * (03-component-library.md §5.3, §7.1).
9
+ * modal phase 2 everywhere and wizard terminal step.
11
10
  */
12
11
  export function SuccessState({ title, body, doneLabel, onDone, autoFocusDone = true, icon, tone = 'pos', actions, className, children, ...props }) {
13
12
  return (_jsxs("div", { "data-part": "success-state", className: cn('flex flex-col items-center px-6 py-8 text-center', className), ...props, children: [_jsx(IconTile, { size: "xl", tone: tone, icon: icon ?? _jsx(Check, {}) }), _jsx("h2", { className: "mt-4 text-modal text-fg", children: title }), body === undefined || body === null ? null : (_jsx("p", { className: "mt-1.5 max-w-[340px] text-body-sm text-fg-muted", children: body })), children, _jsxs("div", { className: "mt-6 flex items-center gap-2", children: [_jsx(Button, { autoFocus: autoFocusDone, onClick: onDone, className: "min-w-[120px]", children: doneLabel }), actions] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"SuccessState.js","sourceRoot":"","sources":["../../../src/components/success-state/SuccessState.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAqBpD;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,aAAa,GAAG,IAAI,EACpB,IAAI,EACJ,IAAI,GAAG,KAAK,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACU;IAClB,OAAO,CACL,4BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CAAC,kDAAkD,EAAE,SAAS,CAAC,KACxE,KAAK,aAET,KAAC,QAAQ,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,KAAC,KAAK,KAAG,GAAI,EAC3D,aAAI,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAM,EACnD,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC5C,YAAG,SAAS,EAAC,iDAAiD,YAAE,IAAI,GAAK,CAC1E,EACA,QAAQ,EACT,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,MAAM,IAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAC,eAAe,YACzE,SAAS,GACH,EACR,OAAO,IACJ,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"SuccessState.js","sourceRoot":"","sources":["../../../src/components/success-state/SuccessState.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAqBpD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,aAAa,GAAG,IAAI,EACpB,IAAI,EACJ,IAAI,GAAG,KAAK,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACU;IAClB,OAAO,CACL,4BACY,eAAe,EACzB,SAAS,EAAE,EAAE,CAAC,kDAAkD,EAAE,SAAS,CAAC,KACxE,KAAK,aAET,KAAC,QAAQ,IAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,KAAC,KAAK,KAAG,GAAI,EAC3D,aAAI,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAM,EACnD,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC5C,YAAG,SAAS,EAAC,iDAAiD,YAAE,IAAI,GAAK,CAC1E,EACA,QAAQ,EACT,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,MAAM,IAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAC,eAAe,YACzE,SAAS,GACH,EACR,OAAO,IACJ,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -3,8 +3,8 @@ import type * as React from 'react';
3
3
  export type SwitchProps = Omit<React.ComponentPropsWithRef<typeof SwitchPrimitive.Root>, 'style' | 'asChild'>;
4
4
  /**
5
5
  * Switch — Radix switch, 40x23 track, 19px white knob, accent when on /
6
- * `--surface-3` when off, .18s knob travel (research/design-system.md §3
7
- * Tier 2). Space/Enter toggle; label wiring via `Label htmlFor` or
6
+ * `--surface-3` when off.18s knob travel (research/design-system.md Tier
7
+ * 2). Space/Enter toggle; label wiring via `Label htmlFor` or
8
8
  * `FormField`. Knob travel mirrors in RTL.
9
9
  */
10
10
  export declare function Switch({ className, ...props }: SwitchProps): React.JSX.Element;
@@ -4,8 +4,8 @@ import * as SwitchPrimitive from '@radix-ui/react-switch';
4
4
  import { cn } from '../../lib/cn.js';
5
5
  /**
6
6
  * Switch — Radix switch, 40x23 track, 19px white knob, accent when on /
7
- * `--surface-3` when off, .18s knob travel (research/design-system.md §3
8
- * Tier 2). Space/Enter toggle; label wiring via `Label htmlFor` or
7
+ * `--surface-3` when off.18s knob travel (research/design-system.md Tier
8
+ * 2). Space/Enter toggle; label wiring via `Label htmlFor` or
9
9
  * `FormField`. Knob travel mirrors in RTL.
10
10
  */
11
11
  export function Switch({ className, ...props }) {
@@ -10,7 +10,7 @@ export interface TabsProps extends ComponentPropsWithRef<typeof TabsPrimitive.Ro
10
10
  }
11
11
  /**
12
12
  * Tabs — Radix tabs with `underline` and `pill` variants
13
- * (research/design-system.md §3 Tier 3). Arrow keys auto-mirror in RTL via
13
+ * (research/design-system.md Tier 3). Arrow keys auto-mirror in RTL via
14
14
  * the app-level Radix `DirectionProvider`.
15
15
  */
16
16
  export declare function Tabs({ variant, className, ...props }: TabsProps): import("react").JSX.Element;
@@ -7,7 +7,7 @@ import { CountBadge } from '../count-badge/CountBadge.js';
7
7
  const TabsVariantContext = createContext('underline');
8
8
  /**
9
9
  * Tabs — Radix tabs with `underline` and `pill` variants
10
- * (research/design-system.md §3 Tier 3). Arrow keys auto-mirror in RTL via
10
+ * (research/design-system.md Tier 3). Arrow keys auto-mirror in RTL via
11
11
  * the app-level Radix `DirectionProvider`.
12
12
  */
13
13
  export function Tabs({ variant = 'underline', className, ...props }) {
@@ -3,7 +3,7 @@ import type * as React from 'react';
3
3
  /**
4
4
  * Mini chip, 10px/700, radius 6px (`rounded-sm`); tones as soft-bg +
5
5
  * strong-fg; `mono` variant for schema/type chips (`varchar`, `int8`, PK/FK,
6
- * HTTP methods, PDF/CSV/XLSX) — research/design-system.md §3 Tier 1.
6
+ * HTTP methods, PDF/CSV/XLSX) — research/design-system.md Tier 1.
7
7
  */
8
8
  export declare const tagVariants: (props?: ({
9
9
  tone?: "accent" | "pos" | "warn" | "danger" | "info" | "neutral" | null | undefined;
@@ -7,7 +7,7 @@ import { cn } from '../../lib/cn.js';
7
7
  /**
8
8
  * Mini chip, 10px/700, radius 6px (`rounded-sm`); tones as soft-bg +
9
9
  * strong-fg; `mono` variant for schema/type chips (`varchar`, `int8`, PK/FK,
10
- * HTTP methods, PDF/CSV/XLSX) — research/design-system.md §3 Tier 1.
10
+ * HTTP methods, PDF/CSV/XLSX) — research/design-system.md Tier 1.
11
11
  */
12
12
  export const tagVariants = cva('inline-flex items-center gap-1 whitespace-nowrap rounded-sm px-1.5 py-[3px] text-[10px] font-bold leading-none', {
13
13
  variants: {
@@ -13,7 +13,7 @@ export interface TextareaProps extends Omit<React.ComponentPropsWithRef<'textare
13
13
  }
14
14
  /**
15
15
  * Multi-line input with the exact `Input` chrome
16
- * (research/design-system.md §3 Tier 2).
16
+ * (research/design-system.md Tier 2).
17
17
  */
18
18
  export declare function Textarea({ className, error, mono, autoResize, ...props }: TextareaProps): React.JSX.Element;
19
19
  //# sourceMappingURL=Textarea.d.ts.map
@@ -3,7 +3,7 @@ import { cn } from '../../lib/cn.js';
3
3
  import { inputVariants } from '../input/index.js';
4
4
  /**
5
5
  * Multi-line input with the exact `Input` chrome
6
- * (research/design-system.md §3 Tier 2).
6
+ * (research/design-system.md Tier 2).
7
7
  */
8
8
  export function Textarea({ className, error = false, mono = false, autoResize = false, ...props }) {
9
9
  return (_jsx("textarea", { ...(error ? { 'aria-invalid': true, 'data-invalid': '' } : {}), className: cn(inputVariants({ mono }), 'h-auto min-h-[76px] py-2 leading-relaxed', autoResize ? 'field-sizing-content resize-none' : 'resize-y', className), ...props }));
@@ -1,9 +1,9 @@
1
1
  import type { ComponentPropsWithRef, ReactNode } from 'react';
2
2
  export type ToastVariant = 'success' | 'error' | 'warning' | 'info' | 'loading';
3
3
  /**
4
- * Default auto-dismiss durations in ms (03-component-library.md §7.2).
5
- * The imperative queue manager that actually fires dismissal is wave 2 —
6
- * here the duration only drives the visual `nb-toastbar` countdown.
4
+ * Default auto-dismiss durations in ms. The imperative queue manager
5
+ * that actually fires dismissal is wave 2 — here the duration only
6
+ * drives the visual `nb-toastbar` countdown.
7
7
  */
8
8
  export declare const TOAST_DEFAULT_DURATIONS: Record<ToastVariant, number | null>;
9
9
  export interface ToastActionSpec {
@@ -31,9 +31,8 @@ export interface ToastProps extends Omit<ComponentPropsWithRef<'div'>, 'title'>
31
31
  * Toast — single toast primitive: icon tile · title · description · optional
32
32
  * action · close · bottom timer bar (`nb-toastbar` scaleX). Slide-in via
33
33
  * `nb-toastin`, RTL-mirrored to `nb-toastin-rtl`
34
- * (research/design-system.md §3 Tier 3). Queue semantics (max 4,
35
- * auto-dismiss, `toast.*` imperative API) are wave 2 — this is the
36
- * controlled primitive.
34
+ * (research/design-system.md Tier 3). Queue semantics (max 4, auto-dismiss,
35
+ * `toast.*` imperative API) are wave 2 — this is the controlled primitive.
37
36
  */
38
37
  export declare function Toast({ variant, title, description, action, onDismiss, dismissLabel, duration, className, ...props }: ToastProps): import("react").JSX.Element;
39
38
  export interface ToastItem {
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAmBhF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAMvE,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAC7E,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,iFAAiF;IACjF,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACrC,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,EACpB,OAAgB,EAChB,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,UAAU,+BAuEZ;AAED,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IACnE,+EAA+E;IAC/E,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,+BAyBjB;AAED,4EAA4E;AAC5E,eAAO,MAAM,aAAa,mBAAa,CAAC"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAmBhF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAMvE,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAC7E,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,gDAAgD;IAChD,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,iFAAiF;IACjF,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACrC,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EACpB,OAAgB,EAChB,KAAK,EACL,WAAW,EACX,MAAM,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,UAAU,+BAuEZ;AAED,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,eAAgB,SAAQ,qBAAqB,CAAC,KAAK,CAAC;IACnE,+EAA+E;IAC/E,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,wEAAwE;IACxE,YAAY,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,KAAK,EACL,SAAS,EACT,GAAG,KAAK,EACT,EAAE,eAAe,+BAyBjB;AAED,4EAA4E;AAC5E,eAAO,MAAM,aAAa,mBAAa,CAAC"}
@@ -19,9 +19,9 @@ const toneBarBg = {
19
19
  info: 'bg-info',
20
20
  };
21
21
  /**
22
- * Default auto-dismiss durations in ms (03-component-library.md §7.2).
23
- * The imperative queue manager that actually fires dismissal is wave 2 —
24
- * here the duration only drives the visual `nb-toastbar` countdown.
22
+ * Default auto-dismiss durations in ms. The imperative queue manager
23
+ * that actually fires dismissal is wave 2 — here the duration only
24
+ * drives the visual `nb-toastbar` countdown.
25
25
  */
26
26
  export const TOAST_DEFAULT_DURATIONS = {
27
27
  success: 2600,
@@ -34,9 +34,8 @@ export const TOAST_DEFAULT_DURATIONS = {
34
34
  * Toast — single toast primitive: icon tile · title · description · optional
35
35
  * action · close · bottom timer bar (`nb-toastbar` scaleX). Slide-in via
36
36
  * `nb-toastin`, RTL-mirrored to `nb-toastin-rtl`
37
- * (research/design-system.md §3 Tier 3). Queue semantics (max 4,
38
- * auto-dismiss, `toast.*` imperative API) are wave 2 — this is the
39
- * controlled primitive.
37
+ * (research/design-system.md Tier 3). Queue semantics (max 4, auto-dismiss,
38
+ * `toast.*` imperative API) are wave 2 — this is the controlled primitive.
40
39
  */
41
40
  export function Toast({ variant = 'info', title, description, action, onDismiss, dismissLabel, duration, className, ...props }) {
42
41
  const tone = variantTone[variant];