@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","names":[],"sources":["../../src/components/catalog.tsx"],"sourcesContent":["import { Slot } from \"@askrjs/askr/foundations\";\nimport type { Ref } from \"@askrjs/askr/foundations/utilities\";\nimport { DialogContent } from \"@askrjs/ui\";\nimport { Block } from \"./block\";\nimport { classes } from \"./_internal/classes\";\nimport { mergeProps } from \"./_internal/merge-props\";\n\ntype CatalogElement = keyof JSX.IntrinsicElements;\n\nexport type CatalogComponentProps = Record<string, unknown> & {\n as?: CatalogElement;\n asChild?: boolean;\n children?: unknown;\n class?: string;\n ref?: Ref<HTMLElement>;\n};\n\ntype CatalogDefaults = {\n className?: string;\n element?: CatalogElement;\n role?: string;\n slot: string;\n};\n\nfunction catalogPart(props: CatalogComponentProps, defaults: CatalogDefaults): JSX.Element {\n const { as, asChild, children, class: className, ref, ...rest } = props;\n const Element = (as ?? defaults.element ?? \"div\") as \"div\";\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(defaults.className, className),\n \"data-slot\": defaults.slot,\n role: defaults.role,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return <Element {...finalProps}>{children}</Element>;\n}\n\nfunction buttonPart(props: CatalogComponentProps, slot: string, className?: string): JSX.Element {\n const { children, ref, class: classProp, type = \"button\", ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(className, classProp),\n \"data-slot\": slot,\n });\n\n return (\n <button type={type as \"button\" | \"submit\" | \"reset\"} {...finalProps}>\n {children}\n </button>\n );\n}\n\nfunction normalizeLegacySpace(value: unknown): unknown {\n if (value === \"none\") return \"0\";\n if (value === \"1\") return \"xs\";\n if (value === \"2\") return \"xs\";\n if (value === \"3\") return \"sm\";\n if (value === \"4\") return \"md\";\n if (value === \"5\") return \"lg\";\n if (value === \"6\") return \"xl\";\n if (value === \"8\") return \"2xl\";\n return value;\n}\n\nfunction layoutAlias(props: CatalogComponentProps, defaults: Record<string, unknown>): JSX.Element {\n const { gap, p, padding, style, wrap, ...rest } = props as CatalogComponentProps & {\n gap?: unknown;\n p?: unknown;\n padding?: unknown;\n style?: Record<string, unknown>;\n wrap?: boolean | string;\n };\n const BlockComponent = Block as (blockProps: Record<string, unknown>) => JSX.Element;\n const wrapStyle = wrap\n ? {\n ...style,\n flexWrap: \"wrap\",\n }\n : style;\n\n return (\n <BlockComponent\n {...defaults}\n {...rest}\n gap={normalizeLegacySpace(gap)}\n padding={padding ?? normalizeLegacySpace(p)}\n style={wrapStyle}\n />\n );\n}\n\nexport function Box(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, {});\n}\n\nexport function Stack(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, { direction: \"column\" });\n}\n\nexport function Inline(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, { direction: \"row\" });\n}\n\nexport function Shell(props: CatalogComponentProps & { variant?: unknown }): JSX.Element {\n const { variant: _variant, ...rest } = props;\n void _variant;\n return layoutAlias(rest, {});\n}\n\nexport function ShellNav(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, {});\n}\n\nexport function ShellMain(props: CatalogComponentProps): JSX.Element {\n return layoutAlias(props, { as: \"main\", grow: true });\n}\n\nexport function AlertTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"alert-title\", element: \"h3\", className: \"alert-title\" });\n}\n\nexport function AlertDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, {\n slot: \"alert-description\",\n element: \"p\",\n className: \"alert-description\",\n });\n}\n\nexport function Breadcrumb(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb\", element: \"nav\", role: \"navigation\" });\n}\n\nexport function BreadcrumbList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-list\", element: \"ol\" });\n}\n\nexport function BreadcrumbItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-item\", element: \"li\" });\n}\n\nexport function BreadcrumbLink(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-link\", element: \"a\" });\n}\n\nexport function BreadcrumbPage(props: CatalogComponentProps): JSX.Element {\n return catalogPart(\n { \"aria-current\": \"page\", ...props },\n {\n slot: \"breadcrumb-page\",\n element: \"span\",\n },\n );\n}\n\nexport function BreadcrumbSeparator(props: CatalogComponentProps): JSX.Element {\n const { children = \"/\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"breadcrumb-separator\",\n element: \"li\",\n },\n );\n}\n\nexport function BreadcrumbEllipsis(props: CatalogComponentProps): JSX.Element {\n const { children = \"...\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"breadcrumb-ellipsis\",\n element: \"span\",\n },\n );\n}\n\nexport function Calendar(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar\" });\n}\n\nexport function CalendarHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-header\" });\n}\n\nexport function CalendarCaption(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-caption\" });\n}\n\nexport function CalendarNav(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-nav\" });\n}\n\nexport function CalendarPreviousButton(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous month\", ...rest } = props;\n return buttonPart(\n { \"aria-label\": \"Previous month\", children, ...rest },\n \"calendar-previous\",\n \"btn btn-icon btn-ghost\",\n );\n}\n\nexport function CalendarNextButton(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next month\", ...rest } = props;\n return buttonPart(\n { \"aria-label\": \"Next month\", children, ...rest },\n \"calendar-next\",\n \"btn btn-icon btn-ghost\",\n );\n}\n\nexport function CalendarGrid(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-grid\", role: \"grid\" });\n}\n\nexport function CalendarHead(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-head\", role: \"row\" });\n}\n\nexport function CalendarBody(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-body\" });\n}\n\nexport function CalendarRow(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-row\", role: \"row\" });\n}\n\nexport function CalendarCell(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-cell\", role: \"gridcell\" });\n}\n\nexport function CalendarDay(\n props: CatalogComponentProps & {\n disabled?: boolean;\n outside?: boolean;\n rangeEnd?: boolean;\n rangeMiddle?: boolean;\n rangeStart?: boolean;\n selected?: boolean;\n today?: boolean;\n },\n): JSX.Element {\n const { disabled, outside, rangeEnd, rangeMiddle, rangeStart, selected, today, ...rest } = props;\n return buttonPart(\n {\n \"aria-disabled\": disabled ? \"true\" : undefined,\n \"aria-selected\": selected ? \"true\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-outside\": outside ? \"true\" : undefined,\n \"data-range-end\": rangeEnd ? \"true\" : undefined,\n \"data-range-middle\": rangeMiddle ? \"true\" : undefined,\n \"data-range-start\": rangeStart ? \"true\" : undefined,\n \"data-selected\": selected ? \"true\" : undefined,\n \"data-today\": today ? \"true\" : undefined,\n ...rest,\n },\n \"calendar-day\",\n );\n}\n\nexport function Carousel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel\" });\n}\n\nexport function CarouselContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel-content\" });\n}\n\nexport function CarouselItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel-item\" });\n}\n\nexport function CarouselPrevious(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous\", ...rest } = props;\n return buttonPart({ children, ...rest }, \"carousel-previous\", \"btn btn-icon\");\n}\n\nexport function CarouselNext(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next\", ...rest } = props;\n return buttonPart({ children, ...rest }, \"carousel-next\", \"btn btn-icon\");\n}\n\nexport function Combobox(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox\" });\n}\n\nexport function ComboboxInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"combobox-input\",\n role: \"combobox\",\n });\n\n return <input {...finalProps} />;\n}\n\nexport function ComboboxList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox-list\", role: \"listbox\" });\n}\n\nexport function ComboboxOption(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox-option\", role: \"option\" });\n}\n\nexport function Command(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command\" });\n}\n\nexport function CommandDialog(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-dialog\" });\n}\n\nexport function CommandInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"command-input\",\n });\n\n return <input {...finalProps} />;\n}\n\nexport function CommandHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-header\" });\n}\n\nexport function CommandList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-list\", role: \"listbox\" });\n}\n\nexport function CommandEmpty(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-empty\" });\n}\n\nexport function CommandGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-group\", role: \"group\" });\n}\n\nexport function CommandGroupHeading(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-group-heading\", element: \"div\" });\n}\n\nexport function CommandItem(\n props: CatalogComponentProps & { active?: boolean; disabled?: boolean; selected?: boolean },\n): JSX.Element {\n const { active, disabled, selected, ...rest } = props;\n return catalogPart(\n {\n \"aria-disabled\": disabled ? \"true\" : undefined,\n \"aria-selected\": selected || active ? \"true\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-selected\": selected || active ? \"true\" : undefined,\n ...rest,\n },\n { slot: \"command-item\", role: \"option\" },\n );\n}\n\nexport function CommandSeparator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-separator\", element: \"div\", role: \"separator\" });\n}\n\nexport function CommandShortcut(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-shortcut\", element: \"span\" });\n}\n\nexport function DataTable(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"data-table\" });\n}\n\nexport function DatePicker(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"date-picker\" });\n}\n\nexport function DatePickerInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, type = \"date\", ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"date-picker-input\",\n });\n\n return <input type={type as string} {...finalProps} />;\n}\n\nexport function Direction(props: CatalogComponentProps & { dir?: \"ltr\" | \"rtl\" }): JSX.Element {\n const { dir = \"ltr\", ...rest } = props;\n return catalogPart({ dir, ...rest }, { slot: \"direction\" });\n}\n\nexport function Empty(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty\" });\n}\n\nexport function EmptyHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-header\" });\n}\n\nexport function EmptyTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-title\", element: \"h3\" });\n}\n\nexport function EmptyDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-description\", element: \"p\" });\n}\n\nexport function EmptyContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-content\" });\n}\n\nexport function EmptyMedia(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-media\" });\n}\n\nexport function FieldGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-group\" });\n}\n\nexport function FieldSet(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-set\", element: \"fieldset\" });\n}\n\nexport function FieldLegend(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-legend\", element: \"legend\" });\n}\n\nexport function FieldLabel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-label\", element: \"label\", className: \"label\" });\n}\n\nexport function FieldDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-description\", element: \"p\", className: \"field-hint\" });\n}\n\nexport function FieldContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-content\" });\n}\n\nexport function FieldTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-title\", element: \"div\" });\n}\n\nexport function FieldSeparator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-separator\", role: \"separator\" });\n}\n\nexport function InputOTP(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp\", role: \"group\" });\n}\n\nexport function InputOTPGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp-group\", role: \"group\" });\n}\n\nexport function InputOTPSlot(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp-slot\", element: \"span\" });\n}\n\nexport function InputOTPSeparator(props: CatalogComponentProps): JSX.Element {\n const { children = \"-\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"input-otp-separator\",\n element: \"span\",\n },\n );\n}\n\nexport function Item(\n props: CatalogComponentProps & {\n active?: boolean;\n size?: \"default\" | \"sm\" | \"xs\";\n variant?: \"default\" | \"outline\" | \"muted\";\n },\n): JSX.Element {\n const { active, size, variant, ...rest } = props;\n return catalogPart(\n {\n \"data-active\": active ? \"true\" : undefined,\n \"data-size\": size && size !== \"default\" ? size : undefined,\n \"data-variant\": variant && variant !== \"default\" ? variant : undefined,\n ...rest,\n },\n { slot: \"item\" },\n );\n}\n\nexport function ItemGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-group\" });\n}\n\nexport function ItemHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-header\" });\n}\n\nexport function ItemMedia(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-media\" });\n}\n\nexport function ItemContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-content\" });\n}\n\nexport function ItemTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-title\" });\n}\n\nexport function ItemDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-description\" });\n}\n\nexport function ItemActions(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-actions\" });\n}\n\nexport function ItemFooter(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-footer\" });\n}\n\nexport function Kbd(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"kbd\", element: \"kbd\" });\n}\n\nexport function NativeSelect(props: CatalogComponentProps): JSX.Element {\n const { children, ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"native-select\",\n });\n\n return <select {...finalProps}>{children}</select>;\n}\n\nexport function NavigationMenu(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu\", element: \"nav\" });\n}\n\nexport function NavigationMenuList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-list\", element: \"ul\" });\n}\n\nexport function NavigationMenuItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-item\", element: \"li\" });\n}\n\nexport function NavigationMenuTrigger(props: CatalogComponentProps): JSX.Element {\n return buttonPart(props, \"navigation-menu-trigger\", \"nav-item\");\n}\n\nexport function NavigationMenuContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-content\" });\n}\n\nexport function NavigationMenuLink(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-link\", element: \"a\" });\n}\n\nexport function NavigationMenuViewport(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-viewport\" });\n}\n\nexport function NavigationMenuIndicator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-indicator\" });\n}\n\nexport function Pagination(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination\", element: \"nav\", role: \"navigation\" });\n}\n\nexport function PaginationContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination-content\", element: \"ul\" });\n}\n\nexport function PaginationItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination-item\", element: \"li\" });\n}\n\nexport function PaginationLink(props: CatalogComponentProps & { active?: boolean }): JSX.Element {\n const { active, ...rest } = props;\n return catalogPart(\n {\n \"aria-current\": active ? \"page\" : undefined,\n \"data-active\": active ? \"true\" : undefined,\n ...rest,\n },\n { slot: \"pagination-link\", element: \"a\" },\n );\n}\n\nexport function PaginationPrevious(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous\", ...rest } = props;\n return catalogPart({ children, ...rest }, { slot: \"pagination-previous\", element: \"a\" });\n}\n\nexport function PaginationNext(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next\", ...rest } = props;\n return catalogPart({ children, ...rest }, { slot: \"pagination-next\", element: \"a\" });\n}\n\nexport function PaginationEllipsis(props: CatalogComponentProps): JSX.Element {\n const { children = \"...\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"pagination-ellipsis\",\n element: \"span\",\n },\n );\n}\n\nexport function ResizablePanelGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-panel-group\" });\n}\n\nexport function ResizablePanel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-panel\" });\n}\n\nexport function ResizableHandle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-handle\", role: \"separator\" });\n}\n\nexport function TabsList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"tabs-list\", role: \"tablist\" });\n}\n\nexport function TabsTrigger(props: CatalogComponentProps): JSX.Element {\n return buttonPart(props, \"tabs-trigger\", \"tab\");\n}\n\nexport function TabsContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"tabs-content\", role: \"tabpanel\" });\n}\n\nexport function SheetContent(\n props: CatalogComponentProps & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n },\n): JSX.Element {\n const { side = \"right\", ...rest } = props;\n return <DialogContent {...rest} data-side={side} data-slot=\"sheet-content\" />;\n}\n\nexport function SheetHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-header\" });\n}\n\nexport function SheetFooter(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-footer\" });\n}\n\nexport function SheetTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-title\", element: \"h2\" });\n}\n\nexport function SheetDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-description\", element: \"p\" });\n}\n\nexport function Toaster(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sonner\" });\n}\n\nexport const Sonner = Toaster;\n\nexport function Typography(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography\" });\n}\n\nexport function TypographyH1(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h1\", element: \"h1\" });\n}\n\nexport function TypographyH2(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h2\", element: \"h2\" });\n}\n\nexport function TypographyH3(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h3\", element: \"h3\" });\n}\n\nexport function TypographyH4(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h4\", element: \"h4\" });\n}\n\nexport function TypographyP(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-p\", element: \"p\" });\n}\n\nexport function TypographyBlockquote(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-blockquote\", element: \"blockquote\" });\n}\n\nexport function TypographyList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-list\", element: \"ul\" });\n}\n\nexport function TypographyLead(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-lead\", element: \"p\" });\n}\n\nexport function TypographyMuted(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-muted\", element: \"p\" });\n}\n"],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import { ContainerAsChildProps, ContainerNativeProps } from "./container.types.js";
1
+ import { ContainerProps } from "./container.types.js";
2
2
 
