@veevarts/design-system 2.0.0-alpha.6 → 2.0.0-alpha.61

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 (277) hide show
  1. package/README.md +82 -0
  2. package/dist/assistant.cjs +1 -0
  3. package/dist/assistant.d.ts +10 -0
  4. package/dist/assistant.js +790 -0
  5. package/dist/components/DatePicker/DatePicker.d.ts +9 -2
  6. package/dist/components/DatePicker/defaults.d.ts +28 -0
  7. package/dist/components/DatePicker/index.d.ts +1 -0
  8. package/dist/components/Drawer/Drawer.d.ts +17 -0
  9. package/dist/components/Drawer/index.d.ts +2 -0
  10. package/dist/components/Modal/CloseButton.d.ts +18 -0
  11. package/dist/components/Modal/Modal.d.ts +15 -0
  12. package/dist/components/Modal/index.d.ts +2 -0
  13. package/dist/components/Modal/useLabelledCloseButton.d.ts +13 -0
  14. package/dist/components/Select/Select.d.ts +10 -0
  15. package/dist/components/Skeleton/Skeleton.d.ts +37 -0
  16. package/dist/components/Skeleton/index.d.ts +2 -0
  17. package/dist/components/Table/Table.d.ts +7 -0
  18. package/dist/components/Table/index.d.ts +2 -0
  19. package/dist/components/index.d.ts +9 -1
  20. package/dist/hasContent-BCRxiry-.js +1200 -0
  21. package/dist/hasContent-JfCtoDIu.cjs +1 -0
  22. package/dist/index.cjs +9 -9
  23. package/dist/index.d.ts +6 -0
  24. package/dist/index.js +11013 -7145
  25. package/dist/patterns/ActivityTimeline/ActivityTimeline.d.ts +3 -0
  26. package/dist/patterns/ActivityTimeline/index.d.ts +2 -0
  27. package/dist/patterns/ActivityTimeline/styles.d.ts +15 -0
  28. package/dist/patterns/ActivityTimeline/types.d.ts +15 -0
  29. package/dist/patterns/AdminTable/AdminTable.d.ts +1 -0
  30. package/dist/patterns/AdminTable/styles.d.ts +8 -1
  31. package/dist/patterns/AdminTextField/AdminTextField.d.ts +4 -44
  32. package/dist/patterns/AdminTextField/index.d.ts +2 -2
  33. package/dist/patterns/AdminTextField/styles.d.ts +29 -0
  34. package/dist/patterns/AdminTextField/types.d.ts +78 -0
  35. package/dist/patterns/AdminToolbar/AdminToolbar.d.ts +13 -2
  36. package/dist/patterns/AdminToolbar/index.d.ts +1 -0
  37. package/dist/patterns/AdminToolbar/styles.d.ts +49 -0
  38. package/dist/patterns/AdminToolbar/types.d.ts +2 -0
  39. package/dist/patterns/AmountList/AmountList.d.ts +3 -0
  40. package/dist/patterns/AmountList/index.d.ts +2 -0
  41. package/dist/patterns/AmountList/styles.d.ts +23 -0
  42. package/dist/patterns/AmountList/types.d.ts +26 -0
  43. package/dist/patterns/AssistantActivity/AssistantActivity.d.ts +15 -0
  44. package/dist/patterns/AssistantActivity/formatAssistantDuration.d.ts +10 -0
  45. package/dist/patterns/AssistantActivity/index.d.ts +3 -0
  46. package/dist/patterns/AssistantActivity/styles.d.ts +31 -0
  47. package/dist/patterns/AssistantActivity/types.d.ts +42 -0
  48. package/dist/patterns/AssistantComposer/AssistantComposer.d.ts +15 -0
  49. package/dist/patterns/AssistantComposer/index.d.ts +2 -0
  50. package/dist/patterns/AssistantComposer/styles.d.ts +33 -0
  51. package/dist/patterns/AssistantComposer/types.d.ts +62 -0
  52. package/dist/patterns/AssistantMessage/AssistantMessage.d.ts +17 -0
  53. package/dist/patterns/AssistantMessage/index.d.ts +2 -0
  54. package/dist/patterns/AssistantMessage/styles.d.ts +45 -0
  55. package/dist/patterns/AssistantMessage/types.d.ts +84 -0
  56. package/dist/patterns/AssistantNotice/AssistantNotice.d.ts +18 -0
  57. package/dist/patterns/AssistantNotice/index.d.ts +2 -0
  58. package/dist/patterns/AssistantNotice/styles.d.ts +49 -0
  59. package/dist/patterns/AssistantNotice/types.d.ts +58 -0
  60. package/dist/patterns/CardList/CardList.d.ts +3 -0
  61. package/dist/patterns/CardList/index.d.ts +2 -0
  62. package/dist/patterns/CardList/styles.d.ts +20 -0
  63. package/dist/patterns/CardList/types.d.ts +20 -0
  64. package/dist/patterns/CardStack/CardStack.d.ts +7 -0
  65. package/dist/patterns/CardStack/index.d.ts +2 -0
  66. package/dist/patterns/CardStack/styles.d.ts +2 -0
  67. package/dist/patterns/CashTenderForm/types.d.ts +6 -0
  68. package/dist/patterns/CellText/CellText.d.ts +16 -0
  69. package/dist/patterns/CellText/index.d.ts +2 -0
  70. package/dist/patterns/CellText/styles.d.ts +7 -0
  71. package/dist/patterns/DiscardGuard/DiscardGuard.d.ts +23 -0
  72. package/dist/patterns/DiscardGuard/context.d.ts +25 -0
  73. package/dist/patterns/DiscardGuard/index.d.ts +6 -0
  74. package/dist/patterns/DiscardGuard/useDiscardGuard.d.ts +38 -0
  75. package/dist/patterns/DonationAmounts/index.d.ts +1 -1
  76. package/dist/patterns/DonationAmounts/styles.d.ts +51 -0
  77. package/dist/patterns/DonationAmounts/types.d.ts +79 -1
  78. package/dist/patterns/DonationAmounts/utils/currency.d.ts +23 -3
  79. package/dist/patterns/EntityRow/EntityList.d.ts +15 -0
  80. package/dist/patterns/EntityRow/EntityRow.d.ts +3 -0
  81. package/dist/patterns/EntityRow/context.d.ts +2 -0
  82. package/dist/patterns/EntityRow/icons.d.ts +3 -0
  83. package/dist/patterns/EntityRow/index.d.ts +3 -0
  84. package/dist/patterns/EntityRow/initials.d.ts +6 -0
  85. package/dist/patterns/EntityRow/styles.d.ts +74 -0
  86. package/dist/patterns/EntityRow/types.d.ts +125 -0
  87. package/dist/patterns/ExpandableTable/ExpandableTable.d.ts +6 -0
  88. package/dist/patterns/ExpandableTable/index.d.ts +2 -0
  89. package/dist/patterns/ExpandableTable/styles.d.ts +43 -0
  90. package/dist/patterns/ExpandableTable/types.d.ts +99 -0
  91. package/dist/patterns/FeedbackState/FeedbackState.d.ts +1 -1
  92. package/dist/patterns/FeedbackState/type.d.ts +11 -1
  93. package/dist/patterns/FilterSelect/FilterSelect.d.ts +3 -0
  94. package/dist/patterns/FilterSelect/FilterSelectGroup.d.ts +3 -0
  95. package/dist/patterns/FilterSelect/index.d.ts +3 -0
  96. package/dist/patterns/FilterSelect/styles.d.ts +17 -0
  97. package/dist/patterns/FilterSelect/types.d.ts +19 -0
  98. package/dist/patterns/InlineConfirm/InlineConfirm.d.ts +38 -0
  99. package/dist/patterns/InlineConfirm/index.d.ts +2 -0
  100. package/dist/patterns/InlineConfirm/styles.d.ts +16 -0
  101. package/dist/patterns/InstallmentFundAssignment/InstallmentFundAssignment.d.ts +1 -1
  102. package/dist/patterns/InstallmentFundAssignment/types.d.ts +3 -0
  103. package/dist/patterns/InstallmentSchedule/InstallmentSchedule.d.ts +1 -1
  104. package/dist/patterns/InstallmentSchedule/InstallmentTable.d.ts +1 -1
  105. package/dist/patterns/InstallmentSchedule/index.d.ts +1 -1
  106. package/dist/patterns/InstallmentSchedule/types.d.ts +62 -3
  107. package/dist/patterns/InstallmentSchedule/utils.d.ts +33 -0
  108. package/dist/patterns/KeyValueChip/KeyValueChip.d.ts +1 -0
  109. package/dist/patterns/KeyValueRows/KeyValueRows.d.ts +13 -0
  110. package/dist/patterns/KeyValueRows/index.d.ts +2 -0
  111. package/dist/patterns/KeyValueRows/styles.d.ts +8 -0
  112. package/dist/patterns/LineItemRows/LineItemRows.d.ts +17 -0
  113. package/dist/patterns/LineItemRows/index.d.ts +2 -0
  114. package/dist/patterns/LineItemRows/styles.d.ts +13 -0
  115. package/dist/patterns/ListPanel/ListPanel.d.ts +2 -0
  116. package/dist/patterns/LoadMoreFooter/LoadMoreFooter.d.ts +3 -0
  117. package/dist/patterns/LoadMoreFooter/index.d.ts +2 -0
  118. package/dist/patterns/LoadMoreFooter/styles.d.ts +7 -0
  119. package/dist/patterns/LoadMoreFooter/types.d.ts +10 -0
  120. package/dist/patterns/MetaCard/types.d.ts +2 -0
  121. package/dist/patterns/ModalPanels/ModalPanels.d.ts +35 -0
  122. package/dist/patterns/ModalPanels/context.d.ts +20 -0
  123. package/dist/patterns/ModalPanels/focus.d.ts +44 -0
  124. package/dist/patterns/ModalPanels/index.d.ts +6 -0
  125. package/dist/patterns/ModalPanels/styles.d.ts +13 -0
  126. package/dist/patterns/ModalPanels/useModalPanels.d.ts +30 -0
  127. package/dist/patterns/NeedsFixDot/NeedsFixDot.d.ts +16 -0
  128. package/dist/patterns/NeedsFixDot/firstNeedsFixKey.d.ts +18 -0
  129. package/dist/patterns/NeedsFixDot/index.d.ts +4 -0
  130. package/dist/patterns/NeedsFixDot/styles.d.ts +20 -0
  131. package/dist/patterns/Notice/Notice.d.ts +16 -0
  132. package/dist/patterns/Notice/index.d.ts +2 -0
  133. package/dist/patterns/Notice/styles.d.ts +35 -0
  134. package/dist/patterns/Notice/type.d.ts +39 -0
  135. package/dist/patterns/OutcomeView/index.d.ts +1 -1
  136. package/dist/patterns/OutcomeView/types.d.ts +110 -3
  137. package/dist/patterns/PageHeader/PageHeader.d.ts +1 -0
  138. package/dist/patterns/PaginationSummary/PaginationSummary.d.ts +12 -0
  139. package/dist/patterns/PaginationSummary/index.d.ts +1 -1
  140. package/dist/patterns/PaymentSubAmountInput/PaymentSubAmountInput.d.ts +2 -0
  141. package/dist/patterns/PillTabs/PillTabs.d.ts +3 -0
  142. package/dist/patterns/PillTabs/ids.d.ts +9 -0
  143. package/dist/patterns/PillTabs/index.d.ts +3 -0
  144. package/dist/patterns/PillTabs/styles.d.ts +20 -0
  145. package/dist/patterns/PillTabs/types.d.ts +21 -0
  146. package/dist/patterns/{CatalogItemCard → Programs/CatalogItemCard}/type.d.ts +1 -1
  147. package/dist/patterns/{EventDetails → Programs/EventDetails}/EventDetails.d.ts +3 -1
  148. package/dist/patterns/{OfferCard → Programs/OfferCard}/OfferCard.d.ts +1 -1
  149. package/dist/patterns/{OfferCard → Programs/OfferCard}/types.d.ts +7 -0
  150. package/dist/patterns/Programs/ProgramListItem/ProgramListItem.d.ts +17 -0
  151. package/dist/patterns/Programs/ProgramListItem/index.d.ts +2 -0
  152. package/dist/patterns/Programs/index.d.ts +5 -0
  153. package/dist/patterns/ReasonSelect/types.d.ts +1 -0
  154. package/dist/patterns/RecordCard/RecordCard.d.ts +3 -0
  155. package/dist/patterns/RecordCard/index.d.ts +2 -0
  156. package/dist/patterns/RecordCard/styles.d.ts +16 -0
  157. package/dist/patterns/RecordCard/types.d.ts +22 -0
  158. package/dist/patterns/RecordHeader/RecordHeader.d.ts +3 -0
  159. package/dist/patterns/RecordHeader/index.d.ts +2 -0
  160. package/dist/patterns/RecordHeader/styles.d.ts +43 -0
  161. package/dist/patterns/RecordHeader/types.d.ts +30 -0
  162. package/dist/patterns/RecordLayout/RecordLayout.d.ts +3 -0
  163. package/dist/patterns/RecordLayout/index.d.ts +2 -0
  164. package/dist/patterns/RecordLayout/styles.d.ts +8 -0
  165. package/dist/patterns/RecordLayout/types.d.ts +6 -0
  166. package/dist/patterns/RecordTotals/RecordTotals.d.ts +19 -0
  167. package/dist/patterns/RecordTotals/index.d.ts +2 -0
  168. package/dist/patterns/RecordTotals/styles.d.ts +19 -0
  169. package/dist/patterns/RefundMethodCards/RefundMethodCards.d.ts +4 -0
  170. package/dist/patterns/RefundMethodCards/index.d.ts +2 -0
  171. package/dist/patterns/RefundMethodCards/styles.d.ts +59 -0
  172. package/dist/patterns/RefundMethodCards/types.d.ts +72 -0
  173. package/dist/patterns/RefundProgressList/RefundProgressList.d.ts +4 -0
  174. package/dist/patterns/RefundProgressList/index.d.ts +2 -0
  175. package/dist/patterns/RefundProgressList/styles.d.ts +44 -0
  176. package/dist/patterns/RefundProgressList/types.d.ts +37 -0
  177. package/dist/patterns/RelatedRecordList/RelatedRecordList.d.ts +3 -0
  178. package/dist/patterns/RelatedRecordList/index.d.ts +2 -0
  179. package/dist/patterns/RelatedRecordList/styles.d.ts +19 -0
  180. package/dist/patterns/RelatedRecordList/types.d.ts +17 -0
  181. package/dist/patterns/ScrollToLatest/ScrollToLatest.d.ts +18 -0
  182. package/dist/patterns/ScrollToLatest/index.d.ts +2 -0
  183. package/dist/patterns/ScrollToLatest/styles.d.ts +11 -0
  184. package/dist/patterns/ScrollToLatest/types.d.ts +36 -0
  185. package/dist/patterns/SessionExpiredCard/SessionExpiredCard.d.ts +14 -0
  186. package/dist/patterns/SessionExpiredCard/index.d.ts +2 -0
  187. package/dist/patterns/SessionExpiredCard/type.d.ts +6 -0
  188. package/dist/patterns/SplitPaymentSummary/index.d.ts +1 -1
  189. package/dist/patterns/SplitPaymentSummary/types.d.ts +18 -0
  190. package/dist/patterns/StatTiles/StatTiles.d.ts +3 -0
  191. package/dist/patterns/StatTiles/index.d.ts +2 -0
  192. package/dist/patterns/StatTiles/styles.d.ts +8 -0
  193. package/dist/patterns/StatTiles/types.d.ts +12 -0
  194. package/dist/patterns/StatusChip/StatusChip.d.ts +3 -3
  195. package/dist/patterns/StepProgress/StepProgress.d.ts +4 -0
  196. package/dist/patterns/StepProgress/index.d.ts +2 -0
  197. package/dist/patterns/StepProgress/styles.d.ts +29 -0
  198. package/dist/patterns/StepProgress/types.d.ts +43 -0
  199. package/dist/patterns/Summary/components/ActionBar.d.ts +2 -0
  200. package/dist/patterns/Summary/components/GrandTotalRow.d.ts +1 -0
  201. package/dist/patterns/Summary/components/ItemRow.d.ts +1 -0
  202. package/dist/patterns/Summary/components/SummaryBody.d.ts +4 -1
  203. package/dist/patterns/Summary/components/TotalsLineRow.d.ts +3 -2
  204. package/dist/patterns/Summary/types.d.ts +51 -9
  205. package/dist/patterns/TableSkeleton/TableSkeleton.d.ts +1 -0
  206. package/dist/patterns/TileSelect/TileSelect.d.ts +2 -37
  207. package/dist/patterns/TileSelect/index.d.ts +1 -1
  208. package/dist/patterns/TileSelect/styles.d.ts +56 -0
  209. package/dist/patterns/TileSelect/types.d.ts +140 -0
  210. package/dist/patterns/TimeField/TimeField.d.ts +6 -0
  211. package/dist/patterns/TimeField/index.d.ts +3 -0
  212. package/dist/patterns/TimeField/time.d.ts +40 -0
  213. package/dist/patterns/TimeField/types.d.ts +77 -0
  214. package/dist/patterns/ToolbarButton/ToolbarButton.d.ts +2 -0
  215. package/dist/patterns/UnderlineTabs/UnderlineTabs.d.ts +40 -1
  216. package/dist/patterns/UnderlineTabs/index.d.ts +1 -1
  217. package/dist/patterns/UnderlineTabs/styles.d.ts +21 -0
  218. package/dist/patterns/VerticalSteps/StepPager.d.ts +6 -0
  219. package/dist/patterns/VerticalSteps/StepsReadiness.d.ts +15 -0
  220. package/dist/patterns/VerticalSteps/VerticalSteps.d.ts +6 -0
  221. package/dist/patterns/VerticalSteps/index.d.ts +4 -0
  222. package/dist/patterns/VerticalSteps/styles.d.ts +54 -0
  223. package/dist/patterns/VerticalSteps/types.d.ts +100 -0
  224. package/dist/patterns/WizardShell/index.d.ts +1 -1
  225. package/dist/patterns/WizardShell/types.d.ts +9 -1
  226. package/dist/patterns/grid-columns.d.ts +1 -1
  227. package/dist/patterns/index.d.ts +79 -19
  228. package/dist/patterns/shared/hasContent.d.ts +2 -0
  229. package/dist/patterns/shared/index.d.ts +1 -0
  230. package/dist/patterns/shared/motion.d.ts +6 -0
  231. package/dist/patterns/shared/recordTone.d.ts +9 -0
  232. package/dist/patterns/shared/rem.d.ts +4 -0
  233. package/dist/patterns/shared/useContainerWidth.d.ts +6 -0
  234. package/dist/patterns/shared/useDecimalDraft.d.ts +33 -0
  235. package/dist/patterns/shared/usePrefillEdits.d.ts +7 -0
  236. package/dist/providers/DensityProvider.d.ts +7 -0
  237. package/dist/providers/HeroUIProvider.d.ts +20 -1
  238. package/dist/providers/ToastProvider.d.ts +21 -0
  239. package/dist/providers/close-label-context.d.ts +18 -0
  240. package/dist/providers/density.d.ts +17 -0
  241. package/dist/providers/index.d.ts +6 -0
  242. package/dist/tailwind/index.cjs +107 -5
  243. package/dist/tailwind/index.d.ts +61 -0
  244. package/dist/tailwind/index.mjs +104 -5
  245. package/dist/test/ReducedMotion.d.ts +4 -0
  246. package/dist/test/RootFontSize.d.ts +5 -0
  247. package/dist/test/backdrop.d.ts +12 -0
  248. package/dist/test/container-width.d.ts +14 -0
  249. package/dist/test/contrast.d.ts +1 -0
  250. package/dist/test/px-class-names.d.ts +1 -0
  251. package/dist/test/px-classes.d.ts +3 -0
  252. package/dist/test/reducedMotionCss.d.ts +40 -0
  253. package/dist/test/root-font-size.d.ts +8 -0
  254. package/dist/tokens/assistant-surface.d.ts +66 -0
  255. package/dist/tokens/index.d.ts +2 -0
  256. package/dist/tokens/pos-surface.d.ts +23 -4
  257. package/package.json +22 -3
  258. /package/dist/patterns/{CatalogItemCard → Programs/CatalogItemCard}/CatalogItemCard.d.ts +0 -0
  259. /package/dist/patterns/{CatalogItemCard → Programs/CatalogItemCard}/index.d.ts +0 -0
  260. /package/dist/patterns/{EventDetails → Programs/EventDetails}/index.d.ts +0 -0
  261. /package/dist/patterns/{OfferCard → Programs/OfferCard}/examples/CustomQuantitySelectorExample.d.ts +0 -0
  262. /package/dist/patterns/{OfferCard → Programs/OfferCard}/examples/ListWithEurosCurrencyExample.d.ts +0 -0
  263. /package/dist/patterns/{OfferCard → Programs/OfferCard}/examples/ListWithoutAnimationExample.d.ts +0 -0
  264. /package/dist/patterns/{OfferCard → Programs/OfferCard}/examples/index.d.ts +0 -0
  265. /package/dist/patterns/{OfferCard → Programs/OfferCard}/index.d.ts +0 -0
  266. /package/dist/patterns/{OfferCard → Programs/OfferCard}/utils/animations.d.ts +0 -0
  267. /package/dist/patterns/{OfferCard → Programs/OfferCard}/utils/currency.d.ts +0 -0
  268. /package/dist/patterns/{OfferCard → Programs/OfferCard}/utils/index.d.ts +0 -0
  269. /package/dist/patterns/{OfferCard → Programs/OfferCard}/utils/offers.d.ts +0 -0
  270. /package/dist/patterns/{OfferCard → Programs/OfferCard}/variants/OfferCardEmpty.d.ts +0 -0
  271. /package/dist/patterns/{OfferCard → Programs/OfferCard}/variants/OfferCardError.d.ts +0 -0
  272. /package/dist/patterns/{OfferCard → Programs/OfferCard}/variants/OfferCardList.d.ts +0 -0
  273. /package/dist/patterns/{OfferCard → Programs/OfferCard}/variants/OfferCardSkeleton.d.ts +0 -0
  274. /package/dist/patterns/{OfferCard → Programs/OfferCard}/variants/index.d.ts +0 -0
  275. /package/dist/patterns/{SessionTimeline → Programs/SessionTimeline}/SessionTimeline.d.ts +0 -0
  276. /package/dist/patterns/{SessionTimeline → Programs/SessionTimeline}/index.d.ts +0 -0
  277. /package/dist/patterns/{SessionTimeline → Programs/SessionTimeline}/type.d.ts +0 -0
