@common-origin/design-system 2.19.0 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (275) hide show
  1. package/dist/client.js +169 -169
  2. package/dist/client.js.map +1 -1
  3. package/dist/components/atoms/Avatar/Avatar.d.mts +8 -0
  4. package/dist/components/atoms/Avatar/Avatar.mjs +103 -0
  5. package/dist/components/atoms/Avatar/Avatar.mjs.map +1 -0
  6. package/dist/components/atoms/Avatar/index.d.mts +1 -0
  7. package/dist/components/atoms/Badge/Badge.d.mts +25 -0
  8. package/dist/components/atoms/Badge/Badge.mjs +98 -0
  9. package/dist/components/atoms/Badge/Badge.mjs.map +1 -0
  10. package/dist/components/atoms/Badge/index.d.mts +2 -0
  11. package/dist/components/atoms/Box/Box.d.mts +62 -0
  12. package/dist/components/atoms/Box/Box.mjs +246 -0
  13. package/dist/components/atoms/Box/Box.mjs.map +1 -0
  14. package/dist/components/atoms/Box/index.d.mts +1 -0
  15. package/dist/components/atoms/Button/Button.d.mts +40 -0
  16. package/dist/components/atoms/Button/Button.mjs +208 -0
  17. package/dist/components/atoms/Button/Button.mjs.map +1 -0
  18. package/dist/components/atoms/Button/index.d.mts +1 -0
  19. package/dist/components/atoms/CategoryBadge/CategoryBadge.d.mts +29 -0
  20. package/dist/components/atoms/CategoryBadge/CategoryBadge.mjs +29 -0
  21. package/dist/components/atoms/CategoryBadge/CategoryBadge.mjs.map +1 -0
  22. package/dist/components/atoms/CategoryBadge/index.d.mts +2 -0
  23. package/dist/components/atoms/CategoryLabel/CategoryLabel.d.mts +69 -0
  24. package/dist/components/atoms/CategoryLabel/CategoryLabel.mjs +151 -0
  25. package/dist/components/atoms/CategoryLabel/CategoryLabel.mjs.map +1 -0
  26. package/dist/components/atoms/CategoryLabel/index.d.mts +2 -0
  27. package/dist/components/atoms/Chip/BooleanChip.d.mts +28 -0
  28. package/dist/components/atoms/Chip/BooleanChip.mjs +76 -0
  29. package/dist/components/atoms/Chip/BooleanChip.mjs.map +1 -0
  30. package/dist/components/atoms/Chip/Chip.d.mts +37 -0
  31. package/dist/components/atoms/Chip/Chip.mjs +76 -0
  32. package/dist/components/atoms/Chip/Chip.mjs.map +1 -0
  33. package/dist/components/atoms/Chip/FilterChip.d.mts +13 -0
  34. package/dist/components/atoms/Chip/FilterChip.mjs +14 -0
  35. package/dist/components/atoms/Chip/FilterChip.mjs.map +1 -0
  36. package/dist/components/atoms/Chip/InputChip.d.mts +27 -0
  37. package/dist/components/atoms/Chip/InputChip.mjs +97 -0
  38. package/dist/components/atoms/Chip/InputChip.mjs.map +1 -0
  39. package/dist/components/atoms/Chip/index.d.mts +4 -0
  40. package/dist/components/atoms/Chip/shared/ChipBase.d.mts +12 -0
  41. package/dist/components/atoms/Chip/shared/ChipBase.mjs +45 -0
  42. package/dist/components/atoms/Chip/shared/ChipBase.mjs.map +1 -0
  43. package/dist/components/atoms/Chip/shared/types.d.mts +34 -0
  44. package/dist/components/atoms/Chip/shared/utils.d.mts +10 -0
  45. package/dist/components/atoms/Chip/shared/utils.mjs +46 -0
  46. package/dist/components/atoms/Chip/shared/utils.mjs.map +1 -0
  47. package/dist/components/atoms/Container/Container.d.mts +6 -0
  48. package/dist/components/atoms/Container/Container.mjs +24 -0
  49. package/dist/components/atoms/Container/Container.mjs.map +1 -0
  50. package/dist/components/atoms/Container/index.d.mts +1 -0
  51. package/dist/components/atoms/DateFormatter/DateFormatter.d.mts +23 -0
  52. package/dist/components/atoms/DateFormatter/DateFormatter.mjs +64 -0
  53. package/dist/components/atoms/DateFormatter/DateFormatter.mjs.map +1 -0
  54. package/dist/components/atoms/DateFormatter/index.d.mts +1 -0
  55. package/dist/components/atoms/Divider/Divider.d.mts +30 -0
  56. package/dist/components/atoms/Divider/Divider.mjs +134 -0
  57. package/dist/components/atoms/Divider/Divider.mjs.map +1 -0
  58. package/dist/components/atoms/Divider/index.d.mts +1 -0
  59. package/dist/components/atoms/Icon/Icon.d.mts +22 -0
  60. package/dist/components/atoms/Icon/Icon.mjs +95 -0
  61. package/dist/components/atoms/Icon/Icon.mjs.map +1 -0
  62. package/dist/components/atoms/Icon/index.d.mts +1 -0
  63. package/dist/components/atoms/IconButton/IconButton.d.mts +14 -0
  64. package/dist/components/atoms/IconButton/IconButton.mjs +150 -0
  65. package/dist/components/atoms/IconButton/IconButton.mjs.map +1 -0
  66. package/dist/components/atoms/IconButton/index.d.mts +1 -0
  67. package/dist/components/atoms/MoneyDisplay/MoneyDisplay.d.mts +26 -0
  68. package/dist/components/atoms/MoneyDisplay/MoneyDisplay.mjs +126 -0
  69. package/dist/components/atoms/MoneyDisplay/MoneyDisplay.mjs.map +1 -0
  70. package/dist/components/atoms/MoneyDisplay/index.d.mts +2 -0
  71. package/dist/components/atoms/Picture/Picture.d.mts +12 -0
  72. package/dist/components/atoms/Picture/Picture.mjs +65 -0
  73. package/dist/components/atoms/Picture/Picture.mjs.map +1 -0
  74. package/dist/components/atoms/Picture/index.d.mts +1 -0
  75. package/dist/components/atoms/ProgressBar/ProgressBar.d.mts +21 -0
  76. package/dist/components/atoms/ProgressBar/ProgressBar.mjs +91 -0
  77. package/dist/components/atoms/ProgressBar/ProgressBar.mjs.map +1 -0
  78. package/dist/components/atoms/ProgressBar/index.d.mts +2 -0
  79. package/dist/components/atoms/Stack/Stack.d.mts +16 -0
  80. package/dist/components/atoms/Stack/Stack.mjs +71 -0
  81. package/dist/components/atoms/Stack/Stack.mjs.map +1 -0
  82. package/dist/components/atoms/Stack/index.d.mts +1 -0
  83. package/dist/components/atoms/StatusBadge/StatusBadge.d.mts +23 -0
  84. package/dist/components/atoms/StatusBadge/StatusBadge.mjs +18 -0
  85. package/dist/components/atoms/StatusBadge/StatusBadge.mjs.map +1 -0
  86. package/dist/components/atoms/StatusBadge/index.d.mts +2 -0
  87. package/dist/components/atoms/StatusLabel/StatusLabel.d.mts +17 -0
  88. package/dist/components/atoms/StatusLabel/StatusLabel.mjs +28 -0
  89. package/dist/components/atoms/StatusLabel/StatusLabel.mjs.map +1 -0
  90. package/dist/components/atoms/StatusLabel/StatusLabelBase.d.mts +49 -0
  91. package/dist/components/atoms/StatusLabel/StatusLabelBase.mjs +161 -0
  92. package/dist/components/atoms/StatusLabel/StatusLabelBase.mjs.map +1 -0
  93. package/dist/components/atoms/StatusLabel/index.d.mts +2 -0
  94. package/dist/components/atoms/Tag/Tag.d.mts +36 -0
  95. package/dist/components/atoms/Tag/Tag.mjs +115 -0
  96. package/dist/components/atoms/Tag/Tag.mjs.map +1 -0
  97. package/dist/components/atoms/Tag/index.d.mts +2 -0
  98. package/dist/components/atoms/Typography/Typography.d.mts +34 -0
  99. package/dist/components/atoms/Typography/Typography.mjs +139 -0
  100. package/dist/components/atoms/Typography/Typography.mjs.map +1 -0
  101. package/dist/components/atoms/Typography/index.d.mts +1 -0
  102. package/dist/components/atoms/index.d.mts +20 -0
  103. package/dist/components/index.d.mts +4 -0
  104. package/dist/components/layout/GridSystem/GridSystem.d.mts +58 -0
  105. package/dist/components/layout/GridSystem/GridSystem.mjs +221 -0
  106. package/dist/components/layout/GridSystem/GridSystem.mjs.map +1 -0
  107. package/dist/components/layout/GridSystem/index.d.mts +1 -0
  108. package/dist/components/layout/index.d.mts +1 -0
  109. package/dist/components/molecules/AccountCard/AccountCard.d.mts +44 -0
  110. package/dist/components/molecules/AccountCard/AccountCard.mjs +191 -0
  111. package/dist/components/molecules/AccountCard/AccountCard.mjs.map +1 -0
  112. package/dist/components/molecules/AccountCard/index.d.mts +2 -0
  113. package/dist/components/molecules/ActionSheet/ActionSheet.d.mts +111 -0
  114. package/dist/components/molecules/ActionSheet/ActionSheet.mjs +283 -0
  115. package/dist/components/molecules/ActionSheet/ActionSheet.mjs.map +1 -0
  116. package/dist/components/molecules/ActionSheet/index.d.mts +2 -0
  117. package/dist/components/molecules/AgentInput/AgentInput.d.mts +30 -0
  118. package/dist/components/molecules/AgentInput/AgentInput.mjs +735 -0
  119. package/dist/components/molecules/AgentInput/AgentInput.mjs.map +1 -0
  120. package/dist/components/molecules/AgentInput/agentInputSpeech.d.mts +43 -0
  121. package/dist/components/molecules/AgentInput/agentInputSpeech.mjs +49 -0
  122. package/dist/components/molecules/AgentInput/agentInputSpeech.mjs.map +1 -0
  123. package/dist/components/molecules/AgentInput/agentInputStateMachine.d.mts +29 -0
  124. package/dist/components/molecules/AgentInput/agentInputStateMachine.mjs +55 -0
  125. package/dist/components/molecules/AgentInput/agentInputStateMachine.mjs.map +1 -0
  126. package/dist/components/molecules/AgentInput/index.d.mts +3 -0
  127. package/dist/components/molecules/Alert/Alert.d.mts +68 -0
  128. package/dist/components/molecules/Alert/Alert.mjs +284 -0
  129. package/dist/components/molecules/Alert/Alert.mjs.map +1 -0
  130. package/dist/components/molecules/Alert/index.d.mts +1 -0
  131. package/dist/components/molecules/Breadcrumbs/Breadcrumbs.d.mts +16 -0
  132. package/dist/components/molecules/Breadcrumbs/Breadcrumbs.mjs +74 -0
  133. package/dist/components/molecules/Breadcrumbs/Breadcrumbs.mjs.map +1 -0
  134. package/dist/components/molecules/Breadcrumbs/index.d.mts +1 -0
  135. package/dist/components/molecules/CardLarge/CardLarge.d.mts +12 -0
  136. package/dist/components/molecules/CardLarge/CardLarge.mjs +75 -0
  137. package/dist/components/molecules/CardLarge/CardLarge.mjs.map +1 -0
  138. package/dist/components/molecules/CardLarge/index.d.mts +1 -0
  139. package/dist/components/molecules/CardSmall/CardSmall.d.mts +16 -0
  140. package/dist/components/molecules/CardSmall/CardSmall.mjs +73 -0
  141. package/dist/components/molecules/CardSmall/CardSmall.mjs.map +1 -0
  142. package/dist/components/molecules/CardSmall/index.d.mts +1 -0
  143. package/dist/components/molecules/Checkbox/Checkbox.d.mts +64 -0
  144. package/dist/components/molecules/Checkbox/Checkbox.mjs +139 -0
  145. package/dist/components/molecules/Checkbox/Checkbox.mjs.map +1 -0
  146. package/dist/components/molecules/Checkbox/SelectableInputBase.d.mts +40 -0
  147. package/dist/components/molecules/Checkbox/SelectableInputBase.mjs +99 -0
  148. package/dist/components/molecules/Checkbox/SelectableInputBase.mjs.map +1 -0
  149. package/dist/components/molecules/Checkbox/index.d.mts +3 -0
  150. package/dist/components/molecules/ChipGroup/ChipGroup.d.mts +7 -0
  151. package/dist/components/molecules/ChipGroup/ChipGroup.mjs +54 -0
  152. package/dist/components/molecules/ChipGroup/ChipGroup.mjs.map +1 -0
  153. package/dist/components/molecules/ChipGroup/index.d.mts +1 -0
  154. package/dist/components/molecules/CodeBlock/CodeBlock.d.mts +46 -0
  155. package/dist/components/molecules/CodeBlock/CodeBlock.mjs +231 -0
  156. package/dist/components/molecules/CodeBlock/CodeBlock.mjs.map +1 -0
  157. package/dist/components/molecules/CodeBlock/index.d.mts +1 -0
  158. package/dist/components/molecules/DateGroup/DateGroup.d.mts +37 -0
  159. package/dist/components/molecules/DateGroup/DateGroup.mjs +104 -0
  160. package/dist/components/molecules/DateGroup/DateGroup.mjs.map +1 -0
  161. package/dist/components/molecules/DateGroup/index.d.mts +2 -0
  162. package/dist/components/molecules/Dropdown/Dropdown.d.mts +27 -0
  163. package/dist/components/molecules/Dropdown/Dropdown.mjs +282 -0
  164. package/dist/components/molecules/Dropdown/Dropdown.mjs.map +1 -0
  165. package/dist/components/molecules/Dropdown/index.d.mts +1 -0
  166. package/dist/components/molecules/EmptyState/EmptyState.d.mts +32 -0
  167. package/dist/components/molecules/EmptyState/EmptyState.mjs +133 -0
  168. package/dist/components/molecules/EmptyState/EmptyState.mjs.map +1 -0
  169. package/dist/components/molecules/EmptyState/index.d.mts +2 -0
  170. package/dist/components/molecules/FeatureBlock/FeatureBlock.d.mts +14 -0
  171. package/dist/components/molecules/FeatureBlock/FeatureBlock.mjs +99 -0
  172. package/dist/components/molecules/FeatureBlock/FeatureBlock.mjs.map +1 -0
  173. package/dist/components/molecules/FeatureBlock/index.d.mts +1 -0
  174. package/dist/components/molecules/InlineAlert/InlineAlert.d.mts +54 -0
  175. package/dist/components/molecules/InlineAlert/InlineAlert.mjs +140 -0
  176. package/dist/components/molecules/InlineAlert/InlineAlert.mjs.map +1 -0
  177. package/dist/components/molecules/InlineAlert/index.d.mts +2 -0
  178. package/dist/components/molecules/List/List.d.mts +30 -0
  179. package/dist/components/molecules/List/List.mjs +45 -0
  180. package/dist/components/molecules/List/List.mjs.map +1 -0
  181. package/dist/components/molecules/List/ListContext.d.mts +6 -0
  182. package/dist/components/molecules/List/ListContext.mjs +11 -0
  183. package/dist/components/molecules/List/ListContext.mjs.map +1 -0
  184. package/dist/components/molecules/List/ListItem.d.mts +101 -0
  185. package/dist/components/molecules/List/ListItem.mjs +224 -0
  186. package/dist/components/molecules/List/ListItem.mjs.map +1 -0
  187. package/dist/components/molecules/List/index.d.mts +4 -0
  188. package/dist/components/molecules/Modal/Modal.d.mts +69 -0
  189. package/dist/components/molecules/Modal/Modal.mjs +259 -0
  190. package/dist/components/molecules/Modal/Modal.mjs.map +1 -0
  191. package/dist/components/molecules/Modal/index.d.mts +2 -0
  192. package/dist/components/molecules/NumberInput/NumberInput.d.mts +86 -0
  193. package/dist/components/molecules/NumberInput/NumberInput.mjs +268 -0
  194. package/dist/components/molecules/NumberInput/NumberInput.mjs.map +1 -0
  195. package/dist/components/molecules/NumberInput/index.d.mts +2 -0
  196. package/dist/components/molecules/PageTitle/PageTitle.d.mts +21 -0
  197. package/dist/components/molecules/PageTitle/PageTitle.mjs +77 -0
  198. package/dist/components/molecules/PageTitle/PageTitle.mjs.map +1 -0
  199. package/dist/components/molecules/PageTitle/index.d.mts +1 -0
  200. package/dist/components/molecules/PasswordField/PasswordField.d.mts +55 -0
  201. package/dist/components/molecules/PasswordField/PasswordField.mjs +146 -0
  202. package/dist/components/molecules/PasswordField/PasswordField.mjs.map +1 -0
  203. package/dist/components/molecules/PasswordField/index.d.mts +2 -0
  204. package/dist/components/molecules/SearchField/SearchField.d.mts +108 -0
  205. package/dist/components/molecules/SearchField/SearchField.mjs +340 -0
  206. package/dist/components/molecules/SearchField/SearchField.mjs.map +1 -0
  207. package/dist/components/molecules/SearchField/index.d.mts +2 -0
  208. package/dist/components/molecules/Sheet/Sheet.d.mts +96 -0
  209. package/dist/components/molecules/Sheet/Sheet.mjs +243 -0
  210. package/dist/components/molecules/Sheet/Sheet.mjs.map +1 -0
  211. package/dist/components/molecules/Sheet/index.d.mts +2 -0
  212. package/dist/components/molecules/Slider/Slider.d.mts +102 -0
  213. package/dist/components/molecules/Slider/Slider.mjs +462 -0
  214. package/dist/components/molecules/Slider/Slider.mjs.map +1 -0
  215. package/dist/components/molecules/Slider/index.d.mts +2 -0
  216. package/dist/components/molecules/TabBar/TabBar.d.mts +82 -0
  217. package/dist/components/molecules/TabBar/TabBar.mjs +213 -0
  218. package/dist/components/molecules/TabBar/TabBar.mjs.map +1 -0
  219. package/dist/components/molecules/TabBar/index.d.mts +2 -0
  220. package/dist/components/molecules/TextField/InputBase.d.mts +22 -0
  221. package/dist/components/molecules/TextField/InputBase.mjs +56 -0
  222. package/dist/components/molecules/TextField/InputBase.mjs.map +1 -0
  223. package/dist/components/molecules/TextField/TextField.d.mts +56 -0
  224. package/dist/components/molecules/TextField/TextField.mjs +115 -0
  225. package/dist/components/molecules/TextField/TextField.mjs.map +1 -0
  226. package/dist/components/molecules/TextField/index.d.mts +4 -0
  227. package/dist/components/molecules/TransactionListItem/TransactionListItem.d.mts +39 -0
  228. package/dist/components/molecules/TransactionListItem/TransactionListItem.mjs +224 -0
  229. package/dist/components/molecules/TransactionListItem/TransactionListItem.mjs.map +1 -0
  230. package/dist/components/molecules/TransactionListItem/index.d.mts +2 -0
  231. package/dist/components/molecules/index.d.mts +26 -0
  232. package/dist/index.d.mts +3 -0
  233. package/dist/index.mjs +55 -0
  234. package/dist/index.mjs.map +1 -0
  235. package/dist/lib/cssTokens.d.mts +14 -0
  236. package/dist/lib/cssTokens.mjs +19 -0
  237. package/dist/lib/cssTokens.mjs.map +1 -0
  238. package/dist/lib/cssVariables.d.mts +15 -0
  239. package/dist/lib/cssVariables.mjs +37 -0
  240. package/dist/lib/cssVariables.mjs.map +1 -0
  241. package/dist/lib/styleUtils.d.mts +42 -0
  242. package/dist/lib/styleUtils.mjs +160 -0
  243. package/dist/lib/styleUtils.mjs.map +1 -0
  244. package/dist/lib/tokenAliases.d.mts +13 -0
  245. package/dist/lib/tokenAliases.mjs +121 -0
  246. package/dist/lib/tokenAliases.mjs.map +1 -0
  247. package/dist/lib/usePresence.d.mts +16 -0
  248. package/dist/lib/usePresence.mjs +50 -0
  249. package/dist/lib/usePresence.mjs.map +1 -0
  250. package/dist/{data.esm.js → styles/icons.json.mjs} +2 -1466
  251. package/dist/styles/icons.json.mjs.map +1 -0
  252. package/dist/styles/tokens.d.mts +3174 -0
  253. package/dist/styles/tokens.json.mjs +1454 -0
  254. package/dist/{tokens/index.esm.js.map → styles/tokens.json.mjs.map} +1 -1
  255. package/dist/tokens/{index.esm.js → index.mjs} +1 -1
  256. package/dist/tokens/index.mjs.map +1 -0
  257. package/dist/tokens/styles/tokens.d.mts +3174 -0
  258. package/dist/tokens/tokens.d.mts +4 -0
  259. package/dist/tokens/types/tokens.d.mts +6 -0
  260. package/dist/tokens.css.d.mts +4 -0
  261. package/dist/types/icons.d.mts +25 -0
  262. package/dist/types/icons.mjs +10 -0
  263. package/dist/types/icons.mjs.map +1 -0
  264. package/dist/types/index.d.mts +1 -0
  265. package/dist/types/tokens.d.mts +6 -0
  266. package/dist/types/tokens.mjs +10 -0
  267. package/dist/types/tokens.mjs.map +1 -0
  268. package/dist/vendor/tslib/tslib.es6.mjs +99 -0
  269. package/dist/vendor/tslib/tslib.es6.mjs.map +1 -0
  270. package/package.json +26 -12
  271. package/dist/client.esm.js +0 -8289
  272. package/dist/client.esm.js.map +0 -1
  273. package/dist/data.esm.js.map +0 -1
  274. package/dist/index.esm.js +0 -8
  275. package/dist/index.esm.js.map +0 -1
