aidos-ui 4.0.4 → 4.0.5
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/LICENSE +1 -1
- package/README.md +23 -3
- package/dist/index.d.ts +797 -68
- package/dist/index.js +3868 -68
- package/dist/index.js.map +1 -1
- package/dist/jsx-dev-runtime.d.ts +6 -2
- package/dist/jsx-dev-runtime.js +87 -42
- package/dist/jsx-dev-runtime.js.map +1 -1
- package/dist/jsx-runtime.d.ts +1 -1
- package/dist/jsx-runtime.js +2 -2
- package/dist/jsx-runtime.js.map +1 -1
- package/dist/vite-plugin-jss-debug.d.ts +3 -1
- package/dist/vite-plugin-jss-debug.js +57 -74
- package/dist/vite-plugin-jss-debug.js.map +1 -1
- package/package.json +58 -27
- package/.prettierrc +0 -4
- package/CLAUDE.md +0 -72
- package/dist/Badge.d.ts +0 -6
- package/dist/Badge.js +0 -22
- package/dist/Badge.js.map +0 -1
- package/dist/BaseButton.d.ts +0 -14
- package/dist/BaseButton.js +0 -23
- package/dist/BaseButton.js.map +0 -1
- package/dist/BaseInput.d.ts +0 -14
- package/dist/BaseInput.js +0 -15
- package/dist/BaseInput.js.map +0 -1
- package/dist/BaseLink.d.ts +0 -18
- package/dist/BaseLink.js +0 -29
- package/dist/BaseLink.js.map +0 -1
- package/dist/BaseList.d.ts +0 -6
- package/dist/BaseList.js +0 -14
- package/dist/BaseList.js.map +0 -1
- package/dist/BaseListAddOn.d.ts +0 -5
- package/dist/BaseListAddOn.js +0 -7
- package/dist/BaseListAddOn.js.map +0 -1
- package/dist/BaseListItem.d.ts +0 -26
- package/dist/BaseListItem.js +0 -29
- package/dist/BaseListItem.js.map +0 -1
- package/dist/BaseView.d.ts +0 -12
- package/dist/BaseView.js +0 -26
- package/dist/BaseView.js.map +0 -1
- package/dist/Box.d.ts +0 -4
- package/dist/Box.js +0 -6
- package/dist/Box.js.map +0 -1
- package/dist/Button.d.ts +0 -20
- package/dist/Button.js +0 -19
- package/dist/Button.js.map +0 -1
- package/dist/Calendar.d.ts +0 -18
- package/dist/Calendar.js +0 -57
- package/dist/Calendar.js.map +0 -1
- package/dist/Card.d.ts +0 -4
- package/dist/Card.js +0 -14
- package/dist/Card.js.map +0 -1
- package/dist/Checkbox.d.ts +0 -11
- package/dist/Checkbox.js +0 -32
- package/dist/Checkbox.js.map +0 -1
- package/dist/Circle.d.ts +0 -5
- package/dist/Circle.js +0 -12
- package/dist/Circle.js.map +0 -1
- package/dist/Column.d.ts +0 -6
- package/dist/Column.js +0 -7
- package/dist/Column.js.map +0 -1
- package/dist/DarkMode.d.ts +0 -13
- package/dist/DarkMode.js +0 -62
- package/dist/DarkMode.js.map +0 -1
- package/dist/DateInput.d.ts +0 -13
- package/dist/DateInput.js +0 -29
- package/dist/DateInput.js.map +0 -1
- package/dist/DatePicker.d.ts +0 -11
- package/dist/DatePicker.js +0 -34
- package/dist/DatePicker.js.map +0 -1
- package/dist/DatetimeInput.d.ts +0 -13
- package/dist/DatetimeInput.js +0 -31
- package/dist/DatetimeInput.js.map +0 -1
- package/dist/DesignBook.d.ts +0 -1
- package/dist/DesignBook.js +0 -55
- package/dist/DesignBook.js.map +0 -1
- package/dist/Dialog.d.ts +0 -17
- package/dist/Dialog.js +0 -92
- package/dist/Dialog.js.map +0 -1
- package/dist/Dropdown.d.ts +0 -14
- package/dist/Dropdown.js +0 -65
- package/dist/Dropdown.js.map +0 -1
- package/dist/Emitter.d.ts +0 -6
- package/dist/Emitter.js +0 -19
- package/dist/Emitter.js.map +0 -1
- package/dist/FlexLayout.d.ts +0 -11
- package/dist/FlexLayout.js +0 -18
- package/dist/FlexLayout.js.map +0 -1
- package/dist/Icon.d.ts +0 -12
- package/dist/Icon.js +0 -60
- package/dist/Icon.js.map +0 -1
- package/dist/IconButton.d.ts +0 -11
- package/dist/IconButton.js +0 -34
- package/dist/IconButton.js.map +0 -1
- package/dist/IconLink.d.ts +0 -9
- package/dist/IconLink.js +0 -32
- package/dist/IconLink.js.map +0 -1
- package/dist/IconType.d.ts +0 -1
- package/dist/IconType.js +0 -2
- package/dist/IconType.js.map +0 -1
- package/dist/Interactable.d.ts +0 -50
- package/dist/Interactable.js +0 -169
- package/dist/Interactable.js.map +0 -1
- package/dist/JSSComment.d.ts +0 -10
- package/dist/JSSComment.js +0 -52
- package/dist/JSSComment.js.map +0 -1
- package/dist/Link.d.ts +0 -22
- package/dist/Link.js +0 -29
- package/dist/Link.js.map +0 -1
- package/dist/List.d.ts +0 -15
- package/dist/List.js +0 -29
- package/dist/List.js.map +0 -1
- package/dist/ListButtonItem.d.ts +0 -14
- package/dist/ListButtonItem.js +0 -11
- package/dist/ListButtonItem.js.map +0 -1
- package/dist/ListDivider.d.ts +0 -1
- package/dist/ListDivider.js +0 -12
- package/dist/ListDivider.js.map +0 -1
- package/dist/ListHeaderItem.d.ts +0 -10
- package/dist/ListHeaderItem.js +0 -15
- package/dist/ListHeaderItem.js.map +0 -1
- package/dist/ListItem.d.ts +0 -9
- package/dist/ListItem.js +0 -9
- package/dist/ListItem.js.map +0 -1
- package/dist/ListLinkItem.d.ts +0 -16
- package/dist/ListLinkItem.js +0 -11
- package/dist/ListLinkItem.js.map +0 -1
- package/dist/ListSpacer.d.ts +0 -1
- package/dist/ListSpacer.js +0 -13
- package/dist/ListSpacer.js.map +0 -1
- package/dist/MenuIcon.d.ts +0 -5
- package/dist/MenuIcon.js +0 -31
- package/dist/MenuIcon.js.map +0 -1
- package/dist/NextJSRouter.d.ts +0 -1
- package/dist/NextJSRouter.js +0 -37
- package/dist/NextJSRouter.js.map +0 -1
- package/dist/NextJSRouterState.d.ts +0 -38
- package/dist/NextJSRouterState.js +0 -111
- package/dist/NextJSRouterState.js.map +0 -1
- package/dist/OnVisible.d.ts +0 -5
- package/dist/OnVisible.js +0 -28
- package/dist/OnVisible.js.map +0 -1
- package/dist/Popover.d.ts +0 -22
- package/dist/Popover.js +0 -90
- package/dist/Popover.js.map +0 -1
- package/dist/ProgressBar.d.ts +0 -7
- package/dist/ProgressBar.js +0 -42
- package/dist/ProgressBar.js.map +0 -1
- package/dist/ProgressCircle.d.ts +0 -5
- package/dist/ProgressCircle.js +0 -12
- package/dist/ProgressCircle.js.map +0 -1
- package/dist/Providers.d.ts +0 -9
- package/dist/Providers.js +0 -16
- package/dist/Providers.js.map +0 -1
- package/dist/RangeInput.d.ts +0 -14
- package/dist/RangeInput.js +0 -32
- package/dist/RangeInput.js.map +0 -1
- package/dist/ResultOrError.d.ts +0 -13
- package/dist/ResultOrError.js +0 -7
- package/dist/ResultOrError.js.map +0 -1
- package/dist/RootView.d.ts +0 -5
- package/dist/RootView.js +0 -35
- package/dist/RootView.js.map +0 -1
- package/dist/Row.d.ts +0 -6
- package/dist/Row.js +0 -7
- package/dist/Row.js.map +0 -1
- package/dist/Select.d.ts +0 -9
- package/dist/Select.js +0 -17
- package/dist/Select.js.map +0 -1
- package/dist/StackContext.d.ts +0 -8
- package/dist/StackContext.js +0 -25
- package/dist/StackContext.js.map +0 -1
- package/dist/StaticCheckbox.d.ts +0 -16
- package/dist/StaticCheckbox.js +0 -48
- package/dist/StaticCheckbox.js.map +0 -1
- package/dist/Storage.d.ts +0 -13
- package/dist/Storage.js +0 -146
- package/dist/Storage.js.map +0 -1
- package/dist/Stream.d.ts +0 -9
- package/dist/Stream.js +0 -36
- package/dist/Stream.js.map +0 -1
- package/dist/Sublist.d.ts +0 -12
- package/dist/Sublist.js +0 -18
- package/dist/Sublist.js.map +0 -1
- package/dist/SubmitIconInput.d.ts +0 -8
- package/dist/SubmitIconInput.js +0 -25
- package/dist/SubmitIconInput.js.map +0 -1
- package/dist/Tabs.d.ts +0 -23
- package/dist/Tabs.js +0 -39
- package/dist/Tabs.js.map +0 -1
- package/dist/Text.d.ts +0 -25
- package/dist/Text.js +0 -52
- package/dist/Text.js.map +0 -1
- package/dist/TextArea.d.ts +0 -11
- package/dist/TextArea.js +0 -27
- package/dist/TextArea.js.map +0 -1
- package/dist/TextInput.d.ts +0 -15
- package/dist/TextInput.js +0 -61
- package/dist/TextInput.js.map +0 -1
- package/dist/TextInputWithState.d.ts +0 -8
- package/dist/TextInputWithState.js +0 -14
- package/dist/TextInputWithState.js.map +0 -1
- package/dist/TextPairing.d.ts +0 -21
- package/dist/TextPairing.js +0 -26
- package/dist/TextPairing.js.map +0 -1
- package/dist/TimeInput.d.ts +0 -15
- package/dist/TimeInput.js +0 -58
- package/dist/TimeInput.js.map +0 -1
- package/dist/Tooltip.d.ts +0 -11
- package/dist/Tooltip.js +0 -73
- package/dist/Tooltip.js.map +0 -1
- package/dist/aria.d.ts +0 -8
- package/dist/aria.js +0 -42
- package/dist/aria.js.map +0 -1
- package/dist/guid.d.ts +0 -1
- package/dist/guid.js +0 -7
- package/dist/guid.js.map +0 -1
- package/dist/hash.d.ts +0 -1
- package/dist/hash.js +0 -20
- package/dist/hash.js.map +0 -1
- package/dist/isServer.d.ts +0 -1
- package/dist/isServer.js +0 -4
- package/dist/isServer.js.map +0 -1
- package/dist/jss.d.ts +0 -122
- package/dist/jss.js +0 -515
- package/dist/jss.js.map +0 -1
- package/dist/numberToBase.d.ts +0 -1
- package/dist/numberToBase.js +0 -44
- package/dist/numberToBase.js.map +0 -1
- package/dist/stateMachineContextFactory.d.ts +0 -36
- package/dist/stateMachineContextFactory.js +0 -48
- package/dist/stateMachineContextFactory.js.map +0 -1
- package/dist/useCookie.d.ts +0 -9
- package/dist/useCookie.js +0 -67
- package/dist/useCookie.js.map +0 -1
- package/dist/useKeyboard.d.ts +0 -8
- package/dist/useKeyboard.js +0 -26
- package/dist/useKeyboard.js.map +0 -1
- package/dist/useNavigation.d.ts +0 -5
- package/dist/useNavigation.js +0 -79
- package/dist/useNavigation.js.map +0 -1
- package/dist/usePromise.d.ts +0 -1
- package/dist/usePromise.js +0 -12
- package/dist/usePromise.js.map +0 -1
- package/dist/useRefEffect.d.ts +0 -1
- package/dist/useRefEffect.js +0 -15
- package/dist/useRefEffect.js.map +0 -1
- package/jss-debug-loader.mjs +0 -44
- package/next-env.d.ts +0 -6
- package/next.config.js +0 -33
- package/scripts/embeddings.js +0 -93
- package/scripts/openai_embeddings.js +0 -100
- package/scripts/publish.js +0 -28
- package/scripts/test_embeddings.js +0 -47
- package/src/Badge.tsx +0 -36
- package/src/BaseButton.tsx +0 -62
- package/src/BaseInput.tsx +0 -63
- package/src/BaseLink.tsx +0 -80
- package/src/BaseList.tsx +0 -26
- package/src/BaseListAddOn.tsx +0 -10
- package/src/BaseListItem.tsx +0 -119
- package/src/BaseView.tsx +0 -57
- package/src/Box.tsx +0 -20
- package/src/Button.tsx +0 -90
- package/src/Calendar.tsx +0 -123
- package/src/Card.tsx +0 -30
- package/src/Checkbox.tsx +0 -63
- package/src/Circle.tsx +0 -24
- package/src/Column.tsx +0 -12
- package/src/DarkMode.tsx +0 -100
- package/src/DateInput.tsx +0 -63
- package/src/DatePicker.tsx +0 -67
- package/src/DatetimeInput.tsx +0 -64
- package/src/DesignBook.tsx +0 -677
- package/src/Dialog.tsx +0 -150
- package/src/Dropdown.tsx +0 -146
- package/src/Emitter.ts +0 -26
- package/src/FlexLayout.tsx +0 -53
- package/src/Icon.tsx +0 -80
- package/src/IconButton.tsx +0 -81
- package/src/IconLink.tsx +0 -59
- package/src/IconType.ts +0 -787
- package/src/Interactable.tsx +0 -210
- package/src/JSSComment.tsx +0 -56
- package/src/Link.tsx +0 -110
- package/src/List.tsx +0 -58
- package/src/ListButtonItem.tsx +0 -69
- package/src/ListDivider.tsx +0 -13
- package/src/ListHeaderItem.tsx +0 -45
- package/src/ListItem.tsx +0 -24
- package/src/ListLinkItem.tsx +0 -76
- package/src/ListSpacer.tsx +0 -14
- package/src/MenuIcon.tsx +0 -50
- package/src/NextJSRouter.tsx +0 -60
- package/src/NextJSRouterState.tsx +0 -154
- package/src/OnVisible.tsx +0 -42
- package/src/Popover.tsx +0 -145
- package/src/ProgressBar.tsx +0 -63
- package/src/ProgressCircle.tsx +0 -38
- package/src/Providers.tsx +0 -33
- package/src/RangeInput.tsx +0 -82
- package/src/ResultOrError.ts +0 -15
- package/src/RootView.tsx +0 -55
- package/src/Row.tsx +0 -12
- package/src/Select.tsx +0 -39
- package/src/StackContext.tsx +0 -52
- package/src/StaticCheckbox.tsx +0 -72
- package/src/Storage.tsx +0 -198
- package/src/Stream.tsx +0 -50
- package/src/Sublist.tsx +0 -61
- package/src/SubmitIconInput.tsx +0 -45
- package/src/Tabs.tsx +0 -110
- package/src/Text.tsx +0 -111
- package/src/TextArea.tsx +0 -58
- package/src/TextInput.tsx +0 -123
- package/src/TextInputWithState.tsx +0 -32
- package/src/TextPairing.tsx +0 -115
- package/src/TimeInput.tsx +0 -109
- package/src/Tooltip.tsx +0 -109
- package/src/aria.ts +0 -72
- package/src/docs/mdx.tsx +0 -137
- package/src/docs/pages.ts +0 -115
- package/src/docs/searchIndex.ts +0 -1
- package/src/examples/ExampleDialog.tsx +0 -28
- package/src/guid.ts +0 -7
- package/src/hash.ts +0 -21
- package/src/index.ts +0 -68
- package/src/isServer.ts +0 -3
- package/src/jss.tsx +0 -712
- package/src/jsx-dev-runtime.ts +0 -74
- package/src/jsx-runtime.ts +0 -2
- package/src/numberToBase.ts +0 -52
- package/src/pages/Badge.mdx +0 -152
- package/src/pages/Button.mdx +0 -163
- package/src/pages/Calendar.mdx +0 -254
- package/src/pages/Card.mdx +0 -147
- package/src/pages/Checkbox.mdx +0 -131
- package/src/pages/Dialog.mdx +0 -197
- package/src/pages/FlexLayout.mdx +0 -211
- package/src/pages/Hashing.mdx +0 -211
- package/src/pages/Icon.mdx +0 -171
- package/src/pages/IconButton.mdx +0 -155
- package/src/pages/Link.mdx +0 -160
- package/src/pages/List.mdx +0 -262
- package/src/pages/ListHeader.mdx +0 -220
- package/src/pages/Popover.mdx +0 -223
- package/src/pages/ProgressBar.mdx +0 -200
- package/src/pages/ProgressCircle.mdx +0 -218
- package/src/pages/RangeInput.mdx +0 -237
- package/src/pages/Tabs.mdx +0 -281
- package/src/pages/Text.mdx +0 -154
- package/src/pages/TextInput.mdx +0 -235
- package/src/pages/TextPairing.mdx +0 -204
- package/src/pages/TimeInput.mdx +0 -178
- package/src/pages/Tooltip.mdx +0 -115
- package/src/pages/_app.tsx +0 -466
- package/src/pages/_document.tsx +0 -30
- package/src/pages/css-in-js.mdx +0 -240
- package/src/pages/index.mdx +0 -58
- package/src/pages/navigation.mdx +0 -158
- package/src/pages/prism.css +0 -3
- package/src/pages/useCookie.mdx +0 -176
- package/src/pages/useKeyboard.mdx +0 -257
- package/src/pages/useNavigation.mdx +0 -258
- package/src/pages/usePromise.mdx +0 -280
- package/src/pages/useRefEffect.mdx +0 -251
- package/src/stateMachineContextFactory.tsx +0 -111
- package/src/useCookie.tsx +0 -95
- package/src/useKeyboard.tsx +0 -43
- package/src/useNavigation.tsx +0 -89
- package/src/usePromise.tsx +0 -18
- package/src/useRefEffect.tsx +0 -18
- package/src/vite-plugin-jss-debug.ts +0 -77
- package/tsconfig.build.json +0 -23
- package/tsconfig.json +0 -38
package/src/pages/Card.mdx
DELETED
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import { Card } from "../Card";
|
|
2
|
-
import { Button } from "../Button";
|
|
3
|
-
import { TextInput } from "../TextInput";
|
|
4
|
-
import { Column } from "../Column";
|
|
5
|
-
import { Row } from "../Row";
|
|
6
|
-
import { H2, H3, P, Span } from "../Text";
|
|
7
|
-
import { Icon } from "../Icon";
|
|
8
|
-
|
|
9
|
-
# Card
|
|
10
|
-
|
|
11
|
-
A container component that groups related content with a distinct visual treatment. Cards provide elevation, background, and rounded corners to create visual hierarchy.
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## Props
|
|
16
|
-
|
|
17
|
-
Card extends all FlexLayout props:
|
|
18
|
-
|
|
19
|
-
| Prop | Type | Default | Description |
|
|
20
|
-
|------|------|---------|-------------|
|
|
21
|
-
| `padding` | `Padding` | `"large"` | Internal padding |
|
|
22
|
-
| `gap` | `Gap` | `"large"` | Space between children |
|
|
23
|
-
| `direction` | `"row"` \| `"column"` | `"column"` | Flex direction |
|
|
24
|
-
| `align` | `Align` | - | Cross-axis alignment |
|
|
25
|
-
| `justify` | `Justify` | - | Main-axis alignment |
|
|
26
|
-
| `grow` | `boolean` | - | Allow card to grow |
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## Basic card
|
|
31
|
-
|
|
32
|
-
<Card>
|
|
33
|
-
<H3>Card title</H3>
|
|
34
|
-
<P>Cards group related content together with visual distinction from the surrounding interface.</P>
|
|
35
|
-
</Card>
|
|
36
|
-
|
|
37
|
-
```js
|
|
38
|
-
<Card>
|
|
39
|
-
<H3>Card title</H3>
|
|
40
|
-
<P>Card content goes here...</P>
|
|
41
|
-
</Card>
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## Contact form example
|
|
47
|
-
|
|
48
|
-
<Card>
|
|
49
|
-
<H3>Contact Us</H3>
|
|
50
|
-
<P>Send us a message and we'll get back to you soon.</P>
|
|
51
|
-
<TextInput
|
|
52
|
-
placeholder="Your email"
|
|
53
|
-
value=""
|
|
54
|
-
type="email"
|
|
55
|
-
onValueChange={() => {}}
|
|
56
|
-
/>
|
|
57
|
-
<TextInput
|
|
58
|
-
placeholder="Your message"
|
|
59
|
-
value=""
|
|
60
|
-
onValueChange={() => {}}
|
|
61
|
-
/>
|
|
62
|
-
<Button color="positive" onClick={() => {}}>
|
|
63
|
-
Send Message
|
|
64
|
-
</Button>
|
|
65
|
-
</Card>
|
|
66
|
-
|
|
67
|
-
```js
|
|
68
|
-
<Card>
|
|
69
|
-
<H3>Contact Us</H3>
|
|
70
|
-
<P>Send us a message and we'll get back to you soon.</P>
|
|
71
|
-
<TextInput
|
|
72
|
-
placeholder="Your email"
|
|
73
|
-
value={email}
|
|
74
|
-
type="email"
|
|
75
|
-
onValueChange={setEmail}
|
|
76
|
-
/>
|
|
77
|
-
<TextInput
|
|
78
|
-
placeholder="Your message"
|
|
79
|
-
value={message}
|
|
80
|
-
onValueChange={setMessage}
|
|
81
|
-
/>
|
|
82
|
-
<Button color="positive" onClick={handleSubmit}>
|
|
83
|
-
Send Message
|
|
84
|
-
</Button>
|
|
85
|
-
</Card>
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
---
|
|
89
|
-
|
|
90
|
-
## Custom padding and gap
|
|
91
|
-
|
|
92
|
-
<Row gap="medium">
|
|
93
|
-
<Card padding="small" gap="small">
|
|
94
|
-
<Span>Small padding</Span>
|
|
95
|
-
<Span color="secondary">Compact layout</Span>
|
|
96
|
-
</Card>
|
|
97
|
-
<Card padding="xlarge" gap="medium">
|
|
98
|
-
<Span>Large padding</Span>
|
|
99
|
-
<Span color="secondary">Spacious layout</Span>
|
|
100
|
-
</Card>
|
|
101
|
-
</Row>
|
|
102
|
-
|
|
103
|
-
```js
|
|
104
|
-
<Card padding="small" gap="small">
|
|
105
|
-
<Span>Compact card</Span>
|
|
106
|
-
</Card>
|
|
107
|
-
|
|
108
|
-
<Card padding="xlarge" gap="large">
|
|
109
|
-
<Span>Spacious card</Span>
|
|
110
|
-
</Card>
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## Horizontal card
|
|
116
|
-
|
|
117
|
-
Use `direction="row"` for horizontal layouts:
|
|
118
|
-
|
|
119
|
-
<Card direction="row" align="center" gap="medium">
|
|
120
|
-
<Icon icon="fa-user" color="highlight" size="xlarge" />
|
|
121
|
-
<Column gap="none">
|
|
122
|
-
<Span bold>John Doe</Span>
|
|
123
|
-
<Span color="secondary" size="small">Software Engineer</Span>
|
|
124
|
-
</Column>
|
|
125
|
-
</Card>
|
|
126
|
-
|
|
127
|
-
```js
|
|
128
|
-
<Card direction="row" align="center" gap="medium">
|
|
129
|
-
<Icon icon="fa-user" color="highlight" size="xlarge" />
|
|
130
|
-
<Column gap="none">
|
|
131
|
-
<Span bold>John Doe</Span>
|
|
132
|
-
<Span color="secondary" size="small">Software Engineer</Span>
|
|
133
|
-
</Column>
|
|
134
|
-
</Card>
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## Use cases
|
|
140
|
-
|
|
141
|
-
Cards are useful for:
|
|
142
|
-
|
|
143
|
-
- **Forms** - Group related inputs together
|
|
144
|
-
- **Profiles** - Display user or item information
|
|
145
|
-
- **Summaries** - Highlight key metrics or stats
|
|
146
|
-
- **Actions** - Group related actions with context
|
|
147
|
-
- **Content sections** - Separate distinct content areas
|
package/src/pages/Checkbox.mdx
DELETED
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { Checkbox } from "../Checkbox";
|
|
2
|
-
import { StaticCheckbox } from "../StaticCheckbox";
|
|
3
|
-
import { Column } from "../Column";
|
|
4
|
-
import { Row } from "../Row";
|
|
5
|
-
import { Span } from "../Text";
|
|
6
|
-
|
|
7
|
-
# Checkbox
|
|
8
|
-
|
|
9
|
-
A styled checkbox input with custom visual appearance. Built on native HTML checkbox for full accessibility support.
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## Props
|
|
14
|
-
|
|
15
|
-
### Checkbox
|
|
16
|
-
|
|
17
|
-
| Prop | Type | Required | Default | Description |
|
|
18
|
-
|------|------|----------|---------|-------------|
|
|
19
|
-
| `checked` | `boolean` | Yes | - | Whether the checkbox is checked |
|
|
20
|
-
| `onClick` | `() => void` | Yes | - | Called when checkbox is toggled |
|
|
21
|
-
| `size` | `Size` | Yes | - | `"small"` (16px), `"medium"` (20px), `"large"` (24px) |
|
|
22
|
-
|
|
23
|
-
Also accepts standard HTML input attributes.
|
|
24
|
-
|
|
25
|
-
### StaticCheckbox
|
|
26
|
-
|
|
27
|
-
| Prop | Type | Required | Default | Description |
|
|
28
|
-
|------|------|----------|---------|-------------|
|
|
29
|
-
| `checked` | `boolean` | Yes | - | Whether the checkbox appears checked |
|
|
30
|
-
| `size` | `Size` | Yes | - | `"small"`, `"medium"`, `"large"` |
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Sizes
|
|
35
|
-
|
|
36
|
-
<Row padding="medium" gap="xlarge" justify="center" align="center">
|
|
37
|
-
<Column gap="small" align="center">
|
|
38
|
-
<Checkbox size="small" checked={true} onClick={() => {}} />
|
|
39
|
-
<Span size="small" color="secondary">small</Span>
|
|
40
|
-
</Column>
|
|
41
|
-
<Column gap="small" align="center">
|
|
42
|
-
<Checkbox size="medium" checked={true} onClick={() => {}} />
|
|
43
|
-
<Span size="small" color="secondary">medium</Span>
|
|
44
|
-
</Column>
|
|
45
|
-
<Column gap="small" align="center">
|
|
46
|
-
<Checkbox size="large" checked={true} onClick={() => {}} />
|
|
47
|
-
<Span size="small" color="secondary">large</Span>
|
|
48
|
-
</Column>
|
|
49
|
-
</Row>
|
|
50
|
-
|
|
51
|
-
```js
|
|
52
|
-
<Checkbox size="small" checked={checked} onClick={toggle} />
|
|
53
|
-
<Checkbox size="medium" checked={checked} onClick={toggle} />
|
|
54
|
-
<Checkbox size="large" checked={checked} onClick={toggle} />
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## States
|
|
60
|
-
|
|
61
|
-
<Row padding="medium" gap="xlarge" justify="center" align="center">
|
|
62
|
-
<Column gap="small" align="center">
|
|
63
|
-
<Checkbox size="medium" checked={false} onClick={() => {}} />
|
|
64
|
-
<Span size="small" color="secondary">unchecked</Span>
|
|
65
|
-
</Column>
|
|
66
|
-
<Column gap="small" align="center">
|
|
67
|
-
<Checkbox size="medium" checked={true} onClick={() => {}} />
|
|
68
|
-
<Span size="small" color="secondary">checked</Span>
|
|
69
|
-
</Column>
|
|
70
|
-
</Row>
|
|
71
|
-
|
|
72
|
-
```js
|
|
73
|
-
const [checked, setChecked] = useState(false);
|
|
74
|
-
|
|
75
|
-
<Checkbox
|
|
76
|
-
size="medium"
|
|
77
|
-
checked={checked}
|
|
78
|
-
onClick={() => setChecked(!checked)}
|
|
79
|
-
/>
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
---
|
|
83
|
-
|
|
84
|
-
## StaticCheckbox
|
|
85
|
-
|
|
86
|
-
Use `StaticCheckbox` when you need just the visual appearance without the underlying `<input>` element. Useful when the checkbox is part of a larger interactive component.
|
|
87
|
-
|
|
88
|
-
<Row padding="medium" gap="large" justify="center" align="center">
|
|
89
|
-
<StaticCheckbox size="small" checked={true} />
|
|
90
|
-
<StaticCheckbox size="medium" checked={true} />
|
|
91
|
-
<StaticCheckbox size="large" checked={true} />
|
|
92
|
-
</Row>
|
|
93
|
-
|
|
94
|
-
```js
|
|
95
|
-
// Visual only - no input element
|
|
96
|
-
<StaticCheckbox size="medium" checked={isSelected} />
|
|
97
|
-
|
|
98
|
-
// Used within a custom list item
|
|
99
|
-
<ListButtonItem
|
|
100
|
-
headline="Option"
|
|
101
|
-
addOn={<StaticCheckbox size="medium" checked={selected} />}
|
|
102
|
-
onClick={toggleSelection}
|
|
103
|
-
/>
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
---
|
|
107
|
-
|
|
108
|
-
## With label
|
|
109
|
-
|
|
110
|
-
Checkboxes are typically paired with labels for better UX:
|
|
111
|
-
|
|
112
|
-
```js
|
|
113
|
-
<Row gap="small" align="center">
|
|
114
|
-
<Checkbox
|
|
115
|
-
size="medium"
|
|
116
|
-
checked={agreed}
|
|
117
|
-
onClick={() => setAgreed(!agreed)}
|
|
118
|
-
/>
|
|
119
|
-
<Span>I agree to the terms and conditions</Span>
|
|
120
|
-
</Row>
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## Accessibility
|
|
126
|
-
|
|
127
|
-
- Uses native `<input type="checkbox">` for full keyboard and screen reader support
|
|
128
|
-
- Visual checkbox is layered over the hidden input
|
|
129
|
-
- Focus ring appears on keyboard navigation
|
|
130
|
-
- Press animation provides tactile feedback
|
|
131
|
-
- `aria-checked` attribute reflects current state
|
package/src/pages/Dialog.mdx
DELETED
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import { DialogTrigger } from "../examples/ExampleDialog.tsx";
|
|
2
|
-
import { Button } from "../Button";
|
|
3
|
-
|
|
4
|
-
# Dialog
|
|
5
|
-
|
|
6
|
-
A modal dialog component that overlays the main UI. Dialogs trap focus and prevent interaction with the underlying content, following accessibility best practices.
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## Props
|
|
11
|
-
|
|
12
|
-
### Dialog component
|
|
13
|
-
|
|
14
|
-
| Prop | Type | Required | Description |
|
|
15
|
-
|------|------|----------|-------------|
|
|
16
|
-
| `label` | `string` | Yes | Dialog title displayed in the header |
|
|
17
|
-
| `children` | `ReactNode` | Yes | Dialog content |
|
|
18
|
-
| `close` | `() => void` | Yes | Function to close the dialog |
|
|
19
|
-
|
|
20
|
-
### useDialog hook
|
|
21
|
-
|
|
22
|
-
| Parameter | Type | Description |
|
|
23
|
-
|-----------|------|-------------|
|
|
24
|
-
| `DialogComponent` | `(props: { close: () => void } & Input) => JSX.Element` | Component to render inside the dialog |
|
|
25
|
-
| `options.closeOnOutsideClick` | `boolean` | Whether clicking outside closes the dialog |
|
|
26
|
-
|
|
27
|
-
Returns:
|
|
28
|
-
- `open(input?: Input)` - Function to open the dialog with optional input data
|
|
29
|
-
- `close()` - Function to close the dialog programmatically
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Basic usage
|
|
34
|
-
|
|
35
|
-
Click the button to open a dialog:
|
|
36
|
-
|
|
37
|
-
<DialogTrigger />
|
|
38
|
-
|
|
39
|
-
```js
|
|
40
|
-
import { Dialog, useDialog } from "aidos-ui";
|
|
41
|
-
|
|
42
|
-
function MyDialog({ close }) {
|
|
43
|
-
return (
|
|
44
|
-
<Dialog close={close} label="Settings">
|
|
45
|
-
<Row padding="medium" align="center" justify="space-between">
|
|
46
|
-
<Span>Dark mode</Span>
|
|
47
|
-
<DarkModeToggle />
|
|
48
|
-
</Row>
|
|
49
|
-
</Dialog>
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
function App() {
|
|
54
|
-
const { open } = useDialog(
|
|
55
|
-
({ close }) => <MyDialog close={close} />,
|
|
56
|
-
{ closeOnOutsideClick: true }
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
return (
|
|
60
|
-
<Button color="positive" onClick={() => open()}>
|
|
61
|
-
Open Settings
|
|
62
|
-
</Button>
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
## Passing data to dialog
|
|
70
|
-
|
|
71
|
-
Use TypeScript generics to pass data when opening the dialog:
|
|
72
|
-
|
|
73
|
-
```js
|
|
74
|
-
interface UserData {
|
|
75
|
-
name: string;
|
|
76
|
-
email: string;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function EditUserDialog({ close, name, email }: { close: () => void } & UserData) {
|
|
80
|
-
return (
|
|
81
|
-
<Dialog close={close} label="Edit User">
|
|
82
|
-
<Column padding="medium" gap="medium">
|
|
83
|
-
<TextInput value={name} onValueChange={() => {}} />
|
|
84
|
-
<TextInput value={email} onValueChange={() => {}} />
|
|
85
|
-
<Button color="positive" onClick={close}>
|
|
86
|
-
Save
|
|
87
|
-
</Button>
|
|
88
|
-
</Column>
|
|
89
|
-
</Dialog>
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
function App() {
|
|
94
|
-
const { open } = useDialog<UserData>(
|
|
95
|
-
({ close, name, email }) => (
|
|
96
|
-
<EditUserDialog close={close} name={name} email={email} />
|
|
97
|
-
),
|
|
98
|
-
{ closeOnOutsideClick: false }
|
|
99
|
-
);
|
|
100
|
-
|
|
101
|
-
return (
|
|
102
|
-
<Button
|
|
103
|
-
color="primary"
|
|
104
|
-
onClick={() => open({ name: "John", email: "john@example.com" })}
|
|
105
|
-
>
|
|
106
|
-
Edit User
|
|
107
|
-
</Button>
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## Dialog options
|
|
115
|
-
|
|
116
|
-
### Close on outside click
|
|
117
|
-
|
|
118
|
-
Control whether clicking the backdrop closes the dialog:
|
|
119
|
-
|
|
120
|
-
```js
|
|
121
|
-
// Dialog closes when clicking outside
|
|
122
|
-
const { open } = useDialog(
|
|
123
|
-
({ close }) => <MyDialog close={close} />,
|
|
124
|
-
{ closeOnOutsideClick: true }
|
|
125
|
-
);
|
|
126
|
-
|
|
127
|
-
// Dialog stays open until explicitly closed
|
|
128
|
-
const { open } = useDialog(
|
|
129
|
-
({ close }) => <MyDialog close={close} />,
|
|
130
|
-
{ closeOnOutsideClick: false }
|
|
131
|
-
);
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
---
|
|
135
|
-
|
|
136
|
-
## Closing the dialog
|
|
137
|
-
|
|
138
|
-
Dialogs can be closed in several ways:
|
|
139
|
-
|
|
140
|
-
1. **Close button** - Built into the Dialog header
|
|
141
|
-
2. **Escape key** - Native dialog behavior
|
|
142
|
-
3. **Outside click** - When `closeOnOutsideClick: true`
|
|
143
|
-
4. **Programmatically** - Using the `close` function
|
|
144
|
-
|
|
145
|
-
```js
|
|
146
|
-
function ConfirmDialog({ close, onConfirm }) {
|
|
147
|
-
return (
|
|
148
|
-
<Dialog close={close} label="Confirm">
|
|
149
|
-
<Column padding="medium" gap="medium">
|
|
150
|
-
<P>Are you sure you want to proceed?</P>
|
|
151
|
-
<Row gap="medium" justify="end">
|
|
152
|
-
<Button bare color="primary" onClick={close}>
|
|
153
|
-
Cancel
|
|
154
|
-
</Button>
|
|
155
|
-
<Button
|
|
156
|
-
color="positive"
|
|
157
|
-
onClick={() => {
|
|
158
|
-
onConfirm();
|
|
159
|
-
close();
|
|
160
|
-
}}
|
|
161
|
-
>
|
|
162
|
-
Confirm
|
|
163
|
-
</Button>
|
|
164
|
-
</Row>
|
|
165
|
-
</Column>
|
|
166
|
-
</Dialog>
|
|
167
|
-
);
|
|
168
|
-
}
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## Setup
|
|
174
|
-
|
|
175
|
-
The `DialogProvider` must wrap your app to enable dialogs. This is typically included in the `Providers` component:
|
|
176
|
-
|
|
177
|
-
```js
|
|
178
|
-
import { Providers } from "aidos-ui";
|
|
179
|
-
|
|
180
|
-
function App() {
|
|
181
|
-
return (
|
|
182
|
-
<Providers>
|
|
183
|
-
{/* Your app content */}
|
|
184
|
-
</Providers>
|
|
185
|
-
);
|
|
186
|
-
}
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
## Accessibility
|
|
192
|
-
|
|
193
|
-
- Uses native `<dialog>` element with `showModal()` for proper modal behavior
|
|
194
|
-
- Focus is trapped within the dialog
|
|
195
|
-
- Escape key closes the dialog
|
|
196
|
-
- Focus returns to the triggering element when closed
|
|
197
|
-
- Backdrop prevents interaction with underlying content
|
package/src/pages/FlexLayout.mdx
DELETED
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
import { Column } from "../Column";
|
|
2
|
-
import { Row } from "../Row";
|
|
3
|
-
import { Badge } from "../Badge";
|
|
4
|
-
import { BaseView } from "../BaseView";
|
|
5
|
-
import { Span } from "../Text";
|
|
6
|
-
import { cssVar } from "../jss";
|
|
7
|
-
|
|
8
|
-
# FlexLayout
|
|
9
|
-
|
|
10
|
-
`Row` and `Column` are the primary layout components, providing a simple API for flexbox layouts without writing custom styles.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Row
|
|
15
|
-
|
|
16
|
-
Arranges children horizontally (flex-direction: row).
|
|
17
|
-
|
|
18
|
-
<Row gap="medium" padding="medium" jss={{ border: `1px solid ${cssVar("--divider")}`, borderRadius: 8 }}>
|
|
19
|
-
<Badge />
|
|
20
|
-
<Badge />
|
|
21
|
-
<Badge />
|
|
22
|
-
</Row>
|
|
23
|
-
|
|
24
|
-
```js
|
|
25
|
-
<Row gap="medium" padding="medium">
|
|
26
|
-
<Badge />
|
|
27
|
-
<Badge />
|
|
28
|
-
<Badge />
|
|
29
|
-
</Row>
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Column
|
|
35
|
-
|
|
36
|
-
Arranges children vertically (flex-direction: column).
|
|
37
|
-
|
|
38
|
-
<Column gap="medium" padding="medium" jss={{ border: `1px solid ${cssVar("--divider")}`, borderRadius: 8 }}>
|
|
39
|
-
<Badge />
|
|
40
|
-
<Badge />
|
|
41
|
-
<Badge />
|
|
42
|
-
</Column>
|
|
43
|
-
|
|
44
|
-
```js
|
|
45
|
-
<Column gap="medium" padding="medium">
|
|
46
|
-
<Badge />
|
|
47
|
-
<Badge />
|
|
48
|
-
<Badge />
|
|
49
|
-
</Column>
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Props
|
|
55
|
-
|
|
56
|
-
Both `Row` and `Column` accept the same props:
|
|
57
|
-
|
|
58
|
-
| Prop | Type | Default | Description |
|
|
59
|
-
|------|------|---------|-------------|
|
|
60
|
-
| `gap` | `Gap` | - | Space between children: `"none"`, `"xsmall"`, `"small"`, `"medium"`, `"large"`, `"xlarge"` |
|
|
61
|
-
| `padding` | `Padding` | - | Internal padding (same values as gap) |
|
|
62
|
-
| `justify` | `Justify` | - | Main axis alignment: `"start"`, `"end"`, `"center"`, `"space-between"`, `"space-around"`, `"space-evenly"` |
|
|
63
|
-
| `align` | `Align` | - | Cross axis alignment: `"start"`, `"end"`, `"center"`, `"stretch"`, `"baseline"` |
|
|
64
|
-
| `grow` | `boolean` | `false` | Allow element to grow (flex-grow: 1) |
|
|
65
|
-
| `shrink` | `boolean` | `false` | Allow element to shrink (flex-shrink: 1) |
|
|
66
|
-
| `wrap` | `boolean` | `false` | Allow items to wrap |
|
|
67
|
-
|
|
68
|
-
---
|
|
69
|
-
|
|
70
|
-
## Justify content
|
|
71
|
-
|
|
72
|
-
Control how items are distributed along the main axis:
|
|
73
|
-
|
|
74
|
-
<Column gap="medium">
|
|
75
|
-
<Row justify="start" padding="small" jss={{ border: `1px solid ${cssVar("--highlight")}` }}>
|
|
76
|
-
<Badge /><Badge /><Badge />
|
|
77
|
-
</Row>
|
|
78
|
-
<Row justify="center" padding="small" jss={{ border: `1px solid ${cssVar("--highlight")}` }}>
|
|
79
|
-
<Badge /><Badge /><Badge />
|
|
80
|
-
</Row>
|
|
81
|
-
<Row justify="end" padding="small" jss={{ border: `1px solid ${cssVar("--highlight")}` }}>
|
|
82
|
-
<Badge /><Badge /><Badge />
|
|
83
|
-
</Row>
|
|
84
|
-
<Row justify="space-between" padding="small" jss={{ border: `1px solid ${cssVar("--highlight")}` }}>
|
|
85
|
-
<Badge /><Badge /><Badge />
|
|
86
|
-
</Row>
|
|
87
|
-
<Row justify="space-around" padding="small" jss={{ border: `1px solid ${cssVar("--highlight")}` }}>
|
|
88
|
-
<Badge /><Badge /><Badge />
|
|
89
|
-
</Row>
|
|
90
|
-
<Row justify="space-evenly" padding="small" jss={{ border: `1px solid ${cssVar("--highlight")}` }}>
|
|
91
|
-
<Badge /><Badge /><Badge />
|
|
92
|
-
</Row>
|
|
93
|
-
</Column>
|
|
94
|
-
|
|
95
|
-
```js
|
|
96
|
-
<Row justify="start">...</Row>
|
|
97
|
-
<Row justify="center">...</Row>
|
|
98
|
-
<Row justify="end">...</Row>
|
|
99
|
-
<Row justify="space-between">...</Row>
|
|
100
|
-
<Row justify="space-around">...</Row>
|
|
101
|
-
<Row justify="space-evenly">...</Row>
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## Align items
|
|
107
|
-
|
|
108
|
-
Control how items are aligned on the cross axis:
|
|
109
|
-
|
|
110
|
-
<Row gap="medium">
|
|
111
|
-
<Row align="start" padding="small" jss={{ border: `1px solid ${cssVar("--highlight")}`, height: 80 }}>
|
|
112
|
-
<Badge />
|
|
113
|
-
</Row>
|
|
114
|
-
<Row align="center" padding="small" jss={{ border: `1px solid ${cssVar("--highlight")}`, height: 80 }}>
|
|
115
|
-
<Badge />
|
|
116
|
-
</Row>
|
|
117
|
-
<Row align="end" padding="small" jss={{ border: `1px solid ${cssVar("--highlight")}`, height: 80 }}>
|
|
118
|
-
<Badge />
|
|
119
|
-
</Row>
|
|
120
|
-
<Row align="stretch" padding="small" jss={{ border: `1px solid ${cssVar("--highlight")}`, height: 80 }}>
|
|
121
|
-
<BaseView jss={{ backgroundColor: cssVar("--highlight"), width: 16 }} />
|
|
122
|
-
</Row>
|
|
123
|
-
</Row>
|
|
124
|
-
|
|
125
|
-
```js
|
|
126
|
-
<Row align="start">...</Row>
|
|
127
|
-
<Row align="center">...</Row>
|
|
128
|
-
<Row align="end">...</Row>
|
|
129
|
-
<Row align="stretch">...</Row>
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## Gap sizes
|
|
135
|
-
|
|
136
|
-
<Column gap="medium">
|
|
137
|
-
<Row gap="none" jss={{ border: `1px solid ${cssVar("--divider")}` }}>
|
|
138
|
-
<Badge /><Badge /><Badge />
|
|
139
|
-
</Row>
|
|
140
|
-
<Row gap="small" jss={{ border: `1px solid ${cssVar("--divider")}` }}>
|
|
141
|
-
<Badge /><Badge /><Badge />
|
|
142
|
-
</Row>
|
|
143
|
-
<Row gap="medium" jss={{ border: `1px solid ${cssVar("--divider")}` }}>
|
|
144
|
-
<Badge /><Badge /><Badge />
|
|
145
|
-
</Row>
|
|
146
|
-
<Row gap="large" jss={{ border: `1px solid ${cssVar("--divider")}` }}>
|
|
147
|
-
<Badge /><Badge /><Badge />
|
|
148
|
-
</Row>
|
|
149
|
-
<Row gap="xlarge" jss={{ border: `1px solid ${cssVar("--divider")}` }}>
|
|
150
|
-
<Badge /><Badge /><Badge />
|
|
151
|
-
</Row>
|
|
152
|
-
</Column>
|
|
153
|
-
|
|
154
|
-
```js
|
|
155
|
-
<Row gap="none">...</Row> // 0px
|
|
156
|
-
<Row gap="xsmall">...</Row> // 4px
|
|
157
|
-
<Row gap="small">...</Row> // 8px
|
|
158
|
-
<Row gap="medium">...</Row> // 12px
|
|
159
|
-
<Row gap="large">...</Row> // 16px
|
|
160
|
-
<Row gap="xlarge">...</Row> // 24px
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## Grow and shrink
|
|
166
|
-
|
|
167
|
-
Control how items expand or contract:
|
|
168
|
-
|
|
169
|
-
<Row gap="medium" jss={{ border: `1px solid ${cssVar("--divider")}` }}>
|
|
170
|
-
<BaseView padding="medium" jss={{ backgroundColor: cssVar("--highlight") }}>
|
|
171
|
-
<Span color="light">Fixed</Span>
|
|
172
|
-
</BaseView>
|
|
173
|
-
<BaseView grow padding="medium" jss={{ backgroundColor: cssVar("--secondary-background") }}>
|
|
174
|
-
<Span>Grows to fill space</Span>
|
|
175
|
-
</BaseView>
|
|
176
|
-
<BaseView padding="medium" jss={{ backgroundColor: cssVar("--highlight") }}>
|
|
177
|
-
<Span color="light">Fixed</Span>
|
|
178
|
-
</BaseView>
|
|
179
|
-
</Row>
|
|
180
|
-
|
|
181
|
-
```js
|
|
182
|
-
<Row>
|
|
183
|
-
<BaseView>Fixed width</BaseView>
|
|
184
|
-
<BaseView grow>Fills remaining space</BaseView>
|
|
185
|
-
<BaseView>Fixed width</BaseView>
|
|
186
|
-
</Row>
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
## Nesting layouts
|
|
192
|
-
|
|
193
|
-
Combine Row and Column for complex layouts:
|
|
194
|
-
|
|
195
|
-
```js
|
|
196
|
-
<Column gap="medium" padding="medium">
|
|
197
|
-
<Row justify="space-between" align="center">
|
|
198
|
-
<Span>Title</Span>
|
|
199
|
-
<Button color="primary" onClick={() => {}}>Action</Button>
|
|
200
|
-
</Row>
|
|
201
|
-
<Row gap="medium">
|
|
202
|
-
<Column grow gap="small">
|
|
203
|
-
<Span>Main content</Span>
|
|
204
|
-
<P>Description text here...</P>
|
|
205
|
-
</Column>
|
|
206
|
-
<Column gap="small">
|
|
207
|
-
<Span>Sidebar</Span>
|
|
208
|
-
</Column>
|
|
209
|
-
</Row>
|
|
210
|
-
</Column>
|
|
211
|
-
```
|