@@ -0,0 +1,4 @@
1
+ export { VerticalSteps } from './VerticalSteps';
2
+ export { StepsReadiness } from './StepsReadiness';
3
+ export { StepPager } from './StepPager';
4
+ export type { VerticalStep, VerticalStepStatus, VerticalStepsProps, VerticalStepsStatusLabels, StepsReadinessProps, StepsReadinessVariant, StepPagerProps, } from './types';
@@ -0,0 +1,54 @@
1
+ import { StepsReadinessVariant, VerticalStepStatus } from './types';
2
+ /** One glyph per status, so the state reads by shape before color. */
3
+ export declare const STEP_STATUS_ICON: Record<VerticalStepStatus, string>;
4
+ /**
5
+ * `icon` paints the glyph; `meta` the line under the label.
6
+ *
7
+ * The optional ring is `--muted` (gray-400, 2.54:1): it is decorative, the
8
+ * visible word "Optional" carries the state. Every text tone is `--sub`
9
+ * (gray-500, 4.83:1) or darker; `--warn` is warning-700, 5.02:1 on white.
10
+ */
11
+ export declare const STEP_STATUS_TONE: Record<VerticalStepStatus, {
12
+ icon: string;
13
+ meta: string;
14
+ }>;
15
+ /** Label color for every row. */
16
+ export declare const STEP_LABEL_COLOR: string;
17
+ export declare const READINESS_ICON: Record<StepsReadinessVariant, string>;
18
+ /** Fill plus the one text tone on it. Both pairs are held to 4.5:1 in `admin-surface.test.ts`. */
19
+ export declare const READINESS_TONE: Record<StepsReadinessVariant, {
20
+ fill: string;
21
+ text: string;
22
+ }>;
23
+ export declare const verticalStepsClass: {
24
+ /** Scrolls inside once `maxHeight` (or the parent) caps it. */
25
+ readonly root: "flex min-h-0 flex-col gap-3 overflow-y-auto overscroll-contain";
26
+ readonly nav: "rounded-2xl border border-acct-border bg-acct-surface p-1.5";
27
+ readonly list: "m-0 flex list-none flex-col gap-0.5 p-0";
28
+ /**
29
+ * The DS Button supplies the hit target, the focus ring and press
30
+ * handling; its centered single-line box is undone so a row can wrap.
31
+ */
32
+ readonly row: string;
33
+ readonly rowCurrent: "bg-acct-hair data-[hover=true]:bg-acct-hair";
34
+ readonly icon: "mt-px size-5 shrink-0";
35
+ readonly text: "flex min-w-0 flex-1 flex-col gap-0.5";
36
+ readonly label: "text-sm leading-5";
37
+ readonly labelCurrent: "font-semibold";
38
+ readonly meta: "text-xs leading-4 [overflow-wrap:anywhere]";
39
+ };
40
+ export declare const stepsReadinessClass: {
41
+ readonly root: "flex items-start gap-2.5 rounded-2xl px-4 py-3";
42
+ readonly icon: "mt-0.5 size-5 shrink-0";
43
+ readonly text: "flex min-w-0 flex-col";
44
+ readonly title: "text-sm font-semibold leading-5";
45
+ readonly description: "text-xs leading-4";
46
+ };
47
+ export declare const stepPagerClass: {
48
+ readonly root: "flex flex-wrap items-center justify-between gap-3";
49
+ /** Keeps the progress text centered when one side has no button. */
50
+ readonly spacer: "min-w-0 flex-1 basis-0";
51
+ readonly progress: "shrink-0 text-xs text-acct-sub";
52
+ readonly endSlot: "flex min-w-0 flex-1 basis-0 justify-end";
53
+ readonly arrow: "size-4";
54
+ };
@@ -0,0 +1,100 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ /**
3
+ * Where a step stands. `done` and `optional` need nothing; `needs-fix` is
4
+ * what stops the page from being ready, and carries a `reason`.
5
+ */
6
+ export type VerticalStepStatus = 'done' | 'needs-fix' | 'optional';
7
+ /** One row of a {@link VerticalSteps} panel, and one page of a {@link StepPager}. */
8
+ export interface VerticalStep {
9
+ /** Stable id. Keys the row and its default test id. */
10
+ key: string;
11
+ /** Step name. The row prefixes its 1-based number; the pager shows it bare. */
12
+ label: string;
13
+ /** One line under the label: "3 tickets", "Nov 1 – Dec 31". */
14
+ summary?: ReactNode;
15
+ status: VerticalStepStatus;
16
+ /** What to fix ("Add the end date"). Shown instead of `summary` while `needs-fix`. */
17
+ reason?: ReactNode;
18
+ /** Override the row's test id; defaults to `${data-testid}-step-${key}`. */
19
+ testId?: string;
20
+ }
21
+ /**
22
+ * The status words, translated by the host. `optional` is visible
23
+ * ("Optional · 2 rules"); `done` and `needsFix` are read out only, before the
24
+ * summary or the reason, so include the punctuation your language wants there
25
+ * (`'Done.'`, `'Needs a fix:'`).
26
+ */
27
+ export interface VerticalStepsStatusLabels {
28
+ done: string;
29
+ needsFix: string;
30
+ optional: string;
31
+ }
32
+ /**
33
+ * Same position model as `HorizontalSteps`: an index, controlled or not,
34
+ * with `onStepChange` and an `isStepReachable` gate.
35
+ */
36
+ export interface VerticalStepsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
37
+ steps: VerticalStep[];
38
+ /** Controlled index of the active step. Omit for uncontrolled mode. */
39
+ currentStep?: number;
40
+ /** Starting index in uncontrolled mode. */
41
+ defaultStep?: number;
42
+ onStepChange?: (stepIndex: number) => void;
43
+ /**
44
+ * Steps for which this returns `false` render disabled and cannot be
45
+ * pressed. When omitted every step is reachable, which is the program
46
+ * page's case: no step is locked.
47
+ */
48
+ isStepReachable?: (stepIndex: number) => boolean;
49
+ /** Accessible name of the `<nav>` that holds the rows ("Program steps"). */
50
+ ariaLabel: string;
51
+ statusLabels: VerticalStepsStatusLabels;
52
+ /** Above the rows: a {@link StepsReadiness}, or anything else. */
53
+ header?: ReactNode;
54
+ /**
55
+ * Cap on the panel's height; past it the panel scrolls inside. Any CSS
56
+ * length (`'calc(100vh - 7rem)'`) or px number. The panel never sets
57
+ * `position: sticky` itself: the page that places it decides that.
58
+ */
59
+ maxHeight?: string | number;
60
+ 'data-testid'?: string;
61
+ }
62
+ /**
63
+ * `ready` and `live` are the success tone and mark the panel ready
64
+ * (`data-ready="true"`); `fix` is the warning tone.
65
+ */
66
+ export type StepsReadinessVariant = 'ready' | 'fix' | 'live';
67
+ export interface StepsReadinessProps {
68
+ variant: StepsReadinessVariant;
69
+ /** "Ready to publish", "2 things to fix", "Live — visitors can buy". */
70
+ title: ReactNode;
71
+ /** The sub-line: "Fix them before you can publish." */
72
+ description?: ReactNode;
73
+ className?: string;
74
+ 'data-testid'?: string;
75
+ }
76
+ export interface StepPagerProps {
77
+ steps: VerticalStep[];
78
+ /** Index of the step on screen; the same index `VerticalSteps` uses. */
79
+ currentStep: number;
80
+ onStepChange: (stepIndex: number) => void;
81
+ /** The middle text: `(n, total) => \`Step ${n} of ${total}\``. `n` is 1-based. */
82
+ progressLabel: (stepNumber: number, total: number) => ReactNode;
83
+ /** The forward button: `(step) => \`Next: ${step.label}\``. */
84
+ nextLabel: (step: VerticalStep) => ReactNode;
85
+ /** The back button. Defaults to the previous step's label. */
86
+ previousLabel?: (step: VerticalStep) => ReactNode;
87
+ /**
88
+ * Shown in place of Next on the last step ("Review and publish"). Omit it,
89
+ * or `onFinalAction`, and the last step has no forward button.
90
+ */
91
+ finalActionLabel?: ReactNode;
92
+ onFinalAction?: () => void;
93
+ isFinalActionDisabled?: boolean;
94
+ className?: string;
95
+ /** Root test id. The buttons' ids default to `${data-testid}-prev` / `-next` / `-final`. */
96
+ 'data-testid'?: string;
97
+ previousTestId?: string;
98
+ nextTestId?: string;
99
+ finalActionTestId?: string;
100
+ }
@@ -1,2 +1,2 @@
1
1
  export { WizardShell } from './WizardShell';
