aidos-ui 4.0.4 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +23 -3
  3. package/dist/index.d.ts +801 -68
  4. package/dist/index.js +3934 -68
  5. package/dist/index.js.map +1 -1
  6. package/dist/jsx-dev-runtime.d.ts +6 -2
  7. package/dist/jsx-dev-runtime.js +87 -42
  8. package/dist/jsx-dev-runtime.js.map +1 -1
  9. package/dist/jsx-runtime.d.ts +1 -1
  10. package/dist/jsx-runtime.js +2 -2
  11. package/dist/jsx-runtime.js.map +1 -1
  12. package/dist/vite-plugin-jss-debug.d.ts +3 -1
  13. package/dist/vite-plugin-jss-debug.js +57 -74
  14. package/dist/vite-plugin-jss-debug.js.map +1 -1
  15. package/package.json +61 -27
  16. package/.prettierrc +0 -4
  17. package/CLAUDE.md +0 -72
  18. package/dist/Badge.d.ts +0 -6
  19. package/dist/Badge.js +0 -22
  20. package/dist/Badge.js.map +0 -1
  21. package/dist/BaseButton.d.ts +0 -14
  22. package/dist/BaseButton.js +0 -23
  23. package/dist/BaseButton.js.map +0 -1
  24. package/dist/BaseInput.d.ts +0 -14
  25. package/dist/BaseInput.js +0 -15
  26. package/dist/BaseInput.js.map +0 -1
  27. package/dist/BaseLink.d.ts +0 -18
  28. package/dist/BaseLink.js +0 -29
  29. package/dist/BaseLink.js.map +0 -1
  30. package/dist/BaseList.d.ts +0 -6
  31. package/dist/BaseList.js +0 -14
  32. package/dist/BaseList.js.map +0 -1
  33. package/dist/BaseListAddOn.d.ts +0 -5
  34. package/dist/BaseListAddOn.js +0 -7
  35. package/dist/BaseListAddOn.js.map +0 -1
  36. package/dist/BaseListItem.d.ts +0 -26
  37. package/dist/BaseListItem.js +0 -29
  38. package/dist/BaseListItem.js.map +0 -1
  39. package/dist/BaseView.d.ts +0 -12
  40. package/dist/BaseView.js +0 -26
  41. package/dist/BaseView.js.map +0 -1
  42. package/dist/Box.d.ts +0 -4
  43. package/dist/Box.js +0 -6
  44. package/dist/Box.js.map +0 -1
  45. package/dist/Button.d.ts +0 -20
  46. package/dist/Button.js +0 -19
  47. package/dist/Button.js.map +0 -1
  48. package/dist/Calendar.d.ts +0 -18
  49. package/dist/Calendar.js +0 -57
  50. package/dist/Calendar.js.map +0 -1
  51. package/dist/Card.d.ts +0 -4
  52. package/dist/Card.js +0 -14
  53. package/dist/Card.js.map +0 -1
  54. package/dist/Checkbox.d.ts +0 -11
  55. package/dist/Checkbox.js +0 -32
  56. package/dist/Checkbox.js.map +0 -1
  57. package/dist/Circle.d.ts +0 -5
  58. package/dist/Circle.js +0 -12
  59. package/dist/Circle.js.map +0 -1
  60. package/dist/Column.d.ts +0 -6
  61. package/dist/Column.js +0 -7
  62. package/dist/Column.js.map +0 -1
  63. package/dist/DarkMode.d.ts +0 -13
  64. package/dist/DarkMode.js +0 -62
  65. package/dist/DarkMode.js.map +0 -1
  66. package/dist/DateInput.d.ts +0 -13
  67. package/dist/DateInput.js +0 -29
  68. package/dist/DateInput.js.map +0 -1
  69. package/dist/DatePicker.d.ts +0 -11
  70. package/dist/DatePicker.js +0 -34
  71. package/dist/DatePicker.js.map +0 -1
  72. package/dist/DatetimeInput.d.ts +0 -13
  73. package/dist/DatetimeInput.js +0 -31
  74. package/dist/DatetimeInput.js.map +0 -1
  75. package/dist/DesignBook.d.ts +0 -1
  76. package/dist/DesignBook.js +0 -55
  77. package/dist/DesignBook.js.map +0 -1
  78. package/dist/Dialog.d.ts +0 -17
  79. package/dist/Dialog.js +0 -92
  80. package/dist/Dialog.js.map +0 -1
  81. package/dist/Dropdown.d.ts +0 -14
  82. package/dist/Dropdown.js +0 -65
  83. package/dist/Dropdown.js.map +0 -1
  84. package/dist/Emitter.d.ts +0 -6
  85. package/dist/Emitter.js +0 -19
  86. package/dist/Emitter.js.map +0 -1
  87. package/dist/FlexLayout.d.ts +0 -11
  88. package/dist/FlexLayout.js +0 -18
  89. package/dist/FlexLayout.js.map +0 -1
  90. package/dist/Icon.d.ts +0 -12
  91. package/dist/Icon.js +0 -60
  92. package/dist/Icon.js.map +0 -1
  93. package/dist/IconButton.d.ts +0 -11
  94. package/dist/IconButton.js +0 -34
  95. package/dist/IconButton.js.map +0 -1
  96. package/dist/IconLink.d.ts +0 -9
  97. package/dist/IconLink.js +0 -32
  98. package/dist/IconLink.js.map +0 -1
  99. package/dist/IconType.d.ts +0 -1
  100. package/dist/IconType.js +0 -2
  101. package/dist/IconType.js.map +0 -1
  102. package/dist/Interactable.d.ts +0 -50
  103. package/dist/Interactable.js +0 -169
  104. package/dist/Interactable.js.map +0 -1
  105. package/dist/JSSComment.d.ts +0 -10
  106. package/dist/JSSComment.js +0 -52
  107. package/dist/JSSComment.js.map +0 -1
  108. package/dist/Link.d.ts +0 -22
  109. package/dist/Link.js +0 -29
  110. package/dist/Link.js.map +0 -1
  111. package/dist/List.d.ts +0 -15
  112. package/dist/List.js +0 -29
  113. package/dist/List.js.map +0 -1
  114. package/dist/ListButtonItem.d.ts +0 -14
  115. package/dist/ListButtonItem.js +0 -11
  116. package/dist/ListButtonItem.js.map +0 -1
  117. package/dist/ListDivider.d.ts +0 -1
  118. package/dist/ListDivider.js +0 -12
  119. package/dist/ListDivider.js.map +0 -1
  120. package/dist/ListHeaderItem.d.ts +0 -10
  121. package/dist/ListHeaderItem.js +0 -15
  122. package/dist/ListHeaderItem.js.map +0 -1
  123. package/dist/ListItem.d.ts +0 -9
  124. package/dist/ListItem.js +0 -9
  125. package/dist/ListItem.js.map +0 -1
  126. package/dist/ListLinkItem.d.ts +0 -16
  127. package/dist/ListLinkItem.js +0 -11
  128. package/dist/ListLinkItem.js.map +0 -1
  129. package/dist/ListSpacer.d.ts +0 -1
  130. package/dist/ListSpacer.js +0 -13
  131. package/dist/ListSpacer.js.map +0 -1
  132. package/dist/MenuIcon.d.ts +0 -5
  133. package/dist/MenuIcon.js +0 -31
  134. package/dist/MenuIcon.js.map +0 -1
  135. package/dist/NextJSRouter.d.ts +0 -1
  136. package/dist/NextJSRouter.js +0 -37
  137. package/dist/NextJSRouter.js.map +0 -1
  138. package/dist/NextJSRouterState.d.ts +0 -38
  139. package/dist/NextJSRouterState.js +0 -111
  140. package/dist/NextJSRouterState.js.map +0 -1
  141. package/dist/OnVisible.d.ts +0 -5
  142. package/dist/OnVisible.js +0 -28
  143. package/dist/OnVisible.js.map +0 -1
  144. package/dist/Popover.d.ts +0 -22
  145. package/dist/Popover.js +0 -90
  146. package/dist/Popover.js.map +0 -1
  147. package/dist/ProgressBar.d.ts +0 -7
  148. package/dist/ProgressBar.js +0 -42
  149. package/dist/ProgressBar.js.map +0 -1
  150. package/dist/ProgressCircle.d.ts +0 -5
  151. package/dist/ProgressCircle.js +0 -12
  152. package/dist/ProgressCircle.js.map +0 -1
  153. package/dist/Providers.d.ts +0 -9
  154. package/dist/Providers.js +0 -16
  155. package/dist/Providers.js.map +0 -1
  156. package/dist/RangeInput.d.ts +0 -14
  157. package/dist/RangeInput.js +0 -32
  158. package/dist/RangeInput.js.map +0 -1
  159. package/dist/ResultOrError.d.ts +0 -13
  160. package/dist/ResultOrError.js +0 -7
  161. package/dist/ResultOrError.js.map +0 -1
  162. package/dist/RootView.d.ts +0 -5
  163. package/dist/RootView.js +0 -35
  164. package/dist/RootView.js.map +0 -1
  165. package/dist/Row.d.ts +0 -6
  166. package/dist/Row.js +0 -7
  167. package/dist/Row.js.map +0 -1
  168. package/dist/Select.d.ts +0 -9
  169. package/dist/Select.js +0 -17
  170. package/dist/Select.js.map +0 -1
  171. package/dist/StackContext.d.ts +0 -8
  172. package/dist/StackContext.js +0 -25
  173. package/dist/StackContext.js.map +0 -1
  174. package/dist/StaticCheckbox.d.ts +0 -16
  175. package/dist/StaticCheckbox.js +0 -48
  176. package/dist/StaticCheckbox.js.map +0 -1
  177. package/dist/Storage.d.ts +0 -13
  178. package/dist/Storage.js +0 -146
  179. package/dist/Storage.js.map +0 -1
  180. package/dist/Stream.d.ts +0 -9
  181. package/dist/Stream.js +0 -36
  182. package/dist/Stream.js.map +0 -1
  183. package/dist/Sublist.d.ts +0 -12
  184. package/dist/Sublist.js +0 -18
  185. package/dist/Sublist.js.map +0 -1
  186. package/dist/SubmitIconInput.d.ts +0 -8
  187. package/dist/SubmitIconInput.js +0 -25
  188. package/dist/SubmitIconInput.js.map +0 -1
  189. package/dist/Tabs.d.ts +0 -23
  190. package/dist/Tabs.js +0 -39
  191. package/dist/Tabs.js.map +0 -1
  192. package/dist/Text.d.ts +0 -25
  193. package/dist/Text.js +0 -52
  194. package/dist/Text.js.map +0 -1
  195. package/dist/TextArea.d.ts +0 -11
  196. package/dist/TextArea.js +0 -27
  197. package/dist/TextArea.js.map +0 -1
  198. package/dist/TextInput.d.ts +0 -15
  199. package/dist/TextInput.js +0 -61
  200. package/dist/TextInput.js.map +0 -1
  201. package/dist/TextInputWithState.d.ts +0 -8
  202. package/dist/TextInputWithState.js +0 -14
  203. package/dist/TextInputWithState.js.map +0 -1
  204. package/dist/TextPairing.d.ts +0 -21
  205. package/dist/TextPairing.js +0 -26
  206. package/dist/TextPairing.js.map +0 -1
  207. package/dist/TimeInput.d.ts +0 -15
  208. package/dist/TimeInput.js +0 -58
  209. package/dist/TimeInput.js.map +0 -1
  210. package/dist/Tooltip.d.ts +0 -11
  211. package/dist/Tooltip.js +0 -73
  212. package/dist/Tooltip.js.map +0 -1
  213. package/dist/aria.d.ts +0 -8
  214. package/dist/aria.js +0 -42
  215. package/dist/aria.js.map +0 -1
  216. package/dist/guid.d.ts +0 -1
  217. package/dist/guid.js +0 -7
  218. package/dist/guid.js.map +0 -1
  219. package/dist/hash.d.ts +0 -1
  220. package/dist/hash.js +0 -20
  221. package/dist/hash.js.map +0 -1
  222. package/dist/isServer.d.ts +0 -1
  223. package/dist/isServer.js +0 -4
  224. package/dist/isServer.js.map +0 -1
  225. package/dist/jss.d.ts +0 -122
  226. package/dist/jss.js +0 -515
  227. package/dist/jss.js.map +0 -1
  228. package/dist/numberToBase.d.ts +0 -1
  229. package/dist/numberToBase.js +0 -44
  230. package/dist/numberToBase.js.map +0 -1
  231. package/dist/stateMachineContextFactory.d.ts +0 -36
  232. package/dist/stateMachineContextFactory.js +0 -48
  233. package/dist/stateMachineContextFactory.js.map +0 -1
  234. package/dist/useCookie.d.ts +0 -9
  235. package/dist/useCookie.js +0 -67
  236. package/dist/useCookie.js.map +0 -1
  237. package/dist/useKeyboard.d.ts +0 -8
  238. package/dist/useKeyboard.js +0 -26
  239. package/dist/useKeyboard.js.map +0 -1
  240. package/dist/useNavigation.d.ts +0 -5
  241. package/dist/useNavigation.js +0 -79
  242. package/dist/useNavigation.js.map +0 -1
  243. package/dist/usePromise.d.ts +0 -1
  244. package/dist/usePromise.js +0 -12
  245. package/dist/usePromise.js.map +0 -1
  246. package/dist/useRefEffect.d.ts +0 -1
  247. package/dist/useRefEffect.js +0 -15
  248. package/dist/useRefEffect.js.map +0 -1
  249. package/jss-debug-loader.mjs +0 -44
  250. package/next-env.d.ts +0 -6
  251. package/next.config.js +0 -33
  252. package/scripts/embeddings.js +0 -93
  253. package/scripts/openai_embeddings.js +0 -100
  254. package/scripts/publish.js +0 -28
  255. package/scripts/test_embeddings.js +0 -47
  256. package/src/Badge.tsx +0 -36
  257. package/src/BaseButton.tsx +0 -62
  258. package/src/BaseInput.tsx +0 -63
  259. package/src/BaseLink.tsx +0 -80
  260. package/src/BaseList.tsx +0 -26
  261. package/src/BaseListAddOn.tsx +0 -10
  262. package/src/BaseListItem.tsx +0 -119
  263. package/src/BaseView.tsx +0 -57
  264. package/src/Box.tsx +0 -20
  265. package/src/Button.tsx +0 -90
  266. package/src/Calendar.tsx +0 -123
  267. package/src/Card.tsx +0 -30
  268. package/src/Checkbox.tsx +0 -63
  269. package/src/Circle.tsx +0 -24
  270. package/src/Column.tsx +0 -12
  271. package/src/DarkMode.tsx +0 -100
  272. package/src/DateInput.tsx +0 -63
  273. package/src/DatePicker.tsx +0 -67
  274. package/src/DatetimeInput.tsx +0 -64
  275. package/src/DesignBook.tsx +0 -677
  276. package/src/Dialog.tsx +0 -150
  277. package/src/Dropdown.tsx +0 -146
  278. package/src/Emitter.ts +0 -26
  279. package/src/FlexLayout.tsx +0 -53
  280. package/src/Icon.tsx +0 -80
  281. package/src/IconButton.tsx +0 -81
  282. package/src/IconLink.tsx +0 -59
  283. package/src/IconType.ts +0 -787
  284. package/src/Interactable.tsx +0 -210
  285. package/src/JSSComment.tsx +0 -56
  286. package/src/Link.tsx +0 -110
  287. package/src/List.tsx +0 -58
  288. package/src/ListButtonItem.tsx +0 -69
  289. package/src/ListDivider.tsx +0 -13
  290. package/src/ListHeaderItem.tsx +0 -45
  291. package/src/ListItem.tsx +0 -24
  292. package/src/ListLinkItem.tsx +0 -76
  293. package/src/ListSpacer.tsx +0 -14
  294. package/src/MenuIcon.tsx +0 -50
  295. package/src/NextJSRouter.tsx +0 -60
  296. package/src/NextJSRouterState.tsx +0 -154
  297. package/src/OnVisible.tsx +0 -42
  298. package/src/Popover.tsx +0 -145
  299. package/src/ProgressBar.tsx +0 -63
  300. package/src/ProgressCircle.tsx +0 -38
  301. package/src/Providers.tsx +0 -33
  302. package/src/RangeInput.tsx +0 -82
  303. package/src/ResultOrError.ts +0 -15
  304. package/src/RootView.tsx +0 -55
  305. package/src/Row.tsx +0 -12
  306. package/src/Select.tsx +0 -39
  307. package/src/StackContext.tsx +0 -52
  308. package/src/StaticCheckbox.tsx +0 -72
  309. package/src/Storage.tsx +0 -198
  310. package/src/Stream.tsx +0 -50
  311. package/src/Sublist.tsx +0 -61
  312. package/src/SubmitIconInput.tsx +0 -45
  313. package/src/Tabs.tsx +0 -110
  314. package/src/Text.tsx +0 -111
  315. package/src/TextArea.tsx +0 -58
  316. package/src/TextInput.tsx +0 -123
  317. package/src/TextInputWithState.tsx +0 -32
  318. package/src/TextPairing.tsx +0 -115
  319. package/src/TimeInput.tsx +0 -109
  320. package/src/Tooltip.tsx +0 -109
  321. package/src/aria.ts +0 -72
  322. package/src/docs/mdx.tsx +0 -137
  323. package/src/docs/pages.ts +0 -115
  324. package/src/docs/searchIndex.ts +0 -1
  325. package/src/examples/ExampleDialog.tsx +0 -28
  326. package/src/guid.ts +0 -7
  327. package/src/hash.ts +0 -21
  328. package/src/index.ts +0 -68
  329. package/src/isServer.ts +0 -3
  330. package/src/jss.tsx +0 -712
  331. package/src/jsx-dev-runtime.ts +0 -74
  332. package/src/jsx-runtime.ts +0 -2
  333. package/src/numberToBase.ts +0 -52
  334. package/src/pages/Badge.mdx +0 -152
  335. package/src/pages/Button.mdx +0 -163
  336. package/src/pages/Calendar.mdx +0 -254
  337. package/src/pages/Card.mdx +0 -147
  338. package/src/pages/Checkbox.mdx +0 -131
  339. package/src/pages/Dialog.mdx +0 -197
  340. package/src/pages/FlexLayout.mdx +0 -211
  341. package/src/pages/Hashing.mdx +0 -211
  342. package/src/pages/Icon.mdx +0 -171
  343. package/src/pages/IconButton.mdx +0 -155
  344. package/src/pages/Link.mdx +0 -160
  345. package/src/pages/List.mdx +0 -262
  346. package/src/pages/ListHeader.mdx +0 -220
  347. package/src/pages/Popover.mdx +0 -223
  348. package/src/pages/ProgressBar.mdx +0 -200
  349. package/src/pages/ProgressCircle.mdx +0 -218
  350. package/src/pages/RangeInput.mdx +0 -237
  351. package/src/pages/Tabs.mdx +0 -281
  352. package/src/pages/Text.mdx +0 -154
  353. package/src/pages/TextInput.mdx +0 -235
  354. package/src/pages/TextPairing.mdx +0 -204
  355. package/src/pages/TimeInput.mdx +0 -178
  356. package/src/pages/Tooltip.mdx +0 -115
  357. package/src/pages/_app.tsx +0 -466
  358. package/src/pages/_document.tsx +0 -30
  359. package/src/pages/css-in-js.mdx +0 -240
  360. package/src/pages/index.mdx +0 -58
  361. package/src/pages/navigation.mdx +0 -158
  362. package/src/pages/prism.css +0 -3
  363. package/src/pages/useCookie.mdx +0 -176
  364. package/src/pages/useKeyboard.mdx +0 -257
  365. package/src/pages/useNavigation.mdx +0 -258
  366. package/src/pages/usePromise.mdx +0 -280
  367. package/src/pages/useRefEffect.mdx +0 -251
  368. package/src/stateMachineContextFactory.tsx +0 -111
  369. package/src/useCookie.tsx +0 -95
  370. package/src/useKeyboard.tsx +0 -43
  371. package/src/useNavigation.tsx +0 -89
  372. package/src/usePromise.tsx +0 -18
  373. package/src/useRefEffect.tsx +0 -18
  374. package/src/vite-plugin-jss-debug.ts +0 -77
  375. package/tsconfig.build.json +0 -23
  376. package/tsconfig.json +0 -38
@@ -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
@@ -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
@@ -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
@@ -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
- ```