@askrjs/themes 0.0.9 → 0.0.10

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 (472) hide show
  1. package/README.md +19 -13
  2. package/THEMING.md +24 -18
  3. package/dist/components/_internal/block-layout.d.ts +49 -0
  4. package/dist/components/_internal/block-layout.js +210 -0
  5. package/dist/components/_internal/block-layout.js.map +1 -0
  6. package/dist/components/alert/alert.js +2 -2
  7. package/dist/components/alert/alert.js.map +1 -1
  8. package/dist/components/alert/alert.types.d.ts +0 -1
  9. package/dist/components/aside/aside.d.ts +7 -0
  10. package/dist/components/aside/aside.js +16 -0
  11. package/dist/components/aside/aside.js.map +1 -0
  12. package/dist/components/aside/aside.types.d.ts +6 -0
  13. package/dist/components/aside/index.d.ts +2 -0
  14. package/dist/components/aspect-ratio/aspect-ratio.js +1 -1
  15. package/dist/components/aspect-ratio/aspect-ratio.js.map +1 -1
  16. package/dist/components/badge/index.d.ts +1 -2
  17. package/dist/components/block/block.d.ts +2 -3
  18. package/dist/components/block/block.js +16 -46
  19. package/dist/components/block/block.js.map +1 -1
  20. package/dist/components/block/block.types.d.ts +13 -23
  21. package/dist/components/block/index.d.ts +3 -3
  22. package/dist/components/brand/brand.d.ts +9 -0
  23. package/dist/components/brand/brand.js +49 -0
  24. package/dist/components/brand/brand.js.map +1 -0
  25. package/dist/components/brand/brand.types.d.ts +31 -0
  26. package/dist/components/brand/index.d.ts +2 -0
  27. package/dist/components/card/card.d.ts +3 -3
  28. package/dist/components/card/card.js +6 -11
  29. package/dist/components/card/card.js.map +1 -1
  30. package/dist/components/card/card.types.d.ts +10 -12
  31. package/dist/components/card/index.d.ts +2 -2
  32. package/dist/components/catalog.d.ts +156 -0
  33. package/dist/components/catalog.js +723 -0
  34. package/dist/components/catalog.js.map +1 -0
  35. package/dist/components/container/container.d.ts +2 -3
  36. package/dist/components/container/container.js +8 -71
  37. package/dist/components/container/container.js.map +1 -1
  38. package/dist/components/container/container.types.d.ts +5 -24
  39. package/dist/components/container/index.d.ts +2 -3
  40. package/dist/components/empty-state/empty-state.js +34 -28
  41. package/dist/components/empty-state/empty-state.js.map +1 -1
  42. package/dist/components/empty-state/empty-state.types.d.ts +3 -6
  43. package/dist/components/field/field.js +4 -2
  44. package/dist/components/field/field.js.map +1 -1
  45. package/dist/components/field/field.types.d.ts +1 -0
  46. package/dist/components/footer/footer.d.ts +13 -0
  47. package/dist/components/footer/footer.js +86 -0
  48. package/dist/components/footer/footer.js.map +1 -0
  49. package/dist/components/footer/footer.types.d.ts +37 -0
  50. package/dist/components/footer/index.d.ts +2 -0
  51. package/dist/components/grid/grid.d.ts +7 -0
  52. package/dist/components/grid/grid.js +76 -0
  53. package/dist/components/grid/grid.js.map +1 -0
  54. package/dist/components/grid/grid.types.d.ts +19 -0
  55. package/dist/components/grid/index.d.ts +2 -0
  56. package/dist/components/header/header.js +9 -6
  57. package/dist/components/header/header.js.map +1 -1
  58. package/dist/components/header/header.types.d.ts +5 -5
  59. package/dist/components/header/index.d.ts +2 -0
  60. package/dist/components/main/index.d.ts +2 -0
  61. package/dist/components/main/main.d.ts +7 -0
  62. package/dist/components/main/main.js +17 -0
  63. package/dist/components/main/main.js.map +1 -0
  64. package/dist/components/main/main.types.d.ts +6 -0
  65. package/dist/components/nav/index.d.ts +2 -2
  66. package/dist/components/nav/nav.d.ts +8 -6
  67. package/dist/components/nav/nav.js +93 -58
  68. package/dist/components/nav/nav.js.map +1 -1
  69. package/dist/components/nav/nav.types.d.ts +16 -20
  70. package/dist/components/navbar/index.d.ts +4 -5
  71. package/dist/components/navbar/navbar.d.ts +3 -38
  72. package/dist/components/navbar/navbar.js +103 -210
  73. package/dist/components/navbar/navbar.js.map +1 -1
  74. package/dist/components/navbar/navbar.types.d.ts +14 -24
  75. package/dist/components/page/index.d.ts +2 -0
  76. package/dist/components/page/page.d.ts +7 -0
  77. package/dist/components/page/page.js +22 -0
  78. package/dist/components/page/page.js.map +1 -0
  79. package/dist/components/page/page.types.d.ts +6 -0
  80. package/dist/components/page-header/index.d.ts +2 -0
  81. package/dist/components/page-header/page-header.d.ts +7 -0
  82. package/dist/components/page-header/page-header.js +37 -0
  83. package/dist/components/page-header/page-header.js.map +1 -0
  84. package/dist/components/page-header/page-header.types.d.ts +10 -0
  85. package/dist/components/section/index.d.ts +2 -3
  86. package/dist/components/section/section.d.ts +2 -3
  87. package/dist/components/section/section.js +7 -30
  88. package/dist/components/section/section.js.map +1 -1
  89. package/dist/components/section/section.types.d.ts +3 -20
  90. package/dist/components/separator/index.d.ts +1 -2
  91. package/dist/components/sidebar/index.d.ts +2 -0
  92. package/dist/components/sidebar/sidebar.d.ts +17 -2
  93. package/dist/components/sidebar/sidebar.js +115 -225
  94. package/dist/components/sidebar/sidebar.js.map +1 -1
  95. package/dist/components/sidebar/sidebar.types.d.ts +21 -23
  96. package/dist/components/skeleton/index.d.ts +1 -2
  97. package/dist/components/skeleton/skeleton.js +12 -1
  98. package/dist/components/skeleton/skeleton.js.map +1 -1
  99. package/dist/components/skeleton/skeleton.types.d.ts +2 -0
  100. package/dist/components/spinner/index.d.ts +1 -1
  101. package/dist/components/spinner/spinner.js +6 -3
  102. package/dist/components/spinner/spinner.js.map +1 -1
  103. package/dist/components/spinner/spinner.types.d.ts +3 -1
  104. package/dist/components/stat/index.d.ts +2 -0
  105. package/dist/components/stat/stat.d.ts +10 -0
  106. package/dist/components/stat/stat.js +52 -0
  107. package/dist/components/stat/stat.js.map +1 -0
  108. package/dist/components/stat/stat.types.d.ts +24 -0
  109. package/dist/components/text/index.d.ts +2 -0
  110. package/dist/components/text/text.d.ts +7 -0
  111. package/dist/components/text/text.js +28 -0
  112. package/dist/components/text/text.js.map +1 -0
  113. package/dist/components/text/text.types.d.ts +26 -0
  114. package/dist/components/theme/theme.js +50 -8
  115. package/dist/components/theme/theme.js.map +1 -1
  116. package/dist/components/toolbar/index.d.ts +2 -0
  117. package/dist/components/toolbar/toolbar.d.ts +7 -0
  118. package/dist/components/toolbar/toolbar.js +30 -0
  119. package/dist/components/toolbar/toolbar.js.map +1 -0
  120. package/dist/components/toolbar/toolbar.types.d.ts +9 -0
  121. package/dist/components.d.ts +60 -0
  122. package/dist/components.js +35 -0
  123. package/dist/controls.d.ts +2 -2
  124. package/dist/controls.js +3 -3
  125. package/dist/core.d.ts +36 -0
  126. package/dist/core.js +19 -0
  127. package/dist/navs.d.ts +3 -15
  128. package/dist/navs.js +2 -8
  129. package/dist/overlays.d.ts +2 -2
  130. package/dist/overlays.js +2 -2
  131. package/dist/surfaces.d.ts +10 -8
  132. package/dist/surfaces.js +6 -4
  133. package/dist/themes/default/index.css +3661 -3945
  134. package/package.json +235 -69
  135. package/src/components/_internal/block-layout.ts +354 -0
  136. package/src/components/alert/alert.tsx +1 -2
  137. package/src/components/alert/alert.types.ts +0 -1
  138. package/src/components/aside/aside.tsx +12 -0
  139. package/src/components/aside/aside.types.ts +3 -0
  140. package/src/components/aside/index.ts +2 -0
  141. package/src/components/aspect-ratio/aspect-ratio.tsx +1 -1
  142. package/src/components/badge/index.ts +0 -1
  143. package/src/components/block/block.a11y.ts +0 -6
  144. package/src/components/block/block.tsx +40 -56
  145. package/src/components/block/block.types.ts +59 -41
  146. package/src/components/block/index.ts +1 -10
  147. package/src/components/brand/brand.tsx +61 -0
  148. package/src/components/brand/brand.types.ts +39 -0
  149. package/src/components/brand/index.ts +2 -0
  150. package/src/components/card/card.tsx +6 -18
  151. package/src/components/card/card.types.ts +9 -11
  152. package/src/components/card/index.ts +2 -3
  153. package/src/components/catalog.tsx +713 -0
  154. package/src/components/container/container.a11y.ts +0 -5
  155. package/src/components/container/container.tsx +18 -128
  156. package/src/components/container/container.types.ts +3 -32
  157. package/src/components/container/index.ts +1 -8
  158. package/src/components/empty-state/empty-state.tsx +17 -35
  159. package/src/components/empty-state/empty-state.types.ts +3 -5
  160. package/src/components/field/field.tsx +3 -1
  161. package/src/components/field/field.types.ts +1 -0
  162. package/src/components/footer/footer.tsx +88 -0
  163. package/src/components/footer/footer.types.ts +40 -0
  164. package/src/components/footer/index.ts +10 -0
  165. package/src/components/grid/grid.tsx +113 -0
  166. package/src/components/grid/grid.types.ts +20 -0
  167. package/src/components/grid/index.ts +2 -0
  168. package/src/components/header/header.tsx +10 -7
  169. package/src/components/header/header.types.ts +4 -4
  170. package/src/components/header/index.ts +1 -2
  171. package/src/components/main/index.ts +2 -0
  172. package/src/components/main/main.tsx +12 -0
  173. package/src/components/main/main.types.ts +3 -0
  174. package/src/components/nav/index.ts +7 -9
  175. package/src/components/nav/nav.tsx +153 -110
  176. package/src/components/nav/nav.types.ts +26 -27
  177. package/src/components/navbar/index.ts +4 -11
  178. package/src/components/navbar/navbar.tsx +103 -265
  179. package/src/components/navbar/navbar.types.ts +16 -42
  180. package/src/components/page/index.ts +2 -0
  181. package/src/components/page/page.tsx +17 -0
  182. package/src/components/page/page.types.ts +3 -0
  183. package/src/components/page-header/index.ts +2 -0
  184. package/src/components/page-header/page-header.tsx +29 -0
  185. package/src/components/page-header/page-header.types.ts +7 -0
  186. package/src/components/section/index.ts +1 -7
  187. package/src/components/section/section.a11y.ts +0 -1
  188. package/src/components/section/section.tsx +9 -35
  189. package/src/components/section/section.types.ts +2 -22
  190. package/src/components/separator/index.ts +4 -9
  191. package/src/components/sidebar/index.ts +27 -5
  192. package/src/components/sidebar/sidebar.tsx +146 -336
  193. package/src/components/sidebar/sidebar.types.ts +21 -28
  194. package/src/components/skeleton/index.ts +1 -2
  195. package/src/components/skeleton/skeleton.tsx +33 -1
  196. package/src/components/skeleton/skeleton.types.ts +2 -0
  197. package/src/components/spinner/index.ts +1 -1
  198. package/src/components/spinner/spinner.tsx +7 -2
  199. package/src/components/spinner/spinner.types.ts +3 -0
  200. package/src/components/stat/index.ts +2 -0
  201. package/src/components/stat/stat.tsx +47 -0
  202. package/src/components/stat/stat.types.ts +24 -0
  203. package/src/components/text/index.ts +2 -0
  204. package/src/components/text/text.tsx +39 -0
  205. package/src/components/text/text.types.ts +35 -0
  206. package/src/components/theme/theme.tsx +83 -9
  207. package/src/components/toolbar/index.ts +2 -0
  208. package/src/components/toolbar/toolbar.tsx +24 -0
  209. package/src/components/toolbar/toolbar.types.ts +6 -0
  210. package/src/components.ts +289 -0
  211. package/src/controls.ts +69 -2
  212. package/src/core.ts +42 -0
  213. package/src/navs.ts +9 -24
  214. package/src/overlays.ts +101 -59
  215. package/src/parity.ts +125 -0
  216. package/src/surfaces.ts +60 -13
  217. package/src/themes/default/index.css +11 -14
  218. package/src/themes/default/styles/actions/button-group.css +6 -6
  219. package/src/themes/default/styles/actions/button.css +98 -60
  220. package/src/themes/default/styles/actions/toggle-group.css +61 -25
  221. package/src/themes/default/styles/base/text.css +87 -0
  222. package/src/themes/default/styles/base/typography.css +24 -117
  223. package/src/themes/default/styles/base/utilities.css +0 -250
  224. package/src/themes/default/styles/disclosure/accordion.css +35 -28
  225. package/src/themes/default/styles/display/alert.css +7 -7
  226. package/src/themes/default/styles/display/badge.css +8 -9
  227. package/src/themes/default/styles/display/card.css +10 -47
  228. package/src/themes/default/styles/display/catalog.css +753 -0
  229. package/src/themes/default/styles/display/coverage.css +30 -305
  230. package/src/themes/default/styles/display/progress-circle.css +2 -0
  231. package/src/themes/default/styles/display/scroll-area.css +29 -24
  232. package/src/themes/default/styles/display/spinner.css +38 -1
  233. package/src/themes/default/styles/display/stat.css +21 -0
  234. package/src/themes/default/styles/display/table.css +37 -12
  235. package/src/themes/default/styles/display/virtual-list.css +24 -13
  236. package/src/themes/default/styles/display/virtual-table.css +58 -36
  237. package/src/themes/default/styles/forms/checkbox.css +12 -21
  238. package/src/themes/default/styles/forms/input-group.css +2 -1
  239. package/src/themes/default/styles/forms/input.css +11 -12
  240. package/src/themes/default/styles/forms/radio-group.css +44 -27
  241. package/src/themes/default/styles/forms/select.css +27 -35
  242. package/src/themes/default/styles/forms/slider.css +61 -47
  243. package/src/themes/default/styles/forms/switch.css +18 -23
  244. package/src/themes/default/styles/forms/textarea.css +12 -12
  245. package/src/themes/default/styles/layout/block.css +96 -12
  246. package/src/themes/default/styles/layout/grid.css +78 -0
  247. package/src/themes/default/styles/layout/layout.css +502 -772
  248. package/src/themes/default/styles/layout/patterns.css +0 -155
  249. package/src/themes/default/styles/navigation/nav.css +104 -154
  250. package/src/themes/default/styles/overlays/alert-dialog.css +2 -2
  251. package/src/themes/default/styles/overlays/dialog.css +76 -22
  252. package/src/themes/default/styles/overlays/dropdown.css +108 -31
  253. package/src/themes/default/styles/overlays/hover-card.css +39 -17
  254. package/src/themes/default/styles/overlays/menubar.css +223 -0
  255. package/src/themes/default/styles/overlays/popover.css +69 -23
  256. package/src/themes/default/styles/overlays/toast.css +91 -33
  257. package/src/themes/default/styles/overlays/tooltip.css +88 -14
  258. package/src/themes/default/styles/shell/brand.css +48 -0
  259. package/src/themes/default/styles/shell/footer.css +72 -0
  260. package/src/themes/default/styles/shell/header.css +7 -50
  261. package/src/themes/default/styles/shell/navbar.css +226 -454
  262. package/src/themes/default/styles/shell/sidebar.css +243 -829
  263. package/src/themes/default/tokens.css +145 -98
  264. package/templates/theme/index.css +11 -14
  265. package/templates/theme/styles/actions/button-group.css +6 -6
  266. package/templates/theme/styles/actions/button.css +98 -60
  267. package/templates/theme/styles/actions/toggle-group.css +61 -25
  268. package/templates/theme/styles/base/text.css +87 -0
  269. package/templates/theme/styles/base/typography.css +24 -117
  270. package/templates/theme/styles/disclosure/accordion.css +35 -28
  271. package/templates/theme/styles/display/alert.css +7 -7
  272. package/templates/theme/styles/display/badge.css +8 -9
  273. package/templates/theme/styles/display/card.css +10 -47
  274. package/templates/theme/styles/display/catalog.css +753 -0
  275. package/templates/theme/styles/display/coverage.css +30 -305
  276. package/templates/theme/styles/display/scroll-area.css +29 -24
  277. package/templates/theme/styles/display/spinner.css +38 -1
  278. package/templates/theme/styles/display/stat.css +21 -0
  279. package/templates/theme/styles/display/table.css +37 -12
  280. package/templates/theme/styles/display/virtual-list.css +24 -13
  281. package/templates/theme/styles/display/virtual-table.css +58 -36
  282. package/templates/theme/styles/forms/checkbox.css +12 -21
  283. package/templates/theme/styles/forms/input.css +11 -12
  284. package/templates/theme/styles/forms/radio-group.css +44 -27
  285. package/templates/theme/styles/forms/select.css +27 -35
  286. package/templates/theme/styles/forms/slider.css +61 -47
  287. package/templates/theme/styles/forms/switch.css +18 -23
  288. package/templates/theme/styles/forms/textarea.css +12 -12
  289. package/templates/theme/styles/layout/block.css +96 -12
  290. package/templates/theme/styles/layout/grid.css +78 -0
  291. package/templates/theme/styles/layout/layout.css +676 -1
  292. package/templates/theme/styles/layout/patterns.css +0 -155
  293. package/templates/theme/styles/navigation/nav.css +104 -154
  294. package/templates/theme/styles/overlays/alert-dialog.css +2 -2
  295. package/templates/theme/styles/overlays/dialog.css +76 -22
  296. package/templates/theme/styles/overlays/dropdown.css +108 -31
  297. package/templates/theme/styles/overlays/hover-card.css +39 -17
  298. package/templates/theme/styles/overlays/menubar.css +223 -0
  299. package/templates/theme/styles/overlays/popover.css +69 -23
  300. package/templates/theme/styles/overlays/toast.css +80 -33
  301. package/templates/theme/styles/overlays/tooltip.css +88 -14
  302. package/templates/theme/styles/shell/brand.css +48 -0
  303. package/templates/theme/styles/shell/footer.css +72 -0
  304. package/templates/theme/styles/shell/header.css +7 -50
  305. package/templates/theme/styles/shell/navbar.css +226 -454
  306. package/templates/theme/styles/shell/sidebar.css +197 -779
  307. package/templates/theme/tokens.css +145 -98
  308. package/dist/components/_internal/box-layout.js +0 -116
  309. package/dist/components/_internal/box-layout.js.map +0 -1
  310. package/dist/components/_internal/layout.d.ts +0 -9
  311. package/dist/components/_internal/layout.js +0 -142
  312. package/dist/components/_internal/layout.js.map +0 -1
  313. package/dist/components/badge/badge.a11y.d.ts +0 -17
  314. package/dist/components/block/block.a11y.d.ts +0 -20
  315. package/dist/components/box/box.a11y.d.ts +0 -14
  316. package/dist/components/box/box.d.ts +0 -9
  317. package/dist/components/box/box.js +0 -36
  318. package/dist/components/box/box.js.map +0 -1
  319. package/dist/components/box/box.types.d.ts +0 -72
  320. package/dist/components/box/index.d.ts +0 -3
  321. package/dist/components/breadcrumb/breadcrumb.a11y.d.ts +0 -17
  322. package/dist/components/breadcrumb/breadcrumb.a11y.js +0 -15
  323. package/dist/components/breadcrumb/breadcrumb.a11y.js.map +0 -1
  324. package/dist/components/breadcrumb/breadcrumb.d.ts +0 -18
  325. package/dist/components/breadcrumb/breadcrumb.js +0 -113
  326. package/dist/components/breadcrumb/breadcrumb.js.map +0 -1
  327. package/dist/components/breadcrumb/breadcrumb.types.d.ts +0 -65
  328. package/dist/components/breadcrumb/index.d.ts +0 -3
  329. package/dist/components/container/container.a11y.d.ts +0 -19
  330. package/dist/components/flex/flex.a11y.d.ts +0 -22
  331. package/dist/components/flex/flex.d.ts +0 -9
  332. package/dist/components/flex/flex.js +0 -115
  333. package/dist/components/flex/flex.js.map +0 -1
  334. package/dist/components/flex/flex.types.d.ts +0 -42
  335. package/dist/components/flex/index.d.ts +0 -3
  336. package/dist/components/header/header.a11y.d.ts +0 -14
  337. package/dist/components/header/header.a11y.js +0 -12
  338. package/dist/components/header/header.a11y.js.map +0 -1
  339. package/dist/components/inline/index.d.ts +0 -8
  340. package/dist/components/inline/index.js +0 -13
  341. package/dist/components/inline/index.js.map +0 -1
  342. package/dist/components/list-group/index.d.ts +0 -2
  343. package/dist/components/list-group/list-group.d.ts +0 -9
  344. package/dist/components/list-group/list-group.js +0 -43
  345. package/dist/components/list-group/list-group.js.map +0 -1
  346. package/dist/components/list-group/list-group.types.d.ts +0 -32
  347. package/dist/components/navbar/navbar-panel.js +0 -42
  348. package/dist/components/navbar/navbar-panel.js.map +0 -1
  349. package/dist/components/navbar/navbar.context.js +0 -13
  350. package/dist/components/navbar/navbar.context.js.map +0 -1
  351. package/dist/components/navbar/navbar.render.js +0 -26
  352. package/dist/components/navbar/navbar.render.js.map +0 -1
  353. package/dist/components/navbar/navbar.shared.js +0 -18
  354. package/dist/components/navbar/navbar.shared.js.map +0 -1
  355. package/dist/components/pagination/index.d.ts +0 -2
  356. package/dist/components/pagination/pagination.d.ts +0 -11
  357. package/dist/components/pagination/pagination.js +0 -95
  358. package/dist/components/pagination/pagination.js.map +0 -1
  359. package/dist/components/pagination/pagination.types.d.ts +0 -40
  360. package/dist/components/section/section.a11y.d.ts +0 -15
  361. package/dist/components/separator/separator.a11y.d.ts +0 -17
  362. package/dist/components/separator/separator.a11y.js +0 -15
  363. package/dist/components/separator/separator.a11y.js.map +0 -1
  364. package/dist/components/shell/index.d.ts +0 -3
  365. package/dist/components/shell/shell-nav.types.d.ts +0 -7
  366. package/dist/components/shell/shell-panel.js +0 -54
  367. package/dist/components/shell/shell-panel.js.map +0 -1
  368. package/dist/components/shell/shell-responsive.js +0 -141
  369. package/dist/components/shell/shell-responsive.js.map +0 -1
  370. package/dist/components/shell/shell.a11y.d.ts +0 -23
  371. package/dist/components/shell/shell.a11y.js +0 -23
  372. package/dist/components/shell/shell.a11y.js.map +0 -1
  373. package/dist/components/shell/shell.d.ts +0 -13
  374. package/dist/components/shell/shell.js +0 -69
  375. package/dist/components/shell/shell.js.map +0 -1
  376. package/dist/components/shell/shell.types.d.ts +0 -58
  377. package/dist/components/sidebar/sidebar-panel.d.ts +0 -7
  378. package/dist/components/sidebar/sidebar-panel.js +0 -49
  379. package/dist/components/sidebar/sidebar-panel.js.map +0 -1
  380. package/dist/components/sidebar/sidebar-toggle.d.ts +0 -7
  381. package/dist/components/sidebar/sidebar-toggle.js +0 -8
  382. package/dist/components/sidebar/sidebar-toggle.js.map +0 -1
  383. package/dist/components/sidebar/sidebar.context.js +0 -21
  384. package/dist/components/sidebar/sidebar.context.js.map +0 -1
  385. package/dist/components/sidebar/sidebar.shared.js +0 -12
  386. package/dist/components/sidebar/sidebar.shared.js.map +0 -1
  387. package/dist/components/skeleton/skeleton.a11y.d.ts +0 -16
  388. package/dist/components/spacer/index.d.ts +0 -3
  389. package/dist/components/spacer/spacer.a11y.d.ts +0 -17
  390. package/dist/components/spacer/spacer.d.ts +0 -8
  391. package/dist/components/spacer/spacer.js +0 -49
  392. package/dist/components/spacer/spacer.js.map +0 -1
  393. package/dist/components/spacer/spacer.types.d.ts +0 -26
  394. package/dist/components/stack/index.d.ts +0 -3
  395. package/dist/components/stack/stack.a11y.d.ts +0 -18
  396. package/dist/components/stack/stack.d.ts +0 -8
  397. package/dist/components/stack/stack.js +0 -16
  398. package/dist/components/stack/stack.js.map +0 -1
  399. package/dist/components/stack/stack.types.d.ts +0 -22
  400. package/dist/feedback.d.ts +0 -5
  401. package/dist/feedback.js +0 -4
  402. package/dist/layouts.d.ts +0 -25
  403. package/dist/layouts.js +0 -11
  404. package/dist/shells.d.ts +0 -16
  405. package/dist/shells.js +0 -11
  406. package/src/components/_internal/box-layout.ts +0 -164
  407. package/src/components/_internal/layout.ts +0 -202
  408. package/src/components/box/box.a11y.ts +0 -11
  409. package/src/components/box/box.tsx +0 -38
  410. package/src/components/box/box.types.ts +0 -76
  411. package/src/components/box/index.ts +0 -11
  412. package/src/components/breadcrumb/breadcrumb.a11y.ts +0 -15
  413. package/src/components/breadcrumb/breadcrumb.tsx +0 -123
  414. package/src/components/breadcrumb/breadcrumb.types.ts +0 -74
  415. package/src/components/breadcrumb/index.ts +0 -24
  416. package/src/components/flex/flex.a11y.ts +0 -19
  417. package/src/components/flex/flex.tsx +0 -162
  418. package/src/components/flex/flex.types.ts +0 -51
  419. package/src/components/flex/index.ts +0 -16
  420. package/src/components/inline/index.tsx +0 -28
  421. package/src/components/list-group/index.ts +0 -7
  422. package/src/components/list-group/list-group.tsx +0 -74
  423. package/src/components/list-group/list-group.types.ts +0 -32
  424. package/src/components/navbar/navbar-panel.tsx +0 -62
  425. package/src/components/navbar/navbar.context.ts +0 -22
  426. package/src/components/navbar/navbar.render.tsx +0 -32
  427. package/src/components/navbar/navbar.shared.ts +0 -21
  428. package/src/components/pagination/index.ts +0 -8
  429. package/src/components/pagination/pagination.tsx +0 -158
  430. package/src/components/pagination/pagination.types.ts +0 -41
  431. package/src/components/shell/index.ts +0 -16
  432. package/src/components/shell/shell-nav.types.ts +0 -3
  433. package/src/components/shell/shell-panel.tsx +0 -85
  434. package/src/components/shell/shell-responsive.tsx +0 -262
  435. package/src/components/shell/shell.a11y.ts +0 -20
  436. package/src/components/shell/shell.tsx +0 -74
  437. package/src/components/shell/shell.types.ts +0 -71
  438. package/src/components/sidebar/sidebar-panel.tsx +0 -67
  439. package/src/components/sidebar/sidebar-toggle.tsx +0 -5
  440. package/src/components/sidebar/sidebar.context.ts +0 -40
  441. package/src/components/sidebar/sidebar.shared.ts +0 -12
  442. package/src/components/spacer/index.ts +0 -9
  443. package/src/components/spacer/spacer.a11y.ts +0 -14
  444. package/src/components/spacer/spacer.tsx +0 -61
  445. package/src/components/spacer/spacer.types.ts +0 -31
  446. package/src/components/stack/index.ts +0 -3
  447. package/src/components/stack/stack.a11y.ts +0 -15
  448. package/src/components/stack/stack.tsx +0 -13
  449. package/src/components/stack/stack.types.ts +0 -22
  450. package/src/feedback.ts +0 -6
  451. package/src/layouts.ts +0 -19
  452. package/src/shells.ts +0 -13
  453. package/src/themes/default/styles/actions/toggle.css +0 -50
  454. package/src/themes/default/styles/disclosure/collapsible.css +0 -58
  455. package/src/themes/default/styles/display/list-group.css +0 -84
  456. package/src/themes/default/styles/forms/form.css +0 -5
  457. package/src/themes/default/styles/layout/responsive-layout.css +0 -230
  458. package/src/themes/default/styles/navigation/breadcrumb.css +0 -45
  459. package/src/themes/default/styles/navigation/menu.css +0 -203
  460. package/src/themes/default/styles/navigation/menubar.css +0 -255
  461. package/src/themes/default/styles/navigation/pagination.css +0 -91
  462. package/src/themes/default/styles/shell/theme.css +0 -37
  463. package/templates/theme/styles/actions/toggle.css +0 -50
  464. package/templates/theme/styles/disclosure/collapsible.css +0 -58
  465. package/templates/theme/styles/display/list-group.css +0 -84
  466. package/templates/theme/styles/forms/form.css +0 -5
  467. package/templates/theme/styles/layout/responsive-layout.css +0 -230
  468. package/templates/theme/styles/navigation/breadcrumb.css +0 -45
  469. package/templates/theme/styles/navigation/menu.css +0 -203
  470. package/templates/theme/styles/navigation/menubar.css +0 -255
  471. package/templates/theme/styles/navigation/pagination.css +0 -91
  472. package/templates/theme/styles/shell/theme.css +0 -37
