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

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 +10761 -6895
  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,35 @@
1
+ import { NoticeTone, NoticeVariant } from './type';
2
+ /**
3
+ * One glyph per tone, on every variant. Solar `bold` so the shape reads at
4
+ * callout size; the danger tone had four different glyphs across the apps
5
+ * before this (HeroUI's own, two Solar outlines and a gravity-ui fill).
6
+ */
7
+ export declare const NOTICE_ICON: Record<NoticeTone, string>;
8
+ export declare const NOTICE_DISMISS_ICON = "solar:close-circle-linear";
9
+ /**
10
+ * Every size is rem (or em off a rem font size), so the POS "Text size"
11
+ * setting, which scales the root font size, scales the notice with it. The
12
+ * values are the design hub's px at a 16px root.
13
+ */
14
+ export declare const noticeClass: Record<NoticeVariant, {
15
+ root: string;
16
+ iconWrapper: string;
17
+ iconSize: string;
18
+ text: string;
19
+ title: string;
20
+ description: string;
21
+ actions: string;
22
+ dismiss: string;
23
+ }>;
24
+ /**
25
+ * Tints. All `pos-*` tokens, the palette the Quick and POS surfaces style
26
+ * with; each text tone clears 4.5:1 on its fill (`pos-surface.test.ts`). The
27
+ * banner discs for danger and warning are the mockup's own tints; info and
28
+ * success have none in the mockup, so their disc is the tone at 15%.
29
+ */
30
+ export declare const noticeTone: Record<NoticeTone, {
31
+ callout: string;
32
+ banner: string;
33
+ disc: string;
34
+ title: string;
35
+ }>;
@@ -0,0 +1,39 @@
1
+ import { ReactNode } from 'react';
2
+ /** Severity. Picks the tint, the glyph and the default live-region role. */
3
+ export type NoticeTone = 'info' | 'success' | 'warning' | 'danger';
4
+ /**
5
+ * Which of the design hub's two notice shapes to draw.
6
+ *
7
+ * `callout` is the inline note of the Quick Donation and Quick Membership
8
+ * mockups (`.callout-info`, `.callout-warn`): a small tinted block, the glyph
9
+ * on the first line, the title run in bold ahead of the text.
10
+ *
11
+ * `banner` is the POS `.banner`: the glyph in a filled disc, the title in the
12
+ * tone on its own line, muted body copy and an action row under it.
13
+ */
14
+ export type NoticeVariant = 'callout' | 'banner';
15
+ export interface NoticeProps {
16
+ /** Severity. Defaults to `info`. */
17
+ tone?: NoticeTone;
18
+ /** `callout` (default) or `banner`. */
19
+ variant?: NoticeVariant;
20
+ /** Short lead: run in bold before the description on a callout, its own line on a banner. */
21
+ title?: ReactNode;
22
+ /** The message. Phrasing content (text, links, `strong`): it shares a line with a callout's title. */
23
+ description?: ReactNode;
24
+ /** Buttons or links, rendered under the text. */
25
+ actions?: ReactNode;
26
+ /** Shows a dismiss button that calls this. The notice does not hide itself: the caller stops rendering it. */
27
+ onDismiss?: () => void;
28
+ /** Accessible name of the dismiss button. Defaults to `"Dismiss"`. */
29
+ dismissLabel?: string;
30
+ /**
31
+ * Live-region role. Defaults to `alert` for `danger` and `warning`, `status`
32
+ * for `info` and `success`; the matching `aria-live` follows it.
33
+ */
34
+ role?: 'alert' | 'status';
35
+ /** Root className, for layout (margins, width). */
36
+ className?: string;
37
+ /** Root test id; the parts are suffixed (`-icon`, `-title`, `-description`, `-actions`, `-dismiss`). */
38
+ 'data-testid'?: string;
39
+ }
@@ -1,2 +1,2 @@
1
1
  export { OutcomeView } from './OutcomeView';
2
- export type { OutcomeViewProps, OutcomeViewLabels, ReceiptChannel } from './types';
2
+ export type { OutcomeViewProps, OutcomeViewLabels, ReceiptChannel, OutcomeViewKind, OutcomePaidWithLine, OutcomeGroup, OutcomeReceiptAction, OutcomeEmailReceipt, OutcomeChangeDue, } from './types';
@@ -3,6 +3,77 @@ import { Money } from '../../utils/money';
3
3
  export type { DestinationLine, DestinationStatus } from '..';
