@ds-mo/ui 0.2.4 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/dist/components/ds-accordion.d.ts +11 -0
  2. package/dist/components/ds-accordion.js +2 -0
  3. package/dist/components/ds-accordion.js.map +1 -0
  4. package/dist/components/ds-badge.d.ts +11 -0
  5. package/dist/components/ds-badge.js +2 -0
  6. package/dist/components/ds-badge.js.map +1 -0
  7. package/dist/components/ds-banner.d.ts +11 -0
  8. package/dist/components/ds-banner.js +2 -0
  9. package/dist/components/ds-banner.js.map +1 -0
  10. package/dist/components/ds-breadcrumb.d.ts +11 -0
  11. package/dist/components/ds-breadcrumb.js +2 -0
  12. package/dist/components/ds-breadcrumb.js.map +1 -0
  13. package/dist/components/ds-button.d.ts +11 -0
  14. package/dist/components/ds-button.js +2 -0
  15. package/dist/components/ds-button.js.map +1 -0
  16. package/dist/components/ds-card.d.ts +11 -0
  17. package/dist/components/ds-card.js +2 -0
  18. package/dist/components/ds-card.js.map +1 -0
  19. package/dist/components/ds-checkbox.d.ts +11 -0
  20. package/dist/components/ds-checkbox.js +2 -0
  21. package/dist/components/ds-checkbox.js.map +1 -0
  22. package/dist/components/ds-divider.d.ts +11 -0
  23. package/dist/components/ds-divider.js +2 -0
  24. package/dist/components/ds-divider.js.map +1 -0
  25. package/dist/components/ds-empty-state.d.ts +11 -0
  26. package/dist/components/ds-empty-state.js +2 -0
  27. package/dist/components/ds-empty-state.js.map +1 -0
  28. package/dist/components/ds-fade.d.ts +11 -0
  29. package/dist/components/ds-fade.js +2 -0
  30. package/dist/components/ds-fade.js.map +1 -0
  31. package/dist/components/ds-field.d.ts +11 -0
  32. package/dist/components/ds-field.js +2 -0
  33. package/dist/components/ds-field.js.map +1 -0
  34. package/dist/components/ds-header.d.ts +11 -0
  35. package/dist/components/ds-header.js +2 -0
  36. package/dist/components/ds-header.js.map +1 -0
  37. package/dist/components/ds-input.d.ts +11 -0
  38. package/dist/components/ds-input.js +2 -0
  39. package/dist/components/ds-input.js.map +1 -0
  40. package/dist/components/ds-loader.d.ts +11 -0
  41. package/dist/components/ds-loader.js +2 -0
  42. package/dist/components/ds-loader.js.map +1 -0
  43. package/dist/components/ds-menu.d.ts +11 -0
  44. package/dist/components/ds-menu.js +2 -0
  45. package/dist/components/ds-menu.js.map +1 -0
  46. package/dist/components/ds-modal.d.ts +11 -0
  47. package/dist/components/ds-modal.js +2 -0
  48. package/dist/components/ds-modal.js.map +1 -0
  49. package/dist/components/ds-pagination.d.ts +11 -0
  50. package/dist/components/ds-pagination.js +2 -0
  51. package/dist/components/ds-pagination.js.map +1 -0
  52. package/dist/components/ds-radio-group.d.ts +11 -0
  53. package/dist/components/ds-radio-group.js +2 -0
  54. package/dist/components/ds-radio-group.js.map +1 -0
  55. package/dist/components/ds-scrollbar.d.ts +11 -0
  56. package/dist/components/ds-scrollbar.js +2 -0
  57. package/dist/components/ds-scrollbar.js.map +1 -0
  58. package/dist/components/ds-sidebar.d.ts +11 -0
  59. package/dist/components/ds-sidebar.js +2 -0
  60. package/dist/components/ds-sidebar.js.map +1 -0
  61. package/dist/components/ds-skeleton.d.ts +11 -0
  62. package/dist/components/ds-skeleton.js +2 -0
  63. package/dist/components/ds-skeleton.js.map +1 -0
  64. package/dist/components/ds-slider.d.ts +11 -0
  65. package/dist/components/ds-slider.js +2 -0
  66. package/dist/components/ds-slider.js.map +1 -0
  67. package/dist/components/ds-surface.d.ts +11 -0
  68. package/dist/components/ds-surface.js +2 -0
  69. package/dist/components/ds-surface.js.map +1 -0
  70. package/dist/components/ds-tab-group.d.ts +11 -0
  71. package/dist/components/ds-tab-group.js +2 -0
  72. package/dist/components/ds-tab-group.js.map +1 -0
  73. package/dist/components/ds-table.d.ts +11 -0
  74. package/dist/components/ds-table.js +2 -0
  75. package/dist/components/ds-table.js.map +1 -0
  76. package/dist/components/ds-tag.d.ts +11 -0
  77. package/dist/components/ds-tag.js +2 -0
  78. package/dist/components/ds-tag.js.map +1 -0
  79. package/dist/components/ds-text.d.ts +11 -0
  80. package/dist/components/ds-text.js +2 -0
  81. package/dist/components/ds-text.js.map +1 -0
  82. package/dist/components/ds-toast-provider.d.ts +11 -0
  83. package/dist/components/ds-toast-provider.js +2 -0
  84. package/dist/components/ds-toast-provider.js.map +1 -0
  85. package/dist/components/ds-toggle.d.ts +11 -0
  86. package/dist/components/ds-toggle.js +2 -0
  87. package/dist/components/ds-toggle.js.map +1 -0
  88. package/dist/components/ds-tooltip.d.ts +11 -0
  89. package/dist/components/ds-tooltip.js +2 -0
  90. package/dist/components/ds-tooltip.js.map +1 -0
  91. package/dist/components/index.d.ts +33 -0
  92. package/dist/components/index.js +2 -0
  93. package/dist/components/index.js.map +1 -0
  94. package/dist/components/p-BcuUR5Ao.js +2 -0
  95. package/dist/components/p-BcuUR5Ao.js.map +1 -0
  96. package/dist/types/.stencil/Accordion/Accordion.d.ts +28 -0
  97. package/dist/types/.stencil/Badge/Badge.d.ts +8 -0
  98. package/dist/types/.stencil/Badge/index.d.ts +2 -0
  99. package/dist/types/.stencil/Banner/Banner.d.ts +29 -0
  100. package/dist/types/.stencil/Breadcrumb/Breadcrumb.d.ts +16 -0
  101. package/dist/types/.stencil/Button/Button.d.ts +38 -0
  102. package/dist/types/.stencil/Button/index.d.ts +2 -0
  103. package/dist/types/.stencil/Card/Card.d.ts +8 -0
  104. package/dist/types/.stencil/Checkbox/Checkbox.d.ts +13 -0
  105. package/dist/types/.stencil/Checkbox/index.d.ts +2 -0
  106. package/dist/types/.stencil/Divider/Divider.d.ts +7 -0
  107. package/dist/types/.stencil/Divider/index.d.ts +2 -0
  108. package/dist/types/.stencil/EmptyState/EmptyState.d.ts +7 -0
  109. package/dist/types/.stencil/Fade/Fade.d.ts +10 -0
  110. package/dist/types/.stencil/Fade/index.d.ts +2 -0
  111. package/dist/types/.stencil/Field/Field.d.ts +8 -0
  112. package/dist/types/.stencil/Header/Header.d.ts +7 -0
  113. package/dist/types/.stencil/Input/Input.d.ts +26 -0
  114. package/dist/types/.stencil/Input/index.d.ts +2 -0
  115. package/dist/types/.stencil/Loader/Loader.d.ts +12 -0
  116. package/dist/types/.stencil/Loader/index.d.ts +2 -0
  117. package/dist/types/.stencil/Menu/Menu.d.ts +60 -0
  118. package/dist/types/.stencil/Modal/Modal.d.ts +31 -0
  119. package/dist/types/.stencil/Pagination/Pagination.d.ts +11 -0
  120. package/dist/types/.stencil/RadioGroup/RadioGroup.d.ts +21 -0
  121. package/dist/types/.stencil/RadioGroup/index.d.ts +2 -0
  122. package/dist/types/.stencil/Scrollbar/Scrollbar.d.ts +27 -0
  123. package/dist/types/.stencil/Sidebar/Sidebar.d.ts +29 -0
  124. package/dist/types/.stencil/Skeleton/Skeleton.d.ts +16 -0
  125. package/dist/types/.stencil/Skeleton/index.d.ts +2 -0
  126. package/dist/types/.stencil/Slider/Slider.d.ts +18 -0
  127. package/dist/types/.stencil/Slider/index.d.ts +2 -0
  128. package/dist/types/.stencil/Surface/Surface.d.ts +22 -0
  129. package/dist/types/.stencil/TabGroup/TabGroup.d.ts +29 -0
  130. package/dist/types/.stencil/Table/Table.d.ts +50 -0
  131. package/dist/types/.stencil/Tag/Tag.d.ts +32 -0
  132. package/dist/types/.stencil/Tag/index.d.ts +2 -0
  133. package/dist/types/.stencil/Text/Text.d.ts +22 -0
  134. package/dist/types/.stencil/Text/index.d.ts +2 -0
  135. package/dist/types/.stencil/Toast/Toast.d.ts +15 -0
  136. package/dist/types/.stencil/Toast/toast-service.d.ts +24 -0
  137. package/dist/types/.stencil/Toggle/Toggle.d.ts +10 -0
  138. package/dist/types/.stencil/Toggle/index.d.ts +2 -0
  139. package/dist/types/.stencil/Tooltip/Tooltip.d.ts +36 -0
  140. package/dist/types/components.d.ts +2024 -0
  141. package/dist/types/stencil-public-runtime.d.ts +1860 -0
  142. package/package.json +33 -29
  143. package/src/angular/angular-component-lib/utils.ts +65 -0
  144. package/src/angular/index.ts +35 -0
  145. package/src/angular/proxies.ts +819 -0
  146. package/dist/index.css +0 -2
  147. package/dist/index.d.ts +0 -969
  148. package/dist/index.js +0 -2492
  149. package/dist/index.js.map +0 -1
  150. package/dist/r/accordion.json +0 -79
  151. package/dist/r/badge.json +0 -69
  152. package/dist/r/banner.json +0 -90
  153. package/dist/r/breadcrumb.json +0 -70
  154. package/dist/r/button-group.json +0 -65
  155. package/dist/r/button.json +0 -137
  156. package/dist/r/card.json +0 -82
  157. package/dist/r/checkbox.json +0 -91
  158. package/dist/r/divider.json +0 -57
  159. package/dist/r/empty-state.json +0 -69
  160. package/dist/r/error-boundary.json +0 -66
  161. package/dist/r/fade.json +0 -65
  162. package/dist/r/field.json +0 -71
  163. package/dist/r/header.json +0 -67
  164. package/dist/r/input.json +0 -77
  165. package/dist/r/loader.json +0 -54
  166. package/dist/r/menu.json +0 -130
  167. package/dist/r/modal.json +0 -93
  168. package/dist/r/pagination.json +0 -80
  169. package/dist/r/radio.json +0 -85
  170. package/dist/r/registry.json +0 -1600
  171. package/dist/r/scrollbar.json +0 -68
  172. package/dist/r/select.json +0 -93
  173. package/dist/r/sidebar.json +0 -105
  174. package/dist/r/skeleton.json +0 -72
  175. package/dist/r/slider.json +0 -87
  176. package/dist/r/surface.json +0 -97
  177. package/dist/r/tab-group.json +0 -72
  178. package/dist/r/tab.json +0 -71
  179. package/dist/r/table.json +0 -110
  180. package/dist/r/tag.json +0 -110
  181. package/dist/r/text.json +0 -94
  182. package/dist/r/toast.json +0 -77
  183. package/dist/r/toggle-button-group.json +0 -65
  184. package/dist/r/toggle-button.json +0 -94
  185. package/dist/r/toggle.json +0 -65
  186. package/dist/r/tooltip.json +0 -86
  187. package/src/components/Accordion/Accordion.module.css +0 -66
  188. package/src/components/Accordion/Accordion.stories.tsx +0 -95
  189. package/src/components/Accordion/Accordion.tsx +0 -122
  190. package/src/components/Accordion/index.ts +0 -2
  191. package/src/components/Badge/Badge.module.css +0 -6
  192. package/src/components/Badge/Badge.stories.tsx +0 -99
  193. package/src/components/Badge/Badge.tsx +0 -23
  194. package/src/components/Badge/index.ts +0 -2
  195. package/src/components/Banner/Banner.module.css +0 -67
  196. package/src/components/Banner/Banner.stories.tsx +0 -81
  197. package/src/components/Banner/Banner.tsx +0 -109
  198. package/src/components/Banner/index.ts +0 -2
  199. package/src/components/Breadcrumb/Breadcrumb.module.css +0 -46
  200. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +0 -72
  201. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -68
  202. package/src/components/Breadcrumb/index.ts +0 -2
  203. package/src/components/Button/Button.mdx +0 -143
  204. package/src/components/Button/Button.module.css +0 -343
  205. package/src/components/Button/Button.stories.tsx +0 -575
  206. package/src/components/Button/Button.tsx +0 -201
  207. package/src/components/Button/index.ts +0 -10
  208. package/src/components/ButtonGroup/ButtonGroup.module.css +0 -157
  209. package/src/components/ButtonGroup/ButtonGroup.stories.tsx +0 -384
  210. package/src/components/ButtonGroup/ButtonGroup.tsx +0 -122
  211. package/src/components/ButtonGroup/index.ts +0 -2
  212. package/src/components/Card/Card.module.css +0 -36
  213. package/src/components/Card/Card.stories.tsx +0 -78
  214. package/src/components/Card/Card.tsx +0 -53
  215. package/src/components/Card/index.ts +0 -2
  216. package/src/components/Checkbox/Checkbox.module.css +0 -47
  217. package/src/components/Checkbox/Checkbox.stories.tsx +0 -129
  218. package/src/components/Checkbox/Checkbox.tsx +0 -68
  219. package/src/components/Checkbox/index.ts +0 -2
  220. package/src/components/Divider/Divider.module.css +0 -19
  221. package/src/components/Divider/Divider.stories.tsx +0 -55
  222. package/src/components/Divider/Divider.tsx +0 -28
  223. package/src/components/Divider/index.ts +0 -2
  224. package/src/components/EmptyState/EmptyState.module.css +0 -8
  225. package/src/components/EmptyState/EmptyState.stories.tsx +0 -53
  226. package/src/components/EmptyState/EmptyState.tsx +0 -31
  227. package/src/components/EmptyState/index.ts +0 -2
  228. package/src/components/ErrorBoundary/ErrorBoundary.module.css +0 -18
  229. package/src/components/ErrorBoundary/ErrorBoundary.stories.tsx +0 -38
  230. package/src/components/ErrorBoundary/ErrorBoundary.tsx +0 -50
  231. package/src/components/ErrorBoundary/index.ts +0 -2
  232. package/src/components/Fade/Fade.module.css +0 -31
  233. package/src/components/Fade/Fade.stories.tsx +0 -35
  234. package/src/components/Fade/Fade.tsx +0 -33
  235. package/src/components/Fade/index.ts +0 -2
  236. package/src/components/Field/Field.module.css +0 -5
  237. package/src/components/Field/Field.stories.tsx +0 -111
  238. package/src/components/Field/Field.tsx +0 -22
  239. package/src/components/Field/index.ts +0 -2
  240. package/src/components/Header/Header.module.css +0 -33
  241. package/src/components/Header/Header.stories.tsx +0 -52
  242. package/src/components/Header/Header.tsx +0 -42
  243. package/src/components/Header/index.ts +0 -2
  244. package/src/components/Input/Input.module.css +0 -71
  245. package/src/components/Input/Input.stories.tsx +0 -135
  246. package/src/components/Input/Input.tsx +0 -76
  247. package/src/components/Input/index.ts +0 -2
  248. package/src/components/LabelWrap/LabelWrap.module.css +0 -34
  249. package/src/components/LabelWrap/LabelWrap.tsx +0 -32
  250. package/src/components/LabelWrap/index.ts +0 -1
  251. package/src/components/Loader/Loader.module.css +0 -9
  252. package/src/components/Loader/Loader.stories.tsx +0 -44
  253. package/src/components/Loader/Loader.tsx +0 -43
  254. package/src/components/Loader/index.ts +0 -2
  255. package/src/components/Menu/DestructiveMenuItem.module.css +0 -57
  256. package/src/components/Menu/DestructiveMenuItem.tsx +0 -64
  257. package/src/components/Menu/Menu.module.css +0 -49
  258. package/src/components/Menu/Menu.stories.tsx +0 -129
  259. package/src/components/Menu/Menu.tsx +0 -269
  260. package/src/components/Menu/MenuItem.module.css +0 -84
  261. package/src/components/Menu/MenuItem.tsx +0 -101
  262. package/src/components/Menu/index.ts +0 -6
  263. package/src/components/Modal/Modal.module.css +0 -67
  264. package/src/components/Modal/Modal.stories.tsx +0 -71
  265. package/src/components/Modal/Modal.tsx +0 -122
  266. package/src/components/Modal/index.ts +0 -2
  267. package/src/components/Pagination/Pagination.module.css +0 -64
  268. package/src/components/Pagination/Pagination.stories.tsx +0 -51
  269. package/src/components/Pagination/Pagination.tsx +0 -103
  270. package/src/components/Pagination/index.ts +0 -2
  271. package/src/components/Radio/Radio.module.css +0 -61
  272. package/src/components/Radio/Radio.stories.tsx +0 -101
  273. package/src/components/Radio/Radio.tsx +0 -108
  274. package/src/components/Radio/index.ts +0 -2
  275. package/src/components/Scrollbar/Scrollbar.module.css +0 -81
  276. package/src/components/Scrollbar/Scrollbar.stories.tsx +0 -46
  277. package/src/components/Scrollbar/Scrollbar.tsx +0 -187
  278. package/src/components/Scrollbar/index.ts +0 -2
  279. package/src/components/Select/Select.module.css +0 -31
  280. package/src/components/Select/Select.stories.tsx +0 -59
  281. package/src/components/Select/Select.tsx +0 -92
  282. package/src/components/Select/index.ts +0 -2
  283. package/src/components/Sidebar/Sidebar.module.css +0 -161
  284. package/src/components/Sidebar/Sidebar.stories.tsx +0 -125
  285. package/src/components/Sidebar/Sidebar.tsx +0 -129
  286. package/src/components/Sidebar/SidebarItem.tsx +0 -57
  287. package/src/components/Sidebar/SidebarSection.tsx +0 -42
  288. package/src/components/Sidebar/index.ts +0 -6
  289. package/src/components/Skeleton/Skeleton.module.css +0 -53
  290. package/src/components/Skeleton/Skeleton.stories.tsx +0 -89
  291. package/src/components/Skeleton/Skeleton.tsx +0 -66
  292. package/src/components/Skeleton/index.ts +0 -2
  293. package/src/components/Slider/Slider.module.css +0 -62
  294. package/src/components/Slider/Slider.stories.tsx +0 -120
  295. package/src/components/Slider/Slider.tsx +0 -74
  296. package/src/components/Slider/index.ts +0 -2
  297. package/src/components/Surface/Surface.module.css +0 -222
  298. package/src/components/Surface/Surface.stories.tsx +0 -213
  299. package/src/components/Surface/Surface.tsx +0 -219
  300. package/src/components/Surface/index.ts +0 -12
  301. package/src/components/Tab/Tab.module.css +0 -66
  302. package/src/components/Tab/Tab.stories.tsx +0 -103
  303. package/src/components/Tab/Tab.tsx +0 -41
  304. package/src/components/Tab/index.ts +0 -2
  305. package/src/components/TabGroup/TabGroup.module.css +0 -26
  306. package/src/components/TabGroup/TabGroup.stories.tsx +0 -60
  307. package/src/components/TabGroup/TabGroup.tsx +0 -83
  308. package/src/components/TabGroup/index.ts +0 -2
  309. package/src/components/Table/Table.module.css +0 -130
  310. package/src/components/Table/Table.stories.tsx +0 -111
  311. package/src/components/Table/Table.tsx +0 -226
  312. package/src/components/Table/index.ts +0 -11
  313. package/src/components/Tag/Tag.module.css +0 -270
  314. package/src/components/Tag/Tag.stories.tsx +0 -399
  315. package/src/components/Tag/Tag.tsx +0 -162
  316. package/src/components/Tag/index.ts +0 -2
  317. package/src/components/Text/Text.module.css +0 -166
  318. package/src/components/Text/Text.stories.tsx +0 -212
  319. package/src/components/Text/Text.tsx +0 -181
  320. package/src/components/Text/index.ts +0 -13
  321. package/src/components/Toast/Toast.module.css +0 -91
  322. package/src/components/Toast/Toast.stories.tsx +0 -66
  323. package/src/components/Toast/Toast.tsx +0 -182
  324. package/src/components/Toast/index.ts +0 -8
  325. package/src/components/Toggle/Toggle.module.css +0 -87
  326. package/src/components/Toggle/Toggle.stories.tsx +0 -85
  327. package/src/components/Toggle/Toggle.tsx +0 -52
  328. package/src/components/Toggle/index.ts +0 -2
  329. package/src/components/ToggleButton/ToggleButton.module.css +0 -172
  330. package/src/components/ToggleButton/ToggleButton.stories.tsx +0 -299
  331. package/src/components/ToggleButton/ToggleButton.tsx +0 -118
  332. package/src/components/ToggleButton/index.ts +0 -2
  333. package/src/components/ToggleButtonGroup/ToggleButtonGroup.module.css +0 -163
  334. package/src/components/ToggleButtonGroup/ToggleButtonGroup.stories.tsx +0 -341
  335. package/src/components/ToggleButtonGroup/ToggleButtonGroup.tsx +0 -111
  336. package/src/components/ToggleButtonGroup/index.ts +0 -2
  337. package/src/components/Tooltip/Tooltip.module.css +0 -45
  338. package/src/components/Tooltip/Tooltip.stories.tsx +0 -46
  339. package/src/components/Tooltip/Tooltip.tsx +0 -224
  340. package/src/components/Tooltip/index.ts +0 -2
  341. package/src/css-modules.d.ts +0 -4
  342. package/src/docs/ColorUsage.mdx +0 -195
  343. package/src/docs/ElevationUsage.mdx +0 -95
  344. package/src/docs/Introduction.mdx +0 -97
  345. package/src/docs/OpticalSizing.mdx +0 -178
  346. package/src/docs/TypographyUsage.mdx +0 -121
  347. package/src/index.ts +0 -154
  348. package/src/stories/Colors.stories.tsx +0 -528
  349. package/src/stories/Dimensions.stories.tsx +0 -200
  350. package/src/stories/Effects.stories.tsx +0 -231
  351. package/src/stories/Icons.stories.tsx +0 -159
  352. package/src/stories/Typography.stories.tsx +0 -157
  353. package/src/types/icons.ts +0 -15
  354. package/src/types/index.ts +0 -1
  355. package/src/utils/cn.ts +0 -6
  356. package/src/utils/css-tokens.ts +0 -22
