@saas-ui/react 3.0.0-alpha.0 → 3.0.0-alpha.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (397) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/dist/chunk-2EUACKRH.js +26 -0
  3. package/dist/chunk-32JGENDB.js +19 -0
  4. package/dist/chunk-3MO37LYW.js +326 -0
  5. package/dist/chunk-4TR3AOMG.js +33 -0
  6. package/dist/chunk-6LOMIKR5.js +69 -0
  7. package/dist/chunk-6ZNR6N2K.js +45 -0
  8. package/dist/chunk-7VSTNV2B.js +53 -0
  9. package/dist/chunk-BCNPBZZK.js +45 -0
  10. package/dist/chunk-CB52LBJK.js +71 -0
  11. package/dist/chunk-CD2JUFI2.js +231 -0
  12. package/dist/chunk-FJFNGSPL.js +23 -0
  13. package/dist/chunk-FZW2DYK3.js +19 -0
  14. package/dist/chunk-GGAKUS66.js +141 -0
  15. package/dist/chunk-H6TFEHY4.js +63 -0
  16. package/dist/chunk-HELHPHIQ.js +35 -0
  17. package/dist/chunk-I2RXEKTB.js +38 -0
  18. package/dist/chunk-JGHXJ3PI.js +102 -0
  19. package/dist/chunk-KTLWEUNW.js +1 -0
  20. package/dist/chunk-L356FPLY.js +20 -0
  21. package/dist/chunk-LIYUBUOP.js +119 -0
  22. package/dist/chunk-M7FOBCOV.js +184 -0
  23. package/dist/chunk-NSD5HRIP.js +46 -0
  24. package/dist/chunk-O2WVT2BP.js +35 -0
  25. package/dist/chunk-PKI6YH2V.js +31 -0
  26. package/dist/chunk-Q6SNJJO2.js +63 -0
  27. package/dist/chunk-QSNSWCTM.js +32 -0
  28. package/dist/chunk-RTMS5TJN.js +10 -0
  29. package/dist/chunk-S3CQW7GD.js +100 -0
  30. package/dist/chunk-SA3OGTOO.js +23 -0
  31. package/dist/chunk-SKXSBAOS.js +35 -0
  32. package/dist/chunk-TT4C5VXB.js +36 -0
  33. package/dist/chunk-TZBAM4AD.js +20 -0
  34. package/dist/chunk-UCQ3LZIE.js +43 -0
  35. package/dist/chunk-ULAJ3JEO.js +32 -0
  36. package/dist/chunk-VDXTEASE.js +117 -0
  37. package/dist/chunk-WYLMBMAH.js +22 -0
  38. package/dist/components/app-shell/index.cjs +68 -0
  39. package/dist/components/app-shell/index.d.cts +30 -0
  40. package/dist/components/app-shell/index.d.ts +30 -0
  41. package/dist/components/app-shell/index.js +8 -0
  42. package/dist/components/avatar/index.cjs +69 -0
  43. package/dist/components/avatar/index.d.cts +18 -0
  44. package/dist/components/avatar/index.d.ts +18 -0
  45. package/dist/components/avatar/index.js +10 -0
  46. package/dist/components/breadcrumb/index.cjs +58 -0
  47. package/dist/components/breadcrumb/index.d.cts +17 -0
  48. package/dist/components/breadcrumb/index.d.ts +17 -0
  49. package/dist/components/breadcrumb/index.js +8 -0
  50. package/dist/components/button/index.cjs +65 -0
  51. package/dist/components/button/index.d.cts +12 -0
  52. package/dist/components/button/index.d.ts +12 -0
  53. package/dist/components/button/index.js +8 -0
  54. package/dist/components/checkbox/index.cjs +45 -0
  55. package/dist/components/checkbox/index.d.cts +11 -0
  56. package/dist/components/checkbox/index.d.ts +11 -0
  57. package/dist/components/checkbox/index.js +8 -0
  58. package/dist/components/close-button/index.cjs +142 -0
  59. package/dist/components/close-button/index.d.cts +8 -0
  60. package/dist/components/close-button/index.d.ts +8 -0
  61. package/dist/components/close-button/index.js +9 -0
  62. package/dist/components/command/index.cjs +56 -0
  63. package/dist/components/command/index.d.cts +6 -0
  64. package/dist/components/command/index.d.ts +6 -0
  65. package/dist/components/command/index.js +8 -0
  66. package/dist/components/dialog/index.cjs +204 -0
  67. package/dist/components/dialog/index.d.cts +27 -0
  68. package/dist/components/dialog/index.d.ts +27 -0
  69. package/dist/components/dialog/index.js +10 -0
  70. package/dist/components/drawer/index.cjs +196 -0
  71. package/dist/components/drawer/index.d.cts +28 -0
  72. package/dist/components/drawer/index.d.ts +28 -0
  73. package/dist/components/drawer/index.js +10 -0
  74. package/dist/components/empty-state/index.cjs +48 -0
  75. package/dist/components/empty-state/index.d.cts +11 -0
  76. package/dist/components/empty-state/index.d.ts +11 -0
  77. package/dist/components/empty-state/index.js +8 -0
  78. package/dist/components/grid-list/index.cjs +68 -0
  79. package/dist/components/grid-list/index.d.cts +22 -0
  80. package/dist/components/grid-list/index.d.ts +22 -0
  81. package/dist/components/grid-list/index.js +8 -0
  82. package/dist/components/icon-badge/index.cjs +70 -0
  83. package/dist/components/icon-badge/index.d.cts +16 -0
  84. package/dist/components/icon-badge/index.d.ts +16 -0
  85. package/dist/components/icon-badge/index.js +8 -0
  86. package/dist/components/icons/index.cjs +155 -0
  87. package/dist/components/icons/index.d.cts +19 -0
  88. package/dist/components/icons/index.d.ts +19 -0
  89. package/dist/components/icons/index.js +35 -0
  90. package/dist/components/input-group/index.cjs +56 -0
  91. package/dist/components/input-group/index.d.cts +13 -0
  92. package/dist/components/input-group/index.d.ts +13 -0
  93. package/dist/components/input-group/index.js +8 -0
  94. package/dist/components/link/index.cjs +71 -0
  95. package/dist/components/link/index.d.cts +13 -0
  96. package/dist/components/link/index.d.ts +13 -0
  97. package/dist/components/link/index.js +9 -0
  98. package/dist/components/loading-overlay/index.cjs +84 -0
  99. package/dist/components/loading-overlay/index.d.cts +26 -0
  100. package/dist/components/loading-overlay/index.d.ts +26 -0
  101. package/dist/components/loading-overlay/index.js +11 -0
  102. package/dist/components/menu/index.cjs +249 -0
  103. package/dist/components/menu/index.d.cts +39 -0
  104. package/dist/components/menu/index.d.ts +39 -0
  105. package/dist/components/menu/index.js +11 -0
  106. package/dist/components/navbar/index.cjs +111 -0
  107. package/dist/components/navbar/index.d.cts +21 -0
  108. package/dist/components/navbar/index.d.ts +21 -0
  109. package/dist/components/navbar/index.js +9 -0
  110. package/dist/components/number-input/index.cjs +82 -0
  111. package/dist/components/number-input/index.d.cts +13 -0
  112. package/dist/components/number-input/index.d.ts +13 -0
  113. package/dist/components/number-input/index.js +9 -0
  114. package/dist/components/password-input/index.cjs +284 -0
  115. package/dist/components/password-input/index.d.cts +18 -0
  116. package/dist/components/password-input/index.d.ts +18 -0
  117. package/dist/components/password-input/index.js +9 -0
  118. package/dist/components/persona/index.cjs +218 -0
  119. package/dist/components/persona/index.d.cts +113 -0
  120. package/dist/components/persona/index.d.ts +113 -0
  121. package/dist/components/persona/index.js +12 -0
  122. package/dist/components/pin-input/index.cjs +51 -0
  123. package/dist/components/pin-input/index.d.cts +12 -0
  124. package/dist/components/pin-input/index.d.ts +12 -0
  125. package/dist/components/pin-input/index.js +8 -0
  126. package/dist/components/radio/index.cjs +48 -0
  127. package/dist/components/radio/index.d.cts +12 -0
  128. package/dist/components/radio/index.d.ts +12 -0
  129. package/dist/components/radio/index.js +10 -0
  130. package/dist/components/search-input/index.cjs +244 -0
  131. package/dist/components/search-input/index.d.cts +15 -0
  132. package/dist/components/search-input/index.d.ts +15 -0
  133. package/dist/components/search-input/index.js +10 -0
  134. package/dist/components/segmented-control/index.cjs +60 -0
  135. package/dist/components/segmented-control/index.d.cts +14 -0
  136. package/dist/components/segmented-control/index.d.ts +14 -0
  137. package/dist/components/segmented-control/index.js +8 -0
  138. package/dist/components/select/index.cjs +233 -0
  139. package/dist/components/select/index.d.cts +32 -0
  140. package/dist/components/select/index.d.ts +32 -0
  141. package/dist/components/select/index.js +10 -0
  142. package/dist/components/sidebar/index.cjs +166 -0
  143. package/dist/components/sidebar/index.d.cts +86 -0
  144. package/dist/components/sidebar/index.d.ts +86 -0
  145. package/dist/components/sidebar/index.js +14 -0
  146. package/dist/components/spinner/index.cjs +44 -0
  147. package/dist/components/spinner/index.d.cts +10 -0
  148. package/dist/components/spinner/index.d.ts +10 -0
  149. package/dist/components/spinner/index.js +8 -0
  150. package/dist/components/steps/index.cjs +189 -0
  151. package/dist/components/steps/index.d.cts +31 -0
  152. package/dist/components/steps/index.d.ts +31 -0
  153. package/dist/components/steps/index.js +10 -0
  154. package/dist/components/switch/index.cjs +48 -0
  155. package/dist/components/switch/index.d.cts +18 -0
  156. package/dist/components/switch/index.d.ts +18 -0
  157. package/dist/components/switch/index.js +8 -0
  158. package/dist/components/toaster/index.cjs +54 -0
  159. package/dist/components/toaster/index.d.cts +10 -0
  160. package/dist/components/toaster/index.d.ts +10 -0
  161. package/dist/components/toaster/index.js +10 -0
  162. package/dist/components/tooltip/index.cjs +57 -0
  163. package/dist/components/tooltip/index.d.cts +14 -0
  164. package/dist/components/tooltip/index.d.ts +14 -0
  165. package/dist/components/tooltip/index.js +8 -0
  166. package/dist/index.cjs +2358 -222
  167. package/dist/index.d.cts +46 -10
  168. package/dist/index.d.ts +46 -10
  169. package/dist/index.js +523 -305
  170. package/dist/theme/tokens/colors.cjs +349 -0
  171. package/dist/theme/tokens/colors.d.cts +856 -0
  172. package/dist/theme/tokens/colors.d.ts +856 -0
  173. package/dist/theme/tokens/colors.js +8 -0
  174. package/package.json +15 -9
  175. package/dist/index.cjs.map +0 -1
  176. package/dist/index.js.map +0 -1
  177. package/src/components/accordion.tsx +0 -47
  178. package/src/components/action-bar.tsx +0 -40
  179. package/src/components/alert.tsx +0 -51
  180. package/src/components/app-shell/app-shell.recipe.ts +0 -52
  181. package/src/components/app-shell/app-shell.stories.tsx +0 -51
  182. package/src/components/app-shell/app-shell.tsx +0 -94
  183. package/src/components/app-shell/index.ts +0 -3
  184. package/src/components/avatar.tsx +0 -74
  185. package/src/components/blockquote.tsx +0 -31
  186. package/src/components/breadcrumbs/breadcrumb.stories.tsx +0 -17
  187. package/src/components/breadcrumbs/breadcrumb.tsx +0 -36
  188. package/src/components/breadcrumbs/index.ts +0 -1
  189. package/src/components/breadcrumbs/namespace.ts +0 -8
  190. package/src/components/button/button.recipe.ts +0 -182
  191. package/src/components/button/button.stories.tsx +0 -99
  192. package/src/components/button/button.tsx +0 -55
  193. package/src/components/button/index.ts +0 -2
  194. package/src/components/checkbox/checkbox.tsx +0 -26
  195. package/src/components/checkbox/index.ts +0 -2
  196. package/src/components/checkbox-card.tsx +0 -57
  197. package/src/components/checkbox.tsx +0 -25
  198. package/src/components/clipboard.tsx +0 -107
  199. package/src/components/close-button/close-button.stories.tsx +0 -12
  200. package/src/components/close-button/close-button.tsx +0 -18
  201. package/src/components/close-button/index.ts +0 -2
  202. package/src/components/color-mode.tsx +0 -65
  203. package/src/components/command/command.recipe.ts +0 -17
  204. package/src/components/command/command.stories.tsx +0 -47
  205. package/src/components/command/command.tsx +0 -50
  206. package/src/components/command/index.ts +0 -1
  207. package/src/components/data-list.tsx +0 -37
  208. package/src/components/dialog/dialog.tsx +0 -66
  209. package/src/components/dialog/index.ts +0 -1
  210. package/src/components/dialog/namespace.ts +0 -18
  211. package/src/components/drawer/drawer.tsx +0 -56
  212. package/src/components/drawer/index.ts +0 -3
  213. package/src/components/drawer/namespace.ts +0 -19
  214. package/src/components/empty-state.tsx +0 -34
  215. package/src/components/field.tsx +0 -33
  216. package/src/components/file-button.tsx +0 -166
  217. package/src/components/grid-list/grid-list.recipe.ts +0 -113
  218. package/src/components/hover-card.tsx +0 -35
  219. package/src/components/icon-badge/icon-badge.recipe.ts +0 -57
  220. package/src/components/icon-badge/icon-badge.stories.tsx +0 -38
  221. package/src/components/icon-badge/icon-badge.tsx +0 -59
  222. package/src/components/icon-badge/index.ts +0 -2
  223. package/src/components/icons/create-icon.tsx +0 -41
  224. package/src/components/icons/icons.tsx +0 -121
  225. package/src/components/icons/index.ts +0 -1
  226. package/src/components/input-group/index.ts +0 -1
  227. package/src/components/input-group/input-group.tsx +0 -46
  228. package/src/components/link/index.ts +0 -2
  229. package/src/components/link/link.stories.tsx +0 -17
  230. package/src/components/link/link.test.tsx +0 -33
  231. package/src/components/link/link.tsx +0 -27
  232. package/src/components/link-button.tsx +0 -12
  233. package/src/components/loading-overlay/index.ts +0 -1
  234. package/src/components/loading-overlay/loading-overlay.recipe.ts +0 -61
  235. package/src/components/loading-overlay/loading-overlay.stories.tsx +0 -68
  236. package/src/components/loading-overlay/loading-overlay.tsx +0 -54
  237. package/src/components/loading-overlay/namespace.ts +0 -7
  238. package/src/components/menu.tsx +0 -108
  239. package/src/components/native-select.tsx +0 -57
  240. package/src/components/navbar/index.ts +0 -1
  241. package/src/components/navbar/namespace.ts +0 -9
  242. package/src/components/navbar/navbar.recipe.ts +0 -109
  243. package/src/components/navbar/navbar.stories.tsx +0 -435
  244. package/src/components/navbar/navbar.test.tsx +0 -49
  245. package/src/components/navbar/navbar.tsx +0 -39
  246. package/src/components/number-input/index.ts +0 -2
  247. package/src/components/number-input/number-input.tsx +0 -41
  248. package/src/components/pagination.tsx +0 -207
  249. package/src/components/password-input/index.ts +0 -2
  250. package/src/components/password-input/password-input.tsx +0 -98
  251. package/src/components/persona/index.ts +0 -2
  252. package/src/components/persona/namespace.ts +0 -18
  253. package/src/components/persona/persona-primitive.tsx +0 -220
  254. package/src/components/persona/persona.recipe.ts +0 -94
  255. package/src/components/persona/persona.stories.tsx +0 -101
  256. package/src/components/persona/persona.tsx +0 -143
  257. package/src/components/pin-input/index.ts +0 -2
  258. package/src/components/pin-input/pin-input.tsx +0 -36
  259. package/src/components/popover.tsx +0 -58
  260. package/src/components/progress-circle.tsx +0 -37
  261. package/src/components/progress.tsx +0 -40
  262. package/src/components/prose.tsx +0 -264
  263. package/src/components/provider.tsx +0 -12
  264. package/src/components/radio/index.ts +0 -2
  265. package/src/components/radio/radio.tsx +0 -27
  266. package/src/components/radio-card.tsx +0 -57
  267. package/src/components/radio.tsx +0 -24
  268. package/src/components/rating.tsx +0 -27
  269. package/src/components/search-input/index.ts +0 -2
  270. package/src/components/search-input/search-input.stories.tsx +0 -63
  271. package/src/components/search-input/search-input.tsx +0 -134
  272. package/src/components/segmented-control.tsx +0 -47
  273. package/src/components/select/index.ts +0 -1
  274. package/src/components/select/namespace.ts +0 -18
  275. package/src/components/select/select.tsx +0 -135
  276. package/src/components/sidebar/index.ts +0 -7
  277. package/src/components/sidebar/namespace.ts +0 -27
  278. package/src/components/sidebar/sidebar-item.recipe.ts +0 -65
  279. package/src/components/sidebar/sidebar.recipe.ts +0 -237
  280. package/src/components/sidebar/sidebar.stories.tsx +0 -903
  281. package/src/components/sidebar/sidebar.tsx +0 -204
  282. package/src/components/skeleton.tsx +0 -44
  283. package/src/components/slider.tsx +0 -53
  284. package/src/components/spinner/index.ts +0 -2
  285. package/src/components/spinner/spinner.stories.tsx +0 -19
  286. package/src/components/spinner/spinner.tsx +0 -21
  287. package/src/components/stat.tsx +0 -75
  288. package/src/components/status.tsx +0 -29
  289. package/src/components/stepper-input.tsx +0 -49
  290. package/src/components/steps/index.ts +0 -1
  291. package/src/components/steps/namespace.ts +0 -16
  292. package/src/components/steps/steps.tsx +0 -82
  293. package/src/components/switch/index.ts +0 -3
  294. package/src/components/switch/switch.tsx +0 -39
  295. package/src/components/tag.tsx +0 -39
  296. package/src/components/timeline.tsx +0 -17
  297. package/src/components/toaster.tsx +0 -43
  298. package/src/components/toggle-tip.tsx +0 -62
  299. package/src/components/tooltip.tsx +0 -46
  300. package/src/index.ts +0 -7
  301. package/src/preset.ts +0 -9
  302. package/src/provider/index.ts +0 -4
  303. package/src/provider/sui-provider.tsx +0 -34
  304. package/src/provider/use-link.test.tsx +0 -60
  305. package/src/provider/use-link.tsx +0 -13
  306. package/src/theme/animation-styles.ts +0 -53
  307. package/src/theme/breakpoints.ts +0 -11
  308. package/src/theme/conditions.ts +0 -26
  309. package/src/theme/fluid-font-sizes.ts +0 -65
  310. package/src/theme/global-css.ts +0 -94
  311. package/src/theme/index.ts +0 -72
  312. package/src/theme/layer-styles.ts +0 -116
  313. package/src/theme/recipes/chakra/accordion.ts +0 -145
  314. package/src/theme/recipes/chakra/action-bar.ts +0 -62
  315. package/src/theme/recipes/chakra/alert.ts +0 -157
  316. package/src/theme/recipes/chakra/avatar.ts +0 -141
  317. package/src/theme/recipes/chakra/badge.ts +0 -67
  318. package/src/theme/recipes/chakra/blockquote.ts +0 -83
  319. package/src/theme/recipes/chakra/breadcrumb.ts +0 -94
  320. package/src/theme/recipes/chakra/card.ts +0 -99
  321. package/src/theme/recipes/chakra/checkbox-card.ts +0 -212
  322. package/src/theme/recipes/chakra/checkbox.ts +0 -70
  323. package/src/theme/recipes/chakra/checkmark.ts +0 -83
  324. package/src/theme/recipes/chakra/code.ts +0 -17
  325. package/src/theme/recipes/chakra/collapsible.ts +0 -20
  326. package/src/theme/recipes/chakra/container.ts +0 -26
  327. package/src/theme/recipes/chakra/data-list.ts +0 -80
  328. package/src/theme/recipes/chakra/dialog.ts +0 -225
  329. package/src/theme/recipes/chakra/drawer.ts +0 -201
  330. package/src/theme/recipes/chakra/editable.ts +0 -88
  331. package/src/theme/recipes/chakra/empty-state.ts +0 -88
  332. package/src/theme/recipes/chakra/field.ts +0 -68
  333. package/src/theme/recipes/chakra/fieldset.ts +0 -62
  334. package/src/theme/recipes/chakra/file-upload.ts +0 -96
  335. package/src/theme/recipes/chakra/heading.ts +0 -27
  336. package/src/theme/recipes/chakra/hover-card.ts +0 -68
  337. package/src/theme/recipes/chakra/icon.ts +0 -30
  338. package/src/theme/recipes/chakra/input-addon.ts +0 -40
  339. package/src/theme/recipes/chakra/input.ts +0 -96
  340. package/src/theme/recipes/chakra/kbd.ts +0 -60
  341. package/src/theme/recipes/chakra/link.ts +0 -37
  342. package/src/theme/recipes/chakra/list.ts +0 -67
  343. package/src/theme/recipes/chakra/mark.ts +0 -27
  344. package/src/theme/recipes/chakra/menu.ts +0 -124
  345. package/src/theme/recipes/chakra/native-select.ts +0 -140
  346. package/src/theme/recipes/chakra/number-input.ts +0 -115
  347. package/src/theme/recipes/chakra/pin-input.ts +0 -27
  348. package/src/theme/recipes/chakra/popover.ts +0 -86
  349. package/src/theme/recipes/chakra/progress-circle.ts +0 -94
  350. package/src/theme/recipes/chakra/progress.ts +0 -127
  351. package/src/theme/recipes/chakra/radio-card.ts +0 -220
  352. package/src/theme/recipes/chakra/radio-group.ts +0 -72
  353. package/src/theme/recipes/chakra/radiomark.ts +0 -107
  354. package/src/theme/recipes/chakra/rating-group.ts +0 -94
  355. package/src/theme/recipes/chakra/segment-group.ts +0 -117
  356. package/src/theme/recipes/chakra/select.ts +0 -282
  357. package/src/theme/recipes/chakra/separator.ts +0 -51
  358. package/src/theme/recipes/chakra/skeleton.ts +0 -53
  359. package/src/theme/recipes/chakra/skip-nav-link.ts +0 -34
  360. package/src/theme/recipes/chakra/slider.ts +0 -178
  361. package/src/theme/recipes/chakra/spinner.ts +0 -32
  362. package/src/theme/recipes/chakra/stat.ts +0 -79
  363. package/src/theme/recipes/chakra/status.ts +0 -48
  364. package/src/theme/recipes/chakra/steps.ts +0 -218
  365. package/src/theme/recipes/chakra/switch.ts +0 -167
  366. package/src/theme/recipes/chakra/table.ts +0 -172
  367. package/src/theme/recipes/chakra/tabs.ts +0 -280
  368. package/src/theme/recipes/chakra/tag.ts +0 -131
  369. package/src/theme/recipes/chakra/textarea.ts +0 -88
  370. package/src/theme/recipes/chakra/timeline.ts +0 -138
  371. package/src/theme/recipes/chakra/toast.ts +0 -96
  372. package/src/theme/recipes/chakra/tooltip.ts +0 -40
  373. package/src/theme/recipes.ts +0 -46
  374. package/src/theme/semantic-tokens/colors.ts +0 -403
  375. package/src/theme/semantic-tokens/radii.ts +0 -7
  376. package/src/theme/semantic-tokens/shadows.ts +0 -52
  377. package/src/theme/slot-recipes.ts +0 -104
  378. package/src/theme/text-styles.ts +0 -39
  379. package/src/theme/tokens/animations.ts +0 -8
  380. package/src/theme/tokens/aspect-ratios.ts +0 -10
  381. package/src/theme/tokens/blurs.ts +0 -12
  382. package/src/theme/tokens/borders.ts +0 -9
  383. package/src/theme/tokens/colors.ts +0 -177
  384. package/src/theme/tokens/cursor.ts +0 -12
  385. package/src/theme/tokens/durations.ts +0 -11
  386. package/src/theme/tokens/easings.ts +0 -10
  387. package/src/theme/tokens/font-sizes.ts +0 -20
  388. package/src/theme/tokens/font-weights.ts +0 -13
  389. package/src/theme/tokens/fonts.ts +0 -15
  390. package/src/theme/tokens/keyframes.ts +0 -173
  391. package/src/theme/tokens/letter-spacing.ts +0 -9
  392. package/src/theme/tokens/line-heights.ts +0 -19
  393. package/src/theme/tokens/radius.ts +0 -18
  394. package/src/theme/tokens/sizes.ts +0 -71
  395. package/src/theme/tokens/spacing.ts +0 -38
  396. package/src/theme/tokens/z-indices.ts +0 -34
  397. package/src/theme/utils.ts +0 -46