3
3
  //#region src/components/container/container.d.ts
4
- declare function Container(props: ContainerNativeProps): JSX.Element;
5
- declare function Container(props: ContainerAsChildProps): JSX.Element;
4
+ declare function Container(props: ContainerProps): JSX.Element;
6
5
  //#endregion
7
6
  export { Container };
8
7
  //# sourceMappingURL=container.d.ts.map
@@ -1,78 +1,15 @@
1
- import { mergeProps } from "../_internal/merge-props.js";
2
- import { isResponsiveValue, resolveContainerSizeValue, resolveInlineAlignValue, resolveSpaceValue, serializeResponsiveValueIf, setResponsiveStyleVar } from "../_internal/layout.js";
3
- import { applyBoxLayoutStyles, splitBoxLayoutProps, withBoxLayoutClass } from "../_internal/box-layout.js";
1
+ import { Block } from "../block/block.js";
4
2
  import { jsx } from "@askrjs/askr/jsx-runtime";
5
- import { Slot } from "@askrjs/askr/foundations";
6
3
  //#region src/components/container/container.tsx
7
- const CONTAINER_WIDTH_TOKENS = new Set([
8
- "1",
9
- "2",
10
- "3",
11
- "4",
12
- "sm",
13
- "md",
14
- "lg",
15
- "xl",
16
- "fluid"
17
- ]);
18
- function isContainerWidthToken(value) {
19
- return typeof value === "string" && CONTAINER_WIDTH_TOKENS.has(value.trim());
20
- }
21
- function isContainerAlignToken(value) {
22
- return typeof value === "string" && [
23
- "left",
24
- "center",
25
- "right"
26
- ].includes(value.trim());
27
- }
28
- function hasStyleValue(value) {
29
- if (typeof value === "string") return value.trim().length > 0;
30
- if (value && typeof value === "object") return Object.keys(value).length > 0;
31
- return false;
32
- }
33
- function isStaticValue(value) {
34
- return !isResponsiveValue(value);
35
- }
36
4
  function Container(props) {
37
- const { asChild, children, variant, maxWidth, padding, size, align = "center", ref, style: userStyle, ...rest } = props;
38
- const responsiveVariant = size === void 0 && maxWidth === void 0 ? variant ?? "default" : void 0;
39
- const { boxProps, rest: passthroughProps } = splitBoxLayoutProps(rest);
40
- const layoutStyle = {
41
- boxSizing: "border-box",
42
- width: "100%"
43
- };
44
- applyBoxLayoutStyles(layoutStyle, boxProps);
45
- const widthValue = maxWidth ?? size;
46
- if (boxProps.maxWidth === void 0 && widthValue !== void 0 && (isResponsiveValue(widthValue) || !isContainerWidthToken(widthValue))) setResponsiveStyleVar(layoutStyle, "max-width", widthValue, (value) => typeof value === "string" && isContainerWidthToken(value) ? resolveContainerSizeValue(value) : value);
47
- if (padding !== void 0 && boxProps.px === void 0 && boxProps.pl === void 0 && boxProps.pr === void 0) setResponsiveStyleVar(layoutStyle, "px", padding, resolveSpaceValue);
48
- const applyAlign = (side, value) => {
49
- setResponsiveStyleVar(layoutStyle, side === "marginLeft" ? "ml" : "mr", value, (input) => {
50
- const margins = resolveInlineAlignValue(input);
51
- return side === "marginLeft" ? margins.marginLeft : margins.marginRight;
52
- });
53
- };
54
- if (boxProps.ml === void 0 && boxProps.mr === void 0 && isResponsiveValue(align)) {
55
- applyAlign("marginLeft", align);
56
- applyAlign("marginRight", align);
57
- }
58
- const layoutClass = Object.keys(layoutStyle).length > 2 || hasStyleValue(userStyle) ? withBoxLayoutClass(layoutStyle, userStyle) : void 0;
59
- const finalProps = mergeProps(passthroughProps, {
60
- ref,
5
+ const { children, size = "page", ...rest } = props;
6
+ return /* @__PURE__ */ jsx(Block, {
7
+ maxWidth: size,
8
+ marginX: "auto",
9
+ paddingX: "page",
10
+ width: "full",
11
+ ...rest,
61
12
  "data-slot": "container",
62
- "data-ak-layout": "true",
63
- "data-variant": responsiveVariant,
64
- "data-size": isStaticValue(size) ? serializeResponsiveValueIf(size, isContainerWidthToken) : void 0,
65
- "data-align": isStaticValue(align) ? serializeResponsiveValueIf(align, isContainerAlignToken) : void 0,
66
- "data-max-width": isStaticValue(maxWidth) ? serializeResponsiveValueIf(maxWidth, isContainerWidthToken) : void 0,
67
- ...layoutClass ? { class: layoutClass } : {}
68
- });
69
- if (asChild) return /* @__PURE__ */ jsx(Slot, {
70
- asChild: true,
71
- ...finalProps,
72
- children
73
- });
74
- return /* @__PURE__ */ jsx("div", {
75
- ...finalProps,
76
13
  children
77
14
  });
78
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","names":[],"sources":["../../../src/components/container/container.tsx"],"sourcesContent":["import { Slot } from \"@askrjs/askr/foundations\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport {\n applyBoxLayoutStyles,\n splitBoxLayoutProps,\n withBoxLayoutClass,\n} from \"../_internal/box-layout\";\nimport {\n isResponsiveValue,\n resolveContainerSizeValue,\n resolveInlineAlignValue,\n resolveSpaceValue,\n serializeResponsiveValueIf,\n setResponsiveStyleVar,\n} from \"../_internal/layout\";\nimport type { ContainerAsChildProps, ContainerNativeProps } from \"./container.types\";\n\nconst CONTAINER_WIDTH_TOKENS = new Set([\"1\", \"2\", \"3\", \"4\", \"sm\", \"md\", \"lg\", \"xl\", \"fluid\"]);\n\nfunction isContainerWidthToken(value: unknown): value is string {\n return typeof value === \"string\" && CONTAINER_WIDTH_TOKENS.has(value.trim());\n}\n\nfunction isContainerAlignToken(value: unknown): value is \"left\" | \"center\" | \"right\" {\n return typeof value === \"string\" && [\"left\", \"center\", \"right\"].includes(value.trim());\n}\n\nfunction hasStyleValue(value: unknown): boolean {\n if (typeof value === \"string\") return value.trim().length > 0;\n if (value && typeof value === \"object\") {\n return Object.keys(value as Record<string, unknown>).length > 0;\n }\n\n return false;\n}\n\nfunction isStaticValue(value: unknown): boolean {\n return !isResponsiveValue(value as Record<string, unknown> | undefined);\n}\n\nexport function Container(props: ContainerNativeProps): JSX.Element;\nexport function Container(props: ContainerAsChildProps): JSX.Element;\nexport function Container(props: ContainerNativeProps | ContainerAsChildProps) {\n const {\n asChild,\n children,\n variant,\n maxWidth,\n padding,\n size,\n align = \"center\",\n ref,\n style: userStyle,\n ...rest\n } = props;\n\n const responsiveVariant =\n size === undefined && maxWidth === undefined ? (variant ?? \"default\") : undefined;\n\n const { boxProps, rest: passthroughProps } = splitBoxLayoutProps(rest);\n const layoutStyle: Record<string, string | number> = {\n boxSizing: \"border-box\",\n width: \"100%\",\n };\n applyBoxLayoutStyles(layoutStyle, boxProps);\n\n const widthValue = maxWidth ?? size;\n const usesInlineMaxWidth =\n boxProps.maxWidth === undefined &&\n widthValue !== undefined &&\n (isResponsiveValue(widthValue) || !isContainerWidthToken(widthValue));\n\n if (usesInlineMaxWidth) {\n setResponsiveStyleVar(layoutStyle, \"max-width\", widthValue, (value) =>\n typeof value === \"string\" && isContainerWidthToken(value)\n ? resolveContainerSizeValue(value)\n : value,\n );\n }\n\n if (\n padding !== undefined &&\n boxProps.px === undefined &&\n boxProps.pl === undefined &&\n boxProps.pr === undefined\n ) {\n setResponsiveStyleVar(layoutStyle, \"px\", padding, resolveSpaceValue);\n }\n\n const applyAlign = (side: \"marginLeft\" | \"marginRight\", value: typeof align) => {\n setResponsiveStyleVar(layoutStyle, side === \"marginLeft\" ? \"ml\" : \"mr\", value, (input) => {\n const margins = resolveInlineAlignValue(input);\n return side === \"marginLeft\" ? margins.marginLeft : margins.marginRight;\n });\n };\n\n if (boxProps.ml === undefined && boxProps.mr === undefined && isResponsiveValue(align)) {\n applyAlign(\"marginLeft\", align);\n applyAlign(\"marginRight\", align);\n }\n\n const layoutClass =\n Object.keys(layoutStyle).length > 2 || hasStyleValue(userStyle)\n ? withBoxLayoutClass(layoutStyle, userStyle)\n : undefined;\n\n const finalProps = mergeProps(passthroughProps, {\n ref,\n \"data-slot\": \"container\",\n \"data-ak-layout\": \"true\",\n \"data-variant\": responsiveVariant,\n \"data-size\": isStaticValue(size)\n ? serializeResponsiveValueIf(size, isContainerWidthToken)\n : undefined,\n \"data-align\": isStaticValue(align)\n ? serializeResponsiveValueIf(align, isContainerAlignToken)\n : undefined,\n \"data-max-width\": isStaticValue(maxWidth)\n ? serializeResponsiveValueIf(maxWidth, isContainerWidthToken)\n : undefined,\n ...(layoutClass ? { class: layoutClass } : {}),\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children} />;\n }\n\n return <div {...finalProps}>{children}</div>;\n}\n"],"mappings":";;;;;;AAiBA,MAAM,yBAAyB,IAAI,IAAI;CAAC;CAAK;CAAK;CAAK;CAAK;CAAM;CAAM;CAAM;CAAM;AAAO,CAAC;AAE5F,SAAS,sBAAsB,OAAiC;CAC9D,OAAO,OAAO,UAAU,YAAY,uBAAuB,IAAI,MAAM,KAAK,CAAC;AAC7E;AAEA,SAAS,sBAAsB,OAAsD;CACnF,OAAO,OAAO,UAAU,YAAY;EAAC;EAAQ;EAAU;CAAO,CAAC,CAAC,SAAS,MAAM,KAAK,CAAC;AACvF;AAEA,SAAS,cAAc,OAAyB;CAC9C,IAAI,OAAO,UAAU,UAAU,OAAO,MAAM,KAAK,CAAC,CAAC,SAAS;CAC5D,IAAI,SAAS,OAAO,UAAU,UAC5B,OAAO,OAAO,KAAK,KAAgC,CAAC,CAAC,SAAS;CAGhE,OAAO;AACT;AAEA,SAAS,cAAc,OAAyB;CAC9C,OAAO,CAAC,kBAAkB,KAA4C;AACxE;AAIA,SAAgB,UAAU,OAAqD;CAC7E,MAAM,EACJ,SACA,UACA,SACA,UACA,SACA,MACA,QAAQ,UACR,KACA,OAAO,WACP,GAAG,SACD;CAEJ,MAAM,oBACJ,SAAS,KAAA,KAAa,aAAa,KAAA,IAAa,WAAW,YAAa,KAAA;CAE1E,MAAM,EAAE,UAAU,MAAM,qBAAqB,oBAAoB,IAAI;CACrE,MAAM,cAA+C;EACnD,WAAW;EACX,OAAO;CACT;CACA,qBAAqB,aAAa,QAAQ;CAE1C,MAAM,aAAa,YAAY;CAM/B,IAJE,SAAS,aAAa,KAAA,KACtB,eAAe,KAAA,MACd,kBAAkB,UAAU,KAAK,CAAC,sBAAsB,UAAU,IAGnE,sBAAsB,aAAa,aAAa,aAAa,UAC3D,OAAO,UAAU,YAAY,sBAAsB,KAAK,IACpD,0BAA0B,KAAK,IAC/B,KACN;CAGF,IACE,YAAY,KAAA,KACZ,SAAS,OAAO,KAAA,KAChB,SAAS,OAAO,KAAA,KAChB,SAAS,OAAO,KAAA,GAEhB,sBAAsB,aAAa,MAAM,SAAS,iBAAiB;CAGrE,MAAM,cAAc,MAAoC,UAAwB;EAC9E,sBAAsB,aAAa,SAAS,eAAe,OAAO,MAAM,QAAQ,UAAU;GACxF,MAAM,UAAU,wBAAwB,KAAK;GAC7C,OAAO,SAAS,eAAe,QAAQ,aAAa,QAAQ;EAC9D,CAAC;CACH;CAEA,IAAI,SAAS,OAAO,KAAA,KAAa,SAAS,OAAO,KAAA,KAAa,kBAAkB,KAAK,GAAG;EACtF,WAAW,cAAc,KAAK;EAC9B,WAAW,eAAe,KAAK;CACjC;CAEA,MAAM,cACJ,OAAO,KAAK,WAAW,CAAC,CAAC,SAAS,KAAK,cAAc,SAAS,IAC1D,mBAAmB,aAAa,SAAS,IACzC,KAAA;CAEN,MAAM,aAAa,WAAW,kBAAkB;EAC9C;EACA,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,aAAa,cAAc,IAAI,IAC3B,2BAA2B,MAAM,qBAAqB,IACtD,KAAA;EACJ,cAAc,cAAc,KAAK,IAC7B,2BAA2B,OAAO,qBAAqB,IACvD,KAAA;EACJ,kBAAkB,cAAc,QAAQ,IACpC,2BAA2B,UAAU,qBAAqB,IAC1D,KAAA;EACJ,GAAI,cAAc,EAAE,OAAO,YAAY,IAAI,CAAC;CAC9C,CAAC;CAED,IAAI,SACF,OAAO,oBAAC,MAAD;EAAM,SAAA;EAAQ,GAAI;EAAsB;CAAW,CAAA;CAG5D,OAAO,oBAAC,OAAD;EAAK,GAAI;EAAa;CAAc,CAAA;AAC7C"}
1
+ {"version":3,"file":"container.js","names":[],"sources":["../../../src/components/container/container.tsx"],"sourcesContent":["import { Block } from \"../block\";\nimport type { ContainerProps } from \"./container.types\";\n\nexport function Container(props: ContainerProps): JSX.Element {\n const { children, size = \"page\", ...rest } = props;\n\n return (\n <Block\n maxWidth={size}\n marginX=\"auto\"\n paddingX=\"page\"\n width=\"full\"\n {...rest}\n data-slot=\"container\"\n >\n {children}\n </Block>\n );\n}\n"],"mappings":";;;AAGA,SAAgB,UAAU,OAAoC;CAC5D,MAAM,EAAE,UAAU,OAAO,QAAQ,GAAG,SAAS;CAE7C,OACE,oBAAC,OAAD;EACE,UAAU;EACV,SAAQ;EACR,UAAS;EACT,OAAM;EACN,GAAI;EACJ,aAAU;EAET;CACI,CAAA;AAEX"}
@@ -1,28 +1,9 @@
1
- import { BoxLayoutOwnProps, LayoutResponsive } from "../box/box.types.js";
2
- import { JSXElement } from "@askrjs/askr/foundations";
3
- import { Ref } from "@askrjs/askr/foundations/utilities";
4
-
1
+ import { BlockSize } from "../_internal/block-layout.js";
2
+ import { BlockDivProps } from "../block/block.types.js";
5
3
  //#region src/components/container/container.types.d.ts
6
- type ContainerVariant = "default" | "sm" | "md" | "lg" | "xl" | "xxl" | "fluid";
7
- type ContainerOwnProps = BoxLayoutOwnProps & {
8
- /** Bootstrap-like responsive container variant. */variant?: ContainerVariant; /** Radix-style container size token. */
9
- size?: LayoutResponsive<"1" | "2" | "3" | "4" | "sm" | "md" | "lg" | "xl" | "fluid">; /** Horizontal alignment of the constrained container. */
10
- align?: LayoutResponsive<"left" | "center" | "right">; /** Compatibility max-width override. */
11
- maxWidth?: LayoutResponsive<string>; /** Compatibility horizontal padding override. */
12
- padding?: LayoutResponsive<string | number>;
13
- children?: unknown;
4
+ type ContainerProps = Omit<BlockDivProps, "maxWidth"> & {
5
+ size?: BlockSize;
14
6
  };
15
- type ContainerNativeProps = Omit<JSX.IntrinsicElements["div"], "children" | "ref"> & ContainerOwnProps & {
16
- asChild?: false;
17
- ref?: Ref<HTMLDivElement>;
18
- };
19
- type ContainerAsChildProps = ContainerOwnProps & {
20
- asChild: true;
21
- children: JSXElement;
22
- ref?: Ref<unknown>;
23
- style?: JSX.IntrinsicElements["div"]["style"];
24
- };
25
- type ContainerProps = ContainerNativeProps | ContainerAsChildProps;
26
7
  //#endregion
27
- export { ContainerAsChildProps, ContainerNativeProps, ContainerOwnProps, ContainerProps, ContainerVariant };
8
+ export { ContainerProps };
28
9
  //# sourceMappingURL=container.types.d.ts.map
@@ -1,3 +1,2 @@
1
- import { ContainerAsChildProps, ContainerNativeProps, ContainerOwnProps, ContainerProps, ContainerVariant } from "./container.types.js";
2
- import { Container } from "./container.js";
3
- import { CONTAINER_A11Y_CONTRACT, ContainerA11yContract } from "./container.a11y.js";
1
+ import { ContainerProps } from "./container.types.js";
2
+ import { Container } from "./container.js";
@@ -1,36 +1,42 @@
1
- import { classes } from "../_internal/classes.js";
1
+ import { Block } from "../block/block.js";
2
2
  import { jsx, jsxs } from "@askrjs/askr/jsx-runtime";
3
3
  //#region src/components/empty-state/empty-state.tsx
4
4
  function EmptyState(props) {
5
- const { icon, title, titleAs: TitleTag = "h2", description, actions, children, ref, class: className, ...rest } = props;
6
- return /* @__PURE__ */ jsxs("div", {
5
+ const { icon, title, titleAs: TitleTag = "h2", description, action, children, ...rest } = props;
6
+ return /* @__PURE__ */ jsx(Block, {
7
+ center: true,
8
+ minHeight: "content",
9
+ padding: "xl",
7
10
  ...rest,
8
- ref,
9
- class: classes("empty-state", className),
10
11
  "data-slot": "empty-state",
11
- children: [
12
- icon !== void 0 ? /* @__PURE__ */ jsx("div", {
13
- class: "empty-state-icon",
14
- "data-slot": "empty-state-icon",
15
- children: icon
16
- }) : null,
17
- title !== void 0 ? /* @__PURE__ */ jsx(TitleTag, {
18
- class: "empty-state-title",
19
- "data-slot": "empty-state-title",
20
- children: title
21
- }) : null,
22
- description !== void 0 ? /* @__PURE__ */ jsx("p", {
23
- class: "empty-state-description",
24
- "data-slot": "empty-state-description",
25
- children: description
26
- }) : null,
27
- children,
28
- actions !== void 0 ? /* @__PURE__ */ jsx("div", {
29
- class: "empty-state-actions",
30
- "data-slot": "empty-state-actions",
31
- children: actions
32
- }) : null
33
- ]
12
+ children: /* @__PURE__ */ jsxs(Block, {
13
+ align: "center",
14
+ gap: "md",
15
+ maxWidth: "sm",
16
+ "data-slot": "empty-state-content",
17
+ children: [
18
+ icon !== void 0 ? /* @__PURE__ */ jsx("div", {
19
+ "data-slot": "empty-state-icon",
20
+ children: icon
21
+ }) : null,
22
+ title !== void 0 ? /* @__PURE__ */ jsx(TitleTag, {
23
+ "data-slot": "empty-state-title",
24
+ children: title
25
+ }) : null,
26
+ description !== void 0 ? /* @__PURE__ */ jsx("p", {
27
+ "data-slot": "empty-state-description",
28
+ children: description
29
+ }) : null,
30
+ children,
31
+ action !== void 0 ? /* @__PURE__ */ jsx(Block, {
32
+ direction: "row",
33
+ justify: "center",
34
+ gap: "sm",
35
+ "data-slot": "empty-state-actions",
36
+ children: action
37
+ }) : null
38
+ ]
39
+ })
34
40
  });
35
41
  }
36
42
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"empty-state.js","names":[],"sources":["../../../src/components/empty-state/empty-state.tsx"],"sourcesContent":["import { classes } from \"../_internal/classes\";\nimport type { EmptyStateProps } from \"./empty-state.types\";\n\nexport function EmptyState(props: EmptyStateProps): JSX.Element {\n const {\n icon,\n title,\n titleAs: TitleTag = \"h2\",\n description,\n actions,\n children,\n ref,\n class: className,\n ...rest\n } = props;\n\n return (\n <div {...rest} ref={ref} class={classes(\"empty-state\", className)} data-slot=\"empty-state\">\n {icon !== undefined ? (\n <div class=\"empty-state-icon\" data-slot=\"empty-state-icon\">\n {icon}\n </div>\n ) : null}\n {title !== undefined ? (\n <TitleTag class=\"empty-state-title\" data-slot=\"empty-state-title\">\n {title}\n </TitleTag>\n ) : null}\n {description !== undefined ? (\n <p class=\"empty-state-description\" data-slot=\"empty-state-description\">\n {description}\n </p>\n ) : null}\n {children}\n {actions !== undefined ? (\n <div class=\"empty-state-actions\" data-slot=\"empty-state-actions\">\n {actions}\n </div>\n ) : null}\n </div>\n );\n}\n"],"mappings":";;;AAGA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EACJ,MACA,OACA,SAAS,WAAW,MACpB,aACA,SACA,UACA,KACA,OAAO,WACP,GAAG,SACD;CAEJ,OACE,qBAAC,OAAD;EAAK,GAAI;EAAW;EAAK,OAAO,QAAQ,eAAe,SAAS;EAAG,aAAU;YAA7E;GACG,SAAS,KAAA,IACR,oBAAC,OAAD;IAAK,OAAM;IAAmB,aAAU;cACrC;GACE,CAAA,IACH;GACH,UAAU,KAAA,IACT,oBAAC,UAAD;IAAU,OAAM;IAAoB,aAAU;cAC3C;GACO,CAAA,IACR;GACH,gBAAgB,KAAA,IACf,oBAAC,KAAD;IAAG,OAAM;IAA0B,aAAU;cAC1C;GACA,CAAA,IACD;GACH;GACA,YAAY,KAAA,IACX,oBAAC,OAAD;IAAK,OAAM;IAAsB,aAAU;cACxC;GACE,CAAA,IACH;EACD;;AAET"}
1
+ {"version":3,"file":"empty-state.js","names":[],"sources":["../../../src/components/empty-state/empty-state.tsx"],"sourcesContent":["import { Block } from \"../block\";\nimport type { EmptyStateProps } from \"./empty-state.types\";\n\nexport function EmptyState(props: EmptyStateProps): JSX.Element {\n const { icon, title, titleAs: TitleTag = \"h2\", description, action, children, ...rest } = props;\n\n return (\n <Block center minHeight=\"content\" padding=\"xl\" {...rest} data-slot=\"empty-state\">\n <Block align=\"center\" gap=\"md\" maxWidth=\"sm\" data-slot=\"empty-state-content\">\n {icon !== undefined ? <div data-slot=\"empty-state-icon\">{icon}</div> : null}\n {title !== undefined ? <TitleTag data-slot=\"empty-state-title\">{title}</TitleTag> : null}\n {description !== undefined ? (\n <p data-slot=\"empty-state-description\">{description}</p>\n ) : null}\n {children}\n {action !== undefined ? (\n <Block direction=\"row\" justify=\"center\" gap=\"sm\" data-slot=\"empty-state-actions\">\n {action}\n </Block>\n ) : null}\n </Block>\n </Block>\n );\n}\n"],"mappings":";;;AAGA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,MAAM,OAAO,SAAS,WAAW,MAAM,aAAa,QAAQ,UAAU,GAAG,SAAS;CAE1F,OACE,oBAAC,OAAD;EAAO,QAAA;EAAO,WAAU;EAAU,SAAQ;EAAK,GAAI;EAAM,aAAU;YACjE,qBAAC,OAAD;GAAO,OAAM;GAAS,KAAI;GAAK,UAAS;GAAK,aAAU;aAAvD;IACG,SAAS,KAAA,IAAY,oBAAC,OAAD;KAAK,aAAU;eAAoB;IAAU,CAAA,IAAI;IACtE,UAAU,KAAA,IAAY,oBAAC,UAAD;KAAU,aAAU;eAAqB;IAAgB,CAAA,IAAI;IACnF,gBAAgB,KAAA,IACf,oBAAC,KAAD;KAAG,aAAU;eAA2B;IAAe,CAAA,IACrD;IACH;IACA,WAAW,KAAA,IACV,oBAAC,OAAD;KAAO,WAAU;KAAM,SAAQ;KAAS,KAAI;KAAK,aAAU;eACxD;IACI,CAAA,IACL;GACC;;CACF,CAAA;AAEX"}
@@ -1,15 +1,12 @@
1
- import { Ref } from "@askrjs/askr/foundations/utilities";
2
-
1
+ import { BlockDivProps } from "../block/block.types.js";
3
2
  //#region src/components/empty-state/empty-state.types.d.ts
4
3
  type EmptyStateHeadingTag = "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
5
- type EmptyStateProps = Omit<JSX.IntrinsicElements["div"], "children"> & {
4
+ type EmptyStateProps = BlockDivProps & {
6
5
  icon?: unknown;
7
6
  title?: unknown;
8
7
  titleAs?: EmptyStateHeadingTag;
9
8
  description?: unknown;
10
- actions?: unknown;
11
- children?: unknown;
12
- ref?: Ref<HTMLDivElement>;
9
+ action?: unknown;
13
10
  };
14
11
  //#endregion
15
12
  export { EmptyStateHeadingTag, EmptyStateProps };
@@ -3,12 +3,13 @@ import { mergeProps } from "../_internal/merge-props.js";
3
3
  import { jsx } from "@askrjs/askr/jsx-runtime";
4
4
  //#region src/components/field/field.tsx
5
5
  function Field(props) {
6
- const { children, class: className, ref, ...rest } = props;
6
+ const { children, class: className, invalid = false, ref, ...rest } = props;
7
7
  return /* @__PURE__ */ jsx("div", {
8
8
  ...mergeProps(rest, {
9
9
  class: classes("field", className),
10
10
  ref,
11
- "data-slot": "field"
11
+ "data-slot": "field",
12
+ "data-invalid": invalid ? "true" : void 0
12
13
  }),
13
14
  children
14
15
  });
@@ -30,6 +31,7 @@ function FieldError(props) {
30
31
  ...mergeProps(rest, {
31
32
  class: classes("field-error", className),
32
33
  ref,
34
+ role: "alert",
33
35
  "data-slot": "field-error"
34
36
  }),
35
37
  children
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","names":[],"sources":["../../../src/components/field/field.tsx"],"sourcesContent":["import { classes } from \"../_internal/classes\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport type { FieldErrorProps, FieldHintProps, FieldProps } from \"./field.types\";\n\nexport function Field(props: FieldProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field\", className),\n ref,\n \"data-slot\": \"field\",\n });\n\n return <div {...finalProps}>{children}</div>;\n}\n\nexport function FieldHint(props: FieldHintProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field-hint\", className),\n ref,\n \"data-slot\": \"field-hint\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n\nexport function FieldError(props: FieldErrorProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field-error\", className),\n ref,\n \"data-slot\": \"field-error\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n"],"mappings":";;;;AAIA,SAAgB,MAAM,OAAgC;CACpD,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,OAAD;EAAK,GANO,WAAW,MAAM;GAClC,OAAO,QAAQ,SAAS,SAAS;GACjC;GACA,aAAa;EACf,CAEyB;EAAI;CAAc,CAAA;AAC7C;AAEA,SAAgB,UAAU,OAAoC;CAC5D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,KAAD;EAAG,GANS,WAAW,MAAM;GAClC,OAAO,QAAQ,cAAc,SAAS;GACtC;GACA,aAAa;EACf,CAEuB;EAAI;CAAY,CAAA;AACzC;AAEA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,KAAD;EAAG,GANS,WAAW,MAAM;GAClC,OAAO,QAAQ,eAAe,SAAS;GACvC;GACA,aAAa;EACf,CAEuB;EAAI;CAAY,CAAA;AACzC"}
1
+ {"version":3,"file":"field.js","names":[],"sources":["../../../src/components/field/field.tsx"],"sourcesContent":["import { classes } from \"../_internal/classes\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport type { FieldErrorProps, FieldHintProps, FieldProps } from \"./field.types\";\n\nexport function Field(props: FieldProps): JSX.Element {\n const { children, class: className, invalid = false, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field\", className),\n ref,\n \"data-slot\": \"field\",\n \"data-invalid\": invalid ? \"true\" : undefined,\n });\n\n return <div {...finalProps}>{children}</div>;\n}\n\nexport function FieldHint(props: FieldHintProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field-hint\", className),\n ref,\n \"data-slot\": \"field-hint\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n\nexport function FieldError(props: FieldErrorProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n class: classes(\"field-error\", className),\n ref,\n role: \"alert\",\n \"data-slot\": \"field-error\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n"],"mappings":";;;;AAIA,SAAgB,MAAM,OAAgC;CACpD,MAAM,EAAE,UAAU,OAAO,WAAW,UAAU,OAAO,KAAK,GAAG,SAAS;CAQtE,OAAO,oBAAC,OAAD;EAAK,GAPO,WAAW,MAAM;GAClC,OAAO,QAAQ,SAAS,SAAS;GACjC;GACA,aAAa;GACb,gBAAgB,UAAU,SAAS,KAAA;EACrC,CAEyB;EAAI;CAAc,CAAA;AAC7C;AAEA,SAAgB,UAAU,OAAoC;CAC5D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,KAAD;EAAG,GANS,WAAW,MAAM;GAClC,OAAO,QAAQ,cAAc,SAAS;GACtC;GACA,aAAa;EACf,CAEuB;EAAI;CAAY,CAAA;AACzC;AAEA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAQrD,OAAO,oBAAC,KAAD;EAAG,GAPS,WAAW,MAAM;GAClC,OAAO,QAAQ,eAAe,SAAS;GACvC;GACA,MAAM;GACN,aAAa;EACf,CAEuB;EAAI;CAAY,CAAA;AACzC"}
@@ -5,6 +5,7 @@ type DivProps = Omit<JSX.IntrinsicElements["div"], "children" | "ref">;
5
5
  type ParagraphProps = Omit<JSX.IntrinsicElements["p"], "children" | "ref">;
6
6
  type FieldProps = DivProps & {
7
7
  children?: unknown;
8
+ invalid?: boolean;
8
9
  ref?: Ref<HTMLDivElement>;
9
10
  };
10
11
  type FieldHintProps = ParagraphProps & {
@@ -0,0 +1,13 @@
1
+ import { FooterContentProps, FooterDescriptionProps, FooterLinkProps, FooterLinksProps, FooterProps, FooterSectionProps, FooterTitleProps } from "./footer.types.js";
2
+
3
+ //#region src/components/footer/footer.d.ts
4
+ declare function Footer(props: FooterProps): JSX.Element;
5
+ declare function FooterContent(props: FooterContentProps): JSX.Element;
6
+ declare function FooterSection(props: FooterSectionProps): JSX.Element;
7
+ declare function FooterTitle(props: FooterTitleProps): JSX.Element;
8
+ declare function FooterDescription(props: FooterDescriptionProps): JSX.Element;
9
+ declare function FooterLinks(props: FooterLinksProps): JSX.Element;
10
+ declare function FooterLink(props: FooterLinkProps): JSX.Element;
11
+ //#endregion
12
+ export { Footer, FooterContent, FooterDescription, FooterLink, FooterLinks, FooterSection, FooterTitle };
13
+ //# sourceMappingURL=footer.d.ts.map
@@ -0,0 +1,86 @@
1
+ import { classes } from "../_internal/classes.js";
2
+ import { mergeProps } from "../_internal/merge-props.js";
3
+ import { Block } from "../block/block.js";
4
+ import { jsx } from "@askrjs/askr/jsx-runtime";
5
+ //#region src/components/footer/footer.tsx
6
+ function Footer(props) {
7
+ const { children, ...rest } = props;
8
+ return /* @__PURE__ */ jsx(Block, {
9
+ as: "footer",
10
+ background: "muted",
11
+ borderTop: true,
12
+ ...rest,
13
+ "data-slot": "footer",
14
+ children
15
+ });
16
+ }
17
+ function FooterContent(props) {
18
+ const { children, class: className, ref, ...rest } = props;
19
+ return /* @__PURE__ */ jsx("div", {
20
+ ...mergeProps(rest, {
21
+ ref,
22
+ class: classes("footer-content", className),
23
+ "data-slot": "footer-content"
24
+ }),
25
+ children
26
+ });
27
+ }
28
+ function FooterSection(props) {
29
+ const { children, class: className, ref, ...rest } = props;
30
+ return /* @__PURE__ */ jsx("div", {
31
+ ...mergeProps(rest, {
32
+ ref,
33
+ class: classes("footer-section", className),
34
+ "data-slot": "footer-section"
35
+ }),
36
+ children
37
+ });
38
+ }
39
+ function FooterTitle(props) {
40
+ const { children, class: className, ref, ...rest } = props;
41
+ return /* @__PURE__ */ jsx("h2", {
42
+ ...mergeProps(rest, {
43
+ ref,
44
+ class: classes("footer-title", className),
45
+ "data-slot": "footer-title"
46
+ }),
47
+ children
48
+ });
49
+ }
50
+ function FooterDescription(props) {
51
+ const { children, class: className, ref, ...rest } = props;
52
+ return /* @__PURE__ */ jsx("p", {
53
+ ...mergeProps(rest, {
54
+ ref,
55
+ class: classes("footer-description", className),
56
+ "data-slot": "footer-description"
57
+ }),
58
+ children
59
+ });
60
+ }
61
+ function FooterLinks(props) {
62
+ const { children, class: className, ref, ...rest } = props;
63
+ return /* @__PURE__ */ jsx("nav", {
64
+ ...mergeProps(rest, {
65
+ ref,
66
+ class: classes("footer-links", className),
67
+ "data-slot": "footer-links"
68
+ }),
69
+ children
70
+ });
71
+ }
72
+ function FooterLink(props) {
73
+ const { children, class: className, ref, ...rest } = props;
74
+ return /* @__PURE__ */ jsx("a", {
75
+ ...mergeProps(rest, {
76
+ ref,
77
+ class: classes("footer-link", className),
78
+ "data-slot": "footer-link"
79
+ }),
80
+ children
81
+ });
82
+ }
83
+ //#endregion
84
+ export { Footer, FooterContent, FooterDescription, FooterLink, FooterLinks, FooterSection, FooterTitle };
85
+
86
+ //# sourceMappingURL=footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer.js","names":[],"sources":["../../../src/components/footer/footer.tsx"],"sourcesContent":["import { Block } from \"../block\";\nimport { classes } from \"../_internal/classes\";\nimport { mergeProps } from \"../_internal/merge-props\";\nimport type {\n FooterContentProps,\n FooterDescriptionProps,\n FooterLinkProps,\n FooterLinksProps,\n FooterProps,\n FooterSectionProps,\n FooterTitleProps,\n} from \"./footer.types\";\n\nexport function Footer(props: FooterProps): JSX.Element {\n const { children, ...rest } = props;\n\n return (\n <Block as=\"footer\" background=\"muted\" borderTop {...rest} data-slot=\"footer\">\n {children}\n </Block>\n );\n}\n\nexport function FooterContent(props: FooterContentProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-content\", className),\n \"data-slot\": \"footer-content\",\n });\n\n return <div {...finalProps}>{children}</div>;\n}\n\nexport function FooterSection(props: FooterSectionProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-section\", className),\n \"data-slot\": \"footer-section\",\n });\n\n return <div {...finalProps}>{children}</div>;\n}\n\nexport function FooterTitle(props: FooterTitleProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-title\", className),\n \"data-slot\": \"footer-title\",\n });\n\n return <h2 {...finalProps}>{children}</h2>;\n}\n\nexport function FooterDescription(props: FooterDescriptionProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-description\", className),\n \"data-slot\": \"footer-description\",\n });\n\n return <p {...finalProps}>{children}</p>;\n}\n\nexport function FooterLinks(props: FooterLinksProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-links\", className),\n \"data-slot\": \"footer-links\",\n });\n\n return <nav {...finalProps}>{children}</nav>;\n}\n\nexport function FooterLink(props: FooterLinkProps): JSX.Element {\n const { children, class: className, ref, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"footer-link\", className),\n \"data-slot\": \"footer-link\",\n });\n\n return <a {...finalProps}>{children}</a>;\n}\n"],"mappings":";;;;;AAaA,SAAgB,OAAO,OAAiC;CACtD,MAAM,EAAE,UAAU,GAAG,SAAS;CAE9B,OACE,oBAAC,OAAD;EAAO,IAAG;EAAS,YAAW;EAAQ,WAAA;EAAU,GAAI;EAAM,aAAU;EACjE;CACI,CAAA;AAEX;AAEA,SAAgB,cAAc,OAAwC;CACpE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,OAAD;EAAK,GANO,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,kBAAkB,SAAS;GAC1C,aAAa;EACf,CAEyB;EAAI;CAAc,CAAA;AAC7C;AAEA,SAAgB,cAAc,OAAwC;CACpE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,OAAD;EAAK,GANO,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,kBAAkB,SAAS;GAC1C,aAAa;EACf,CAEyB;EAAI;CAAc,CAAA;AAC7C;AAEA,SAAgB,YAAY,OAAsC;CAChE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,MAAD;EAAI,GANQ,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,gBAAgB,SAAS;GACxC,aAAa;EACf,CAEwB;EAAI;CAAa,CAAA;AAC3C;AAEA,SAAgB,kBAAkB,OAA4C;CAC5E,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,KAAD;EAAG,GANS,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,sBAAsB,SAAS;GAC9C,aAAa;EACf,CAEuB;EAAI;CAAY,CAAA;AACzC;AAEA,SAAgB,YAAY,OAAsC;CAChE,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,OAAD;EAAK,GANO,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,gBAAgB,SAAS;GACxC,aAAa;EACf,CAEyB;EAAI;CAAc,CAAA;AAC7C;AAEA,SAAgB,WAAW,OAAqC;CAC9D,MAAM,EAAE,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAOrD,OAAO,oBAAC,KAAD;EAAG,GANS,WAAW,MAAM;GAClC;GACA,OAAO,QAAQ,eAAe,SAAS;GACvC,aAAa;EACf,CAEuB;EAAI;CAAY,CAAA;AACzC"}
@@ -0,0 +1,37 @@
1
+ import { BlockElementProps } from "../block/block.types.js";
2
+ import { Ref } from "@askrjs/askr/foundations/utilities";
3
+
4
+ //#region src/components/footer/footer.types.d.ts
5
+ type FooterProps = Omit<BlockElementProps<"footer">, "as">;
6
+ type DivProps = Omit<JSX.IntrinsicElements["div"], "children" | "ref">;
7
+ type HeadingProps = Omit<JSX.IntrinsicElements["h2"], "children" | "ref">;
8
+ type ParagraphProps = Omit<JSX.IntrinsicElements["p"], "children" | "ref">;
9
+ type NavProps = Omit<JSX.IntrinsicElements["nav"], "children" | "ref">;
10
+ type AnchorProps = Omit<JSX.IntrinsicElements["a"], "children" | "ref">;
11
+ type FooterContentProps = DivProps & {
12
+ children?: unknown;
13
+ ref?: Ref<HTMLDivElement>;
14
+ };
15
+ type FooterSectionProps = DivProps & {
16
+ children?: unknown;
17
+ ref?: Ref<HTMLDivElement>;
18
+ };
19
+ type FooterTitleProps = HeadingProps & {
20
+ children?: unknown;
21
+ ref?: Ref<HTMLHeadingElement>;
22
+ };
23
+ type FooterDescriptionProps = ParagraphProps & {
24
+ children?: unknown;
25
+ ref?: Ref<HTMLParagraphElement>;
26
+ };
27
+ type FooterLinksProps = NavProps & {
28
+ children?: unknown;
29
+ ref?: Ref<HTMLElement>;
30
+ };
31
+ type FooterLinkProps = AnchorProps & {
32
+ children?: unknown;
33
+ ref?: Ref<HTMLAnchorElement>;
34
+ };
35
+ //#endregion
36
+ export { FooterContentProps, FooterDescriptionProps, FooterLinkProps, FooterLinksProps, FooterProps, FooterSectionProps, FooterTitleProps };
37
+ //# sourceMappingURL=footer.types.d.ts.map
@@ -0,0 +1,2 @@
1
+ import { FooterContentProps, FooterDescriptionProps, FooterLinkProps, FooterLinksProps, FooterProps, FooterSectionProps, FooterTitleProps } from "./footer.types.js";
2
+ import { Footer, FooterContent, FooterDescription, FooterLink, FooterLinks, FooterSection, FooterTitle } from "./footer.js";
@@ -0,0 +1,7 @@
1
+ import { GridElement, GridProps } from "./grid.types.js";
2
+
3
+ //#region src/components/grid/grid.d.ts
4
+ declare function Grid<TElement extends GridElement = "div">(props: GridProps<TElement>): JSX.Element;
5
+ //#endregion
6
+ export { Grid };
7
+ //# sourceMappingURL=grid.d.ts.map