@adminiumjs/ui 0.2.9 → 0.3.0-rc.1

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
@@ -21,7 +21,7 @@ export interface AlertProps extends Omit<ComponentPropsWithRef<'div'>, 'title'>
21
21
  /**
22
22
  * Alert / Callout — tone-soft background + `color-mix` tone border, icon +
23
23
  * title + body + optional CTA; tones info/pos/warn/danger
24
- * (research/design-system.md §3 Tier 3).
24
+ * (research/design-system.md Tier 3).
25
25
  */
26
26
  export declare function Alert({ tone, icon, title, body, action, className, children, ...props }: AlertProps): import("react").JSX.Element;
27
27
  //# sourceMappingURL=Alert.d.ts.map
@@ -18,7 +18,7 @@ const defaultIcons = {
18
18
  /**
19
19
  * Alert / Callout — tone-soft background + `color-mix` tone border, icon +
20
20
  * title + body + optional CTA; tones info/pos/warn/danger
21
- * (research/design-system.md §3 Tier 3).
21
+ * (research/design-system.md Tier 3).
22
22
  */
23
23
  export function Alert({ tone = 'info', icon, title, body, action, className, children, ...props }) {
24
24
  return (_jsxs("div", { "data-tone": tone, className: cn('flex items-start gap-3 rounded-lg border p-3.5', toneClasses[tone], toneMixBorderClasses[tone], className), ...props, children: [_jsx("span", { "data-part": "alert-icon", "aria-hidden": "true", className: "mt-px shrink-0 [&_svg]:size-4 [&_svg]:stroke-2", children: icon ?? defaultIcons[tone] }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "text-body font-bold leading-snug text-fg", children: title }), body === undefined && children === undefined ? null : (_jsx("div", { className: "mt-0.5 text-body-sm text-fg-muted", children: body ?? children })), action === undefined || action === null ? null : _jsx("div", { className: "mt-2", children: action })] })] }));
@@ -26,12 +26,12 @@ export interface AuthLayoutProps extends Omit<ComponentPropsWithRef<'div'>, 'sty
26
26
  children: ReactNode;
27
27
  }
28
28
  /**
29
- * AuthLayout — Tier-5 auth shell (research/design-system.md §3 Tier 5,
30
- * Login.dc.html + Auth & Onboarding.dc.html): split
31
- * brand panel with the accent gradient, logo block, testimonial + trust-badge
32
- * slots, and a 380px form column. The brand panel is purely decorative
33
- * marketing surface: it is `aria-hidden`, collapses away below `lg`, and the
34
- * layout uses logical flow only, so RTL mirrors for free.
29
+ * AuthLayout — Tier-5 auth shell (research/design-system.md Tier 5,
30
+ * Login.dc.html + Auth & Onboarding.dc.html): split brand panel with the
31
+ * accent gradient, logo block, testimonial + trust-badge slots, and a 380px
32
+ * form column. The brand panel is purely decorative marketing surface: it is
33
+ * `aria-hidden`, collapses away below `lg`, and the layout uses logical flow
34
+ * only, so RTL mirrors for free.
35
35
  */
36
36
  export declare function AuthLayout({ variant, logo, headline, description, brandContent, testimonial, trustBadges, corner, footer, className, children, ...props }: AuthLayoutProps): import("react").JSX.Element;