@@ -0,0 +1,221 @@
1
+ 'use client';
2
+ import { __makeTemplateObject } from '../../../vendor/tslib/tslib.es6.mjs';
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import styled$module, { css } from 'styled-components';
5
+ const styled = styled$module.default || styled$module;
6
+ import tokens from '../../../lib/cssTokens.mjs';
7
+
8
+ // Exception to decision 0014: the gap props are typed as base spacing keys (public API),
9
+ // so they are looked up in base.spacing until they accept semantic keys.
10
+ // eslint-disable-next-line no-restricted-syntax
11
+ var gapSpacing = tokens.base.spacing;
12
+ // Breakpoints using base tokens
13
+ var breakpoints = {
14
+ xs: tokens.semantic.breakpoint.xs,
15
+ sm: tokens.semantic.breakpoint.sm,
16
+ md: tokens.semantic.breakpoint.md,
17
+ lg: tokens.semantic.breakpoint.lg,
18
+ xl: tokens.semantic.breakpoint.xl,
19
+ '2xl': tokens.semantic.breakpoint['2xl']
20
+ };
21
+ // Media query helpers
22
+ var media = {
23
+ xs: "@media (min-width: ".concat(breakpoints.xs, ")"),
24
+ sm: "@media (min-width: ".concat(breakpoints.sm, ")"),
25
+ md: "@media (min-width: ".concat(breakpoints.md, ")"),
26
+ lg: "@media (min-width: ".concat(breakpoints.lg, ")"),
27
+ xl: "@media (min-width: ".concat(breakpoints.xl, ")"),
28
+ '2xl': "@media (min-width: ".concat(breakpoints['2xl'], ")")
29
+ };
30
+ var GridContainer = /*#__PURE__*/styled.div.withConfig({
31
+ shouldForwardProp: function shouldForwardProp(prop) {
32
+ return !prop.startsWith('$');
33
+ },
34
+ displayName: "GridSystem__GridContainer",
35
+ componentId: "sc-1lhwjqo-0"
36
+ })(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: grid;\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n \n ", "\n ", "\n ", "\n"], ["\n display: grid;\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n \n ", "\n ", "\n ", "\n"])), function (props) {
37
+ return props.$cols;
38
+ }, function (props) {
39
+ return props.$gap && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["gap: ", ";"], ["gap: ", ";"])), props.$gap);
40
+ }, function (props) {
41
+ return props.$gapX && css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["column-gap: ", ";"], ["column-gap: ", ";"])), props.$gapX);
42
+ }, function (props) {
43
+ return props.$gapY && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["row-gap: ", ";"], ["row-gap: ", ";"])), props.$gapY);
44
+ });
45
+ var Grid = function Grid(_a) {
46
+ var _b = _a.cols,
47
+ cols = _b === void 0 ? 12 : _b,
48
+ gap = _a.gap,
49
+ gapX = _a.gapX,
50
+ gapY = _a.gapY,
51
+ className = _a.className,
52
+ dataTestId = _a["data-testid"],
53
+ children = _a.children;
54
+ return jsx(GridContainer, {
55
+ "$cols": cols,
56
+ "$gap": gap ? gapSpacing[gap] : undefined,
57
+ "$gapX": gapX ? gapSpacing[gapX] : undefined,
58
+ "$gapY": gapY ? gapSpacing[gapY] : undefined,
59
+ className: className,
60
+ "data-testid": dataTestId,
61
+ children: children
62
+ });
63
+ };
64
+ var GridColContainer = /*#__PURE__*/styled.div.withConfig({
65
+ shouldForwardProp: function shouldForwardProp(prop) {
66
+ return !prop.startsWith('$');
67
+ },
68
+ displayName: "GridSystem__GridColContainer",
69
+ componentId: "sc-1lhwjqo-1"
70
+ })(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n ", "\n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n"], ["\n ", "\n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n"])), function (props) {
71
+ return props.$span && css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["grid-column: span ", " / span ", ";"], ["grid-column: span ", " / span ", ";"])), props.$span, props.$span);
72
+ }, function (props) {
73
+ return props.$order !== undefined && css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["order: ", ";"], ["order: ", ";"])), props.$order);
74
+ }, function (props) {
75
+ return props.$spanSm && css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n ", " {\n grid-column: span ", " / span ", ";\n }\n "], ["\n ", " {\n grid-column: span ", " / span ", ";\n }\n "])), media.sm, props.$spanSm, props.$spanSm);
76
+ }, function (props) {
77
+ return props.$spanMd && css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n ", " {\n grid-column: span ", " / span ", ";\n }\n "], ["\n ", " {\n grid-column: span ", " / span ", ";\n }\n "])), media.md, props.$spanMd, props.$spanMd);
78
+ }, function (props) {
79
+ return props.$spanLg && css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n ", " {\n grid-column: span ", " / span ", ";\n }\n "], ["\n ", " {\n grid-column: span ", " / span ", ";\n }\n "])), media.lg, props.$spanLg, props.$spanLg);
80
+ }, function (props) {
81
+ return props.$spanXl && css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n ", " {\n grid-column: span ", " / span ", ";\n }\n "], ["\n ", " {\n grid-column: span ", " / span ", ";\n }\n "])), media.xl, props.$spanXl, props.$spanXl);
82
+ }, function (props) {
83
+ return props.$orderSm !== undefined && css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n ", " {\n order: ", ";\n }\n "], ["\n ", " {\n order: ", ";\n }\n "])), media.sm, props.$orderSm);
84
+ }, function (props) {
85
+ return props.$orderMd !== undefined && css(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n ", " {\n order: ", ";\n }\n "], ["\n ", " {\n order: ", ";\n }\n "])), media.md, props.$orderMd);
86
+ }, function (props) {
87
+ return props.$orderLg !== undefined && css(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n ", " {\n order: ", ";\n }\n "], ["\n ", " {\n order: ", ";\n }\n "])), media.lg, props.$orderLg);
88
+ }, function (props) {
89
+ return props.$orderXl !== undefined && css(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n ", " {\n order: ", ";\n }\n "], ["\n ", " {\n order: ", ";\n }\n "])), media.xl, props.$orderXl);
90
+ });
91
+ var GridCol = function GridCol(_a) {
92
+ var span = _a.span,
93
+ spanSm = _a.spanSm,
94
+ spanMd = _a.spanMd,
95
+ spanLg = _a.spanLg,
96
+ spanXl = _a.spanXl,
97
+ order = _a.order,
98
+ orderSm = _a.orderSm,
99
+ orderMd = _a.orderMd,
100
+ orderLg = _a.orderLg,
101
+ orderXl = _a.orderXl,
102
+ className = _a.className,
103
+ dataTestId = _a["data-testid"],
104
+ children = _a.children;
105
+ return jsx(GridColContainer, {
106
+ "$span": span,
107
+ "$spanSm": spanSm,
108
+ "$spanMd": spanMd,
109
+ "$spanLg": spanLg,
110
+ "$spanXl": spanXl,
111
+ "$order": order,
112
+ "$orderSm": orderSm,
113
+ "$orderMd": orderMd,
114
+ "$orderLg": orderLg,
115
+ "$orderXl": orderXl,
116
+ className: className,
117
+ "data-testid": dataTestId,
118
+ children: children
119
+ });
120
+ };
121
+ var ResponsiveGridContainer = /*#__PURE__*/styled.div.withConfig({
122
+ shouldForwardProp: function shouldForwardProp(prop) {
123
+ return !prop.startsWith('$');
124
+ },
125
+ displayName: "GridSystem__ResponsiveGridContainer",
126
+ componentId: "sc-1lhwjqo-2"
127
+ })(templateObject_35 || (templateObject_35 = __makeTemplateObject(["\n display: grid;\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n \n ", "\n ", "\n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n \n // Responsive gap support\n ", "\n \n ", "\n \n ", "\n \n ", "\n \n // Responsive column gap support\n ", "\n \n ", "\n \n ", "\n \n ", "\n \n // Responsive row gap support\n ", "\n \n ", "\n \n ", "\n \n ", "\n"], ["\n display: grid;\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n \n ", "\n ", "\n ", "\n \n ", "\n \n ", "\n \n ", "\n \n ", "\n \n // Responsive gap support\n ", "\n \n ", "\n \n ", "\n \n ", "\n \n // Responsive column gap support\n ", "\n \n ", "\n \n ", "\n \n ", "\n \n // Responsive row gap support\n ", "\n \n ", "\n \n ", "\n \n ", "\n"])), function (props) {
128
+ return props.$cols;
129
+ }, function (props) {
130
+ return props.$gap && css(templateObject_16 || (templateObject_16 = __makeTemplateObject(["gap: ", ";"], ["gap: ", ";"])), props.$gap);
131
+ }, function (props) {
132
+ return props.$gapX && css(templateObject_17 || (templateObject_17 = __makeTemplateObject(["column-gap: ", ";"], ["column-gap: ", ";"])), props.$gapX);
133
+ }, function (props) {
134
+ return props.$gapY && css(templateObject_18 || (templateObject_18 = __makeTemplateObject(["row-gap: ", ";"], ["row-gap: ", ";"])), props.$gapY);
135
+ }, function (props) {
136
+ return props.$colsSm && css(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n ", " {\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n }\n "], ["\n ", " {\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n }\n "])), media.sm, props.$colsSm);
137
+ }, function (props) {
138
+ return props.$colsMd && css(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n ", " {\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n }\n "], ["\n ", " {\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n }\n "])), media.md, props.$colsMd);
139
+ }, function (props) {
140
+ return props.$colsLg && css(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n ", " {\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n }\n "], ["\n ", " {\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n }\n "])), media.lg, props.$colsLg);
141
+ }, function (props) {
142
+ return props.$colsXl && css(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n ", " {\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n }\n "], ["\n ", " {\n grid-template-columns: repeat(", ", minmax(0, 1fr));\n }\n "])), media.xl, props.$colsXl);
143
+ }, function (props) {
144
+ return props.$gapSm && css(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n ", " {\n gap: ", ";\n }\n "], ["\n ", " {\n gap: ", ";\n }\n "])), media.sm, props.$gapSm);
145
+ }, function (props) {
146
+ return props.$gapMd && css(templateObject_24 || (templateObject_24 = __makeTemplateObject(["\n ", " {\n gap: ", ";\n }\n "], ["\n ", " {\n gap: ", ";\n }\n "])), media.md, props.$gapMd);
147
+ }, function (props) {
148
+ return props.$gapLg && css(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n ", " {\n gap: ", ";\n }\n "], ["\n ", " {\n gap: ", ";\n }\n "])), media.lg, props.$gapLg);
149
+ }, function (props) {
150
+ return props.$gapXl && css(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n ", " {\n gap: ", ";\n }\n "], ["\n ", " {\n gap: ", ";\n }\n "])), media.xl, props.$gapXl);
151
+ }, function (props) {
152
+ return props.$gapXSm && css(templateObject_27 || (templateObject_27 = __makeTemplateObject(["\n ", " {\n column-gap: ", ";\n }\n "], ["\n ", " {\n column-gap: ", ";\n }\n "])), media.sm, props.$gapXSm);
153
+ }, function (props) {
154
+ return props.$gapXMd && css(templateObject_28 || (templateObject_28 = __makeTemplateObject(["\n ", " {\n column-gap: ", ";\n }\n "], ["\n ", " {\n column-gap: ", ";\n }\n "])), media.md, props.$gapXMd);
155
+ }, function (props) {
156
+ return props.$gapXLg && css(templateObject_29 || (templateObject_29 = __makeTemplateObject(["\n ", " {\n column-gap: ", ";\n }\n "], ["\n ", " {\n column-gap: ", ";\n }\n "])), media.lg, props.$gapXLg);
157
+ }, function (props) {
158
+ return props.$gapXXl && css(templateObject_30 || (templateObject_30 = __makeTemplateObject(["\n ", " {\n column-gap: ", ";\n }\n "], ["\n ", " {\n column-gap: ", ";\n }\n "])), media.xl, props.$gapXXl);
159
+ }, function (props) {
160
+ return props.$gapYSm && css(templateObject_31 || (templateObject_31 = __makeTemplateObject(["\n ", " {\n row-gap: ", ";\n }\n "], ["\n ", " {\n row-gap: ", ";\n }\n "])), media.sm, props.$gapYSm);
161
+ }, function (props) {
162
+ return props.$gapYMd && css(templateObject_32 || (templateObject_32 = __makeTemplateObject(["\n ", " {\n row-gap: ", ";\n }\n "], ["\n ", " {\n row-gap: ", ";\n }\n "])), media.md, props.$gapYMd);
163
+ }, function (props) {
164
+ return props.$gapYLg && css(templateObject_33 || (templateObject_33 = __makeTemplateObject(["\n ", " {\n row-gap: ", ";\n }\n "], ["\n ", " {\n row-gap: ", ";\n }\n "])), media.lg, props.$gapYLg);
165
+ }, function (props) {
166
+ return props.$gapYXl && css(templateObject_34 || (templateObject_34 = __makeTemplateObject(["\n ", " {\n row-gap: ", ";\n }\n "], ["\n ", " {\n row-gap: ", ";\n }\n "])), media.xl, props.$gapYXl);
167
+ });
168
+ var ResponsiveGrid = function ResponsiveGrid(_a) {
169
+ var cols = _a.cols,
170
+ colsSm = _a.colsSm,
171
+ colsMd = _a.colsMd,
172
+ colsLg = _a.colsLg,
173
+ colsXl = _a.colsXl,
174
+ gap = _a.gap,
175
+ gapSm = _a.gapSm,
176
+ gapMd = _a.gapMd,
177
+ gapLg = _a.gapLg,
178
+ gapXl = _a.gapXl,
179
+ gapX = _a.gapX,
180
+ gapXSm = _a.gapXSm,
181
+ gapXMd = _a.gapXMd,
182
+ gapXLg = _a.gapXLg,
183
+ gapXXl = _a.gapXXl,
184
+ gapY = _a.gapY,
185
+ gapYSm = _a.gapYSm,
186
+ gapYMd = _a.gapYMd,
187
+ gapYLg = _a.gapYLg,
188
+ gapYXl = _a.gapYXl,
189
+ className = _a.className,
190
+ dataTestId = _a["data-testid"],
191
+ children = _a.children;
192
+ return jsx(ResponsiveGridContainer, {
193
+ "$cols": cols,
194
+ "$colsSm": colsSm,
195
+ "$colsMd": colsMd,
196
+ "$colsLg": colsLg,
197
+ "$colsXl": colsXl,
198
+ "$gap": gap ? gapSpacing[gap] : undefined,
199
+ "$gapSm": gapSm ? gapSpacing[gapSm] : undefined,
200
+ "$gapMd": gapMd ? gapSpacing[gapMd] : undefined,
201
+ "$gapLg": gapLg ? gapSpacing[gapLg] : undefined,
202
+ "$gapXl": gapXl ? gapSpacing[gapXl] : undefined,
203
+ "$gapX": gapX ? gapSpacing[gapX] : undefined,
204
+ "$gapXSm": gapXSm ? gapSpacing[gapXSm] : undefined,
205
+ "$gapXMd": gapXMd ? gapSpacing[gapXMd] : undefined,
206
+ "$gapXLg": gapXLg ? gapSpacing[gapXLg] : undefined,
207
+ "$gapXXl": gapXXl ? gapSpacing[gapXXl] : undefined,
208
+ "$gapY": gapY ? gapSpacing[gapY] : undefined,
209
+ "$gapYSm": gapYSm ? gapSpacing[gapYSm] : undefined,
210
+ "$gapYMd": gapYMd ? gapSpacing[gapYMd] : undefined,
211
+ "$gapYLg": gapYLg ? gapSpacing[gapYLg] : undefined,
212
+ "$gapYXl": gapYXl ? gapSpacing[gapYXl] : undefined,
213
+ className: className,
214
+ "data-testid": dataTestId,
215
+ children: children
216
+ });
217
+ };
218
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32, templateObject_33, templateObject_34, templateObject_35;
219
+
220
+ export { Grid, GridCol, ResponsiveGrid };
221
+ //# sourceMappingURL=GridSystem.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridSystem.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { ResponsiveGrid, GridCol, Grid } from './GridSystem.mjs';
@@ -0,0 +1 @@
1
+ export * from './GridSystem/index.mjs';
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import { type IconName } from '../../atoms/Icon/index.mjs';
3
+ export type AccountType = 'checking' | 'savings' | 'credit' | 'investment' | 'loan';
4
+ export type TrendDirection = 'up' | 'down' | 'neutral';
5
+ export interface AccountCardAction {
6
+ label: string;
7
+ onClick: () => void;
8
+ icon?: IconName;
9
+ variant?: 'primary' | 'secondary' | 'naked';
10
+ }
11
+ export interface AccountCardProps {
12
+ /** Type of account */
13
+ accountType: AccountType;
14
+ /** Display name of the account */
15
+ accountName: string;
16
+ /** Account balance */
17
+ balance: number;
18
+ /** Optional account number (last 4 digits) */
19
+ accountNumber?: string;
20
+ /** Trend direction for balance change */
21
+ trend?: TrendDirection;
22
+ /** Trend value (e.g., percentage or amount) */
23
+ trendValue?: string;
24
+ /** Primary action button */
25
+ action?: AccountCardAction;
26
+ /** Secondary action button */
27
+ secondaryAction?: AccountCardAction;
28
+ /** Currency code */
29
+ currency?: string;
30
+ /** Whether the card should be interactive (clickable) */
31
+ onClick?: () => void;
32
+ /** Test identifier for automated testing */
33
+ 'data-testid'?: string;
34
+ }
35
+ /**
36
+ * AccountCard component
37
+ *
38
+ * Displays account information in a card format with account type icon,
39
+ * name, balance, optional trend indicator, and action buttons. Minimum
40
+ * 300x200px with elevation and hover effects.
41
+ *
42
+ * Composes: Stack, Box, Avatar, Typography, MoneyDisplay, Button
43
+ */
44
+ export declare const AccountCard: React.FC<AccountCardProps>;
@@ -0,0 +1,191 @@
1
+ 'use client';
2
+ import { __makeTemplateObject } from '../../../vendor/tslib/tslib.es6.mjs';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+ import styled$module from 'styled-components';
5
+ const styled = styled$module.default || styled$module;
6
+ import { Stack } from '../../atoms/Stack/Stack.mjs';
7
+ import { Box } from '../../atoms/Box/Box.mjs';
8
+ import { Typography } from '../../atoms/Typography/Typography.mjs';
9
+ import { MoneyDisplay } from '../../atoms/MoneyDisplay/MoneyDisplay.mjs';
10
+ import { Button } from '../../atoms/Button/Button.mjs';
11
+ import { CategoryLabel } from '../../atoms/CategoryLabel/CategoryLabel.mjs';
12
+ import { Avatar } from '../../atoms/Avatar/Avatar.mjs';
13
+ import tokens from '../../../lib/cssTokens.mjs';
14
+
15
+ // Destructure tokens for cleaner access
16
+ var semantic = tokens.semantic;
17
+ var space = semantic.space;
18
+ var StyledBalanceSection = /*#__PURE__*/styled.div.withConfig({
19
+ displayName: "AccountCard__StyledBalanceSection",
20
+ componentId: "sc-1erp7zn-0"
21
+ })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-bottom: ", ";\n"], ["\n margin-bottom: ", ";\n"])), space[400]);
22
+ var StyledTrendSection = /*#__PURE__*/styled.div.withConfig({
23
+ displayName: "AccountCard__StyledTrendSection",
24
+ componentId: "sc-1erp7zn-1"
25
+ })(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n gap: ", ";\n"], ["\n display: flex;\n align-items: center;\n gap: ", ";\n"])), space[100]);
26
+ /*#__PURE__*/styled.div.withConfig({
27
+ displayName: "AccountCard__StyledActions",
28
+ componentId: "sc-1erp7zn-2"
29
+ })(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n gap: ", ";\n margin-top: auto;\n"], ["\n display: flex;\n gap: ", ";\n margin-top: auto;\n"])), space[200]);
30
+ var StyledStackWrapper = /*#__PURE__*/styled.div.withConfig({
31
+ displayName: "AccountCard__StyledStackWrapper",
32
+ componentId: "sc-1erp7zn-3"
33
+ })(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n height: 100%;\n"], ["\n height: 100%;\n"])));
34
+ var StyledHeaderWrapper = /*#__PURE__*/styled.div.withConfig({
35
+ displayName: "AccountCard__StyledHeaderWrapper",
36
+ componentId: "sc-1erp7zn-4"
37
+ })(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n min-height: ", ";\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: ", ";\n\n & > span {\n margin-top: calc(-1 * ", ");\n }\n"], ["\n min-height: ", ";\n display: flex;\n flex-direction: column;\n justify-content: center;\n gap: ", ";\n\n & > span {\n margin-top: calc(-1 * ", ");\n }\n"
38
+ // Map trend direction to icon and color
39
+ ])), tokens.component.accountCard.header.minHeight, space[0], space[100]);
40
+ // Map trend direction to icon and color
41
+ var trendToIcon = {
42
+ up: 'arrowUp',
43
+ down: 'arrowDown',
44
+ neutral: 'arrowRight'
45
+ };
46
+ var trendToColor = {
47
+ up: 'green',
48
+ down: 'red',
49
+ neutral: 'blue'
50
+ };
51
+ /**
52
+ * AccountCard component
53
+ *
54
+ * Displays account information in a card format with account type icon,
55
+ * name, balance, optional trend indicator, and action buttons. Minimum
56
+ * 300x200px with elevation and hover effects.
57
+ *
58
+ * Composes: Stack, Box, Avatar, Typography, MoneyDisplay, Button
59
+ */
60
+ var AccountCard = function AccountCard(_a) {
61
+ var accountName = _a.accountName,
62
+ balance = _a.balance,
63
+ accountNumber = _a.accountNumber,
64
+ trend = _a.trend,
65
+ trendValue = _a.trendValue,
66
+ action = _a.action,
67
+ secondaryAction = _a.secondaryAction,
68
+ _b = _a.currency,
69
+ currency = _b === void 0 ? 'AUD' : _b,
70
+ onClick = _a.onClick,
71
+ dataTestId = _a["data-testid"];
72
+ var isClickable = !!onClick;
73
+ // Get trend icon and color
74
+ var trendIcon = trend ? trendToIcon[trend] : undefined;
75
+ var trendColor = trend ? trendToColor[trend] : undefined;
76
+ var handleClick = function handleClick() {
77
+ if (isClickable && onClick) {
78
+ onClick();
79
+ }
80
+ };
81
+ var handleKeyDown = function handleKeyDown(e) {
82
+ if (isClickable && (e.key === 'Enter' || e.key === ' ')) {
83
+ e.preventDefault();
84
+ onClick === null || onClick === void 0 ? void 0 : onClick();
85
+ }
86
+ };
87
+ return jsx(Box, {
88
+ minWidth: tokens.component.accountCard.minWidth,
89
+ p: "lg",
90
+ bg: "subtle",
91
+ border: "default",
92
+ borderRadius: "xl",
93
+ transition: "box-shadow ".concat(semantic.motion.duration.moderate, " ").concat(semantic.motion.easing.decelerate),
94
+ cursor: isClickable ? 'pointer' : 'default',
95
+ hoverShadow: isClickable ? 'floating' : undefined,
96
+ onClick: handleClick,
97
+ onKeyDown: handleKeyDown,
98
+ tabIndex: isClickable ? 0 : undefined,
99
+ role: isClickable ? 'button' : 'article',
100
+ "aria-label": isClickable ? "".concat(accountName, " account, balance ").concat(balance) : undefined,
101
+ "data-testid": dataTestId,
102
+ children: jsx(StyledStackWrapper, {
103
+ children: jsxs(Stack, {
104
+ direction: "row",
105
+ justifyContent: "space-between",
106
+ children: [jsxs(Stack, {
107
+ direction: "row",
108
+ gap: "md",
109
+ children: [jsx(Avatar, {
110
+ name: accountName,
111
+ size: "lg",
112
+ "data-testid": dataTestId ? "".concat(dataTestId, "-avatar") : undefined
113
+ }), jsxs(Stack, {
114
+ direction: "column",
115
+ justifyContent: "space-between",
116
+ alignItems: "stretch",
117
+ gap: "md",
118
+ children: [jsx(Stack, {
119
+ direction: "row",
120
+ gap: "md",
121
+ alignItems: "center",
122
+ children: jsxs(StyledHeaderWrapper, {
123
+ children: [jsx(Typography, {
124
+ variant: "h4",
125
+ children: accountName
126
+ }), accountNumber && jsxs(Typography, {
127
+ variant: "small",
128
+ color: "subdued",
129
+ children: ["\u2022\u2022\u2022\u2022 ", accountNumber]
130
+ })]
131
+ })
132
+ }), jsx(StyledBalanceSection, {
133
+ children: jsxs(Stack, {
134
+ direction: "row",
135
+ gap: "sm",
136
+ children: [jsx(MoneyDisplay, {
137
+ amount: balance,
138
+ currency: currency,
139
+ size: "medium",
140
+ "data-testid": dataTestId ? "".concat(dataTestId, "-balance") : undefined
141
+ }), jsx(Typography, {
142
+ color: "subdued",
143
+ children: "Available"
144
+ }), trend && trendValue && jsx(StyledTrendSection, {
145
+ "aria-label": "Trend ".concat(trend),
146
+ role: "img",
147
+ children: jsx(CategoryLabel, {
148
+ size: "medium",
149
+ icon: trendIcon,
150
+ color: trendColor,
151
+ variant: "minimal",
152
+ children: trendValue
153
+ })
154
+ })]
155
+ })
156
+ })]
157
+ })]
158
+ }), (action || secondaryAction) && jsxs(Stack, {
159
+ direction: "row",
160
+ gap: "sm",
161
+ justifyContent: "flex-end",
162
+ children: [secondaryAction && jsx(Button, {
163
+ onClick: function onClick(e) {
164
+ e.stopPropagation();
165
+ secondaryAction.onClick();
166
+ },
167
+ variant: secondaryAction.variant || 'secondary',
168
+ iconName: secondaryAction.icon,
169
+ "data-testid": dataTestId ? "".concat(dataTestId, "-secondary-action") : undefined,
170
+ size: "small",
171
+ children: secondaryAction.label
172
+ }), action && jsx(Button, {
173
+ onClick: function onClick(e) {
174
+ e.stopPropagation();
175
+ action.onClick();
176
+ },
177
+ variant: action.variant || 'primary',
178
+ iconName: action.icon,
179
+ "data-testid": dataTestId ? "".concat(dataTestId, "-action") : undefined,
180
+ size: "small",
181
+ children: action.label
182
+ })]
183
+ })]
184
+ })
185
+ })
186
+ });
187
+ };
188
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
189
+
190
+ export { AccountCard };
191
+ //# sourceMappingURL=AccountCard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountCard.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { AccountCard } from './AccountCard.mjs';
2
+ export type { AccountCardProps, AccountType, TrendDirection, AccountCardAction } from './AccountCard.mjs';
@@ -0,0 +1,111 @@
1
+ import React from 'react';
2
+ import { type IconName } from '../../../types/icons.mjs';
3
+ /**
4
+ * Action item for the action sheet
5
+ */
6
+ export interface Action {
7
+ /**
8
+ * Unique identifier
9
+ */
10
+ id: string;
11
+ /**
12
+ * Display label
13
+ */
14
+ label: string;
15
+ /**
16
+ * Optional icon
17
+ */
18
+ icon?: IconName;
19
+ /**
20
+ * Whether this is a destructive action (shown in red)
21
+ * @default false
22
+ */
23
+ destructive?: boolean;
24
+ /**
25
+ * Whether this action is disabled
26
+ * @default false
27
+ */
28
+ disabled?: boolean;
29
+ /**
30
+ * Callback when action is selected
31
+ */
32
+ onSelect: () => void;
33
+ }
34
+ /**
35
+ * Props for the ActionSheet component
36
+ */
37
+ export interface ActionSheetProps {
38
+ /**
39
+ * Whether the action sheet is open
40
+ */
41
+ isOpen: boolean;
42
+ /**
43
+ * Callback when the action sheet should close
44
+ */
45
+ onClose: () => void;
46
+ /**
47
+ * Title of the action sheet
48
+ */
49
+ title?: string;
50
+ /**
51
+ * Optional description
52
+ */
53
+ description?: string;
54
+ /**
55
+ * Array of actions
56
+ */
57
+ actions: Action[];
58
+ /**
59
+ * Whether to close on overlay click
60
+ * @default true
61
+ */
62
+ closeOnOverlayClick?: boolean;
63
+ /**
64
+ * Whether to close on Escape key
65
+ * @default true
66
+ */
67
+ closeOnEscape?: boolean;
68
+ /**
69
+ * Show close button in header
70
+ * @default true
71
+ */
72
+ showCloseButton?: boolean;
73
+ /**
74
+ * Test identifier
75
+ */
76
+ 'data-testid'?: string;
77
+ }
78
+ /**
79
+ * ActionSheet component for bottom sheet modals
80
+ *
81
+ * Displays a modal action sheet that slides up from the bottom,
82
+ * providing a list of actions for the user to choose from.
83
+ * Includes focus trapping, keyboard navigation, and accessibility features.
84
+ *
85
+ * @example
86
+ * ```tsx
87
+ * const [isOpen, setIsOpen] = useState(false)
88
+ *
89
+ * <ActionSheet
90
+ * isOpen={isOpen}
91
+ * onClose={() => setIsOpen(false)}
92
+ * title="Choose an action"
93
+ * actions={[
94
+ * {
95
+ * id: 'edit',
96
+ * label: 'Edit',
97
+ * icon: 'edit',
98
+ * onSelect: () => console.log('Edit')
99
+ * },
100
+ * {
101
+ * id: 'delete',
102
+ * label: 'Delete',
103
+ * icon: 'trash',
104
+ * destructive: true,
105
+ * onSelect: () => console.log('Delete')
106
+ * }
107
+ * ]}
108
+ * />
109
+ * ```
110
+ */
111
+ export declare const ActionSheet: ({ isOpen, onClose, title, description, actions, closeOnOverlayClick, closeOnEscape, showCloseButton, "data-testid": dataTestId }: ActionSheetProps) => React.ReactPortal | null;