@1money/component-ui 0.0.42 → 0.0.43
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/README.md +19 -24
- package/es/components/Icons/interface.d.ts +3 -0
- package/es/components/Upload/interface.d.ts +2 -0
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/stories/docs/ComponentDocsPage.js +2 -2
- package/es/stories/docs/componentDocMeta.js +1 -4
- package/lib/components/Icons/interface.d.ts +3 -0
- package/lib/components/Upload/interface.d.ts +2 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/stories/docs/ComponentDocsPage.js +2 -2
- package/lib/stories/docs/componentDocMeta.js +1 -4
- package/package.json +1 -1
- package/scripts/mcp-server/examples.generated.json +507 -519
- package/scripts/mcp-server/index.generated.json +636 -581
|
@@ -37,12 +37,6 @@
|
|
|
37
37
|
"source": "readme",
|
|
38
38
|
"compilable": true
|
|
39
39
|
},
|
|
40
|
-
"02eb41ce0715973b9fe2fb88cf59851f0fa8962318df7f86a9405a50cfe907b2": {
|
|
41
|
-
"title": "Canonical usage",
|
|
42
|
-
"code": "import { Checkbox } from '@1money/components-ui';\n// or\nimport { Checkbox } from '@1money/components-ui/Checkbox';",
|
|
43
|
-
"source": "canonical",
|
|
44
|
-
"compilable": true
|
|
45
|
-
},
|
|
46
40
|
"034773bdaca67ca0d5a236ca92c3d84403ca823cb8249eacea2414545523ab3d": {
|
|
47
41
|
"title": "Grouped",
|
|
48
42
|
"code": "{\n const [value, setValue] = useState<string | number | undefined>('usdt');\n\n return (\n <Select\n {...args}\n value={value}\n onChange={(nextValue, option) => {\n setValue(nextValue as string | number | undefined);\n args.onChange?.(nextValue, option);\n }}\n />\n );\n }",
|
|
@@ -67,18 +61,18 @@
|
|
|
67
61
|
"source": "stories",
|
|
68
62
|
"compilable": false
|
|
69
63
|
},
|
|
70
|
-
"0438a4317a7d7a552850cb51936a9650a74930e6c8b9e8a6f8c36de31ab885a0": {
|
|
71
|
-
"title": "Canonical usage",
|
|
72
|
-
"code": "import { Trigger } from '@1money/components-ui';\n// or\nimport { Trigger } from '@1money/components-ui/Trigger';",
|
|
73
|
-
"source": "canonical",
|
|
74
|
-
"compilable": true
|
|
75
|
-
},
|
|
76
64
|
"047c2f9b4e0f29aa1bfa1d29f631e05af609d686dc8ddcf1ab8a44f3838c16a5": {
|
|
77
65
|
"title": "Default",
|
|
78
66
|
"code": "<DashboardTemplate />",
|
|
79
67
|
"source": "stories",
|
|
80
68
|
"compilable": true
|
|
81
69
|
},
|
|
70
|
+
"059d700d7a0e1ac3f3128b3461d9f1e718e140448690ccb50db0915c49cd7461": {
|
|
71
|
+
"title": "Canonical usage",
|
|
72
|
+
"code": "import { Alert } from '@1money/component-ui';\n// or\nimport { Alert } from '@1money/component-ui/Alert';",
|
|
73
|
+
"source": "canonical",
|
|
74
|
+
"compilable": true
|
|
75
|
+
},
|
|
82
76
|
"06b3a8e6513382a6e7d5bd530b625d83a008bbb52aa5f05cb2812e54e8854b3a": {
|
|
83
77
|
"title": "Api Examples",
|
|
84
78
|
"code": "<div style={DEMO_SECTION_STYLE}>\n <Row\n gutter={GRID_GUTTER_SPACED}\n align={GRID_ALIGN.middle}\n justify={GRID_JUSTIFY.spaceBetween}\n wrap={WRAP_DISABLED}\n prefixCls={GRID_ROW_PREFIX}\n >\n <Col span={SPAN_HALF} prefixCls={GRID_COL_PREFIX}><div style={DEMO_BOX_STYLE}>Span</div></Col>\n <Col span={SPAN_HALF} prefixCls={GRID_COL_PREFIX}><div style={DEMO_BOX_STYLE}>Span</div></Col>\n </Row>\n\n <Row gutter={GRID_GUTTER_COMPACT} prefixCls={GRID_ROW_PREFIX}>\n <Col span={SPAN_QUARTER} offset={OFFSET_SMALL} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Offset</div>\n </Col>\n <Col span={SPAN_QUARTER} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Offset</div>\n </Col>\n </Row>\n\n <Row gutter={GRID_GUTTER_COMPACT} prefixCls={GRID_ROW_PREFIX}>\n <Col span={SPAN_QUARTER} push={PUSH_SMALL} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Push</div>\n </Col>\n <Col span={SPAN_QUARTER} pull={PULL_SMALL} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Pull</div>\n </Col>\n </Row>\n\n <Row gutter={GRID_GUTTER_RESPONSIVE} prefixCls={GRID_ROW_PREFIX}>\n <Col span={SPAN_HALF} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Responsive Gutter</div>\n </Col>\n <Col span={SPAN_HALF} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Responsive Gutter</div>\n </Col>\n </Row>\n\n <Row gutter={GRID_GUTTER_REM} prefixCls={GRID_ROW_PREFIX}>\n <Col span={SPAN_HALF} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>String Gutter</div>\n </Col>\n <Col span={SPAN_HALF} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>String Gutter</div>\n </Col>\n </Row>\n\n <Row gutter={GRID_GUTTER_COMPACT} prefixCls={GRID_ROW_PREFIX}>\n <Col span={SPAN_QUARTER} order={ORDER_LAST} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Order</div>\n </Col>\n <Col span={SPAN_QUARTER} order={ORDER_FIRST} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Order</div>\n </Col>\n </Row>\n\n <Row gutter={GRID_GUTTER_COMPACT} prefixCls={GRID_ROW_PREFIX}>\n <Col flex={FLEX_ONE} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Flex 1</div>\n </Col>\n <Col flex={FLEX_TWO} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Flex 2</div>\n </Col>\n </Row>\n\n <Row gutter={GRID_GUTTER_SPACED} wrap={WRAP_ENABLED} prefixCls={GRID_ROW_PREFIX}>\n <Col span={SPAN_BASE} sm={SPAN_SM} md={{ span: SPAN_MD, offset: OFFSET_SMALL }} lg={SPAN_LG} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Responsive</div>\n </Col>\n </Row>\n\n <Row gutter={GRID_GUTTER_SPACED} justify={JUSTIFY_RESPONSIVE} prefixCls={GRID_ROW_PREFIX}>\n <Col span={SPAN_HALF} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Justify Responsive</div>\n </Col>\n <Col span={SPAN_HALF} prefixCls={GRID_COL_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Justify Responsive</div>\n </Col>\n </Row>\n\n </div>",
|
|
@@ -103,21 +97,27 @@
|
|
|
103
97
|
"source": "stories",
|
|
104
98
|
"compilable": true
|
|
105
99
|
},
|
|
100
|
+
"07987ce3193833ae5e02466d3b7ea1e51372a52d41cdafaa11450f4bab575130": {
|
|
101
|
+
"title": "Canonical usage",
|
|
102
|
+
"code": "import { Dropdown } from '@1money/component-ui';\n// or\nimport { Dropdown } from '@1money/component-ui/Dropdown';",
|
|
103
|
+
"source": "canonical",
|
|
104
|
+
"compilable": true
|
|
105
|
+
},
|
|
106
106
|
"07a4236cc3c96aa1a14a8ab647fef5e00704b05042314ec5815451b3dd3b5ba0": {
|
|
107
107
|
"title": "Usage",
|
|
108
108
|
"code": "<Typography.Display size=\"lg\">Account Overview</Typography.Display>\n\n<Typography.Headline size=\"md\">Settlement Timeline</Typography.Headline>\n\n<Typography.Title size=\"sm\" strong>\n Customer Details\n</Typography.Title>\n\n<Typography.Body size=\"md\" as=\"p\">\n Semantic body copy keeps product text aligned with the shared typography scale.\n</Typography.Body>\n\n<Typography.Body size=\"md\" ellipsis={{ tooltip: true }} copyable>\n 0x814f0d3a9b2c7e1f5d6a8b4c3e2f1a0d9c8b7a6f749f\n</Typography.Body>\n\n<Typography.Label size=\"sm\" htmlFor=\"email\">\n Email\n</Typography.Label>\n\n<Typography.Link size=\"md\" href=\"https://ant.design/components/typography/\" target=\"_blank\">\n Typography reference\n</Typography.Link>",
|
|
109
109
|
"source": "readme",
|
|
110
110
|
"compilable": true
|
|
111
111
|
},
|
|
112
|
-
"
|
|
113
|
-
"title": "
|
|
114
|
-
"code": "import {
|
|
115
|
-
"source": "
|
|
112
|
+
"07cacb15e560cfbe8f05e93459b5f0d51faf5fd0a01b0995368a360610e18d30": {
|
|
113
|
+
"title": "Import",
|
|
114
|
+
"code": "import {\n ProForm,\n ProFormText,\n ProFormSelect,\n DialogForm,\n QueryFilter,\n} from '@1money/component-ui';\n// or\nimport { ProForm, ProFormText } from '@1money/component-ui/ProForm';",
|
|
115
|
+
"source": "readme",
|
|
116
116
|
"compilable": true
|
|
117
117
|
},
|
|
118
|
-
"
|
|
118
|
+
"08616eb7b07c701d8cd3872fb1e802eac207a2cf2a3a802b28360fc7112d1ca8": {
|
|
119
119
|
"title": "Import",
|
|
120
|
-
"code": "import {
|
|
120
|
+
"code": "import { Calendar } from '@1money/component-ui';\n// or\nimport { Calendar } from '@1money/component-ui/Calendar';",
|
|
121
121
|
"source": "readme",
|
|
122
122
|
"compilable": true
|
|
123
123
|
},
|
|
@@ -133,10 +133,10 @@
|
|
|
133
133
|
"source": "stories",
|
|
134
134
|
"compilable": true
|
|
135
135
|
},
|
|
136
|
-
"
|
|
137
|
-
"title": "
|
|
138
|
-
"code": "import {
|
|
139
|
-
"source": "
|
|
136
|
+
"0af966e9349f745d71c776d3f6e0547aecbbb0d12fb0a9964b1ec02d8a61baae": {
|
|
137
|
+
"title": "Import",
|
|
138
|
+
"code": "import { Dialog } from '@1money/component-ui';\n// or\nimport { Dialog } from '@1money/component-ui/Dialog';",
|
|
139
|
+
"source": "readme",
|
|
140
140
|
"compilable": true
|
|
141
141
|
},
|
|
142
142
|
"0c7c04366337519cd94b38f5358dfa8f9eec80c8f289ba172def5f00e1a89ba3": {
|
|
@@ -145,30 +145,48 @@
|
|
|
145
145
|
"source": "stories",
|
|
146
146
|
"compilable": false
|
|
147
147
|
},
|
|
148
|
+
"0c865e04e29af2a17146034e78e156e8271e4c6700f4b8d431d67f0ba04a6d6a": {
|
|
149
|
+
"title": "Canonical usage",
|
|
150
|
+
"code": "import {\n ProForm,\n ProFormText,\n ProFormSelect,\n DialogForm,\n QueryFilter,\n} from '@1money/component-ui';\n// or\nimport { ProForm, ProFormText } from '@1money/component-ui/ProForm';",
|
|
151
|
+
"source": "canonical",
|
|
152
|
+
"compilable": true
|
|
153
|
+
},
|
|
148
154
|
"0caa8e66489f540fb7f7969ee8d11091048124739a3d26ddcbc22e6ba567048f": {
|
|
149
155
|
"title": "No Submitter",
|
|
150
156
|
"code": "<ProForm {...args} submitter={false}>\n <ProFormText name=\"search\" label=\"Search\" placeholder=\"Type to search...\" />\n </ProForm>",
|
|
151
157
|
"source": "stories",
|
|
152
158
|
"compilable": false
|
|
153
159
|
},
|
|
160
|
+
"0cda435f1e77eae5e9d6a2c883f7b45f34643b77a9a4f8ca3d23ea33a09b9a01": {
|
|
161
|
+
"title": "Responsive Usage",
|
|
162
|
+
"code": "const GRID_GUTTER = { sm: 8, md: 16, lg: 24 };\nconst SPAN_BASE = 12;\nconst SPAN_SM = 6;\nconst SPAN_MD = 4;\nconst OFFSET_MD = 2;\nconst SPAN_LARGE = 3;\n\nimport { GRID_JUSTIFY } from '@1money/component-ui/Grid';\n\nconst GRID_JUSTIFY_RESPONSIVE = {\n sm: GRID_JUSTIFY.start,\n md: GRID_JUSTIFY.spaceBetween,\n lg: GRID_JUSTIFY.end\n};\nconst PUSH_COL = 1;\nconst PULL_COL = 1;\n\n<Grid gutter={GRID_GUTTER}>\n <Grid.Col span={SPAN_BASE} sm={SPAN_SM} md={{ span: SPAN_MD, offset: OFFSET_MD }} lg={SPAN_LARGE} />\n</Grid>\n\n<Grid gutter={GRID_GUTTER} justify={GRID_JUSTIFY_RESPONSIVE}>\n <Grid.Col span={SPAN_BASE} sm={SPAN_SM} md={{ span: SPAN_MD, offset: OFFSET_MD }} lg={SPAN_LARGE} />\n <Grid.Col span={SPAN_BASE} push={PUSH_COL} pull={PULL_COL} />\n</Grid>",
|
|
163
|
+
"source": "readme",
|
|
164
|
+
"compilable": true
|
|
165
|
+
},
|
|
154
166
|
"0df7d43ad53f6a66386ebad5a61eaaf088d0b9200a5fb97e51f6c4964aefd05e": {
|
|
155
167
|
"title": "Usage",
|
|
156
168
|
"code": "<Switch label=\"Notifications\" onChange={(checked) => console.log(checked)} />\n\n<Switch\n label=\"Dark Mode\"\n description=\"Enable dark theme across the app\"\n defaultChecked\n/>",
|
|
157
169
|
"source": "readme",
|
|
158
170
|
"compilable": true
|
|
159
171
|
},
|
|
172
|
+
"10c3dc4b995524ead942626d1a9e7ef96f11e52235700d42ddbf138090b3a9ad": {
|
|
173
|
+
"title": "Canonical usage",
|
|
174
|
+
"code": "import { Slider } from '@1money/component-ui';\n// or\nimport { Slider } from '@1money/component-ui/Slider';",
|
|
175
|
+
"source": "canonical",
|
|
176
|
+
"compilable": true
|
|
177
|
+
},
|
|
178
|
+
"11a75effde4de419507479c188f4208bc45d4e54ee6928476375f622ea51f29d": {
|
|
179
|
+
"title": "Canonical usage",
|
|
180
|
+
"code": "import { ResizeObserver, useResizeObserver } from '@1money/component-ui';\n// or\nimport { ResizeObserver, Collection, useResizeObserver } from '@1money/component-ui/ResizeObserver';",
|
|
181
|
+
"source": "canonical",
|
|
182
|
+
"compilable": true
|
|
183
|
+
},
|
|
160
184
|
"11f60c018746e51bd823c5ce8039341a2200f2e132e62e58f99f23cfe2166cbd": {
|
|
161
185
|
"title": "All Variants",
|
|
162
186
|
"code": "<div style={{ display: 'flex', flexDirection: 'column', gap: 32 }}>\n {PROGRESS_COLORS.map(color => (\n <div key={color} style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>\n <h3 style={{ margin: 0 }}>{color}</h3>\n {PROGRESS_PLACEMENTS.map(placement => (\n <div key={`${color}-${placement}`} style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>\n <h4 style={{ margin: 0 }}>{placement}</h4>\n {PROGRESS_STATES.map(state => (\n <Progress\n {...args}\n key={`${color}-${placement}-${state}`}\n color={color}\n placement={placement}\n state={state}\n percent={state === 'success' ? 100 : state === 'not-started' ? 0 : 25}\n feedback={state === 'error' ? 'Feedback' : undefined}\n />\n ))}\n </div>\n ))}\n </div>\n ))}\n </div>",
|
|
163
187
|
"source": "stories",
|
|
164
188
|
"compilable": false
|
|
165
189
|
},
|
|
166
|
-
"121fd04bd739e98c6ccc312a1be13069715c343ad66bcbd8e3b076ee2611f60a": {
|
|
167
|
-
"title": "Canonical usage",
|
|
168
|
-
"code": "import type { IconsProps } from '@1money/component-ui';",
|
|
169
|
-
"source": "canonical",
|
|
170
|
-
"compilable": true
|
|
171
|
-
},
|
|
172
190
|
"123291e7b1b33126adc91e8204e4002c37c71a74eb5bfca67a4da71b9aec2f6a": {
|
|
173
191
|
"title": "Default",
|
|
174
192
|
"code": "{\n const [value, setValue] = useState<string | number | undefined>('btc');\n\n return (\n <Select\n {...args}\n value={value}\n onChange={(nextValue, option) => {\n setValue(nextValue as string | number | undefined);\n args.onChange?.(nextValue, option);\n }}\n />\n );\n }",
|
|
@@ -181,18 +199,18 @@
|
|
|
181
199
|
"source": "stories",
|
|
182
200
|
"compilable": false
|
|
183
201
|
},
|
|
184
|
-
"124abe44040ddcd13aa6aad8f0dd237bae86b652e64005957c39324a2182b934": {
|
|
185
|
-
"title": "Import",
|
|
186
|
-
"code": "import { Typography } from '@1money/components-ui';\n// or\nimport { Typography } from '@1money/components-ui/Typography';",
|
|
187
|
-
"source": "readme",
|
|
188
|
-
"compilable": true
|
|
189
|
-
},
|
|
190
202
|
"144e248f0e0e1f5a681bdd8625add8d71643d3cca3f40bd840d914b057970d9a": {
|
|
191
203
|
"title": "All Variants",
|
|
192
204
|
"code": "<div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>\n <div>\n <p style={{ marginBottom: 8 }}>Default</p>\n <Copy {...args} contained/>\n </div>\n <div>\n <Copy {...args} contained={false} />\n </div>\n </div>",
|
|
193
205
|
"source": "stories",
|
|
194
206
|
"compilable": false
|
|
195
207
|
},
|
|
208
|
+
"1673418288f034d6e46db906f3b2fb8a2079625c30f15ed4c7c35c0e4568f940": {
|
|
209
|
+
"title": "Basic Usage",
|
|
210
|
+
"code": "import { Grid } from '@1money/component-ui';\nimport { GRID_ALIGN, GRID_JUSTIFY } from '@1money/component-ui/Grid';\n\nconst GRID_GUTTER: [number, number] = [16, 8];\nconst SPAN_HALF = 6;\n\n<Grid gutter={GRID_GUTTER} justify={GRID_JUSTIFY.spaceBetween} align={GRID_ALIGN.middle}>\n <Grid.Col span={SPAN_HALF}>Left</Grid.Col>\n <Grid.Col span={SPAN_HALF}>Right</Grid.Col>\n</Grid>",
|
|
211
|
+
"source": "readme",
|
|
212
|
+
"compilable": true
|
|
213
|
+
},
|
|
196
214
|
"17aad2a9b23bb7f9a4768f770a9b9b5b06d74dab24c5200037505b0047ec2391": {
|
|
197
215
|
"title": "Controlled",
|
|
198
216
|
"code": "{\n const [open, setOpen] = useState(false);\n return (\n <div style={ANCHOR_WRAPPER_STYLE}>\n <button id=\"tooltip-controlled\">Anchor</button>\n <div style={CONTROL_ROW_STYLE}>\n <button onClick={() => setOpen(true)}>Open</button>\n <button onClick={() => setOpen(false)}>Close</button>\n <button onClick={() => setOpen((v) => !v)}>Toggle</button>\n </div>\n <Tooltip\n anchorSelect=\"#tooltip-controlled\"\n title=\"Controlled\"\n body=\"This tooltip is controlled externally.\"\n open={open}\n onOpenChange={setOpen}\n />\n </div>\n );\n }",
|
|
@@ -205,12 +223,30 @@
|
|
|
205
223
|
"source": "readme",
|
|
206
224
|
"compilable": true
|
|
207
225
|
},
|
|
226
|
+
"19d1f168d6381a52a225b4e4518a55b8dec5b0305e036f4c57f63a77465435b2": {
|
|
227
|
+
"title": "Import",
|
|
228
|
+
"code": "import { Step } from '@1money/component-ui';\n// or\nimport { Step } from '@1money/component-ui/Step';",
|
|
229
|
+
"source": "readme",
|
|
230
|
+
"compilable": true
|
|
231
|
+
},
|
|
208
232
|
"1ad3863a7ccae5d72cf0b223899e03501462831ed16ae711d9f497c103c00008": {
|
|
209
233
|
"title": "Group Cell Options",
|
|
210
234
|
"code": "{\n const [value, setValue] = React.useState<string | number>('swift');\n\n const handleChange = (event: RadioChangeEvent) => {\n if (event.target.value !== undefined) {\n setValue(event.target.value);\n }\n };\n\n return (\n <RadioGroup\n value={value}\n variant=\"cell\"\n size=\"large\"\n alignment=\"left\"\n direction=\"horizontal\"\n onChange={handleChange}\n options={[\n {\n value: 'swift',\n label: 'SWIFT',\n description: 'Receive via bank rails',\n icon: 'swift',\n },\n {\n value: 'global',\n label: 'Global account',\n description: 'International settlement',\n icon: 'language',\n },\n ]}\n />\n );\n }",
|
|
211
235
|
"source": "stories",
|
|
212
236
|
"compilable": true
|
|
213
237
|
},
|
|
238
|
+
"1b3e0014243a3c2fc49f18ec95bf7915a97bf89be93ea39221e905dc26aa7035": {
|
|
239
|
+
"title": "Import",
|
|
240
|
+
"code": "import { Portal } from '@1money/component-ui';\n// or\nimport { Portal } from '@1money/component-ui/Portal';",
|
|
241
|
+
"source": "readme",
|
|
242
|
+
"compilable": true
|
|
243
|
+
},
|
|
244
|
+
"1b62b166b8cc556e31e7ffa0b7d5ea66b965e65e6bf73b737499332aa8b0ce15": {
|
|
245
|
+
"title": "Canonical usage",
|
|
246
|
+
"code": "import { Tooltip } from '@1money/component-ui';\n// or\nimport { Tooltip } from '@1money/component-ui/Tooltip';",
|
|
247
|
+
"source": "canonical",
|
|
248
|
+
"compilable": true
|
|
249
|
+
},
|
|
214
250
|
"1d0cc410e4f667fa13d9ad249ca801acda6fd51fc78c87c3b00209163c48df6b": {
|
|
215
251
|
"title": "Range Selection",
|
|
216
252
|
"code": "<Calendar\n label=\"Date Range\"\n selectionMode=\"range\"\n numberOfMonths={2}\n/>",
|
|
@@ -241,30 +277,36 @@
|
|
|
241
277
|
"source": "stories",
|
|
242
278
|
"compilable": false
|
|
243
279
|
},
|
|
280
|
+
"1f1b7a95b5907a8f4904dcc20ae03f7dd509d1e5ea1570f9fd663a0d8baf1f2a": {
|
|
281
|
+
"title": "Canonical usage",
|
|
282
|
+
"code": "import { Input } from '@1money/component-ui';\n// or\nimport { Input } from '@1money/component-ui/Input';",
|
|
283
|
+
"source": "canonical",
|
|
284
|
+
"compilable": true
|
|
285
|
+
},
|
|
286
|
+
"1f2928ec0a947db2a5fec3cc4241fef3b241c19c1d121bfc46c37aec0af0edbe": {
|
|
287
|
+
"title": "Usage",
|
|
288
|
+
"code": "import { Button } from '@1money/component-ui';\n\n<Dropdown\n content={({ close }) => (\n <button type=\"button\" onClick={close}>\n Close\n </button>\n )}\n placement=\"bottom-start\"\n>\n <Button>Open menu</Button>\n</Dropdown>",
|
|
289
|
+
"source": "readme",
|
|
290
|
+
"compilable": true
|
|
291
|
+
},
|
|
244
292
|
"1f944ea3bc1de41179d6d298524b5c3604ace798b878bacd31dc65416b264e80": {
|
|
245
293
|
"title": "Brand Spinner with Message",
|
|
246
294
|
"code": "<Spinner\n type=\"brand\"\n size={56}\n title=\"Hang tight\"\n body=\"We're processing your request\"\n/>",
|
|
247
295
|
"source": "readme",
|
|
248
296
|
"compilable": true
|
|
249
297
|
},
|
|
298
|
+
"20d57203520c799fa33716a33d4bc15c62ab5180b8628139aa313d443bf3c802": {
|
|
299
|
+
"title": "Import",
|
|
300
|
+
"code": "import { Tooltip } from '@1money/component-ui';\n// or\nimport { Tooltip } from '@1money/component-ui/Tooltip';",
|
|
301
|
+
"source": "readme",
|
|
302
|
+
"compilable": true
|
|
303
|
+
},
|
|
250
304
|
"216b625401b1ee29a2c8f02427f776e18dd670858e53fd87ea414473832ba9c9": {
|
|
251
305
|
"title": "With Title",
|
|
252
306
|
"code": "<div style={ANCHOR_WRAPPER_STYLE}>\n <button id=\"tooltip-title\">Hover me</button>\n <Tooltip {...args} anchorSelect=\"#tooltip-title\" />\n </div>",
|
|
253
307
|
"source": "stories",
|
|
254
308
|
"compilable": false
|
|
255
309
|
},
|
|
256
|
-
"2179af6a270bc4891095e10b5a182d62e7767a442d309c3641e1cfea330c5d5f": {
|
|
257
|
-
"title": "Import",
|
|
258
|
-
"code": "import { Popconfirm } from '@1money/components-ui';\nimport '@1money/components-ui/index.css';",
|
|
259
|
-
"source": "readme",
|
|
260
|
-
"compilable": true
|
|
261
|
-
},
|
|
262
|
-
"21cf92888ecabc84d2f36ba71a1b5a30b1fc75a963b72b6bd4ad911c20be6142": {
|
|
263
|
-
"title": "Canonical usage",
|
|
264
|
-
"code": "import type { IconName } from '@1money/component-ui';",
|
|
265
|
-
"source": "canonical",
|
|
266
|
-
"compilable": true
|
|
267
|
-
},
|
|
268
310
|
"21e145efeaada4cb2c7e716099dd9261f34d38e9df00905994175c1a5e9aabb5": {
|
|
269
311
|
"title": "Dynamic Data",
|
|
270
312
|
"code": "{\n const [count, setCount] = useState(100);\n const data = generateData(count);\n\n return (\n <div>\n <div style={{ marginBottom: 12, display: 'flex', gap: 8 }}>\n <button style={btnStyle} onClick={() => setCount((c) => c + 100)}>\n Add 100 items ({count} total)\n </button>\n <button style={btnStyle} onClick={() => setCount((c) => Math.max(0, c - 100))}>\n Remove 100 items\n </button>\n <button style={btnStyle} onClick={() => setCount(0)}>\n Clear\n </button>\n </div>\n <div style={containerStyle}>\n <VirtualList\n data={data}\n height={300}\n itemHeight={30}\n itemKey=\"id\"\n >\n {(item: Item) => (\n <div style={itemStyle(item.height)}>\n <span>Item {item.id}</span>\n </div>\n )}\n </VirtualList>\n </div>\n </div>\n );\n }",
|
|
@@ -283,12 +325,6 @@
|
|
|
283
325
|
"source": "stories",
|
|
284
326
|
"compilable": false
|
|
285
327
|
},
|
|
286
|
-
"226ab361064aae3c8c8f47bb5d32f8dd315bb5427d7c7a1e8cf5d4f10a0d325c": {
|
|
287
|
-
"title": "Canonical usage",
|
|
288
|
-
"code": "import { VirtualList } from '@1money/components-ui';\n// or\nimport { VirtualList } from '@1money/components-ui/VirtualList';",
|
|
289
|
-
"source": "canonical",
|
|
290
|
-
"compilable": true
|
|
291
|
-
},
|
|
292
328
|
"22701739de59f3ff8757908dd59dec110a126e3b95861d3ad523cb1552deeed7": {
|
|
293
329
|
"title": "All Variants",
|
|
294
330
|
"code": "<div style={{ display: 'flex', flexDirection: 'column', gap: 32 }}>\n {VARIANTS.map((variant) => (\n <div key={variant}>\n <h3 style={{ marginBottom: 12 }}>{variant}</h3>\n <Empty {...args} variant={variant} />\n </div>\n ))}\n </div>",
|
|
@@ -307,6 +343,18 @@
|
|
|
307
343
|
"source": "stories",
|
|
308
344
|
"compilable": true
|
|
309
345
|
},
|
|
346
|
+
"231cba24b4a9f1ba3a3ac60ae9526c919f6067a6a5e5147a00bec11fd9e57067": {
|
|
347
|
+
"title": "Import",
|
|
348
|
+
"code": "import { Grid, Row, Col } from '@1money/component-ui';\n// or\nimport { Grid, Row, Col } from '@1money/component-ui/Grid';\nimport { GRID_ALIGN, GRID_JUSTIFY } from '@1money/component-ui/Grid';",
|
|
349
|
+
"source": "readme",
|
|
350
|
+
"compilable": true
|
|
351
|
+
},
|
|
352
|
+
"23592116b9596d1493aa1b0ad242483fc2358a83e24e126eb5db3a4265391b98": {
|
|
353
|
+
"title": "Canonical usage",
|
|
354
|
+
"code": "import { CoachMark } from '@1money/component-ui';\n// or\nimport { CoachMark } from '@1money/component-ui/CoachMark';",
|
|
355
|
+
"source": "canonical",
|
|
356
|
+
"compilable": true
|
|
357
|
+
},
|
|
310
358
|
"23bda2a849d16045cdaa73e374c204db1099cbca913ff14a7ef5f02f346f50b6": {
|
|
311
359
|
"title": "Usage",
|
|
312
360
|
"code": "// Basic\n<Button color=\"primary\" size=\"medium\">Submit</Button>\n\n// With icons\n<Button color=\"secondary\" iconStart={<Icons name=\"add\" size={16} />}>\n Add Item\n</Button>\n\n<Button color=\"grey\" iconEnd={<Icons name=\"arrowRight\" size={16} />}>\n Next\n</Button>\n\n// Loading state\n<Button loading>Processing...</Button>\n\n// Disabled\n<Button disabled>Unavailable</Button>",
|
|
@@ -373,39 +421,33 @@
|
|
|
373
421
|
"source": "stories",
|
|
374
422
|
"compilable": false
|
|
375
423
|
},
|
|
376
|
-
"285dd42c2ca63f8f2eb21d39bf4dd6649d9b1383834a94ba626d242b9acc24a1": {
|
|
377
|
-
"title": "Import",
|
|
378
|
-
"code": "import { Upload, UploadFileBar } from '@1money/components-ui';\n// or\nimport { Upload, UploadFileBar } from '@1money/components-ui/Upload';",
|
|
379
|
-
"source": "readme",
|
|
380
|
-
"compilable": true
|
|
381
|
-
},
|
|
382
424
|
"28a4918e2bb83aaa273cf3846c84c67dca51a5280decbef71e82f997dda9baac": {
|
|
383
425
|
"title": "Usage",
|
|
384
426
|
"code": "<ResizeObserver\n onResize={(size, element) => {\n console.log(size.width, element);\n }}\n>\n <div>Measured content</div>\n</ResizeObserver>",
|
|
385
427
|
"source": "readme",
|
|
386
428
|
"compilable": true
|
|
387
429
|
},
|
|
430
|
+
"28d655b4312a50e5d20bbbf1d018d4583bd377ee502b3ffee72ca3f17a1bb072": {
|
|
431
|
+
"title": "Import",
|
|
432
|
+
"code": "import { Progress } from '@1money/component-ui';\n// or\nimport { Progress } from '@1money/component-ui/Progress';",
|
|
433
|
+
"source": "readme",
|
|
434
|
+
"compilable": true
|
|
435
|
+
},
|
|
388
436
|
"28dcbb40d407a6c3c48dcdb51a06d11466a26d831324f8c583ab6b877bc5eb7d": {
|
|
389
437
|
"title": "Vertical Layout",
|
|
390
438
|
"code": "<Space direction={SPACE_DIRECTION.vertical} size={SPACE_SIZE.large}>\n <div>Top</div>\n <div>Bottom</div>\n</Space>",
|
|
391
439
|
"source": "readme",
|
|
392
440
|
"compilable": true
|
|
393
441
|
},
|
|
394
|
-
"
|
|
442
|
+
"29453274a03adf14b66bc942588fe73c83d286a864658c26536b67a996236cc7": {
|
|
395
443
|
"title": "Canonical usage",
|
|
396
|
-
"code": "import {
|
|
444
|
+
"code": "import { Radio, RadioGroup } from '@1money/component-ui';\n// or tree-shakeable\nimport { Radio, RadioGroup } from '@1money/component-ui/Radio';",
|
|
397
445
|
"source": "canonical",
|
|
398
446
|
"compilable": true
|
|
399
447
|
},
|
|
400
|
-
"
|
|
448
|
+
"2982842534ed88247ac07099dc694a4b0087d1d1ed1f59eda5d9efaaf888f40c": {
|
|
401
449
|
"title": "Import",
|
|
402
|
-
"code": "import {
|
|
403
|
-
"source": "readme",
|
|
404
|
-
"compilable": true
|
|
405
|
-
},
|
|
406
|
-
"2a00b4740e301b8a7ac79f978053cc5d0d9e28704a3496719ce12b34448697d2": {
|
|
407
|
-
"title": "Import",
|
|
408
|
-
"code": "import { Accordion } from '@1money/components-ui';\n// or\nimport { Accordion } from '@1money/components-ui/Accordion';",
|
|
450
|
+
"code": "import { Upload, UploadFileBar } from '@1money/component-ui';\n// or\nimport { Upload, UploadFileBar } from '@1money/component-ui/Upload';",
|
|
409
451
|
"source": "readme",
|
|
410
452
|
"compilable": true
|
|
411
453
|
},
|
|
@@ -415,36 +457,54 @@
|
|
|
415
457
|
"source": "stories",
|
|
416
458
|
"compilable": true
|
|
417
459
|
},
|
|
460
|
+
"2cca976a647db275dfb45ce8bb53bc85d304e49c3d91f76e5987d11e95b604c1": {
|
|
461
|
+
"title": "Import",
|
|
462
|
+
"code": "import { Cell } from '@1money/component-ui';\n// or\nimport { Cell } from '@1money/component-ui/Cell';",
|
|
463
|
+
"source": "readme",
|
|
464
|
+
"compilable": true
|
|
465
|
+
},
|
|
418
466
|
"2db7958f91085606312d3dea5983e6a87724bdaaaeb755893810034b5be459a2": {
|
|
419
467
|
"title": "Copyable",
|
|
420
468
|
"code": "<Typography.Link\n size=\"md\"\n href=\"https://example.com/reference\"\n copyable={{ text: 'https://example.com/reference' }}\n>\n https://example.com/reference\n</Typography.Link>",
|
|
421
469
|
"source": "readme",
|
|
422
470
|
"compilable": true
|
|
423
471
|
},
|
|
472
|
+
"2f014c8b7fe8bf6d1251bf341df8d93d7b3d3d66a185b95d0cabfa7328259e4b": {
|
|
473
|
+
"title": "Canonical usage",
|
|
474
|
+
"code": "import { Tabs } from '@1money/component-ui';\n// or\nimport { Tabs } from '@1money/component-ui/Tabs';",
|
|
475
|
+
"source": "canonical",
|
|
476
|
+
"compilable": true
|
|
477
|
+
},
|
|
424
478
|
"2f65549d43490603034b9f30beadb2efd27c2c0f454242a54f434f213d051491": {
|
|
425
479
|
"title": "Omit Nil",
|
|
426
480
|
"code": "<ProForm\n {...args}\n omitNil\n initialValues={{ name: '', email: '', note: null }}\n onFinish={(values) => {\n alert('Nil values stripped:\\n' + JSON.stringify(values, null, 2));\n }}\n >\n <ProFormText name=\"name\" label=\"Name (leave empty to omit)\" />\n <ProFormText name=\"email\" label=\"Email (leave empty to omit)\" />\n <ProFormText name=\"note\" label=\"Note (null → omitted)\" />\n </ProForm>",
|
|
427
481
|
"source": "stories",
|
|
428
482
|
"compilable": false
|
|
429
483
|
},
|
|
484
|
+
"31040a7ff19f27a25e9ba2a3b39168650944f1c7a3f0056e5b2b51ee4581d1af": {
|
|
485
|
+
"title": "Import",
|
|
486
|
+
"code": "import { Popconfirm } from '@1money/component-ui';\nimport '@1money/component-ui/index.css';",
|
|
487
|
+
"source": "readme",
|
|
488
|
+
"compilable": true
|
|
489
|
+
},
|
|
430
490
|
"31dd5c9e926c0deeefba1a4028848b13ee819e42fbdf5ba0438329ffa1907e66": {
|
|
431
491
|
"title": "Width Presets",
|
|
432
492
|
"code": "<ProForm {...args}>\n <ProFormText name=\"sm\" label=\"Small (sm = 160px)\" width=\"sm\" />\n <ProFormText name=\"md\" label=\"Medium (md = 240px)\" width=\"md\" />\n <ProFormText name=\"lg\" label=\"Large (lg = 320px)\" width=\"lg\" />\n <ProFormText name=\"xl\" label=\"XL (xl = 420px)\" width=\"xl\" />\n <ProFormText name=\"custom\" label=\"Custom (200px)\" width={200} />\n </ProForm>",
|
|
433
493
|
"source": "stories",
|
|
434
494
|
"compilable": false
|
|
435
495
|
},
|
|
436
|
-
"323997b5e7fbded862fcafd3b54089dd9dfae28d4b7c04fbe3d26f612a7b2406": {
|
|
437
|
-
"title": "Canonical usage",
|
|
438
|
-
"code": "import { Tooltip } from '@1money/components-ui';\n// or\nimport { Tooltip } from '@1money/components-ui/Tooltip';",
|
|
439
|
-
"source": "canonical",
|
|
440
|
-
"compilable": true
|
|
441
|
-
},
|
|
442
496
|
"3298cc00509da7da73ca2da525874e520a453a289a0c4985f6f11249b5768dba": {
|
|
443
497
|
"title": "Full Width",
|
|
444
498
|
"code": "<Tabs items={DEFAULT_ITEMS} fullWidth />",
|
|
445
499
|
"source": "stories",
|
|
446
500
|
"compilable": true
|
|
447
501
|
},
|
|
502
|
+
"339afc4bf7df571a14ddee5065e32a46b5493ab19978ace33f336a5c7a504234": {
|
|
503
|
+
"title": "Import",
|
|
504
|
+
"code": "import { Clipboard } from '@1money/component-ui';\n// or\nimport { Clipboard } from '@1money/component-ui/Copy';",
|
|
505
|
+
"source": "readme",
|
|
506
|
+
"compilable": true
|
|
507
|
+
},
|
|
448
508
|
"34536f5f5abc20bc7255387d21700a4725ea8d6f9806b09cb947375f7afde43c": {
|
|
449
509
|
"title": "Label Right",
|
|
450
510
|
"code": "<div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>\n <Switch {...args} label=\"Label\" description=\"Description\" labelPlacement=\"right\" />\n <Switch {...args} label=\"Label\" description=\"Description\" labelPlacement=\"right\" defaultChecked />\n </div>",
|
|
@@ -487,16 +547,10 @@
|
|
|
487
547
|
"source": "readme",
|
|
488
548
|
"compilable": true
|
|
489
549
|
},
|
|
490
|
-
"
|
|
491
|
-
"title": "
|
|
492
|
-
"code": "import {
|
|
493
|
-
"source": "
|
|
494
|
-
"compilable": true
|
|
495
|
-
},
|
|
496
|
-
"36cbaf7aab4a01a5e1c94430f29c9f8881ec84e60dac84ca5c2e32cb25e14ae5": {
|
|
497
|
-
"title": "Usage",
|
|
498
|
-
"code": "// Basic usage with icon name\n<Empty\n icon=\"transactions\"\n title=\"No record found\"\n description=\"Try adjusting your filters to find the record you are looking for\"\n/>\n\n// With custom icon component\n<Empty\n icon={<MyCustomIcon />}\n description=\"No data available\"\n/>\n\n// With action button\n<Empty\n variant=\"stroke\"\n icon=\"bank\"\n description=\"You don't have any bank accounts linked\"\n action={<Button>Add new bank account</Button>}\n/>",
|
|
499
|
-
"source": "readme",
|
|
550
|
+
"36788273238e85e65bbc04aade71ec57ec93c9371eb2414aa4bbac932afe4cc8": {
|
|
551
|
+
"title": "Canonical usage",
|
|
552
|
+
"code": "import { Spinner } from '@1money/component-ui';\n// or\nimport { Spinner } from '@1money/component-ui/Spinner';",
|
|
553
|
+
"source": "canonical",
|
|
500
554
|
"compilable": true
|
|
501
555
|
},
|
|
502
556
|
"36f868d28259a7ebb3c6decbe9768b0ac838fd1617e57e32bace1c0dde27546d": {
|
|
@@ -517,12 +571,6 @@
|
|
|
517
571
|
"source": "stories",
|
|
518
572
|
"compilable": true
|
|
519
573
|
},
|
|
520
|
-
"38d85a62962bcd59b02127b7cf4808c8cb8ffe3d72866928828846cb5adb5e77": {
|
|
521
|
-
"title": "Basic Usage",
|
|
522
|
-
"code": "<Popconfirm\n title=\"Delete transfer rule?\"\n body=\"This action removes the rule immediately and cannot be undone.\"\n cancelText=\"Keep rule\"\n confirmText=\"Delete\"\n onConfirm={() => {\n // perform delete\n }}\n>\n <Button color=\"danger\">Delete rule</Button>\n</Popconfirm>",
|
|
523
|
-
"source": "readme",
|
|
524
|
-
"compilable": true
|
|
525
|
-
},
|
|
526
574
|
"390cabc2f23e7ce30b17814c2a5b8202b8da33904affa60c9bcf5e26fadd9d2f": {
|
|
527
575
|
"title": "Orientation Margin",
|
|
528
576
|
"code": "<div>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider orientation=\"left\" orientationMargin=\"0\">Left (margin 0)</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider orientation=\"left\" orientationMargin={50}>Left (margin 50)</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider orientation=\"right\" orientationMargin={0}>Right (margin 0)</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n </div>",
|
|
@@ -547,18 +595,18 @@
|
|
|
547
595
|
"source": "stories",
|
|
548
596
|
"compilable": false
|
|
549
597
|
},
|
|
550
|
-
"3c554437f7534e672da53194827c88c647b2091520a4db816184c1ffdc84c59a": {
|
|
551
|
-
"title": "Canonical usage",
|
|
552
|
-
"code": "import type { IconWrapperProps } from '@1money/component-ui';",
|
|
553
|
-
"source": "canonical",
|
|
554
|
-
"compilable": true
|
|
555
|
-
},
|
|
556
598
|
"3c5bbd0e70d50121131f70e69229d2badab6a0c4ce56c9343804fac5db4cc85d": {
|
|
557
599
|
"title": "Cell Centered",
|
|
558
600
|
"code": "<div style={{ display: 'flex', gap: 12, alignItems: 'flex-start', flexWrap: 'wrap' }}>\n <Radio\n checked\n variant=\"cell\"\n size=\"large\"\n alignment=\"center\"\n icon=\"language\"\n tag=\"Tag\"\n label=\"Global account\"\n description=\"International transfers\"\n style={{ width: 200 }}\n />\n <Radio\n checked\n variant=\"cell\"\n size=\"medium\"\n alignment=\"center\"\n icon=\"usd\"\n label=\"USD1\"\n style={{ width: 200 }}\n />\n <Radio\n checked\n variant=\"cell\"\n size=\"small\"\n alignment=\"center\"\n icon=\"usd\"\n label=\"USD1\"\n style={{ width: 200 }}\n />\n </div>",
|
|
559
601
|
"source": "stories",
|
|
560
602
|
"compilable": true
|
|
561
603
|
},
|
|
604
|
+
"3c96cd1309b8343e68775a3eb2807b574c01d500cd61c0aefff0e9007f042175": {
|
|
605
|
+
"title": "Import",
|
|
606
|
+
"code": "import { Icons, IconWrapper, IconHover } from '@1money/component-ui';\n// or\nimport { Icons, IconWrapper, IconHover } from '@1money/component-ui/Icons';\n\n// Type imports\nimport type { IconName, SortIconStatus } from '@1money/component-ui';",
|
|
607
|
+
"source": "readme",
|
|
608
|
+
"compilable": true
|
|
609
|
+
},
|
|
562
610
|
"3e868fc7054ec26b6d612e345cd084dcdbb6a51b7d290eae2fa333509e0c9b33": {
|
|
563
611
|
"title": "Canonical usage",
|
|
564
612
|
"code": "<Popconfirm />",
|
|
@@ -571,27 +619,15 @@
|
|
|
571
619
|
"source": "stories",
|
|
572
620
|
"compilable": false
|
|
573
621
|
},
|
|
574
|
-
"3f7947a62ea88c98ba7ab12c99856262c9bcfbce67805459f690e130f0d6920e": {
|
|
575
|
-
"title": "Canonical usage",
|
|
576
|
-
"code": "import { Space } from '@1money/components-ui';\n// or\nimport { Space } from '@1money/components-ui/Space';\nimport { SPACE_ALIGN, SPACE_DIRECTION, SPACE_SIZE } from '@1money/components-ui/Space';",
|
|
577
|
-
"source": "canonical",
|
|
578
|
-
"compilable": true
|
|
579
|
-
},
|
|
580
|
-
"40a22244886d5bdbd3ed0c2eeccc5859897c73c7f35ce9d0b27a7a9547709f28": {
|
|
581
|
-
"title": "Import",
|
|
582
|
-
"code": "import { Tag } from '@1money/components-ui';\n// or\nimport { Tag } from '@1money/components-ui/Tag';",
|
|
583
|
-
"source": "readme",
|
|
584
|
-
"compilable": true
|
|
585
|
-
},
|
|
586
622
|
"40b55a924e580ca4161d97e698db47fb342eae5c804b2bfbaab1f5eb64a58e09": {
|
|
587
623
|
"title": "Basic",
|
|
588
624
|
"code": "<div style={containerStyle}>\n <VirtualList\n data={data1000}\n height={300}\n itemHeight={30}\n itemKey=\"id\"\n >\n {(item: Item) => (\n <div style={itemStyle(item.height)}>\n <span>Item {item.id}</span>\n <span style={{ color: '#999', fontSize: 12 }}>h: {item.height}px</span>\n </div>\n )}\n </VirtualList>\n </div>",
|
|
589
625
|
"source": "stories",
|
|
590
626
|
"compilable": true
|
|
591
627
|
},
|
|
592
|
-
"
|
|
628
|
+
"42725955e8eb348643a00cbbd15d1485475e1917d44f5e685f6f2a094fa6a4a5": {
|
|
593
629
|
"title": "Canonical usage",
|
|
594
|
-
"code": "import {
|
|
630
|
+
"code": "import { Space } from '@1money/component-ui';\n// or\nimport { Space } from '@1money/component-ui/Space';\nimport { SPACE_ALIGN, SPACE_DIRECTION, SPACE_SIZE } from '@1money/component-ui/Space';",
|
|
595
631
|
"source": "canonical",
|
|
596
632
|
"compilable": true
|
|
597
633
|
},
|
|
@@ -601,24 +637,12 @@
|
|
|
601
637
|
"source": "stories",
|
|
602
638
|
"compilable": false
|
|
603
639
|
},
|
|
604
|
-
"433e2ddc78741578443b854668e9b0bc02f7196c44580c8b913bf9d7d68c08ae": {
|
|
605
|
-
"title": "Canonical usage",
|
|
606
|
-
"code": "import { CoachMark } from '@1money/components-ui';\n// or\nimport { CoachMark } from '@1money/components-ui/CoachMark';",
|
|
607
|
-
"source": "canonical",
|
|
608
|
-
"compilable": true
|
|
609
|
-
},
|
|
610
640
|
"43cb69594b17d8f71ddb9912efb8eea26ee52cf45990ef9f7a2212c0694b0811": {
|
|
611
641
|
"title": "Dashed",
|
|
612
642
|
"code": "<div>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider variant=\"dashed\" />\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider variant=\"dashed\">Dashed</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n </div>",
|
|
613
643
|
"source": "stories",
|
|
614
644
|
"compilable": true
|
|
615
645
|
},
|
|
616
|
-
"43cd04ae4cce4b5299321d915077358a92a0a5000ab402da2f9ba9ccac91ef84": {
|
|
617
|
-
"title": "Canonical usage",
|
|
618
|
-
"code": "import { Spinner } from '@1money/components-ui';\n// or\nimport { Spinner } from '@1money/components-ui/Spinner';",
|
|
619
|
-
"source": "canonical",
|
|
620
|
-
"compilable": true
|
|
621
|
-
},
|
|
622
646
|
"44c4b25e35236d2eaf4d26824badf330c6495194077c815a662b000591be91be": {
|
|
623
647
|
"title": "Multiple Collapsed",
|
|
624
648
|
"code": "{\n const [value, setValue] = useState<Array<string | number>>([\n 'btc',\n 'eth',\n 'usdt',\n 'usdc',\n 'sol',\n 'doge',\n ]);\n\n return (\n <div style={{ width: 320 }}>\n <Select\n {...args}\n multiple\n value={value}\n onChange={(nextValue, option) => {\n setValue((nextValue as Array<string | number>) ?? []);\n args.onChange?.(nextValue, option);\n }}\n />\n </div>\n );\n }",
|
|
@@ -655,6 +679,12 @@
|
|
|
655
679
|
"source": "stories",
|
|
656
680
|
"compilable": true
|
|
657
681
|
},
|
|
682
|
+
"48c240723515be69d8de101f9bfe1d2ff596d82504645cc07dfb281c0a6a8ca5": {
|
|
683
|
+
"title": "Canonical usage",
|
|
684
|
+
"code": "import { Typography } from '@1money/component-ui';\n// or\nimport {\n Typography,\n TypographyBody,\n TypographyDisplay,\n TypographyHeadline,\n TypographyLabel,\n TypographyLink,\n TypographyTitle,\n} from '@1money/component-ui/Typography';",
|
|
685
|
+
"source": "canonical",
|
|
686
|
+
"compilable": true
|
|
687
|
+
},
|
|
658
688
|
"48f6ebde7546d7db844b0cd43bd6e6ec6956746f93c55167fda6a2cd84599a3e": {
|
|
659
689
|
"title": "No Animation",
|
|
660
690
|
"code": "<Segment items={DEFAULT_ITEMS} animated={false} />",
|
|
@@ -709,24 +739,12 @@
|
|
|
709
739
|
"source": "stories",
|
|
710
740
|
"compilable": false
|
|
711
741
|
},
|
|
712
|
-
"4cc41ff919669138b7ad66655a256cd5a3885bd739764784d8a5de068b87beb3": {
|
|
713
|
-
"title": "Import",
|
|
714
|
-
"code": "import { Drawer } from '@1money/components-ui';\n// or\nimport { Drawer } from '@1money/components-ui/Drawer';",
|
|
715
|
-
"source": "readme",
|
|
716
|
-
"compilable": true
|
|
717
|
-
},
|
|
718
742
|
"4d9f3593600e6013d369532a23201039bffa9c7463d467180f93c3e95fc48c1b": {
|
|
719
743
|
"title": "Inline Button Loading",
|
|
720
744
|
"code": "<button disabled={loading}>\n {loading ? (\n <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}>\n <Spinner size={16} />\n <span>Submitting…</span>\n </div>\n ) : (\n 'Submit'\n )}\n</button>",
|
|
721
745
|
"source": "readme",
|
|
722
746
|
"compilable": true
|
|
723
747
|
},
|
|
724
|
-
"4e47a5538f745fc8cf26d22a91bc3e95fda46600baf715b49e208804b00e3049": {
|
|
725
|
-
"title": "Canonical usage",
|
|
726
|
-
"code": "import { Table, VirtualTable } from '@1money/components-ui';\n// or\nimport { Table, VirtualTable } from '@1money/components-ui/Table';",
|
|
727
|
-
"source": "canonical",
|
|
728
|
-
"compilable": true
|
|
729
|
-
},
|
|
730
748
|
"4eb35f906280d6f50e93ee158c0792dc740933db4705b831c71d24aadf3e2de7": {
|
|
731
749
|
"title": "All Variants",
|
|
732
750
|
"code": "<div style={{ display: 'flex', flexDirection: 'column', gap: 32 }}>\n {TAG_SIZES.map((size) => (\n <div key={size}>\n <h3 style={{ marginBottom: 12 }}>{size}</h3>\n <div style={{ display: 'flex', flexWrap: 'wrap', gap: 12, alignItems: 'center' }}>\n {TAG_COLORS.map((color) => (\n <Tag\n {...args}\n key={`${size}-${color}`}\n size={size}\n color={color}\n label={color}\n />\n ))}\n </div>\n </div>\n ))}\n </div>",
|
|
@@ -739,10 +757,10 @@
|
|
|
739
757
|
"source": "readme",
|
|
740
758
|
"compilable": true
|
|
741
759
|
},
|
|
742
|
-
"
|
|
743
|
-
"title": "
|
|
744
|
-
"code": "import {
|
|
745
|
-
"source": "
|
|
760
|
+
"4f8d5b3c517bceedb0df6dc7f1b762de0f1625cd80d3cd006b7cd6725c693561": {
|
|
761
|
+
"title": "Import",
|
|
762
|
+
"code": "import { Checkbox } from '@1money/component-ui';\n// or\nimport { Checkbox } from '@1money/component-ui/Checkbox';",
|
|
763
|
+
"source": "readme",
|
|
746
764
|
"compilable": true
|
|
747
765
|
},
|
|
748
766
|
"52e49c0728ddadda69ef98366ad789e66211d87acbb7ca43af959df87ec0767b": {
|
|
@@ -751,15 +769,9 @@
|
|
|
751
769
|
"source": "readme",
|
|
752
770
|
"compilable": true
|
|
753
771
|
},
|
|
754
|
-
"
|
|
755
|
-
"title": "CheckboxGroup",
|
|
756
|
-
"code": "import { Checkbox, CheckboxGroup } from '@1money/components-ui';\n// or\nimport { Checkbox, CheckboxGroup } from '@1money/components-ui/Checkbox';\n\n<CheckboxGroup\n name=\"fruits\"\n options={[\n { label: 'Apple', value: 'apple' },\n { label: 'Pear', value: 'pear' },\n ]}\n value={selectedValues}\n onChange={setSelectedValues}\n/>\n\n<Checkbox.Group defaultValue={['alpha']}>\n <Checkbox value=\"alpha\" label=\"Alpha\" />\n <Checkbox value=\"beta\" label=\"Beta\" />\n</Checkbox.Group>",
|
|
757
|
-
"source": "readme",
|
|
758
|
-
"compilable": true
|
|
759
|
-
},
|
|
760
|
-
"5366737d28dd367f234fcb03fbbe9b966ae9baf9f4d4d05ad628e2c16c5a4e3c": {
|
|
772
|
+
"56434ea344c01f25a04ecb3cdf55d35d04a2631937c4fdecac6e4bb577a69175": {
|
|
761
773
|
"title": "Canonical usage",
|
|
762
|
-
"code": "
|
|
774
|
+
"code": "import { Switch } from '@1money/component-ui';\n// or\nimport { Switch } from '@1money/component-ui/Switch';",
|
|
763
775
|
"source": "canonical",
|
|
764
776
|
"compilable": true
|
|
765
777
|
},
|
|
@@ -787,15 +799,21 @@
|
|
|
787
799
|
"source": "stories",
|
|
788
800
|
"compilable": false
|
|
789
801
|
},
|
|
802
|
+
"57e6a47e5312d937d88aebeb098d4786684b38e5e6953da1f4dbcb0bee035b70": {
|
|
803
|
+
"title": "Import",
|
|
804
|
+
"code": "import { Flex } from '@1money/component-ui';\n// or\nimport { Flex } from '@1money/component-ui/Flex';\nimport { FLEX_ALIGN, FLEX_GAP, FLEX_JUSTIFY, FLEX_WRAP } from '@1money/component-ui/Flex';",
|
|
805
|
+
"source": "readme",
|
|
806
|
+
"compilable": true
|
|
807
|
+
},
|
|
790
808
|
"58bad3562da4a5152857d932ada3b06876ddf701e0bc5b396abc799cfee00ff8": {
|
|
791
809
|
"title": "All Variants",
|
|
792
810
|
"code": "<div style={columnStyle}>\n {LABEL_PLACEMENTS.map((placement) => (\n <div key={placement}>\n <h3 style={sectionHeaderStyle}>Label Placement: {placement}</h3>\n <div style={sectionBodyStyle}>\n {/* Default states */}\n <div style={rowStyle}>\n <Checkbox\n {...args}\n labelPlacement={placement}\n label=\"Unchecked\"\n />\n <Checkbox\n {...args}\n labelPlacement={placement}\n defaultChecked\n label=\"Checked\"\n />\n <Checkbox\n {...args}\n labelPlacement={placement}\n indeterminate\n label=\"Indeterminate\"\n />\n </div>\n {/* Disabled states */}\n <div style={rowStyle}>\n <Checkbox\n {...args}\n labelPlacement={placement}\n disabled\n label=\"Disabled\"\n />\n <Checkbox\n {...args}\n labelPlacement={placement}\n checked\n disabled\n label=\"Disabled Checked\"\n />\n <Checkbox\n {...args}\n labelPlacement={placement}\n indeterminate\n disabled\n label=\"Disabled Indeterminate\"\n />\n </div>\n </div>\n </div>\n ))}\n </div>",
|
|
793
811
|
"source": "stories",
|
|
794
812
|
"compilable": false
|
|
795
813
|
},
|
|
796
|
-
"
|
|
797
|
-
"title": "
|
|
798
|
-
"code": "
|
|
814
|
+
"5a4df64ed15fd8845be815f9f67cd01c0f22d1a22431c653c972f7ab6cff60f7": {
|
|
815
|
+
"title": "Import",
|
|
816
|
+
"code": "import { Slider } from '@1money/component-ui';\n// or\nimport { Slider } from '@1money/component-ui/Slider';",
|
|
799
817
|
"source": "readme",
|
|
800
818
|
"compilable": true
|
|
801
819
|
},
|
|
@@ -811,12 +829,6 @@
|
|
|
811
829
|
"source": "stories",
|
|
812
830
|
"compilable": true
|
|
813
831
|
},
|
|
814
|
-
"5c2d27af4dbbbbbab8df84b3717712bc8ef7522b3f93eb8d20540a1db723e8e9": {
|
|
815
|
-
"title": "Import",
|
|
816
|
-
"code": "import { VirtualList } from '@1money/components-ui';\n// or\nimport { VirtualList } from '@1money/components-ui/VirtualList';",
|
|
817
|
-
"source": "readme",
|
|
818
|
-
"compilable": true
|
|
819
|
-
},
|
|
820
832
|
"5c8961675725144291340a7560c3c798389ce24d786783dedd6ffcac93193a0d": {
|
|
821
833
|
"title": "Batch Resize",
|
|
822
834
|
"code": "{\n const [batchInfo, setBatchInfo] = useState<string>('');\n\n return (\n <div>\n <p style={{ marginBottom: 8, color: '#666' }}>\n Collection batches resize events from multiple children into a single callback:\n </p>\n <ResizeObserver.Collection\n onBatchResize={(infos) => {\n setBatchInfo(\n `Batch: ${infos.length} resize(s) — ${infos.map((i) => `${i.data}: ${i.size.width}×${i.size.height}`).join(', ')}`,\n );\n }}\n >\n <div style={{ display: 'flex', gap: 16 }}>\n {['First', 'Second'].map((name) => (\n <ResizeObserver key={name} data={name}>\n <div style={{ ...boxStyle, minWidth: 150 }}>\n {name}\n </div>\n </ResizeObserver>\n ))}\n </div>\n </ResizeObserver.Collection>\n {batchInfo && <div style={infoStyle}>{batchInfo}</div>}\n </div>\n );\n }",
|
|
@@ -835,6 +847,12 @@
|
|
|
835
847
|
"source": "stories",
|
|
836
848
|
"compilable": true
|
|
837
849
|
},
|
|
850
|
+
"5e00edd3637d6c6dc07726e8869358c272f4f3f102f4e7323b4dc71d74647a93": {
|
|
851
|
+
"title": "Canonical usage",
|
|
852
|
+
"code": "import { Clipboard } from '@1money/component-ui';\n\n<Clipboard\n label=\"Setup Key\"\n content=\"GWKLDLVE25dfLIJOHUD578JPIHD24JLJGHGOUH27HLIHOUGOLIKHJ547HOU\"\n onSuccess={(v) => console.log(v)}\n/>",
|
|
853
|
+
"source": "canonical",
|
|
854
|
+
"compilable": true
|
|
855
|
+
},
|
|
838
856
|
"5f3b6d99f2f042d7c984a9f73cb179167b6c80cfbd3c106d1c96ecc86ba1a888": {
|
|
839
857
|
"title": "Cell States",
|
|
840
858
|
"code": "<div style={{ display: 'flex', flexDirection: 'column', gap: 12 }}>\n <Radio\n checked\n variant=\"cell\"\n size=\"large\"\n alignment=\"left\"\n icon=\"swift\"\n label=\"Checked\"\n description=\"Primary selection\"\n style={{ width: 300 }}\n />\n <Radio\n checked\n variant=\"cell\"\n size=\"medium\"\n alignment=\"left\"\n icon=\"swift\"\n label=\"Medium\"\n style={{ width: 180 }}\n />\n <Radio\n checked\n variant=\"cell\"\n size=\"small\"\n alignment=\"left\"\n icon=\"swift\"\n label=\"Small\"\n style={{ width: 180 }}\n />\n <Radio\n checked\n disabled\n variant=\"cell\"\n size=\"large\"\n alignment=\"left\"\n icon=\"swift\"\n label=\"Disabled checked\"\n description=\"Disabled state\"\n style={{ width: 300 }}\n />\n </div>",
|
|
@@ -847,21 +865,21 @@
|
|
|
847
865
|
"source": "stories",
|
|
848
866
|
"compilable": true
|
|
849
867
|
},
|
|
850
|
-
"5f4e0a0d85f2ecaf7434a70622e83ab0495c984cb44a41abe7be980b68b4274e": {
|
|
851
|
-
"title": "Import",
|
|
852
|
-
"code": "import { Space } from '@1money/components-ui';\n// or\nimport { Space } from '@1money/components-ui/Space';\nimport { SPACE_ALIGN, SPACE_DIRECTION, SPACE_SIZE } from '@1money/components-ui/Space';",
|
|
853
|
-
"source": "readme",
|
|
854
|
-
"compilable": true
|
|
855
|
-
},
|
|
856
868
|
"605adda93170929ef763469422e3708f248624774e5274b6053c7aa0c53b9680": {
|
|
857
869
|
"title": "Action And Close",
|
|
858
870
|
"code": "<Alert\n {...args}\n status=\"warning\"\n title=\"New compliance checklist\"\n body=\"A new checklist item is required before the next outbound transfer can be approved.\"\n link={{ label: 'Open checklist', onClick: fn() }}\n action={<Button onClick={fn()}>Review now</Button>}\n closable\n onClose={fn()}\n />",
|
|
859
871
|
"source": "stories",
|
|
860
872
|
"compilable": false
|
|
861
873
|
},
|
|
862
|
-
"
|
|
874
|
+
"6100fc2a8e5223e9cb058946bfa868735653b13a46dbde6901ba88436958f7b9": {
|
|
875
|
+
"title": "Canonical usage",
|
|
876
|
+
"code": "import { Navigation, Nav, NavigationStepper } from '@1money/component-ui';\n// or\nimport { Navigation, Nav, NavigationStepper } from '@1money/component-ui/Navigation';",
|
|
877
|
+
"source": "canonical",
|
|
878
|
+
"compilable": true
|
|
879
|
+
},
|
|
880
|
+
"611d0250c7741a20c80e73d193b80a1b7ef07db189ce51a592525843432117af": {
|
|
863
881
|
"title": "Canonical usage",
|
|
864
|
-
"code": "import {
|
|
882
|
+
"code": "import { Carousel } from '@1money/component-ui';\n// or\nimport { Carousel } from '@1money/component-ui/Carousel';",
|
|
865
883
|
"source": "canonical",
|
|
866
884
|
"compilable": true
|
|
867
885
|
},
|
|
@@ -877,6 +895,18 @@
|
|
|
877
895
|
"source": "canonical",
|
|
878
896
|
"compilable": true
|
|
879
897
|
},
|
|
898
|
+
"62b5efe615c2669f474d5e6b4b89e9548d25b067decf9570da5994151f8c3d63": {
|
|
899
|
+
"title": "Import",
|
|
900
|
+
"code": "import { Radio, RadioGroup } from '@1money/component-ui';\n// or tree-shakeable\nimport { Radio, RadioGroup } from '@1money/component-ui/Radio';",
|
|
901
|
+
"source": "readme",
|
|
902
|
+
"compilable": true
|
|
903
|
+
},
|
|
904
|
+
"63391782d107e1289c88ced32f63afa3f0c14adfed71d7eec78de19097260755": {
|
|
905
|
+
"title": "Navigation (sidebar with collapse)",
|
|
906
|
+
"code": "import { useRef } from 'react';\nimport type { NavigationHandlers } from '@1money/component-ui';\n\nconst ref = useRef<NavigationHandlers>(null);\n\nfunction CompanySelector() {\n return <button type=\"button\">Acme Treasury</button>;\n}\n\nfunction SettingsLink() {\n return <a href=\"/settings\">Settings</a>;\n}\n\n<Navigation\n ref={ref}\n items={[\n { key: 'home', label: 'Home', icon: 'home', active: true },\n { key: 'portfolio', label: 'Portfolio', icon: 'portfolio' },\n {\n key: 'transactions',\n label: 'Transactions',\n icon: 'transactions',\n children: [\n { key: 'deposits', label: 'Deposits' },\n { key: 'withdrawals', label: 'Withdrawals' },\n ],\n },\n ]}\n collapsible\n onCollapse={(collapsed) => console.log(collapsed)}\n selector={<CompanySelector />}\n>\n {/* rendered at the bottom of the sidebar */}\n <SettingsLink />\n</Navigation>\n\n// Imperative control\nref.current?.toggle();\nref.current?.collapse(true);",
|
|
907
|
+
"source": "readme",
|
|
908
|
+
"compilable": true
|
|
909
|
+
},
|
|
880
910
|
"63dbd5aa5b4f9b648a7f6152b99058966f4b36ade7cece4b750f71e4389a4dea": {
|
|
881
911
|
"title": "Usage",
|
|
882
912
|
"code": "<Carousel count={4} defaultActiveIndex={0} onChange={(index) => console.log(index)} />",
|
|
@@ -889,12 +919,6 @@
|
|
|
889
919
|
"source": "stories",
|
|
890
920
|
"compilable": true
|
|
891
921
|
},
|
|
892
|
-
"65c3343037038d0c10d4369de3281ebadf175b42ba5afe9bf9ae5c490d587003": {
|
|
893
|
-
"title": "Import",
|
|
894
|
-
"code": "import { Pagination, usePagination } from '@1money/components-ui';\n// or\nimport { Pagination, usePagination } from '@1money/components-ui/Pagination';",
|
|
895
|
-
"source": "readme",
|
|
896
|
-
"compilable": true
|
|
897
|
-
},
|
|
898
922
|
"66d442fc9388c014800dbcc672d9dae750c1529fd05f0b26e8f4dbf091abd20b": {
|
|
899
923
|
"title": "Visual Spec",
|
|
900
924
|
"code": "<div style={PREVIEW_GRID_STYLE}>\n <TooltipPreviewCard label=\"Title + body / left aligned\" title=\"Title\" body=\"Body text\" />\n <TooltipPreviewCard label=\"Minimum width 48px\" body=\"Hi\" />\n <TooltipPreviewCard label=\"Maximum width 400px on web\" title=\"Long title\" body={LONG_BODY} />\n </div>",
|
|
@@ -913,54 +937,24 @@
|
|
|
913
937
|
"source": "stories",
|
|
914
938
|
"compilable": false
|
|
915
939
|
},
|
|
916
|
-
"69f29e0647a74609f6aaa9ea3dc6ffa3559143861f405d2fd72e046abddd390a": {
|
|
917
|
-
"title": "Import",
|
|
918
|
-
"code": "import { Clipboard } from '@1money/components-ui';\n// or\nimport { Clipboard } from '@1money/components-ui/Copy';",
|
|
919
|
-
"source": "readme",
|
|
920
|
-
"compilable": true
|
|
921
|
-
},
|
|
922
940
|
"6a4d77a29ff76bfcd465b53ac79952fae765bb337ef3ca2affc7781ce487a74f": {
|
|
923
941
|
"title": "With Icon End",
|
|
924
942
|
"code": "<Button {...args} iconEnd={<Icons name=\"arrowRight\" />}>\n Icon End\n </Button>",
|
|
925
943
|
"source": "stories",
|
|
926
944
|
"compilable": false
|
|
927
945
|
},
|
|
928
|
-
"
|
|
946
|
+
"6bf195e98d5a455cd0e5d43c58373b8311a4178b49a2f00f1f029af3e4b24447": {
|
|
929
947
|
"title": "Canonical usage",
|
|
930
|
-
"code": "import {
|
|
948
|
+
"code": "import { Empty } from '@1money/component-ui';\n// or\nimport { Empty } from '@1money/component-ui/Empty';",
|
|
931
949
|
"source": "canonical",
|
|
932
950
|
"compilable": true
|
|
933
951
|
},
|
|
934
|
-
"
|
|
952
|
+
"6cdbf053120c0759e352f165296a9e509b2a7f994d1bf58da3b65dd4e3603553": {
|
|
935
953
|
"title": "Import",
|
|
936
|
-
"code": "import {
|
|
937
|
-
"source": "readme",
|
|
938
|
-
"compilable": true
|
|
939
|
-
},
|
|
940
|
-
"6ccfe4f2a1e0923b5c6ee03d7662c164882ad513d3e32a35a1ea7b9500f17169": {
|
|
941
|
-
"title": "Responsive Usage",
|
|
942
|
-
"code": "const GRID_GUTTER = { sm: 8, md: 16, lg: 24 };\nconst SPAN_BASE = 12;\nconst SPAN_SM = 6;\nconst SPAN_MD = 4;\nconst OFFSET_MD = 2;\nconst SPAN_LARGE = 3;\n\nimport { GRID_JUSTIFY } from '@1money/components-ui/Grid';\n\nconst GRID_JUSTIFY_RESPONSIVE = {\n sm: GRID_JUSTIFY.start,\n md: GRID_JUSTIFY.spaceBetween,\n lg: GRID_JUSTIFY.end\n};\nconst PUSH_COL = 1;\nconst PULL_COL = 1;\n\n<Grid gutter={GRID_GUTTER}>\n <Grid.Col span={SPAN_BASE} sm={SPAN_SM} md={{ span: SPAN_MD, offset: OFFSET_MD }} lg={SPAN_LARGE} />\n</Grid>\n\n<Grid gutter={GRID_GUTTER} justify={GRID_JUSTIFY_RESPONSIVE}>\n <Grid.Col span={SPAN_BASE} sm={SPAN_SM} md={{ span: SPAN_MD, offset: OFFSET_MD }} lg={SPAN_LARGE} />\n <Grid.Col span={SPAN_BASE} push={PUSH_COL} pull={PULL_COL} />\n</Grid>",
|
|
954
|
+
"code": "import { Segment } from '@1money/component-ui';\n// or\nimport { Segment } from '@1money/component-ui/Segment';",
|
|
943
955
|
"source": "readme",
|
|
944
956
|
"compilable": true
|
|
945
957
|
},
|
|
946
|
-
"6d1aac6219f8d395eb9f6c5c13da9f51970c30059c74d6faeb7ddc895bc2af19": {
|
|
947
|
-
"title": "Canonical usage",
|
|
948
|
-
"code": "import type { IconHoverProps } from '@1money/component-ui';",
|
|
949
|
-
"source": "canonical",
|
|
950
|
-
"compilable": true
|
|
951
|
-
},
|
|
952
|
-
"6dadb9a4d982338ee8398025f4cea4aa2ed33dba5303e56b6a65b1f23cb93bf0": {
|
|
953
|
-
"title": "Canonical usage",
|
|
954
|
-
"code": "import { Select } from '@1money/components-ui';\n// or\nimport { Select } from '@1money/components-ui/Select';",
|
|
955
|
-
"source": "canonical",
|
|
956
|
-
"compilable": true
|
|
957
|
-
},
|
|
958
|
-
"6e80043b40836c60acfd06f4f79316dc3655e1d82fbc77f8f04b8126862001af": {
|
|
959
|
-
"title": "Canonical usage",
|
|
960
|
-
"code": "import {\n ProForm,\n ProFormText,\n ProFormSelect,\n DialogForm,\n QueryFilter,\n} from '@1money/components-ui';\n// or\nimport { ProForm, ProFormText } from '@1money/components-ui/ProForm';",
|
|
961
|
-
"source": "canonical",
|
|
962
|
-
"compilable": true
|
|
963
|
-
},
|
|
964
958
|
"6ea2fa87fa2050f0e9e5f271bfbcac33d12cf62034f24d55257ec9955430ef59": {
|
|
965
959
|
"title": "Usage",
|
|
966
960
|
"code": "<Clipboard\n label=\"Setup Key\"\n content=\"GWKLDLVE25dfLIJOHUD578JPIHD24JLJGHGOUH27HLIHOUGOLIKHJ547HOU\"\n onSuccess={(val) => console.log('Copied:', val)}\n onError={(val) => console.log('Failed:', val)}\n/>",
|
|
@@ -973,28 +967,28 @@
|
|
|
973
967
|
"source": "stories",
|
|
974
968
|
"compilable": false
|
|
975
969
|
},
|
|
970
|
+
"6fdf08048e1bed84d748f8d5d2fb86efe525926a026aaa4917f514fc855777b2": {
|
|
971
|
+
"title": "Canonical usage",
|
|
972
|
+
"code": "import { ProForm } from '@1money/component-ui';\n\n<ProForm onFinish={(values) => console.log(values)}>\n <ProForm.Text name=\"name\" label=\"Name\" />\n</ProForm>",
|
|
973
|
+
"source": "canonical",
|
|
974
|
+
"compilable": true
|
|
975
|
+
},
|
|
976
976
|
"701f468e63d72f0fe836f011aae7941f7202835fe80f43ae13f529a130c5a505": {
|
|
977
977
|
"title": "Semantic Tags",
|
|
978
978
|
"code": "<div style={STORY_LAYOUT_STYLE}>\n <Typography.Display size=\"sm\" as=\"h1\">\n Display rendered as h1\n </Typography.Display>\n <Typography.Headline size=\"md\" as=\"h2\">\n Headline rendered as h2\n </Typography.Headline>\n <Typography.Title size=\"lg\" as=\"h3\">\n Title rendered as h3\n </Typography.Title>\n <Typography.Body size=\"md\" as=\"p\">\n Body rendered as p for longer narrative content.\n </Typography.Body>\n <Typography.Label size=\"sm\" htmlFor=\"typography-story-input\">\n Email address\n </Typography.Label>\n <input id=\"typography-story-input\" placeholder=\"Input target for label\" />\n </div>",
|
|
979
979
|
"source": "stories",
|
|
980
980
|
"compilable": true
|
|
981
981
|
},
|
|
982
|
-
"71d241ed07b5a8c1aaa432bcff2fb9f72af207e1c7f5aa4023ac2359f926be9e": {
|
|
983
|
-
"title": "Usage",
|
|
984
|
-
"code": "<Drawer\n open={open}\n title=\"Transfer details\"\n placement=\"right\"\n onClose={() => setOpen(false)}\n footer={<Button onClick={() => setOpen(false)}>Done</Button>}\n>\n Drawer content\n</Drawer>",
|
|
985
|
-
"source": "readme",
|
|
986
|
-
"compilable": true
|
|
987
|
-
},
|
|
988
982
|
"71f7aeb8fd7bb546bc7d562a717683681d8eccf7f2beeee86e3196121d6656f1": {
|
|
989
983
|
"title": "With Icon Start",
|
|
990
984
|
"code": "<Button {...args} iconStart={<Icons name=\"add\" />}>\n Icon Start\n </Button>",
|
|
991
985
|
"source": "stories",
|
|
992
986
|
"compilable": false
|
|
993
987
|
},
|
|
994
|
-
"
|
|
995
|
-
"title": "
|
|
996
|
-
"code": "import {
|
|
997
|
-
"source": "
|
|
988
|
+
"7318e5e19b35c2334284717d2b44382c3f0aa456d1d61c6892e3211c2c77135d": {
|
|
989
|
+
"title": "Canonical usage",
|
|
990
|
+
"code": "import { Pagination, usePagination } from '@1money/component-ui';\n// or\nimport { Pagination, usePagination } from '@1money/component-ui/Pagination';",
|
|
991
|
+
"source": "canonical",
|
|
998
992
|
"compilable": true
|
|
999
993
|
},
|
|
1000
994
|
"7374135a0f5702e8c0e689b3ce2576b5c15b47c90d9fffe7c2bcff8693acd9ef": {
|
|
@@ -1003,6 +997,12 @@
|
|
|
1003
997
|
"source": "stories",
|
|
1004
998
|
"compilable": true
|
|
1005
999
|
},
|
|
1000
|
+
"73c34dcab340dfc36bb0f4e928f6911b25f7f3d6d590dfb72c3c1226a9c573fe": {
|
|
1001
|
+
"title": "Canonical usage",
|
|
1002
|
+
"code": "import { Tag } from '@1money/component-ui';\n// or\nimport { Tag } from '@1money/component-ui/Tag';",
|
|
1003
|
+
"source": "canonical",
|
|
1004
|
+
"compilable": true
|
|
1005
|
+
},
|
|
1006
1006
|
"73da19095cdcbe4a8b8d7ec782967002cf9da27f5638d7ec08e376a8d777aeda": {
|
|
1007
1007
|
"title": "Controlled and Uncontrolled",
|
|
1008
1008
|
"code": "// Standalone controlled\n<Radio\n label=\"Controlled\"\n checked={value}\n onChange={(event) => setValue(event.target.checked)}\n/>\n\n// Standalone uncontrolled\n<Radio label=\"Uncontrolled\" defaultChecked />\n\n// Group controlled\n<RadioGroup value={selected} onChange={handleChange}>\n <Radio value=\"a\" label=\"Option A\" />\n <Radio value=\"b\" label=\"Option B\" />\n</RadioGroup>\n\n// Group uncontrolled\n<RadioGroup defaultValue=\"a\">\n <Radio value=\"a\" label=\"Option A\" />\n <Radio value=\"b\" label=\"Option B\" />\n</RadioGroup>",
|
|
@@ -1021,18 +1021,6 @@
|
|
|
1021
1021
|
"source": "stories",
|
|
1022
1022
|
"compilable": false
|
|
1023
1023
|
},
|
|
1024
|
-
"75fc55f93a5502c927a0f7967cd25465c98417b3afe02ec8880531efc12a3362": {
|
|
1025
|
-
"title": "Canonical usage",
|
|
1026
|
-
"code": "import { Clipboard } from '@1money/components-ui';\n\n<Clipboard\n label=\"Setup Key\"\n content=\"GWKLDLVE25dfLIJOHUD578JPIHD24JLJGHGOUH27HLIHOUGOLIKHJ547HOU\"\n onSuccess={(v) => console.log(v)}\n/>",
|
|
1027
|
-
"source": "canonical",
|
|
1028
|
-
"compilable": true
|
|
1029
|
-
},
|
|
1030
|
-
"76052e611a155b488f8eee38973e3b050274bc58b0a974f66b8c9a55e77e28b6": {
|
|
1031
|
-
"title": "Canonical usage",
|
|
1032
|
-
"code": "import { Typography } from '@1money/components-ui';\n// or\nimport { Typography } from '@1money/components-ui/Typography';",
|
|
1033
|
-
"source": "canonical",
|
|
1034
|
-
"compilable": true
|
|
1035
|
-
},
|
|
1036
1024
|
"76302edb4c36b3507a837c478a5be477379f78f3e0093f51d2c5874f610a1fb5": {
|
|
1037
1025
|
"title": "Detail Panel Spacing",
|
|
1038
1026
|
"code": "<div style={DEMO_PAGE_STYLE}>\n <Space size={SPACE_SIZE.large} align={SPACE_ALIGN.start} style={{ width: '100%' }}>\n <Space direction={SPACE_DIRECTION.vertical} size={SPACE_SIZE.middle} style={DEMO_COLUMN_STYLE}>\n <div style={DEMO_INLINE_ITEM_STYLE}>Business Name</div>\n <div style={DEMO_INLINE_ITEM_STYLE}>Registration Number</div>\n <div style={DEMO_INLINE_ITEM_STYLE}>Country</div>\n <div style={DEMO_INLINE_ITEM_STYLE}>Created At</div>\n </Space>\n\n <Space direction={SPACE_DIRECTION.vertical} size={SPACE_SIZE.middle} style={DEMO_COLUMN_STYLE}>\n <Space split={<span>|</span>} size={SPACE_SIZE.small}>\n <span>Risk: Medium</span>\n <span>KYB: Reviewing</span>\n <span>AML: Passed</span>\n </Space>\n <div style={DEMO_INLINE_ITEM_STYLE}>Operator: Derrick</div>\n <div style={DEMO_INLINE_ITEM_STYLE}>Last Updated: 2026-02-09</div>\n </Space>\n </Space>\n </div>",
|
|
@@ -1045,12 +1033,6 @@
|
|
|
1045
1033
|
"source": "readme",
|
|
1046
1034
|
"compilable": true
|
|
1047
1035
|
},
|
|
1048
|
-
"770c9ef1e8d4b176e14cf2288788ed37782cbbee674dbb3f3017c1714e81a200": {
|
|
1049
|
-
"title": "Import",
|
|
1050
|
-
"code": "import { Switch } from '@1money/components-ui';\n// or\nimport { Switch } from '@1money/components-ui/Switch';",
|
|
1051
|
-
"source": "readme",
|
|
1052
|
-
"compilable": true
|
|
1053
|
-
},
|
|
1054
1036
|
"7880909af758a291affc6ba2a56af087c012f00945684528454d55e9faffbb53": {
|
|
1055
1037
|
"title": "Sidebar Content Layout",
|
|
1056
1038
|
"code": "<div style={DEMO_PAGE_STYLE}>\n <Flex gap={GAP_MIDDLE} align={FLEX_ALIGN.start} justify={FLEX_JUSTIFY.start} wrap={WRAP_DISABLED}>\n <Flex vertical gap={GAP_SMALL} style={{ ...DEMO_PANEL_STYLE, minWidth: 220 }}>\n <div style={DEMO_ITEM_STYLE}>Menu Group A</div>\n <div style={DEMO_ITEM_STYLE}>Menu Group B</div>\n <div style={DEMO_ITEM_STYLE}>Menu Group C</div>\n </Flex>\n\n <Flex vertical gap={GAP_MIDDLE} style={{ ...DEMO_PANEL_STYLE, flex: 1 }}>\n <Flex align={FLEX_ALIGN.center} justify={FLEX_JUSTIFY.spaceBetween}>\n <div style={DEMO_ITEM_STYLE}>Page Title</div>\n <Flex gap={GAP_SMALL}>\n <div style={DEMO_ITEM_STYLE}>Export</div>\n <div style={DEMO_ITEM_STYLE}>Create</div>\n </Flex>\n </Flex>\n <div style={DEMO_PANEL_STYLE}>Main Content</div>\n <Flex align={FLEX_ALIGN.center} justify={FLEX_JUSTIFY.end} gap={GAP_SMALL}>\n <div style={DEMO_ITEM_STYLE}>Cancel</div>\n <div style={DEMO_ITEM_STYLE}>Save</div>\n </Flex>\n </Flex>\n </Flex>\n </div>",
|
|
@@ -1063,6 +1045,18 @@
|
|
|
1063
1045
|
"source": "readme",
|
|
1064
1046
|
"compilable": true
|
|
1065
1047
|
},
|
|
1048
|
+
"79ba9feac95c34ef9c471c31ca2e8d612dd9da173b384f413f52916a485d6065": {
|
|
1049
|
+
"title": "Canonical usage",
|
|
1050
|
+
"code": "import { Calendar } from '@1money/component-ui';\n// or\nimport { Calendar } from '@1money/component-ui/Calendar';",
|
|
1051
|
+
"source": "canonical",
|
|
1052
|
+
"compilable": true
|
|
1053
|
+
},
|
|
1054
|
+
"7a25185c2f84fe20e85c2806cd7c4a624a5062225c528477beb49e950592f87c": {
|
|
1055
|
+
"title": "Usage",
|
|
1056
|
+
"code": "import { Icons } from '@1money/component-ui';\n\nconst steps = [\n {\n icon: <Icons name=\"dashboard\" size={24} />,\n heading: 'Welcome to Dashboard',\n body: 'Here you can see an overview of your finances.',\n },\n {\n heading: 'Track Your Spending',\n body: 'Use the charts to monitor transactions by category.',\n },\n {\n heading: \"You're all set!\",\n body: 'Explore the rest of the app at your own pace.',\n },\n];\n\n<CoachMark\n steps={steps}\n defaultActiveStep={0}\n placement=\"top\"\n onFinish={() => console.log('Tour complete')}\n onDismiss={() => console.log('Tour dismissed')}\n/>",
|
|
1057
|
+
"source": "readme",
|
|
1058
|
+
"compilable": true
|
|
1059
|
+
},
|
|
1066
1060
|
"7a3a92935f0b863855900ffe5295cb58ad8e6a2f83cdf8ae82ea0a93ff8b829b": {
|
|
1067
1061
|
"title": "Description And Feedback",
|
|
1068
1062
|
"code": "<ProForm\n {...args}\n initialValues={{ username: '', email: '', bio: '', agree: false }}\n onFinish={(values) => alert(JSON.stringify(values, null, 2))}\n >\n <ProFormText\n name=\"username\"\n label=\"Username\"\n description=\"Only letters, numbers, and underscores. 3-20 characters.\"\n placeholder=\"Enter username\"\n feedback=\"This will be your public display name.\"\n rules={[\n { required: true, message: 'Username is required' },\n { min: 3, message: 'At least 3 characters' },\n ]}\n />\n <ProFormText\n name=\"email\"\n label=\"Email\"\n description=\"We'll never share your email with anyone else.\"\n placeholder=\"Enter email\"\n rules={[\n { required: true, message: 'Email is required' },\n { type: 'email', message: 'Invalid email format' },\n ]}\n />\n <ProFormTextArea\n name=\"bio\"\n label=\"Bio\"\n description=\"Markdown is supported. Max 500 characters.\"\n placeholder=\"Tell us about yourself\"\n />\n <ProFormPassword\n name=\"password\"\n label=\"Password\"\n description=\"Must contain at least 8 characters, one uppercase and one number.\"\n rules={[{ required: true, message: 'Password is required' }]}\n />\n <ProFormCheckbox\n name=\"agree\"\n label=\"I accept the terms\"\n feedback=\"You must agree before submitting.\"\n />\n </ProForm>",
|
|
@@ -1087,6 +1081,12 @@
|
|
|
1087
1081
|
"source": "stories",
|
|
1088
1082
|
"compilable": true
|
|
1089
1083
|
},
|
|
1084
|
+
"7d415c46958e4b98092da361ef3a5b5a788b71628f8dfaa3a8ee1021b6871cee": {
|
|
1085
|
+
"title": "Import",
|
|
1086
|
+
"code": "import { Button, Icons } from '@1money/component-ui';\n// or\nimport { Button } from '@1money/component-ui/Button';\nimport { Icons } from '@1money/component-ui/Icons';",
|
|
1087
|
+
"source": "readme",
|
|
1088
|
+
"compilable": true
|
|
1089
|
+
},
|
|
1090
1090
|
"7decc20ca0112ca8b497a08d1131565c7fc9d060ebdee8a34422d6f60b1a5c00": {
|
|
1091
1091
|
"title": "Non Virtual",
|
|
1092
1092
|
"code": "{\n const smallData = generateData(20);\n return (\n <div style={containerStyle}>\n <VirtualList\n data={smallData}\n height={300}\n itemHeight={30}\n itemKey=\"id\"\n virtual={false}\n >\n {(item: Item) => (\n <div style={itemStyle(item.height)}>\n <span>Item {item.id} (non-virtual)</span>\n </div>\n )}\n </VirtualList>\n </div>\n );\n }",
|
|
@@ -1105,12 +1105,6 @@
|
|
|
1105
1105
|
"source": "stories",
|
|
1106
1106
|
"compilable": true
|
|
1107
1107
|
},
|
|
1108
|
-
"7e423f9896eb2bcccdb051f9cae6f76f83c431686da59f2d1c5a3d6a8ce51474": {
|
|
1109
|
-
"title": "Canonical usage",
|
|
1110
|
-
"code": "import { Carousel } from '@1money/components-ui';\n// or\nimport { Carousel } from '@1money/components-ui/Carousel';",
|
|
1111
|
-
"source": "canonical",
|
|
1112
|
-
"compilable": true
|
|
1113
|
-
},
|
|
1114
1108
|
"7f54085ee6892564556d190e01d8e809af4cd0841f2c8c6876faeb511fbe8834": {
|
|
1115
1109
|
"title": "All Field Types",
|
|
1116
1110
|
"code": "<ProForm\n {...args}\n initialValues={{\n text: 'Hello',\n textWithButton: '',\n password: 'secret123',\n textarea: 'Multi-line\\ncontent',\n agree: true,\n options: [],\n darkMode: false,\n role: 'admin',\n volume: 60,\n date: null,\n }}\n onFinish={(values) => alert(JSON.stringify(values, null, 2))}\n >\n <ProFormText name=\"text\" label=\"Text Input\" placeholder=\"Type here...\" />\n <ProFormText\n name=\"textWithButton\"\n label=\"Text with Button\"\n placeholder=\"Enter verification code\"\n fieldProps={{\n suffix: (\n <Button color=\"primary\" size=\"small\" style={{ marginRight: -4 }}>\n Send Code\n </Button>\n ),\n }}\n />\n <ProFormPassword name=\"password\" label=\"Password\" placeholder=\"Password\" />\n <ProFormTextArea name=\"textarea\" label=\"Text Area\" placeholder=\"Enter long text\" />\n <ProFormCheckbox name=\"agree\" label=\"I agree to the terms\" />\n <ProFormCheckboxGroup\n name=\"options\"\n label=\"Pick options\"\n fieldProps={{\n options: [\n { label: 'Option A', value: 'a' },\n { label: 'Option B', value: 'b' },\n { label: 'Option C', value: 'c' },\n ],\n }}\n />\n <ProFormSwitch name=\"darkMode\" label=\"Dark Mode\" />\n <ProFormRadioGroup\n name=\"role\"\n label=\"Role\"\n fieldProps={{\n direction: 'horizontal',\n options: [\n { label: 'Admin', value: 'admin' },\n { label: 'Editor', value: 'editor' },\n { label: 'Viewer', value: 'viewer' },\n ],\n }}\n />\n <ProFormSlider\n name=\"volume\"\n label=\"Volume\"\n fieldProps={{ min: 0, max: 100 }}\n />\n <ProFormDatePicker\n name=\"date\"\n label=\"Date\"\n fieldProps={{ dateFormat: 'yy-mm-dd' }}\n />\n </ProForm>",
|
|
@@ -1135,12 +1129,6 @@
|
|
|
1135
1129
|
"source": "stories",
|
|
1136
1130
|
"compilable": false
|
|
1137
1131
|
},
|
|
1138
|
-
"8129a087395157c8e93b214d9f280f542658a37d2d8aa6ea5e2561bf7d128925": {
|
|
1139
|
-
"title": "Navigation (sidebar with collapse)",
|
|
1140
|
-
"code": "import { useRef } from 'react';\nimport type { NavigationHandlers } from '@1money/components-ui';\n\nconst ref = useRef<NavigationHandlers>(null);\n\n<Navigation\n ref={ref}\n items={[\n { key: 'home', label: 'Home', icon: 'home', active: true },\n { key: 'portfolio', label: 'Portfolio', icon: 'portfolio' },\n {\n key: 'transactions',\n label: 'Transactions',\n icon: 'transactions',\n children: [\n { key: 'deposits', label: 'Deposits' },\n { key: 'withdrawals', label: 'Withdrawals' },\n ],\n },\n ]}\n collapsible\n onCollapse={(collapsed) => console.log(collapsed)}\n selector={<CompanySelector />}\n>\n {/* rendered at the bottom of the sidebar */}\n <SettingsLink />\n</Navigation>\n\n// Imperative control\nref.current?.toggle();\nref.current?.collapse(true);",
|
|
1141
|
-
"source": "readme",
|
|
1142
|
-
"compilable": true
|
|
1143
|
-
},
|
|
1144
1132
|
"81fa795ca4a1acae4ec31efda3c21167df7e3f24ad1461056a90469ff70b835a": {
|
|
1145
1133
|
"title": "Multi Select With Checkbox",
|
|
1146
1134
|
"code": "{\n const [selected, setSelected] = useState<string[]>(['Banana', 'Date']);\n\n const toggle = (item: string) => {\n setSelected((prev) =>\n prev.includes(item) ? prev.filter((v) => v !== item) : [...prev, item],\n );\n };\n\n return (\n <Dropdown\n {...args}\n overlayStyle={{ minWidth: 260 }}\n content={\n <div style={{ display: 'flex', flexDirection: 'column', gap: 4 }}>\n {selected.length > 0 && (\n <div style={selectedBarStyle}>\n <span style={{ fontSize: 14, fontWeight: 500, color: '#131313' }}>\n {selected.length} selected\n </span>\n <button\n type=\"button\"\n style={clearAllBtnStyle}\n onClick={() => setSelected([])}\n >\n <Icons name=\"cross\" size={16} color=\"#ae0000\" />\n Clear all\n </button>\n </div>\n )}\n <div style={{ display: 'flex', flexDirection: 'column', gap: 2 }}>\n {SIMPLE_ITEMS.map((item) => (\n <div\n key={item}\n style={{\n padding: '6px 12px',\n borderRadius: 8,\n fontSize: 14,\n backgroundColor: selected.includes(item) ? '#f8f8f8' : 'transparent',\n }}\n >\n <div style={{ display: 'flex', alignItems: 'center', gap: 8, cursor: 'pointer' }} onClick={() => toggle(item)}>\n <Checkbox\n checked={selected.includes(item)}\n onChange={() => toggle(item)}\n />\n <TypographyBody>{item}</TypographyBody>\n </div>\n\n </div>\n ))}\n </div>\n </div>\n }\n >\n <Button>\n {selected.length > 0 ? `${selected.length} selected` : 'Select items'}\n </Button>\n </Dropdown>\n );\n }",
|
|
@@ -1177,39 +1165,51 @@
|
|
|
1177
1165
|
"source": "readme",
|
|
1178
1166
|
"compilable": true
|
|
1179
1167
|
},
|
|
1180
|
-
"
|
|
1181
|
-
"title": "
|
|
1182
|
-
"code": "import {
|
|
1168
|
+
"83a40b3d42ffa56ab725f6babf7cfa8029b002fa72a6a9debc106e51292cd840": {
|
|
1169
|
+
"title": "Basic Usage",
|
|
1170
|
+
"code": "import { Flex } from '@1money/component-ui';\nimport { FLEX_ALIGN, FLEX_GAP, FLEX_JUSTIFY } from '@1money/component-ui/Flex';\n\n<Flex gap={FLEX_GAP.middle} align={FLEX_ALIGN.center} justify={FLEX_JUSTIFY.spaceBetween}>\n <div>Left</div>\n <div>Right</div>\n</Flex>",
|
|
1183
1171
|
"source": "readme",
|
|
1184
1172
|
"compilable": true
|
|
1185
1173
|
},
|
|
1186
|
-
"83a7f14ec7ad74308dcc340c21d3a1bd3bfae1a54793a236229c65619188361f": {
|
|
1187
|
-
"title": "Canonical usage",
|
|
1188
|
-
"code": "import { Input } from '@1money/components-ui';\n// or\nimport { Input } from '@1money/components-ui/Input';",
|
|
1189
|
-
"source": "canonical",
|
|
1190
|
-
"compilable": true
|
|
1191
|
-
},
|
|
1192
1174
|
"842244e70f89e2aaf6941718de836ab3a6e08d642a4d4bb2e80cee160158470f": {
|
|
1193
1175
|
"title": "Default",
|
|
1194
1176
|
"code": "{\n const sizes = ['large', 'small'] as const;\n const statuses = ['default', 'error'] as const;\n const valueTypes = ['Placeholder', 'Filled'] as const;\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: 40 }}>\n {sizes.map((size) => (\n <div key={size}>\n <h3 style={{ margin: '0 0 16px', textTransform: 'capitalize' }}>{size}</h3>\n <div style={{ display: 'flex', gap: 24, flexWrap: 'wrap' }}>\n {statuses.map((status) =>\n valueTypes.map((vt) => (\n <div key={`${status}-${vt}`} style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>\n {status} / {vt}\n </p>\n <Input\n size={size}\n status={status}\n label=\"Label\"\n feedback=\"Feedback\"\n feedbackIcon={status === 'error' ? <Icons name=\"error\" size={16} /> : <Icons name=\"info\" size={16} />}\n placeholder=\"Value\"\n allowClear\n defaultValue={vt === 'Filled' ? 'Input value' : undefined}\n />\n </div>\n )),\n )}\n {/* Read-Only */}\n {valueTypes.map((vt) => (\n <div key={`readonly-${vt}`} style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>\n read-only / {vt}\n </p>\n <Input\n size={size}\n readOnly\n label=\"Label\"\n feedback=\"Feedback\"\n feedbackIcon={<Icons name=\"info\" size={16} />}\n placeholder=\"Value\"\n defaultValue={vt === 'Filled' ? 'Read-only value' : undefined}\n />\n </div>\n ))}\n {/* Disabled */}\n {valueTypes.map((vt) => (\n <div key={`disabled-${vt}`} style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>\n disabled / {vt}\n </p>\n <Input\n size={size}\n disabled\n label=\"Label\"\n feedback=\"Feedback\"\n feedbackIcon={<Icons name=\"info\" size={16} />}\n placeholder=\"Value\"\n defaultValue={vt === 'Filled' ? 'Disabled value' : undefined}\n />\n </div>\n ))}\n </div>\n </div>\n ))}\n\n {/* ── With Prefix / Suffix ── */}\n <div>\n <h3 style={{ margin: '0 0 16px' }}>With Prefix / Suffix</h3>\n <div style={{ display: 'flex', gap: 24, flexWrap: 'wrap' }}>\n <div style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>Prefix + Suffix</p>\n <Input\n label=\"Label\"\n defaultValue=\"100\"\n prefix={<span>USD</span>}\n suffix={<span>Max</span>}\n allowClear\n />\n </div>\n <div style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>Prefix only</p>\n <Input\n label=\"Label\"\n placeholder=\"Enter amount\"\n prefix={<span>$</span>}\n allowClear\n />\n </div>\n <div style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>Suffix only</p>\n <Input\n label=\"Label\"\n placeholder=\"Enter email\"\n suffix={<span>@gmail.com</span>}\n />\n </div>\n </div>\n </div>\n\n {/* ── Required / Info ── */}\n <div>\n <h3 style={{ margin: '0 0 16px' }}>Required / Info</h3>\n <div style={{ display: 'flex', gap: 24, flexWrap: 'wrap' }}>\n <div style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>Required</p>\n <Input\n label=\"Label\"\n required\n placeholder=\"Required field\"\n />\n </div>\n <div style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>Optional (required=false)</p>\n <Input\n label=\"Label\"\n required={false}\n placeholder=\"Optional field\"\n />\n </div>\n <div style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>With Info</p>\n <Input\n label=\"Label\"\n info=\"Optional hint\"\n placeholder=\"Value\"\n />\n </div>\n <div style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>With Tip</p>\n <Input\n label=\"Label\"\n tip=\"This is a helpful tooltip\"\n placeholder=\"Value\"\n />\n </div>\n <div style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>Optional + Info + Tip</p>\n <Input\n label=\"Label\"\n required={false}\n info=\"Optional hint\"\n tip=\"This is a helpful tooltip\"\n placeholder=\"Value\"\n />\n </div>\n </div>\n </div>\n </div>\n );\n }",
|
|
1195
1177
|
"source": "stories",
|
|
1196
1178
|
"compilable": true
|
|
1197
1179
|
},
|
|
1180
|
+
"8585bff0f1eb7ff6a28f523eb07a2fe420a92d4ab2b329724362d75b08df00d5": {
|
|
1181
|
+
"title": "Import",
|
|
1182
|
+
"code": "import { Typography } from '@1money/component-ui';\n// or\nimport {\n Typography,\n TypographyBody,\n TypographyDisplay,\n TypographyHeadline,\n TypographyLabel,\n TypographyLink,\n TypographyTitle,\n} from '@1money/component-ui/Typography';",
|
|
1183
|
+
"source": "readme",
|
|
1184
|
+
"compilable": true
|
|
1185
|
+
},
|
|
1198
1186
|
"85a3e1ad39461a191a1fdd7c9e26a2810d6e3f39e4304aad3029d5eec043b3d8": {
|
|
1199
1187
|
"title": "RadioGroup With Options",
|
|
1200
1188
|
"code": "const [selected, setSelected] = useState<string | number>('email');\n\n<RadioGroup\n value={selected}\n onChange={(event) => {\n if (event.target.value !== undefined) {\n setSelected(event.target.value);\n }\n }}\n options={[\n { value: 'email', label: 'Email', description: 'Receive via email' },\n { value: 'sms', label: 'SMS', description: 'Receive via text message' },\n { value: 'push', label: 'Push', description: 'Receive on your device' },\n ]}\n/>",
|
|
1201
1189
|
"source": "readme",
|
|
1202
1190
|
"compilable": true
|
|
1203
1191
|
},
|
|
1192
|
+
"85a8f18e9db777e582613af812e91ae876d4cb2d7b0ce8feef546c53672a32e8": {
|
|
1193
|
+
"title": "Canonical usage",
|
|
1194
|
+
"code": "import { Copy } from '@1money/component-ui';\n// or\nimport { Copy } from '@1money/component-ui/Copy';",
|
|
1195
|
+
"source": "canonical",
|
|
1196
|
+
"compilable": true
|
|
1197
|
+
},
|
|
1204
1198
|
"8635e5203dcc0ffc85bde3edc3cafc477676635bb31ab8c71a82f13a90c00b5d": {
|
|
1205
1199
|
"title": "Error",
|
|
1206
1200
|
"code": "<div style={wrapperStyle}>\n <Step\n {...args}\n items={[\n {\n key: STEP_ITEM_KEYS.start,\n title: STEP_SAMPLE_COPY.title,\n description: STEP_SAMPLE_COPY.description,\n status: STEP_STATUS.error,\n tag: STEP_SAMPLE_COPY.tag,\n },\n {\n key: STEP_ITEM_KEYS.complete,\n title: STEP_SAMPLE_COPY.title,\n description: STEP_SAMPLE_COPY.description,\n status: STEP_STATUS.error,\n tag: STEP_SAMPLE_COPY.tag,\n },\n {\n key: STEP_ITEM_KEYS.error,\n title: STEP_SAMPLE_COPY.title,\n description: STEP_SAMPLE_COPY.description,\n status: STEP_STATUS.default,\n tag: STEP_SAMPLE_COPY.tag,\n },\n ]}\n />\n </div>",
|
|
1207
1201
|
"source": "stories",
|
|
1208
1202
|
"compilable": false
|
|
1209
1203
|
},
|
|
1210
|
-
"
|
|
1204
|
+
"87093dabc20e5f57b2b6778e44b86a15161814292c77dcf8ff8ee67b5416b71b": {
|
|
1211
1205
|
"title": "Canonical usage",
|
|
1212
|
-
"code": "import {
|
|
1206
|
+
"code": "import { Dialog } from '@1money/component-ui';\n// or\nimport { Dialog } from '@1money/component-ui/Dialog';",
|
|
1207
|
+
"source": "canonical",
|
|
1208
|
+
"compilable": true
|
|
1209
|
+
},
|
|
1210
|
+
"870e2b31b3b9f07f3c86e4a3d972ce2ac8d52ccfec472c80ef17614db549d99c": {
|
|
1211
|
+
"title": "Canonical usage",
|
|
1212
|
+
"code": "import { Grid, Row, Col } from '@1money/component-ui';\n// or\nimport { Grid, Row, Col } from '@1money/component-ui/Grid';\nimport { GRID_ALIGN, GRID_JUSTIFY } from '@1money/component-ui/Grid';",
|
|
1213
1213
|
"source": "canonical",
|
|
1214
1214
|
"compilable": true
|
|
1215
1215
|
},
|
|
@@ -1219,27 +1219,33 @@
|
|
|
1219
1219
|
"source": "stories",
|
|
1220
1220
|
"compilable": false
|
|
1221
1221
|
},
|
|
1222
|
-
"
|
|
1223
|
-
"title": "
|
|
1224
|
-
"code": "
|
|
1225
|
-
"source": "
|
|
1222
|
+
"87da44f303a10795fdc48405385400573d6df57d3902450fd80820b207063783": {
|
|
1223
|
+
"title": "Import",
|
|
1224
|
+
"code": "import { Tour } from '@1money/component-ui';\n// or\nimport { Tour } from '@1money/component-ui/Tour';",
|
|
1225
|
+
"source": "readme",
|
|
1226
1226
|
"compilable": true
|
|
1227
1227
|
},
|
|
1228
|
-
"
|
|
1228
|
+
"881749c8a1a24d971f731a3a711abd8ca83a3db2291db92d41114f4df6b2b380": {
|
|
1229
1229
|
"title": "Canonical usage",
|
|
1230
|
-
"code": "import {
|
|
1230
|
+
"code": "import { Progress } from '@1money/component-ui';\n// or\nimport { Progress } from '@1money/component-ui/Progress';",
|
|
1231
1231
|
"source": "canonical",
|
|
1232
1232
|
"compilable": true
|
|
1233
1233
|
},
|
|
1234
|
+
"88a98229b741820a7e0d61f5e3e8e51340ac8d1cc2eb5332be8189a42f43b6ff": {
|
|
1235
|
+
"title": "No Animation",
|
|
1236
|
+
"code": "<Tabs items={DEFAULT_ITEMS} animated={false} />",
|
|
1237
|
+
"source": "stories",
|
|
1238
|
+
"compilable": true
|
|
1239
|
+
},
|
|
1234
1240
|
"89acd530e5d3ac4d2f2cdc50085c98fc8d6ee5a3f488a16486455a35460bb354": {
|
|
1235
1241
|
"title": "Long Text",
|
|
1236
1242
|
"code": "<div style={PREVIEW_GRID_STYLE}>\n <TooltipPreviewCard\n label=\"Long body only\"\n body={EXTRA_LONG_TEXT}\n />\n <TooltipPreviewCard\n label=\"Long title + long body\"\n title=\"This is a very long tooltip title that might wrap to multiple lines\"\n body={EXTRA_LONG_TEXT}\n />\n <TooltipPreviewCard\n label=\"Long body with placement right\"\n body={EXTRA_LONG_TEXT}\n placement=\"right\"\n />\n </div>",
|
|
1237
1243
|
"source": "stories",
|
|
1238
1244
|
"compilable": true
|
|
1239
1245
|
},
|
|
1240
|
-
"
|
|
1241
|
-
"title": "
|
|
1242
|
-
"code": "
|
|
1246
|
+
"8a5806fc588c223301f3b8050939aef03b37dac957c426887998aa3f4423697e": {
|
|
1247
|
+
"title": "Vertical",
|
|
1248
|
+
"code": "<span>\n Text <Divider type=\"vertical\" /> Text\n</span>",
|
|
1243
1249
|
"source": "readme",
|
|
1244
1250
|
"compilable": true
|
|
1245
1251
|
},
|
|
@@ -1249,6 +1255,12 @@
|
|
|
1249
1255
|
"source": "stories",
|
|
1250
1256
|
"compilable": false
|
|
1251
1257
|
},
|
|
1258
|
+
"8cc002e0e73f335fa1d9b738bc68bc5e35dc521d869efddbfd4aac0399ee81b8": {
|
|
1259
|
+
"title": "Canonical usage",
|
|
1260
|
+
"code": "import { Portal } from '@1money/component-ui';\n// or\nimport { Portal } from '@1money/component-ui/Portal';",
|
|
1261
|
+
"source": "canonical",
|
|
1262
|
+
"compilable": true
|
|
1263
|
+
},
|
|
1252
1264
|
"8d9b4b816f395924fb061a9384e54b2fc8e97a3bfd441367d6c70ff5397f23ec": {
|
|
1253
1265
|
"title": "Text With Icon",
|
|
1254
1266
|
"code": "<Button {...args} variant={BUTTON_VARIANT.text} iconEnd={<Icons name=\"arrowRight\" />}>\n Learn More\n </Button>",
|
|
@@ -1261,45 +1273,21 @@
|
|
|
1261
1273
|
"source": "stories",
|
|
1262
1274
|
"compilable": true
|
|
1263
1275
|
},
|
|
1264
|
-
"
|
|
1265
|
-
"title": "Canonical usage",
|
|
1266
|
-
"code": "import { Flex } from '@1money/components-ui';\n// or\nimport { Flex } from '@1money/components-ui/Flex';\nimport { FLEX_ALIGN, FLEX_GAP, FLEX_JUSTIFY, FLEX_WRAP } from '@1money/components-ui/Flex';",
|
|
1267
|
-
"source": "canonical",
|
|
1268
|
-
"compilable": true
|
|
1269
|
-
},
|
|
1270
|
-
"8ee4eda344b62edf1015fe21cd52d4f5a5dd71cc3afca58644d9f941978f4f08": {
|
|
1276
|
+
"8f3224780dc7035f24c1a9a5e7915be84f23695cd953df669bb6e54afce4ff90": {
|
|
1271
1277
|
"title": "Canonical usage",
|
|
1272
|
-
"code": "import {
|
|
1278
|
+
"code": "import { Icons } from '@1money/component-ui';\n\n<Icons name=\"arrowRight\" size={24} />",
|
|
1273
1279
|
"source": "canonical",
|
|
1274
1280
|
"compilable": true
|
|
1275
1281
|
},
|
|
1276
|
-
"8f2d97b44cca3977d39ba134e5981f875d9e8cf9cff20b301aed559b8870665b": {
|
|
1277
|
-
"title": "Vertical",
|
|
1278
|
-
"code": "Text <Divider type=\"vertical\" /> Text",
|
|
1279
|
-
"source": "readme",
|
|
1280
|
-
"compilable": true
|
|
1281
|
-
},
|
|
1282
|
-
"8ffb7323c737a0cc1f4c296336b8763bf0acdafb29eb029b4046496aaa1b4d27": {
|
|
1283
|
-
"title": "Import",
|
|
1284
|
-
"code": "import { Alert } from '@1money/components-ui';\n// or\nimport { Alert } from '@1money/components-ui/Alert';",
|
|
1285
|
-
"source": "readme",
|
|
1286
|
-
"compilable": true
|
|
1287
|
-
},
|
|
1288
1282
|
"90bea0eac958ff92526a0901cd2515a8694e96039b3d056e709ede70bd1b4678": {
|
|
1289
1283
|
"title": "Search Only Filtered",
|
|
1290
1284
|
"code": "{\n const [value, setValue] = useState<string | number | undefined>(undefined);\n const [searchValue, setSearchValue] = useState('');\n\n const trimmed = searchValue.trim().toLowerCase();\n const filteredOptions = trimmed\n ? ASSET_OPTIONS.filter((option) => {\n const label = String(option.label).toLowerCase();\n const description = String(option.description ?? '').toLowerCase();\n const optionValue = String(option.value).toLowerCase();\n return (\n label.includes(trimmed) ||\n description.includes(trimmed) ||\n optionValue.includes(trimmed)\n );\n })\n : [];\n\n return (\n <div style={storyContainerStyle}>\n <Select\n {...args}\n value={value}\n options={filteredOptions}\n searchValue={searchValue}\n emptyContent={trimmed ? 'No matches' : 'Type to search assets'}\n onSearchChange={(next) => {\n setSearchValue(next);\n args.onSearchChange?.(next);\n }}\n onChange={(nextValue, option) => {\n setValue(nextValue as string | number | undefined);\n args.onChange?.(nextValue, option);\n }}\n />\n </div>\n );\n }",
|
|
1291
1285
|
"source": "stories",
|
|
1292
1286
|
"compilable": false
|
|
1293
1287
|
},
|
|
1294
|
-
"
|
|
1295
|
-
"title": "Canonical usage",
|
|
1296
|
-
"code": "import { Alert } from '@1money/components-ui';\n// or\nimport { Alert } from '@1money/components-ui/Alert';",
|
|
1297
|
-
"source": "canonical",
|
|
1298
|
-
"compilable": true
|
|
1299
|
-
},
|
|
1300
|
-
"93b8b9acce6685bc6f00a21f857fc812e41fb754d3e946d7576e2543f056f1c0": {
|
|
1288
|
+
"920c6084b0c74e8e6ccd8e98e3afd2477bffb820950ef10b1e933c2597cd446f": {
|
|
1301
1289
|
"title": "Canonical usage",
|
|
1302
|
-
"code": "import {
|
|
1290
|
+
"code": "import { Icons, IconWrapper, IconHover } from '@1money/component-ui';\n// or\nimport { Icons, IconWrapper, IconHover } from '@1money/component-ui/Icons';\n\n// Type imports\nimport type { IconName, SortIconStatus } from '@1money/component-ui';",
|
|
1303
1291
|
"source": "canonical",
|
|
1304
1292
|
"compilable": true
|
|
1305
1293
|
},
|
|
@@ -1309,9 +1297,9 @@
|
|
|
1309
1297
|
"source": "stories",
|
|
1310
1298
|
"compilable": false
|
|
1311
1299
|
},
|
|
1312
|
-
"
|
|
1313
|
-
"title": "
|
|
1314
|
-
"code": "import {
|
|
1300
|
+
"93d92a4c2994ad24677ef5800318b556bdd570a6f6547fe359586b7898bbffa0": {
|
|
1301
|
+
"title": "Import",
|
|
1302
|
+
"code": "import { Navigation, Nav, NavigationStepper } from '@1money/component-ui';\n// or\nimport { Navigation, Nav, NavigationStepper } from '@1money/component-ui/Navigation';",
|
|
1315
1303
|
"source": "readme",
|
|
1316
1304
|
"compilable": true
|
|
1317
1305
|
},
|
|
@@ -1327,15 +1315,9 @@
|
|
|
1327
1315
|
"source": "stories",
|
|
1328
1316
|
"compilable": false
|
|
1329
1317
|
},
|
|
1330
|
-
"
|
|
1318
|
+
"96a4fb49627068cd32df95bce74ab746a2901c627dcd70fa9bf9c9247f21b7a3": {
|
|
1331
1319
|
"title": "Canonical usage",
|
|
1332
|
-
"code": "import {
|
|
1333
|
-
"source": "canonical",
|
|
1334
|
-
"compilable": true
|
|
1335
|
-
},
|
|
1336
|
-
"96811d7b0b7448138a55d8b001aae58595a2e5201ba8bc5ef5ca1cf1a79a8524": {
|
|
1337
|
-
"title": "Canonical usage",
|
|
1338
|
-
"code": "import { Segment } from '@1money/components-ui';\n// or\nimport { Segment } from '@1money/components-ui/Segment';",
|
|
1320
|
+
"code": "import { Trigger } from '@1money/component-ui';\n// or\nimport { Trigger } from '@1money/component-ui/Trigger';",
|
|
1339
1321
|
"source": "canonical",
|
|
1340
1322
|
"compilable": true
|
|
1341
1323
|
},
|
|
@@ -1345,9 +1327,9 @@
|
|
|
1345
1327
|
"source": "stories",
|
|
1346
1328
|
"compilable": false
|
|
1347
1329
|
},
|
|
1348
|
-
"
|
|
1330
|
+
"972760bf5ab84d11fe02c95be34c823bc9ee3d6e0009ebd7bee036df4a721356": {
|
|
1349
1331
|
"title": "Import",
|
|
1350
|
-
"code": "import {
|
|
1332
|
+
"code": "import { Dropdown } from '@1money/component-ui';\n// or\nimport { Dropdown } from '@1money/component-ui/Dropdown';",
|
|
1351
1333
|
"source": "readme",
|
|
1352
1334
|
"compilable": true
|
|
1353
1335
|
},
|
|
@@ -1369,6 +1351,12 @@
|
|
|
1369
1351
|
"source": "stories",
|
|
1370
1352
|
"compilable": true
|
|
1371
1353
|
},
|
|
1354
|
+
"985b12a88fa482e6b7ff9230128c385166aa202ba56916e9d048bcb83046081b": {
|
|
1355
|
+
"title": "Canonical usage",
|
|
1356
|
+
"code": "import { Input } from '@1money/component-ui';\n\n<Input label=\"Amount\" placeholder=\"Value\" />",
|
|
1357
|
+
"source": "canonical",
|
|
1358
|
+
"compilable": true
|
|
1359
|
+
},
|
|
1372
1360
|
"991d316ea63cfd7ffbebf14b3b1e27e44442737febab245a5576b67e01d3af2a": {
|
|
1373
1361
|
"title": "All Variants",
|
|
1374
1362
|
"code": "<div style={{ display: 'flex', gap: 48 }}>\n <div style={{ flex: 1, display: 'flex', flexDirection: 'column', gap: 16 }}>\n <h3>Rectangle</h3>\n <Skeleton />\n <Skeleton width=\"10rem\" />\n <Skeleton width=\"5rem\" />\n <Skeleton height=\"2rem\" />\n <Skeleton width=\"10rem\" height=\"4rem\" />\n\n <h3 style={{ marginTop: 8 }}>Rounded</h3>\n <Skeleton borderRadius=\"16px\" />\n <Skeleton width=\"10rem\" borderRadius=\"16px\" />\n <Skeleton width=\"5rem\" borderRadius=\"16px\" />\n <Skeleton height=\"2rem\" borderRadius=\"16px\" />\n <Skeleton width=\"10rem\" height=\"4rem\" borderRadius=\"16px\" />\n </div>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>\n <h3>Square</h3>\n <div style={{ display: 'flex', gap: 8 }}>\n <Skeleton size=\"2rem\" />\n <Skeleton size=\"3rem\" />\n <Skeleton size=\"4rem\" />\n <Skeleton size=\"5rem\" />\n </div>\n\n <h3 style={{ marginTop: 8 }}>Circle</h3>\n <div style={{ display: 'flex', gap: 8 }}>\n <Skeleton shape=\"circle\" size=\"2rem\" />\n <Skeleton shape=\"circle\" size=\"3rem\" />\n <Skeleton shape=\"circle\" size=\"4rem\" />\n <Skeleton shape=\"circle\" size=\"5rem\" />\n </div>\n </div>\n </div>",
|
|
@@ -1381,15 +1369,9 @@
|
|
|
1381
1369
|
"source": "stories",
|
|
1382
1370
|
"compilable": true
|
|
1383
1371
|
},
|
|
1384
|
-
"
|
|
1385
|
-
"title": "
|
|
1386
|
-
"code": "import {
|
|
1387
|
-
"source": "readme",
|
|
1388
|
-
"compilable": true
|
|
1389
|
-
},
|
|
1390
|
-
"9a6b2f4b0ce1fdea4c73f1f9ea0d1471dc97d3dd7783c798b6b99ddc7f3bf15c": {
|
|
1391
|
-
"title": "Import",
|
|
1392
|
-
"code": "import { Skeleton } from '@1money/components-ui';\n// or\nimport { Skeleton } from '@1money/components-ui/Skeleton';",
|
|
1372
|
+
"9971f4d638cacc647af1a34ef98beb3f2aaf11c08d3a3f8f21fd0fd5bdef0dde": {
|
|
1373
|
+
"title": "CheckboxGroup Props",
|
|
1374
|
+
"code": "import { Checkbox, CheckboxGroup } from '@1money/component-ui';\n// or\nimport { Checkbox, CheckboxGroup } from '@1money/component-ui/Checkbox';\n\n<CheckboxGroup\n name=\"fruits\"\n options={[\n { label: 'Apple', value: 'apple' },\n { label: 'Pear', value: 'pear' },\n ]}\n value={selectedValues}\n onChange={setSelectedValues}\n/>\n\n<Checkbox.Group defaultValue={['alpha']}>\n <Checkbox value=\"alpha\" label=\"Alpha\" />\n <Checkbox value=\"beta\" label=\"Beta\" />\n</Checkbox.Group>",
|
|
1393
1375
|
"source": "readme",
|
|
1394
1376
|
"compilable": true
|
|
1395
1377
|
},
|
|
@@ -1399,22 +1381,10 @@
|
|
|
1399
1381
|
"source": "stories",
|
|
1400
1382
|
"compilable": true
|
|
1401
1383
|
},
|
|
1402
|
-
"
|
|
1403
|
-
"title": "
|
|
1404
|
-
"code": "import {
|
|
1405
|
-
"source": "
|
|
1406
|
-
"compilable": true
|
|
1407
|
-
},
|
|
1408
|
-
"9d095c31abb7ac97c40b817bfca40bcb706f8b8572f9a6af7218643f08b7464b": {
|
|
1409
|
-
"title": "Import",
|
|
1410
|
-
"code": "import { Flex } from '@1money/components-ui';\n// or\nimport { Flex } from '@1money/components-ui/Flex';\nimport { FLEX_ALIGN, FLEX_GAP, FLEX_JUSTIFY, FLEX_WRAP } from '@1money/components-ui/Flex';",
|
|
1411
|
-
"source": "readme",
|
|
1412
|
-
"compilable": true
|
|
1413
|
-
},
|
|
1414
|
-
"9d9e13198adcfe9df9f475bcf7d1fcef492fbd98892daaddb28d65ca2e213a74": {
|
|
1415
|
-
"title": "Import",
|
|
1416
|
-
"code": "import { ResizeObserver, useResizeObserver } from '@1money/components-ui';\n// or\nimport { ResizeObserver, useResizeObserver } from '@1money/components-ui/ResizeObserver';",
|
|
1417
|
-
"source": "readme",
|
|
1384
|
+
"9bb4d9b6b7856693e7c803e925d729a969cf39ccee9c6e08327e6e60305ca0f3": {
|
|
1385
|
+
"title": "Canonical usage",
|
|
1386
|
+
"code": "import { Step } from '@1money/component-ui';\n// or\nimport { Step } from '@1money/component-ui/Step';",
|
|
1387
|
+
"source": "canonical",
|
|
1418
1388
|
"compilable": true
|
|
1419
1389
|
},
|
|
1420
1390
|
"9eae41b47da6d3b07d6bfdb98fe407b6be85aa68db3fe695699cf9588b65eda8": {
|
|
@@ -1435,18 +1405,24 @@
|
|
|
1435
1405
|
"source": "stories",
|
|
1436
1406
|
"compilable": true
|
|
1437
1407
|
},
|
|
1438
|
-
"a0eaa77614f8bc2563173aa4c68d578c2a7d2957ec1696516c9656d43737f7e2": {
|
|
1439
|
-
"title": "Import",
|
|
1440
|
-
"code": "import { Segment } from '@1money/components-ui';\n// or\nimport { Segment } from '@1money/components-ui/Segment';",
|
|
1441
|
-
"source": "readme",
|
|
1442
|
-
"compilable": true
|
|
1443
|
-
},
|
|
1444
1408
|
"a148c8eb1938e582f665219c3d3266bc21931e8547a0e516ec73f3a420387ec3": {
|
|
1445
1409
|
"title": "Usage",
|
|
1446
1410
|
"code": "<Link disabled>Read more</Link>",
|
|
1447
1411
|
"source": "readme",
|
|
1448
1412
|
"compilable": true
|
|
1449
1413
|
},
|
|
1414
|
+
"a273142732c4077af48c520b0e9fbec1fcae48b0f012545bcb951e9554b1e0ef": {
|
|
1415
|
+
"title": "Canonical usage",
|
|
1416
|
+
"code": "import { Flex } from '@1money/component-ui';\n// or\nimport { Flex } from '@1money/component-ui/Flex';\nimport { FLEX_ALIGN, FLEX_GAP, FLEX_JUSTIFY, FLEX_WRAP } from '@1money/component-ui/Flex';",
|
|
1417
|
+
"source": "canonical",
|
|
1418
|
+
"compilable": true
|
|
1419
|
+
},
|
|
1420
|
+
"a2e7aabc10ff9cc33437fbe0878251394c4112f7a174a23577d895a7249bba3b": {
|
|
1421
|
+
"title": "Canonical usage",
|
|
1422
|
+
"code": "import { Button, Icons } from '@1money/component-ui';\n// or\nimport { Button } from '@1money/component-ui/Button';\nimport { Icons } from '@1money/component-ui/Icons';",
|
|
1423
|
+
"source": "canonical",
|
|
1424
|
+
"compilable": true
|
|
1425
|
+
},
|
|
1450
1426
|
"a304a3d6b1220502a36e9ed2e198e53f9ce51219f0ff9f64776058c9f3798045": {
|
|
1451
1427
|
"title": "Copyable Text",
|
|
1452
1428
|
"code": "<div style={STORY_LAYOUT_STYLE}>\n <Typography.Body size=\"md\" copyable>\n Plain text with copy action\n </Typography.Body>\n <Typography.Body size=\"md\" copyable={{ text: 'custom-override-value' }}>\n Copy uses a different value\n </Typography.Body>\n </div>",
|
|
@@ -1459,6 +1435,12 @@
|
|
|
1459
1435
|
"source": "readme",
|
|
1460
1436
|
"compilable": true
|
|
1461
1437
|
},
|
|
1438
|
+
"a3c2924a769ad563b93cde498367ce69f6fe286064bae9dd22799a8733aebea6": {
|
|
1439
|
+
"title": "Import",
|
|
1440
|
+
"code": "import { Empty } from '@1money/component-ui';\n// or\nimport { Empty } from '@1money/component-ui/Empty';",
|
|
1441
|
+
"source": "readme",
|
|
1442
|
+
"compilable": true
|
|
1443
|
+
},
|
|
1462
1444
|
"a441ef91fd2695501c12b9a749acb9e33886f02b78b6e77d818f5c11c7a23fe7": {
|
|
1463
1445
|
"title": "Group With Options",
|
|
1464
1446
|
"code": "{\n const [value, setValue] = React.useState<string | number>('email');\n const handleChange = (event: RadioChangeEvent) => {\n if (event.target.value !== undefined) {\n setValue(event.target.value);\n }\n };\n\n return (\n <RadioGroup\n value={value}\n onChange={handleChange}\n options={[\n { value: 'email', label: 'Email', description: 'Receive via email' },\n { value: 'sms', label: 'SMS', description: 'Receive via text message' },\n { value: 'push', label: 'Push notification', description: 'Receive on your device' },\n ]}\n />\n );\n }",
|
|
@@ -1477,21 +1459,39 @@
|
|
|
1477
1459
|
"source": "stories",
|
|
1478
1460
|
"compilable": true
|
|
1479
1461
|
},
|
|
1462
|
+
"a5ae14150d1724de4984c10921713734e86d15771efe397f3015a01c77d13676": {
|
|
1463
|
+
"title": "Canonical usage",
|
|
1464
|
+
"code": "import { Cell } from '@1money/component-ui';\n// or\nimport { Cell } from '@1money/component-ui/Cell';",
|
|
1465
|
+
"source": "canonical",
|
|
1466
|
+
"compilable": true
|
|
1467
|
+
},
|
|
1468
|
+
"a5e7bfca00eae7d485a875832679ab34d67e3c8ef781d04913386ca1185eb822": {
|
|
1469
|
+
"title": "Basic Usage",
|
|
1470
|
+
"code": "import { Button } from '@1money/component-ui';\n\n<Popconfirm\n title=\"Delete transfer rule?\"\n body=\"This action removes the rule immediately and cannot be undone.\"\n cancelText=\"Keep rule\"\n confirmText=\"Delete\"\n onConfirm={() => {\n // perform delete\n }}\n>\n <Button color=\"danger\">Delete rule</Button>\n</Popconfirm>",
|
|
1471
|
+
"source": "readme",
|
|
1472
|
+
"compilable": true
|
|
1473
|
+
},
|
|
1480
1474
|
"a823300963fcf8c4ccf8e531c42aa78d7ab59841b405c471d5c0c0d6ac0b9b22": {
|
|
1481
1475
|
"title": "Text Area",
|
|
1482
1476
|
"code": "{\n const states = ['default', 'error'] as const;\n const valueTypes = ['Placeholder', 'Filled'] as const;\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: 40 }}>\n {/* ── Large ── */}\n <div>\n <h3 style={{ margin: '0 0 16px' }}>Large</h3>\n <div style={{ display: 'flex', gap: 24, flexWrap: 'wrap' }}>\n {states.map((status) =>\n valueTypes.map((vt) => (\n <div key={`${status}-${vt}`} style={{ width: 400 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>\n {status} / {vt}\n </p>\n <Input.TextArea\n label=\"Label\"\n feedback=\"Feedback\"\n feedbackIcon={status === 'error' ? <Icons name=\"error\" size={16} /> : <Icons name=\"info\" size={16} />}\n status={status}\n placeholder=\"Value\"\n defaultValue={vt === 'Filled' ? 'Longer memo value that spans multiple lines to demonstrate the filled state of the textarea component' : undefined}\n rows={4}\n showCount\n maxLength={250}\n />\n </div>\n )),\n )}\n {/* Disabled */}\n {valueTypes.map((vt) => (\n <div key={`disabled-${vt}`} style={{ width: 400 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>\n disabled / {vt}\n </p>\n <Input.TextArea\n label=\"Label\"\n feedback=\"Feedback\"\n feedbackIcon={<Icons name=\"info\" size={16} />}\n disabled\n placeholder=\"Value\"\n defaultValue={vt === 'Filled' ? 'Disabled filled value' : undefined}\n rows={4}\n showCount\n maxLength={250}\n />\n </div>\n ))}\n </div>\n </div>\n\n {/* ── Small ── */}\n <div>\n <h3 style={{ margin: '0 0 16px' }}>Small</h3>\n <div style={{ display: 'flex', gap: 24, flexWrap: 'wrap' }}>\n <div style={{ width: 400 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>default / Placeholder</p>\n <Input.TextArea\n size=\"small\"\n label=\"Label\"\n feedback=\"Feedback\"\n feedbackIcon={<Icons name=\"info\" size={16} />}\n placeholder=\"Value\"\n rows={3}\n showCount\n maxLength={250}\n />\n </div>\n <div style={{ width: 400 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>default / Filled</p>\n <Input.TextArea\n size=\"small\"\n label=\"Label\"\n feedback=\"Feedback\"\n feedbackIcon={<Icons name=\"info\" size={16} />}\n placeholder=\"Value\"\n defaultValue=\"Small filled value\"\n rows={3}\n showCount\n maxLength={250}\n />\n </div>\n </div>\n </div>\n </div>\n );\n }",
|
|
1483
1477
|
"source": "stories",
|
|
1484
1478
|
"compilable": true
|
|
1485
1479
|
},
|
|
1486
|
-
"
|
|
1487
|
-
"title": "
|
|
1488
|
-
"code": "
|
|
1480
|
+
"a93b112762fa56f6d4b7725a0370a6f2c175f1458d13fc08c07ee10a2ca4ab6c": {
|
|
1481
|
+
"title": "Import",
|
|
1482
|
+
"code": "import { Copy } from '@1money/component-ui';\n// or\nimport { Copy } from '@1money/component-ui/Copy';",
|
|
1489
1483
|
"source": "readme",
|
|
1490
1484
|
"compilable": true
|
|
1491
1485
|
},
|
|
1492
|
-
"
|
|
1493
|
-
"title": "
|
|
1494
|
-
"code": "import {
|
|
1486
|
+
"a9c090e5b6baf8fbf540fa9467f4b5fa43e6cc9de869c162084bb5262534e1d6": {
|
|
1487
|
+
"title": "Canonical usage",
|
|
1488
|
+
"code": "import { Skeleton } from '@1money/component-ui';\n// or\nimport { Skeleton } from '@1money/component-ui/Skeleton';",
|
|
1489
|
+
"source": "canonical",
|
|
1490
|
+
"compilable": true
|
|
1491
|
+
},
|
|
1492
|
+
"aa0e9842f54e521f7ff371e51003e26ed69263bef1d5d37baaa5fd6fa189e32c": {
|
|
1493
|
+
"title": "Split Example",
|
|
1494
|
+
"code": "<Space split={<span>|</span>} size={SPACE_SIZE.small}>\n <span>Alpha</span>\n <span>Beta</span>\n <span>Gamma</span>\n</Space>",
|
|
1495
1495
|
"source": "readme",
|
|
1496
1496
|
"compilable": true
|
|
1497
1497
|
},
|
|
@@ -1513,21 +1513,45 @@
|
|
|
1513
1513
|
"source": "readme",
|
|
1514
1514
|
"compilable": true
|
|
1515
1515
|
},
|
|
1516
|
+
"ad2d08fce81c4f209ec3c8897be49561183e09a4a4a0c1d763fa85e0837255db": {
|
|
1517
|
+
"title": "Import",
|
|
1518
|
+
"code": "import { Carousel } from '@1money/component-ui';\n// or\nimport { Carousel } from '@1money/component-ui/Carousel';",
|
|
1519
|
+
"source": "readme",
|
|
1520
|
+
"compilable": true
|
|
1521
|
+
},
|
|
1522
|
+
"adc02f7e653e00211d2f727e3ef895d626db0f7ff0da6436a51e52ecddefc1ec": {
|
|
1523
|
+
"title": "Canonical usage",
|
|
1524
|
+
"code": "import { VirtualList } from '@1money/component-ui';\n// or\nimport { VirtualList } from '@1money/component-ui/VirtualList';",
|
|
1525
|
+
"source": "canonical",
|
|
1526
|
+
"compilable": true
|
|
1527
|
+
},
|
|
1516
1528
|
"ae23f0d9349157c952b7752e33ea302d85c3d3f09654ece8ddf9107f7b194b68": {
|
|
1517
1529
|
"title": "Usage",
|
|
1518
1530
|
"code": "{/* Hover trigger (default) */}\n<button id=\"my-trigger\">Hover me</button>\n<Tooltip anchorSelect=\"#my-trigger\" body=\"Simple tooltip\" />\n\n{/* With title */}\n<button id=\"info-trigger\">Info</button>\n<Tooltip anchorSelect=\"#info-trigger\" title=\"Heading\" body=\"Detailed text\" placement=\"bottom\" />\n\n{/* Controlled */}\n<button id=\"ctrl-trigger\">Controlled</button>\n<Tooltip anchorSelect=\"#ctrl-trigger\" body=\"Controlled tooltip\" open={isOpen} onOpenChange={setIsOpen} />\n\n{/* Click trigger */}\n<button id=\"click-trigger\">Click me</button>\n<Tooltip\n anchorSelect=\"#click-trigger\"\n body=\"Click tooltip\"\n openEvents={{ click: true, mouseover: false, mouseenter: false, focus: false }}\n closeEvents={{ click: true, mouseleave: false, mouseout: false, blur: false }}\n/>",
|
|
1519
1531
|
"source": "readme",
|
|
1520
1532
|
"compilable": true
|
|
1521
1533
|
},
|
|
1534
|
+
"ae246cd51ebca22cef4c68e015452c7db50311c6425bddfe634ace9ce667fe11": {
|
|
1535
|
+
"title": "Import",
|
|
1536
|
+
"code": "import { CoachMark } from '@1money/component-ui';\n// or\nimport { CoachMark } from '@1money/component-ui/CoachMark';",
|
|
1537
|
+
"source": "readme",
|
|
1538
|
+
"compilable": true
|
|
1539
|
+
},
|
|
1522
1540
|
"af6172fd099200e93181aeb231c5d69c5b4b4d057a1f32935aa2f35ed86ffebe": {
|
|
1523
1541
|
"title": "Search",
|
|
1524
1542
|
"code": "{\n const onSearch = fn();\n const sizes = ['large', 'small'] as const;\n const columns = [\n { label: 'Default', props: {} },\n { label: 'Disabled', props: { disabled: true } },\n ];\n\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: 40 }}>\n {sizes.map((size) => (\n <div key={size}>\n <h3 style={{ margin: '0 0 16px', textTransform: 'capitalize' }}>{size}</h3>\n <div style={{ display: 'flex', flexDirection: 'column', gap: 24 }}>\n {/* Placeholder row */}\n <div>\n <p style={{ margin: '0 0 8px', color: '#666', fontSize: 13 }}>Placeholder</p>\n <div style={{ display: 'flex', gap: 16, flexWrap: 'wrap' }}>\n {columns.map((col) => (\n <div key={col.label} style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>{col.label}</p>\n <Input.Search\n size={size}\n placeholder=\"Search\"\n onSearch={onSearch}\n {...col.props}\n />\n </div>\n ))}\n </div>\n </div>\n {/* Filled row */}\n <div>\n <p style={{ margin: '0 0 8px', color: '#666', fontSize: 13 }}>Filled</p>\n <div style={{ display: 'flex', gap: 16, flexWrap: 'wrap' }}>\n {columns.map((col) => (\n <div key={col.label} style={{ width: 310 }}>\n <p style={{ margin: '0 0 4px', fontSize: 12, color: '#999' }}>{col.label}</p>\n <Input.Search\n size={size}\n placeholder=\"Search\"\n defaultValue=\"Search\"\n allowClear\n onSearch={onSearch}\n {...col.props}\n />\n </div>\n ))}\n </div>\n </div>\n </div>\n </div>\n ))}\n {/* Loading */}\n <div>\n <h3 style={{ margin: '0 0 16px' }}>Loading</h3>\n <div style={{ display: 'flex', gap: 16 }}>\n <div style={{ width: 310 }}>\n <Input.Search\n placeholder=\"Search\"\n defaultValue=\"Search\"\n loading\n onSearch={onSearch}\n />\n </div>\n </div>\n </div>\n </div>\n );\n }",
|
|
1525
1543
|
"source": "stories",
|
|
1526
1544
|
"compilable": false
|
|
1527
1545
|
},
|
|
1528
|
-
"
|
|
1546
|
+
"af88d73f705cf2f7bb20f21e3b6bf5469ae3683b129dc3b5e6b59966449452b9": {
|
|
1529
1547
|
"title": "Import",
|
|
1530
|
-
"code": "import {
|
|
1548
|
+
"code": "import { Alert } from '@1money/component-ui';\n// or\nimport { Alert } from '@1money/component-ui/Alert';",
|
|
1549
|
+
"source": "readme",
|
|
1550
|
+
"compilable": true
|
|
1551
|
+
},
|
|
1552
|
+
"afe811bb04937c81da684427fdc40982aa6f4b50d676e876710f3e22bc71404a": {
|
|
1553
|
+
"title": "Import",
|
|
1554
|
+
"code": "import { Switch } from '@1money/component-ui';\n// or\nimport { Switch } from '@1money/component-ui/Switch';",
|
|
1531
1555
|
"source": "readme",
|
|
1532
1556
|
"compilable": true
|
|
1533
1557
|
},
|
|
@@ -1573,6 +1597,12 @@
|
|
|
1573
1597
|
"source": "stories",
|
|
1574
1598
|
"compilable": false
|
|
1575
1599
|
},
|
|
1600
|
+
"b5122ab00632d0b9f9f205345094b8cc87d3de0e265bfa06f77f8c0538a72a4a": {
|
|
1601
|
+
"title": "Import",
|
|
1602
|
+
"code": "import { Link } from '@1money/component-ui';\n// or\nimport { Link } from '@1money/component-ui/Link';",
|
|
1603
|
+
"source": "readme",
|
|
1604
|
+
"compilable": true
|
|
1605
|
+
},
|
|
1576
1606
|
"b53d16f186c5371a04bc88eb4e5f48d69652f711a0b9596a5b520eea56fd12b7": {
|
|
1577
1607
|
"title": "Usage",
|
|
1578
1608
|
"code": "<Link href=\"https://docs.1money.com\" target=\"_blank\">\n Documentation\n</Link>",
|
|
@@ -1585,6 +1615,24 @@
|
|
|
1585
1615
|
"source": "readme",
|
|
1586
1616
|
"compilable": true
|
|
1587
1617
|
},
|
|
1618
|
+
"b5cf05bb6a8f45cfcd470fe1172b358fbd92178d3eece19d966999aa3f077105": {
|
|
1619
|
+
"title": "Canonical usage",
|
|
1620
|
+
"code": "import { Link } from '@1money/component-ui';\n// or\nimport { Link } from '@1money/component-ui/Link';",
|
|
1621
|
+
"source": "canonical",
|
|
1622
|
+
"compilable": true
|
|
1623
|
+
},
|
|
1624
|
+
"b618a5ec89d3703e8bf3f9b88fa9987155c51787adb5c7b017064afc3b3fdb0b": {
|
|
1625
|
+
"title": "Canonical usage",
|
|
1626
|
+
"code": "import { Accordion } from '@1money/component-ui';\n// or\nimport { Accordion } from '@1money/component-ui/Accordion';",
|
|
1627
|
+
"source": "canonical",
|
|
1628
|
+
"compilable": true
|
|
1629
|
+
},
|
|
1630
|
+
"b642ec44c242139bb5d0c19cff727d2e2c036e30ec3c4597eebd7e533c3252ed": {
|
|
1631
|
+
"title": "Import",
|
|
1632
|
+
"code": "import { Input } from '@1money/component-ui';\n// or\nimport { Input } from '@1money/component-ui/Input';",
|
|
1633
|
+
"source": "readme",
|
|
1634
|
+
"compilable": true
|
|
1635
|
+
},
|
|
1588
1636
|
"b6bf8d1eebcfbb2bb8d4eef7f3fbb26233d5abe1febad432c6cb4d4af6ad7a79": {
|
|
1589
1637
|
"title": "Multiple Children",
|
|
1590
1638
|
"code": "{\n const [sizes, setSizes] = useState<Record<string, SizeInfo>>({});\n\n const handleResize = (key: string) => (sizeInfo: SizeInfo) => {\n setSizes((prev) => ({ ...prev, [key]: sizeInfo }));\n };\n\n return (\n <div>\n <p style={{ marginBottom: 8, color: '#666' }}>\n Each box independently reports its size:\n </p>\n <div style={{ display: 'flex', gap: 16 }}>\n {['A', 'B', 'C'].map((key) => (\n <ResizeObserver key={key} onResize={handleResize(key)}>\n <div\n style={{\n ...boxStyle,\n minWidth: 120,\n width: 120 + ['A', 'B', 'C'].indexOf(key) * 40,\n }}\n >\n Box {key}\n {sizes[key] && (\n <div style={{ fontSize: 12, color: '#999', marginTop: 8 }}>\n {sizes[key].width} × {sizes[key].height}\n </div>\n )}\n </div>\n </ResizeObserver>\n ))}\n </div>\n </div>\n );\n }",
|
|
@@ -1597,9 +1645,9 @@
|
|
|
1597
1645
|
"source": "stories",
|
|
1598
1646
|
"compilable": false
|
|
1599
1647
|
},
|
|
1600
|
-
"
|
|
1601
|
-
"title": "
|
|
1602
|
-
"code": "import {
|
|
1648
|
+
"b89885447fe4270b68a9a64c1a3c6664144939f977fd39aee5bb7e7334679a38": {
|
|
1649
|
+
"title": "Basic Usage",
|
|
1650
|
+
"code": "import { Space } from '@1money/component-ui';\nimport { SPACE_ALIGN, SPACE_DIRECTION, SPACE_SIZE } from '@1money/component-ui/Space';\n\n<Space size={SPACE_SIZE.middle} align={SPACE_ALIGN.center}>\n <span>Left</span>\n <span>Right</span>\n</Space>",
|
|
1603
1651
|
"source": "readme",
|
|
1604
1652
|
"compilable": true
|
|
1605
1653
|
},
|
|
@@ -1609,12 +1657,24 @@
|
|
|
1609
1657
|
"source": "stories",
|
|
1610
1658
|
"compilable": false
|
|
1611
1659
|
},
|
|
1660
|
+
"ba4d7fb2d83dc29cedcc36d923e7baf16aa5872c15a1e5b5a369f188cd1c1bd8": {
|
|
1661
|
+
"title": "Import",
|
|
1662
|
+
"code": "import { Drawer } from '@1money/component-ui';\n// or\nimport { Drawer } from '@1money/component-ui/Drawer';",
|
|
1663
|
+
"source": "readme",
|
|
1664
|
+
"compilable": true
|
|
1665
|
+
},
|
|
1612
1666
|
"bad68aaa47c4d8c9f976f817b5edbef7ff8573f469f9a1bc5bc53482ff65b38e": {
|
|
1613
1667
|
"title": "Usage",
|
|
1614
1668
|
"code": "<Alert\n status=\"info\"\n title=\"Information\"\n body=\"This is an informational message.\"\n link={{ label: 'Learn more', href: '/docs' }}\n closable\n onClose={() => console.log('closed')}\n/>",
|
|
1615
1669
|
"source": "readme",
|
|
1616
1670
|
"compilable": true
|
|
1617
1671
|
},
|
|
1672
|
+
"badf3cdf64f8d773268d54275bd790f16a3357210a7bd056f4637100b7746845": {
|
|
1673
|
+
"title": "Import",
|
|
1674
|
+
"code": "import { Divider } from '@1money/component-ui';",
|
|
1675
|
+
"source": "readme",
|
|
1676
|
+
"compilable": true
|
|
1677
|
+
},
|
|
1618
1678
|
"bda0a33c638ce6212b4a0c6a592ef4de615a792af4360935f5c256a31d3c2bfc": {
|
|
1619
1679
|
"title": "Controlled",
|
|
1620
1680
|
"code": "{\n const [open, setOpen] = useState(false);\n\n return (\n <div style={{ display: 'flex', gap: 8, alignItems: 'center' }}>\n <Dropdown\n {...args}\n open={open}\n onOpenChange={(nextOpen) => {\n setOpen(nextOpen);\n args.onOpenChange?.(nextOpen);\n }}\n content={<MenuContent onClose={() => setOpen(false)} />}\n >\n <Button>Controlled</Button>\n </Dropdown>\n <Button color=\"grey\" size=\"small\" onClick={() => setOpen((prev) => !prev)}>\n Toggle: {open ? 'Open' : 'Closed'}\n </Button>\n </div>\n );\n }",
|
|
@@ -1657,6 +1717,12 @@
|
|
|
1657
1717
|
"source": "stories",
|
|
1658
1718
|
"compilable": true
|
|
1659
1719
|
},
|
|
1720
|
+
"c2c42c200e9bad53b274260619d36029e7257a5f80b73408ffe619abdf14a9d9": {
|
|
1721
|
+
"title": "Canonical usage",
|
|
1722
|
+
"code": "import { Drawer } from '@1money/component-ui';\n// or\nimport { Drawer } from '@1money/component-ui/Drawer';",
|
|
1723
|
+
"source": "canonical",
|
|
1724
|
+
"compilable": true
|
|
1725
|
+
},
|
|
1660
1726
|
"c2d0e5c92e119088561656cca130e7fe6d43a492895329f41b30087cb4f987a7": {
|
|
1661
1727
|
"title": "Sizes",
|
|
1662
1728
|
"code": "<div style={{ display: 'flex', gap: 12, alignItems: 'center' }}>\n {TAG_SIZES.map((size) => (\n <Tag {...args} key={size} size={size} label={size} />\n ))}\n </div>",
|
|
@@ -1675,34 +1741,22 @@
|
|
|
1675
1741
|
"source": "stories",
|
|
1676
1742
|
"compilable": false
|
|
1677
1743
|
},
|
|
1678
|
-
"c37dda6e47f4681c24203fbf4f154801673c331d4394707e6c12c5b07eb3953b": {
|
|
1679
|
-
"title": "Import",
|
|
1680
|
-
"code": "import { Cell } from '@1money/components-ui';\n// or\nimport { Cell } from '@1money/components-ui/Cell';",
|
|
1681
|
-
"source": "readme",
|
|
1682
|
-
"compilable": true
|
|
1683
|
-
},
|
|
1684
1744
|
"c3aaf0098db4c77ba5af727f8c2eb70a9969be6ea15dcba309d583137cfe6e21": {
|
|
1685
1745
|
"title": "Nested List",
|
|
1686
1746
|
"code": "<ProForm\n {...args}\n initialValues={{\n groups: [\n { title: 'Group A', items: [{ name: 'Item 1' }] },\n ],\n }}\n onFinish={(values) => alert(JSON.stringify(values, null, 2))}\n >\n <ProFormList name=\"groups\" label=\"Groups\">\n {(fields) =>\n fields.map(({ name, key }) => (\n <div key={key} style={{ border: '1px solid #eee', padding: 12, marginBottom: 8, borderRadius: 4 }}>\n <ProFormText name={`${name}.title`} label=\"Group Title\" />\n <ProFormList name=\"items\" label=\"Items\">\n {(subFields) =>\n subFields.map((sf) => (\n <ProFormText key={sf.key} name={`${sf.name}.name`} label=\"Item Name\" />\n ))\n }\n </ProFormList>\n </div>\n ))\n }\n </ProFormList>\n </ProForm>",
|
|
1687
1747
|
"source": "stories",
|
|
1688
1748
|
"compilable": false
|
|
1689
1749
|
},
|
|
1690
|
-
"
|
|
1691
|
-
"title": "With Text",
|
|
1692
|
-
"code": "<div>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider>Text</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider orientation=\"left\">Left Text</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider orientation=\"right\">Right Text</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n </div>",
|
|
1693
|
-
"source": "stories",
|
|
1694
|
-
"compilable": true
|
|
1695
|
-
},
|
|
1696
|
-
"c53ede8df4b95ea3a84f4272cdde631bf1281322de0a44bfa5d9f4ac16ed9618": {
|
|
1750
|
+
"c44b0833c259afe028af9e6fd0d572e5cdf883c9fe8f8701cc2f2199f6fa82a0": {
|
|
1697
1751
|
"title": "Canonical usage",
|
|
1698
|
-
"code": "import {
|
|
1752
|
+
"code": "import { Checkbox } from '@1money/component-ui';\n// or\nimport { Checkbox } from '@1money/component-ui/Checkbox';",
|
|
1699
1753
|
"source": "canonical",
|
|
1700
1754
|
"compilable": true
|
|
1701
1755
|
},
|
|
1702
|
-
"
|
|
1703
|
-
"title": "
|
|
1704
|
-
"code": "
|
|
1705
|
-
"source": "
|
|
1756
|
+
"c4dc11bc9b4b9698e931dc881cc580895c8626b71430d09eec8f7054d49c46f0": {
|
|
1757
|
+
"title": "With Text",
|
|
1758
|
+
"code": "<div>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider>Text</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider orientation=\"left\">Left Text</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider orientation=\"right\">Right Text</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n </div>",
|
|
1759
|
+
"source": "stories",
|
|
1706
1760
|
"compilable": true
|
|
1707
1761
|
},
|
|
1708
1762
|
"c6c6006c18fc013fe133931a21d10e19d9263c424b639dbe5b1038884729bb32": {
|
|
@@ -1717,12 +1771,6 @@
|
|
|
1717
1771
|
"source": "stories",
|
|
1718
1772
|
"compilable": false
|
|
1719
1773
|
},
|
|
1720
|
-
"c708d9a68618a957abae65c03f9ebb38fd38b515889a38cdc4abedf031315725": {
|
|
1721
|
-
"title": "Basic Usage",
|
|
1722
|
-
"code": "import { Space } from '@1money/components-ui';\nimport { SPACE_ALIGN, SPACE_DIRECTION, SPACE_SIZE } from '@1money/components-ui/Space';\n\n<Space size={SPACE_SIZE.middle} align={SPACE_ALIGN.center}>\n <span>Left</span>\n <span>Right</span>\n</Space>",
|
|
1723
|
-
"source": "readme",
|
|
1724
|
-
"compilable": true
|
|
1725
|
-
},
|
|
1726
1774
|
"c7adce2c978836debb618dc91c44c12df9f50836e6ff9994fe3822dd48caef5a": {
|
|
1727
1775
|
"title": "Nav (flat / grouped navigation)",
|
|
1728
1776
|
"code": "<Nav\n items={[\n {\n key: 'group-accounts',\n label: 'Accounts',\n icon: 'wallet',\n children: [\n { key: 'checking', label: 'Checking', active: true },\n { key: 'savings', label: 'Savings' },\n ],\n },\n { key: 'settings', label: 'Settings' },\n ]}\n/>",
|
|
@@ -1735,12 +1783,24 @@
|
|
|
1735
1783
|
"source": "stories",
|
|
1736
1784
|
"compilable": false
|
|
1737
1785
|
},
|
|
1738
|
-
"
|
|
1786
|
+
"c816f5980daf6d897749e81e8bcb52963fb9584ae3d56cc2d6d73194bb1a655a": {
|
|
1787
|
+
"title": "Import",
|
|
1788
|
+
"code": "import { Tag } from '@1money/component-ui';\n// or\nimport { Tag } from '@1money/component-ui/Tag';",
|
|
1789
|
+
"source": "readme",
|
|
1790
|
+
"compilable": true
|
|
1791
|
+
},
|
|
1792
|
+
"c8bb2acc504d9189611763df8eebcb47062fe8c1c4ae3990fe6d9495cac88285": {
|
|
1739
1793
|
"title": "Canonical usage",
|
|
1740
|
-
"code": "import {
|
|
1794
|
+
"code": "import { Table, VirtualTable } from '@1money/component-ui';\n// or\nimport { Table, VirtualTable } from '@1money/component-ui/Table';",
|
|
1741
1795
|
"source": "canonical",
|
|
1742
1796
|
"compilable": true
|
|
1743
1797
|
},
|
|
1798
|
+
"c8d370c232d30e9b0ca6730c9b632d0a84550b0b8fe84019b58ac0de6a712d40": {
|
|
1799
|
+
"title": "Import",
|
|
1800
|
+
"code": "import { Spinner } from '@1money/component-ui';\n// or\nimport { Spinner } from '@1money/component-ui/Spinner';",
|
|
1801
|
+
"source": "readme",
|
|
1802
|
+
"compilable": true
|
|
1803
|
+
},
|
|
1744
1804
|
"c9055581e81ec06997b903da8cf3dc5446cb9767423cb2fd80762ede31063176": {
|
|
1745
1805
|
"title": "Disabled",
|
|
1746
1806
|
"code": "{\n const [disabled, setDisabled] = useState(false);\n const [resizeCount, setResizeCount] = useState(0);\n\n return (\n <div>\n <div style={{ marginBottom: 12 }}>\n <label>\n <input\n type=\"checkbox\"\n checked={disabled}\n onChange={(e) => setDisabled(e.target.checked)}\n />\n {' '}Disable observer\n </label>\n <span style={{ marginLeft: 12, color: '#666' }}>\n Resize events received: {resizeCount}\n </span>\n </div>\n <ResizeObserver\n disabled={disabled}\n onResize={() => setResizeCount((c) => c + 1)}\n >\n <div style={boxStyle}>\n {disabled ? 'Observer disabled — resize events paused' : 'Resize me to trigger events'}\n </div>\n </ResizeObserver>\n </div>\n );\n }",
|
|
@@ -1759,30 +1819,24 @@
|
|
|
1759
1819
|
"source": "stories",
|
|
1760
1820
|
"compilable": true
|
|
1761
1821
|
},
|
|
1762
|
-
"cb112d23d742e359bb073b630230b53ccd7362c90ce29f033223143742f4687a": {
|
|
1763
|
-
"title": "Canonical usage",
|
|
1764
|
-
"code": "import { Drawer } from '@1money/components-ui';\n// or\nimport { Drawer } from '@1money/components-ui/Drawer';",
|
|
1765
|
-
"source": "canonical",
|
|
1766
|
-
"compilable": true
|
|
1767
|
-
},
|
|
1768
|
-
"cc0a911d74a5939f71b3e713aed21e4a2dd1adc41fcc547aa40a60cf82549caa": {
|
|
1769
|
-
"title": "Import",
|
|
1770
|
-
"code": "import { Radio, RadioGroup } from '@1money/components-ui';\n// or tree-shakeable\nimport { Radio, RadioGroup } from '@1money/components-ui/Radio';",
|
|
1771
|
-
"source": "readme",
|
|
1772
|
-
"compilable": true
|
|
1773
|
-
},
|
|
1774
1822
|
"ccaa3cb3e660ea38beaa59a26d94e5aa6bcd8ea3fb8449f82d28e13875c9c05e": {
|
|
1775
1823
|
"title": "Group Disabled",
|
|
1776
1824
|
"code": "<RadioGroup value=\"a\" disabled>\n <Radio value=\"a\" label=\"Option A\" />\n <Radio value=\"b\" label=\"Option B\" />\n <Radio value=\"c\" label=\"Option C\" />\n </RadioGroup>",
|
|
1777
1825
|
"source": "stories",
|
|
1778
1826
|
"compilable": true
|
|
1779
1827
|
},
|
|
1780
|
-
"
|
|
1828
|
+
"ce159c0e7bfe1dd2cc4a5af7ae9f34a34970888e35d8d9350afa752f3b6ee2b6": {
|
|
1781
1829
|
"title": "Import",
|
|
1782
|
-
"code": "import {
|
|
1830
|
+
"code": "import { Select } from '@1money/component-ui';\n// or\nimport { Select } from '@1money/component-ui/Select';",
|
|
1783
1831
|
"source": "readme",
|
|
1784
1832
|
"compilable": true
|
|
1785
1833
|
},
|
|
1834
|
+
"ce52fe36100d5fa98b9745a1baf1b08d615fed812bf0a8c9022f4e95e68f2f13": {
|
|
1835
|
+
"title": "Canonical usage",
|
|
1836
|
+
"code": "import { Select } from '@1money/component-ui';\n// or\nimport { Select } from '@1money/component-ui/Select';",
|
|
1837
|
+
"source": "canonical",
|
|
1838
|
+
"compilable": true
|
|
1839
|
+
},
|
|
1786
1840
|
"ce5a29cdd05e46095aa4e0495f15de25d4e29a8772e83863f793f174d89170df": {
|
|
1787
1841
|
"title": "Trade",
|
|
1788
1842
|
"code": "<div style={{ display: 'flex', flexDirection: 'column', gap: 32, maxWidth: 660 }}>\n <div>\n <h3 style={{ margin: '0 0 8px' }}>Default (Placeholder)</h3>\n <Input.Trade\n currencySymbol=\"$\"\n currencyUnit=\"USD\"\n showMax\n onMax={fn()}\n onSwap={fn()}\n exchangeText=\"0 USDT\"\n />\n </div>\n <div>\n <h3 style={{ margin: '0 0 8px' }}>Default (Filled)</h3>\n <Input.Trade\n currencySymbol=\"$\"\n currencyUnit=\"USD\"\n defaultValue=\"123,456,789\"\n showMax\n onMax={fn()}\n onSwap={fn()}\n exchangeText=\"123,456,789 USDT\"\n />\n </div>\n <div>\n <h3 style={{ margin: '0 0 8px' }}>Error</h3>\n <Input.Trade\n currencySymbol=\"$\"\n currencyUnit=\"USD\"\n defaultValue=\"123,456,789\"\n status=\"error\"\n showMax\n onMax={fn()}\n onSwap={fn()}\n exchangeText=\"123,456,789 USDT\"\n feedback=\"Insufficient balance\"\n />\n </div>\n <div>\n <h3 style={{ margin: '0 0 8px' }}>Disabled</h3>\n <Input.Trade\n currencySymbol=\"$\"\n currencyUnit=\"USD\"\n defaultValue=\"123,456,789\"\n disabled\n showMax\n onSwap={fn()}\n exchangeText=\"123,456,789 USDT\"\n />\n </div>\n </div>",
|
|
@@ -1801,6 +1855,12 @@
|
|
|
1801
1855
|
"source": "stories",
|
|
1802
1856
|
"compilable": false
|
|
1803
1857
|
},
|
|
1858
|
+
"d073f561eaa33f59872ba1277c04ad853f99cb24d2f6e75ac36d0c33e12a9d40": {
|
|
1859
|
+
"title": "Import",
|
|
1860
|
+
"code": "import { VirtualList } from '@1money/component-ui';\n// or\nimport { VirtualList } from '@1money/component-ui/VirtualList';",
|
|
1861
|
+
"source": "readme",
|
|
1862
|
+
"compilable": true
|
|
1863
|
+
},
|
|
1804
1864
|
"d17ae919d30d1b43236c52018609c72e725c0e22e47938fa2bed04cae70b2542": {
|
|
1805
1865
|
"title": "Usage",
|
|
1806
1866
|
"code": "<Tag label=\"Active\" color=\"success\" />\n<Tag label=\"Warning\" color=\"warning\" icon=\"add\" removable onRemove={() => {}} />\n<Tag label=\"Medium\" size=\"medium\" color=\"recommended\" />\n<Tag label=\"Small\" size=\"small\" color=\"negative\" />",
|
|
@@ -1813,54 +1873,24 @@
|
|
|
1813
1873
|
"source": "stories",
|
|
1814
1874
|
"compilable": false
|
|
1815
1875
|
},
|
|
1816
|
-
"d2d7be30524d06f99a66b1ee9375fa33501fcff7421d697bce934b4c6a79e4c1": {
|
|
1817
|
-
"title": "Canonical usage",
|
|
1818
|
-
"code": "import { Dropdown } from '@1money/components-ui';\n// or\nimport { Dropdown } from '@1money/components-ui/Dropdown';",
|
|
1819
|
-
"source": "canonical",
|
|
1820
|
-
"compilable": true
|
|
1821
|
-
},
|
|
1822
|
-
"d2edd9eacbc07e5e229da3827b202d5da1fe8f4ca569e59c8162ce3927cbf36e": {
|
|
1823
|
-
"title": "Import",
|
|
1824
|
-
"code": "import { Input } from '@1money/components-ui';\n// or\nimport { Input } from '@1money/components-ui/Input';",
|
|
1825
|
-
"source": "readme",
|
|
1826
|
-
"compilable": true
|
|
1827
|
-
},
|
|
1828
1876
|
"d41dbb44d3d8769c1d0adb9e207bae7aeb9410730ab9e50b3897b5913c110ee7": {
|
|
1829
1877
|
"title": "Field Dependencies",
|
|
1830
1878
|
"code": "<ProForm\n {...args}\n initialValues={{ country: '', city: '' }}\n onFinish={(values) => alert(JSON.stringify(values, null, 2))}\n >\n <ProFormSelect\n name=\"country\"\n label=\"Country\"\n valueEnum={{ us: 'United States', cn: 'China', jp: 'Japan' }}\n />\n <ProFormSelect\n name=\"city\"\n label=\"City (auto-loads based on Country)\"\n dependencies={['country']}\n request={async (params) => {\n await new Promise((r) => setTimeout(r, 500));\n const cities: Record<string, Array<{ label: string; value: string }>> = {\n us: [{ label: 'New York', value: 'ny' }, { label: 'Los Angeles', value: 'la' }],\n cn: [{ label: 'Beijing', value: 'bj' }, { label: 'Shanghai', value: 'sh' }],\n jp: [{ label: 'Tokyo', value: 'tk' }, { label: 'Osaka', value: 'os' }],\n };\n return cities[params?.country as string] ?? [];\n }}\n />\n </ProForm>",
|
|
1831
1879
|
"source": "stories",
|
|
1832
1880
|
"compilable": false
|
|
1833
1881
|
},
|
|
1834
|
-
"
|
|
1882
|
+
"d85ceae6b6d298d1080aa6deb8853caf2818436e1ea75064e79bc43b28cc3223": {
|
|
1835
1883
|
"title": "Import",
|
|
1836
|
-
"code": "import {
|
|
1884
|
+
"code": "import { ResizeObserver, useResizeObserver } from '@1money/component-ui';\n// or\nimport { ResizeObserver, Collection, useResizeObserver } from '@1money/component-ui/ResizeObserver';",
|
|
1837
1885
|
"source": "readme",
|
|
1838
1886
|
"compilable": true
|
|
1839
1887
|
},
|
|
1840
|
-
"d7d5f601f2bc6d68fdd1f9092792a1ead79d09392794c0de5c6a6f08ae2fcd2b": {
|
|
1841
|
-
"title": "Canonical usage",
|
|
1842
|
-
"code": "import { ResizeObserver, useResizeObserver } from '@1money/components-ui';\n// or\nimport { ResizeObserver, useResizeObserver } from '@1money/components-ui/ResizeObserver';",
|
|
1843
|
-
"source": "canonical",
|
|
1844
|
-
"compilable": true
|
|
1845
|
-
},
|
|
1846
|
-
"d8541ce54f9d19430978dbd976d464fbc05c5ff5c9d4b33b03a2e25d6b11992c": {
|
|
1847
|
-
"title": "Canonical usage",
|
|
1848
|
-
"code": "import { Button } from '@1money/components-ui';\n// or\nimport { Button } from '@1money/components-ui/Button';",
|
|
1849
|
-
"source": "canonical",
|
|
1850
|
-
"compilable": true
|
|
1851
|
-
},
|
|
1852
1888
|
"d91c28bb6a118b26bb8a54276fb59ec8a840474d47297b0ab6537c738cb98876": {
|
|
1853
1889
|
"title": "Canonical usage",
|
|
1854
1890
|
"code": "import type { PopconfirmTrigger } from '@1money/component-ui';",
|
|
1855
1891
|
"source": "canonical",
|
|
1856
1892
|
"compilable": true
|
|
1857
1893
|
},
|
|
1858
|
-
"d928a76793b3297d721487249b48aafd40ba72f0698c1706a33e4291c542d9ba": {
|
|
1859
|
-
"title": "Canonical usage",
|
|
1860
|
-
"code": "import { Step } from '@1money/components-ui';\n// or\nimport { Step } from '@1money/components-ui/Step';",
|
|
1861
|
-
"source": "canonical",
|
|
1862
|
-
"compilable": true
|
|
1863
|
-
},
|
|
1864
1894
|
"d9882ee38a2bc32f9e2590509a569226bc8b174cfe3c16f5a1bdfbbc7662bf62": {
|
|
1865
1895
|
"title": "Placement",
|
|
1866
1896
|
"code": "{\n const [open, setOpen] = useState(false);\n const [placement, setPlacement] = useState<DrawerPlacement>('right');\n\n const openDrawer = (p: DrawerPlacement) => {\n setPlacement(p);\n setOpen(true);\n };\n\n return (\n <div style={{ display: 'flex', gap: 8 }}>\n <Button onClick={() => openDrawer('top')}>Top</Button>\n <Button onClick={() => openDrawer('right')}>Right</Button>\n <Button onClick={() => openDrawer('bottom')}>Bottom</Button>\n <Button onClick={() => openDrawer('left')}>Left</Button>\n <Drawer\n open={open}\n placement={placement}\n title={`${placement} drawer`}\n onClose={() => setOpen(false)}\n width={360}\n height={300}\n >\n <p>Drawer slides in from the {placement}.</p>\n </Drawer>\n </div>\n );\n }",
|
|
@@ -1897,12 +1927,6 @@
|
|
|
1897
1927
|
"source": "stories",
|
|
1898
1928
|
"compilable": true
|
|
1899
1929
|
},
|
|
1900
|
-
"dba235303ebe08452940ff868113324fc00c1a8ed5461ca69aaf6113382b9f6b": {
|
|
1901
|
-
"title": "Canonical usage",
|
|
1902
|
-
"code": "import { Pagination, usePagination } from '@1money/components-ui';\n// or\nimport { Pagination, usePagination } from '@1money/components-ui/Pagination';",
|
|
1903
|
-
"source": "canonical",
|
|
1904
|
-
"compilable": true
|
|
1905
|
-
},
|
|
1906
1930
|
"dbdf57d8d45ba16d7872023c8baa1986123e9011100cd6332a0023a7d8d2a832": {
|
|
1907
1931
|
"title": "All Variants",
|
|
1908
1932
|
"code": "<div style={columnStyle}>\n {BUTTON_SIZES.map((size) => (\n <div key={size}>\n <h3 style={sectionHeaderStyle}>{size}</h3>\n <div style={rowStyle}>\n {BUTTON_COLORS.map((color) => (\n <Button {...args} key={`${size}-${color}`} size={size} color={color}>\n {color}\n </Button>\n ))}\n </div>\n <div style={{ ...rowStyle, marginTop: 8 }}>\n {BUTTON_COLORS.map((color) => (\n <Button {...args} key={`${size}-${color}-disabled`} size={size} color={color} disabled>\n {color}\n </Button>\n ))}\n </div>\n <div style={{ ...rowStyle, marginTop: 8 }}>\n {BUTTON_COLORS.map((color) => (\n <Button {...args} key={`${size}-${color}-loading`} size={size} color={color} loading>\n {color}\n </Button>\n ))}\n </div>\n </div>\n ))}\n </div>",
|
|
@@ -1921,22 +1945,16 @@
|
|
|
1921
1945
|
"source": "stories",
|
|
1922
1946
|
"compilable": false
|
|
1923
1947
|
},
|
|
1924
|
-
"
|
|
1925
|
-
"title": "Render Props",
|
|
1926
|
-
"code": "{\n const [size, setSize] = useState<SizeInfo | null>(null);\n\n return (\n <div>\n <p style={{ marginBottom: 8, color: '#666' }}>\n Using render-props pattern for ref forwarding:\n </p>\n <ResizeObserver onResize={(sizeInfo) => setSize(sizeInfo)}>\n {(ref) => (\n <div ref={ref as React.RefObject<HTMLDivElement>} style={boxStyle}>\n Render-props child\n {size && (\n <div style={{ fontSize: 12, color: '#999', marginTop: 8 }}>\n {size.width} × {size.height}\n </div>\n )}\n </div>\n )}\n </ResizeObserver>\n </div>\n );\n }",
|
|
1927
|
-
"source": "stories",
|
|
1928
|
-
"compilable": true
|
|
1929
|
-
},
|
|
1930
|
-
"dd93657d7534b2334888be68dade1a1eb682df7f98475406bbe3c8f36ca64ba0": {
|
|
1948
|
+
"dc46329177b98e36ae4cf9980b57021028eb5648f1e6420be16ea3d209de6d10": {
|
|
1931
1949
|
"title": "Import",
|
|
1932
|
-
"code": "import {
|
|
1950
|
+
"code": "import { Accordion } from '@1money/component-ui';\n// or\nimport { Accordion } from '@1money/component-ui/Accordion';",
|
|
1933
1951
|
"source": "readme",
|
|
1934
1952
|
"compilable": true
|
|
1935
1953
|
},
|
|
1936
|
-
"
|
|
1937
|
-
"title": "
|
|
1938
|
-
"code": "
|
|
1939
|
-
"source": "
|
|
1954
|
+
"dd0dc5a0741ff7e4495ca9fb3eb3072f77d4f1b84be6af9dda1675475566cbcf": {
|
|
1955
|
+
"title": "Render Props",
|
|
1956
|
+
"code": "{\n const [size, setSize] = useState<SizeInfo | null>(null);\n\n return (\n <div>\n <p style={{ marginBottom: 8, color: '#666' }}>\n Using render-props pattern for ref forwarding:\n </p>\n <ResizeObserver onResize={(sizeInfo) => setSize(sizeInfo)}>\n {(ref) => (\n <div ref={ref as React.RefObject<HTMLDivElement>} style={boxStyle}>\n Render-props child\n {size && (\n <div style={{ fontSize: 12, color: '#999', marginTop: 8 }}>\n {size.width} × {size.height}\n </div>\n )}\n </div>\n )}\n </ResizeObserver>\n </div>\n );\n }",
|
|
1957
|
+
"source": "stories",
|
|
1940
1958
|
"compilable": true
|
|
1941
1959
|
},
|
|
1942
1960
|
"ddba2f9ed531e8d41eb802983744dee6f9a543308278efec1b7cbab638caf0e5": {
|
|
@@ -1969,6 +1987,12 @@
|
|
|
1969
1987
|
"source": "stories",
|
|
1970
1988
|
"compilable": true
|
|
1971
1989
|
},
|
|
1990
|
+
"df33210419a98aec37dfae90fbea2a1d1a5b7daf39ed1b4eee00184821d2f944": {
|
|
1991
|
+
"title": "Import",
|
|
1992
|
+
"code": "import { Space } from '@1money/component-ui';\n// or\nimport { Space } from '@1money/component-ui/Space';\nimport { SPACE_ALIGN, SPACE_DIRECTION, SPACE_SIZE } from '@1money/component-ui/Space';",
|
|
1993
|
+
"source": "readme",
|
|
1994
|
+
"compilable": true
|
|
1995
|
+
},
|
|
1972
1996
|
"df516870a4f3b627969e2e1b0c6fc40fccc4ccb0fb7c04a34e5e169a928de479": {
|
|
1973
1997
|
"title": "Usage",
|
|
1974
1998
|
"code": "<Cell iconStart=\"security\" iconEnd=\"arrowRight\" active>\n Authenticator app\n</Cell>",
|
|
@@ -1981,30 +2005,6 @@
|
|
|
1981
2005
|
"source": "stories",
|
|
1982
2006
|
"compilable": false
|
|
1983
2007
|
},
|
|
1984
|
-
"e12204d81d25fedea606df0af41590ad6f951ad6a9c87fbb04b46d113a83c01c": {
|
|
1985
|
-
"title": "Canonical usage",
|
|
1986
|
-
"code": "import { Dialog } from '@1money/components-ui';\n// or\nimport { Dialog } from '@1money/components-ui/Dialog';",
|
|
1987
|
-
"source": "canonical",
|
|
1988
|
-
"compilable": true
|
|
1989
|
-
},
|
|
1990
|
-
"e1bc6906c5f00092c88e4e750bb2591d4397c214fe2ba32646792273d03f9942": {
|
|
1991
|
-
"title": "Canonical usage",
|
|
1992
|
-
"code": "<IconHover />",
|
|
1993
|
-
"source": "canonical",
|
|
1994
|
-
"compilable": true
|
|
1995
|
-
},
|
|
1996
|
-
"e26c609980f32c5d66ccd1ee1a5d53d3cf09e63f85e94f7adf9acc57bfdc7276": {
|
|
1997
|
-
"title": "Canonical usage",
|
|
1998
|
-
"code": "import { Navigation, Nav } from '@1money/components-ui';\n// or\nimport { Navigation, Nav } from '@1money/components-ui/Navigation';",
|
|
1999
|
-
"source": "canonical",
|
|
2000
|
-
"compilable": true
|
|
2001
|
-
},
|
|
2002
|
-
"e2d97535c3a577c0c337fa59b2a6832e6337e4a07486d72339fb65ecb4899382": {
|
|
2003
|
-
"title": "Import",
|
|
2004
|
-
"code": "import { Checkbox } from '@1money/components-ui';\n// or\nimport { Checkbox } from '@1money/components-ui/Checkbox';",
|
|
2005
|
-
"source": "readme",
|
|
2006
|
-
"compilable": true
|
|
2007
|
-
},
|
|
2008
2008
|
"e3b3197749176ad9a73173f5d1928f15b52b030d41a28e61ef40deaabbc9a554": {
|
|
2009
2009
|
"title": "Usage",
|
|
2010
2010
|
"code": "<Step\n items={[\n { key: 'start', title: 'Start', description: 'Create the request', status: 'completed' },\n { key: 'review', title: 'Review', tag: { label: 'Pending' } },\n { key: 'done', title: 'Complete' },\n ]}\n/>",
|
|
@@ -2029,12 +2029,6 @@
|
|
|
2029
2029
|
"source": "stories",
|
|
2030
2030
|
"compilable": false
|
|
2031
2031
|
},
|
|
2032
|
-
"e5c65a663400bac3c3f390e36b09d4a78425de95dde7cad603a185c1cc30f68c": {
|
|
2033
|
-
"title": "Import",
|
|
2034
|
-
"code": "import { Grid, Row, Col } from '@1money/components-ui';\n// or\nimport { Grid, Row, Col } from '@1money/components-ui/Grid';\nimport { GRID_ALIGN, GRID_JUSTIFY } from '@1money/components-ui/Grid';",
|
|
2035
|
-
"source": "readme",
|
|
2036
|
-
"compilable": true
|
|
2037
|
-
},
|
|
2038
2032
|
"e64bbef33f26f6cb756b2904ed6134a86633064c76641e65a06e65ed9fafa302": {
|
|
2039
2033
|
"title": "All Placements",
|
|
2040
2034
|
"code": "<div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 80, padding: 60 }}>\n {PLACEMENTS.map((p: CoachMarkPlacement) => (\n <div key={p} style={{ display: 'flex', justifyContent: 'center' }}>\n <CoachMark\n steps={[\n { icon: <span style={{ fontSize: 24 }}>👋</span>, heading: 'Welcome', body: 'Get started with the dashboard.' },\n { icon: <span style={{ fontSize: 24 }}>🔍</span>, heading: 'Search', body: 'Find anything quickly.' },\n { icon: <span style={{ fontSize: 24 }}>💳</span>, heading: 'Balance', body: 'Track all accounts.' },\n ]}\n placement={p}\n />\n </div>\n ))}\n </div>",
|
|
@@ -2053,12 +2047,6 @@
|
|
|
2053
2047
|
"source": "stories",
|
|
2054
2048
|
"compilable": false
|
|
2055
2049
|
},
|
|
2056
|
-
"e8366ffc0f016219e2e3c8525fc51ad1e6b761782aa7021fb8a40588988b1bb9": {
|
|
2057
|
-
"title": "Canonical usage",
|
|
2058
|
-
"code": "import { Radio, RadioGroup } from '@1money/components-ui';\n// or tree-shakeable\nimport { Radio, RadioGroup } from '@1money/components-ui/Radio';",
|
|
2059
|
-
"source": "canonical",
|
|
2060
|
-
"compilable": true
|
|
2061
|
-
},
|
|
2062
2050
|
"e95a0d0355599d90e5a8f3e2157c5f59f2ee97f9c77cde6b856ca73e439ba89d": {
|
|
2063
2051
|
"title": "Usage",
|
|
2064
2052
|
"code": "<ProForm\n initialValues={{ name: '' }}\n onFinish={(values) => console.log(values)}\n>\n <ProForm.Text\n name=\"name\"\n label=\"Name\"\n rules={[{ required: true, message: 'Name is required' }]}\n />\n <ProForm.Select\n name=\"currency\"\n label=\"Currency\"\n fieldProps={{ options: [{ label: 'USD', value: 'USD' }] }}\n />\n</ProForm>",
|
|
@@ -2071,12 +2059,24 @@
|
|
|
2071
2059
|
"source": "stories",
|
|
2072
2060
|
"compilable": false
|
|
2073
2061
|
},
|
|
2062
|
+
"eb3d3bf8608e5ec527f4380b65309d405f31c3dc1995dc7128a95973cdb71495": {
|
|
2063
|
+
"title": "Import",
|
|
2064
|
+
"code": "import { Tabs } from '@1money/component-ui';\n// or\nimport { Tabs } from '@1money/component-ui/Tabs';",
|
|
2065
|
+
"source": "readme",
|
|
2066
|
+
"compilable": true
|
|
2067
|
+
},
|
|
2074
2068
|
"eb427461f9033ecdecd7f9fbecd2c65d93d6a9f081ee8af32cd9665d94095ec9": {
|
|
2075
2069
|
"title": "Semantic Scale",
|
|
2076
2070
|
"code": "<div style={STORY_LAYOUT_STYLE}>\n <div style={STORY_SECTION_STYLE}>\n {TYPOGRAPHY_DISPLAY_SIZES.map(size => (\n <Typography.Display key={size} size={size}>\n Display {size}\n </Typography.Display>\n ))}\n </div>\n\n <div style={STORY_SECTION_STYLE}>\n {TYPOGRAPHY_HEADLINE_SIZES.map(size => (\n <Typography.Headline key={size} size={size}>\n Headline {size}\n </Typography.Headline>\n ))}\n </div>\n\n <div style={STORY_SECTION_STYLE}>\n {TYPOGRAPHY_TITLE_SIZES.map(size => (\n <Typography.Title key={size} size={size}>\n Title {size}\n </Typography.Title>\n ))}\n </div>\n\n <div style={STORY_SECTION_STYLE}>\n {TYPOGRAPHY_BODY_SIZES.map(size => (\n <Typography.Body key={size} size={size}>\n Body {size} brings readable, content-first copy into forms, lists, and dense product surfaces.\n </Typography.Body>\n ))}\n </div>\n\n <div style={STORY_SECTION_STYLE}>\n {TYPOGRAPHY_LABEL_SIZES.map(size => (\n <Typography.Label key={size} size={size}>\n Label {size}\n </Typography.Label>\n ))}\n </div>\n\n <div style={STORY_SECTION_STYLE}>\n {TYPOGRAPHY_LINK_SIZES.map(size => (\n <Typography.Link key={size} size={size} href=\"https://ant.design/components/typography/\" target=\"_blank\">\n Link {size}\n </Typography.Link>\n ))}\n </div>\n </div>",
|
|
2077
2071
|
"source": "stories",
|
|
2078
2072
|
"compilable": true
|
|
2079
2073
|
},
|
|
2074
|
+
"eb82f96d176ca1891ecf083e5f43c42256d422f023133b2171ab354f12705fdd": {
|
|
2075
|
+
"title": "Usage",
|
|
2076
|
+
"code": "import { Button } from '@1money/component-ui';\n\n<Drawer\n open={open}\n title=\"Transfer details\"\n placement=\"right\"\n onClose={() => setOpen(false)}\n footer={<Button onClick={() => setOpen(false)}>Done</Button>}\n>\n Drawer content\n</Drawer>",
|
|
2077
|
+
"source": "readme",
|
|
2078
|
+
"compilable": true
|
|
2079
|
+
},
|
|
2080
2080
|
"ed5aa33f8e734dad460aa9b2a7c6fc0690efc9cda3b0854c642d59b2bbf55870": {
|
|
2081
2081
|
"title": "Illustrations",
|
|
2082
2082
|
"code": "{\n const handleCopy = (el: string) => {\n copy(el);\n };\n\n return <div style={{ display: 'grid', gap: 24, gridTemplateColumns: 'repeat(auto-fill, minmax(200px, 1fr))' }}>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusChecked' />\")}>\n <Icons {...args} name='illusChecked' />\n <span>illusChecked</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusEmailError' />\")}>\n <Icons {...args} name='illusEmailError' />\n <span>illusEmailError</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusLinkExpired' />\")}>\n <Icons {...args} name='illusLinkExpired' />\n <span>illusLinkExpired</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illus2FA' />\")}>\n <Icons {...args} name='illus2FA' />\n <span>illus2FA</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusLocked' />\")}>\n <Icons {...args} name='illusLocked' />\n <span>illusLocked</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusError' />\")}>\n <Icons {...args} name='illusError' />\n <span>illusError</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusRegionNotSupported' />\")}>\n <Icons {...args} name='illusRegionNotSupported' />\n <span>illusRegionNotSupported</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusID' />\")}>\n <Icons {...args} name='illusID' />\n <span>illusID</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusVerification' />\")}>\n <Icons {...args} name='illusVerification' />\n <span>illusVerification</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusPending' />\")}>\n <Icons {...args} name='illusPending' color='#F4C600' />\n <span>illusPending</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusPasskey' />\")}>\n <Icons {...args} name='illusPasskey' />\n <span>illusPasskey</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusAddAccount' />\")}>\n <Icons {...args} name='illusAddAccount' />\n <span>illusAddAccount</span>\n </CopyIconBox>\n <CopyIconBox onClick={() => handleCopy(\"<Icons name='illusRewards' />\")}>\n <Icons {...args} name='illusRewards' />\n <span>illusRewards</span>\n </CopyIconBox>\n </div>;\n }",
|
|
@@ -2095,12 +2095,6 @@
|
|
|
2095
2095
|
"source": "stories",
|
|
2096
2096
|
"compilable": false
|
|
2097
2097
|
},
|
|
2098
|
-
"ef6129271a1cc811da6f293b9cb03f5514e410a9c60c0abec3e045e6376745b1": {
|
|
2099
|
-
"title": "Canonical usage",
|
|
2100
|
-
"code": "import { Empty } from '@1money/components-ui';\n// or\nimport { Empty } from '@1money/components-ui/Empty';",
|
|
2101
|
-
"source": "canonical",
|
|
2102
|
-
"compilable": true
|
|
2103
|
-
},
|
|
2104
2098
|
"efb94a978c87bf9343e9605b358b08efa2db1f476e21029ee2bda3da4f275448": {
|
|
2105
2099
|
"title": "Api Examples",
|
|
2106
2100
|
"code": "<div style={DEMO_SECTION_STYLE}>\n <Flex\n gap={GAP_MIDDLE}\n align={FLEX_ALIGN.center}\n justify={FLEX_JUSTIFY.spaceBetween}\n wrap={WRAP_DISABLED}\n prefixCls={FLEX_PREFIX}\n >\n <div style={DEMO_BOX_STYLE}>Align</div>\n <div style={DEMO_BOX_STYLE}>Justify</div>\n </Flex>\n\n <Flex vertical gap={GAP_LARGE} wrap={WRAP_ENABLED} prefixCls={FLEX_PREFIX}>\n <div style={DEMO_BOX_STYLE}>Vertical</div>\n <div style={DEMO_BOX_STYLE}>Wrap</div>\n </Flex>\n </div>",
|
|
@@ -2161,12 +2155,6 @@
|
|
|
2161
2155
|
"source": "readme",
|
|
2162
2156
|
"compilable": true
|
|
2163
2157
|
},
|
|
2164
|
-
"f5d6b11a550669747fb5a248be92fdbc1d02dc42ab2c8700fe44d9e09c3989ae": {
|
|
2165
|
-
"title": "Import",
|
|
2166
|
-
"code": "import { Divider } from '@1money/components-ui';",
|
|
2167
|
-
"source": "readme",
|
|
2168
|
-
"compilable": true
|
|
2169
|
-
},
|
|
2170
2158
|
"f5e88271260df2b0e8df1a0b03d96a4c3004f14d0e5aaec8892007d6c41fddb4": {
|
|
2171
2159
|
"title": "With Disabled",
|
|
2172
2160
|
"code": "<Tabs\n items={[\n { key: 'tab1', label: 'Overview' },\n { key: 'tab2', label: 'Transactions' },\n { key: 'tab3', label: 'Analytics', disabled: true },\n { key: 'tab4', label: 'Settings' },\n ]}\n />",
|
|
@@ -2185,21 +2173,33 @@
|
|
|
2185
2173
|
"source": "stories",
|
|
2186
2174
|
"compilable": false
|
|
2187
2175
|
},
|
|
2188
|
-
"f7c2c0a63e93844f526a49d62cfd4f5ced951213730b19e88cb69c559c39a367": {
|
|
2189
|
-
"title": "Import",
|
|
2190
|
-
"code": "import { Step } from '@1money/components-ui';\n// or\nimport { Step } from '@1money/components-ui/Step';",
|
|
2191
|
-
"source": "readme",
|
|
2192
|
-
"compilable": true
|
|
2193
|
-
},
|
|
2194
2176
|
"f7f96c74f982e37eb075e6bd5affd0bbcf3d63faca5bb60a1175fe7725dad87b": {
|
|
2195
2177
|
"title": "Multiple Files",
|
|
2196
2178
|
"code": "<Upload\n label=\"Label\"\n description=\"Description\"\n feedback=\"Feedback\"\n >\n <UploadFileBar fileName=\"File name.PDF\" onRemove={fn()} />\n <UploadFileBar fileName=\"File name.PDF\" onRemove={fn()} />\n <UploadFileBar\n fileName=\"File name.PDF\"\n status={1}\n message=\"Upload failed\"\n onRemove={fn()}\n />\n </Upload>",
|
|
2197
2179
|
"source": "stories",
|
|
2198
2180
|
"compilable": false
|
|
2199
2181
|
},
|
|
2200
|
-
"
|
|
2182
|
+
"f846e6658290862cc4216f55f8c33505bd1c923167b1dd68d217b0166bca6aad": {
|
|
2183
|
+
"title": "Canonical usage",
|
|
2184
|
+
"code": "import { Upload, UploadFileBar } from '@1money/component-ui';\n// or\nimport { Upload, UploadFileBar } from '@1money/component-ui/Upload';",
|
|
2185
|
+
"source": "canonical",
|
|
2186
|
+
"compilable": true
|
|
2187
|
+
},
|
|
2188
|
+
"f9a556c6bb441f9b96d63aaf12ad63145cdbe9193c743d5e921ef1ec53fc8224": {
|
|
2189
|
+
"title": "Canonical usage",
|
|
2190
|
+
"code": "import { Segment } from '@1money/component-ui';\n// or\nimport { Segment } from '@1money/component-ui/Segment';",
|
|
2191
|
+
"source": "canonical",
|
|
2192
|
+
"compilable": true
|
|
2193
|
+
},
|
|
2194
|
+
"fae5c24c6bab10e5462b6f5a8c5ca33714a0b121dc2cf3c44ca989ff33b3d36c": {
|
|
2201
2195
|
"title": "Import",
|
|
2202
|
-
"code": "import {
|
|
2196
|
+
"code": "import { Pagination, usePagination } from '@1money/component-ui';\n// or\nimport { Pagination, usePagination } from '@1money/component-ui/Pagination';",
|
|
2197
|
+
"source": "readme",
|
|
2198
|
+
"compilable": true
|
|
2199
|
+
},
|
|
2200
|
+
"fbd27b2c45cf77922ee28f98299af2815b390ade86f902db573d0f520dcc2eb6": {
|
|
2201
|
+
"title": "Import",
|
|
2202
|
+
"code": "import { Skeleton } from '@1money/component-ui';\n// or\nimport { Skeleton } from '@1money/component-ui/Skeleton';",
|
|
2203
2203
|
"source": "readme",
|
|
2204
2204
|
"compilable": true
|
|
2205
2205
|
},
|
|
@@ -2209,18 +2209,18 @@
|
|
|
2209
2209
|
"source": "stories",
|
|
2210
2210
|
"compilable": false
|
|
2211
2211
|
},
|
|
2212
|
-
"fc9a7422a1bd65a99442277ecc3a078de35b6d7347c17ebe9cd83cdf379e54a7": {
|
|
2213
|
-
"title": "Usage",
|
|
2214
|
-
"code": "const steps = [\n {\n icon: <Icons name=\"dashboard\" size={24} />,\n heading: 'Welcome to Dashboard',\n body: 'Here you can see an overview of your finances.',\n },\n {\n heading: 'Track Your Spending',\n body: 'Use the charts to monitor transactions by category.',\n },\n {\n heading: \"You're all set!\",\n body: 'Explore the rest of the app at your own pace.',\n },\n];\n\n<CoachMark\n steps={steps}\n defaultActiveStep={0}\n placement=\"top\"\n onFinish={() => console.log('Tour complete')}\n onDismiss={() => console.log('Tour dismissed')}\n/>",
|
|
2215
|
-
"source": "readme",
|
|
2216
|
-
"compilable": true
|
|
2217
|
-
},
|
|
2218
2212
|
"fca476fdc8a8454562178330e2ef42b7cb756bb782574109179b48b0b5f2dfcb": {
|
|
2219
2213
|
"title": "Plain",
|
|
2220
2214
|
"code": "<div>\n <p>Lorem ipsum dolor sit amet.</p>\n <Divider plain>Text</Divider>\n <p>Lorem ipsum dolor sit amet.</p>\n </div>",
|
|
2221
2215
|
"source": "stories",
|
|
2222
2216
|
"compilable": true
|
|
2223
2217
|
},
|
|
2218
|
+
"fca8a95a331c2fbb0cd85959d30ecafff517a78cf35c1389a810dcaa08d6e5e6": {
|
|
2219
|
+
"title": "Usage",
|
|
2220
|
+
"code": "import { Button } from '@1money/component-ui';\n\nfunction MyCustomIcon() {\n return <span aria-hidden=\"true\">No data</span>;\n}\n\n// Basic usage with icon name\n<Empty\n icon=\"transactions\"\n title=\"No record found\"\n description=\"Try adjusting your filters to find the record you are looking for\"\n/>\n\n// With custom icon component\n<Empty\n icon={<MyCustomIcon />}\n description=\"No data available\"\n/>\n\n// With action button\n<Empty\n variant=\"stroke\"\n icon=\"bank\"\n description=\"You don't have any bank accounts linked\"\n action={<Button>Add new bank account</Button>}\n/>",
|
|
2221
|
+
"source": "readme",
|
|
2222
|
+
"compilable": true
|
|
2223
|
+
},
|
|
2224
2224
|
"fcf58f34ec54a1feebe1b6bcd494ced5bc067fe18fe4faea458801a538a151fb": {
|
|
2225
2225
|
"title": "Grid Responsive",
|
|
2226
2226
|
"code": "<ProForm\n {...args}\n grid\n rowProps={{ gutter: 16 }}\n initialValues={{}}\n onFinish={(values) => alert(JSON.stringify(values, null, 2))}\n >\n <ProFormText\n name=\"firstName\"\n label=\"First Name\"\n colProps={{ span: 12, sm: 12, md: 8, lg: 6 }}\n />\n <ProFormText\n name=\"lastName\"\n label=\"Last Name\"\n colProps={{ span: 12, sm: 12, md: 8, lg: 6 }}\n />\n <ProFormText\n name=\"email\"\n label=\"Email\"\n colProps={{ span: 24, sm: 24, md: 8, lg: 6 }}\n />\n <ProFormText\n name=\"phone\"\n label=\"Phone\"\n colProps={{ span: 24, sm: 12, md: 12, lg: 6 }}\n />\n <ProFormTextArea\n name=\"address\"\n label=\"Address\"\n colProps={{ span: 24 }}\n />\n </ProForm>",
|
|
@@ -2233,35 +2233,23 @@
|
|
|
2233
2233
|
"source": "stories",
|
|
2234
2234
|
"compilable": true
|
|
2235
2235
|
},
|
|
2236
|
-
"
|
|
2237
|
-
"title": "
|
|
2238
|
-
"code": "
|
|
2239
|
-
"source": "
|
|
2240
|
-
"compilable":
|
|
2236
|
+
"feb0c04288ce976b2a2dd118a352d0c9501645b51a4f529bf1cb1d9057ef34f1": {
|
|
2237
|
+
"title": "Radio Group Story",
|
|
2238
|
+
"code": "<ProForm\n {...args}\n initialValues={{ gender: 'male', plan: 'pro' }}\n onFinish={(values) => alert(JSON.stringify(values, null, 2))}\n >\n <ProFormRadioGroup\n name=\"gender\"\n label=\"Gender\"\n fieldProps={{\n options: [\n { label: 'Male', value: 'male' },\n { label: 'Female', value: 'female' },\n { label: 'Other', value: 'other' },\n ],\n }}\n />\n <ProFormRadioGroup\n name=\"plan\"\n label=\"Plan\"\n fieldProps={{\n direction: 'horizontal',\n options: [\n { label: 'Free', value: 'free' },\n { label: 'Pro', value: 'pro' },\n { label: 'Enterprise', value: 'enterprise' },\n ],\n }}\n />\n </ProForm>",
|
|
2239
|
+
"source": "stories",
|
|
2240
|
+
"compilable": false
|
|
2241
2241
|
},
|
|
2242
|
-
"
|
|
2242
|
+
"ff016409af028ad3a47644d56cb21acf445cb72e1c93de742fd656a520f41c9c": {
|
|
2243
2243
|
"title": "Canonical usage",
|
|
2244
|
-
"code": "import {
|
|
2244
|
+
"code": "import { notification } from '@1money/component-ui';\n// or\nimport notification, {\n NOTIFICATION_PLACEMENTS,\n NOTIFICATION_STATUSES,\n} from '@1money/component-ui/Notification';",
|
|
2245
2245
|
"source": "canonical",
|
|
2246
2246
|
"compilable": true
|
|
2247
2247
|
},
|
|
2248
|
-
"
|
|
2248
|
+
"ff98ca6743d554b1f351e0d27e1a16a5bb7fb293ec5d30d1fe4f7e8a374f8e3f": {
|
|
2249
2249
|
"title": "Canonical usage",
|
|
2250
|
-
"code": "import {
|
|
2250
|
+
"code": "import { Tour } from '@1money/component-ui';\n// or\nimport { Tour } from '@1money/component-ui/Tour';",
|
|
2251
2251
|
"source": "canonical",
|
|
2252
2252
|
"compilable": true
|
|
2253
|
-
},
|
|
2254
|
-
"feb0c04288ce976b2a2dd118a352d0c9501645b51a4f529bf1cb1d9057ef34f1": {
|
|
2255
|
-
"title": "Radio Group Story",
|
|
2256
|
-
"code": "<ProForm\n {...args}\n initialValues={{ gender: 'male', plan: 'pro' }}\n onFinish={(values) => alert(JSON.stringify(values, null, 2))}\n >\n <ProFormRadioGroup\n name=\"gender\"\n label=\"Gender\"\n fieldProps={{\n options: [\n { label: 'Male', value: 'male' },\n { label: 'Female', value: 'female' },\n { label: 'Other', value: 'other' },\n ],\n }}\n />\n <ProFormRadioGroup\n name=\"plan\"\n label=\"Plan\"\n fieldProps={{\n direction: 'horizontal',\n options: [\n { label: 'Free', value: 'free' },\n { label: 'Pro', value: 'pro' },\n { label: 'Enterprise', value: 'enterprise' },\n ],\n }}\n />\n </ProForm>",
|
|
2257
|
-
"source": "stories",
|
|
2258
|
-
"compilable": false
|
|
2259
|
-
},
|
|
2260
|
-
"ffcdb76bb3216c346fc3ce624448bb8e51a3677f3fd96c8ed18c264f52ed6e31": {
|
|
2261
|
-
"title": "Import",
|
|
2262
|
-
"code": "import { Dropdown } from '@1money/components-ui';\n// or\nimport { Dropdown } from '@1money/components-ui/Dropdown';",
|
|
2263
|
-
"source": "readme",
|
|
2264
|
-
"compilable": true
|
|
2265
2253
|
}
|
|
2266
2254
|
}
|
|
2267
2255
|
}
|