@@ -1,9 +1,10 @@
1
- import { ProgressCircle } from "@askrjs/ui";
1
+ import { ProgressCircle, ProgressCircleIndicator } from "@askrjs/ui";
2
2
  import type { SpinnerProps } from "./spinner.types";
3
3
 
4
4
  export function Spinner(props: SpinnerProps): JSX.Element {
5
5
  const {
6
6
  label,
7
+ size,
7
8
  "aria-label": ariaLabel,
8
9
  ...rest
9
10
  } = props as SpinnerProps & {
@@ -14,8 +15,12 @@ export function Spinner(props: SpinnerProps): JSX.Element {
14
15
  <ProgressCircle
15
16
  {...rest}
16
17
  aria-label={ariaLabel ?? label ?? "Loading"}
18
+ data-spinner="true"
19
+ data-size={size && size !== "md" ? size : undefined}
17
20
  value={null}
18
21
  getValueLabel={() => label ?? "Loading"}
19
- />
22
+ >
23
+ <ProgressCircleIndicator />
24
+ </ProgressCircle>
20
25
  );
21
26
  }
@@ -1,7 +1,10 @@
1
1
  import type { ProgressCircleProps } from "@askrjs/ui";
2
2
 
3
+ export type SpinnerSize = "sm" | "md" | "lg";
4
+
3
5
  export type SpinnerOwnProps = Omit<ProgressCircleProps, "value" | "getValueLabel"> & {
4
6
  label?: string;
7
+ size?: SpinnerSize;
5
8
  };
6
9
 
7
10
  export type SpinnerProps = SpinnerOwnProps;
@@ -0,0 +1,2 @@
1
+ export { Stat, StatDescription, StatLabel, StatValue } from "./stat";
2
+ export type * from "./stat.types";
@@ -0,0 +1,47 @@
1
+ import { classes } from "../_internal/classes";
2
+ import { mergeProps } from "../_internal/merge-props";
3
+ import type { StatDescriptionProps, StatLabelProps, StatProps, StatValueProps } from "./stat.types";
4
+
5
+ export function Stat(props: StatProps): JSX.Element {
6
+ const { children, class: className, ref, ...rest } = props;
7
+ const finalProps = mergeProps(rest, {
8
+ ref,
9
+ class: classes("stat", className),
10
+ "data-slot": "stat",
11
+ });
12
+
13
+ return <div {...finalProps}>{children}</div>;
14
+ }
15
+
16
+ export function StatLabel(props: StatLabelProps): JSX.Element {
17
+ const { children, class: className, ref, ...rest } = props;
18
+ const finalProps = mergeProps(rest, {
19
+ ref,
20
+ class: classes("stat-label", className),
21
+ "data-slot": "stat-label",
22
+ });
23
+
24
+ return <p {...finalProps}>{children}</p>;
25
+ }
26
+
27
+ export function StatValue(props: StatValueProps): JSX.Element {
28
+ const { children, class: className, ref, ...rest } = props;
29
+ const finalProps = mergeProps(rest, {
30
+ ref,
31
+ class: classes("stat-value", className),
32
+ "data-slot": "stat-value",
33
+ });
34
+
35
+ return <p {...finalProps}>{children}</p>;
36
+ }
37
+
38
+ export function StatDescription(props: StatDescriptionProps): JSX.Element {
39
+ const { children, class: className, ref, ...rest } = props;
40
+ const finalProps = mergeProps(rest, {
41
+ ref,
42
+ class: classes("stat-description", className),
43
+ "data-slot": "stat-description",
44
+ });
45
+
46
+ return <p {...finalProps}>{children}</p>;
47
+ }
@@ -0,0 +1,24 @@
1
+ import type { Ref } from "@askrjs/askr/foundations/utilities";
2
+
3
+ type DivProps = Omit<JSX.IntrinsicElements["div"], "children" | "ref">;
4
+ type ParagraphProps = Omit<JSX.IntrinsicElements["p"], "children" | "ref">;
5
+
6
+ export type StatProps = DivProps & {
7
+ children?: unknown;
8
+ ref?: Ref<HTMLDivElement>;
9
+ };
10
+
11
+ export type StatLabelProps = ParagraphProps & {
12
+ children?: unknown;
13
+ ref?: Ref<HTMLParagraphElement>;
14
+ };
15
+
16
+ export type StatValueProps = ParagraphProps & {
17
+ children?: unknown;
18
+ ref?: Ref<HTMLParagraphElement>;
19
+ };
20
+
21
+ export type StatDescriptionProps = ParagraphProps & {
22
+ children?: unknown;
23
+ ref?: Ref<HTMLParagraphElement>;
24
+ };
@@ -0,0 +1,2 @@
1
+ export { Text } from "./text";
2
+ export type * from "./text.types";
@@ -0,0 +1,39 @@
1
+ import { classes } from "../_internal/classes";
2
+ import { mergeProps } from "../_internal/merge-props";
3
+ import type { TextElement, TextProps } from "./text.types";
4
+
5
+ const DEFAULT_ELEMENT = "p";
6
+
7
+ export function Text<TElement extends TextElement = "p">(props: TextProps<TElement>): JSX.Element {
8
+ const {
9
+ as,
10
+ size = "md",
11
+ tone = "default",
12
+ weight,
13
+ font,
14
+ numeric,
15
+ wrap,
16
+ truncate,
17
+ children,
18
+ class: classProp,
19
+ className,
20
+ ref,
21
+ ...rest
22
+ } = props as TextProps<TextElement> & { class?: unknown; className?: unknown };
23
+
24
+ const finalProps = mergeProps(rest, {
25
+ ref,
26
+ class: classes("text", classProp, className),
27
+ "data-slot": "text",
28
+ "data-size": size,
29
+ "data-tone": tone,
30
+ "data-weight": weight,
31
+ "data-font": font && font !== "body" ? font : undefined,
32
+ "data-numeric": numeric && numeric !== "normal" ? numeric : undefined,
33
+ "data-wrap": wrap,
34
+ "data-truncate": truncate ? "true" : undefined,
35
+ });
36
+
37
+ const Element = (as ?? DEFAULT_ELEMENT) as keyof JSX.IntrinsicElements;
38
+ return <Element {...finalProps}>{children}</Element>;
39
+ }
@@ -0,0 +1,35 @@
1
+ import type { Ref } from "@askrjs/askr/foundations/utilities";
2
+
3
+ export type TextElement = "p" | "span" | "div" | "strong";
4
+ export type TextSize = "sm" | "md" | "lg";
5
+ export type TextTone =
6
+ | "default"
7
+ | "muted"
8
+ | "subtle"
9
+ | "inverse"
10
+ | "success"
11
+ | "warning"
12
+ | "danger"
13
+ | "info";
14
+ export type TextWeight = "normal" | "medium" | "semibold" | "bold";
15
+ export type TextFont = "body" | "mono";
16
+ export type TextNumeric = "normal" | "tabular";
17
+ export type TextWrap = "normal" | "nowrap" | "anywhere";
18
+
19
+ type TextIntrinsicProps<TElement extends TextElement> = Omit<
20
+ JSX.IntrinsicElements[TElement],
21
+ "children" | "ref"
22
+ >;
23
+
24
+ export type TextProps<TElement extends TextElement = "p"> = TextIntrinsicProps<TElement> & {
25
+ as?: TElement;
26
+ size?: TextSize;
27
+ tone?: TextTone;
28
+ weight?: TextWeight;
29
+ font?: TextFont;
30
+ numeric?: TextNumeric;
31
+ wrap?: TextWrap;
32
+ truncate?: boolean;
33
+ children?: unknown;
34
+ ref?: Ref<HTMLElement>;
35
+ };
@@ -65,6 +65,8 @@ export const CAT_THEME_OPTIONS: readonly ThemeOption[] = [
65
65
  ];
66
66
 
67
67
  const DEFAULT_STORAGE_KEY = "askr-theme";
68
+ const STATIC_CHILDREN = Symbol.for("askr.static-children");
69
+ const STATIC_CHILD_SLOTS_CACHE = Symbol.for("__askrStaticChildSlots");
68
70
  // Passive mount sync should not overwrite a newer user/provider-initiated change.
69
71
  let rootThemeRevision = 0;
70
72
  let explicitRootThemeOwner: symbol | undefined;
@@ -224,7 +226,7 @@ export function ThemeToggle(props: ThemeToggleProps): JSX.Element {
224
226
  } = props;
225
227
 
226
228
  const currentTheme = theme.theme();
227
- const nextTheme = getNextTheme(currentTheme, themes);
229
+ const nextTheme = getNextTheme(currentTheme, themes, getResolvedSystemTheme());
228
230
  const renderContext = { theme: currentTheme, nextTheme };
229
231
  const ariaLabel = (rest as Record<string, unknown>)["aria-label"];
230
232
  const themedIcon = resolveThemeToggleIcon(currentTheme, nextTheme, {
@@ -232,9 +234,15 @@ export function ThemeToggle(props: ThemeToggleProps): JSX.Element {
232
234
  darkIcon,
233
235
  systemIcon,
234
236
  });
235
- const renderedIcon = cloneThemeToggleIcon(themedIcon);
237
+ const renderedIcon = cloneThemeToggleIcon(themedIcon, currentTheme);
238
+ const renderedIconSlots =
239
+ renderThemeToggleIconSlots(currentTheme, {
240
+ lightIcon,
241
+ darkIcon,
242
+ systemIcon,
243
+ }) ?? renderedIcon;
236
244
  const content =
237
- typeof children === "function" ? children(renderContext) : (children ?? renderedIcon);
245
+ typeof children === "function" ? children(renderContext) : (children ?? renderedIconSlots);
238
246
 
239
247
  return (
240
248
  <Button
@@ -255,12 +263,29 @@ export function ThemeToggle(props: ThemeToggleProps): JSX.Element {
255
263
  );
256
264
  }
257
265
 
258
- function getNextTheme(currentTheme: ThemeName, themes: readonly ThemeName[]): ThemeName {
266
+ function getNextTheme(
267
+ currentTheme: ThemeName,
268
+ themes: readonly ThemeName[],
269
+ resolvedSystemTheme: "light" | "dark" = "light",
270
+ ): ThemeName {
259
271
  if (themes.length === 0) return currentTheme;
260
272
  const index = themes.indexOf(currentTheme);
273
+ if (index < 0 && currentTheme === "system") {
274
+ if (themes.includes("light") && themes.includes("dark")) {
275
+ return resolvedSystemTheme === "dark" ? "light" : "dark";
276
+ }
277
+ }
261
278
  return themes[index >= 0 && index < themes.length - 1 ? index + 1 : 0]!;
262
279
  }
263
280
 
281
+ function getResolvedSystemTheme(): "light" | "dark" {
282
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
283
+ return "light";
284
+ }
285
+
286
+ return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
287
+ }
288
+
264
289
  function getThemeIcon(
265
290
  theme: ThemeName,
266
291
  icons: Pick<ThemeToggleProps, "lightIcon" | "darkIcon" | "systemIcon">,
@@ -279,6 +304,37 @@ export function resolveThemeToggleIcon(
279
304
  return getThemeIcon(theme, icons) ?? getThemeIcon(nextTheme, icons);
280
305
  }
281
306
 
307
+ function renderThemeToggleIconSlots(
308
+ theme: ThemeName,
309
+ icons: Pick<ThemeToggleProps, "lightIcon" | "darkIcon" | "systemIcon">,
310
+ ): unknown {
311
+ if (getThemeIcon(theme, icons) === undefined) {
312
+ return undefined;
313
+ }
314
+
315
+ const slots = [
316
+ ["light", icons.lightIcon],
317
+ ["dark", icons.darkIcon],
318
+ ["system", icons.systemIcon],
319
+ ] as const;
320
+ const availableSlots = slots.filter(([, icon]) => icon !== undefined && icon !== null);
321
+
322
+ if (availableSlots.length <= 1) {
323
+ return undefined;
324
+ }
325
+
326
+ return availableSlots.map(([slotTheme, icon]) => (
327
+ <span
328
+ key={slotTheme}
329
+ data-slot="theme-toggle-icon"
330
+ data-theme-toggle-icon={slotTheme}
331
+ hidden={slotTheme === theme ? undefined : true}
332
+ >
333
+ {cloneThemeToggleIcon(icon, slotTheme)}
334
+ </span>
335
+ ));
336
+ }
337
+
282
338
  function isJSXElement(value: unknown): value is JSXElement {
283
339
  return (
284
340
  typeof value === "object" &&
@@ -289,18 +345,36 @@ function isJSXElement(value: unknown): value is JSXElement {
289
345
  );
290
346
  }
291
347
 
292
- function cloneThemeToggleIcon(icon: unknown): unknown {
348
+ function cloneThemeToggleIcon(icon: unknown, key?: string): unknown {
349
+ if (Array.isArray(icon)) {
350
+ const clonedChildren = icon.map((child) => cloneThemeToggleIcon(child));
351
+ if ((icon as Record<symbol, unknown>)[STATIC_CHILDREN] === true) {
352
+ Object.defineProperty(clonedChildren, STATIC_CHILDREN, {
353
+ value: true,
354
+ configurable: true,
355
+ });
356
+ }
357
+ return clonedChildren;
358
+ }
359
+
293
360
  if (!isJSXElement(icon)) return icon;
294
361
 
295
362
  const props = icon.props as Record<string, unknown> | undefined;
296
- if (!props || Object.keys(props).length === 0) {
297
- return icon;
363
+ const clonedProps = props ? { ...props } : {};
364
+
365
+ if ("children" in clonedProps) {
366
+ clonedProps.children = cloneThemeToggleIcon(clonedProps.children);
298
367
  }
299
368
 
300
- return {
369
+ const iconKey = (icon.key ?? key ?? null) as string | number | null;
370
+ const clonedIcon = {
301
371
  ...icon,
302
- props: { ...props },
372
+ key: iconKey,
373
+ props: clonedProps,
303
374
  };
375
+
376
+ delete (clonedIcon as Record<symbol, unknown>)[STATIC_CHILD_SLOTS_CACHE];
377
+ return clonedIcon;
304
378
  }
305
379
 
306
380
  function syncThemeRoot(
@@ -0,0 +1,2 @@
1
+ export { Toolbar } from "./toolbar";
2
+ export type { ToolbarProps } from "./toolbar.types";
@@ -0,0 +1,24 @@
1
+ import { Block } from "../block";
2
+ import type { ToolbarProps } from "./toolbar.types";
3
+
4
+ export function Toolbar(props: ToolbarProps): JSX.Element {
5
+ const { title, actions, ...rest } = props;
6
+
7
+ return (
8
+ <Block
9
+ rowFrom="md"
10
+ align={{ base: "start", md: "center" }}
11
+ justify="between"
12
+ gap="md"
13
+ {...rest}
14
+ data-slot="toolbar"
15
+ >
16
+ <h2 data-slot="toolbar-title">{title}</h2>
17
+ {actions !== undefined ? (
18
+ <Block direction="row" gap="sm" data-slot="toolbar-actions">
19
+ {actions}
20
+ </Block>
21
+ ) : null}
22
+ </Block>
23
+ );
24
+ }
@@ -0,0 +1,6 @@
1
+ import type { BlockDivProps } from "../block";
2
+
3
+ export type ToolbarProps = BlockDivProps & {
4
+ title: unknown;
5
+ actions?: unknown;
6
+ };
@@ -0,0 +1,289 @@
1
+ import "./themes/default/index.css";
2
+
3
+ export {
4
+ Accordion,
5
+ AccordionContent,
6
+ AccordionHeader,
7
+ AccordionItem,
8
+ AccordionTrigger,
9
+ AlertDialog,
10
+ AlertDialogAction,
11
+ AlertDialogCancel,
12
+ AlertDialogContent,
13
+ AlertDialogDescription,
14
+ AlertDialogOverlay,
15
+ AlertDialogPortal,
16
+ AlertDialogTitle,
17
+ AlertDialogTrigger,
18
+ Avatar,
19
+ AvatarFallback,
20
+ AvatarImage,
21
+ Button,
22
+ type ButtonAsChildElement,
23
+ type ButtonAsChildProps,
24
+ type ButtonNativeProps,
25
+ type ButtonProps,
26
+ type ButtonSize,
27
+ type ButtonVariant,
28
+ type ButtonWidth,
29
+ Checkbox,
30
+ Collapsible,
31
+ CollapsibleContent,
32
+ CollapsibleTrigger,
33
+ DebouncedInput,
34
+ Dialog,
35
+ DialogClose,
36
+ DialogContent,
37
+ DialogDescription,
38
+ DialogOverlay,
39
+ DialogPortal,
40
+ DialogTitle,
41
+ DialogTrigger,
42
+ Dropdown as ContextMenu,
43
+ DropdownGroup as ContextMenuGroup,
44
+ DropdownItem as ContextMenuItem,
45
+ DropdownLabel as ContextMenuLabel,
46
+ DropdownPortal as ContextMenuPortal,
47
+ DropdownSeparator as ContextMenuSeparator,
48
+ DropdownTrigger as ContextMenuTrigger,
49
+ Dialog as Drawer,
50
+ DialogClose as DrawerClose,
51
+ DialogContent as DrawerContent,
52
+ DialogDescription as DrawerDescription,
53
+ DialogOverlay as DrawerOverlay,
54
+ DialogPortal as DrawerPortal,
55
+ DialogTitle as DrawerTitle,
56
+ DialogTrigger as DrawerTrigger,
57
+ Dropdown,
58
+ Dropdown as DropdownMenu,
59
+ DropdownGroup,
60
+ DropdownGroup as DropdownMenuGroup,
61
+ DropdownItem,
62
+ type DropdownItemVariant,
63
+ DropdownItem as DropdownMenuItem,
64
+ DropdownLabel,
65
+ DropdownLabel as DropdownMenuLabel,
66
+ DropdownPortal,
67
+ DropdownPortal as DropdownMenuPortal,
68
+ DropdownSeparator,
69
+ DropdownSeparator as DropdownMenuSeparator,
70
+ DropdownTrigger,
71
+ type DropdownTriggerSize,
72
+ type DropdownTriggerVariant,
73
+ DropdownTrigger as DropdownMenuTrigger,
74
+ Form,
75
+ HoverCard,
76
+ HoverCardContent,
77
+ HoverCardPortal,
78
+ HoverCardTrigger,
79
+ Input,
80
+ Label,
81
+ Menubar,
82
+ MenubarContent,
83
+ MenubarGroup,
84
+ MenubarItem,
85
+ MenubarLabel,
86
+ MenubarMenu,
87
+ MenubarPortal,
88
+ MenubarSeparator,
89
+ MenubarSub,
90
+ MenubarSubContent,
91
+ MenubarSubTrigger,
92
+ MenubarTrigger,
93
+ Popover,
94
+ PopoverClose,
95
+ PopoverContent,
96
+ type PopoverContentWidth,
97
+ PopoverPortal,
98
+ PopoverTrigger,
99
+ Progress,
100
+ ProgressCircle,
101
+ ProgressCircleIndicator,
102
+ ProgressIndicator,
103
+ RadioGroup,
104
+ RadioGroupItem,
105
+ ScrollArea,
106
+ ScrollAreaCorner,
107
+ ScrollAreaScrollbar,
108
+ ScrollAreaThumb,
109
+ ScrollAreaViewport,
110
+ Select,
111
+ SelectContent,
112
+ SelectGroup,
113
+ SelectItem,
114
+ SelectItemText,
115
+ SelectLabel,
116
+ SelectPortal,
117
+ SelectSeparator,
118
+ SelectTrigger,
119
+ type SelectTriggerSize,
120
+ SelectValue,
121
+ Dialog as Sheet,
122
+ DialogClose as SheetClose,
123
+ DialogOverlay as SheetOverlay,
124
+ DialogPortal as SheetPortal,
125
+ DialogTrigger as SheetTrigger,
126
+ Slider,
127
+ SliderRange,
128
+ SliderThumb,
129
+ SliderTrack,
130
+ Switch,
131
+ Table,
132
+ TableBody,
133
+ TableCaption,
134
+ TableCell,
135
+ TableFoot,
136
+ TableHead,
137
+ TableHeaderCell,
138
+ TableRow,
139
+ Textarea,
140
+ Toast,
141
+ ToastAction,
142
+ ToastClose,
143
+ ToastDescription,
144
+ ToastProvider,
145
+ ToastTitle,
146
+ ToastViewport,
147
+ Toggle,
148
+ ToggleGroup,
149
+ ToggleGroupItem,
150
+ Tooltip,
151
+ TooltipContent,
152
+ TooltipPortal,
153
+ TooltipTrigger,
154
+ VirtualList,
155
+ type VirtualListApi,
156
+ type VirtualListAsChildProps,
157
+ type VirtualListProps,
158
+ type VirtualListRowComponent,
159
+ type VirtualListRowElement,
160
+ type VirtualListRowComponentProps,
161
+ type VirtualListState,
162
+ type VirtualListViewport,
163
+ VirtualTable,
164
+ type VirtualTableApi,
165
+ type VirtualTableAsChildProps,
166
+ type VirtualTableCellComponent,
167
+ type VirtualTableCellElement,
168
+ type VirtualTableCellComponentProps,
169
+ type VirtualTableColumn,
170
+ type VirtualTableProps,
171
+ type VirtualTableState,
172
+ type VirtualTableViewport,
173
+ type VirtualTableWidth,
174
+ VisuallyHidden,
175
+ } from "@askrjs/ui";
176
+
177
+ export { Alert } from "./components/alert";
178
+ export { AspectRatio } from "./components/aspect-ratio";
179
+ export { Badge } from "./components/badge";
180
+ export { Block } from "./components/block";
181
+ export { Brand, BrandLabel, BrandMark } from "./components/brand";
182
+ export { ButtonGroup } from "./components/button-group";
183
+ export {
184
+ Card,
185
+ CardAction,
186
+ CardContent,
187
+ CardDescription,
188
+ CardFooter,
189
+ CardHeader,
190
+ CardTitle,
191
+ } from "./components/card";
192
+ export { Close } from "./components/close";
193
+ export { Container } from "./components/container";
194
+ export { EmptyState } from "./components/empty-state";
195
+ export { Field, FieldError, FieldHint } from "./components/field";
196
+ export {
197
+ Footer,
198
+ FooterContent,
199
+ FooterDescription,
200
+ FooterLink,
201
+ FooterLinks,
202
+ FooterSection,
203
+ FooterTitle,
204
+ } from "./components/footer";
205
+ export { Grid } from "./components/grid";
206
+ export { Header } from "./components/header";
207
+ export { InputGroup, InputGroupText } from "./components/input-group";
208
+ export { Main } from "./components/main";
209
+ export { Aside } from "./components/aside";
210
+ export {
211
+ DropdownContent,
212
+ DropdownContent as ContextMenuContent,
213
+ DropdownContent as DropdownMenuContent,
214
+ } from "./components/overlays/dropdown-content";
215
+ export {
216
+ Navbar,
217
+ Navbar as Nav,
218
+ NavBrand,
219
+ NavDropdown,
220
+ NavGroup,
221
+ NavItem,
222
+ NavLink,
223
+ } from "./components/navbar";
224
+ export { Page } from "./components/page";
225
+ export { PageHeader } from "./components/page-header";
226
+ export { Pill, Pills, Tab, Tabs } from "./components/nav";
227
+ export { Section } from "./components/section";
228
+ export { Separator } from "./components/separator";
229
+ export {
230
+ Sidebar,
231
+ SidebarContent,
232
+ SidebarFooter,
233
+ SidebarGroup,
234
+ SidebarGroupContent,
235
+ SidebarGroupLabel,
236
+ SidebarHeader,
237
+ SidebarInset,
238
+ SidebarMenu,
239
+ SidebarMenuAction,
240
+ SidebarMenuBadge,
241
+ SidebarMenuButton,
242
+ SidebarMenuItem,
243
+ SidebarProvider,
244
+ SidebarRail,
245
+ SidebarTrigger,
246
+ } from "./components/sidebar";
247
+ export { Skeleton } from "./components/skeleton";
248
+ export { Spinner } from "./components/spinner";
249
+ export { Stat, StatDescription, StatLabel, StatValue } from "./components/stat";
250
+ export { Text } from "./components/text";
251
+ export { Toolbar } from "./components/toolbar";
252
+ export {
253
+ CAT_THEME_NAMES,
254
+ CAT_THEME_OPTIONS,
255
+ DEFAULT_THEME_OPTIONS,
256
+ ThemePicker,
257
+ ThemeProvider,
258
+ ThemeToggle,
259
+ useTheme,
260
+ } from "./components/theme";
261
+ export * from "./components/catalog";
262
+
263
+ export type * from "./components/alert";
264
+ export type * from "./components/aspect-ratio";
265
+ export type * from "./components/badge";
266
+ export type * from "./components/block";
267
+ export type * from "./components/button-group";
268
+ export type * from "./components/card";
269
+ export type * from "./components/close";
270
+ export type * from "./components/container";
271
+ export type * from "./components/empty-state";
272
+ export type * from "./components/field";
273
+ export type * from "./components/footer";
274
+ export type * from "./components/header";
275
+ export type * from "./components/input-group";
276
+ export type * from "./components/main";
277
+ export type * from "./components/aside";
278
+ export type * from "./components/navbar";
279
+ export type * from "./components/page";
280
+ export type * from "./components/page-header";
281
+ export type * from "./components/nav";
282
+ export type * from "./components/section";
283
+ export type * from "./components/separator";
284
+ export type * from "./components/sidebar";
285
+ export type * from "./components/skeleton";
286
+ export type * from "./components/spinner";
287
+ export type * from "./components/toolbar";
288
+ export type * from "./components/theme";
289
+ export type * from "./components/catalog";