4
4
  export type { Money } from '../../utils/money';
5
5
  export type ReceiptChannel = 'email' | 'print';
6
+ /**
7
+ * Which settled screen this is. Both are the POS `ex` screen's done stage
8
+ * (`.excard .exdone`); they differ in their default copy and in the top
9
+ * block's spacing.
10
+ *
11
+ * - `refund` (default): "Refund complete", `Reason · …`, "Done". Keeps the
12
+ * refund wizard's `4px 0 2px` top block.
13
+ * - `payment`: "Payment complete", "New sale", "Handled by …". Top block
14
+ * flush with the card padding, as `veevart-2-pos-latest` draws it.
15
+ */
16
+ export type OutcomeViewKind = 'refund' | 'payment';
17
+ /** One tender in "Paid with": icon box, method, amount, status pill. */
18
+ export interface OutcomePaidWithLine {
19
+ /** Method name ("Card", "Cash", "Visa •••4242"). */
20
+ label: string;
21
+ amount: Money;
22
+ /** Iconify name for the 34px icon box (`'solar:card-outline'`). Omit for no box. */
23
+ icon?: string;
24
+ /** Pill at the row's end ("Paid", "Pending"). Omit for none. */
25
+ status?: string;
26
+ }
27
+ /** One "Outcome" group: an eyebrow over the things the sale produced. */
28
+ export interface OutcomeGroup {
29
+ /** Eyebrow ("Purchased", "Returned"). */
30
+ label: string;
31
+ /** One chip each ("Observer", "Donation"). */
32
+ items: string[];
33
+ }
34
+ /**
35
+ * A receipt button in the `.rc-row` (Email receipt / Print receipt / Send
36
+ * digital card). The host decides which ones a sale offers.
37
+ */
38
+ export interface OutcomeReceiptAction {
39
+ /** Stable key; also the testid suffix (`-receipt-action-<key>`). */
40
+ key: string;
41
+ label: string;
42
+ /** Iconify name, 16px, before the label. */
43
+ icon?: string;
44
+ onPress: () => void;
45
+ /**
46
+ * The action opens a panel under the row (the email box). `true` draws it
47
+ * pressed and sets `aria-expanded`. Leave `undefined` for a plain action.
48
+ */
49
+ expanded?: boolean;
50
+ isDisabled?: boolean;
51
+ }
52
+ /**
53
+ * The email box under the receipt row (`.rc-emailbox`): recipients as
54
+ * removable chips, a free-text field, and the send button. Controlled: the
55
+ * host owns the list, the draft and the validation.
56
+ */
57
+ export interface OutcomeEmailReceipt {
58
+ emails: string[];
59
+ draft: string;
60
+ onDraftChange: (draft: string) => void;
61
+ /** Enter in the field. The host validates and adds (or flags `isInvalid`). */
62
+ onAddEmail: (draft: string) => void;
63
+ onRemoveEmail: (email: string) => void;
64
+ onSend: () => void;
65
+ /** Danger border on the recipients box. */
66
+ isInvalid?: boolean;
67
+ isSending?: boolean;
68
+ /** Default: disabled while there is no recipient. */
69
+ isSendDisabled?: boolean;
70
+ }
71
+ /** Cash paid over the total: the screen leads with the change instead of the total. */
72
+ export interface OutcomeChangeDue {
73
+ amount: Money;
74
+ /** Muted line under the amount ("Total $19.44 · Cash tendered $20.00"). */
75
+ caption?: string;
76
+ }
6
77
  export interface OutcomeViewLabels {
7
78
  processing?: string;
8
79
  title?: string;
@@ -17,19 +88,55 @@ export interface OutcomeViewLabels {
17
88
  reason?: string;
18
89
  /** `{name}` is replaced with the `authorizedBy` prop. */
19
90
  authorizedBy?: string;
91
+ /** Eyebrow over `paidWith`. Default `'Paid with'`. */
92
+ paidWithTitle?: string;
93
+ /** Eyebrow over `outcomeGroups`. Default `'Outcome'`. */
94
+ outcomeTitle?: string;
95
+ /** Label over the change amount. Default `'Change due'`. */
96
+ changeDue?: string;
97
+ /** Placeholder of the email field. Default `'Add email…'`. */
98
+ emailPlaceholder?: string;
99
+ /** Accessible name of the email field. Default `'Add email address'`. */
100
+ emailAriaLabel?: string;
101
+ /** `{email}` is replaced with the address. Default `'Remove {email}'`. */
102
+ removeEmail?: string;
103
+ /** Send button of the email box. Default `'Send receipt'`. */
104
+ sendEmail?: string;
20
105
  }
21
106
  export interface OutcomeViewProps {
22
107
  state: 'processing' | 'complete';
23
- /** Amount refunded — shown under the spinner, then as the receipt headline. */
108
+ /** See {@link OutcomeViewKind}. Default `'refund'`. */
109
+ kind?: OutcomeViewKind;
110
+ /** Amount refunded or paid — shown under the spinner, then as the receipt headline. */
24
111
  total?: Money;
25
- destinations: DestinationLine[];
112
+ /**
113
+ * Where a refund went, with a per-line status chip. A payment omits it:
114
+ * the section is drawn only when the prop is given.
115
+ */
116
+ destinations?: DestinationLine[];
117
+ /** Muted line under the total ("TXN-10483 · Marcus Chen"). */
118
+ subtitle?: string;
26
119
  /** Refund reason, printed under the total as `Reason · …`. */
27
120
  reason?: string;
28
- /** Who authorized the refund, printed as the receipt's footer line. */
121
+ /** "Paid with" rows. */
122
+ paidWith?: OutcomePaidWithLine[];
123
+ /** "Outcome" groups: what the sale produced, as chips. */
124
+ outcomeGroups?: OutcomeGroup[];
125
+ /** Cash change to hand back. Replaces the title + total block. */
126
+ changeDue?: OutcomeChangeDue;
127
+ /** Who authorized the refund or handled the sale, printed as the footer line. */
29
128
  authorizedBy?: string;
30
129
  /** Receipt channels already chosen, reflected in the row checkboxes. */
31
130
  selectedReceipts?: ReceiptChannel[];
131
+ /** The refund's receipt checkbox rows. Ignored when `receiptActions` is given. */
32
132
  onSendReceipt?: (channel: ReceiptChannel) => void;
133
+ /**
134
+ * Receipt buttons in one row (`.rc-row`), the payment screen's
135
+ * Email / Print / Send digital card. Takes the place of the checkbox rows.
136
+ */
137
+ receiptActions?: OutcomeReceiptAction[];
138
+ /** The email box under the receipt row. Pass it while the email action is expanded. */
139
+ emailReceipt?: OutcomeEmailReceipt;
33
140
  onDone: () => void;
34
141
  /**
35
142
  * Drops the settled state's own `.excard` frame, for hosts that already
@@ -26,6 +26,7 @@ export interface PageHeaderProps {
26
26
  actions?: React.ReactNode;
27
27
  /** Heading level for the title element. Default `'h1'`. */
28
28
  titleAs?: 'h1' | 'h2' | 'h3';
29
+ variant?: 'default' | 'list';
29
30
  className?: string;
30
31
  classNames?: PageHeaderClassNames;
31
32
  'data-testid'?: string;
@@ -3,6 +3,12 @@ export interface PaginationSummaryClassNames {
3
3
  base?: string;
4
4
  emphasis?: string;
5
5
  }
6
+ /** The range `format` receives; `from` and `to` are both 0 when there is nothing to show. */
7
+ export interface PaginationSummaryRange {
8
+ from: number;
9
+ to: number;
10
+ total: number;
11
+ }
6
12
  export interface PaginationSummaryProps {
7
13
  /** Current page, 1-based. */
8
14
  page: number;
@@ -19,6 +25,12 @@ export interface PaginationSummaryProps {
19
25
  * avoid reading the change twice.
20
26
  */
21
27
  announce?: boolean;
28
+ /**
29
+ * Writes the sentence instead of the built-in English "Showing {range} of
30
+ * {total} {unit}". Use it to translate; `unit` and `classNames.emphasis`
31
+ * do not apply, since the returned node is the whole sentence.
32
+ */
33
+ format?: (range: PaginationSummaryRange) => React.ReactNode;
22
34
  className?: string;
23
35
  classNames?: PaginationSummaryClassNames;
24
36
  'data-testid'?: string;
@@ -1,3 +1,3 @@
1
1
  export { PaginationSummary } from './PaginationSummary';
2
- export type { PaginationSummaryProps, PaginationSummaryClassNames } from './PaginationSummary';
2
+ export type { PaginationSummaryProps, PaginationSummaryClassNames, PaginationSummaryRange } from './PaginationSummary';
3
3
  export { pageRange } from './page-range';
@@ -10,6 +10,8 @@ export interface PaymentSubAmountInputProps {
10
10
  defaultValue?: string;
11
11
  /** Fires on every keystroke with the raw string. */
12
12
  onChange?: (next: string) => void;
13
+ /** Fires when the amount field loses focus. */
14
+ onBlur?: () => void;
13
15
  /** Placeholder shown when value is empty (e.g. "$150.00"). */
14
16
  placeholder?: string;
15
17
  isDisabled?: boolean;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { PillTabsProps } from './types';
3
+ export declare const PillTabs: React.FC<PillTabsProps>;
@@ -0,0 +1,9 @@
1
+ export declare const DEFAULT_PILL_TABS_ID = "pill-tabs";
2
+ export declare const pillTabId: (key: string, idPrefix?: string) => string;
3
+ export declare const pillTabPanelId: (key: string, idPrefix?: string) => string;
4
+ export declare const pillTabPanelProps: (key: string, idPrefix?: string) => {
5
+ role: "tabpanel";
6
+ id: string;
7
+ 'aria-labelledby': string;
8
+ tabIndex: number;
9
+ };
@@ -0,0 +1,3 @@
1
+ export { PillTabs } from './PillTabs';
2
+ export { pillTabId, pillTabPanelId, pillTabPanelProps } from './ids';
3
+ export type { PillTabsProps, PillTabItem, PillTabsSize } from './types';
@@ -0,0 +1,20 @@
1
+ import { PillTabsSize } from './types';
2
+ export declare const pillTabsClass: {
3
+ readonly base: "mb-3.5 w-full";
4
+ readonly tabList: "w-full gap-1 rounded-full border border-pos-line bg-default-100 p-1";
5
+ readonly cursor: "rounded-full bg-white shadow-[0_1px_3px_rgba(0,0,0,.10)]";
6
+ readonly tab: "h-auto flex-1 data-[hover-unselected=true]:opacity-100";
7
+ readonly tabStill: "rounded-full data-[selected=true]:bg-white data-[selected=true]:shadow-[0_1px_3px_rgba(0,0,0,.10)]";
8
+ readonly tabContent: "leading-[1.5] font-normal text-default-600 group-data-[selected=true]:font-semibold group-data-[selected=true]:text-default-900";
9
+ readonly title: "flex items-center whitespace-nowrap";
10
+ readonly icon: "flex shrink-0";
11
+ readonly count: "rounded-full bg-default-200 py-px leading-[1.5] font-semibold text-default-600 group-data-[selected=true]:bg-acct-rust-fill group-data-[selected=true]:text-primary-600";
12
+ };
13
+ /** `lg`: 12px above and below a 24px line (16px text) is a 48px tab, in rem so it scales. */
14
+ export declare const pillTabsSizeClass: Record<PillTabsSize, {
15
+ tab: string;
16
+ tabContent: string;
17
+ title: string;
18
+ icon: string;
19
+ count: string;
20
+ }>;
@@ -0,0 +1,21 @@
1
+ import { ReactNode } from 'react';
2
+ export type PillTabsSize = 'md' | 'lg';
3
+ export interface PillTabItem {
4
+ key: string;
5
+ label: string;
6
+ count?: number;
7
+ /** Decorative glyph before the label; hidden from assistive tech, the label names the tab. */
8
+ icon?: ReactNode;
9
+ /** Replaces the derived `<data-testid>-<key>`; the count becomes `<this>-count`. */
10
+ 'data-testid'?: string;
11
+ }
12
+ export interface PillTabsProps {
13
+ items: PillTabItem[];
14
+ value: string;
15
+ onChange: (key: string) => void;
16
+ ariaLabel: string;
17
+ idPrefix?: string;
18
+ /** `md` (default) is the 38px record-page tab; `lg` is the 48px touch target, with larger text. */
19
+ size?: PillTabsSize;
20
+ 'data-testid'?: string;
21
+ }
@@ -1,4 +1,4 @@
1
- import { ButtonProps } from '../../components';
1
+ import { ButtonProps } from '../../../components';
2
2
  /**
3
3
  * Metadata row displayed under the card title.
4
4
  */
@@ -20,6 +20,8 @@ export interface EventDetailsProps {
20
20
  classes?: string;
21
21
  /** @property {boolean} [compact] - Dense spacing mode for compact side layouts. */
22
22
  compact?: boolean;
23
+ /** @property {'stacked' | 'horizontal'} [layout] - Places the image beside content on desktop when horizontal. */
24
+ layout?: 'stacked' | 'horizontal';
23
25
  /** @property {boolean} [showImage] - Optional flag to show or hide the event image. Defaults to true. */
24
26
  showImage?: boolean;
25
27
  /** @property {'lazy' | 'eager'} [imageLoading] - Optional loading strategy for the event image. Use `'lazy'` for off-screen placements (long lists, below-the-fold). Defaults to `'eager'` since the banner is typically above-the-fold. */
@@ -37,5 +39,5 @@ export interface EventDetailsProps {
37
39
  * @function EventDetails
38
40
  * @description Displays a card with event information such as name, image, date, time, location, and description.
39
41
  */
40
- export declare const EventDetails: ({ classes, name, imageUrl, eventDate, eventTime, location, description, showImage, compact, imageLoading, showMoreButtonClassName, labels, }: EventDetailsProps) => JSX.Element;
42
+ export declare const EventDetails: ({ classes, name, imageUrl, eventDate, eventTime, location, description, showImage, compact, layout, imageLoading, showMoreButtonClassName, labels, }: EventDetailsProps) => JSX.Element;
41
43
  export default EventDetails;
@@ -6,7 +6,7 @@ import { OfferCardProps } from './types';
6
6
  * Supports slot-based customization for all rendered elements.
7
7
  */
8
8
  export declare const OfferCard: {
9
- ({ offer, quantity: quantityProp, defaultQuantity, onQuantityChange, currency, locale, labels: customLabels, slots, isDisabled, buttonVariant, buttonColor, showCard, showDescription, showPeopleCount, showPrice, priceDisplay, classNames, "data-testid": dataTestId, selectedColor, compact, isSoldOut: isSoldOutProp, isMaxReached: isMaxReachedProp, isRuleBlocked: isRuleBlockedProp, statusTone: statusToneProp, statusLabel, disabledReason, disabled, }: OfferCardProps): JSX.Element;
9
+ ({ offer, quantity: quantityProp, defaultQuantity, onQuantityChange, currency, locale, labels: customLabels, slots, isDisabled, buttonVariant, buttonColor, showCard, showDescription, showPeopleCount, showPrice, priceDisplay, classNames, "data-testid": dataTestId, selectedColor, selectionMode, compact, isSoldOut: isSoldOutProp, isMaxReached: isMaxReachedProp, isRuleBlocked: isRuleBlockedProp, statusTone: statusToneProp, statusLabel, disabledReason, disabled, }: OfferCardProps): JSX.Element;
10
10
  displayName: string;
11
11
  };
12
12
  export default OfferCard;
@@ -350,6 +350,13 @@ export interface OfferCardProps {
350
350
  * @default 'primary'
351
351
  */
352
352
  selectedColor?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
353
+ /**
354
+ * How an available offer is added to the selection.
355
+ * `press-to-add` makes the whole card add one item and omits the inline
356
+ * stepper. It is useful when a separate order summary owns removal.
357
+ * @default 'stepper'
358
+ */
359
+ selectionMode?: 'stepper' | 'press-to-add';
353
360
  /**
354
361
  * Whether to show the component inside a Card
355
362
  * @default true
@@ -0,0 +1,17 @@
1
+ import { JSX } from 'react';
2
+ export type ProgramListItemStatus = 'open' | 'selling-fast' | 'sold-out';
3
+ export interface ProgramListItemProps {
4
+ title: string;
5
+ subtitle: string;
6
+ price?: string;
7
+ imageUrl?: string;
8
+ status?: ProgramListItemStatus;
9
+ isDisabled?: boolean;
10
+ onPress?(): void;
11
+ className?: string;
12
+ }
13
+ /** Pressable Programs catalog row for POS list mode. */
14
+ export declare function ProgramListItem({ title, subtitle, price, imageUrl, status, isDisabled, onPress, className }: ProgramListItemProps): JSX.Element;
15
+ export declare namespace ProgramListItem {
16
+ var displayName: string;
17
+ }
@@ -0,0 +1,2 @@
1
+ export { ProgramListItem } from './ProgramListItem';
2
+ export type { ProgramListItemProps, ProgramListItemStatus } from './ProgramListItem';
@@ -0,0 +1,5 @@
1
+ export * from './CatalogItemCard';
2
+ export * from './EventDetails';
3
+ export * from './OfferCard';
4
+ export * from './ProgramListItem';
5
+ export * from './SessionTimeline';
@@ -11,6 +11,7 @@ export interface ReasonSelectProps {
11
11
  value: string | null;
12
12
  onChange: (id: string) => void;
13
13
  error?: string;
14
+ isRequired?: boolean;
14
15
  labels?: ReasonSelectLabels;
15
16
  className?: string;
16
17
  'data-testid'?: string;
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { RecordCardProps } from './types';
3
+ export declare const RecordCard: React.FC<RecordCardProps>;
@@ -0,0 +1,2 @@
1
+ export { RecordCard } from './RecordCard';
2
+ export type { RecordCardProps, RecordCardVariant, RecordCardBody, RecordCardSurface } from './types';
@@ -0,0 +1,16 @@
1
+ import { RecordCardBody, RecordCardSurface, RecordCardVariant } from './types';
2
+ export declare const recordCardShadow = "shadow-[0_1px_4px_rgba(0,0,0,.06),0_4px_12px_rgba(0,0,0,.06)]";
3
+ export declare const recordCardClass: {
4
+ readonly base: "overflow-hidden rounded-2xl border border-pos-line bg-white";
5
+ readonly title: "m-0 min-w-0 text-[0.90625rem] font-semibold text-default-900 [overflow-wrap:anywhere]";
6
+ readonly count: "rounded-full bg-default-100 px-2 py-px text-[0.75rem] font-semibold text-default-600";
7
+ readonly icon: "flex shrink-0 text-default-500 [&_svg]:size-[1.125rem]";
8
+ readonly action: "ml-auto";
9
+ readonly description: "m-0 text-[0.84375rem] leading-[1.55] text-default-500 [&_b]:font-bold [&_b]:tabular-nums [&_b]:text-default-900";
10
+ readonly footer: "flex flex-wrap gap-2";
11
+ readonly footerAfterContent: "mt-[0.875rem]";
12
+ readonly footerAfterDescription: "mt-3";
13
+ };
14
+ export declare const recordCardSurfaceClass: Record<RecordCardSurface, string>;
15
+ export declare const recordCardHeaderClass: Record<RecordCardVariant, string>;
16
+ export declare const recordCardBodyClass: Record<RecordCardVariant, Record<RecordCardBody, string>>;
@@ -0,0 +1,22 @@
1
+ import { ReactNode } from 'react';
2
+ export type RecordCardVariant = 'section' | 'aside';
3
+ export type RecordCardBody = 'padded' | 'rows' | 'flush' | 'none';
4
+ /** `card` sits on a grey page with the layered shadow; `flat` keeps the border and drops the shadow, for a card inside a modal. */
5
+ export type RecordCardSurface = 'card' | 'flat';
6
+ export interface RecordCardProps {
7
+ title?: ReactNode;
8
+ titleAs?: 'h2' | 'h3' | 'h4';
9
+ icon?: ReactNode;
10
+ count?: ReactNode;
11
+ badge?: ReactNode;
12
+ action?: ReactNode;
13
+ description?: ReactNode;
14
+ footer?: ReactNode;
15
+ variant?: RecordCardVariant;
16
+ body?: RecordCardBody;
17
+ surface?: RecordCardSurface;
18
+ /** Merged onto the root, after the chrome (e.g. `break-inside-avoid` in a multi-column host). */
19
+ className?: string;
20
+ children?: ReactNode;
21
+ 'data-testid'?: string;
22
+ }
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { RecordHeaderProps } from './types';
3
+ export declare const RecordHeader: React.FC<RecordHeaderProps>;
@@ -0,0 +1,2 @@
1
+ export { RecordHeader } from './RecordHeader';
2
+ export type { RecordHeaderProps, RecordHeaderStat } from './types';
@@ -0,0 +1,43 @@
1
+ export declare const RECORD_HEADER_WIDE_REM = 48;
2
+ export declare const recordHeaderClass: {
3
+ readonly base: "mb-4 overflow-hidden rounded-2xl border border-pos-line bg-white shadow-[0_1px_4px_rgba(0,0,0,.06),0_4px_12px_rgba(0,0,0,.06)]";
4
+ readonly band: "flex items-center gap-2.5 border-b border-pos-hair bg-pos-page px-4 py-2.5";
5
+ readonly back: "inline-flex size-[1.625rem] shrink-0 items-center justify-center rounded-[0.625rem] text-default-500 outline-none transition-colors hover:bg-default-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-primary motion-reduce:transition-none [html[data-pos-reduce-motion=true]_&]:transition-none";
6
+ readonly backIcon: "size-[0.875rem]";
7
+ readonly breadcrumb: "min-w-0 flex-1";
8
+ readonly breadcrumbList: "flex-nowrap gap-[0.375rem]";
9
+ readonly crumbBase: "min-w-0";
10
+ readonly crumb: "whitespace-nowrap text-[0.875rem] text-default-500 data-[disabled=true]:opacity-100 data-[current=true]:overflow-hidden data-[current=true]:font-normal data-[current=true]:text-default-900";
11
+ readonly crumbSeparator: "ms-[0.375rem] px-0 text-default-400 data-[disabled=true]:opacity-100";
12
+ readonly body: "flex flex-wrap gap-5";
13
+ readonly bodyWide: "px-5 pb-5 pt-[1.125rem]";
14
+ readonly bodyNarrow: "p-4";
15
+ readonly identity: "min-w-0 flex-[1_1_18.75rem]";
16
+ readonly title: "m-0 font-semibold tracking-[-.02em] text-default-900 [overflow-wrap:anywhere]";
17
+ readonly titleWide: "text-[1.5rem]";
18
+ readonly titleNarrow: "text-[1.3125rem]";
19
+ readonly meta: "m-0 mt-[0.6875rem] flex list-none flex-col gap-[0.4375rem] p-0";
20
+ readonly metaLine: "flex min-w-0 items-center gap-[0.5625rem] text-[0.84375rem] text-default-700";
21
+ readonly metaIcon: "flex shrink-0 text-default-400 [&_svg]:size-[0.9375rem]";
22
+ readonly metaText: "min-w-0 truncate";
23
+ readonly money: "flex flex-col gap-[0.3125rem]";
24
+ readonly moneyWide: "ml-auto min-w-[12.5rem] flex-none items-end text-right";
25
+ readonly moneyNarrow: "w-full items-start text-left";
26
+ readonly amountLabel: "text-[0.8125rem] text-default-500";
27
+ readonly amount: "whitespace-nowrap font-bold tracking-[-.03em] tabular-nums text-default-900";
28
+ readonly amountWide: "text-[1.9375rem] leading-[1.1]";
29
+ readonly amountNarrow: "text-[1.6875rem] leading-[1.1]";
30
+ readonly amountCaption: "text-[0.8125rem] text-default-500";
31
+ readonly recordId: "text-[0.8125rem] text-default-500";
32
+ readonly chips: "mt-[0.1875rem] flex flex-wrap gap-1.5";
33
+ readonly chipsWide: "justify-end";
34
+ readonly chipsNarrow: "justify-start";
35
+ readonly statItems: "m-0 mt-2.5 flex flex-wrap gap-[1.375rem]";
36
+ readonly stat: "flex flex-col-reverse";
37
+ readonly statWide: "text-right";
38
+ readonly statNarrow: "text-left";
39
+ readonly statValue: "m-0 text-[0.9375rem] font-bold tabular-nums text-default-900";
40
+ readonly statLabel: "mt-0.5 text-[0.75rem] text-default-500";
41
+ readonly statsWide: "px-5 pb-5";
42
+ readonly statsNarrow: "px-4 pb-4";
43
+ };
@@ -0,0 +1,30 @@
1
+ import { ReactNode } from 'react';
2
+ import { RecordTone } from '../shared/recordTone';
3
+ export interface RecordHeaderStat {
4
+ id?: string;
5
+ label: ReactNode;
6
+ value: ReactNode;
7
+ tone?: RecordTone;
8
+ }
9
+ export interface RecordHeaderProps {
10
+ breadcrumb?: Array<{
11
+ label: string;
12
+ onClick?: () => void;
13
+ }>;
14
+ onBack?: () => void;
15
+ backLabel: string;
16
+ title: ReactNode;
17
+ meta?: Array<{
18
+ icon?: ReactNode;
19
+ text: ReactNode;
20
+ }>;
21
+ amountLabel?: string;
22
+ amount?: ReactNode;
23
+ amountCaption?: ReactNode;
24
+ recordId?: ReactNode;
25
+ chips?: ReactNode;
26
+ statItems?: RecordHeaderStat[];
27
+ stats?: ReactNode;
28
+ banner?: ReactNode;
29
+ 'data-testid'?: string;
30
+ }
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ import { RecordLayoutProps } from './types';
3
+ export declare const RecordLayout: React.FC<RecordLayoutProps>;
@@ -0,0 +1,2 @@
1
+ export { RecordLayout } from './RecordLayout';
2
+ export type { RecordLayoutProps } from './types';
@@ -0,0 +1,8 @@
1
+ export declare const RECORD_LAYOUT_SPLIT_REM = 50;
2
+ export declare const recordLayoutClass: {
3
+ readonly base: "grid items-start gap-4";
4
+ readonly split: "grid-cols-[minmax(0,1fr)_23.25rem]";
5
+ readonly stacked: "grid-cols-[minmax(0,1fr)]";
6
+ readonly column: "min-w-0";
7
+ readonly aside: "flex min-w-0 flex-col gap-[0.875rem]";
8
+ };
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ export interface RecordLayoutProps {
3
+ children: ReactNode;
4
+ aside?: ReactNode;
5
+ 'data-testid'?: string;
6
+ }
@@ -0,0 +1,19 @@
1
+ import { default as React } from 'react';
2
+ import { SignedAmountTone } from '../shared/recordTone';
3
+ export interface RecordTotalsRow {
4
+ id: string;
5
+ label: React.ReactNode;
6
+ note?: React.ReactNode;
7
+ value: React.ReactNode;
8
+ tone?: SignedAmountTone;
9
+ }
10
+ export interface RecordTotalsProps {
11
+ rows: RecordTotalsRow[];
12
+ total: {
13
+ label: React.ReactNode;
14
+ value: React.ReactNode;
15
+ };
16
+ memo?: React.ReactNode;
17
+ 'data-testid'?: string;
18
+ }
19
+ export declare const RecordTotals: React.FC<RecordTotalsProps>;
@@ -0,0 +1,2 @@
1
+ export { RecordTotals } from './RecordTotals';
2
+ export type { RecordTotalsProps, RecordTotalsRow } from './RecordTotals';
@@ -0,0 +1,19 @@
1
+ export declare const RECORD_TOTALS_WIDE_REM = 37.5;
2
+ export declare const recordTotalsClass: {
3
+ readonly base: "mx-5 border-t border-pos-hair pb-[1.125rem] pt-2.5";
4
+ readonly rowWide: "flex items-baseline gap-4";
5
+ readonly rowNarrow: "flex flex-wrap items-baseline gap-x-3";
6
+ readonly labelWide: "shrink-0 grow-0 basis-[11.875rem]";
7
+ readonly labelNarrow: "flex-auto";
8
+ readonly noteWide: "min-w-0 flex-1";
9
+ readonly noteNarrow: "order-3 mt-px basis-full";
10
+ readonly row: "py-2";
11
+ readonly label: "text-[0.875rem] text-default-900";
12
+ readonly note: "text-[0.8125rem] text-default-500";
13
+ readonly value: "ml-auto shrink-0 whitespace-nowrap text-right text-[0.875rem] tabular-nums text-default-900";
14
+ readonly totalRule: "mt-1.5 border-t border-pos-line";
15
+ readonly totalRow: "pt-3";
16
+ readonly totalLabel: "text-[0.9375rem] font-bold text-default-900";
17
+ readonly totalValue: "ml-auto shrink-0 whitespace-nowrap text-right text-[1.0625rem] font-bold tabular-nums text-default-900";
18
+ readonly memo: "mt-2 text-[0.78125rem] leading-[1.6] text-default-500";
19
+ };
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+ import { RefundMethodCardsProps } from './types';
3
+ export declare const RefundMethodCards: React.FC<RefundMethodCardsProps>;
4
+ export default RefundMethodCards;