@@ -1,95 +0,0 @@
1
- import { Meta } from '@storybook/addon-docs/blocks';
2
-
3
- <Meta title="Docs/Elevation Usage" />
4
-
5
- # Elevation Usage Guidelines
6
-
7
- ## 1. Quick Decision Rule
8
-
9
- Use this rule first:
10
-
11
- 1. if the surface touches most of its container edges, use a **panel** elevation,
12
- 2. if the surface has breathing room on all four sides, use `flat` or `elevated`,
13
- 3. if the surface has breathing room and is meant to visually float above other content, use `floating`,
14
- 4. if the surface should feel inset or embedded, use `depressed`,
15
- 5. if elevation is intentionally turned off, use `none`.
16
-
17
- In practice, panel elevations are for surfaces that touch at least three sides of the container they live in, or otherwise read as edge-attached.
18
-
19
- ## 2. Panel Elevations
20
-
21
- Panel elevations are for surfaces that are attached to the boundary of the area they sit inside.
22
-
23
- These styles are directional. The panel direction should match the side of the container that the panel is attached to.
24
-
25
- This makes them the right choice for:
26
-
27
- - app headers
28
- - bottom bars
29
- - left and right drawers
30
- - edge-attached trays or panels
31
-
32
- | Surface | Elevation |
33
- |---------|-----------|
34
- | Top header or app bar | <code>elevation-panel-top</code> |
35
- | Bottom bar or footer | <code>elevation-panel-bottom</code> |
36
- | Left-side drawer | <code>elevation-panel-left</code> |
37
- | Right-side drawer | <code>elevation-panel-right</code> |
38
-
39
- > **Do not** use panel elevations on floating cards or standalone containers. They are intentionally asymmetric and will look wrong when the surface has clearance on every side.
40
-
41
- ## 3. Non-Panel Elevations
42
-
43
- `flat`, `elevated`, and `floating` are for surfaces that do not touch surrounding boundaries on any of their four sides.
44
-
45
- | Level | Purpose | Use for |
46
- |-------|---------|---------|
47
- | <code>flat</code> | Lightest raised treatment | Cards, containers with subtle lift |
48
- | <code>elevated</code> | Standard raised treatment | Cards, free-standing containers |
49
- | <code>floating</code> | Visually floating above content | FABs, popups, dropdown menus, modals |
50
-
51
- > **Do not** use `floating` just because an element needs more lift than `elevated`. If the surface is not actually meant to float above other content, `flat` or `elevated` is usually the better choice.
52
-
53
- ## 4. Depressed Elevation
54
-
55
- `depressed` is for elements that should appear embedded within a surrounding surface rather than raised above it.
56
-
57
- Typical use cases:
58
-
59
- - text inputs
60
- - embedded fields
61
- - inset control regions
62
- - surfaces that read as carved into their parent
63
-
64
- Like non-panel elevations, `depressed` should only be used when the element has visible clearance on all four sides.
65
-
66
- ## 5. None
67
-
68
- `none` is for cases where elevation is part of the component model but the visual result should be no elevation treatment.
69
-
70
- Use it when:
71
-
72
- - a component supports elevation variants but should currently render flat,
73
- - you want to explicitly choose no elevation instead of leaving it undefined,
74
- - you need a zero-elevation option that fits into the same naming system.
75
-
76
- ## 6. Anti-Patterns
77
-
78
- Avoid these patterns:
79
-
80
- 1. using a panel elevation on a card that has open space on all four sides,
81
- 2. using `flat`, `elevated`, `floating`, or `depressed` on a surface attached to a container edge,
82
- 3. choosing a panel direction that does not match the aligned edge,
83
- 4. using `depressed` for elements meant to read as raised,
84
- 5. using `floating` on a normal card that isn't hovering above content,
85
- 6. leaving elevation unspecified when the component API expects a named elevation style.
86
-
87
- ## 7. Practical Summary
88
-
89
- | Situation | Use |
90
- |-----------|-----|
91
- | Surface attached to container boundary | Panel elevation (matching direction) |
92
- | Surface with clearance on all sides, standard lift | <code>flat</code> or <code>elevated</code> |
93
- | Surface visually hovering above other content | <code>floating</code> |
94
- | Surface embedded/inset into parent | <code>depressed</code> |
95
- | Elevation slot present but no visual lift needed | <code>none</code> |
@@ -1,97 +0,0 @@
1
- import { Meta } from '@storybook/addon-docs/blocks';
2
-
3
- <Meta title="Docs/Introduction" />
4
-
5
- # CompoMo — `@compomo/ui`
6
-
7
- Composable React UI components styled with [TokoMo](https://github.com/zainadeel/TokoMo) design tokens.
8
-
9
- ## Install
10
-
11
- ```bash
12
- npm install @compomo/ui @ds-mo/tokens
13
- ```
14
-
15
- **Required peer dependency:** `@ds-mo/tokens` provides all CSS custom properties (colors, dimensions, typography, effects) that CompoMo components consume. Components will not render correctly without it.
16
-
17
- **Optional:** `@ds-mo/icons` for icon components used via the `icon` prop pattern.
18
-
19
- ```bash
20
- npm install @ds-mo/icons
21
- ```
22
-
23
- ## Setup
24
-
25
- Import TokoMo tokens globally (once, at your app root):
26
-
27
- ```tsx
28
- import '@ds-mo/tokens'; // all tokens (colors, dimensions, typography, effects)
29
- import '@ds-mo/tokens/reset'; // CSS reset
30
- import '@ds-mo/tokens/globals'; // global styles
31
- ```
32
-
33
- Then import CompoMo components:
34
-
35
- ```tsx
36
- import { Button, Text, Surface, Card } from '@compomo/ui';
37
- ```
38
-
39
- ## Components
40
-
41
- ### Primitives
42
- - **Text** — typography with variant system, semantic colors, truncation, wrap modes
43
- - **Surface** — container with backgrounds, elevation, edges, radius, interactive states
44
- - **Card** — elevated content container with header/footer slots
45
- - **Input** — text input field
46
- - **Slider** — range slider
47
- - **Field** — label + input wrapper
48
-
49
- ### Components
50
- - **Button** — primary/secondary/tertiary with intents, sizes, icon support
51
- - **Tag** — labels with intents, contrasts, removable
52
- - **Badge** — numeric count indicator
53
- - **Toggle** — on/off switch
54
- - **Checkbox** — with label and indeterminate state
55
- - **Modal** — dialog with title, subtitle, footer slots
56
- - **Menu** — dropdown with sections, selection, positioning
57
- - **Tooltip** — hover tooltip with shortcut key support
58
- - **Select** — dropdown select
59
- - **Banner** — notification bar with intents, toast mode
60
- - **Tab** — tab button with selection state
61
- - **Table** — sortable, paginated data table
62
- - **EmptyState** — placeholder states
63
-
64
- ### Layout
65
- - **Header** — page header with left/center/right slots
66
- - **Sidebar** — collapsible, resizable navigation with sections and items
67
-
68
- ### Utility
69
- - **Fade** — gradient overlay
70
- - **Scrollbar** — custom scrollbar
71
- - **ErrorBoundary** — error catch with fallback
72
-
73
- ## Token dependency
74
-
75
- All styling uses TokoMo CSS custom properties. No hardcoded colors, sizes, or shadows — everything maps to the token system. Components will render unstyled if `@ds-mo/tokens` is not imported.
76
-
77
- ## Icon pattern
78
-
79
- Components that accept icons use the typed prop pattern:
80
-
81
- ```tsx
82
- icon?: React.ComponentType<{ size?: number | string }>
83
- ```
84
-
85
- Pass any component that accepts a `size` prop. Works with `@ds-mo/icons` or custom SVG components.
86
-
87
- ## Architecture
88
-
89
- ```
90
- TokoMo (@ds-mo/tokens) <- CSS variables, JSON, TypeScript constants; source is Figma
91
- |
92
- IcoMo (@ds-mo/icons) <- 380+ React icon components; source SVGs are Figma exports
93
- |
94
- CompoMo (@compomo/ui) <- This library; consumes tokens + icons
95
- |
96
- Apps (Webapp, Dashboard)
97
- ```
@@ -1,178 +0,0 @@
1
- import { Meta } from '@storybook/addon-docs/blocks';
2
-
3
- <Meta title="Docs/Optical Sizing & Padding" />
4
-
5
- # Optical Sizing & Padding — Design Reference
6
-
7
- A collection of the specific sizing rules, corrections, and reasoning behind them.
8
- Intended as a reference when building new components so these patterns stay consistent.
9
-
10
- ---
11
-
12
- ## 1. Icon-edge padding correction
13
-
14
- **The rule:** when an icon sits flush against a component's edge, the padding on that side should equal `(componentHeight - iconSize) / 2` — the same gap the icon already has top and bottom.
15
-
16
- **Why:** without this, the horizontal padding (a design-system token chosen for text) is too generous for an icon. Text has no visible bounding box so extra padding reads as breathing room. An icon has a hard visual edge, so the same padding creates an unequal-looking gap — more air on the left/right than on the top/bottom of the icon.
17
-
18
- **The formula:**
19
-
20
- ```
21
- edge padding = (height - iconSize) / 2
22
- ```
23
-
24
- **Button / ToggleButton (iconAndLabel layout — icon on left):**
25
-
26
- | Size | Height | Icon | Optical gap | Left padding (icon side) | Right padding (label side) |
27
- |------|--------|------|-------------|--------------------------|----------------------------|
28
- | XS | 16px | 12px | 2px | <code>space-025</code> = 2px | <code>space-025</code> = 2px |
29
- | SM | 24px | 16px | 4px | <code>space-050</code> = 4px | <code>space-075</code> = 6px |
30
- | MD | 32px | 20px | 6px | <code>space-075</code> = 6px | <code>space-100</code> = 8px |
31
- | LG | 40px | 24px | 8px | <code>space-100</code> = 8px | <code>space-150</code> = 12px |
32
-
33
- Note the asymmetry: the label side keeps its normal token value; only the icon side is corrected. XS happens to already be correct since the base token matches the gap.
34
-
35
- **Tag (iconLeft / iconRight — leading icon or remove button):**
36
-
37
- | Size | Height | Icon | Optical gap | CSS class |
38
- |------|--------|------|-------------|-----------|
39
- | XS | 12px | 12px | 0px | <code>iconLeftXS</code> / <code>iconRightXS</code> = <code>0</code> |
40
- | SM | 20px | 16px | 2px | <code>iconLeftSM</code> / <code>iconRightSM</code> = <code>space-025</code> |
41
- | MD | 28px | 20px | 4px | <code>iconLeftMD</code> / <code>iconRightMD</code> = <code>space-050</code> |
42
-
43
- For Tag, both the leading icon side (left) and the remove-button side (right) are corrected independently. The classes are applied conditionally in TSX based on whether an icon or remove button is present.
44
-
45
- ---
46
-
47
- ## 2. LabelWrap inner padding
48
-
49
- **The rule:** text inside a component needs its own small horizontal padding, independent of the component's outer padding. This is the LabelWrap utility component.
50
-
51
- **Why:** without it, the component's fixed height is inflated by the body line-height: 1.5 strut — a phantom spacing artifact from inherited typography. LabelWrap sets line-height: 0 to kill the strut, then adds back a small horizontal padding that optically offsets the text from adjacent icons or component edges.
52
-
53
- **Values:**
54
-
55
- | Size | Padding | Reasoning |
56
- |------|---------|-----------|
57
- | MD / LG | <code>space-050</code> = 4px | Standard body scale |
58
- | SM | <code>space-025</code> = 2px | Halved — tighter scale, less air needed |
59
- | XS (caption) | <code>space-025</code> = 2px | Caption scale, same as SM |
60
-
61
- SM was deliberately halved because at the smaller body scale the extra 4px reads as disproportionate. XS was already at 2px so SM was brought in line with it.
62
-
63
- ---
64
-
65
- ## 3. Rounded (pill) padding correction
66
-
67
- **The rule:** pill-shaped components add <code>space-050</code> (4px) extra padding on any side that has no content anchor (bare label text at the edge, no icon).
68
-
69
- **Why:** a pill's large corner radius curves far into the edge, eating into the visual breathing room around the text. The extra <code>space-050</code> compensates so the text doesn't feel cramped against the rounded edge. Sides that already have an icon do not get the correction — the icon acts as a visual anchor and the tighter icon-edge padding (rule 1) already applies.
70
-
71
- **Button / ToggleButton (rounded):**
72
-
73
- Added to *both* sides for labelOnly. Added only to the *label/right side* for iconAndLabel (the icon side keeps the corrected icon-edge padding from rule 1):
74
-
75
- ```
76
- labelOnly: padding = base + space-050 (both sides)
77
- iconAndLabel: left = icon-edge padding + space-050
78
- right = base + space-050
79
- ```
80
-
81
- **Tag (rounded — pill padding correction classes):**
82
-
83
- Applied conditionally in TSX:
84
-
85
- | Condition | Class applied |
86
- |-----------|---------------|
87
- | No leading icon | <code>roundedLeft&#123;Size&#125;</code> |
88
- | No trailing remove | <code>roundedRight&#123;Size&#125;</code> |
89
-
90
- When both an icon and a remove button are present, neither correction applies. When neither is present (label only), both apply.
91
-
92
- ---
93
-
94
- ## 4. Remove / dismiss button hover area
95
-
96
- **The rule:** the hover highlight on a small dismiss button (x) should maintain the same optical gap to the component edge as the icon has to the component top/bottom — and the hover highlight's border-radius should be tuned per-size so it doesn't visually eat into that gap.
97
-
98
- **Structure:** a ::before pseudo-element on the remove button carries the hover background, sized via inset (negative margin on all sides). The button itself has padding: 0.
99
-
100
- **Values (Tag remove button):**
101
-
102
- | Tag size | Icon size | Tag height | Optical gap | <code>inset</code> | Hover area | <code>::before</code> radius |
103
- |----------|-----------|------------|-------------|---------|------------|-------------------|
104
- | MD | 20px | 28px | 4px | <code>-2px</code> | 24x24px | <code>radius-025</code> = 2px |
105
- | SM | 16px | 20px | 2px | <code>-1px</code> | 18x18px | <code>3px</code> |
106
- | XS | 12px | 12px | 0px | <code>0</code> | 12x12px | <code>radius-050</code> = 4px |
107
-
108
- **Radius choices:**
109
-
110
- - MD: 2px — small enough to not visually arc into the 2px gap between the hover area and the tag edge.
111
- - SM: 3px — 1px gap, proportionally softer corner.
112
- - XS: 4px (matches the tag's own corner radius) — flush to the tag edge, creating a nested rounded rectangle effect.
113
- - Rounded tags: border-radius: 50% on ::before for all sizes — fully circular hover, matching the pill tag language.
114
-
115
- **Why not simply use padding on the button?** The inset approach keeps the button's layout footprint at exactly the icon size, so the tag's own padding tokens (rule 1) drive the spacing without needing to account for extra button padding.
116
-
117
- ---
118
-
119
- ## 5. Alpha dividers in component groups
120
-
121
- **The rule:** dividers between grouped components (ButtonGroup, ToggleButtonGroup) must use an alpha color token and must be physically positioned to overlap adjacent button fills — not sit in the gap between them.
122
-
123
- **Why the token alone isn't enough:** <code>color-border-tertiary</code> = rgb(0 0 0 / 0.1) (10% black in light mode, 10% white in dark mode). This is the right token — it's designed to blend over any surface. But a 1px flex child sitting *between* two buttons composites against the group/page background, not against the button fills. When buttons have a colored pressed state (e.g. bg-faint-brand, blue) the divider still shows as 10% black over white — a gray line that breaks the blue.
124
-
125
- **The fix:**
126
-
127
- ```css
128
- .divider {
129
- position: relative;
130
- z-index: 1;
131
- margin: 0 -0.5px;
132
- pointer-events: none;
133
- }
134
- ```
135
-
136
- margin: 0 -0.5px makes the divider overlap 0.5px of each adjacent button. z-index: 1 (works because flex children with position: relative participate in stacking) causes it to paint on top of the button fills. Now rgb(0 0 0 / 0.1) composites over the actual button background — a whisper of darker blue over a pressed blue button, barely-visible gray over a white button.
137
-
138
- ---
139
-
140
- ## 6. Divider independence from button state
141
-
142
- **The rule:** dividers in groups must be separate DOM elements, not borders or box-shadows on the buttons.
143
-
144
- **Why:** opacity: 0.5 on an inactive button would also fade a border-left or box-shadow that forms the divider. This creates visual asymmetry — the inactive button's left divider fades while its right divider (owned by the next button) stays opaque. The divider appears broken on one side.
145
-
146
- As a separate div the divider is outside any button's stacking context and unaffected by adjacent button opacity, transform, or any other state.
147
-
148
- **Ghost (elevation: none) dividers:** short centred lines at icon height, additionally hidden when an adjacent button is hovered or pressed (ghost interaction is chip-based, not full-height, so dividers adjacent to active chips should disappear):
149
-
150
- ```css
151
- .item:hover + .dividerGhost,
152
- .dividerGhost:has(+ .item:hover) { opacity: 0; }
153
- .itemPressed + .dividerGhost,
154
- .dividerGhost:has(+ .itemPressed) { opacity: 0; }
155
- ```
156
-
157
- Full-height dividers (elevated / flat / floating) do not hide on hover or press — they are part of the component's chrome and remain visible.
158
-
159
- ---
160
-
161
- ## Quick reference — token ladder
162
-
163
- For convenience, the spacing tokens used across these rules:
164
-
165
- | Token | Value |
166
- |-------|-------|
167
- | <code>space-012</code> | 1px |
168
- | <code>space-025</code> | 2px |
169
- | <code>space-050</code> | 4px |
170
- | <code>space-075</code> | 6px |
171
- | <code>space-100</code> | 8px |
172
- | <code>space-150</code> | 12px |
173
-
174
- | Token | Value |
175
- |-------|-------|
176
- | <code>radius-025</code> | 2px |
177
- | <code>radius-050</code> | 4px |
178
- | <code>radius-half</code> | 50% |
@@ -1,121 +0,0 @@
1
- import { Meta } from '@storybook/addon-docs/blocks';
2
-
3
- <Meta title="Docs/Typography Usage" />
4
-
5
- # Typography Usage Guidelines
6
-
7
- ## 1. Quick Decision Rule
8
-
9
- Use this rule first:
10
-
11
- 1. start with `body-medium` for normal product copy,
12
- 2. use `body-small` when the text is supporting or slightly subdued,
13
- 3. use `body-large` when you need a little more hierarchy than normal body copy,
14
- 4. use `title-*` styles for actual titles and section headers,
15
- 5. use `display-*` styles only for rare, oversized emphasis such as large numeric values.
16
-
17
- **If you are unsure, start with `body-medium`.**
18
-
19
- ## 2. Body Styles
20
-
21
- ### body-medium (default)
22
-
23
- The default text style for most product copy:
24
-
25
- - paragraph text
26
- - standard labels
27
- - most explanatory copy
28
- - the majority of text content in the product
29
-
30
- ### body-small
31
-
32
- For supporting text that should feel slightly more subdued:
33
-
34
- - helper text
35
- - secondary metadata
36
- - supporting subtext below primary copy
37
-
38
- ### body-large
39
-
40
- For text that should sit above normal body copy without becoming a true title:
41
-
42
- - emphasized labels
43
- - short introductory lines
44
- - lightweight card or section headings when a full title style would feel too strong
45
-
46
- > **Note:** Text hierarchy and color hierarchy should work together. De-emphasis usually comes from a combination of text role and foreground role rather than from color alone.
47
-
48
- ## 3. Emphasis Styles
49
-
50
- Emphasis variants add more weight without changing the size tier. They are useful when:
51
-
52
- 1. emphasizing a term inside a paragraph,
53
- 2. giving one label more emphasis than another at the same body size,
54
- 3. increasing emphasis through weight rather than a size jump.
55
-
56
- > **Important:** Emphasis variants should not replace hierarchy. If text needs to function as a heading, move to a title or display role instead of trying to create hierarchy through emphasis alone.
57
-
58
- ## 4. Title Styles
59
-
60
- Use `title-*` styles for actual titles:
61
-
62
- - card titles
63
- - section headers
64
- - page section labels
65
- - other short text that needs to read clearly as a title rather than body copy
66
-
67
- | Style | Typical use |
68
- |-------|------------|
69
- | <code>title-small</code> | Card titles, compact section headers |
70
- | <code>title-medium</code> | Standard section headers, dialog titles |
71
- | <code>title-large</code> | Page-level headers, prominent section titles |
72
-
73
- If the text is functioning as a title, use a title style rather than forcing hierarchy by increasing body size.
74
-
75
- ## 5. Underline Styles
76
-
77
- Underline treatments communicate interactive meaning:
78
-
79
- | Treatment | Meaning |
80
- |-----------|---------|
81
- | **Solid underline** | Text is a hyperlink or tappable link |
82
- | **Dotted underline** | Text has an associated hover/reveal interaction |
83
-
84
- - If text already uses brand bold foreground color, a solid underline isn't always required — the color can signal link behavior on its own
85
- - Dotted and solid can work together: dotted at rest, solid on hover (for text that discloses info and also navigates)
86
-
87
- > These underline treatments should communicate interaction meaning, not be used as decoration.
88
-
89
- ## 6. Display Styles
90
-
91
- Display styles should be used **very sparingly**. They are reserved for:
92
-
93
- - large scores
94
- - primary summary metrics
95
- - rare hero-value moments (e.g., a prominent driver safety score)
96
-
97
- > Display styles should not be treated as general-purpose headings. They are intentionally dramatic and reserved for exceptional emphasis.
98
-
99
- ## 7. Anti-Patterns
100
-
101
- Avoid these patterns:
102
-
103
- 1. defaulting to `body-large` when normal copy should use `body-medium`,
104
- 2. defaulting to emphasis variants instead of using them only where extra emphasis is needed,
105
- 3. using underline treatments as decoration instead of interaction cues,
106
- 4. using title styles for ordinary paragraph text,
107
- 5. using display styles for common headers or labels,
108
- 6. escalating text size too quickly when a smaller hierarchy shift would do the job.
109
-
110
- ## 8. Practical Summary
111
-
112
- | Need | Style |
113
- |------|-------|
114
- | Normal product copy | <code>body-medium</code> |
115
- | Subdued supporting copy | <code>body-small</code> |
116
- | Slight hierarchy bump | <code>body-large</code> |
117
- | More emphasis, same size | <code>body-&#42;-emphasis</code> |
118
- | Link indication | Solid underline |
119
- | Hover/reveal indication | Dotted underline |
120
- | Actual titles | <code>title-small</code>, <code>title-medium</code>, <code>title-large</code> |
121
- | Rare oversized emphasis | <code>display-small</code>, <code>display-medium</code> |
package/src/index.ts DELETED
@@ -1,154 +0,0 @@
1
- // Primitives
2
- export { Text } from './components/Text';
3
- export type {
4
- TextProps,
5
- TextVariant,
6
- TextStyle,
7
- TextColor,
8
- TextColorToken,
9
- TextDecoration,
10
- TextAlign,
11
- LineTruncation,
12
- TextWrap,
13
- TextElement,
14
- } from './components/Text';
15
-
16
- export { Surface } from './components/Surface';
17
- export type {
18
- SurfaceProps,
19
- SurfaceIntent,
20
- SurfaceBackground,
21
- SurfaceContrast,
22
- SurfaceElevation,
23
- SurfaceEdge,
24
- SurfaceRadius,
25
- SurfaceRadiusPreset,
26
- SurfaceElement,
27
- } from './components/Surface';
28
-
29
- export { Card } from './components/Card';
30
- export type { CardProps, CardElevation, CardRadius } from './components/Card';
31
-
32
- // Core Interactive
33
- export { Button } from './components/Button';
34
- export type { ButtonProps, ButtonVariant, ButtonElevation, ButtonIntent, ButtonSize, ButtonContrast, ButtonBackground } from './components/Button';
35
-
36
- export { ToggleButton } from './components/ToggleButton';
37
- export type { ToggleButtonProps, ToggleButtonElevation, ToggleButtonSize, ToggleButtonBackground } from './components/ToggleButton';
38
-
39
- export { ButtonGroup } from './components/ButtonGroup';
40
- export type { ButtonGroupProps } from './components/ButtonGroup';
41
-
42
- export { ToggleButtonGroup } from './components/ToggleButtonGroup';
43
- export type { ToggleButtonGroupProps } from './components/ToggleButtonGroup';
44
-
45
- export { Tag } from './components/Tag';
46
- export type { TagProps, TagIntent, TagContrast, TagElevation, TagSize, TagBackground } from './components/Tag';
47
-
48
- export { Badge } from './components/Badge';
49
- export type { BadgeProps } from './components/Badge';
50
-
51
- export { Loader } from './components/Loader';
52
- export type { LoaderProps } from './components/Loader';
53
-
54
- export { Toggle } from './components/Toggle';
55
- export type { ToggleProps } from './components/Toggle';
56
-
57
- export { Checkbox } from './components/Checkbox';
58
- export type { CheckboxProps } from './components/Checkbox';
59
-
60
- export { Input } from './components/Input';
61
- export type { InputProps } from './components/Input';
62
-
63
- export { Slider } from './components/Slider';
64
- export type { SliderProps } from './components/Slider';
65
-
66
- export { Field } from './components/Field';
67
- export type { FieldProps } from './components/Field';
68
-
69
- // Floating / Portal
70
- export { Modal } from './components/Modal';
71
- export type { ModalProps, ModalWidth } from './components/Modal';
72
-
73
- export { Menu } from './components/Menu';
74
- export type { MenuProps, MenuSection, MenuItemData, MenuSide, MenuAlign } from './components/Menu';
75
- export { MenuItem } from './components/Menu';
76
- export type { MenuItemProps, MenuItemSelectionStyle } from './components/Menu';
77
- export { DestructiveMenuItem } from './components/Menu';
78
- export type { DestructiveMenuItemProps } from './components/Menu';
79
-
80
- export { Tooltip } from './components/Tooltip';
81
- export type { TooltipProps, TooltipSide, TooltipAlign } from './components/Tooltip';
82
-
83
- export { Select } from './components/Select';
84
- export type { SelectProps, SelectOption } from './components/Select';
85
-
86
- export { Banner } from './components/Banner';
87
- export type { BannerProps, BannerIntent, BannerContrast } from './components/Banner';
88
-
89
- // Complex & Utility
90
- export { Table } from './components/Table';
91
- export type {
92
- TableProps,
93
- TableColumn,
94
- SortState,
95
- SortDirection,
96
- CellType,
97
- FilterValue,
98
- FilterState,
99
- PaginationState,
100
- } from './components/Table';
101
-
102
- export { Tab } from './components/Tab';
103
- export type { TabProps, TabBackground } from './components/Tab';
104
-
105
- export { EmptyState } from './components/EmptyState';
106
- export type { EmptyStateProps, EmptyStateType } from './components/EmptyState';
107
-
108
- export { Fade } from './components/Fade';
109
- export type { FadeProps, FadeSide } from './components/Fade';
110
-
111
- export { Scrollbar } from './components/Scrollbar';
112
- export type { ScrollbarProps, ScrollbarVariant } from './components/Scrollbar';
113
-
114
- export { ErrorBoundary } from './components/ErrorBoundary';
115
- export type { ErrorBoundaryProps } from './components/ErrorBoundary';
116
-
117
- // Layout
118
- export { Sidebar } from './components/Sidebar';
119
- export type { SidebarProps, SidebarWidth } from './components/Sidebar';
120
- export { SidebarSection } from './components/Sidebar';
121
- export type { SidebarSectionProps } from './components/Sidebar';
122
- export { SidebarItem } from './components/Sidebar';
123
- export type { SidebarItemProps } from './components/Sidebar';
124
-
125
- export { Header } from './components/Header';
126
- export type { HeaderProps, HeaderBackground } from './components/Header';
127
-
128
- // Classic — Additional components
129
- export { RadioGroup, RadioItem } from './components/Radio';
130
- export type { RadioGroupProps, RadioItemProps, RadioOption } from './components/Radio';
131
-
132
- export { TabGroup } from './components/TabGroup';
133
- export type { TabGroupProps, TabGroupTab } from './components/TabGroup';
134
-
135
- export { Accordion, AccordionItem } from './components/Accordion';
136
- export type { AccordionProps, AccordionItemProps, AccordionItemData } from './components/Accordion';
137
-
138
- export { Breadcrumb } from './components/Breadcrumb';
139
- export type { BreadcrumbProps, BreadcrumbItem } from './components/Breadcrumb';
140
-
141
- export { Pagination } from './components/Pagination';
142
- export type { PaginationProps } from './components/Pagination';
143
-
144
- export { Divider } from './components/Divider';
145
- export type { DividerProps, DividerOrientation } from './components/Divider';
146
-
147
- export { Skeleton } from './components/Skeleton';
148
- export type { SkeletonProps, SkeletonVariant } from './components/Skeleton';
149
-
150
- export { ToastContainer, toast, useToasts } from './components/Toast';
151
- export type { ToastContainerProps, ToastData, ToastOptions, ToastIntent, ToastPosition } from './components/Toast';
152
-
153
- // Types
154
- export type { IconProps, IconComponent } from './types';