37
37
  export interface AuthTestimonialProps extends Omit<ComponentPropsWithRef<'figure'>, 'style' | 'role'> {
@@ -23,12 +23,12 @@ import { cn } from '../../lib/cn.js';
23
23
  */
24
24
  const brandGradientClass = 'bg-[var(--accent-light)] bg-[linear-gradient(155deg,var(--accent-light),color-mix(in_srgb,var(--accent-light)_62%,#000))]';
25
25
  /**
26
- * AuthLayout — Tier-5 auth shell (research/design-system.md §3 Tier 5,
27
- * Login.dc.html + Auth & Onboarding.dc.html): split
28
- * brand panel with the accent gradient, logo block, testimonial + trust-badge
29
- * slots, and a 380px form column. The brand panel is purely decorative
30
- * marketing surface: it is `aria-hidden`, collapses away below `lg`, and the
31
- * layout uses logical flow only, so RTL mirrors for free.
26
+ * AuthLayout — Tier-5 auth shell (research/design-system.md Tier 5,
27
+ * Login.dc.html + Auth & Onboarding.dc.html): split brand panel with the
28
+ * accent gradient, logo block, testimonial + trust-badge slots, and a 380px
29
+ * form column. The brand panel is purely decorative marketing surface: it is
30
+ * `aria-hidden`, collapses away below `lg`, and the layout uses logical flow
31
+ * only, so RTL mirrors for free.
32
32
  */
33
33
  export function AuthLayout({ variant = 'split', logo, headline, description, brandContent, testimonial, trustBadges, corner, footer, className, children, ...props }) {
34
34
  return (_jsxs("div", { "data-part": "auth-layout", "data-variant": variant, className: cn('flex min-h-dvh w-full bg-bg text-fg', className), ...props, children: [variant === 'split' ? (_jsxs("div", { "data-part": "auth-brand-panel", "aria-hidden": "true", className: cn('hidden w-[44%] shrink-0 select-none flex-col justify-between gap-10 overflow-hidden p-11 text-white lg:flex', brandGradientClass), children: [_jsx("div", { "data-part": "auth-brand-logo", children: logo }), _jsxs("div", { className: "flex max-w-[440px] flex-col items-start", children: [headline === undefined ? null : (_jsx("div", { className: "text-[32px] font-extrabold leading-[1.15] tracking-[-0.03em]", children: headline })), description === undefined ? null : (_jsx("div", { className: "mt-4 max-w-[40ch] text-[15px] leading-relaxed text-white/90", children: description })), brandContent === undefined ? null : _jsx("div", { className: "mt-7 w-full", children: brandContent }), testimonial === undefined ? null : (_jsx("div", { "data-part": "auth-testimonial-slot", className: "mt-7 w-full", children: testimonial }))] }), trustBadges === undefined ? (_jsx("div", {})) : (_jsx("div", { "data-part": "auth-trust-badges", className: "flex flex-wrap items-center gap-x-4 gap-y-1 text-[12px] text-white/90", children: trustBadges }))] })) : null, _jsxs("div", { className: "relative flex min-w-0 flex-1 flex-col items-center justify-center p-6 sm:p-10", children: [corner === undefined ? null : (_jsx("div", { "data-part": "auth-corner", className: "absolute end-6 top-6", children: corner })), _jsxs("main", { "data-part": "auth-form-column", className: "w-full max-w-[380px]", children: [children, footer === undefined ? null : (_jsx("div", { "data-part": "auth-footer", className: "mt-7 flex items-center justify-center gap-1.5 text-center text-caption text-fg-subtle [&_svg]:size-3.5", children: footer }))] })] })] }));
@@ -28,12 +28,11 @@ export interface ForgotPasswordFormProps extends Omit<ComponentPropsWithRef<'for
28
28
  /** Request in flight. */
29
29
  loading?: boolean | undefined;
30
30
  /**
31
- * The instance cannot send this mail at all — 11-electron.md §8.2's email row
32
- * ("Enabled only when SMTP is configured in settings; otherwise buttons
33
- * disabled"). Distinct from `loading`, which means "wait"; this means "not
34
- * from here". Pair it with {@link ForgotPasswordFormProps.notice} — a disabled
35
- * button with no explanation is the exact thing `Empty States.dc.html`
36
- * forbids.
31
+ * The instance cannot send this mail at all — email row ("Enabled only when
32
+ * SMTP is configured in settings; otherwise buttons disabled"). Distinct from
33
+ * `loading`, which means "wait"; this means "not from here". Pair it with
34
+ * {@link ForgotPasswordFormProps.notice} — a disabled button with no
35
+ * explanation is the exact thing `Empty States.dc.html` forbids.
37
36
  */
38
37
  disabled?: boolean | undefined;
39
38
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ForgotPasswordForm.d.ts","sourceRoot":"","sources":["../../../src/components/auth-screens/ForgotPasswordForm.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAWzE,wDAAwD;AACxD,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,2CAA2C;IAC3C,KAAK,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBACf,SAAQ,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IACvF,MAAM,EAAE,wBAAwB,CAAC;IACjC,mEAAmE;IACnE,QAAQ,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACrD,sEAAsE;IACtE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,mEAAmE;IACnE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAe,EACf,QAAgB,EAChB,MAAM,EACN,YAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,uBAAuB,+BAsEzB;AAED,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7D,wCAAwC;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,4FAA4F;IAC5F,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,8DAA8D;IAC9D,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,WAAW,EACX,QAAQ,EACR,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,+BAqBtB"}
1
+ {"version":3,"file":"ForgotPasswordForm.d.ts","sourceRoot":"","sources":["../../../src/components/auth-screens/ForgotPasswordForm.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAa,SAAS,EAAE,MAAM,OAAO,CAAC;AAWzE,wDAAwD;AACxD,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,2CAA2C;IAC3C,KAAK,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBACf,SAAQ,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;IACvF,MAAM,EAAE,wBAAwB,CAAC;IACjC,mEAAmE;IACnE,QAAQ,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACrD,sEAAsE;IACtE,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,mEAAmE;IACnE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAe,EACf,QAAgB,EAChB,MAAM,EACN,YAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,uBAAuB,+BAsEzB;AAED,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7D,wCAAwC;IACxC,KAAK,EAAE,SAAS,CAAC;IACjB,4FAA4F;IAC5F,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,8DAA8D;IAC9D,UAAU,CAAC,EAAE,SAAS,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,WAAW,EACX,QAAQ,EACR,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,+BAqBtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ForgotPasswordForm.js","sourceRoot":"","sources":["../../../src/components/auth-screens/ForgotPasswordForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForgotPasswordForm.js","sourceRoot":"","sources":["../../../src/components/auth-screens/ForgotPasswordForm.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ComponentPropsWithRef } from 'react';
2
2
  /**
3
3
  * The autosave phases. `dirty` is the annex's "Unsaved changes" pill
4
- * (research/widget-registry.md §12 `autosave-indicator`: warn dot "Unsaved
4
+ * (research/widget-registry.md `autosave-indicator`: warn dot "Unsaved
5
5
  * changes" → spinner "Saving…" → green check "All changes saved"), shown while
6
6
  * edits sit inside the host's debounce window. `idle` remains the no-edits-yet
7
7
  * phase and still renders nothing.
@@ -21,7 +21,7 @@ export interface AutosaveIndicatorProps extends ComponentPropsWithRef<'div'> {
21
21
  /**
22
22
  * AutosaveIndicator — "Unsaved changes / Saving… / All changes saved" pill with
23
23
  * a fade transition between states, announced politely via `aria-live`
24
- * (research/design-system.md §3 Tier 3). `idle` renders an empty live region
24
+ * (research/design-system.md Tier 3). `idle` renders an empty live region
25
25
  * (layout kept stable).
26
26
  */
27
27
  export declare function AutosaveIndicator({ status, savingLabel, savedLabel, dirtyLabel, errorLabel, className, ...props }: AutosaveIndicatorProps): import("react").JSX.Element;
@@ -6,7 +6,7 @@ import { Spinner } from '../spinner/Spinner.js';
6
6
  /**
7
7
  * AutosaveIndicator — "Unsaved changes / Saving… / All changes saved" pill with
8
8
  * a fade transition between states, announced politely via `aria-live`
9
- * (research/design-system.md §3 Tier 3). `idle` renders an empty live region
9
+ * (research/design-system.md Tier 3). `idle` renders an empty live region
10
10
  * (layout kept stable).
11
11
  */
12
12
  export function AutosaveIndicator({ status, savingLabel, savedLabel, dirtyLabel, errorLabel, className, ...props }) {
@@ -2,9 +2,9 @@ import { type VariantProps } from 'class-variance-authority';
2
2
  import { type ComponentPropsWithRef } from 'react';
3
3
  import type { Tone } from '../icon-tile/index.js';
4
4
  /**
5
- * The 5 fixed deterministic avatar gradients (research/design-system.md §3
6
- * Tier 1, 03-component-library.md §7.3). The hash below is FROZEN — changing
7
- * it re-colors every avatar in every install (major-version change).
5
+ * The 5 fixed deterministic avatar gradients (research/design-system.md Tier
6
+ * 1). The hash below is FROZEN — changing it re-colors every avatar in every
7
+ * install (major-version change).
8
8
  */
9
9
  export declare const AVATAR_GRADIENTS: readonly [readonly ["#6366f1", "#a855f7"], readonly ["#f59e0b", "#ef4444"], readonly ["#10b981", "#0d9488"], readonly ["#06b6d4", "#3b82f6"], readonly ["#8b5cf6", "#ec4899"]];
10
10
  /**
@@ -17,7 +17,7 @@ export declare const avatarGradientClasses: readonly ["bg-[linear-gradient(135de
17
17
  export declare function avatarGradientIndex(initials: string): number;
18
18
  /**
19
19
  * Initials = first grapheme of the first + last word of `name`, uppercased
20
- * via `toLocaleUpperCase(locale)` (03-component-library.md §7.3).
20
+ * via `toLocaleUpperCase(locale)`.
21
21
  */
22
22
  export declare function getInitials(name: string, locale?: string): string;
23
23
  export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
@@ -42,7 +42,7 @@ export interface AvatarProps extends Omit<ComponentPropsWithRef<'span'>, 'childr
42
42
  /**
43
43
  * Avatar — initials over 1 of 5 fixed deterministic gradients, or an image
44
44
  * with initials fallback; circle / rounded-square shapes; sizes 18–92px;
45
- * optional presence dot (research/design-system.md §3 Tier 1).
45
+ * optional presence dot (research/design-system.md Tier 1).
46
46
  */
47
47
  export declare function Avatar({ name, src, locale, label, presence, size, shape, className, ...props }: AvatarProps): import("react").JSX.Element;
48
48
  //# sourceMappingURL=Avatar.d.ts.map
@@ -4,9 +4,9 @@ import { cva } from 'class-variance-authority';
4
4
  import { useState } from 'react';
5
5
  import { cn } from '../../lib/cn.js';
6
6
  /**
7
- * The 5 fixed deterministic avatar gradients (research/design-system.md §3
8
- * Tier 1, 03-component-library.md §7.3). The hash below is FROZEN — changing
9
- * it re-colors every avatar in every install (major-version change).
7
+ * The 5 fixed deterministic avatar gradients (research/design-system.md Tier
8
+ * 1). The hash below is FROZEN — changing it re-colors every avatar in every
9
+ * install (major-version change).
10
10
  */
11
11
  export const AVATAR_GRADIENTS = [
12
12
  ['#6366f1', '#a855f7'],
@@ -37,7 +37,7 @@ export function avatarGradientIndex(initials) {
37
37
  }
38
38
  /**
39
39
  * Initials = first grapheme of the first + last word of `name`, uppercased
40
- * via `toLocaleUpperCase(locale)` (03-component-library.md §7.3).
40
+ * via `toLocaleUpperCase(locale)`.
41
41
  */
42
42
  export function getInitials(name, locale) {
43
43
  const words = name.trim().split(/\s+/).filter(Boolean);
@@ -92,7 +92,7 @@ const presenceToneBg = {
92
92
  /**
93
93
  * Avatar — initials over 1 of 5 fixed deterministic gradients, or an image
94
94
  * with initials fallback; circle / rounded-square shapes; sizes 18–92px;
95
- * optional presence dot (research/design-system.md §3 Tier 1).
95
+ * optional presence dot (research/design-system.md Tier 1).
96
96
  */
97
97
  export function Avatar({ name, src, locale, label, presence, size, shape, className, ...props }) {
98
98
  const [imageFailed, setImageFailed] = useState(false);
@@ -15,7 +15,7 @@ export interface AvatarStackProps extends ComponentPropsWithRef<'div'> {
15
15
  /**
16
16
  * AvatarStack — overlapping avatar row: −8px overlap via the logical `-ms-2`
17
17
  * negative margin, 2px `--surface` ring on every item, and a `+N` overflow
18
- * chip past `max` (research/design-system.md §3 Tier 1).
18
+ * chip past `max` (research/design-system.md Tier 1).
19
19
  */
20
20
  export declare function AvatarStack({ children, max, size, label, overflowLabel, className, ...props }: AvatarStackProps): import("react").JSX.Element;
21
21
  //# sourceMappingURL=AvatarStack.d.ts.map
@@ -6,7 +6,7 @@ import { avatarSizeClasses } from '../avatar/index.js';
6
6
  /**
7
7
  * AvatarStack — overlapping avatar row: −8px overlap via the logical `-ms-2`
8
8
  * negative margin, 2px `--surface` ring on every item, and a `+N` overflow
9
- * chip past `max` (research/design-system.md §3 Tier 1).
9
+ * chip past `max` (research/design-system.md Tier 1).
10
10
  */
11
11
  export function AvatarStack({ children, max, size = 'md', label, overflowLabel = (n) => `+${n}`, className, ...props }) {
12
12
  const items = Children.toArray(children);
@@ -3,7 +3,7 @@ import type * as React from 'react';
3
3
  export type { Tone } from '../../lib/tones.js';
4
4
  /**
5
5
  * Pill badge: radius-full, 11px/700, soft tone background + strong tone
6
- * foreground (research/design-system.md §3 Tier 1). The tone→class map is the
6
+ * foreground (research/design-system.md Tier 1). The tone→class map is the
7
7
  * shared `toneSoftClasses` recipe — one source of truth for every soft tint.
8
8
  */
9
9
  export declare const badgeVariants: (props?: ({
@@ -6,7 +6,7 @@ import { cn } from '../../lib/cn.js';
6
6
  import { toneSoftClasses } from '../../lib/tones.js';
7
7
  /**
8
8
  * Pill badge: radius-full, 11px/700, soft tone background + strong tone
9
- * foreground (research/design-system.md §3 Tier 1). The tone→class map is the
9
+ * foreground (research/design-system.md Tier 1). The tone→class map is the
10
10
  * shared `toneSoftClasses` recipe — one source of truth for every soft tint.
11
11
  */
12
12
  export const badgeVariants = cva('inline-flex items-center gap-1.5 whitespace-nowrap rounded-full px-2 py-0.5 text-[11px] font-bold leading-4', {
@@ -2,6 +2,6 @@
2
2
  export { Badge, badgeVariants } from './Badge.js';
3
3
  // NB: the `Tone` union is intentionally NOT re-exported here — consumers get
4
4
  // it from the barrel via components/icon-tile. Both re-export the SAME
5
- // declaration from lib/tones.ts (its single home, 03-component-library.md
6
- // §7.6); keeping one barrel path avoids duplicate `export *` surface.
5
+ // declaration from lib/tones.ts (its single home); keeping one barrel path
6
+ // avoids duplicate `export *` surface.
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/badge/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElD,6EAA6E;AAC7E,uEAAuE;AACvE,0EAA0E;AAC1E,sEAAsE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/badge/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElD,6EAA6E;AAC7E,uEAAuE;AACvE,2EAA2E;AAC3E,uCAAuC"}
@@ -15,7 +15,7 @@ export interface BannerProps extends ComponentPropsWithRef<'div'> {
15
15
  /**
16
16
  * Banner — full-width top alert variant: tone-soft strip with a `color-mix`
17
17
  * bottom hairline, icon + message + optional action, dismissible
18
- * (research/design-system.md §3 Tier 3). Mount above the app shell.
18
+ * (research/design-system.md Tier 3). Mount above the app shell.
19
19
  */
20
20
  export declare function Banner({ tone, icon, action, onDismiss, dismissLabel, className, children, ...props }: BannerProps): import("react").JSX.Element;
21
21
  //# sourceMappingURL=Banner.d.ts.map
@@ -17,7 +17,7 @@ const defaultIcons = {
17
17
  /**
18
18
  * Banner — full-width top alert variant: tone-soft strip with a `color-mix`
19
19
  * bottom hairline, icon + message + optional action, dismissible
20
- * (research/design-system.md §3 Tier 3). Mount above the app shell.
20
+ * (research/design-system.md Tier 3). Mount above the app shell.
21
21
  */
22
22
  export function Banner({ tone = 'info', icon, action, onDismiss, dismissLabel, className, children, ...props }) {
23
23
  return (_jsxs("div", { "data-tone": tone, className: cn('flex w-full items-center gap-2.5 border-b px-4 py-2.5', toneClasses[tone], className), ...props, children: [_jsx("span", { "data-part": "banner-icon", "aria-hidden": "true", className: "shrink-0 [&_svg]:size-4 [&_svg]:stroke-2", children: icon ?? defaultIcons[tone] }), _jsx("div", { className: "min-w-0 flex-1 text-body-sm font-semibold text-fg", children: children }), action === undefined || action === null ? null : _jsx("div", { className: "shrink-0", children: action }), onDismiss === undefined ? null : (_jsx("button", { type: "button", "aria-label": dismissLabel, onClick: onDismiss, className: cn('nb-ib -me-1 inline-flex size-7 shrink-0 items-center justify-center rounded-md text-fg-muted', 'focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent'), children: _jsx(X, { className: "size-3.5", "aria-hidden": "true" }) }))] }));
@@ -16,7 +16,7 @@ export interface BreadcrumbsProps extends Omit<ComponentPropsWithRef<'nav'>, 'ch
16
16
  /**
17
17
  * Breadcrumbs — links + chevron separators (RTL-mirrored), optional mono
18
18
  * segments, `nav > ol` semantics with `aria-current="page"` on the last item
19
- * (research/design-system.md §3 Tier 3).
19
+ * (research/design-system.md Tier 3).
20
20
  */
21
21
  export declare function Breadcrumbs({ items, label, className, ...props }: BreadcrumbsProps): import("react").JSX.Element;
22
22
  //# sourceMappingURL=Breadcrumbs.d.ts.map
@@ -7,7 +7,7 @@ import { MonoText } from '../mono-text/MonoText.js';
7
7
  /**
8
8
  * Breadcrumbs — links + chevron separators (RTL-mirrored), optional mono
9
9
  * segments, `nav > ol` semantics with `aria-current="page"` on the last item
10
- * (research/design-system.md §3 Tier 3).
10
+ * (research/design-system.md Tier 3).
11
11
  */
12
12
  export function Breadcrumbs({ items, label, className, ...props }) {
13
13
  return (_jsx("nav", { "aria-label": label, className: cn('min-w-0', className), ...props, children: _jsx("ol", { className: "flex min-w-0 items-center gap-1.5 text-body-sm", children: items.map((item, index) => {
@@ -20,8 +20,8 @@ export interface BulkActionBarProps extends ComponentPropsWithRef<'div'> {
20
20
  }
21
21
  /**
22
22
  * BulkActionBar — the selection bar shown while rows are checked: mono count +
23
- * actions + clear, appearing via `nb-fade` (research/design-system.md §3
24
- * Tier 3). Two treatments, chosen by `floating`:
23
+ * actions + clear, appearing via `nb-fade` (research/design-system.md Tier 3).
24
+ * Two treatments, chosen by `floating`:
25
25
  *
26
26
  * - `floating` (default): the dark `--fg` slab pinned bottom-centre over the
27
27
  * page. It reads as an overlay because it *is* one.
@@ -13,8 +13,8 @@ import { MonoText } from '../mono-text/MonoText.js';
13
13
  const BulkActionFloatingContext = createContext(true);
14
14
  /**
15
15
  * BulkActionBar — the selection bar shown while rows are checked: mono count +
16
- * actions + clear, appearing via `nb-fade` (research/design-system.md §3
17
- * Tier 3). Two treatments, chosen by `floating`:
16
+ * actions + clear, appearing via `nb-fade` (research/design-system.md Tier 3).
17
+ * Two treatments, chosen by `floating`:
18
18
  *
19
19
  * - `floating` (default): the dark `--fg` slab pinned bottom-centre over the
20
20
  * page. It reads as an overlay because it *is* one.
@@ -1,9 +1,9 @@
1
1
  import type { VariantProps } from 'class-variance-authority';
2
2
  import type * as React from 'react';
3
3
  /**
4
- * Button CVA map per 03-component-library.md §3.1 and
5
- * research/design-system.md §3 Tier 1. `size` is declared before `variant` so
6
- * the `link` variant's `h-auto p-0` wins the tailwind-merge conflict.
4
+ * Button CVA map and research/design-system.md Tier 1. `size` is declared
5
+ * before `variant` so the `link` variant's `h-auto p-0` wins the
6
+ * tailwind-merge conflict.
7
7
  */
8
8
  export declare const buttonVariants: (props?: ({
9
9
  size?: "sm" | "md" | "lg" | "topbar" | null | undefined;
@@ -5,9 +5,9 @@ import { cva } from 'class-variance-authority';
5
5
  import { cn } from '../../lib/cn.js';
6
6
  import { Spinner } from '../spinner/Spinner.js';
7
7
  /**
8
- * Button CVA map per 03-component-library.md §3.1 and
9
- * research/design-system.md §3 Tier 1. `size` is declared before `variant` so
10
- * the `link` variant's `h-auto p-0` wins the tailwind-merge conflict.
8
+ * Button CVA map and research/design-system.md Tier 1. `size` is declared
9
+ * before `variant` so the `link` variant's `h-auto p-0` wins the
10
+ * tailwind-merge conflict.
11
11
  */
12
12
  export const buttonVariants = cva('nb-press inline-flex select-none items-center justify-center gap-1.5 whitespace-nowrap rounded-md font-semibold ' +
13
13
  'transition-[background-color,color,box-shadow] duration-150 ' +
@@ -13,7 +13,7 @@ export interface CardProps extends ComponentPropsWithRef<'div'>, VariantProps<ty
13
13
  /**
14
14
  * Card — surface container: `--surface` bg, 1px `--border`, radius 14,
15
15
  * `--shadow` (shadow-card), density padding via `--card-pad`
16
- * (research/design-system.md §3 Tier 3).
16
+ * (research/design-system.md Tier 3).
17
17
  */
18
18
  export declare function Card({ asChild, hoverable, raise, selected, padded, className, ...props }: CardProps): import("react").JSX.Element;
19
19
  export type CardHeaderProps = ComponentPropsWithRef<'div'>;
@@ -27,7 +27,7 @@ export const cardVariants = cva('rounded-lg border border-border bg-surface shad
27
27
  /**
28
28
  * Card — surface container: `--surface` bg, 1px `--border`, radius 14,
29
29
  * `--shadow` (shadow-card), density padding via `--card-pad`
30
- * (research/design-system.md §3 Tier 3).
30
+ * (research/design-system.md Tier 3).
31
31
  */
32
32
  export function Card({ asChild, hoverable, raise, selected, padded, className, ...props }) {
33
33
  const Comp = asChild ? Slot : 'div';
@@ -0,0 +1,34 @@
1
+ import { type ComponentPropsWithRef, type ReactNode } from 'react';
2
+ export interface CheckRowProps extends Omit<ComponentPropsWithRef<'div'>, 'style' | 'onChange'> {
3
+ /** The thing being turned on: 13 / 700 with a detail, 13 / 600 without. */
4
+ label: ReactNode;
5
+ /** The second line (comp 405) — what this one grants, in plain words. */
6
+ detail?: ReactNode | undefined;
7
+ /** Trailing mono text (comp 498): a scope, a code, a count. */
8
+ scope?: ReactNode | undefined;
9
+ checked?: boolean | undefined;
10
+ onCheckedChange?: ((checked: boolean) => void) | undefined;
11
+ disabled?: boolean | undefined;
12
+ }
13
+ /**
14
+ * CheckRow — a bordered, tinted row with a box, a label and a detail or a mono
15
+ * scope (comp 402–407, 494–500).
16
+ *
17
+ * ─── What it is for, and what it is not ────────────────────────────────────
18
+ *
19
+ * Two shapes in the comp, one control: "provision these systems on day one"
20
+ * (label + detail) and a permission list (label + a mono scope at the end). It
21
+ * is a CHOICE MADE VISIBLE — the whole row is the target, the selected state
22
+ * is a tinted border rather than a tick you have to look for, and the detail
23
+ * has somewhere to live.
24
+ *
25
+ * It is never the default for anything: a boolean gets a `ToggleRow` and a list
26
+ * gets chips. A check row is what an admin CHOOSES when the options deserve a
27
+ * sentence each (Appendix C).
28
+ *
29
+ * The row is a real `checkbox` role with `aria-checked`, driven by Space as
30
+ * well as by a click, because that is what a person reaching it by keyboard
31
+ * expects — and a div with an onClick is not reachable at all.
32
+ */
33
+ export declare function CheckRow({ label, detail, scope, checked, onCheckedChange, disabled, className, ...props }: CheckRowProps): import("react").JSX.Element;
34
+ //# sourceMappingURL=CheckRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckRow.d.ts","sourceRoot":"","sources":["../../../src/components/check-row/CheckRow.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,qBAAqB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK1E,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAC7F,2EAA2E;IAC3E,KAAK,EAAE,SAAS,CAAC;IACjB,yEAAyE;IACzE,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,MAAM,EACN,KAAK,EACL,OAAe,EACf,eAAe,EACf,QAAgB,EAChB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,aAAa,+BA8Df"}
@@ -0,0 +1,53 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ import { Check } from 'lucide-react';
4
+ import { useId } from 'react';
5
+ import { cn } from '../../lib/cn.js';
6
+ import { MonoText } from '../mono-text/index.js';
7
+ /**
8
+ * CheckRow — a bordered, tinted row with a box, a label and a detail or a mono
9
+ * scope (comp 402–407, 494–500).
10
+ *
11
+ * ─── What it is for, and what it is not ────────────────────────────────────
12
+ *
13
+ * Two shapes in the comp, one control: "provision these systems on day one"
14
+ * (label + detail) and a permission list (label + a mono scope at the end). It
15
+ * is a CHOICE MADE VISIBLE — the whole row is the target, the selected state
16
+ * is a tinted border rather than a tick you have to look for, and the detail
17
+ * has somewhere to live.
18
+ *
19
+ * It is never the default for anything: a boolean gets a `ToggleRow` and a list
20
+ * gets chips. A check row is what an admin CHOOSES when the options deserve a
21
+ * sentence each (Appendix C).
22
+ *
23
+ * The row is a real `checkbox` role with `aria-checked`, driven by Space as
24
+ * well as by a click, because that is what a person reaching it by keyboard
25
+ * expects — and a div with an onClick is not reachable at all.
26
+ */
27
+ export function CheckRow({ label, detail, scope, checked = false, onCheckedChange, disabled = false, className, ...props }) {
28
+ const id = useId();
29
+ const descriptionId = detail === undefined || detail === null ? undefined : `${id}-detail`;
30
+ const toggle = () => {
31
+ if (disabled)
32
+ return;
33
+ onCheckedChange?.(!checked);
34
+ };
35
+ return (_jsxs("div", { role: "checkbox", "aria-checked": checked, ...(descriptionId === undefined ? {} : { 'aria-describedby': descriptionId }), ...(disabled ? { 'aria-disabled': true } : { tabIndex: 0 }), onClick: toggle, onKeyDown: (event) => {
36
+ // Space is the checkbox key; Enter is not, and browsers do not send a
37
+ // click for either on a div — so both are wired by hand.
38
+ if (event.key === ' ' || event.key === 'Enter') {
39
+ event.preventDefault();
40
+ toggle();
41
+ }
42
+ }, className: cn('flex cursor-pointer items-center gap-[11px] rounded-[11px] border px-3.5 py-2.5', 'focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent', checked ? 'border-accent bg-accent-soft' : 'border-border bg-surface',
43
+ // `pointer-events-none`, but NOT an opacity: dimming 11.5px type is
44
+ // what failed `ToggleRow`'s description in the axe sweep, and this row
45
+ // escapes the same rule only because `aria-disabled` makes axe skip it.
46
+ disabled && 'pointer-events-none cursor-not-allowed', className), ...props, children: [_jsx("span", { "aria-hidden": "true", className: cn(
47
+ // `text-accent-fg`, never a literal white: the box's background is a
48
+ // token that follows the theme and a literal foreground does not — the
49
+ // pair loses contrast the moment the theme flips (the lint rule
50
+ // measures it).
51
+ 'flex size-[18px] shrink-0 items-center justify-center rounded-[5px] text-accent-fg', checked ? 'bg-accent' : 'border-[1.5px] border-border-strong'), children: _jsx(Check, { className: cn('size-3', checked ? 'opacity-100' : 'opacity-0') }) }), _jsxs("span", { className: "min-w-0 flex-1", children: [_jsx("span", { className: cn('block text-body-sm text-fg', detail === undefined ? 'font-semibold' : 'font-bold'), children: label }), descriptionId === undefined ? null : (_jsx("span", { id: descriptionId, className: "block text-[11.5px] leading-4 text-fg-subtle", children: detail }))] }), scope === undefined || scope === null ? null : (_jsx(MonoText, { className: "shrink-0 text-[11px] text-fg-subtle", children: scope }))] }));
52
+ }
53
+ //# sourceMappingURL=CheckRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckRow.js","sourceRoot":"","sources":["../../../src/components/check-row/CheckRow.tsx"],"names":[],"mappings":";AAAA,yCAAyC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAA8C,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAcjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,MAAM,EACN,KAAK,EACL,OAAO,GAAG,KAAK,EACf,eAAe,EACf,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,GAAG,KAAK,EACM;IACd,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,MAAM,aAAa,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC;IAC3F,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,QAAQ;YAAE,OAAO;QACrB,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC;IACF,OAAO,CACL,eACE,IAAI,EAAC,UAAU,kBACD,OAAO,KACjB,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC,KAC1E,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAC5D,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,sEAAsE;YACtE,yDAAyD;YACzD,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC/C,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC,EACD,SAAS,EAAE,EAAE,CACX,iFAAiF,EACjF,qFAAqF,EACrF,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,0BAA0B;QACrE,oEAAoE;QACpE,uEAAuE;QACvE,wEAAwE;QACxE,QAAQ,IAAI,wCAAwC,EACpD,SAAS,CACV,KACG,KAAK,aAET,8BACc,MAAM,EAClB,SAAS,EAAE,EAAE;gBACX,qEAAqE;gBACrE,uEAAuE;gBACvE,gEAAgE;gBAChE,gBAAgB;gBAChB,oFAAoF,EACpF,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qCAAqC,CAC9D,YAED,KAAC,KAAK,IAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,GAAI,GACpE,EACP,gBAAM,SAAS,EAAC,gBAAgB,aAC9B,eAAM,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,YACpG,KAAK,GACD,EACN,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACpC,eAAM,EAAE,EAAE,aAAa,EAAE,SAAS,EAAC,8CAA8C,YAC9E,MAAM,GACF,CACR,IACI,EACN,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9C,KAAC,QAAQ,IAAC,SAAS,EAAC,qCAAqC,YAAE,KAAK,GAAY,CAC7E,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { CheckRow } from './CheckRow.js';
2
+ export type { CheckRowProps } from './CheckRow.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/check-row/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ export { CheckRow } from './CheckRow.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/check-row/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
@@ -4,7 +4,7 @@ export type CheckboxProps = Omit<React.ComponentPropsWithRef<typeof CheckboxPrim
4
4
  /**
5
5
  * Checkbox — Radix checkbox, 18px square, radius 6 (`rounded-sm`), accent
6
6
  * fill + white check when checked, `Minus` glyph when `indeterminate`
7
- * (research/design-system.md §3 Tier 2).
7
+ * (research/design-system.md Tier 2).
8
8
  *
9
9
  * Indeterminate is the Radix contract: pass `checked="indeterminate"`
10
10
  * (controlled). Label + caption wiring belongs to `FormField` / `Label`.
@@ -6,7 +6,7 @@ import { cn } from '../../lib/cn.js';
6
6
  /**
7
7
  * Checkbox — Radix checkbox, 18px square, radius 6 (`rounded-sm`), accent
8
8
  * fill + white check when checked, `Minus` glyph when `indeterminate`
9
- * (research/design-system.md §3 Tier 2).
9
+ * (research/design-system.md Tier 2).
10
10
  *
11
11
  * Indeterminate is the Radix contract: pass `checked="indeterminate"`
12
12
  * (controlled). Label + caption wiring belongs to `FormField` / `Label`.
@@ -14,6 +14,13 @@ export interface ChipInputProps extends Omit<React.ComponentPropsWithRef<'input'
14
14
  validate?: ((chip: string) => boolean) | undefined;
15
15
  /** Accessible name for each chip's ✕ button, built per chip (i18n-friendly). */
16
16
  removeLabel: (chip: string) => string;
17
+ /**
18
+ * The chips' tint. The comp draws both: accent for a short, meaningful set
19
+ * (tags, 254) and neutral for a long one the person is assembling (invite
20
+ * addresses, 486). Accent on fifty chips is a wall of colour; neutral on
21
+ * three is a list nobody reads as choices.
22
+ */
23
+ tone?: 'accent' | 'neutral' | undefined;
17
24
  /** Force the danger state from outside (form-level validation). */
18
25
  error?: boolean | undefined;
19
26
  /** Extra classes for the inline `<input>` (className styles the wrapper). */
@@ -21,9 +28,9 @@ export interface ChipInputProps extends Omit<React.ComponentPropsWithRef<'input'
21
28
  }
22
29
  /**
23
30
  * ChipInput (MultiSelect/TagInput) — removable chips + inline text input
24
- * (research/design-system.md §3 Tier 2). Enter or `,` commits the pending
31
+ * (research/design-system.md Tier 2). Enter or `,` commits the pending
25
32
  * text, paste splits on commas/whitespace, Backspace on an empty input
26
33
  * removes the last chip, duplicates are ignored.
27
34
  */
28
- export declare function ChipInput({ className, inputClassName, value, defaultValue, onValueChange, validate, removeLabel, error, disabled, ref, onKeyDown, onPaste, onBlur, ...inputProps }: ChipInputProps): React.JSX.Element;
35
+ export declare function ChipInput({ className, inputClassName, value, defaultValue, onValueChange, validate, removeLabel, tone, error, disabled, ref, onKeyDown, onPaste, onBlur, ...inputProps }: ChipInputProps): React.JSX.Element;
29
36
  //# sourceMappingURL=ChipInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChipInput.d.ts","sourceRoot":"","sources":["../../../src/components/chip-input/ChipInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAQpC,MAAM,WAAW,cACf,SAAQ,IAAI,CACV,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,EACpC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,CAClE;IACD,4BAA4B;IAC5B,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,sCAAsC;IACtC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,sDAAsD;IACtD,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IACnD,gFAAgF;IAChF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,cAAc,EACd,KAAK,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,WAAW,EACX,KAAa,EACb,QAAQ,EACR,GAAG,EACH,SAAS,EACT,OAAO,EACP,MAAM,EACN,GAAG,UAAU,EACd,EAAE,cAAc,qBA2HhB"}
1
+ {"version":3,"file":"ChipInput.d.ts","sourceRoot":"","sources":["../../../src/components/chip-input/ChipInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAQpC,MAAM,WAAW,cACf,SAAQ,IAAI,CACV,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,EACpC,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,CAClE;IACD,4BAA4B;IAC5B,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,sCAAsC;IACtC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,sDAAsD;IACtD,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IACnD,gFAAgF;IAChF,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,cAAc,EACd,KAAK,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,WAAW,EACX,IAAgB,EAChB,KAAa,EACb,QAAQ,EACR,GAAG,EACH,SAAS,EACT,OAAO,EACP,MAAM,EACN,GAAG,UAAU,EACd,EAAE,cAAc,qBA4HhB"}
@@ -7,11 +7,11 @@ import { Tag } from '../tag/index.js';
7
7
  const SPLIT_RE = /[,\s]+/;
8
8
  /**
9
9
  * ChipInput (MultiSelect/TagInput) — removable chips + inline text input
10
- * (research/design-system.md §3 Tier 2). Enter or `,` commits the pending
10
+ * (research/design-system.md Tier 2). Enter or `,` commits the pending
11
11
  * text, paste splits on commas/whitespace, Backspace on an empty input
12
12
  * removes the last chip, duplicates are ignored.
13
13
  */
14
- export function ChipInput({ className, inputClassName, value, defaultValue, onValueChange, validate, removeLabel, error = false, disabled, ref, onKeyDown, onPaste, onBlur, ...inputProps }) {
14
+ export function ChipInput({ className, inputClassName, value, defaultValue, onValueChange, validate, removeLabel, tone = 'neutral', error = false, disabled, ref, onKeyDown, onPaste, onBlur, ...inputProps }) {
15
15
  const innerRef = useRef(null);
16
16
  const [internal, setInternal] = useState(defaultValue ?? []);
17
17
  const [text, setText] = useState('');
@@ -92,7 +92,7 @@ export function ChipInput({ className, inputClassName, value, defaultValue, onVa
92
92
  // disabled state of their own, so nothing (axe included) could tell.
93
93
  // `aria-disabled` on the wrapper below states it once, for the whole
94
94
  // composite, which is also what a screen reader needed.
95
- 'has-[input:disabled]:pointer-events-none has-[input:disabled]:opacity-40', 'data-[invalid]:border-danger data-[invalid]:focus-within:ring-danger-soft', className), ...(disabled ? { 'aria-disabled': true } : {}), children: [chips.map((chip) => (_jsx(Tag, { mono: true, onRemove: () => commitChips(chips.filter((existing) => existing !== chip)), removeLabel: removeLabel(chip), children: chip }, chip))), _jsx("input", { ref: setRef, type: "text", value: text, disabled: disabled, ...(invalid ? { 'aria-invalid': true } : {}), onChange: (event) => {
95
+ 'has-[input:disabled]:pointer-events-none has-[input:disabled]:opacity-40', 'data-[invalid]:border-danger data-[invalid]:focus-within:ring-danger-soft', className), ...(disabled ? { 'aria-disabled': true } : {}), children: [chips.map((chip) => (_jsx(Tag, { mono: true, ...(tone === 'accent' ? { tone: 'accent' } : {}), onRemove: () => commitChips(chips.filter((existing) => existing !== chip)), removeLabel: removeLabel(chip), children: chip }, chip))), _jsx("input", { ref: setRef, type: "text", value: text, disabled: disabled, ...(invalid ? { 'aria-invalid': true } : {}), onChange: (event) => {
96
96
  setText(event.target.value);
97
97
  setRejected(false);
98
98
  }, onKeyDown: handleKeyDown, onPaste: handlePaste, onBlur: (event) => {