@@ -1,101 +0,0 @@
1
- import * as React from 'react'
2
-
3
- import { Container, VStack } from '@chakra-ui/react'
4
- import { FiMinus, FiPhone } from 'react-icons/fi'
5
-
6
- import { Persona } from './persona.tsx'
7
-
8
- export default {
9
- title: 'Components/Persona',
10
- decorators: [
11
- (Story: any) => (
12
- <Container mt="40px">
13
- <Story />
14
- </Container>
15
- ),
16
- ],
17
- }
18
-
19
- const persona = {
20
- name: 'Elliot Alderson',
21
- presence: 'online',
22
- secondaryLabel: 'Mr Robot',
23
- tertiaryLabel: 'Away for lunch',
24
- }
25
-
26
- export const Basic = () => (
27
- <>
28
- <VStack gap="8">
29
- <Persona {...persona} presence="online" size="xs" />
30
-
31
- <Persona {...persona} presence="online" size="sm" />
32
-
33
- <Persona {...persona} presence="online" size="md" />
34
-
35
- <Persona {...persona} presence="online" size="lg" />
36
-
37
- <Persona {...persona} presence="online" size="xl" />
38
- </VStack>
39
- </>
40
- )
41
-
42
- export const HideDetails = () => (
43
- <>
44
- <VStack gap="8">
45
- <Persona {...persona} hideDetails presence="offline" />
46
- </VStack>
47
- </>
48
- )
49
-
50
- export const BadgeIcon = () => (
51
- <>
52
- <VStack gap="8">
53
- <Persona
54
- {...persona}
55
- presenceIcon={<FiMinus size="0.4em" />}
56
- size="xl"
57
- presence="busy"
58
- />
59
- </VStack>
60
- </>
61
- )
62
-
63
- export const LabelWithIcon = () => (
64
- <>
65
- <VStack gap="8">
66
- <Persona
67
- {...persona}
68
- presence="busy"
69
- secondaryLabel={
70
- <>
71
- <FiPhone /> On a call
72
- </>
73
- }
74
- />
75
- </VStack>
76
- </>
77
- )
78
-
79
- export const OutOfOffice = () => (
80
- <>
81
- <VStack gap="8">
82
- <Persona {...persona} presence="offline" size="xs" isOutOfOffice />
83
- <Persona {...persona} presence="online" isOutOfOffice />
84
- <Persona {...persona} presence="away" size="xl" isOutOfOffice />
85
- </VStack>
86
- </>
87
- )
88
-
89
- export const Overflow = () => (
90
- <>
91
- <VStack gap="8">
92
- <Persona
93
- {...persona}
94
- secondaryLabel="This is a very long text and should overflow."
95
- presence="offline"
96
- isOutOfOffice
97
- maxW="200px"
98
- />
99
- </VStack>
100
- </>
101
- )
@@ -1,143 +0,0 @@
1
- import * as React from 'react'
2
-
3
- import * as PersonaPrimitive from './namespace.ts'
4
-
5
- interface PersonaOptions {
6
- /**
7
- * The name of the person in the avatar.
8
- *
9
- * - if `src` has loaded, the name will be used as the `alt` attribute of the `img`
10
- * - If `src` is not loaded, the name will be used to create the initials
11
- */
12
- name?: string
13
- /**
14
- * The presence status of the person
15
- *
16
- * If set will add an AvatarBadge with color configured in `Presence`
17
- * Default presence options:
18
- * - online
19
- * - offline
20
- * - busy
21
- * - dnd
22
- * - away
23
- */
24
- presence?: PersonaPrimitive.Presence
25
- /**
26
- * The icon shown in the AvatarBadge
27
- */
28
- presenceIcon?: React.ReactNode
29
- /**
30
- * Indicates that a person is out of office. Changes the presence badge style.
31
- */
32
- isOutOfOffice?: boolean
33
- /**
34
- * Primary label of the persona, defaults to the name
35
- */
36
- label?: React.ReactNode
37
- /**
38
- * Secondary label, usually the role of the person
39
- * Only visible from md size and up.
40
- */
41
- secondaryLabel?: React.ReactNode
42
- /**
43
- * Tertiary label, usually the status of the person.
44
- * Only visible from lg size and up.
45
- */
46
- tertiaryLabel?: React.ReactNode
47
- /**
48
- * Hide the persona details next to the avatar.
49
- */
50
- hideDetails?: boolean
51
- }
52
-
53
- export interface PersonaProps
54
- extends PersonaOptions,
55
- PersonaPrimitive.AvatarProps,
56
- PersonaPrimitive.RootProps {}
57
-
58
- /**
59
- * The wrapper component that handles default composition.
60
- *
61
- * @see Docs https://saas-ui.dev/docs/components/data-display/persona
62
- */
63
- export const Persona = React.forwardRef<HTMLDivElement, PersonaProps>(
64
- (props, ref) => {
65
- const {
66
- name,
67
- presence,
68
- presenceIcon,
69
- isOutOfOffice,
70
- label,
71
- secondaryLabel,
72
- tertiaryLabel,
73
- size,
74
- hideDetails,
75
- children,
76
- /** Avatar props */
77
- getInitials,
78
- icon,
79
- loading,
80
- onError,
81
- src,
82
- srcSet,
83
- ...rest
84
- } = props
85
-
86
- return (
87
- <PersonaPrimitive.Root
88
- ref={ref}
89
- outOfOffice={isOutOfOffice}
90
- presence={presence}
91
- size={size}
92
- {...rest}
93
- >
94
- <PersonaPrimitive.Avatar
95
- name={name}
96
- size={size}
97
- getInitials={getInitials}
98
- icon={icon}
99
- loading={loading}
100
- onError={onError}
101
- src={src}
102
- srcSet={srcSet}
103
- >
104
- <PersonaPrimitive.PresenceBadge>
105
- {presenceIcon}
106
- </PersonaPrimitive.PresenceBadge>
107
- </PersonaPrimitive.Avatar>
108
-
109
- {!hideDetails && (
110
- <PersonaPrimitive.Details>
111
- <PersonaPrimitive.Label>{label || name}</PersonaPrimitive.Label>
112
- {secondaryLabel && (
113
- <PersonaPrimitive.SecondaryLabel>
114
- {secondaryLabel}
115
- </PersonaPrimitive.SecondaryLabel>
116
- )}
117
- {tertiaryLabel && (
118
- <PersonaPrimitive.TertiaryLabel>
119
- {tertiaryLabel}
120
- </PersonaPrimitive.TertiaryLabel>
121
- )}
122
- {children}
123
- </PersonaPrimitive.Details>
124
- )}
125
- </PersonaPrimitive.Root>
126
- )
127
- },
128
- )
129
-
130
- Persona.displayName = 'Persona'
131
-
132
- export interface PersonaAvatarProps
133
- extends Omit<
134
- PersonaProps,
135
- 'hideDetails' | 'label' | 'secondaryLabel' | 'tertiaryLabel' | 'children'
136
- > {}
137
-
138
- export const PersonaAvatar = React.forwardRef<
139
- HTMLDivElement,
140
- PersonaAvatarProps
141
- >(function PersonaAvatar(props, ref) {
142
- return <Persona ref={ref} {...props} hideDetails />
143
- })
@@ -1,2 +0,0 @@
1
- export { PinInput } from './pin-input.tsx'
2
- export type { PinInputProps } from './pin-input.tsx'
@@ -1,36 +0,0 @@
1
- import { forwardRef } from 'react'
2
-
3
- import { PinInput as ChakraPinInput, Group } from '@chakra-ui/react'
4
-
5
- export interface PinInputProps extends ChakraPinInput.RootProps {
6
- rootRef?: React.Ref<HTMLDivElement>
7
- pinLength?: number
8
- inputProps?: React.InputHTMLAttributes<HTMLInputElement>
9
- attached?: boolean
10
- }
11
-
12
- export const PinInput = forwardRef<HTMLInputElement, PinInputProps>(
13
- function PinInput(props, ref) {
14
- const {
15
- pinLength = 4,
16
- inputProps,
17
- rootRef,
18
- attached,
19
- gap = attached ? 0 : 2,
20
- ...rest
21
- } = props
22
-
23
- return (
24
- <ChakraPinInput.Root ref={rootRef} {...rest}>
25
- <ChakraPinInput.HiddenInput ref={ref} {...inputProps} />
26
- <ChakraPinInput.Control>
27
- <Group attached={attached} gap={gap}>
28
- {Array.from({ length: pinLength }).map((_, index) => (
29
- <ChakraPinInput.Input key={index} index={index} />
30
- ))}
31
- </Group>
32
- </ChakraPinInput.Control>
33
- </ChakraPinInput.Root>
34
- )
35
- },
36
- )
@@ -1,58 +0,0 @@
1
- import { Popover as ChakraPopover, Portal } from "@chakra-ui/react"
2
- import { CloseButton } from "compositions/ui/close-button"
3
- import { forwardRef } from "react"
4
-
5
- interface PopoverContentProps extends ChakraPopover.ContentProps {
6
- portalled?: boolean
7
- portalRef?: React.RefObject<HTMLElement>
8
- }
9
-
10
- export const PopoverContent = forwardRef<HTMLDivElement, PopoverContentProps>(
11
- function PopoverContent(props, ref) {
12
- const { portalled = true, portalRef, ...rest } = props
13
- return (
14
- <Portal disabled={!portalled} container={portalRef}>
15
- <ChakraPopover.Positioner>
16
- <ChakraPopover.Content ref={ref} {...rest} />
17
- </ChakraPopover.Positioner>
18
- </Portal>
19
- )
20
- },
21
- )
22
-
23
- export const PopoverArrow = forwardRef<
24
- HTMLDivElement,
25
- ChakraPopover.ArrowProps
26
- >(function PopoverArrow(props, ref) {
27
- return (
28
- <ChakraPopover.Arrow {...props} ref={ref}>
29
- <ChakraPopover.ArrowTip />
30
- </ChakraPopover.Arrow>
31
- )
32
- })
33
-
34
- export const PopoverCloseTrigger = forwardRef<
35
- HTMLButtonElement,
36
- ChakraPopover.CloseTriggerProps
37
- >(function PopoverCloseTrigger(props, ref) {
38
- return (
39
- <ChakraPopover.CloseTrigger
40
- position="absolute"
41
- top="1"
42
- insetEnd="1"
43
- {...props}
44
- asChild
45
- ref={ref}
46
- >
47
- <CloseButton size="sm" />
48
- </ChakraPopover.CloseTrigger>
49
- )
50
- })
51
-
52
- export const PopoverTitle = ChakraPopover.Title
53
- export const PopoverDescription = ChakraPopover.Description
54
- export const PopoverFooter = ChakraPopover.Footer
55
- export const PopoverHeader = ChakraPopover.Header
56
- export const PopoverRoot = ChakraPopover.Root
57
- export const PopoverBody = ChakraPopover.Body
58
- export const PopoverTrigger = ChakraPopover.Trigger
@@ -1,37 +0,0 @@
1
- import type { SystemStyleObject } from "@chakra-ui/react"
2
- import {
3
- AbsoluteCenter,
4
- ProgressCircle as ChakraProgressCircle,
5
- } from "@chakra-ui/react"
6
- import { forwardRef } from "react"
7
-
8
- export const ProgressCircleRoot = ChakraProgressCircle.Root
9
-
10
- interface ProgressCircleRingProps extends ChakraProgressCircle.CircleProps {
11
- trackColor?: SystemStyleObject["stroke"]
12
- cap?: SystemStyleObject["strokeLinecap"]
13
- }
14
-
15
- export const ProgressCircleRing = forwardRef<
16
- SVGSVGElement,
17
- ProgressCircleRingProps
18
- >(function ProgressCircleRing(props, ref) {
19
- const { trackColor, cap, color, ...rest } = props
20
- return (
21
- <ChakraProgressCircle.Circle {...rest} ref={ref}>
22
- <ChakraProgressCircle.Track stroke={trackColor} />
23
- <ChakraProgressCircle.Range stroke={color} strokeLinecap={cap} />
24
- </ChakraProgressCircle.Circle>
25
- )
26
- })
27
-
28
- export const ProgressCircleValueText = forwardRef<
29
- HTMLDivElement,
30
- ChakraProgressCircle.ValueTextProps
31
- >(function ProgressCircleValueText(props, ref) {
32
- return (
33
- <AbsoluteCenter>
34
- <ChakraProgressCircle.ValueText {...props} ref={ref} />
35
- </AbsoluteCenter>
36
- )
37
- })
@@ -1,40 +0,0 @@
1
- import { Progress as ChakraProgress, IconButton } from "@chakra-ui/react"
2
- import { ToggleTip } from "compositions/ui/toggle-tip"
3
- import { forwardRef } from "react"
4
- import { HiOutlineInformationCircle } from "react-icons/hi"
5
-
6
- export const ProgressBar = forwardRef<
7
- HTMLDivElement,
8
- ChakraProgress.TrackProps
9
- >(function ProgressBar(props, ref) {
10
- return (
11
- <ChakraProgress.Track {...props} ref={ref}>
12
- <ChakraProgress.Range />
13
- </ChakraProgress.Track>
14
- )
15
- })
16
-
17
- export const ProgressRoot = ChakraProgress.Root
18
- export const ProgressValueText = ChakraProgress.ValueText
19
-
20
- export interface ProgressLabelProps extends ChakraProgress.LabelProps {
21
- info?: React.ReactNode
22
- }
23
-
24
- export const ProgressLabel = forwardRef<HTMLDivElement, ProgressLabelProps>(
25
- function ProgressLabel(props, ref) {
26
- const { children, info, ...rest } = props
27
- return (
28
- <ChakraProgress.Label {...rest} ref={ref}>
29
- {children}
30
- {info && (
31
- <ToggleTip content={info}>
32
- <IconButton variant="ghost" aria-label="info" size="2xs" ms="1">
33
- <HiOutlineInformationCircle />
34
- </IconButton>
35
- </ToggleTip>
36
- )}
37
- </ChakraProgress.Label>
38
- )
39
- },
40
- )
@@ -1,264 +0,0 @@
1
- "use client"
2
-
3
- import { chakra } from "@chakra-ui/react"
4
-
5
- export const Prose = chakra("div", {
6
- base: {
7
- color: "fg.muted",
8
- maxWidth: "65ch",
9
- fontSize: "sm",
10
- lineHeight: "1.7em",
11
- "& p": {
12
- marginTop: "1em",
13
- marginBottom: "1em",
14
- },
15
- "& blockquote": {
16
- marginTop: "1.285em",
17
- marginBottom: "1.285em",
18
- paddingInline: "1.285em",
19
- borderInlineStartWidth: "0.25em",
20
- },
21
- "& a": {
22
- color: "fg",
23
- textDecoration: "underline",
24
- textUnderlineOffset: "3px",
25
- textDecorationThickness: "2px",
26
- textDecorationColor: "border.muted",
27
- fontWeight: "500",
28
- },
29
- "& strong": {
30
- fontWeight: "600",
31
- },
32
- "& a strong": {
33
- color: "inherit",
34
- },
35
- "& h1": {
36
- fontSize: "2.15em",
37
- letterSpacing: "-0.02em",
38
- marginTop: "0",
39
- marginBottom: "0.8em",
40
- lineHeight: "1.2em",
41
- },
42
- "& h2": {
43
- fontSize: "1.4em",
44
- letterSpacing: "-0.02em",
45
- marginTop: "1.6em",
46
- marginBottom: "0.8em",
47
- lineHeight: "1.4em",
48
- },
49
- "& h3": {
50
- fontSize: "1.285em",
51
- letterSpacing: "-0.01em",
52
- marginTop: "1.5em",
53
- marginBottom: "0.4em",
54
- lineHeight: "1.5em",
55
- },
56
- "& h4": {
57
- marginTop: "1.4em",
58
- marginBottom: "0.5em",
59
- letterSpacing: "-0.01em",
60
- lineHeight: "1.5em",
61
- },
62
- "& img": {
63
- marginTop: "1.7em",
64
- marginBottom: "1.7em",
65
- borderRadius: "lg",
66
- boxShadow: "inset",
67
- },
68
- "& picture": {
69
- marginTop: "1.7em",
70
- marginBottom: "1.7em",
71
- },
72
- "& picture > img": {
73
- marginTop: "0",
74
- marginBottom: "0",
75
- },
76
- "& video": {
77
- marginTop: "1.7em",
78
- marginBottom: "1.7em",
79
- },
80
- "& kbd": {
81
- fontSize: "0.85em",
82
- borderRadius: "xs",
83
- paddingTop: "0.15em",
84
- paddingBottom: "0.15em",
85
- paddingInlineEnd: "0.35em",
86
- paddingInlineStart: "0.35em",
87
- fontFamily: "inherit",
88
- color: "fg.muted",
89
- "--shadow": "colors.border",
90
- boxShadow: "0 0 0 1px var(--shadow),0 1px 0 1px var(--shadow)",
91
- },
92
- "& code": {
93
- fontSize: "0.925em",
94
- letterSpacing: "-0.01em",
95
- borderRadius: "md",
96
- borderWidth: "1px",
97
- padding: "0.25em",
98
- },
99
- "& pre code": {
100
- fontSize: "inherit",
101
- letterSpacing: "inherit",
102
- borderWidth: "inherit",
103
- padding: "0",
104
- },
105
- "& h2 code": {
106
- fontSize: "0.9em",
107
- },
108
- "& h3 code": {
109
- fontSize: "0.8em",
110
- },
111
- "& pre": {
112
- backgroundColor: "bg.subtle",
113
- marginTop: "1.6em",
114
- marginBottom: "1.6em",
115
- borderRadius: "md",
116
- fontSize: "0.9em",
117
- paddingTop: "0.65em",
118
- paddingBottom: "0.65em",
119
- paddingInlineEnd: "1em",
120
- paddingInlineStart: "1em",
121
- overflowX: "auto",
122
- fontWeight: "400",
123
- },
124
- "& ol": {
125
- marginTop: "1em",
126
- marginBottom: "1em",
127
- paddingInlineStart: "1.5em",
128
- },
129
- "& ul": {
130
- marginTop: "1em",
131
- marginBottom: "1em",
132
- paddingInlineStart: "1.5em",
133
- },
134
- "& li": {
135
- marginTop: "0.285em",
136
- marginBottom: "0.285em",
137
- },
138
- "& ol > li": {
139
- paddingInlineStart: "0.4em",
140
- listStyleType: "decimal",
141
- "&::marker": {
142
- color: "fg.muted",
143
- },
144
- },
145
- "& ul > li": {
146
- paddingInlineStart: "0.4em",
147
- listStyleType: "disc",
148
- "&::marker": {
149
- color: "fg.muted",
150
- },
151
- },
152
- "& > ul > li p": {
153
- marginTop: "0.5em",
154
- marginBottom: "0.5em",
155
- },
156
- "& > ul > li > p:first-of-type": {
157
- marginTop: "1em",
158
- },
159
- "& > ul > li > p:last-of-type": {
160
- marginBottom: "1em",
161
- },
162
- "& > ol > li > p:first-of-type": {
163
- marginTop: "1em",
164
- },
165
- "& > ol > li > p:last-of-type": {
166
- marginBottom: "1em",
167
- },
168
- "& ul ul, ul ol, ol ul, ol ol": {
169
- marginTop: "0.5em",
170
- marginBottom: "0.5em",
171
- },
172
- "& dl": {
173
- marginTop: "1em",
174
- marginBottom: "1em",
175
- },
176
- "& dt": {
177
- fontWeight: "600",
178
- marginTop: "1em",
179
- },
180
- "& dd": {
181
- marginTop: "0.285em",
182
- paddingInlineStart: "1.5em",
183
- },
184
- "& hr": {
185
- marginTop: "2.25em",
186
- marginBottom: "2.25em",
187
- },
188
- "& :is(h1,h2,h3,h4,h5,hr) + *": {
189
- marginTop: "0",
190
- },
191
- "& table": {
192
- width: "100%",
193
- tableLayout: "auto",
194
- textAlign: "start",
195
- lineHeight: "1.5em",
196
- marginTop: "2em",
197
- marginBottom: "2em",
198
- },
199
- "& thead": {
200
- borderBottomWidth: "1px",
201
- color: "fg",
202
- },
203
- "& tbody tr": {
204
- borderBottomWidth: "1px",
205
- borderBottomColor: "border",
206
- },
207
- "& thead th": {
208
- paddingInlineEnd: "1em",
209
- paddingBottom: "0.65em",
210
- paddingInlineStart: "1em",
211
- fontWeight: "medium",
212
- textAlign: "start",
213
- },
214
- "& thead th:first-of-type": {
215
- paddingInlineStart: "0",
216
- },
217
- "& thead th:last-of-type": {
218
- paddingInlineEnd: "0",
219
- },
220
- "& tbody td, tfoot td": {
221
- paddingTop: "0.65em",
222
- paddingInlineEnd: "1em",
223
- paddingBottom: "0.65em",
224
- paddingInlineStart: "1em",
225
- },
226
- "& tbody td:first-of-type, tfoot td:first-of-type": {
227
- paddingInlineStart: "0",
228
- },
229
- "& tbody td:last-of-type, tfoot td:last-of-type": {
230
- paddingInlineEnd: "0",
231
- },
232
- "& figure": {
233
- marginTop: "1.625em",
234
- marginBottom: "1.625em",
235
- },
236
- "& figure > *": {
237
- marginTop: "0",
238
- marginBottom: "0",
239
- },
240
- "& figcaption": {
241
- fontSize: "0.85em",
242
- lineHeight: "1.25em",
243
- marginTop: "0.85em",
244
- color: "fg.muted",
245
- },
246
- "& h1, h2, h3, h4": {
247
- color: "fg",
248
- fontWeight: "600",
249
- },
250
- },
251
- variants: {
252
- size: {
253
- md: {
254
- fontSize: "sm",
255
- },
256
- lg: {
257
- fontSize: "md",
258
- },
259
- },
260
- },
261
- defaultVariants: {
262
- size: "md",
263
- },
264
- })
@@ -1,12 +0,0 @@
1
- "use client"
2
-
3
- import { ChakraProvider, defaultSystem } from "@chakra-ui/react"
4
- import { ColorModeProvider } from "compositions/ui/color-mode"
5
-
6
- export function Provider(props: React.PropsWithChildren) {
7
- return (
8
- <ChakraProvider value={defaultSystem}>
9
- <ColorModeProvider>{props.children}</ColorModeProvider>
10
- </ChakraProvider>
11
- )
12
- }
@@ -1,2 +0,0 @@
1
- export { Radio, RadioGroup } from './radio'
2
- export type { RadioProps, RadioGroupProps } from './radio'