@common-origin/design-system 2.18.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.
- package/dist/client.js +1122 -785
- package/dist/client.js.map +1 -1
- package/dist/components/atoms/Avatar/Avatar.d.mts +8 -0
- package/dist/components/atoms/Avatar/Avatar.mjs +103 -0
- package/dist/components/atoms/Avatar/Avatar.mjs.map +1 -0
- package/dist/components/atoms/Avatar/index.d.mts +1 -0
- package/dist/components/atoms/Badge/Badge.d.mts +25 -0
- package/dist/components/atoms/Badge/Badge.mjs +98 -0
- package/dist/components/atoms/Badge/Badge.mjs.map +1 -0
- package/dist/components/atoms/Badge/index.d.mts +2 -0
- package/dist/components/atoms/Box/Box.d.mts +62 -0
- package/dist/components/atoms/Box/Box.mjs +246 -0
- package/dist/components/atoms/Box/Box.mjs.map +1 -0
- package/dist/components/atoms/Box/index.d.mts +1 -0
- package/dist/components/atoms/Button/Button.d.mts +40 -0
- package/dist/components/atoms/Button/Button.mjs +208 -0
- package/dist/components/atoms/Button/Button.mjs.map +1 -0
- package/dist/components/atoms/Button/index.d.mts +1 -0
- package/dist/components/atoms/CategoryBadge/CategoryBadge.d.mts +29 -0
- package/dist/components/atoms/CategoryBadge/CategoryBadge.mjs +29 -0
- package/dist/components/atoms/CategoryBadge/CategoryBadge.mjs.map +1 -0
- package/dist/components/atoms/CategoryBadge/index.d.mts +2 -0
- package/dist/components/atoms/CategoryLabel/CategoryLabel.d.mts +69 -0
- package/dist/components/atoms/CategoryLabel/CategoryLabel.mjs +151 -0
- package/dist/components/atoms/CategoryLabel/CategoryLabel.mjs.map +1 -0
- package/dist/components/atoms/CategoryLabel/index.d.mts +2 -0
- package/dist/components/atoms/Chip/BooleanChip.d.mts +28 -0
- package/dist/components/atoms/Chip/BooleanChip.mjs +76 -0
- package/dist/components/atoms/Chip/BooleanChip.mjs.map +1 -0
- package/dist/components/atoms/Chip/Chip.d.mts +37 -0
- package/dist/components/atoms/Chip/Chip.mjs +76 -0
- package/dist/components/atoms/Chip/Chip.mjs.map +1 -0
- package/dist/components/atoms/Chip/FilterChip.d.mts +13 -0
- package/dist/components/atoms/Chip/FilterChip.mjs +14 -0
- package/dist/components/atoms/Chip/FilterChip.mjs.map +1 -0
- package/dist/components/atoms/Chip/InputChip.d.mts +27 -0
- package/dist/components/atoms/Chip/InputChip.mjs +97 -0
- package/dist/components/atoms/Chip/InputChip.mjs.map +1 -0
- package/dist/components/atoms/Chip/index.d.mts +4 -0
- package/dist/components/atoms/Chip/shared/ChipBase.d.mts +12 -0
- package/dist/components/atoms/Chip/shared/ChipBase.mjs +45 -0
- package/dist/components/atoms/Chip/shared/ChipBase.mjs.map +1 -0
- package/dist/components/atoms/Chip/shared/types.d.mts +34 -0
- package/dist/components/atoms/Chip/shared/types.d.ts +3 -1
- package/dist/components/atoms/Chip/shared/utils.d.mts +10 -0
- package/dist/components/atoms/Chip/shared/utils.d.ts +2 -3
- package/dist/components/atoms/Chip/shared/utils.mjs +46 -0
- package/dist/components/atoms/Chip/shared/utils.mjs.map +1 -0
- package/dist/components/atoms/Container/Container.d.mts +6 -0
- package/dist/components/atoms/Container/Container.mjs +24 -0
- package/dist/components/atoms/Container/Container.mjs.map +1 -0
- package/dist/components/atoms/Container/index.d.mts +1 -0
- package/dist/components/atoms/DateFormatter/DateFormatter.d.mts +23 -0
- package/dist/components/atoms/DateFormatter/DateFormatter.mjs +64 -0
- package/dist/components/atoms/DateFormatter/DateFormatter.mjs.map +1 -0
- package/dist/components/atoms/DateFormatter/index.d.mts +1 -0
- package/dist/components/atoms/Divider/Divider.d.mts +30 -0
- package/dist/components/atoms/Divider/Divider.mjs +134 -0
- package/dist/components/atoms/Divider/Divider.mjs.map +1 -0
- package/dist/components/atoms/Divider/index.d.mts +1 -0
- package/dist/components/atoms/Icon/Icon.d.mts +22 -0
- package/dist/components/atoms/Icon/Icon.mjs +95 -0
- package/dist/components/atoms/Icon/Icon.mjs.map +1 -0
- package/dist/components/atoms/Icon/index.d.mts +1 -0
- package/dist/components/atoms/IconButton/IconButton.d.mts +14 -0
- package/dist/components/atoms/IconButton/IconButton.mjs +150 -0
- package/dist/components/atoms/IconButton/IconButton.mjs.map +1 -0
- package/dist/components/atoms/IconButton/index.d.mts +1 -0
- package/dist/components/atoms/MoneyDisplay/MoneyDisplay.d.mts +26 -0
- package/dist/components/atoms/MoneyDisplay/MoneyDisplay.mjs +126 -0
- package/dist/components/atoms/MoneyDisplay/MoneyDisplay.mjs.map +1 -0
- package/dist/components/atoms/MoneyDisplay/index.d.mts +2 -0
- package/dist/components/atoms/Picture/Picture.d.mts +12 -0
- package/dist/components/atoms/Picture/Picture.mjs +65 -0
- package/dist/components/atoms/Picture/Picture.mjs.map +1 -0
- package/dist/components/atoms/Picture/index.d.mts +1 -0
- package/dist/components/atoms/ProgressBar/ProgressBar.d.mts +21 -0
- package/dist/components/atoms/ProgressBar/ProgressBar.mjs +91 -0
- package/dist/components/atoms/ProgressBar/ProgressBar.mjs.map +1 -0
- package/dist/components/atoms/ProgressBar/index.d.mts +2 -0
- package/dist/components/atoms/Stack/Stack.d.mts +16 -0
- package/dist/components/atoms/Stack/Stack.mjs +71 -0
- package/dist/components/atoms/Stack/Stack.mjs.map +1 -0
- package/dist/components/atoms/Stack/index.d.mts +1 -0
- package/dist/components/atoms/StatusBadge/StatusBadge.d.mts +23 -0
- package/dist/components/atoms/StatusBadge/StatusBadge.mjs +18 -0
- package/dist/components/atoms/StatusBadge/StatusBadge.mjs.map +1 -0
- package/dist/components/atoms/StatusBadge/index.d.mts +2 -0
- package/dist/components/atoms/StatusLabel/StatusLabel.d.mts +17 -0
- package/dist/components/atoms/StatusLabel/StatusLabel.mjs +28 -0
- package/dist/components/atoms/StatusLabel/StatusLabel.mjs.map +1 -0
- package/dist/components/atoms/StatusLabel/StatusLabelBase.d.mts +49 -0
- package/dist/components/atoms/StatusLabel/StatusLabelBase.mjs +161 -0
- package/dist/components/atoms/StatusLabel/StatusLabelBase.mjs.map +1 -0
- package/dist/components/atoms/StatusLabel/index.d.mts +2 -0
- package/dist/components/atoms/Tag/Tag.d.mts +36 -0
- package/dist/components/atoms/Tag/Tag.mjs +115 -0
- package/dist/components/atoms/Tag/Tag.mjs.map +1 -0
- package/dist/components/atoms/Tag/index.d.mts +2 -0
- package/dist/components/atoms/Typography/Typography.d.mts +34 -0
- package/dist/components/atoms/Typography/Typography.mjs +139 -0
- package/dist/components/atoms/Typography/Typography.mjs.map +1 -0
- package/dist/components/atoms/Typography/index.d.mts +1 -0
- package/dist/components/atoms/index.d.mts +20 -0
- package/dist/components/index.d.mts +4 -0
- package/dist/components/layout/GridSystem/GridSystem.d.mts +58 -0
- package/dist/components/layout/GridSystem/GridSystem.mjs +221 -0
- package/dist/components/layout/GridSystem/GridSystem.mjs.map +1 -0
- package/dist/components/layout/GridSystem/index.d.mts +1 -0
- package/dist/components/layout/index.d.mts +1 -0
- package/dist/components/molecules/AccountCard/AccountCard.d.mts +44 -0
- package/dist/components/molecules/AccountCard/AccountCard.mjs +191 -0
- package/dist/components/molecules/AccountCard/AccountCard.mjs.map +1 -0
- package/dist/components/molecules/AccountCard/index.d.mts +2 -0
- package/dist/components/molecules/ActionSheet/ActionSheet.d.mts +111 -0
- package/dist/components/molecules/ActionSheet/ActionSheet.mjs +283 -0
- package/dist/components/molecules/ActionSheet/ActionSheet.mjs.map +1 -0
- package/dist/components/molecules/ActionSheet/index.d.mts +2 -0
- package/dist/components/molecules/AgentInput/AgentInput.d.mts +30 -0
- package/dist/components/molecules/AgentInput/AgentInput.mjs +735 -0
- package/dist/components/molecules/AgentInput/AgentInput.mjs.map +1 -0
- package/dist/components/molecules/AgentInput/agentInputSpeech.d.mts +43 -0
- package/dist/components/molecules/AgentInput/agentInputSpeech.mjs +49 -0
- package/dist/components/molecules/AgentInput/agentInputSpeech.mjs.map +1 -0
- package/dist/components/molecules/AgentInput/agentInputStateMachine.d.mts +29 -0
- package/dist/components/molecules/AgentInput/agentInputStateMachine.mjs +55 -0
- package/dist/components/molecules/AgentInput/agentInputStateMachine.mjs.map +1 -0
- package/dist/components/molecules/AgentInput/index.d.mts +3 -0
- package/dist/components/molecules/Alert/Alert.d.mts +68 -0
- package/dist/components/molecules/Alert/Alert.mjs +284 -0
- package/dist/components/molecules/Alert/Alert.mjs.map +1 -0
- package/dist/components/molecules/Alert/index.d.mts +1 -0
- package/dist/components/molecules/Breadcrumbs/Breadcrumbs.d.mts +16 -0
- package/dist/components/molecules/Breadcrumbs/Breadcrumbs.mjs +74 -0
- package/dist/components/molecules/Breadcrumbs/Breadcrumbs.mjs.map +1 -0
- package/dist/components/molecules/Breadcrumbs/index.d.mts +1 -0
- package/dist/components/molecules/CardLarge/CardLarge.d.mts +12 -0
- package/dist/components/molecules/CardLarge/CardLarge.mjs +75 -0
- package/dist/components/molecules/CardLarge/CardLarge.mjs.map +1 -0
- package/dist/components/molecules/CardLarge/index.d.mts +1 -0
- package/dist/components/molecules/CardSmall/CardSmall.d.mts +16 -0
- package/dist/components/molecules/CardSmall/CardSmall.mjs +73 -0
- package/dist/components/molecules/CardSmall/CardSmall.mjs.map +1 -0
- package/dist/components/molecules/CardSmall/index.d.mts +1 -0
- package/dist/components/molecules/Checkbox/Checkbox.d.mts +64 -0
- package/dist/components/molecules/Checkbox/Checkbox.mjs +139 -0
- package/dist/components/molecules/Checkbox/Checkbox.mjs.map +1 -0
- package/dist/components/molecules/Checkbox/SelectableInputBase.d.mts +40 -0
- package/dist/components/molecules/Checkbox/SelectableInputBase.mjs +99 -0
- package/dist/components/molecules/Checkbox/SelectableInputBase.mjs.map +1 -0
- package/dist/components/molecules/Checkbox/index.d.mts +3 -0
- package/dist/components/molecules/ChipGroup/ChipGroup.d.mts +7 -0
- package/dist/components/molecules/ChipGroup/ChipGroup.mjs +54 -0
- package/dist/components/molecules/ChipGroup/ChipGroup.mjs.map +1 -0
- package/dist/components/molecules/ChipGroup/index.d.mts +1 -0
- package/dist/components/molecules/CodeBlock/CodeBlock.d.mts +46 -0
- package/dist/components/molecules/CodeBlock/CodeBlock.mjs +231 -0
- package/dist/components/molecules/CodeBlock/CodeBlock.mjs.map +1 -0
- package/dist/components/molecules/CodeBlock/index.d.mts +1 -0
- package/dist/components/molecules/DateGroup/DateGroup.d.mts +37 -0
- package/dist/components/molecules/DateGroup/DateGroup.mjs +104 -0
- package/dist/components/molecules/DateGroup/DateGroup.mjs.map +1 -0
- package/dist/components/molecules/DateGroup/index.d.mts +2 -0
- package/dist/components/molecules/Dropdown/Dropdown.d.mts +27 -0
- package/dist/components/molecules/Dropdown/Dropdown.mjs +282 -0
- package/dist/components/molecules/Dropdown/Dropdown.mjs.map +1 -0
- package/dist/components/molecules/Dropdown/index.d.mts +1 -0
- package/dist/components/molecules/EmptyState/EmptyState.d.mts +32 -0
- package/dist/components/molecules/EmptyState/EmptyState.mjs +133 -0
- package/dist/components/molecules/EmptyState/EmptyState.mjs.map +1 -0
- package/dist/components/molecules/EmptyState/index.d.mts +2 -0
- package/dist/components/molecules/FeatureBlock/FeatureBlock.d.mts +14 -0
- package/dist/components/molecules/FeatureBlock/FeatureBlock.mjs +99 -0
- package/dist/components/molecules/FeatureBlock/FeatureBlock.mjs.map +1 -0
- package/dist/components/molecules/FeatureBlock/index.d.mts +1 -0
- package/dist/components/molecules/InlineAlert/InlineAlert.d.mts +54 -0
- package/dist/components/molecules/InlineAlert/InlineAlert.mjs +140 -0
- package/dist/components/molecules/InlineAlert/InlineAlert.mjs.map +1 -0
- package/dist/components/molecules/InlineAlert/index.d.mts +2 -0
- package/dist/components/molecules/List/List.d.mts +30 -0
- package/dist/components/molecules/List/List.mjs +45 -0
- package/dist/components/molecules/List/List.mjs.map +1 -0
- package/dist/components/molecules/List/ListContext.d.mts +6 -0
- package/dist/components/molecules/List/ListContext.mjs +11 -0
- package/dist/components/molecules/List/ListContext.mjs.map +1 -0
- package/dist/components/molecules/List/ListItem.d.mts +101 -0
- package/dist/components/molecules/List/ListItem.mjs +224 -0
- package/dist/components/molecules/List/ListItem.mjs.map +1 -0
- package/dist/components/molecules/List/index.d.mts +4 -0
- package/dist/components/molecules/Modal/Modal.d.mts +69 -0
- package/dist/components/molecules/Modal/Modal.mjs +259 -0
- package/dist/components/molecules/Modal/Modal.mjs.map +1 -0
- package/dist/components/molecules/Modal/index.d.mts +2 -0
- package/dist/components/molecules/NumberInput/NumberInput.d.mts +86 -0
- package/dist/components/molecules/NumberInput/NumberInput.mjs +268 -0
- package/dist/components/molecules/NumberInput/NumberInput.mjs.map +1 -0
- package/dist/components/molecules/NumberInput/index.d.mts +2 -0
- package/dist/components/molecules/PageTitle/PageTitle.d.mts +21 -0
- package/dist/components/molecules/PageTitle/PageTitle.mjs +77 -0
- package/dist/components/molecules/PageTitle/PageTitle.mjs.map +1 -0
- package/dist/components/molecules/PageTitle/index.d.mts +1 -0
- package/dist/components/molecules/PasswordField/PasswordField.d.mts +55 -0
- package/dist/components/molecules/PasswordField/PasswordField.mjs +146 -0
- package/dist/components/molecules/PasswordField/PasswordField.mjs.map +1 -0
- package/dist/components/molecules/PasswordField/index.d.mts +2 -0
- package/dist/components/molecules/SearchField/SearchField.d.mts +108 -0
- package/dist/components/molecules/SearchField/SearchField.mjs +340 -0
- package/dist/components/molecules/SearchField/SearchField.mjs.map +1 -0
- package/dist/components/molecules/SearchField/index.d.mts +2 -0
- package/dist/components/molecules/Sheet/Sheet.d.mts +96 -0
- package/dist/components/molecules/Sheet/Sheet.mjs +243 -0
- package/dist/components/molecules/Sheet/Sheet.mjs.map +1 -0
- package/dist/components/molecules/Sheet/index.d.mts +2 -0
- package/dist/components/molecules/Slider/Slider.d.mts +102 -0
- package/dist/components/molecules/Slider/Slider.mjs +462 -0
- package/dist/components/molecules/Slider/Slider.mjs.map +1 -0
- package/dist/components/molecules/Slider/index.d.mts +2 -0
- package/dist/components/molecules/TabBar/TabBar.d.mts +82 -0
- package/dist/components/molecules/TabBar/TabBar.mjs +213 -0
- package/dist/components/molecules/TabBar/TabBar.mjs.map +1 -0
- package/dist/components/molecules/TabBar/index.d.mts +2 -0
- package/dist/components/molecules/TextField/InputBase.d.mts +22 -0
- package/dist/components/molecules/TextField/InputBase.mjs +56 -0
- package/dist/components/molecules/TextField/InputBase.mjs.map +1 -0
- package/dist/components/molecules/TextField/TextField.d.mts +56 -0
- package/dist/components/molecules/TextField/TextField.mjs +115 -0
- package/dist/components/molecules/TextField/TextField.mjs.map +1 -0
- package/dist/components/molecules/TextField/index.d.mts +4 -0
- package/dist/components/molecules/TransactionListItem/TransactionListItem.d.mts +39 -0
- package/dist/components/molecules/TransactionListItem/TransactionListItem.mjs +224 -0
- package/dist/components/molecules/TransactionListItem/TransactionListItem.mjs.map +1 -0
- package/dist/components/molecules/TransactionListItem/index.d.mts +2 -0
- package/dist/components/molecules/index.d.mts +26 -0
- package/dist/data.js +261 -14
- package/dist/data.js.map +1 -1
- package/dist/index.d.mts +3 -0
- package/dist/index.mjs +55 -0
- package/dist/index.mjs.map +1 -0
- package/dist/lib/cssTokens.d.mts +14 -0
- package/dist/lib/cssTokens.d.ts +14 -0
- package/dist/lib/cssTokens.mjs +19 -0
- package/dist/lib/cssTokens.mjs.map +1 -0
- package/dist/lib/cssVariables.d.mts +15 -0
- package/dist/lib/cssVariables.d.ts +15 -0
- package/dist/lib/cssVariables.mjs +37 -0
- package/dist/lib/cssVariables.mjs.map +1 -0
- package/dist/lib/styleUtils.d.mts +42 -0
- package/dist/lib/styleUtils.d.ts +23 -0
- package/dist/lib/styleUtils.mjs +160 -0
- package/dist/lib/styleUtils.mjs.map +1 -0
- package/dist/lib/tokenAliases.d.mts +13 -0
- package/dist/lib/tokenAliases.d.ts +13 -0
- package/dist/lib/tokenAliases.mjs +121 -0
- package/dist/lib/tokenAliases.mjs.map +1 -0
- package/dist/lib/usePresence.d.mts +16 -0
- package/dist/lib/usePresence.mjs +50 -0
- package/dist/lib/usePresence.mjs.map +1 -0
- package/dist/{data.esm.js → styles/icons.json.mjs} +2 -1219
- package/dist/styles/icons.json.mjs.map +1 -0
- package/dist/styles/tokens.d.mts +3174 -0
- package/dist/styles/tokens.d.ts +3174 -0
- package/dist/styles/tokens.json +257 -12
- package/dist/{tokens/index.esm.js → styles/tokens.json.mjs} +259 -20
- package/dist/{tokens/index.esm.js.map → styles/tokens.json.mjs.map} +1 -1
- package/dist/tokens/index.js +261 -14
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/index.mjs +1462 -0
- package/dist/tokens/index.mjs.map +1 -0
- package/dist/tokens/styles/tokens.d.mts +3174 -0
- package/dist/tokens/styles/tokens.d.ts +3174 -0
- package/dist/tokens/tokens.d.mts +4 -0
- package/dist/tokens/types/tokens.d.mts +6 -0
- package/dist/tokens/types/tokens.d.ts +3 -1204
- package/dist/tokens.css +710 -430
- package/dist/tokens.css.d.mts +4 -0
- package/dist/types/icons.d.mts +25 -0
- package/dist/types/icons.mjs +10 -0
- package/dist/types/icons.mjs.map +1 -0
- package/dist/types/index.d.mts +1 -0
- package/dist/types/tokens.d.mts +6 -0
- package/dist/types/tokens.d.ts +3 -1204
- package/dist/types/tokens.mjs +10 -0
- package/dist/types/tokens.mjs.map +1 -0
- package/dist/vendor/tslib/tslib.es6.mjs +99 -0
- package/dist/vendor/tslib/tslib.es6.mjs.map +1 -0
- package/package.json +29 -13
- package/dist/client.esm.js +0 -7952
- package/dist/client.esm.js.map +0 -1
- package/dist/data.esm.js.map +0 -1
- package/dist/index.esm.js +0 -8
- 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,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;
|