@veevarts/design-system 2.0.0-beta.6 → 2.0.0-csm.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 (257) hide show
  1. package/README.md +36 -0
  2. package/dist/components/Drawer/Drawer.d.ts +17 -0
  3. package/dist/components/Drawer/index.d.ts +2 -0
  4. package/dist/components/Modal/CloseButton.d.ts +18 -0
  5. package/dist/components/Modal/Modal.d.ts +15 -0
  6. package/dist/components/Modal/index.d.ts +2 -0
  7. package/dist/components/Modal/useLabelledCloseButton.d.ts +13 -0
  8. package/dist/components/Select/Select.d.ts +10 -0
  9. package/dist/components/Table/Table.d.ts +7 -0
  10. package/dist/components/Table/index.d.ts +2 -0
  11. package/dist/components/index.d.ts +6 -0
  12. package/dist/index.cjs +10 -9
  13. package/dist/index.d.ts +4 -0
  14. package/dist/index.js +11264 -5922
  15. package/dist/patterns/ActivityTimeline/ActivityTimeline.d.ts +3 -0
  16. package/dist/patterns/ActivityTimeline/index.d.ts +2 -0
  17. package/dist/patterns/ActivityTimeline/styles.d.ts +15 -0
  18. package/dist/patterns/ActivityTimeline/types.d.ts +15 -0
  19. package/dist/patterns/AdminTable/AdminTable.d.ts +1 -0
  20. package/dist/patterns/AdminTable/styles.d.ts +6 -0
  21. package/dist/patterns/AdminToolbar/AdminToolbar.d.ts +13 -2
  22. package/dist/patterns/AdminToolbar/index.d.ts +1 -0
  23. package/dist/patterns/AdminToolbar/styles.d.ts +49 -0
  24. package/dist/patterns/AdminToolbar/types.d.ts +2 -0
  25. package/dist/patterns/AmountList/AmountList.d.ts +3 -0
  26. package/dist/patterns/AmountList/index.d.ts +2 -0
  27. package/dist/patterns/AmountList/styles.d.ts +23 -0
  28. package/dist/patterns/AmountList/types.d.ts +26 -0
  29. package/dist/patterns/ArtifactCard/ArtifactCard.d.ts +19 -0
  30. package/dist/patterns/ArtifactCard/index.d.ts +2 -0
  31. package/dist/patterns/ArtifactCard/styles.d.ts +31 -0
  32. package/dist/patterns/ArtifactCard/types.d.ts +34 -0
  33. package/dist/patterns/AssistantActivity/AssistantActivity.d.ts +15 -0
  34. package/dist/patterns/AssistantActivity/formatAssistantDuration.d.ts +10 -0
  35. package/dist/patterns/AssistantActivity/index.d.ts +3 -0
  36. package/dist/patterns/AssistantActivity/styles.d.ts +31 -0
  37. package/dist/patterns/AssistantActivity/types.d.ts +37 -0
  38. package/dist/patterns/AssistantComposer/AssistantComposer.d.ts +15 -0
  39. package/dist/patterns/AssistantComposer/index.d.ts +2 -0
  40. package/dist/patterns/AssistantComposer/styles.d.ts +27 -0
  41. package/dist/patterns/AssistantComposer/types.d.ts +48 -0
  42. package/dist/patterns/AssistantMarkdown/AssistantMarkdown.d.ts +17 -0
  43. package/dist/patterns/AssistantMarkdown/index.d.ts +3 -0
  44. package/dist/patterns/AssistantMarkdown/parser.d.ts +37 -0
  45. package/dist/patterns/AssistantMarkdown/styles.d.ts +35 -0
  46. package/dist/patterns/AssistantMarkdown/types.d.ts +37 -0
  47. package/dist/patterns/AssistantMessage/AssistantMessage.d.ts +17 -0
  48. package/dist/patterns/AssistantMessage/index.d.ts +2 -0
  49. package/dist/patterns/AssistantMessage/styles.d.ts +45 -0
  50. package/dist/patterns/AssistantMessage/types.d.ts +73 -0
  51. package/dist/patterns/AssistantNotice/AssistantNotice.d.ts +17 -0
  52. package/dist/patterns/AssistantNotice/index.d.ts +2 -0
  53. package/dist/patterns/AssistantNotice/styles.d.ts +36 -0
  54. package/dist/patterns/AssistantNotice/types.d.ts +46 -0
  55. package/dist/patterns/CardList/CardList.d.ts +3 -0
  56. package/dist/patterns/CardList/index.d.ts +2 -0
  57. package/dist/patterns/CardList/styles.d.ts +20 -0
  58. package/dist/patterns/CardList/types.d.ts +20 -0
  59. package/dist/patterns/CardStack/CardStack.d.ts +7 -0
  60. package/dist/patterns/CardStack/index.d.ts +2 -0
  61. package/dist/patterns/CardStack/styles.d.ts +2 -0
  62. package/dist/patterns/CashTenderForm/types.d.ts +6 -0
  63. package/dist/patterns/CellText/CellText.d.ts +16 -0
  64. package/dist/patterns/CellText/index.d.ts +2 -0
  65. package/dist/patterns/CellText/styles.d.ts +7 -0
  66. package/dist/patterns/CitationMarker/CitationMarker.d.ts +16 -0
  67. package/dist/patterns/CitationMarker/index.d.ts +2 -0
  68. package/dist/patterns/CitationMarker/styles.d.ts +19 -0
  69. package/dist/patterns/CitationMarker/types.d.ts +12 -0
  70. package/dist/patterns/DiscardGuard/DiscardGuard.d.ts +23 -0
  71. package/dist/patterns/DiscardGuard/context.d.ts +25 -0
  72. package/dist/patterns/DiscardGuard/index.d.ts +6 -0
  73. package/dist/patterns/DiscardGuard/useDiscardGuard.d.ts +38 -0
  74. package/dist/patterns/DonationAmounts/index.d.ts +1 -1
  75. package/dist/patterns/DonationAmounts/styles.d.ts +32 -0
  76. package/dist/patterns/DonationAmounts/types.d.ts +55 -1
  77. package/dist/patterns/DonationAmounts/utils/currency.d.ts +7 -3
  78. package/dist/patterns/EntityRow/EntityList.d.ts +9 -0
  79. package/dist/patterns/EntityRow/EntityRow.d.ts +3 -0
  80. package/dist/patterns/EntityRow/context.d.ts +2 -0
  81. package/dist/patterns/EntityRow/icons.d.ts +3 -0
  82. package/dist/patterns/EntityRow/index.d.ts +3 -0
  83. package/dist/patterns/EntityRow/initials.d.ts +6 -0
  84. package/dist/patterns/EntityRow/styles.d.ts +59 -0
  85. package/dist/patterns/EntityRow/types.d.ts +118 -0
  86. package/dist/patterns/FilterSelect/FilterSelect.d.ts +3 -0
  87. package/dist/patterns/FilterSelect/FilterSelectGroup.d.ts +3 -0
  88. package/dist/patterns/FilterSelect/index.d.ts +3 -0
  89. package/dist/patterns/FilterSelect/styles.d.ts +17 -0
  90. package/dist/patterns/FilterSelect/types.d.ts +19 -0
  91. package/dist/patterns/InlineConfirm/InlineConfirm.d.ts +38 -0
  92. package/dist/patterns/InlineConfirm/index.d.ts +2 -0
  93. package/dist/patterns/InlineConfirm/styles.d.ts +16 -0
  94. package/dist/patterns/InstallmentFundAssignment/InstallmentFundAssignment.d.ts +1 -1
  95. package/dist/patterns/InstallmentFundAssignment/types.d.ts +3 -0
  96. package/dist/patterns/InstallmentSchedule/InstallmentSchedule.d.ts +1 -1
  97. package/dist/patterns/InstallmentSchedule/InstallmentTable.d.ts +1 -1
  98. package/dist/patterns/InstallmentSchedule/index.d.ts +1 -1
  99. package/dist/patterns/InstallmentSchedule/types.d.ts +62 -3
  100. package/dist/patterns/InstallmentSchedule/utils.d.ts +33 -0
  101. package/dist/patterns/KeyValueChip/KeyValueChip.d.ts +1 -0
  102. package/dist/patterns/KeyValueRows/KeyValueRows.d.ts +13 -0
  103. package/dist/patterns/KeyValueRows/index.d.ts +2 -0
  104. package/dist/patterns/KeyValueRows/styles.d.ts +8 -0
  105. package/dist/patterns/LineItemRows/LineItemRows.d.ts +17 -0
  106. package/dist/patterns/LineItemRows/index.d.ts +2 -0
  107. package/dist/patterns/LineItemRows/styles.d.ts +13 -0
  108. package/dist/patterns/ListPanel/ListPanel.d.ts +2 -0
  109. package/dist/patterns/LoadMoreFooter/LoadMoreFooter.d.ts +3 -0
  110. package/dist/patterns/LoadMoreFooter/index.d.ts +2 -0
  111. package/dist/patterns/LoadMoreFooter/styles.d.ts +7 -0
  112. package/dist/patterns/LoadMoreFooter/types.d.ts +10 -0
  113. package/dist/patterns/MetaCard/types.d.ts +2 -0
  114. package/dist/patterns/ModalPanels/ModalPanels.d.ts +35 -0
  115. package/dist/patterns/ModalPanels/context.d.ts +20 -0
  116. package/dist/patterns/ModalPanels/focus.d.ts +44 -0
  117. package/dist/patterns/ModalPanels/index.d.ts +6 -0
  118. package/dist/patterns/ModalPanels/styles.d.ts +13 -0
  119. package/dist/patterns/ModalPanels/useModalPanels.d.ts +30 -0
  120. package/dist/patterns/OutcomeView/index.d.ts +1 -1
  121. package/dist/patterns/OutcomeView/types.d.ts +110 -3
  122. package/dist/patterns/PageHeader/PageHeader.d.ts +1 -0
  123. package/dist/patterns/PaginationSummary/PaginationSummary.d.ts +12 -0
  124. package/dist/patterns/PaginationSummary/index.d.ts +1 -1
  125. package/dist/patterns/PaymentSubAmountInput/PaymentSubAmountInput.d.ts +2 -0
  126. package/dist/patterns/PillTabs/PillTabs.d.ts +3 -0
  127. package/dist/patterns/PillTabs/ids.d.ts +9 -0
  128. package/dist/patterns/PillTabs/index.d.ts +3 -0
  129. package/dist/patterns/PillTabs/styles.d.ts +20 -0
  130. package/dist/patterns/PillTabs/types.d.ts +21 -0
  131. package/dist/patterns/{CatalogItemCard → Programs/CatalogItemCard}/type.d.ts +1 -1
  132. package/dist/patterns/{EventDetails → Programs/EventDetails}/EventDetails.d.ts +3 -1
  133. package/dist/patterns/{OfferCard → Programs/OfferCard}/OfferCard.d.ts +1 -1
  134. package/dist/patterns/{OfferCard → Programs/OfferCard}/types.d.ts +7 -0
  135. package/dist/patterns/Programs/ProgramListItem/ProgramListItem.d.ts +17 -0
  136. package/dist/patterns/Programs/ProgramListItem/index.d.ts +2 -0
  137. package/dist/patterns/Programs/index.d.ts +5 -0
  138. package/dist/patterns/ReasonSelect/types.d.ts +1 -0
  139. package/dist/patterns/RecordCard/RecordCard.d.ts +3 -0
  140. package/dist/patterns/RecordCard/index.d.ts +2 -0
  141. package/dist/patterns/RecordCard/styles.d.ts +16 -0
  142. package/dist/patterns/RecordCard/types.d.ts +22 -0
  143. package/dist/patterns/RecordHeader/RecordHeader.d.ts +3 -0
  144. package/dist/patterns/RecordHeader/index.d.ts +2 -0
  145. package/dist/patterns/RecordHeader/styles.d.ts +43 -0
  146. package/dist/patterns/RecordHeader/types.d.ts +30 -0
  147. package/dist/patterns/RecordLayout/RecordLayout.d.ts +3 -0
  148. package/dist/patterns/RecordLayout/index.d.ts +2 -0
  149. package/dist/patterns/RecordLayout/styles.d.ts +8 -0
  150. package/dist/patterns/RecordLayout/types.d.ts +6 -0
  151. package/dist/patterns/RecordTotals/RecordTotals.d.ts +19 -0
  152. package/dist/patterns/RecordTotals/index.d.ts +2 -0
  153. package/dist/patterns/RecordTotals/styles.d.ts +19 -0
  154. package/dist/patterns/RefundMethodCards/RefundMethodCards.d.ts +4 -0
  155. package/dist/patterns/RefundMethodCards/index.d.ts +2 -0
  156. package/dist/patterns/RefundMethodCards/styles.d.ts +59 -0
  157. package/dist/patterns/RefundMethodCards/types.d.ts +72 -0
  158. package/dist/patterns/RefundProgressList/RefundProgressList.d.ts +4 -0
  159. package/dist/patterns/RefundProgressList/index.d.ts +2 -0
  160. package/dist/patterns/RefundProgressList/styles.d.ts +44 -0
  161. package/dist/patterns/RefundProgressList/types.d.ts +37 -0
  162. package/dist/patterns/RelatedRecordList/RelatedRecordList.d.ts +3 -0
  163. package/dist/patterns/RelatedRecordList/index.d.ts +2 -0
  164. package/dist/patterns/RelatedRecordList/styles.d.ts +19 -0
  165. package/dist/patterns/RelatedRecordList/types.d.ts +17 -0
  166. package/dist/patterns/ScrollToLatest/ScrollToLatest.d.ts +16 -0
  167. package/dist/patterns/ScrollToLatest/index.d.ts +2 -0
  168. package/dist/patterns/ScrollToLatest/styles.d.ts +11 -0
  169. package/dist/patterns/ScrollToLatest/types.d.ts +27 -0
  170. package/dist/patterns/SessionExpiredCard/SessionExpiredCard.d.ts +14 -0
  171. package/dist/patterns/SessionExpiredCard/index.d.ts +2 -0
  172. package/dist/patterns/SessionExpiredCard/type.d.ts +6 -0
  173. package/dist/patterns/SourceList/SourceList.d.ts +12 -0
  174. package/dist/patterns/SourceList/index.d.ts +2 -0
  175. package/dist/patterns/SourceList/styles.d.ts +20 -0
  176. package/dist/patterns/SourceList/types.d.ts +28 -0
  177. package/dist/patterns/SourcePill/SourcePill.d.ts +13 -0
  178. package/dist/patterns/SourcePill/index.d.ts +2 -0
  179. package/dist/patterns/SourcePill/styles.d.ts +19 -0
  180. package/dist/patterns/SourcePill/types.d.ts +19 -0
  181. package/dist/patterns/SplitPaymentSummary/index.d.ts +1 -1
  182. package/dist/patterns/SplitPaymentSummary/types.d.ts +18 -0
  183. package/dist/patterns/StatTiles/StatTiles.d.ts +3 -0
  184. package/dist/patterns/StatTiles/index.d.ts +2 -0
  185. package/dist/patterns/StatTiles/styles.d.ts +8 -0
  186. package/dist/patterns/StatTiles/types.d.ts +12 -0
  187. package/dist/patterns/StatusChip/StatusChip.d.ts +3 -3
  188. package/dist/patterns/StepProgress/StepProgress.d.ts +4 -0
  189. package/dist/patterns/StepProgress/index.d.ts +2 -0
  190. package/dist/patterns/StepProgress/styles.d.ts +29 -0
  191. package/dist/patterns/StepProgress/types.d.ts +43 -0
  192. package/dist/patterns/Summary/components/ActionBar.d.ts +2 -0
  193. package/dist/patterns/Summary/components/GrandTotalRow.d.ts +1 -0
  194. package/dist/patterns/Summary/components/ItemRow.d.ts +1 -0
  195. package/dist/patterns/Summary/components/SummaryBody.d.ts +4 -1
  196. package/dist/patterns/Summary/components/TotalsLineRow.d.ts +3 -2
  197. package/dist/patterns/Summary/types.d.ts +51 -9
  198. package/dist/patterns/TableSkeleton/TableSkeleton.d.ts +1 -0
  199. package/dist/patterns/TileSelect/TileSelect.d.ts +80 -2
  200. package/dist/patterns/TileSelect/index.d.ts +1 -1
  201. package/dist/patterns/TileSelect/styles.d.ts +14 -0
  202. package/dist/patterns/ToolbarButton/ToolbarButton.d.ts +2 -0
  203. package/dist/patterns/UnderlineTabs/UnderlineTabs.d.ts +20 -1
  204. package/dist/patterns/UnderlineTabs/index.d.ts +1 -1
  205. package/dist/patterns/UnderlineTabs/styles.d.ts +10 -0
  206. package/dist/patterns/WizardShell/index.d.ts +1 -1
  207. package/dist/patterns/WizardShell/types.d.ts +9 -1
  208. package/dist/patterns/grid-columns.d.ts +1 -1
  209. package/dist/patterns/index.d.ts +87 -17
  210. package/dist/patterns/shared/hasContent.d.ts +2 -0
  211. package/dist/patterns/shared/index.d.ts +1 -0
  212. package/dist/patterns/shared/motion.d.ts +6 -0
  213. package/dist/patterns/shared/recordTone.d.ts +9 -0
  214. package/dist/patterns/shared/rem.d.ts +4 -0
  215. package/dist/patterns/shared/useContainerWidth.d.ts +6 -0
  216. package/dist/patterns/shared/useDecimalDraft.d.ts +33 -0
  217. package/dist/patterns/shared/usePrefillEdits.d.ts +7 -0
  218. package/dist/providers/DensityProvider.d.ts +7 -0
  219. package/dist/providers/HeroUIProvider.d.ts +14 -1
  220. package/dist/providers/close-label-context.d.ts +18 -0
  221. package/dist/providers/density.d.ts +17 -0
  222. package/dist/providers/index.d.ts +4 -0
  223. package/dist/tailwind/index.cjs +107 -5
  224. package/dist/tailwind/index.d.ts +61 -0
  225. package/dist/tailwind/index.mjs +104 -5
  226. package/dist/test/ReducedMotion.d.ts +4 -0
  227. package/dist/test/RootFontSize.d.ts +5 -0
  228. package/dist/test/backdrop.d.ts +12 -0
  229. package/dist/test/container-width.d.ts +14 -0
  230. package/dist/test/contrast.d.ts +1 -0
  231. package/dist/test/px-class-names.d.ts +1 -0
  232. package/dist/test/px-classes.d.ts +3 -0
  233. package/dist/test/root-font-size.d.ts +8 -0
  234. package/dist/tokens/assistant-surface.d.ts +66 -0
  235. package/dist/tokens/index.d.ts +2 -0
  236. package/dist/tokens/pos-surface.d.ts +23 -4
  237. package/package.json +5 -2
  238. /package/dist/patterns/{CatalogItemCard → Programs/CatalogItemCard}/CatalogItemCard.d.ts +0 -0
  239. /package/dist/patterns/{CatalogItemCard → Programs/CatalogItemCard}/index.d.ts +0 -0
  240. /package/dist/patterns/{EventDetails → Programs/EventDetails}/index.d.ts +0 -0
  241. /package/dist/patterns/{OfferCard → Programs/OfferCard}/examples/CustomQuantitySelectorExample.d.ts +0 -0
  242. /package/dist/patterns/{OfferCard → Programs/OfferCard}/examples/ListWithEurosCurrencyExample.d.ts +0 -0
  243. /package/dist/patterns/{OfferCard → Programs/OfferCard}/examples/ListWithoutAnimationExample.d.ts +0 -0
  244. /package/dist/patterns/{OfferCard → Programs/OfferCard}/examples/index.d.ts +0 -0
  245. /package/dist/patterns/{OfferCard → Programs/OfferCard}/index.d.ts +0 -0
  246. /package/dist/patterns/{OfferCard → Programs/OfferCard}/utils/animations.d.ts +0 -0
  247. /package/dist/patterns/{OfferCard → Programs/OfferCard}/utils/currency.d.ts +0 -0
  248. /package/dist/patterns/{OfferCard → Programs/OfferCard}/utils/index.d.ts +0 -0
  249. /package/dist/patterns/{OfferCard → Programs/OfferCard}/utils/offers.d.ts +0 -0
  250. /package/dist/patterns/{OfferCard → Programs/OfferCard}/variants/OfferCardEmpty.d.ts +0 -0
  251. /package/dist/patterns/{OfferCard → Programs/OfferCard}/variants/OfferCardError.d.ts +0 -0
  252. /package/dist/patterns/{OfferCard → Programs/OfferCard}/variants/OfferCardList.d.ts +0 -0
  253. /package/dist/patterns/{OfferCard → Programs/OfferCard}/variants/OfferCardSkeleton.d.ts +0 -0
  254. /package/dist/patterns/{OfferCard → Programs/OfferCard}/variants/index.d.ts +0 -0
  255. /package/dist/patterns/{SessionTimeline → Programs/SessionTimeline}/SessionTimeline.d.ts +0 -0
  256. /package/dist/patterns/{SessionTimeline → Programs/SessionTimeline}/index.d.ts +0 -0
  257. /package/dist/patterns/{SessionTimeline → Programs/SessionTimeline}/type.d.ts +0 -0