2
- export type { WizardShellProps, WizardStep, WizardStepState, WizardShellPrimaryAction, WizardShellSecondaryAction, WizardShellTotalRow, WizardShellLabels, } from './types';
2
+ export type { WizardShellProps, WizardStep, WizardStepState, WizardShellPrimaryAction, WizardShellSecondaryAction, WizardShellTotalRow, WizardShellTotalBadge, WizardShellLabels, } from './types';
@@ -28,10 +28,16 @@ export interface WizardShellSecondaryAction {
28
28
  * the return covers less than the order, `owes` reads "Customer owes" when the
29
29
  * balance runs the other way.
30
30
  */
31
+ export interface WizardShellTotalBadge {
32
+ label: string;
33
+ tone: 'warn' | 'neutral' | 'ok';
34
+ }
31
35
  export interface WizardShellTotalRow {
32
36
  label: string;
33
37
  amount?: Money;
34
- badge?: 'partial' | 'owes';
38
+ /** Renders the amount as a counter against this total: "Assigned $40.00 of $46.00". */
39
+ of?: Money;
40
+ badge?: 'partial' | 'owes' | WizardShellTotalBadge;
35
41
  }
36
42
  export interface WizardShellLabels {
37
43
  back?: string;
@@ -40,6 +46,8 @@ export interface WizardShellLabels {
40
46
  cancel?: string;
41
47
  partialBadge?: string;
42
48
  owesBadge?: string;
49
+ /** The word between `totalRow.amount` and `totalRow.of`. */
50
+ ofSeparator?: string;
43
51
  }
44
52
  export interface WizardShellProps {
45
53
  onClose?: () => void;
@@ -6,5 +6,5 @@
6
6
  * The literal Tailwind classes must stay spelled out (not interpolated) so
7
7
  * the JIT scanner keeps generating them.
8
8
  */
9
- export declare const GRID_DESKTOP_COLS: Record<2 | 3 | 4, string>;
9
+ export declare const GRID_DESKTOP_COLS: Record<2 | 3 | 4 | 5 | 6, string>;
10
10
  export declare const GRID_MOBILE_COLS: Record<1 | 2, string>;
@@ -4,19 +4,21 @@ export { Stepper } from './Stepper';
4
4
  export type { StepperProps } from './Stepper';
5
5
  export { HorizontalSteps } from './HorizontalSteps';
6
6
  export type { HorizontalStepsProps, HorizontalStepProps } from './HorizontalSteps';
7
+ export { VerticalSteps, StepsReadiness, StepPager } from './VerticalSteps';
8
+ export type { VerticalStep, VerticalStepStatus, VerticalStepsProps, VerticalStepsStatusLabels, StepsReadinessProps, StepsReadinessVariant, StepPagerProps, } from './VerticalSteps';
7
9
  export { Footer } from './Footer';
8
10
  export { Multiselect } from './Multiselect';
9
11
  export type { MultiselectProps } from './Multiselect';
10
12
  export { RichTextArea, RICH_TEXT_PRESETS } from './RichText';
11
13
  export type { RichTextAreaProps } from './RichText';
12
14
  export { DonationAmounts } from './DonationAmounts';
13
- export type { DonationAmountsProps, DonationAmount, SelectedDonation, DonationLabels } from './DonationAmounts';
15
+ export type { DonationAmountsProps, DonationAmount, SelectedDonation, DonationLabels, DonationAmountsVariant, DonationAmountsCustomAmountPlacement, } from './DonationAmounts';
14
16
  export { ExpireCartTimer } from './ExpireCartTimer';
15
17
  export type { ExpireCartTimerProps } from './ExpireCartTimer';
16
- export { EventDetails } from './EventDetails';
17
- export type { EventDetailsProps } from './EventDetails';
18
- export { OfferCard, OfferCardList, OfferCardSkeleton, OfferCardError, OfferCardEmpty, offerListVariants, offerCardVariants, formatCurrency as formatOfferCurrency, parseCurrency as parseOfferCurrency, } from './OfferCard';
19
- export type { Offer, OfferSelection, OfferCardLabels, OfferCardErrorLabels, OfferCardClassNames, OfferCardListClassNames, OfferCardSkeletonClassNames, OfferCardErrorClassNames, OfferCardEmptyClassNames, OfferCardSlots, OfferCardProps, OfferCardListProps, OfferCardSkeletonProps, OfferCardErrorProps, OfferCardEmptyProps, } from './OfferCard';
18
+ export { EventDetails } from './Programs/EventDetails';
19
+ export type { EventDetailsProps } from './Programs/EventDetails';
20
+ export { OfferCard, OfferCardList, OfferCardSkeleton, OfferCardError, OfferCardEmpty, offerListVariants, offerCardVariants, formatCurrency as formatOfferCurrency, parseCurrency as parseOfferCurrency, } from './Programs/OfferCard';
21
+ export type { Offer, OfferSelection, OfferCardLabels, OfferCardErrorLabels, OfferCardClassNames, OfferCardListClassNames, OfferCardSkeletonClassNames, OfferCardErrorClassNames, OfferCardEmptyClassNames, OfferCardSlots, OfferCardProps, OfferCardListProps, OfferCardSkeletonProps, OfferCardErrorProps, OfferCardEmptyProps, } from './Programs/OfferCard';
20
22
  export { RevenueDistributionCard, RevenueDistributionSkeleton, RevenueDistributionError, RevenueDistributionEmpty, formatAmount as formatRevenueAmount, formatCurrency as formatRevenueCurrency, getCurrencySymbol, parseCurrency as parseRevenueCurrency, calculateAllocationDifference, generateDistributionId, } from './RevenueDistribution';
21
23
  export type { GlAccount, Distribution, RevenueDistributionLabels, RevenueDistributionErrorLabels, RevenueDistributionEmptyLabels, RevenueDistributionCardClassNames, RevenueDistributionSkeletonClassNames, RevenueDistributionErrorClassNames, RevenueDistributionEmptyClassNames, RevenueDistributionCardProps, RevenueDistributionSkeletonProps, RevenueDistributionErrorProps, RevenueDistributionEmptyProps, } from './RevenueDistribution';
22
24
  export { InstallmentFundAssignment, InstallmentFundAssignmentSkeleton } from './InstallmentFundAssignment';
@@ -31,8 +33,10 @@ export { MembershipSelectCards } from './MembershipSelectCards';
31
33
  export type * from './MembershipSelectCards';
32
34
  export { ItemCard } from './ItemCard';
33
35
  export type * from './ItemCard';
34
- export { CatalogItemCard } from './CatalogItemCard';
35
- export type * from './CatalogItemCard';
36
+ export { CatalogItemCard } from './Programs/CatalogItemCard';
37
+ export type * from './Programs/CatalogItemCard';
38
+ export { ProgramListItem } from './Programs/ProgramListItem';
39
+ export type * from './Programs/ProgramListItem';
36
40
  export { FeedbackState, EmptyState, ErrorState, LoadingState, SuccessState } from './FeedbackState';
37
41
  export type * from './FeedbackState';
38
42
  export { Toggle } from './Toggle';
@@ -41,8 +45,8 @@ export { TicketSelection } from './TicketSelection';
41
45
  export type * from './TicketSelection';
42
46
  export { FilterPopover } from './FilterPopover';
43
47
  export type * from './FilterPopover';
44
- export { SessionTimeline } from './SessionTimeline';
45
- export type * from './SessionTimeline';
48
+ export { SessionTimeline } from './Programs/SessionTimeline';
49
+ export type * from './Programs/SessionTimeline';
46
50
  export { PageHeader } from './PageHeader';
47
51
  export type { PageHeaderProps, PageHeaderClassNames } from './PageHeader';
48
52
  export { StatusChip } from './StatusChip';
@@ -55,20 +59,28 @@ export { TableSkeleton } from './TableSkeleton';
55
59
  export type { TableSkeletonProps, TableSkeletonClassNames } from './TableSkeleton';
56
60
  export { AdminTable, adminRowClass, adminTableClass, adminTableFooterClass, adminTdClass, adminThClass, } from './AdminTable';
57
61
  export type { AdminTableProps, AdminTableColumn, AdminTableClassNames } from './AdminTable';
62
+ export { ExpandableTable } from './ExpandableTable';
63
+ export type { ExpandableTableBreakpoint, ExpandableTableColumn, ExpandableTableExpandedChange, ExpandableTableLabels, ExpandableTableProps, ExpandableTableReason, ExpandableTableRowContext, } from './ExpandableTable';
64
+ export { NeedsFixDot, firstNeedsFixKey } from './NeedsFixDot';
65
+ export type { NeedsFixDotProps, NeedsFixItem } from './NeedsFixDot';
58
66
  export { AdminToolbar } from './AdminToolbar';
59
- export type { AdminToolbarProps } from './AdminToolbar';
67
+ export type { AdminToolbarProps, AdminToolbarSearchWidth, AdminToolbarSize } from './AdminToolbar';
60
68
  export { ToolbarButton } from './ToolbarButton';
61
69
  export type { ToolbarButtonProps } from './ToolbarButton';
62
70
  export { UnderlineTabs } from './UnderlineTabs';
63
- export type { UnderlineTabsProps, UnderlineTabItem } from './UnderlineTabs';
64
- export { AdminFieldLabel, AdminTextField, adminFieldErrorClass, adminFieldHintClass, adminFieldLabelClass, adminFieldLabelSuffixClass, adminInputClass, adminInputReadOnlyClass, adminInputWrapperClass, } from './AdminTextField';
65
- export type { AdminTextFieldProps } from './AdminTextField';
71
+ export type { UnderlineTabsProps, UnderlineTabItem, UnderlineTabsSize, UnderlineTabsLevel } from './UnderlineTabs';
72
+ export { AdminFieldLabel, AdminTextField, adminFieldErrorClass, adminFieldHelpButtonClass, adminFieldHelpContentClass, adminFieldHelpIconClass, adminFieldHintClass, adminFieldLabelClass, adminFieldLabelNoAutoMarkClass, adminFieldLabelRowClass, adminFieldLabelSuffixClass, adminFieldRequiredClass, adminInputClass, adminInputReadOnlyClass, adminInputWrapperClass, } from './AdminTextField';
73
+ export type { AdminTextFieldProps, AdminFieldLabelProps, AdminFieldRequiredProps, AdminFieldHelpProps, } from './AdminTextField';
74
+ export { TimeField, parseTimeInput } from './TimeField';
75
+ export type { TimeFieldProps } from './TimeField';
66
76
  export { RowActions } from './RowActions';
67
77
  export type { RowActionsProps, RowAction } from './RowActions';
68
78
  export { PickerRow } from './PickerRow';
69
79
  export type { PickerRowProps } from './PickerRow';
80
+ export { EntityRow, EntityList, EntityListSkeleton } from './EntityRow';
81
+ export type { EntityRowProps, EntityRowSize, EntityRowVariant, EntityRowTag, EntityRowTagTone, EntityRowLeading, EntityRowAction, EntityListProps, EntityListSkeletonProps, } from './EntityRow';
70
82
  export { PaginationSummary, pageRange } from './PaginationSummary';
71
- export type { PaginationSummaryProps, PaginationSummaryClassNames } from './PaginationSummary';
83
+ export type { PaginationSummaryProps, PaginationSummaryClassNames, PaginationSummaryRange } from './PaginationSummary';
72
84
  export { ListPanel } from './ListPanel';
73
85
  export type { ListPanelProps, ListPanelClassNames } from './ListPanel';
74
86
  export { CashTenderForm } from './CashTenderForm';
@@ -78,11 +90,11 @@ export type { CheckTenderFormProps, CheckTenderValue, CheckTenderLabels } from '
78
90
  export { OtherTenderForm } from './OtherTenderForm';
79
91
  export type { OtherTenderFormProps, OtherTenderValue, OtherTenderLabels, OtherTenderMethodOption, } from './OtherTenderForm';
80
92
  export { SplitPaymentSummary } from './SplitPaymentSummary';
81
- export type { SplitPaymentSummaryProps, SplitPaymentSummaryLabels, TenderRow, TenderRowStatus, TenderRowType, } from './SplitPaymentSummary';
93
+ export type { SplitPaymentSummaryProps, SplitPaymentSummaryLabels, SplitPaymentSummaryVariant, TenderRow, TenderRowStatus, TenderRowType, } from './SplitPaymentSummary';
82
94
  export { ModalShell, ModalShellHeader, ModalShellFooter } from './ModalShell';
83
95
  export type { ModalShellProps, ModalShellHeaderProps, ModalShellFooterProps } from './ModalShell';
84
96
  export { TileSelect } from './TileSelect';
85
- export type { TileSelectProps, TileSelectOption } from './TileSelect';
97
+ export type { TileSelectProps, TileSelectOption, TileSelectVariant, TileSelectSize } from './TileSelect';
86
98
  export { PaymentTotalBanner } from './PaymentTotalBanner';
87
99
  export type { PaymentTotalBannerProps } from './PaymentTotalBanner';
88
100
  export { LoadingOverlay } from './LoadingOverlay';
@@ -95,11 +107,19 @@ export { PaymentSubAmountInput } from './PaymentSubAmountInput';
95
107
  export type { PaymentSubAmountInputProps } from './PaymentSubAmountInput';
96
108
  export { ConfirmDialog } from './ConfirmDialog';
97
109
  export type { ConfirmDialogProps, ConfirmDialogVariant } from './ConfirmDialog';
110
+ export { InlineConfirm } from './InlineConfirm';
111
+ export type { InlineConfirmProps, InlineConfirmVariant, InlineConfirmSize } from './InlineConfirm';
112
+ export { ModalPanels, ModalPanelHeader, useModalPanel, useModalPanels } from './ModalPanels';
113
+ export type { ModalPanelsProps, ModalPanelHeaderProps, ModalPanelState, ModalPanelsController, ModalPanelEntry, } from './ModalPanels';
114
+ export { DiscardGuard, useDiscardGuard, useDiscardGuardActions, useReportUnsavedChanges } from './DiscardGuard';
115
+ export type { DiscardGuardProps, DiscardGuardController, DiscardGuardActions } from './DiscardGuard';
98
116
  export { Summary } from './Summary';
99
117
  export type { SummaryProps, SummaryLineItem, SummaryItemDetail, SummaryServiceFee, SummaryTotalRow, SummaryPostTotalRow, SummaryPrimaryAction, SummaryLabels, } from './Summary';
118
+ export { StepProgress } from './StepProgress';
119
+ export type { StepProgressProps, StepProgressStep, StepProgressLabels } from './StepProgress';
100
120
  export { WizardShell } from './WizardShell';
101
- export type { WizardShellProps, WizardStep, WizardStepState, WizardShellPrimaryAction, WizardShellSecondaryAction, WizardShellTotalRow, WizardShellLabels, } from './WizardShell';
102
- export type { TenderError, DestinationLine, DestinationStatus } from './shared';
121
+ export type { WizardShellProps, WizardStep, WizardStepState, WizardShellPrimaryAction, WizardShellSecondaryAction, WizardShellTotalRow, WizardShellTotalBadge, WizardShellLabels, } from './WizardShell';
122
+ export type { TenderError, DestinationLine, DestinationStatus, RecordTone } from './shared';
103
123
  export { LineItemList } from './LineItemList';
104
124
  export type { LineItemListProps, LineItemView, ItemSelection, LineItemState, LineItemRestockView, ItemDisposition, AmountOnlyView, LineItemListLabels, } from './LineItemList';
105
125
  export { MetaCard } from './MetaCard';
@@ -116,7 +136,47 @@ export { TenderMethods } from './TenderMethods';
116
136
  export type { TenderMethodsProps, TenderView, TenderKind, TenderMethodsLabels } from './TenderMethods';
117
137
  export { SplitTenderPanel } from './SplitTenderPanel';
118
138
  export type { SplitTenderPanelProps, SplitPartView, SplitMethodOption, SplitTenderPanelLabels, } from './SplitTenderPanel';
139
+ export { RefundMethodCards } from './RefundMethodCards';
140
+ export type { RefundMethodCardsProps, RefundMethodCardsLabels, RefundMethodCardsError, RefundMethodView, RefundMethodKind, RefundMethodStatus, RefundMethodOption, RefundMethodAnotherMethod, RefundMethodPaidWith, } from './RefundMethodCards';
141
+ export { RefundProgressList } from './RefundProgressList';
142
+ export type { RefundProgressListProps, RefundProgressListLabels, RefundProgressPart, RefundProgressStatus, RefundProgressAction, } from './RefundProgressList';
119
143
  export { PinField } from './PinField';
120
144
  export type { PinFieldProps, PinFieldLabels } from './PinField';
121
145
  export { OutcomeView } from './OutcomeView';
122
- export type { OutcomeViewProps, OutcomeViewLabels, ReceiptChannel } from './OutcomeView';
146
+ export type { OutcomeViewProps, OutcomeViewLabels, ReceiptChannel, OutcomeViewKind, OutcomePaidWithLine, OutcomeGroup, OutcomeReceiptAction, OutcomeEmailReceipt, OutcomeChangeDue, } from './OutcomeView';
147
+ export { FilterSelect, FilterSelectGroup } from './FilterSelect';
148
+ export type { FilterSelectProps, FilterSelectOption, FilterSelectGroupProps } from './FilterSelect';
149
+ export { LoadMoreFooter } from './LoadMoreFooter';
150
+ export type { LoadMoreFooterProps, LoadMoreStatus } from './LoadMoreFooter';
151
+ export { CardList } from './CardList';
152
+ export type { CardListProps, CardListItem } from './CardList';
153
+ export { RecordHeader } from './RecordHeader';
154
+ export type { RecordHeaderProps, RecordHeaderStat } from './RecordHeader';
155
+ export { RecordLayout } from './RecordLayout';
156
+ export type { RecordLayoutProps } from './RecordLayout';
157
+ export { StatTiles } from './StatTiles';
158
+ export type { StatTilesProps, StatTileItem } from './StatTiles';
159
+ export { PillTabs, pillTabId, pillTabPanelId, pillTabPanelProps } from './PillTabs';
160
+ export type { PillTabsProps, PillTabItem, PillTabsSize } from './PillTabs';
161
+ export { AmountList } from './AmountList';
162
+ export type { AmountListProps, AmountListRow } from './AmountList';
163
+ export { ActivityTimeline } from './ActivityTimeline';
164
+ export type { ActivityTimelineProps, ActivityTimelineEvent } from './ActivityTimeline';
165
+ export { RelatedRecordList } from './RelatedRecordList';
166
+ export type { RelatedRecordListProps, RelatedRecordRow } from './RelatedRecordList';
167
+ export { RecordCard } from './RecordCard';
168
+ export type { RecordCardProps, RecordCardVariant, RecordCardBody, RecordCardSurface } from './RecordCard';
169
+ export { CardStack } from './CardStack';
170
+ export type { CardStackProps, CardStackLayout } from './CardStack';
171
+ export { KeyValueRows } from './KeyValueRows';
172
+ export type { KeyValueRowsProps, KeyValueRow, KeyValueRowsDensity } from './KeyValueRows';
173
+ export { LineItemRows } from './LineItemRows';
174
+ export type { LineItemRowsProps, LineItemRow } from './LineItemRows';
175
+ export { RecordTotals } from './RecordTotals';
176
+ export type { RecordTotalsProps, RecordTotalsRow } from './RecordTotals';
177
+ export { CellText, ChipStack } from './CellText';
178
+ export type { CellTextProps, CellTextVariant, ChipStackProps } from './CellText';
179
+ export { SessionExpiredCard } from './SessionExpiredCard';
180
+ export type { SessionExpiredCardProps } from './SessionExpiredCard';
181
+ export { Notice } from './Notice';
182
+ export type { NoticeProps, NoticeTone, NoticeVariant } from './Notice';
@@ -0,0 +1,2 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function hasContent(node: ReactNode): boolean;
@@ -1 +1,2 @@
1
1
  export type { TenderError, DestinationLine, DestinationStatus } from './types';
2
+ export type { RecordTone } from './recordTone';
@@ -0,0 +1,6 @@
1
+ export declare const POS_REDUCE_MOTION_ATTRIBUTE = "data-pos-reduce-motion";
2
+ export declare const stillTransitionClass = "motion-reduce:transition-none [html[data-pos-reduce-motion=true]_&]:transition-none";
3
+ export declare const stillAnimationClass = "motion-reduce:animate-none [html[data-pos-reduce-motion=true]_&]:animate-none";
4
+ export declare const shimmerClass = "rounded-[0.375rem] bg-[linear-gradient(90deg,#F0F0F1_0,#F9F9FA_12.5rem,#F0F0F1_25rem)] bg-[length:50rem_100%] animate-record-shimmer motion-reduce:animate-none [html[data-pos-reduce-motion=true]_&]:animate-none";
5
+ export declare function prefersReducedMotion(): boolean;
6
+ export declare function useReducedMotion(): boolean;
@@ -0,0 +1,9 @@
1
+ import { CSSProperties } from 'react';
2
+ export type RecordTone = 'ok' | 'warn' | 'danger' | 'info' | 'violet' | 'neutral';
3
+ export interface RecordTonePair {
4
+ fg: string;
5
+ bg: string;
6
+ }
7
+ export declare const RECORD_TONE: Record<RecordTone, RecordTonePair>;
8
+ export type SignedAmountTone = 'positive' | 'negative' | 'neutral';
9
+ export declare function amountToneStyle(tone: SignedAmountTone | undefined): CSSProperties | undefined;
@@ -0,0 +1,4 @@
1
+ export declare const ROOT_FONT_PX = 16;
2
+ export declare const rem: (px: number) => string;
3
+ export declare function rootFontSizePx(): number;
4
+ export declare const atLeastRem: (widthPx: number, rems: number) => boolean;
@@ -0,0 +1,6 @@
1
+ export declare const CONTAINER_MEDIUM = 768;
2
+ export declare const CONTAINER_WIDE = 1120;
3
+ export declare function useContainerWidth<T extends HTMLElement>(): {
4
+ ref: import('react').RefObject<T | null>;
5
+ width: number;
6
+ };
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Keeps the text a cashier typed into a money input separate from the number
3
+ * the host holds.
4
+ *
5
+ * A money input whose display is `String(value)` loses what the cashier is
6
+ * mid-way through typing: `'40.'` parses to `40` and is re-rendered as `'40'`,
7
+ * so the next `0` produces `'400'` and `'40.00'` ends up read as 4000. The hook
8
+ * keeps the typed string and shows it while it still parses to `value` (the
9
+ * echo of the cashier's own keystroke). When the host holds a number the draft
10
+ * does not represent (a reset, a prefill, a host that ignores the keystroke),
11
+ * the input shows `format(value)` instead, so the host stays in control.
12
+ */
13
+ /**
14
+ * Whether `text` is one amount, possibly partial, in a currency with
15
+ * `fractionDigits` minor digits: digits, then at most one `.` or `,` followed
16
+ * by at most `fractionDigits` digits (`''`, `'40'`, `'40.'`, `'40,5'`, `'.5'`).
17
+ * Anything else would show one amount while emitting another, because
18
+ * `parseFloat` reads only a prefix and `,` is the decimal separator: `'40.5.9'`
19
+ * and `'4a'` would emit 40.5 and 4, and `'1,000'` would emit 1. Callers reject
20
+ * such a keystroke instead of storing it, so the input keeps what it showed.
21
+ */
22
+ export declare const isDecimalDraft: (text: string, fractionDigits: number) => boolean;
23
+ /** Parses a typed amount (`'40.5'`, `'40,5'`, `'40.'`); `null` when there is no number yet (`''`, `'.'`, `','`). */
24
+ export declare const parseDecimalDraft: (draft: string) => number | null;
25
+ export interface DecimalDraft {
26
+ /** The text to show in the input. */
27
+ draft: string;
28
+ /** Stores the text the cashier typed. */
29
+ setDraft: (next: string) => void;
30
+ /** Rewrites the draft in its canonical form (`'40.'` → `'40'`) without changing its value. */
31
+ normalize: () => void;
32
+ }
33
+ export declare const useDecimalDraft: (value: number | null | undefined, format: (value: number | null | undefined) => string) => DecimalDraft;
@@ -0,0 +1,7 @@
1
+ export interface PrefillEdits<T> {
2
+ isUntouched: () => boolean;
3
+ markEdited: (emitted: T) => void;
4
+ markUntouched: () => void;
5
+ }
6
+ export declare const usePrefillEdits: <T>(source: T, isSame?: (a: T, b: T) => boolean) => PrefillEdits<T>;
7
+ export declare const useReplaceWhileUntouched: (isUntouched: () => boolean, replace: (text: string) => void) => import('react').RefObject<HTMLInputElement | null>;
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ import { Density } from './density';
3
+ export interface DensityProviderProps {
4
+ density: Density;
5
+ children: ReactNode;
6
+ }
7
+ export declare function DensityProvider({ density, children }: DensityProviderProps): import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,25 @@
1
1
  import { ReactNode } from 'react';
2
2
  interface HeroUIProviderProps {
3
3
  children: ReactNode;
4
+ /**
5
+ * App-wide accessible name for the corner close button of every DS `Modal` and `Drawer`, e.g. `"Fermer"`.
6
+ * HeroUI hard-codes `"Close"`, so a localized app sets this once instead of on each overlay.
7
+ *
8
+ * A `closeLabel` on a `Modal` / `Drawer` wins over it. A nested provider without one inherits the
9
+ * outer provider's. With none anywhere, HeroUI's own button is rendered untouched.
10
+ */
11
+ closeLabel?: string;
12
+ /**
13
+ * BCP 47 locale for the React Aria strings HeroUI renders, e.g. `"fr-FR"`: the hidden "Dismiss"
14
+ * buttons of overlays, date and number formatting. Without it HeroUI uses `"en-US"`.
15
+ */
16
+ locale?: string;
17
+ /**
18
+ * How framer-motion animations (overlays, toasts, tabs) treat the OS "reduce motion" setting.
19
+ * Defaults to `"user"`: follow the OS. HeroUI's own default is `"never"`, which animates regardless.
20
+ * `"always"` drops them everywhere, e.g. for an app-level reduce-motion preference.
21
+ */
22
+ reducedMotion?: 'user' | 'always' | 'never';
4
23
  }
5
- export declare function HeroUIProvider({ children }: HeroUIProviderProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare function HeroUIProvider({ children, closeLabel, locale, reducedMotion }: HeroUIProviderProps): import("react/jsx-runtime").JSX.Element;
6
25
  export {};
@@ -0,0 +1,21 @@
1
+ import { ToastProvider as BaseToastProvider } from '@heroui/react';
2
+ import { ComponentProps, JSX } from 'react';
3
+ export type ToastProviderProps = ComponentProps<typeof BaseToastProvider>;
4
+ /**
5
+ * Drop-in for HeroUI's `ToastProvider` (same props, same `addToast` queue).
6
+ *
7
+ * - Titles wrap instead of truncating.
8
+ * - From `sm` up the toast takes the width its text needs, between 356px and
9
+ * `min(32rem, 100vw - 11rem)`, so it keeps up with a larger root font size.
10
+ * - The close button sits inside the toast, beside the title, always visible,
11
+ * as a 44px target.
12
+ * - A `toastProps.classNames` you pass is merged after these defaults, slot by
13
+ * slot, so it can still restyle any of them.
14
+ * - Animation is off when the OS or the POS asks for reduced motion, unless
15
+ * `disableAnimation` is passed.
16
+ *
17
+ * HeroUI merges an `addToast({ classNames })` over the provider's `classNames`
18
+ * as a whole object, so a per-toast `classNames` drops these defaults for that
19
+ * toast: its title truncates again and its close button floats on the corner.
20
+ */
21
+ export declare function ToastProvider({ toastProps, disableAnimation, ...props }: ToastProviderProps): JSX.Element;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The app-wide default accessible name of an overlay's corner close button.
3
+ *
4
+ * HeroUI renders that button with the literal `aria-label="Close"`, so a French
5
+ * or Spanish screen announces English. `HeroUIProvider` carries a translated
6
+ * label here and the DS `Modal` / `Drawer` read it.
7
+ *
8
+ * A leaf file on purpose: `providers/` and `components/` never import each
9
+ * other. Both import this context, and neither imports the other's barrel.
10
+ * Split from `HeroUIProvider.tsx` so that file exports a component only (fast
11
+ * refresh), as `density.ts` does for the density context.
12
+ *
13
+ * `undefined` means "no app-wide label": the overlay keeps HeroUI's own button
14
+ * and its `"Close"` name untouched.
15
+ */
16
+ export declare const CloseLabelContext: import('react').Context<string | undefined>;
17
+ /** The label of the nearest `HeroUIProvider` that set `closeLabel`; `undefined` outside one. */
18
+ export declare function useCloseLabel(): string | undefined;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The density context and the hooks that read it. Split from
3
+ * `DensityProvider.tsx` so that file exports a component only (fast refresh).
4
+ */
5
+ export type Density = 'default' | 'touch';
6
+ /** The HeroUI control sizes a density maps onto. */
7
+ export type ControlSize = 'sm' | 'md' | 'lg';
8
+ export declare const DensityContext: import('react').Context<Density>;
9
+ /** The density of the nearest `DensityProvider`; `'default'` outside one. */
10
+ export declare function useDensity(): Density;
11
+ /**
12
+ * The HeroUI size for a control whose everyday size is `base`.
13
+ *
14
+ * A component passes the size it has always had and gets `lg` back only under
15
+ * `touch`, so a page that never mounts the provider is untouched.
16
+ */
17
+ export declare function useControlSize<TBase extends ControlSize>(base: TBase): TBase | 'lg';
@@ -1 +1,7 @@
1
1
  export { HeroUIProvider } from './HeroUIProvider';
2
+ export { ToastProvider } from './ToastProvider';
3
+ export type { ToastProviderProps } from './ToastProvider';
4
+ export { DensityProvider } from './DensityProvider';
5
+ export type { DensityProviderProps } from './DensityProvider';
6
+ export { useDensity, useControlSize } from './density';
7
+ export type { Density, ControlSize } from './density';