package/README.md CHANGED
@@ -183,6 +183,28 @@ import { DatePicker } from '@veevarts/design-system';
183
183
 
184
184
  For `mode="datetime"`, the design system does not convert timezones. The consuming app must pass the value already prepared in the business timezone it wants to present. The component hides timezone labels by default.
185
185
 
186
+ `Modal`, `Drawer` and `Table` are also thin wrappers over HeroUI's: every HeroUI prop, ref and the generic `TableProps<Row>` type still work, and they add the accessibility defaults below.
187
+
188
+ **Translatable close button (`Modal`, `Drawer`).** HeroUI hard-codes `aria-label="Close"` on the corner close button. Set `closeLabel` to localize it, either once on `HeroUIProvider` or per overlay. Resolution order: the `closeLabel` prop, then the `closeLabel` of the nearest `HeroUIProvider`, then HeroUI's default `"Close"` (its own button, untouched). A `closeButton` you pass is yours and is not relabelled; `hideCloseButton` still hides the button.
189
+
190
+ ```tsx
191
+ <HeroUIProvider closeLabel="Fermer">
192
+ <Modal isOpen={isOpen} onOpenChange={setOpen} closeLabel="Fermer la fenêtre">
193
+ {/* ... */}
194
+ </Modal>
195
+ </HeroUIProvider>
196
+ ```
197
+
198
+ **React Aria locale (`HeroUIProvider`).** Set `locale` (BCP 47, e.g. `"fr-FR"`) so the strings React Aria renders follow the app's language: the hidden "Dismiss" buttons of every overlay, date and number formatting. Without it HeroUI uses `"en-US"`. `closeLabel` stays separate because HeroUI's close button text is not a React Aria string.
199
+
200
+ ```tsx
201
+ <HeroUIProvider locale="fr-FR" closeLabel="Fermer">
202
+ {/* ... */}
203
+ </HeroUIProvider>
204
+ ```
205
+
206
+ **Table header contrast (`Table`).** Column headers default to `text-default-600` (`text-default-700` on a hovered sortable column) so 12px header text clears 4.5:1 (WCAG 1.4.3). Your classes win: a `classNames.th` color on the table, or a `className` on a `TableColumn`, replaces the default.
207
+
186
208
  For complete HeroUI documentation, visit: [HeroUI Storybook](https://storybook.heroui.com/)
187
209
 
188
210
  ### Configure Tailwind CSS
@@ -243,6 +265,20 @@ module.exports = {
243
265
  | `colors` | Color tokens (brand, semantic, neutral, palettes) |
244
266
  | `typography` | Typography tokens (fontFamily, fontSize, fontWeight, lineHeight) |
245
267
  | `spacing` | Spacing tokens |
268
+ | `assistantSurfaceTokens` | The assistant (`ai-*`) palette as hex, `{ light, dark }` |
269
+ | `assistantSurfacePlugin` | Writes the `--ai-*` custom properties. Already inside `veevartPreset`; add it yourself only if you extend `tokens.tailwindTheme` without the preset |
270
+
271
+ #### Assistant color (`ai-*`), light and dark
272
+
273
+ The preset adds an `ai` colour family for assistant surfaces: `ai-accent`, `ai-fill`, `ai-border`, `ai-user-bubble`, `ai-assistant-bubble` and `ai-focus` (`text-ai-accent`, `bg-ai-fill/50`, `ring-ai-focus`, …).
274
+
275
+ - Each color reads a custom property (`--ai-accent`, …) that the preset's plugin writes. **The `.dark` class is the switch:** dark values under `.dark`, light values on `:root`, `.light` and `[data-theme="light"]`, the selectors every HeroUI 2.x in the peer range writes its own variables under, so the palette flips together with HeroUI's semantic colors (a test compiles both and compares). `.dark` on a subtree darkens that subtree only.
276
+ - `data-theme="dark"` is **not** a switch: HeroUI 2.8 no longer writes its dark variables there, so neither palette turns dark under it.
277
+ - As with HeroUI's own `.dark` theme, Tailwind emits the dark values only when your content uses the `dark` class, which any app that toggles it does.
278
+ - The properties hold channels (`29 78 216`), so in plain CSS write `rgb(var(--ai-accent))`.
279
+ - Without the plugin, every `ai-*` colour falls back to its light value.
280
+ - **The hue is a placeholder** (the info blue scale for accent, fill, border and focus) until Design picks the assistant color. The two turns are HeroUI neutrals (`content1` for the assistant, `content2` for the person), so only the assistant wears the hue. Values and contrast tests live in `src/tokens/assistant-surface.ts`; see Storybook → Foundations → Assistant color.
281
+ - Storybook has a **Theme** toolbar (light / dark); dark wraps the story in `.dark`, the way apps scope it.
246
282
 
247
283
  ---
248
284
 
@@ -0,0 +1,17 @@
1
+ import { DrawerProps as HeroUIDrawerProps } from '@heroui/react';
2
+ export type DrawerProps = HeroUIDrawerProps & {
3
+ /**
4
+ * Accessible name of the corner close button, e.g. `"Fermer"`. HeroUI hard-codes `"Close"`.
5
+ *
6
+ * Falls back to the `closeLabel` of `HeroUIProvider`; with neither, HeroUI's own button is rendered
7
+ * untouched. It names the default button only: a `closeButton` you pass is yours, and
8
+ * `hideCloseButton` still hides the button.
9
+ */
10
+ closeLabel?: string;
11
+ };
12
+ /**
13
+ * HeroUI `Drawer` with a translatable close button (WCAG 3.1.2, 4.1.2). Every HeroUI prop is kept.
14
+ * HeroUI's Drawer renders its Modal underneath and forwards `closeButton` / `hideCloseButton` to it
15
+ * (@heroui/drawer chunk-VASKIHQC.mjs), so it takes the same fix as the DS `Modal`.
16
+ */
17
+ export declare const Drawer: import('react').ForwardRefExoticComponent<Omit<DrawerProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
@@ -0,0 +1,2 @@
1
+ export { Drawer } from './Drawer';
2
+ export type { DrawerProps } from './Drawer';
@@ -0,0 +1,18 @@
1
+ import { ComponentPropsWithoutRef } from 'react';
2
+ export interface CloseButtonProps extends ComponentPropsWithoutRef<'button'> {
3
+ /** The accessible name. Applied after everything HeroUI passes, so its literal "Close" never wins. */
4
+ label: string;
5
+ }
6
+ /**
7
+ * The corner close button of a DS `Modal` / `Drawer` that carries a translated name.
8
+ *
9
+ * Not for direct use: HeroUI `cloneElement`s the `closeButton` it is given and passes its own props last
10
+ * (@heroui/modal chunk-NWAOTABO.mjs, `cloneElement(closeButton, getCloseButtonProps())`): the slot
11
+ * className, `role`, `tabIndex`, `data-focus-visible`, the react-aria press handlers and
12
+ * `aria-label: "Close"`. This component spreads all of that onto a `<button>` and sets `aria-label` last.
13
+ *
14
+ * The X is HeroUI's own default close icon, copied so the button renders identically: the SVG of
15
+ * `CloseIcon` in @heroui/shared-icons (dist/chunk-3JRSRN3Z.mjs, src/close.tsx, v2.1.10). It is not
16
+ * imported because `@heroui/shared-icons` is a transitive dependency of `@heroui/react`, not a DS one.
17
+ */
18
+ export declare function CloseButton({ label, ...heroUIProps }: CloseButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import { ModalProps as HeroUIModalProps } from '@heroui/react';
2
+ export type ModalProps = HeroUIModalProps & {
3
+ /**
4
+ * Accessible name of the corner close button, e.g. `"Fermer"`. HeroUI hard-codes `"Close"`.
5
+ *
6
+ * Falls back to the `closeLabel` of `HeroUIProvider`; with neither, HeroUI's own button is rendered
7
+ * untouched. It names the default button only: a `closeButton` you pass is yours, and
8
+ * `hideCloseButton` still hides the button.
9
+ */
10
+ closeLabel?: string;
11
+ };
12
+ /**
13
+ * HeroUI `Modal` with a translatable close button (WCAG 3.1.2, 4.1.2). Every HeroUI prop is kept.
14
+ */
15
+ export declare const Modal: import('react').ForwardRefExoticComponent<Omit<ModalProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
@@ -0,0 +1,2 @@
1
+ export { Modal } from './Modal';
2
+ export type { ModalProps } from './Modal';
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * The `closeButton` to hand to HeroUI's Modal / Drawer.
4
+ *
5
+ * - A caller-supplied element is returned as is (HeroUI clones it and decides its props).
6
+ * - Otherwise, when a label resolves (the `closeLabel` prop, then the `HeroUIProvider` value; a blank one
7
+ * counts as unset), a `CloseButton` carrying it.
8
+ * - Otherwise `undefined`: nothing is injected and HeroUI renders its own button, `aria-label="Close"`
9
+ * included. `null` / `false` mean "no element supplied" here, as they do for HeroUI.
10
+ *
11
+ * `hideCloseButton` is not read here: it stays a HeroUI prop and still decides whether any of this renders.
12
+ */
13
+ export declare function useLabelledCloseButton(closeLabel: string | undefined, closeButton: ReactNode): ReactNode;
@@ -3,6 +3,16 @@ type HeroSelectProps<T extends object = object> = HeroUISelectProps<T>;
3
3
  export type SelectPopoverProps = NonNullable<HeroSelectProps['popoverProps']> & {
4
4
  disableDialogFocus?: boolean;
5
5
  portalContainer?: Element;
6
+ /**
7
+ * Marks the popover root as a react-aria top layer. The Modal aria-hides every node added outside
8
+ * its dialog, and the list is portaled next to the dialog, so without the marker the open list is
9
+ * hidden from assistive tech (WCAG 4.1.2).
10
+ * - `undefined` (default): set to `'true'` only when the Select renders inside a dialog.
11
+ * - `'true'`: always set to `'true'`, inside or outside a dialog.
12
+ * - `'false'`: opt out. The attribute is not passed to HeroUI at all, because react-aria's focus
13
+ * and outside-click checks match its presence, so a rendered `'false'` would still count there.
14
+ */
15
+ 'data-react-aria-top-layer'?: 'true' | 'false';
6
16
  };
7
17
  export type SelectProps<T extends object = object> = Omit<HeroSelectProps<T>, 'popoverProps'> & {
8
18
  popoverProps?: SelectPopoverProps;
@@ -0,0 +1,7 @@
1
+ import { TableProps as HeroUITableProps } from '@heroui/react';
2
+ /**
3
+ * HeroUI's full Table props: every slot in `classNames`, selection, sorting, `ref`, render-function children.
4
+ * Generic over the row type exactly like HeroUI's, so a consumer's `TableProps<Row>` keeps compiling.
5
+ */
6
+ export type TableProps<T = object> = HeroUITableProps<T>;
7
+ export declare const Table: import('react').ForwardRefExoticComponent<Omit<import('@heroui/system').MergeWithAs<Omit<import('react').DetailedHTMLProps<import('react').TableHTMLAttributes<HTMLTableElement>, HTMLTableElement>, "ref">, Omit<Omit<any, "ref">, never>, HeroUITableProps<object>, import('@heroui/system').As<any>>, "ref"> & import('react').RefAttributes<HTMLElement>>;
@@ -0,0 +1,2 @@
1
+ export { Table } from './Table';
2
+ export type { TableProps } from './Table';
@@ -17,7 +17,13 @@ export { Button } from './Button';
17
17
  export type { ButtonProps } from './Button';
18
18
  export { DatePicker } from './DatePicker';
19
19
  export type { DatePickerProps } from './DatePicker';
20
+ export { Drawer } from './Drawer';
21
+ export type { DrawerProps } from './Drawer';
22
+ export { Modal } from './Modal';
23
+ export type { ModalProps } from './Modal';
20
24
  export { Select } from './Select';
21
25
  export type { SelectProps } from './Select';
26
+ export { Table } from './Table';
27
+ export type { TableProps } from './Table';
22
28
  export { RedeemCodeInput } from './RedeemCodeInput';
23
29
  export type { RedeemCodeInputProps, RedeemCodeInputState } from './RedeemCodeInput';