@postenbring/hedwig-react 0.0.80 → 0.0.82

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 (528) hide show
  1. package/dist/accordion/accordion-content.d.ts +6 -2
  2. package/dist/accordion/accordion-content.d.ts.map +1 -0
  3. package/dist/accordion/accordion-content.js +1 -1
  4. package/dist/accordion/accordion-content.js.map +1 -1
  5. package/dist/accordion/accordion-content.mjs +1 -1
  6. package/dist/accordion/accordion-header.d.ts +6 -2
  7. package/dist/accordion/accordion-header.d.ts.map +1 -0
  8. package/dist/accordion/accordion-item.d.ts +24 -3
  9. package/dist/accordion/accordion-item.d.ts.map +1 -0
  10. package/dist/accordion/accordion.d.ts +44 -2
  11. package/dist/accordion/accordion.d.ts.map +1 -0
  12. package/dist/accordion/accordion.js +102 -4
  13. package/dist/accordion/accordion.js.map +1 -1
  14. package/dist/accordion/accordion.mjs +5 -1
  15. package/dist/accordion/context.d.ts +7 -2
  16. package/dist/accordion/context.d.ts.map +1 -0
  17. package/dist/accordion/index.d.ts +9 -9
  18. package/dist/accordion/index.d.ts.map +1 -0
  19. package/dist/accordion/index.js +53 -54
  20. package/dist/accordion/index.js.map +1 -1
  21. package/dist/accordion/index.mjs +8 -8
  22. package/dist/badge/badge.d.ts +21 -5
  23. package/dist/badge/badge.d.ts.map +1 -0
  24. package/dist/badge/index.d.ts +3 -6
  25. package/dist/badge/index.d.ts.map +1 -0
  26. package/dist/box/box.d.ts +50 -4
  27. package/dist/box/box.d.ts.map +1 -0
  28. package/dist/box/box.js +15 -14
  29. package/dist/box/box.js.map +1 -1
  30. package/dist/box/box.mjs +1 -1
  31. package/dist/box/index.d.ts +3 -4
  32. package/dist/box/index.d.ts.map +1 -0
  33. package/dist/box/index.js +16 -19
  34. package/dist/box/index.js.map +1 -1
  35. package/dist/box/index.mjs +4 -5
  36. package/dist/breadcrumbs/breadcrumbs.d.ts +33 -2
  37. package/dist/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  38. package/dist/breadcrumbs/index.d.ts +3 -2
  39. package/dist/breadcrumbs/index.d.ts.map +1 -0
  40. package/dist/button/button.d.ts +33 -3
  41. package/dist/button/button.d.ts.map +1 -0
  42. package/dist/button/index.d.ts +3 -3
  43. package/dist/button/index.d.ts.map +1 -0
  44. package/dist/card/card.d.ts +69 -12
  45. package/dist/card/card.d.ts.map +1 -0
  46. package/dist/card/card.js +17 -6
  47. package/dist/card/card.js.map +1 -1
  48. package/dist/card/card.mjs +1 -1
  49. package/dist/card/index.d.ts +3 -12
  50. package/dist/card/index.d.ts.map +1 -0
  51. package/dist/card/index.js +18 -19
  52. package/dist/card/index.js.map +1 -1
  53. package/dist/card/index.mjs +4 -5
  54. package/dist/{chunk-XC3UHH2U.mjs → chunk-3WVRY6CC.mjs} +4 -4
  55. package/dist/{chunk-XC3UHH2U.mjs.map → chunk-3WVRY6CC.mjs.map} +1 -1
  56. package/dist/{chunk-GSJPTZT3.mjs → chunk-6AGDK5V3.mjs} +34 -19
  57. package/dist/chunk-6AGDK5V3.mjs.map +1 -0
  58. package/dist/{chunk-3MQKXNZ6.mjs → chunk-7UD72WOC.mjs} +13 -1
  59. package/dist/chunk-7UD72WOC.mjs.map +1 -0
  60. package/dist/chunk-7YWW46R3.mjs +1 -0
  61. package/dist/chunk-7YWW46R3.mjs.map +1 -0
  62. package/dist/{chunk-ENKVTAJB.mjs → chunk-AJWSQEDP.mjs} +18 -17
  63. package/dist/chunk-AJWSQEDP.mjs.map +1 -0
  64. package/dist/chunk-ARHJZUZG.mjs +1 -0
  65. package/dist/chunk-ARHJZUZG.mjs.map +1 -0
  66. package/dist/chunk-BCFV6VOE.mjs +1 -0
  67. package/dist/chunk-BCFV6VOE.mjs.map +1 -0
  68. package/dist/{chunk-GXYUJ5MA.mjs → chunk-C34HEQXO.mjs} +33 -29
  69. package/dist/chunk-C34HEQXO.mjs.map +1 -0
  70. package/dist/{chunk-PLXB3TNA.mjs → chunk-D7QPJIUZ.mjs} +5 -5
  71. package/dist/{chunk-PLXB3TNA.mjs.map → chunk-D7QPJIUZ.mjs.map} +1 -1
  72. package/dist/chunk-FYFJ75NX.mjs +1 -0
  73. package/dist/chunk-FYFJ75NX.mjs.map +1 -0
  74. package/dist/chunk-G65EYZFQ.mjs +1 -0
  75. package/dist/chunk-G65EYZFQ.mjs.map +1 -0
  76. package/dist/{chunk-2UWPZNXC.mjs → chunk-GLAEI3SD.mjs} +2 -2
  77. package/dist/{chunk-2UWPZNXC.mjs.map → chunk-GLAEI3SD.mjs.map} +1 -1
  78. package/dist/chunk-H3E546OT.mjs +1 -0
  79. package/dist/chunk-H3E546OT.mjs.map +1 -0
  80. package/dist/chunk-HQVL3ZJ2.mjs +1 -0
  81. package/dist/chunk-HQVL3ZJ2.mjs.map +1 -0
  82. package/dist/{chunk-XUWZ4HGD.mjs → chunk-LCJSUBCZ.mjs} +48 -45
  83. package/dist/chunk-LCJSUBCZ.mjs.map +1 -0
  84. package/dist/{chunk-KPGSRU4I.mjs → chunk-M3Y3XOGC.mjs} +13 -1
  85. package/dist/chunk-M3Y3XOGC.mjs.map +1 -0
  86. package/dist/{chunk-CIHZDFSQ.mjs → chunk-NU6OSFAU.mjs} +20 -9
  87. package/dist/chunk-NU6OSFAU.mjs.map +1 -0
  88. package/dist/chunk-RC76SXBP.mjs +1 -0
  89. package/dist/chunk-RC76SXBP.mjs.map +1 -0
  90. package/dist/{chunk-TQDUBRCZ.mjs → chunk-SQ63E7KM.mjs} +24 -22
  91. package/dist/chunk-SQ63E7KM.mjs.map +1 -0
  92. package/dist/{chunk-ES6ISHOV.mjs → chunk-UP3M3NEZ.mjs} +14 -13
  93. package/dist/{chunk-ES6ISHOV.mjs.map → chunk-UP3M3NEZ.mjs.map} +1 -1
  94. package/dist/chunk-ZKMFJZSH.mjs +1 -0
  95. package/dist/chunk-ZKMFJZSH.mjs.map +1 -0
  96. package/dist/description-list/description-list.d.ts +42 -2
  97. package/dist/description-list/description-list.d.ts.map +1 -0
  98. package/dist/description-list/index.d.ts +3 -2
  99. package/dist/description-list/index.d.ts.map +1 -0
  100. package/dist/footer/footer.d.ts +67 -7
  101. package/dist/footer/footer.d.ts.map +1 -0
  102. package/dist/footer/footer.js +80 -77
  103. package/dist/footer/footer.js.map +1 -1
  104. package/dist/footer/footer.mjs +5 -5
  105. package/dist/footer/index.d.ts +3 -7
  106. package/dist/footer/index.d.ts.map +1 -0
  107. package/dist/footer/index.js +81 -85
  108. package/dist/footer/index.js.map +1 -1
  109. package/dist/footer/index.mjs +8 -9
  110. package/dist/form/checkbox/checkbox.d.ts +28 -2
  111. package/dist/form/checkbox/checkbox.d.ts.map +1 -0
  112. package/dist/form/checkbox/index.d.ts +3 -2
  113. package/dist/form/checkbox/index.d.ts.map +1 -0
  114. package/dist/form/date-picker/date-picker.d.ts +33 -2
  115. package/dist/form/date-picker/date-picker.d.ts.map +1 -0
  116. package/dist/form/date-picker/index.d.ts +3 -2
  117. package/dist/form/date-picker/index.d.ts.map +1 -0
  118. package/dist/form/error-message/error-message.d.ts +8 -2
  119. package/dist/form/error-message/error-message.d.ts.map +1 -0
  120. package/dist/form/error-message/index.d.ts +3 -2
  121. package/dist/form/error-message/index.d.ts.map +1 -0
  122. package/dist/form/fieldset/fieldset.d.ts +22 -3
  123. package/dist/form/fieldset/fieldset.d.ts.map +1 -0
  124. package/dist/form/fieldset/index.d.ts +3 -3
  125. package/dist/form/fieldset/index.d.ts.map +1 -0
  126. package/dist/form/index.d.ts +9 -20
  127. package/dist/form/index.d.ts.map +1 -0
  128. package/dist/form/input/index.d.ts +3 -2
  129. package/dist/form/input/index.d.ts.map +1 -0
  130. package/dist/form/input/input.d.ts +5 -2
  131. package/dist/form/input/input.d.ts.map +1 -0
  132. package/dist/form/input-group/index.d.ts +3 -2
  133. package/dist/form/input-group/index.d.ts.map +1 -0
  134. package/dist/form/input-group/input-group.d.ts +27 -2
  135. package/dist/form/input-group/input-group.d.ts.map +1 -0
  136. package/dist/form/radiobutton/index.d.ts +5 -5
  137. package/dist/form/radiobutton/index.d.ts.map +1 -0
  138. package/dist/form/radiobutton/radiobutton.d.ts +17 -2
  139. package/dist/form/radiobutton/radiobutton.d.ts.map +1 -0
  140. package/dist/form/radiobutton/radiogroup.d.ts +24 -3
  141. package/dist/form/radiobutton/radiogroup.d.ts.map +1 -0
  142. package/dist/form/select/index.d.ts +3 -2
  143. package/dist/form/select/index.d.ts.map +1 -0
  144. package/dist/form/select/select.d.ts +9 -2
  145. package/dist/form/select/select.d.ts.map +1 -0
  146. package/dist/form/textarea/index.d.ts +3 -2
  147. package/dist/form/textarea/index.d.ts.map +1 -0
  148. package/dist/form/textarea/textarea.d.ts +5 -2
  149. package/dist/form/textarea/textarea.d.ts.map +1 -0
  150. package/dist/help-text/help-text.d.ts +51 -1
  151. package/dist/help-text/help-text.d.ts.map +1 -0
  152. package/dist/help-text/help-text.js +17 -20
  153. package/dist/help-text/help-text.js.map +1 -1
  154. package/dist/help-text/help-text.mjs +3 -3
  155. package/dist/help-text/index.d.ts +3 -1
  156. package/dist/help-text/index.d.ts.map +1 -0
  157. package/dist/help-text/index.js +17 -20
  158. package/dist/help-text/index.js.map +1 -1
  159. package/dist/help-text/index.mjs +3 -3
  160. package/dist/index-no-css.d.ts +26 -128
  161. package/dist/index-no-css.d.ts.map +1 -0
  162. package/dist/index-no-css.js +373 -394
  163. package/dist/index-no-css.js.map +1 -1
  164. package/dist/index-no-css.mjs +50 -57
  165. package/dist/index.d.ts +11 -128
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +373 -394
  168. package/dist/index.js.map +1 -1
  169. package/dist/index.mjs +50 -57
  170. package/dist/index.mjs.map +1 -1
  171. package/dist/layout/container/container.d.ts +23 -2
  172. package/dist/layout/container/container.d.ts.map +1 -0
  173. package/dist/layout/grid/grid.d.ts +101 -4
  174. package/dist/layout/grid/grid.d.ts.map +1 -0
  175. package/dist/layout/grid/grid.js +11 -10
  176. package/dist/layout/grid/grid.js.map +1 -1
  177. package/dist/layout/grid/grid.mjs +1 -1
  178. package/dist/layout/grid/index.d.ts +3 -4
  179. package/dist/layout/grid/index.d.ts.map +1 -0
  180. package/dist/layout/grid/index.js +12 -15
  181. package/dist/layout/grid/index.js.map +1 -1
  182. package/dist/layout/grid/index.mjs +4 -5
  183. package/dist/layout/index.d.ts +4 -10
  184. package/dist/layout/index.d.ts.map +1 -0
  185. package/dist/layout/index.js +12 -15
  186. package/dist/layout/index.js.map +1 -1
  187. package/dist/layout/index.mjs +4 -5
  188. package/dist/layout/responsive.d.ts +10 -2
  189. package/dist/layout/responsive.d.ts.map +1 -0
  190. package/dist/layout/spacing.d.ts +33 -3
  191. package/dist/layout/spacing.d.ts.map +1 -0
  192. package/dist/layout/stack/index.d.ts +3 -4
  193. package/dist/layout/stack/index.d.ts.map +1 -0
  194. package/dist/layout/stack/stack.d.ts +62 -4
  195. package/dist/layout/stack/stack.d.ts.map +1 -0
  196. package/dist/link/index.d.ts +3 -2
  197. package/dist/link/index.d.ts.map +1 -0
  198. package/dist/link/link.d.ts +20 -2
  199. package/dist/link/link.d.ts.map +1 -0
  200. package/dist/list/index.d.ts +5 -5
  201. package/dist/list/index.d.ts.map +1 -0
  202. package/dist/list/link-list.d.ts +12 -2
  203. package/dist/list/link-list.d.ts.map +1 -0
  204. package/dist/list/list.d.ts +40 -3
  205. package/dist/list/list.d.ts.map +1 -0
  206. package/dist/message/index.d.ts +3 -3
  207. package/dist/message/index.d.ts.map +1 -0
  208. package/dist/message/index.js +36 -38
  209. package/dist/message/index.js.map +1 -1
  210. package/dist/message/index.mjs +5 -6
  211. package/dist/message/message.d.ts +36 -4
  212. package/dist/message/message.d.ts.map +1 -0
  213. package/dist/message/message.js +35 -32
  214. package/dist/message/message.js.map +1 -1
  215. package/dist/message/message.mjs +2 -2
  216. package/dist/modal/index.d.ts +3 -5
  217. package/dist/modal/index.d.ts.map +1 -0
  218. package/dist/modal/index.js +60 -62
  219. package/dist/modal/index.js.map +1 -1
  220. package/dist/modal/index.mjs +5 -6
  221. package/dist/modal/modal.d.ts +81 -5
  222. package/dist/modal/modal.d.ts.map +1 -0
  223. package/dist/modal/modal.js +59 -55
  224. package/dist/modal/modal.js.map +1 -1
  225. package/dist/modal/modal.mjs +2 -2
  226. package/dist/navbar/icons.d.ts +3 -2
  227. package/dist/navbar/icons.d.ts.map +1 -0
  228. package/dist/navbar/index.d.ts +4 -13
  229. package/dist/navbar/index.d.ts.map +1 -0
  230. package/dist/navbar/index.js +144 -145
  231. package/dist/navbar/index.js.map +1 -1
  232. package/dist/navbar/index.mjs +4 -5
  233. package/dist/navbar/navbar-expandable-menu.d.ts +35 -7
  234. package/dist/navbar/navbar-expandable-menu.d.ts.map +1 -0
  235. package/dist/navbar/navbar.d.ts +130 -9
  236. package/dist/navbar/navbar.d.ts.map +1 -0
  237. package/dist/navbar/navbar.js +237 -28
  238. package/dist/navbar/navbar.js.map +1 -1
  239. package/dist/navbar/navbar.mjs +4 -1
  240. package/dist/show-more/index.d.ts +5 -4
  241. package/dist/show-more/index.d.ts.map +1 -0
  242. package/dist/show-more/show-more.d.ts +42 -2
  243. package/dist/show-more/show-more.d.ts.map +1 -0
  244. package/dist/skeleton/index.d.ts +3 -2
  245. package/dist/skeleton/index.d.ts.map +1 -0
  246. package/dist/skeleton/skeleton.d.ts +67 -2
  247. package/dist/skeleton/skeleton.d.ts.map +1 -0
  248. package/dist/step-indicator/index.d.ts +3 -1
  249. package/dist/step-indicator/index.d.ts.map +1 -0
  250. package/dist/step-indicator/step-indicator.d.ts +36 -1
  251. package/dist/step-indicator/step-indicator.d.ts.map +1 -0
  252. package/dist/styled-html/index.d.ts +3 -2
  253. package/dist/styled-html/index.d.ts.map +1 -0
  254. package/dist/styled-html/styled-html.d.ts +36 -2
  255. package/dist/styled-html/styled-html.d.ts.map +1 -0
  256. package/dist/table/index.d.ts +3 -1
  257. package/dist/table/index.d.ts.map +1 -0
  258. package/dist/table/table.d.ts +25 -1
  259. package/dist/table/table.d.ts.map +1 -0
  260. package/dist/tabs/context.d.ts +8 -3
  261. package/dist/tabs/context.d.ts.map +1 -0
  262. package/dist/tabs/index.d.ts +7 -10
  263. package/dist/tabs/index.d.ts.map +1 -0
  264. package/dist/tabs/index.js +34 -37
  265. package/dist/tabs/index.js.map +1 -1
  266. package/dist/tabs/index.mjs +4 -4
  267. package/dist/tabs/tabs-content.d.ts +26 -4
  268. package/dist/tabs/tabs-content.d.ts.map +1 -0
  269. package/dist/tabs/tabs-list.d.ts +21 -4
  270. package/dist/tabs/tabs-list.d.ts.map +1 -0
  271. package/dist/tabs/tabs.d.ts +26 -2
  272. package/dist/tabs/tabs.d.ts.map +1 -0
  273. package/dist/tabs/tabs.js +205 -8
  274. package/dist/tabs/tabs.js.map +1 -1
  275. package/dist/tabs/tabs.mjs +4 -1
  276. package/dist/text/index.d.ts +4 -2
  277. package/dist/text/index.d.ts.map +1 -0
  278. package/dist/text/text.d.ts +58 -2
  279. package/dist/text/text.d.ts.map +1 -0
  280. package/dist/utilities/auto-animate-height.d.ts +33 -2
  281. package/dist/utilities/auto-animate-height.d.ts.map +1 -0
  282. package/dist/utilities/index.d.ts +3 -2
  283. package/dist/utilities/index.d.ts.map +1 -0
  284. package/dist/utils.d.ts +28 -5
  285. package/dist/utils.d.ts.map +1 -0
  286. package/dist/warning-banner/index.d.ts +3 -2
  287. package/dist/warning-banner/index.d.ts.map +1 -0
  288. package/dist/warning-banner/index.js +16 -19
  289. package/dist/warning-banner/index.js.map +1 -1
  290. package/dist/warning-banner/index.mjs +3 -3
  291. package/dist/warning-banner/warning-banner.d.ts +8 -2
  292. package/dist/warning-banner/warning-banner.d.ts.map +1 -0
  293. package/dist/warning-banner/warning-banner.js +16 -19
  294. package/dist/warning-banner/warning-banner.js.map +1 -1
  295. package/dist/warning-banner/warning-banner.mjs +3 -3
  296. package/package.json +11 -7
  297. package/src/accordion/accordion-content.tsx +31 -0
  298. package/src/accordion/accordion-header.tsx +36 -0
  299. package/src/accordion/accordion-item.tsx +62 -0
  300. package/src/accordion/accordion.stories.tsx +154 -0
  301. package/src/accordion/accordion.tsx +68 -0
  302. package/src/accordion/context.ts +8 -0
  303. package/src/accordion/index.tsx +9 -0
  304. package/src/badge/badge.stories.tsx +44 -0
  305. package/src/badge/badge.tsx +63 -0
  306. package/src/badge/index.tsx +3 -0
  307. package/src/box/box.stories.tsx +112 -0
  308. package/src/box/box.tsx +122 -0
  309. package/src/box/index.tsx +3 -0
  310. package/src/breadcrumbs/breadcrumbs.stories.tsx +50 -0
  311. package/src/breadcrumbs/breadcrumbs.tsx +47 -0
  312. package/src/breadcrumbs/index.tsx +3 -0
  313. package/src/button/button.stories.tsx +104 -0
  314. package/src/button/button.tsx +87 -0
  315. package/src/button/index.tsx +3 -0
  316. package/src/card/card.stories.tsx +82 -0
  317. package/src/card/card.tsx +222 -0
  318. package/src/card/index.tsx +14 -0
  319. package/src/description-list/description-list.stories.tsx +95 -0
  320. package/src/description-list/description-list.tsx +61 -0
  321. package/src/description-list/index.tsx +2 -0
  322. package/src/footer/footer.tsx +169 -0
  323. package/src/footer/index.tsx +9 -0
  324. package/src/form/checkbox/checkbox.stories.tsx +104 -0
  325. package/src/form/checkbox/checkbox.tsx +82 -0
  326. package/src/form/checkbox/index.tsx +2 -0
  327. package/src/form/date-picker/date-picker.stories.tsx +27 -0
  328. package/src/form/date-picker/date-picker.tsx +85 -0
  329. package/src/form/date-picker/index.tsx +2 -0
  330. package/src/form/error-message/error-message.stories.tsx +19 -0
  331. package/src/form/error-message/error-message.tsx +25 -0
  332. package/src/form/error-message/index.tsx +2 -0
  333. package/src/form/fieldset/fieldset.stories.tsx +86 -0
  334. package/src/form/fieldset/fieldset.tsx +64 -0
  335. package/src/form/fieldset/index.tsx +2 -0
  336. package/src/form/index.tsx +8 -0
  337. package/src/form/input/index.tsx +2 -0
  338. package/src/form/input/input.stories.tsx +166 -0
  339. package/src/form/input/input.tsx +30 -0
  340. package/src/form/input-group/index.tsx +2 -0
  341. package/src/form/input-group/input-group.tsx +106 -0
  342. package/src/form/radiobutton/index.tsx +4 -0
  343. package/src/form/radiobutton/radiobutton.stories.tsx +93 -0
  344. package/src/form/radiobutton/radiobutton.tsx +85 -0
  345. package/src/form/radiobutton/radiogroup.stories.tsx +39 -0
  346. package/src/form/radiobutton/radiogroup.tsx +52 -0
  347. package/src/form/select/index.tsx +2 -0
  348. package/src/form/select/select.stories.tsx +93 -0
  349. package/src/form/select/select.tsx +33 -0
  350. package/src/form/textarea/index.tsx +2 -0
  351. package/src/form/textarea/textarea.stories.tsx +106 -0
  352. package/src/form/textarea/textarea.tsx +33 -0
  353. package/src/help-text/help-text.tsx +98 -0
  354. package/src/help-text/index.ts +2 -0
  355. package/src/index-no-css.tsx +25 -0
  356. package/src/index.tsx +11 -0
  357. package/src/layout/container/container.stories.tsx +62 -0
  358. package/src/layout/container/container.tsx +47 -0
  359. package/src/layout/grid/grid.tsx +163 -0
  360. package/src/layout/grid/index.tsx +3 -0
  361. package/src/layout/index.tsx +3 -0
  362. package/src/layout/responsive.ts +26 -0
  363. package/src/layout/spacing.ts +37 -0
  364. package/src/layout/stack/index.tsx +2 -0
  365. package/src/layout/stack/stack.tsx +128 -0
  366. package/src/link/index.tsx +3 -0
  367. package/src/link/link.stories.tsx +64 -0
  368. package/src/link/link.tsx +46 -0
  369. package/src/list/index.tsx +5 -0
  370. package/src/list/link-list.stories.tsx +38 -0
  371. package/src/list/link-list.tsx +26 -0
  372. package/src/list/list.stories.tsx +71 -0
  373. package/src/list/list.tsx +65 -0
  374. package/src/message/index.tsx +2 -0
  375. package/src/message/message.stories.tsx +93 -0
  376. package/src/message/message.tsx +89 -0
  377. package/src/modal/index.tsx +3 -0
  378. package/src/modal/modal.stories.tsx +147 -0
  379. package/src/modal/modal.tsx +199 -0
  380. package/src/navbar/icons.tsx +21 -0
  381. package/src/navbar/index.tsx +18 -0
  382. package/src/navbar/navbar-expandable-menu.tsx +176 -0
  383. package/src/navbar/navbar.stories.tsx +99 -0
  384. package/src/navbar/navbar.tsx +264 -0
  385. package/src/show-more/index.ts +5 -0
  386. package/src/show-more/show-more.stories.tsx +119 -0
  387. package/src/show-more/show-more.tsx +66 -0
  388. package/src/skeleton/index.ts +2 -0
  389. package/src/skeleton/skeleton.stories.tsx +152 -0
  390. package/src/skeleton/skeleton.tsx +114 -0
  391. package/src/step-indicator/index.ts +2 -0
  392. package/src/step-indicator/step-indicator.stories.tsx +50 -0
  393. package/src/step-indicator/step-indicator.tsx +116 -0
  394. package/src/styled-html/index.ts +2 -0
  395. package/src/styled-html/styled-html.stories.tsx +189 -0
  396. package/src/styled-html/styled-html.tsx +59 -0
  397. package/src/table/index.ts +2 -0
  398. package/src/table/table.tsx +59 -0
  399. package/src/tabs/context.ts +18 -0
  400. package/src/tabs/index.tsx +7 -0
  401. package/src/tabs/tabs-content.tsx +62 -0
  402. package/src/tabs/tabs-list.tsx +129 -0
  403. package/src/tabs/tabs.stories.tsx +138 -0
  404. package/src/tabs/tabs.tsx +50 -0
  405. package/src/text/index.tsx +4 -0
  406. package/src/text/text.stories.tsx +112 -0
  407. package/src/text/text.tsx +129 -0
  408. package/src/utilities/auto-animate-height.tsx +139 -0
  409. package/src/utilities/index.ts +2 -0
  410. package/src/utils.ts +110 -0
  411. package/src/warning-banner/index.tsx +2 -0
  412. package/src/warning-banner/warning-banner.stories.tsx +43 -0
  413. package/src/warning-banner/warning-banner.tsx +79 -0
  414. package/dist/_tsup-dts-rollup.d.mts +0 -2600
  415. package/dist/_tsup-dts-rollup.d.ts +0 -2600
  416. package/dist/accordion/accordion-content.d.mts +0 -2
  417. package/dist/accordion/accordion-header.d.mts +0 -2
  418. package/dist/accordion/accordion-item.d.mts +0 -3
  419. package/dist/accordion/accordion.d.mts +0 -2
  420. package/dist/accordion/context.d.mts +0 -2
  421. package/dist/accordion/index.d.mts +0 -9
  422. package/dist/badge/badge.d.mts +0 -5
  423. package/dist/badge/index.d.mts +0 -6
  424. package/dist/box/box.d.mts +0 -4
  425. package/dist/box/index.d.mts +0 -4
  426. package/dist/breadcrumbs/breadcrumbs.d.mts +0 -2
  427. package/dist/breadcrumbs/index.d.mts +0 -2
  428. package/dist/button/button.d.mts +0 -3
  429. package/dist/button/index.d.mts +0 -3
  430. package/dist/card/card.d.mts +0 -12
  431. package/dist/card/index.d.mts +0 -12
  432. package/dist/chunk-3MQKXNZ6.mjs.map +0 -1
  433. package/dist/chunk-3NL3TOZF.mjs +0 -13
  434. package/dist/chunk-3NL3TOZF.mjs.map +0 -1
  435. package/dist/chunk-722MZPXO.mjs +0 -13
  436. package/dist/chunk-722MZPXO.mjs.map +0 -1
  437. package/dist/chunk-CIHZDFSQ.mjs.map +0 -1
  438. package/dist/chunk-CYEYGPRH.mjs +0 -17
  439. package/dist/chunk-CYEYGPRH.mjs.map +0 -1
  440. package/dist/chunk-ENKVTAJB.mjs.map +0 -1
  441. package/dist/chunk-GSJPTZT3.mjs.map +0 -1
  442. package/dist/chunk-GXYUJ5MA.mjs.map +0 -1
  443. package/dist/chunk-HBSDJAFF.mjs +0 -23
  444. package/dist/chunk-HBSDJAFF.mjs.map +0 -1
  445. package/dist/chunk-IJAX6APL.mjs +0 -23
  446. package/dist/chunk-IJAX6APL.mjs.map +0 -1
  447. package/dist/chunk-IKJJWKXM.mjs +0 -15
  448. package/dist/chunk-IKJJWKXM.mjs.map +0 -1
  449. package/dist/chunk-KPGSRU4I.mjs.map +0 -1
  450. package/dist/chunk-MKVI42QR.mjs +0 -19
  451. package/dist/chunk-MKVI42QR.mjs.map +0 -1
  452. package/dist/chunk-PT5H3QV6.mjs +0 -29
  453. package/dist/chunk-PT5H3QV6.mjs.map +0 -1
  454. package/dist/chunk-TQDUBRCZ.mjs.map +0 -1
  455. package/dist/chunk-V6UKKHKD.mjs +0 -33
  456. package/dist/chunk-V6UKKHKD.mjs.map +0 -1
  457. package/dist/chunk-XUWZ4HGD.mjs.map +0 -1
  458. package/dist/description-list/description-list.d.mts +0 -2
  459. package/dist/description-list/index.d.mts +0 -2
  460. package/dist/footer/footer.d.mts +0 -7
  461. package/dist/footer/index.d.mts +0 -7
  462. package/dist/form/checkbox/checkbox.d.mts +0 -2
  463. package/dist/form/checkbox/index.d.mts +0 -2
  464. package/dist/form/date-picker/date-picker.d.mts +0 -2
  465. package/dist/form/date-picker/index.d.mts +0 -2
  466. package/dist/form/error-message/error-message.d.mts +0 -2
  467. package/dist/form/error-message/index.d.mts +0 -2
  468. package/dist/form/fieldset/fieldset.d.mts +0 -3
  469. package/dist/form/fieldset/index.d.mts +0 -3
  470. package/dist/form/index.d.mts +0 -20
  471. package/dist/form/input/index.d.mts +0 -2
  472. package/dist/form/input/input.d.mts +0 -2
  473. package/dist/form/input-group/index.d.mts +0 -2
  474. package/dist/form/input-group/input-group.d.mts +0 -2
  475. package/dist/form/radiobutton/index.d.mts +0 -5
  476. package/dist/form/radiobutton/radiobutton.d.mts +0 -2
  477. package/dist/form/radiobutton/radiogroup.d.mts +0 -3
  478. package/dist/form/select/index.d.mts +0 -2
  479. package/dist/form/select/select.d.mts +0 -2
  480. package/dist/form/textarea/index.d.mts +0 -2
  481. package/dist/form/textarea/textarea.d.mts +0 -2
  482. package/dist/help-text/help-text.d.mts +0 -1
  483. package/dist/help-text/index.d.mts +0 -1
  484. package/dist/index-no-css.d.mts +0 -128
  485. package/dist/index.d.mts +0 -128
  486. package/dist/layout/container/container.d.mts +0 -2
  487. package/dist/layout/grid/grid.d.mts +0 -4
  488. package/dist/layout/grid/index.d.mts +0 -4
  489. package/dist/layout/index.d.mts +0 -10
  490. package/dist/layout/responsive.d.mts +0 -2
  491. package/dist/layout/spacing.d.mts +0 -3
  492. package/dist/layout/stack/index.d.mts +0 -4
  493. package/dist/layout/stack/stack.d.mts +0 -4
  494. package/dist/link/index.d.mts +0 -2
  495. package/dist/link/link.d.mts +0 -2
  496. package/dist/list/index.d.mts +0 -5
  497. package/dist/list/link-list.d.mts +0 -2
  498. package/dist/list/list.d.mts +0 -3
  499. package/dist/message/index.d.mts +0 -3
  500. package/dist/message/message.d.mts +0 -4
  501. package/dist/modal/index.d.mts +0 -5
  502. package/dist/modal/modal.d.mts +0 -5
  503. package/dist/navbar/icons.d.mts +0 -2
  504. package/dist/navbar/index.d.mts +0 -13
  505. package/dist/navbar/navbar-expandable-menu.d.mts +0 -7
  506. package/dist/navbar/navbar.d.mts +0 -9
  507. package/dist/show-more/index.d.mts +0 -4
  508. package/dist/show-more/show-more.d.mts +0 -2
  509. package/dist/skeleton/index.d.mts +0 -2
  510. package/dist/skeleton/skeleton.d.mts +0 -2
  511. package/dist/step-indicator/index.d.mts +0 -1
  512. package/dist/step-indicator/step-indicator.d.mts +0 -1
  513. package/dist/styled-html/index.d.mts +0 -2
  514. package/dist/styled-html/styled-html.d.mts +0 -2
  515. package/dist/table/index.d.mts +0 -1
  516. package/dist/table/table.d.mts +0 -1
  517. package/dist/tabs/context.d.mts +0 -3
  518. package/dist/tabs/index.d.mts +0 -10
  519. package/dist/tabs/tabs-content.d.mts +0 -4
  520. package/dist/tabs/tabs-list.d.mts +0 -4
  521. package/dist/tabs/tabs.d.mts +0 -2
  522. package/dist/text/index.d.mts +0 -2
  523. package/dist/text/text.d.mts +0 -2
  524. package/dist/utilities/auto-animate-height.d.mts +0 -2
  525. package/dist/utilities/index.d.mts +0 -2
  526. package/dist/utils.d.mts +0 -5
  527. package/dist/warning-banner/index.d.mts +0 -2
  528. package/dist/warning-banner/warning-banner.d.mts +0 -2
package/dist/index.mjs CHANGED
@@ -6,38 +6,35 @@ import {
6
6
  import "./chunk-3D2MWIEX.mjs";
7
7
  import {
8
8
  WarningBanner
9
- } from "./chunk-XC3UHH2U.mjs";
9
+ } from "./chunk-3WVRY6CC.mjs";
10
+ import "./chunk-7YWW46R3.mjs";
10
11
  import {
11
- TabsComponent
12
- } from "./chunk-IJAX6APL.mjs";
12
+ Tabs
13
+ } from "./chunk-7UD72WOC.mjs";
13
14
  import {
14
15
  TabsList,
15
16
  TabsTab
16
17
  } from "./chunk-4WQWU5TL.mjs";
17
- import "./chunk-3MQKXNZ6.mjs";
18
18
  import {
19
19
  TabsContent,
20
20
  TabsContents
21
21
  } from "./chunk-CCVZAHYA.mjs";
22
+ import "./chunk-RC76SXBP.mjs";
22
23
  import {
23
- MessageComponent
24
- } from "./chunk-IKJJWKXM.mjs";
25
- import {
24
+ Message,
26
25
  MessageDescription,
27
26
  MessageTitle
28
- } from "./chunk-TQDUBRCZ.mjs";
29
- import {
30
- ModalComponent
31
- } from "./chunk-CYEYGPRH.mjs";
27
+ } from "./chunk-SQ63E7KM.mjs";
28
+ import "./chunk-FYFJ75NX.mjs";
32
29
  import {
30
+ Modal,
33
31
  ModalContent,
34
32
  ModalFooter,
35
33
  ModalHeader
36
- } from "./chunk-XUWZ4HGD.mjs";
37
- import {
38
- NavbarComponent
39
- } from "./chunk-V6UKKHKD.mjs";
34
+ } from "./chunk-LCJSUBCZ.mjs";
35
+ import "./chunk-H3E546OT.mjs";
40
36
  import {
37
+ Navbar,
41
38
  NavbarButtonItem,
42
39
  NavbarItem,
43
40
  NavbarItemIcon,
@@ -45,7 +42,7 @@ import {
45
42
  NavbarLogo,
46
43
  NavbarLogoAndServiceText,
47
44
  NavbarNavigation
48
- } from "./chunk-GSJPTZT3.mjs";
45
+ } from "./chunk-6AGDK5V3.mjs";
49
46
  import {
50
47
  NavbarExpandableMenu,
51
48
  NavbarExpandableMenuContent,
@@ -53,9 +50,7 @@ import {
53
50
  useNavbarExpendableMenuContext
54
51
  } from "./chunk-6R7AXKBR.mjs";
55
52
  import "./chunk-MOU6WBT2.mjs";
56
- import {
57
- FooterComponent
58
- } from "./chunk-MKVI42QR.mjs";
53
+ import "./chunk-HQVL3ZJ2.mjs";
59
54
  import "./chunk-XFKD6EEJ.mjs";
60
55
  import "./chunk-AGZHQDCQ.mjs";
61
56
  import {
@@ -100,12 +95,11 @@ import "./chunk-BVG5VSZK.mjs";
100
95
  import {
101
96
  Container
102
97
  } from "./chunk-USXU6ULZ.mjs";
98
+ import "./chunk-G65EYZFQ.mjs";
103
99
  import {
104
- GridComponent
105
- } from "./chunk-722MZPXO.mjs";
106
- import {
100
+ Grid,
107
101
  GridItem
108
- } from "./chunk-ES6ISHOV.mjs";
102
+ } from "./chunk-UP3M3NEZ.mjs";
109
103
  import "./chunk-ZQHLYAJU.mjs";
110
104
  import {
111
105
  HStack,
@@ -118,10 +112,9 @@ import {
118
112
  } from "./chunk-MJ2DZH3N.mjs";
119
113
  import "./chunk-6QV3OV66.mjs";
120
114
  import "./chunk-ISAHCU7C.mjs";
115
+ import "./chunk-ARHJZUZG.mjs";
121
116
  import {
122
- CardComponent
123
- } from "./chunk-PT5H3QV6.mjs";
124
- import {
117
+ Card,
125
118
  CardBody,
126
119
  CardBodyAction,
127
120
  CardBodyActionArrow,
@@ -131,17 +124,18 @@ import {
131
124
  CardBodyHeaderTitle,
132
125
  CardMedia,
133
126
  CardMediaImg
134
- } from "./chunk-CIHZDFSQ.mjs";
127
+ } from "./chunk-NU6OSFAU.mjs";
135
128
  import "./chunk-2YL2MVWN.mjs";
136
129
  import {
137
130
  DescriptionList
138
131
  } from "./chunk-HMATZX4A.mjs";
139
132
  import {
133
+ Footer,
140
134
  FooterButtonLink,
141
135
  FooterLinkSection,
142
136
  FooterLinkSections,
143
137
  FooterLogo
144
- } from "./chunk-GXYUJ5MA.mjs";
138
+ } from "./chunk-C34HEQXO.mjs";
145
139
  import {
146
140
  LinkList
147
141
  } from "./chunk-COEZA7WA.mjs";
@@ -154,19 +148,20 @@ import {
154
148
  PrimaryButton,
155
149
  SecondaryButton
156
150
  } from "./chunk-KEKPEN2C.mjs";
151
+ import "./chunk-ZKMFJZSH.mjs";
157
152
  import {
158
- AccordionComponent
159
- } from "./chunk-HBSDJAFF.mjs";
160
- import {
161
- AccordionContent
162
- } from "./chunk-2UWPZNXC.mjs";
163
- import {
164
- AccordionHeader
165
- } from "./chunk-3EFAPJ3H.mjs";
153
+ Accordion
154
+ } from "./chunk-M3Y3XOGC.mjs";
166
155
  import {
167
156
  AccordionItem
168
157
  } from "./chunk-A2H2LAII.mjs";
169
- import "./chunk-KPGSRU4I.mjs";
158
+ import "./chunk-K6PP3ACJ.mjs";
159
+ import {
160
+ DarkBadge,
161
+ LighterBadge,
162
+ WarningBadge,
163
+ WhiteBadge
164
+ } from "./chunk-P6KBFRF4.mjs";
170
165
  import {
171
166
  Breadcrumbs
172
167
  } from "./chunk-YSFZCRWS.mjs";
@@ -180,24 +175,22 @@ import {
180
175
  } from "./chunk-EMI7NAO2.mjs";
181
176
  import "./chunk-KQITCS3U.mjs";
182
177
  import "./chunk-DZNH5JHY.mjs";
183
- import "./chunk-K6PP3ACJ.mjs";
184
178
  import {
185
- DarkBadge,
186
- LighterBadge,
187
- WarningBadge,
188
- WhiteBadge
189
- } from "./chunk-P6KBFRF4.mjs";
179
+ AccordionContent
180
+ } from "./chunk-GLAEI3SD.mjs";
181
+ import {
182
+ AccordionHeader
183
+ } from "./chunk-3EFAPJ3H.mjs";
190
184
  import "./chunk-V3PAFMK5.mjs";
191
185
  import "./chunk-CFAH2LID.mjs";
192
186
  import {
193
187
  HelpText
194
- } from "./chunk-PLXB3TNA.mjs";
195
- import {
196
- BoxComponent
197
- } from "./chunk-3NL3TOZF.mjs";
188
+ } from "./chunk-D7QPJIUZ.mjs";
189
+ import "./chunk-BCFV6VOE.mjs";
198
190
  import {
191
+ Box,
199
192
  BoxCloseButton
200
- } from "./chunk-ENKVTAJB.mjs";
193
+ } from "./chunk-AJWSQEDP.mjs";
201
194
  import "./chunk-F4STR6SD.mjs";
202
195
  import "./chunk-NE6W2PCD.mjs";
203
196
  import "./chunk-MSFHJVHD.mjs";
@@ -221,16 +214,16 @@ import "./chunk-R4SQKVDQ.mjs";
221
214
  // src/index.tsx
222
215
  import "@postenbring/hedwig-css/dist/index.css";
223
216
  export {
224
- AccordionComponent as Accordion,
217
+ Accordion,
225
218
  AccordionContent,
226
219
  AccordionHeader,
227
220
  AccordionItem,
228
221
  AutoAnimateHeight,
229
222
  LighterBadge as Badge,
230
- BoxComponent as Box,
223
+ Box,
231
224
  BoxCloseButton,
232
225
  Breadcrumbs,
233
- CardComponent as Card,
226
+ Card,
234
227
  CardBody,
235
228
  CardBodyAction,
236
229
  CardBodyActionArrow,
@@ -247,26 +240,26 @@ export {
247
240
  DescriptionList,
248
241
  ErrorMessage,
249
242
  Fieldset,
250
- FooterComponent as Footer,
243
+ Footer,
251
244
  FooterButtonLink,
252
245
  FooterLinkSection,
253
246
  FooterLinkSections,
254
247
  FooterLogo,
255
- GridComponent as Grid,
248
+ Grid,
256
249
  GridItem,
257
250
  HStack,
258
251
  HelpText,
259
252
  Input,
260
253
  Link,
261
254
  LinkList,
262
- MessageComponent as Message,
255
+ Message,
263
256
  MessageDescription,
264
257
  MessageTitle,
265
- ModalComponent as Modal,
258
+ Modal,
266
259
  ModalContent,
267
260
  ModalFooter,
268
261
  ModalHeader,
269
- NavbarComponent as Navbar,
262
+ Navbar,
270
263
  NavbarButtonItem,
271
264
  NavbarExpandableMenu,
272
265
  NavbarExpandableMenuContent,
@@ -289,7 +282,7 @@ export {
289
282
  StepIndicator,
290
283
  StyledHtml,
291
284
  Table,
292
- TabsComponent as Tabs,
285
+ Tabs,
293
286
  TabsContent,
294
287
  TabsContents,
295
288
  TabsList,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["/**\n * Import the hedwig css file, so the consumers don't have to. Plug and play.\n *\n * NOTE: Importing the full path, not just the package name.\n * For some reason vite did not include the css during development when this file only imported the package name.\n *\n * Consumers using the `@postenbring/hedwig-css` package directly should only need to import the package without a path.\n */\nimport \"@postenbring/hedwig-css/dist/index.css\";\n\nexport * from \"./index-no-css\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,OAAO;","names":[]}
1
+ {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["/**\n * Import the hedwig css file, so the consumers don't have to. Plug and play.\n *\n * NOTE: Importing the full path, not just the package name.\n * For some reason vite did not include the css during development when this file only imported the package name.\n *\n * Consumers using the `@postenbring/hedwig-css` package directly should only need to import the package without a path.\n */\nimport \"@postenbring/hedwig-css/dist/index.css\";\n\nexport * from \"./index-no-css\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,OAAO;","names":[]}
@@ -1,2 +1,23 @@
1
- export { ContainerProps_alias_3 as ContainerProps } from '../../_tsup-dts-rollup';
2
- export { Container_alias_3 as Container } from '../../_tsup-dts-rollup';
1
+ import type { HTMLAttributes, ReactNode } from "react";
2
+ export interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
3
+ variant?: "default" | "slim";
4
+ children: ReactNode;
5
+ /**
6
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
7
+ *
8
+ * @default false
9
+ */
10
+ asChild?: boolean;
11
+ /**
12
+ * Convienence prop to change the rendered element.
13
+ *
14
+ * Use {@link ContainerProps.asChild} if you need more control of the rendered element.
15
+ */
16
+ as?: "div" | "section" | "aside" | "main" | "article" | "header" | "footer";
17
+ }
18
+ /**
19
+ * Container is a layout component that is used to wrap content.
20
+ * It ensures a max-width and minimum spacing on the sides.
21
+ */
22
+ export declare const Container: import("react").ForwardRefExoticComponent<ContainerProps & import("react").RefAttributes<HTMLDivElement>>;
23
+ //# sourceMappingURL=container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/layout/container/container.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,QAAQ,EAAE,SAAS,CAAC;IAEpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC7E;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,2GAiBrB,CAAC"}
@@ -1,4 +1,101 @@
1
- export { GridProps_alias_3 as GridProps } from '../../_tsup-dts-rollup';
2
- export { Grid_alias_3 as Grid } from '../../_tsup-dts-rollup';
3
- export { GridItemProps_alias_3 as GridItemProps } from '../../_tsup-dts-rollup';
4
- export { GridItem_alias_3 as GridItem } from '../../_tsup-dts-rollup';
1
+ import { forwardRef } from "react";
2
+ import { type ResponsiveProp } from "../responsive";
3
+ import { type SpacingSizes, type ResponsiveSpacingSizes } from "../spacing";
4
+ export interface GridItemProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ children: React.ReactNode;
6
+ /**
7
+ * Column span for the grid item
8
+ *
9
+ * `default` is `12`
10
+ */
11
+ span?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;
12
+ /**
13
+ * Center the grid item horizontally
14
+ *
15
+ * Offsets the start position of the grid item relative to it's span so that it appears centered.
16
+ *
17
+ * assumes a span of 2, 4, 6, 8, or 10
18
+ *
19
+ * a span of `12` is 100% width and centering has no effect
20
+ *
21
+ * `default` is `false`
22
+ */
23
+ center?: ResponsiveProp<boolean>;
24
+ /**
25
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
26
+ */
27
+ asChild?: boolean;
28
+ }
29
+ /**
30
+ * 🚧 Grid.Item
31
+ *
32
+ * Use as the direct child of a `Grid` to override `span` and `center` for individual items.
33
+ */
34
+ export declare const GridItem: import("react").ForwardRefExoticComponent<GridItemProps & import("react").RefAttributes<HTMLDivElement>>;
35
+ export interface GridProps extends React.HTMLAttributes<HTMLDivElement> {
36
+ children: React.ReactNode;
37
+ /**
38
+ * Space between grid items. Both horizontal and vertical.
39
+ *
40
+ * Use the responsive shorthand `12-16` to jump a level at the `large` breakpoint.
41
+ *
42
+ * Or use the responsive object `{ initial: 40, large: 64 }` to set different values at different breakpoints.
43
+ *
44
+ * Use `gapX` and `gapY` to set different values for horizontal and vertical spacing.
45
+ */
46
+ gap?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;
47
+ /**
48
+ * Space between grid items horizontally
49
+ */
50
+ gapX?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;
51
+ /**
52
+ * Space between grid items vertically
53
+ */
54
+ gapY?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;
55
+ /**
56
+ * Column span for the grid items
57
+ *
58
+ * `default` is `12`
59
+ */
60
+ span?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;
61
+ /**
62
+ * Center grid items horizontally
63
+ *
64
+ * Offsets the start position of the grid items relative to their span so that it appears centered.
65
+ *
66
+ * assumes a span of 2, 4, 6, 8, or 10
67
+ *
68
+ * a span of `12` is 100% width and centering has no effect
69
+ *
70
+ * `default` is `false`
71
+ */
72
+ center?: ResponsiveProp<boolean>;
73
+ /**
74
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
75
+ *
76
+ * @default false
77
+ */
78
+ asChild?: boolean;
79
+ }
80
+ /**
81
+ * A simple opionated abstraction over CSS Grid.
82
+ *
83
+ * The grid is always a 12 column grid.
84
+ *
85
+ * @example
86
+ * ```tsx
87
+ * <Grid gap="12-16" span={{ small: 6 }}>
88
+ * <div>6/12</div>
89
+ * <div>6/12</div>
90
+ * <Grid.Item span={{ small: 12 }}>12/12</Grid.Item>
91
+ * <div>6/12</div>
92
+ * <div>6/12</div>
93
+ * </Grid>
94
+ * ```
95
+ */
96
+ export declare const Grid: GridType;
97
+ type GridType = ReturnType<typeof forwardRef<HTMLDivElement, GridProps>> & {
98
+ Item: typeof GridItem;
99
+ };
100
+ export {};
101
+ //# sourceMappingURL=grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../src/layout/grid/grid.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,sBAAsB,EAAsB,MAAM,YAAY,CAAC;AAEhG,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAExE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,0GAmBpB,CAAC;AAGF,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACrE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,sBAAsB,CAAC;IAE5D;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,sBAAsB,CAAC;IAE7D;;OAEG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC,YAAY,CAAC,GAAG,sBAAsB,CAAC;IAE7D;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IAExE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAEjC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,UAyBJ,CAAC;AAGd,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,GAAG;IACzE,IAAI,EAAE,OAAO,QAAQ,CAAC;CACvB,CAAC"}
@@ -78,16 +78,16 @@ function getSpacingVariable(size) {
78
78
 
79
79
  // src/layout/grid/grid.tsx
80
80
  var import_jsx_runtime = require("react/jsx-runtime");
81
- var Grid = (0, import_react.forwardRef)(
81
+ var GridItem = (0, import_react.forwardRef)(
82
82
  (_a, ref) => {
83
- var _b = _a, { children, asChild, className, span, center, style: _style, gap, gapX, gapY } = _b, rest = __objRest(_b, ["children", "asChild", "className", "span", "center", "style", "gap", "gapX", "gapY"]);
83
+ var _b = _a, { children, asChild, className, span, center, style: _style } = _b, rest = __objRest(_b, ["children", "asChild", "className", "span", "center", "style"]);
84
84
  const Component = asChild ? import_react_slot.Slot : "div";
85
- const style = __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, _style), getResponsiveProps("--hds-grid-gap", gap, getSpacingVariable)), getResponsiveProps("--hds-grid-gap-x", gapX, getSpacingVariable)), getResponsiveProps("--hds-grid-gap-y", gapY, getSpacingVariable)), getResponsiveProps("--hds-grid-span", span)), getResponsiveProps("--hds-grid-center", center, (value) => value ? "1" : "0"));
85
+ const style = __spreadValues(__spreadValues(__spreadValues({}, _style), getResponsiveProps("--hds-grid-item-span", span)), getResponsiveProps("--hds-grid-item-center", center, (value) => value ? "1" : "0"));
86
86
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
87
87
  Component,
88
88
  __spreadProps(__spreadValues({
89
89
  style,
90
- className: (0, import_typed_classname.clsx)("hds-grid", className),
90
+ className: (0, import_typed_classname.clsx)("hds-grid__item", className),
91
91
  ref
92
92
  }, rest), {
93
93
  children
@@ -95,17 +95,17 @@ var Grid = (0, import_react.forwardRef)(
95
95
  );
96
96
  }
97
97
  );
98
- Grid.displayName = "Grid";
99
- var GridItem = (0, import_react.forwardRef)(
98
+ GridItem.displayName = "Grid.Item";
99
+ var Grid = (0, import_react.forwardRef)(
100
100
  (_a, ref) => {
101
- var _b = _a, { children, asChild, className, span, center, style: _style } = _b, rest = __objRest(_b, ["children", "asChild", "className", "span", "center", "style"]);
101
+ var _b = _a, { children, asChild, className, span, center, style: _style, gap, gapX, gapY } = _b, rest = __objRest(_b, ["children", "asChild", "className", "span", "center", "style", "gap", "gapX", "gapY"]);
102
102
  const Component = asChild ? import_react_slot.Slot : "div";
103
- const style = __spreadValues(__spreadValues(__spreadValues({}, _style), getResponsiveProps("--hds-grid-item-span", span)), getResponsiveProps("--hds-grid-item-center", center, (value) => value ? "1" : "0"));
103
+ const style = __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, _style), getResponsiveProps("--hds-grid-gap", gap, getSpacingVariable)), getResponsiveProps("--hds-grid-gap-x", gapX, getSpacingVariable)), getResponsiveProps("--hds-grid-gap-y", gapY, getSpacingVariable)), getResponsiveProps("--hds-grid-span", span)), getResponsiveProps("--hds-grid-center", center, (value) => value ? "1" : "0"));
104
104
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
105
105
  Component,
106
106
  __spreadProps(__spreadValues({
107
107
  style,
108
- className: (0, import_typed_classname.clsx)("hds-grid__item", className),
108
+ className: (0, import_typed_classname.clsx)("hds-grid", className),
109
109
  ref
110
110
  }, rest), {
111
111
  children
@@ -113,7 +113,8 @@ var GridItem = (0, import_react.forwardRef)(
113
113
  );
114
114
  }
115
115
  );
116
- GridItem.displayName = "Grid.Item";
116
+ Grid.displayName = "Grid";
117
+ Grid.Item = GridItem;
117
118
  // Annotate the CommonJS export names for ESM import in node:
118
119
  0 && (module.exports = {
119
120
  Grid,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layout/grid/grid.tsx","../../../src/layout/responsive.ts","../../../src/layout/spacing.ts"],"sourcesContent":["import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { forwardRef } from \"react\";\nimport { getResponsiveProps, type ResponsiveProp } from \"../responsive\";\nimport { type SpacingSizes, type ResponsiveSpacingSizes, getSpacingVariable } from \"../spacing\";\n\nexport interface GridProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Space between grid items. Both horizontal and vertical.\n *\n * Use the responsive shorthand `12-16` to jump a level at the `large` breakpoint.\n *\n * Or use the responsive object `{ initial: 40, large: 64 }` to set different values at different breakpoints.\n *\n * Use `gapX` and `gapY` to set different values for horizontal and vertical spacing.\n */\n gap?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Space between grid items horizontally\n */\n gapX?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Space between grid items vertically\n */\n gapY?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Column span for the grid items\n *\n * `default` is `12`\n */\n span?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;\n\n /**\n * Center grid items horizontally\n *\n * Offsets the start position of the grid items relative to their span so that it appears centered.\n *\n * assumes a span of 2, 4, 6, 8, or 10\n *\n * a span of `12` is 100% width and centering has no effect\n *\n * `default` is `false`\n */\n center?: ResponsiveProp<boolean>;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * A simple opionated abstraction over CSS Grid.\n *\n * The grid is always a 12 column grid.\n *\n * @example\n * ```tsx\n * <Grid gap=\"12-16\" span={{ small: 6 }}>\n * <div>6/12</div>\n * <div>6/12</div>\n * <Grid.Item span={{ small: 12 }}>12/12</Grid.Item>\n * <div>6/12</div>\n * <div>6/12</div>\n * </Grid>\n * ```\n */\nexport const Grid = forwardRef<HTMLDivElement, GridProps>(\n (\n { children, asChild, className, span, center, style: _style, gap, gapX, gapY, ...rest },\n ref,\n ) => {\n const Component = asChild ? Slot : \"div\";\n const style: React.CSSProperties = {\n ..._style,\n ...getResponsiveProps(\"--hds-grid-gap\", gap, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-gap-x\", gapX, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-gap-y\", gapY, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-span\", span),\n ...getResponsiveProps(\"--hds-grid-center\", center, (value) => (value ? \"1\" : \"0\")),\n };\n return (\n <Component\n style={style}\n className={clsx(\"hds-grid\", className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nGrid.displayName = \"Grid\";\n\nexport interface GridItemProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Column span for the grid item\n *\n * `default` is `12`\n */\n span?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;\n\n /**\n * Center the grid item horizontally\n *\n * Offsets the start position of the grid item relative to it's span so that it appears centered.\n *\n * assumes a span of 2, 4, 6, 8, or 10\n *\n * a span of `12` is 100% width and centering has no effect\n *\n * `default` is `false`\n */\n center?: ResponsiveProp<boolean>;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean;\n}\n\n/**\n * 🚧 Grid.Item\n *\n * Use as the direct child of a `Grid` to override `span` and `center` for individual items.\n */\nexport const GridItem = forwardRef<HTMLDivElement, GridItemProps>(\n ({ children, asChild, className, span, center, style: _style, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n const style: React.CSSProperties = {\n ..._style,\n ...getResponsiveProps(\"--hds-grid-item-span\", span),\n ...getResponsiveProps(\"--hds-grid-item-center\", center, (value) => (value ? \"1\" : \"0\")),\n };\n return (\n <Component\n style={style}\n className={clsx(\"hds-grid__item\", className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nGridItem.displayName = \"Grid.Item\";\n","type Breakpoints = \"initial\" | \"small\" | \"medium\" | \"large\" | \"xlarge\";\n\ntype ResponsiveValues<T> = {\n [Breakpoint in Breakpoints]?: T;\n};\n\nexport type ResponsiveProp<T> = T | ResponsiveValues<T>;\n\nexport function getResponsiveProps<T>(\n variable: `--hds-${string}`,\n inputValues?: ResponsiveProp<T>,\n valueTransformer: (value: T) => string = (value) => String(value),\n) {\n if (!inputValues) return {};\n\n if (typeof inputValues !== \"object\") {\n return { [`${variable}-initial`]: valueTransformer(inputValues) };\n }\n\n const result: Record<string, string> = {};\n for (const [key, value] of Object.entries(inputValues as ResponsiveValues<T>)) {\n result[`${variable}-${key}`] = valueTransformer(value);\n }\n\n return result;\n}\n","// TODO: Get from tokens package\n// For now it's fine, since it's still in this monorepo\nconst spacingSizes = {\n \"4\": \"4\",\n \"8\": \"8\",\n \"12\": \"12\",\n \"16\": \"16\",\n \"20\": \"20\",\n \"24\": \"24\",\n \"32\": \"32\",\n \"40\": \"40\",\n \"48\": \"48\",\n \"64\": \"64\",\n \"80\": \"80\",\n \"120\": \"120\",\n} as const;\nexport type SpacingSizes = keyof typeof spacingSizes;\n\nconst responsiveSpacingSizes = {\n \"4-8\": \"4-8\",\n \"8-12\": \"8-12\",\n \"12-16\": \"12-16\",\n \"16-20\": \"16-20\",\n \"20-24\": \"20-24\",\n \"24-32\": \"24-32\",\n \"32-40\": \"32-40\",\n \"40-48\": \"40-48\",\n \"48-64\": \"48-64\",\n \"64-80\": \"64-80\",\n \"80-120\": \"80-120\",\n \"120-160\": \"120-160\",\n} as const;\nexport type ResponsiveSpacingSizes = keyof typeof responsiveSpacingSizes;\n\nexport function getSpacingVariable(size: SpacingSizes | ResponsiveSpacingSizes) {\n return `var(--hds-spacing-${size})`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAqB;AACrB,wBAAqB;AACrB,mBAA2B;;;ACMpB,SAAS,mBACd,UACA,aACA,mBAAyC,CAAC,UAAU,OAAO,KAAK,GAChE;AACA,MAAI,CAAC;AAAa,WAAO,CAAC;AAE1B,MAAI,OAAO,gBAAgB,UAAU;AACnC,WAAO,EAAE,CAAC,GAAG,QAAQ,UAAU,GAAG,iBAAiB,WAAW,EAAE;AAAA,EAClE;AAEA,QAAM,SAAiC,CAAC;AACxC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAkC,GAAG;AAC7E,WAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,IAAI,iBAAiB,KAAK;AAAA,EACvD;AAEA,SAAO;AACT;;;ACSO,SAAS,mBAAmB,MAA6C;AAC9E,SAAO,qBAAqB,IAAI;AAClC;;;AFqDM;AAfC,IAAM,WAAO;AAAA,EAClB,CACE,IACA,QACG;AAFH,iBAAE,YAAU,SAAS,WAAW,MAAM,QAAQ,OAAO,QAAQ,KAAK,MAAM,KA5E5E,IA4EI,IAAiF,iBAAjF,IAAiF,CAA/E,YAAU,WAAS,aAAW,QAAM,UAAQ,SAAe,OAAK,QAAM;AAGxE,UAAM,YAAY,UAAU,yBAAO;AACnC,UAAM,QAA6B,8FAC9B,SACA,mBAAmB,kBAAkB,KAAK,kBAAkB,IAC5D,mBAAmB,oBAAoB,MAAM,kBAAkB,IAC/D,mBAAmB,oBAAoB,MAAM,kBAAkB,IAC/D,mBAAmB,mBAAmB,IAAI,IAC1C,mBAAmB,qBAAqB,QAAQ,CAAC,UAAW,QAAQ,MAAM,GAAI;AAEnF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAW,6BAAK,YAAY,SAAsB;AAAA,QAClD;AAAA,SACI,OAJL;AAAA,QAME;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,KAAK,cAAc;AAoCZ,IAAM,eAAW;AAAA,EACtB,CAAC,IAAwE,QAAQ;AAAhF,iBAAE,YAAU,SAAS,WAAW,MAAM,QAAQ,OAAO,OAzIxD,IAyIG,IAAgE,iBAAhE,IAAgE,CAA9D,YAAU,WAAS,aAAW,QAAM,UAAQ;AAC7C,UAAM,YAAY,UAAU,yBAAO;AACnC,UAAM,QAA6B,iDAC9B,SACA,mBAAmB,wBAAwB,IAAI,IAC/C,mBAAmB,0BAA0B,QAAQ,CAAC,UAAW,QAAQ,MAAM,GAAI;AAExF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAW,6BAAK,kBAAkB,SAAsB;AAAA,QACxD;AAAA,SACI,OAJL;AAAA,QAME;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/layout/grid/grid.tsx","../../../src/layout/responsive.ts","../../../src/layout/spacing.ts"],"sourcesContent":["import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { forwardRef } from \"react\";\nimport { getResponsiveProps, type ResponsiveProp } from \"../responsive\";\nimport { type SpacingSizes, type ResponsiveSpacingSizes, getSpacingVariable } from \"../spacing\";\n\nexport interface GridItemProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Column span for the grid item\n *\n * `default` is `12`\n */\n span?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;\n\n /**\n * Center the grid item horizontally\n *\n * Offsets the start position of the grid item relative to it's span so that it appears centered.\n *\n * assumes a span of 2, 4, 6, 8, or 10\n *\n * a span of `12` is 100% width and centering has no effect\n *\n * `default` is `false`\n */\n center?: ResponsiveProp<boolean>;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean;\n}\n\n/**\n * 🚧 Grid.Item\n *\n * Use as the direct child of a `Grid` to override `span` and `center` for individual items.\n */\nexport const GridItem = forwardRef<HTMLDivElement, GridItemProps>(\n ({ children, asChild, className, span, center, style: _style, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n const style: React.CSSProperties = {\n ..._style,\n ...getResponsiveProps(\"--hds-grid-item-span\", span),\n ...getResponsiveProps(\"--hds-grid-item-center\", center, (value) => (value ? \"1\" : \"0\")),\n };\n return (\n <Component\n style={style}\n className={clsx(\"hds-grid__item\", className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nGridItem.displayName = \"Grid.Item\";\n\nexport interface GridProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Space between grid items. Both horizontal and vertical.\n *\n * Use the responsive shorthand `12-16` to jump a level at the `large` breakpoint.\n *\n * Or use the responsive object `{ initial: 40, large: 64 }` to set different values at different breakpoints.\n *\n * Use `gapX` and `gapY` to set different values for horizontal and vertical spacing.\n */\n gap?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Space between grid items horizontally\n */\n gapX?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Space between grid items vertically\n */\n gapY?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Column span for the grid items\n *\n * `default` is `12`\n */\n span?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;\n\n /**\n * Center grid items horizontally\n *\n * Offsets the start position of the grid items relative to their span so that it appears centered.\n *\n * assumes a span of 2, 4, 6, 8, or 10\n *\n * a span of `12` is 100% width and centering has no effect\n *\n * `default` is `false`\n */\n center?: ResponsiveProp<boolean>;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * A simple opionated abstraction over CSS Grid.\n *\n * The grid is always a 12 column grid.\n *\n * @example\n * ```tsx\n * <Grid gap=\"12-16\" span={{ small: 6 }}>\n * <div>6/12</div>\n * <div>6/12</div>\n * <Grid.Item span={{ small: 12 }}>12/12</Grid.Item>\n * <div>6/12</div>\n * <div>6/12</div>\n * </Grid>\n * ```\n */\nexport const Grid = forwardRef<HTMLDivElement, GridProps>(\n (\n { children, asChild, className, span, center, style: _style, gap, gapX, gapY, ...rest },\n ref,\n ) => {\n const Component = asChild ? Slot : \"div\";\n const style: React.CSSProperties = {\n ..._style,\n ...getResponsiveProps(\"--hds-grid-gap\", gap, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-gap-x\", gapX, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-gap-y\", gapY, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-span\", span),\n ...getResponsiveProps(\"--hds-grid-center\", center, (value) => (value ? \"1\" : \"0\")),\n };\n return (\n <Component\n style={style}\n className={clsx(\"hds-grid\", className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n) as GridType;\nGrid.displayName = \"Grid\";\n\ntype GridType = ReturnType<typeof forwardRef<HTMLDivElement, GridProps>> & {\n Item: typeof GridItem;\n};\n\nGrid.Item = GridItem;\n","type Breakpoints = \"initial\" | \"small\" | \"medium\" | \"large\" | \"xlarge\";\n\ntype ResponsiveValues<T> = {\n [Breakpoint in Breakpoints]?: T;\n};\n\nexport type ResponsiveProp<T> = T | ResponsiveValues<T>;\n\nexport function getResponsiveProps<T>(\n variable: `--hds-${string}`,\n inputValues?: ResponsiveProp<T>,\n valueTransformer: (value: T) => string = (value) => String(value),\n) {\n if (!inputValues) return {};\n\n if (typeof inputValues !== \"object\") {\n return { [`${variable}-initial`]: valueTransformer(inputValues) };\n }\n\n const result: Record<string, string> = {};\n for (const [key, value] of Object.entries(inputValues as ResponsiveValues<T>)) {\n result[`${variable}-${key}`] = valueTransformer(value);\n }\n\n return result;\n}\n","// TODO: Get from tokens package\n// For now it's fine, since it's still in this monorepo\nconst spacingSizes = {\n \"4\": \"4\",\n \"8\": \"8\",\n \"12\": \"12\",\n \"16\": \"16\",\n \"20\": \"20\",\n \"24\": \"24\",\n \"32\": \"32\",\n \"40\": \"40\",\n \"48\": \"48\",\n \"64\": \"64\",\n \"80\": \"80\",\n \"120\": \"120\",\n} as const;\nexport type SpacingSizes = keyof typeof spacingSizes;\n\nconst responsiveSpacingSizes = {\n \"4-8\": \"4-8\",\n \"8-12\": \"8-12\",\n \"12-16\": \"12-16\",\n \"16-20\": \"16-20\",\n \"20-24\": \"20-24\",\n \"24-32\": \"24-32\",\n \"32-40\": \"32-40\",\n \"40-48\": \"40-48\",\n \"48-64\": \"48-64\",\n \"64-80\": \"64-80\",\n \"80-120\": \"80-120\",\n \"120-160\": \"120-160\",\n} as const;\nexport type ResponsiveSpacingSizes = keyof typeof responsiveSpacingSizes;\n\nexport function getSpacingVariable(size: SpacingSizes | ResponsiveSpacingSizes) {\n return `var(--hds-spacing-${size})`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAqB;AACrB,wBAAqB;AACrB,mBAA2B;;;ACMpB,SAAS,mBACd,UACA,aACA,mBAAyC,CAAC,UAAU,OAAO,KAAK,GAChE;AACA,MAAI,CAAC;AAAa,WAAO,CAAC;AAE1B,MAAI,OAAO,gBAAgB,UAAU;AACnC,WAAO,EAAE,CAAC,GAAG,QAAQ,UAAU,GAAG,iBAAiB,WAAW,EAAE;AAAA,EAClE;AAEA,QAAM,SAAiC,CAAC;AACxC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAkC,GAAG;AAC7E,WAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,IAAI,iBAAiB,KAAK;AAAA,EACvD;AAEA,SAAO;AACT;;;ACSO,SAAS,mBAAmB,MAA6C;AAC9E,SAAO,qBAAqB,IAAI;AAClC;;;AFaM;AATC,IAAM,eAAW;AAAA,EACtB,CAAC,IAAwE,QAAQ;AAAhF,iBAAE,YAAU,SAAS,WAAW,MAAM,QAAQ,OAAO,OAzCxD,IAyCG,IAAgE,iBAAhE,IAAgE,CAA9D,YAAU,WAAS,aAAW,QAAM,UAAQ;AAC7C,UAAM,YAAY,UAAU,yBAAO;AACnC,UAAM,QAA6B,iDAC9B,SACA,mBAAmB,wBAAwB,IAAI,IAC/C,mBAAmB,0BAA0B,QAAQ,CAAC,UAAW,QAAQ,MAAM,GAAI;AAExF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAW,6BAAK,kBAAkB,SAAsB;AAAA,QACxD;AAAA,SACI,OAJL;AAAA,QAME;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;AAsEhB,IAAM,WAAO;AAAA,EAClB,CACE,IACA,QACG;AAFH,iBAAE,YAAU,SAAS,WAAW,MAAM,QAAQ,OAAO,QAAQ,KAAK,MAAM,KApI5E,IAoII,IAAiF,iBAAjF,IAAiF,CAA/E,YAAU,WAAS,aAAW,QAAM,UAAQ,SAAe,OAAK,QAAM;AAGxE,UAAM,YAAY,UAAU,yBAAO;AACnC,UAAM,QAA6B,8FAC9B,SACA,mBAAmB,kBAAkB,KAAK,kBAAkB,IAC5D,mBAAmB,oBAAoB,MAAM,kBAAkB,IAC/D,mBAAmB,oBAAoB,MAAM,kBAAkB,IAC/D,mBAAmB,mBAAmB,IAAI,IAC1C,mBAAmB,qBAAqB,QAAQ,CAAC,UAAW,QAAQ,MAAM,GAAI;AAEnF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAW,6BAAK,YAAY,SAAsB;AAAA,QAClD;AAAA,SACI,OAJL;AAAA,QAME;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,KAAK,cAAc;AAMnB,KAAK,OAAO;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Grid,
3
3
  GridItem
4
- } from "../../chunk-ES6ISHOV.mjs";
4
+ } from "../../chunk-UP3M3NEZ.mjs";
5
5
  import "../../chunk-F4STR6SD.mjs";
6
6
  import "../../chunk-NE6W2PCD.mjs";
7
7
  import "../../chunk-R4SQKVDQ.mjs";
@@ -1,4 +1,3 @@
1
- export { Grid_alias_4 as Grid } from '../../_tsup-dts-rollup';
2
- export { GridItem_alias_4 as GridItem } from '../../_tsup-dts-rollup';
3
- export { GridProps_alias_4 as GridProps } from '../../_tsup-dts-rollup';
4
- export { GridItemProps_alias_4 as GridItemProps } from '../../_tsup-dts-rollup';
1
+ export { Grid, GridItem } from "./grid";
2
+ export type * from "./grid";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/grid/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAExC,mBAAmB,QAAQ,CAAC"}
@@ -49,7 +49,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
49
49
  // src/layout/grid/index.tsx
50
50
  var grid_exports = {};
51
51
  __export(grid_exports, {
52
- Grid: () => GridComponent,
52
+ Grid: () => Grid,
53
53
  GridItem: () => GridItem
54
54
  });
55
55
  module.exports = __toCommonJS(grid_exports);
@@ -80,16 +80,16 @@ function getSpacingVariable(size) {
80
80
 
81
81
  // src/layout/grid/grid.tsx
82
82
  var import_jsx_runtime = require("react/jsx-runtime");
83
- var Grid = (0, import_react.forwardRef)(
83
+ var GridItem = (0, import_react.forwardRef)(
84
84
  (_a, ref) => {
85
- var _b = _a, { children, asChild, className, span, center, style: _style, gap, gapX, gapY } = _b, rest = __objRest(_b, ["children", "asChild", "className", "span", "center", "style", "gap", "gapX", "gapY"]);
85
+ var _b = _a, { children, asChild, className, span, center, style: _style } = _b, rest = __objRest(_b, ["children", "asChild", "className", "span", "center", "style"]);
86
86
  const Component = asChild ? import_react_slot.Slot : "div";
87
- const style = __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, _style), getResponsiveProps("--hds-grid-gap", gap, getSpacingVariable)), getResponsiveProps("--hds-grid-gap-x", gapX, getSpacingVariable)), getResponsiveProps("--hds-grid-gap-y", gapY, getSpacingVariable)), getResponsiveProps("--hds-grid-span", span)), getResponsiveProps("--hds-grid-center", center, (value) => value ? "1" : "0"));
87
+ const style = __spreadValues(__spreadValues(__spreadValues({}, _style), getResponsiveProps("--hds-grid-item-span", span)), getResponsiveProps("--hds-grid-item-center", center, (value) => value ? "1" : "0"));
88
88
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
89
89
  Component,
90
90
  __spreadProps(__spreadValues({
91
91
  style,
92
- className: (0, import_typed_classname.clsx)("hds-grid", className),
92
+ className: (0, import_typed_classname.clsx)("hds-grid__item", className),
93
93
  ref
94
94
  }, rest), {
95
95
  children
@@ -97,17 +97,17 @@ var Grid = (0, import_react.forwardRef)(
97
97
  );
98
98
  }
99
99
  );
100
- Grid.displayName = "Grid";
101
- var GridItem = (0, import_react.forwardRef)(
100
+ GridItem.displayName = "Grid.Item";
101
+ var Grid = (0, import_react.forwardRef)(
102
102
  (_a, ref) => {
103
- var _b = _a, { children, asChild, className, span, center, style: _style } = _b, rest = __objRest(_b, ["children", "asChild", "className", "span", "center", "style"]);
103
+ var _b = _a, { children, asChild, className, span, center, style: _style, gap, gapX, gapY } = _b, rest = __objRest(_b, ["children", "asChild", "className", "span", "center", "style", "gap", "gapX", "gapY"]);
104
104
  const Component = asChild ? import_react_slot.Slot : "div";
105
- const style = __spreadValues(__spreadValues(__spreadValues({}, _style), getResponsiveProps("--hds-grid-item-span", span)), getResponsiveProps("--hds-grid-item-center", center, (value) => value ? "1" : "0"));
105
+ const style = __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, _style), getResponsiveProps("--hds-grid-gap", gap, getSpacingVariable)), getResponsiveProps("--hds-grid-gap-x", gapX, getSpacingVariable)), getResponsiveProps("--hds-grid-gap-y", gapY, getSpacingVariable)), getResponsiveProps("--hds-grid-span", span)), getResponsiveProps("--hds-grid-center", center, (value) => value ? "1" : "0"));
106
106
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
107
107
  Component,
108
108
  __spreadProps(__spreadValues({
109
109
  style,
110
- className: (0, import_typed_classname.clsx)("hds-grid__item", className),
110
+ className: (0, import_typed_classname.clsx)("hds-grid", className),
111
111
  ref
112
112
  }, rest), {
113
113
  children
@@ -115,11 +115,8 @@ var GridItem = (0, import_react.forwardRef)(
115
115
  );
116
116
  }
117
117
  );
118
- GridItem.displayName = "Grid.Item";
119
-
120
- // src/layout/grid/index.tsx
121
- var GridComponent = Grid;
122
- GridComponent.Item = GridItem;
118
+ Grid.displayName = "Grid";
119
+ Grid.Item = GridItem;
123
120
  // Annotate the CommonJS export names for ESM import in node:
124
121
  0 && (module.exports = {
125
122
  Grid,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/layout/grid/index.tsx","../../../src/layout/grid/grid.tsx","../../../src/layout/responsive.ts","../../../src/layout/spacing.ts"],"sourcesContent":["import { Grid, GridItem } from \"./grid\";\n\nconst GridComponent = Grid as typeof Grid & {\n Item: typeof GridItem;\n};\n\nGridComponent.Item = GridItem;\n\nexport { GridComponent as Grid, GridItem };\n\nexport type * from \"./grid\";\n","import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { forwardRef } from \"react\";\nimport { getResponsiveProps, type ResponsiveProp } from \"../responsive\";\nimport { type SpacingSizes, type ResponsiveSpacingSizes, getSpacingVariable } from \"../spacing\";\n\nexport interface GridProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Space between grid items. Both horizontal and vertical.\n *\n * Use the responsive shorthand `12-16` to jump a level at the `large` breakpoint.\n *\n * Or use the responsive object `{ initial: 40, large: 64 }` to set different values at different breakpoints.\n *\n * Use `gapX` and `gapY` to set different values for horizontal and vertical spacing.\n */\n gap?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Space between grid items horizontally\n */\n gapX?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Space between grid items vertically\n */\n gapY?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Column span for the grid items\n *\n * `default` is `12`\n */\n span?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;\n\n /**\n * Center grid items horizontally\n *\n * Offsets the start position of the grid items relative to their span so that it appears centered.\n *\n * assumes a span of 2, 4, 6, 8, or 10\n *\n * a span of `12` is 100% width and centering has no effect\n *\n * `default` is `false`\n */\n center?: ResponsiveProp<boolean>;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * A simple opionated abstraction over CSS Grid.\n *\n * The grid is always a 12 column grid.\n *\n * @example\n * ```tsx\n * <Grid gap=\"12-16\" span={{ small: 6 }}>\n * <div>6/12</div>\n * <div>6/12</div>\n * <Grid.Item span={{ small: 12 }}>12/12</Grid.Item>\n * <div>6/12</div>\n * <div>6/12</div>\n * </Grid>\n * ```\n */\nexport const Grid = forwardRef<HTMLDivElement, GridProps>(\n (\n { children, asChild, className, span, center, style: _style, gap, gapX, gapY, ...rest },\n ref,\n ) => {\n const Component = asChild ? Slot : \"div\";\n const style: React.CSSProperties = {\n ..._style,\n ...getResponsiveProps(\"--hds-grid-gap\", gap, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-gap-x\", gapX, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-gap-y\", gapY, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-span\", span),\n ...getResponsiveProps(\"--hds-grid-center\", center, (value) => (value ? \"1\" : \"0\")),\n };\n return (\n <Component\n style={style}\n className={clsx(\"hds-grid\", className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nGrid.displayName = \"Grid\";\n\nexport interface GridItemProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Column span for the grid item\n *\n * `default` is `12`\n */\n span?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;\n\n /**\n * Center the grid item horizontally\n *\n * Offsets the start position of the grid item relative to it's span so that it appears centered.\n *\n * assumes a span of 2, 4, 6, 8, or 10\n *\n * a span of `12` is 100% width and centering has no effect\n *\n * `default` is `false`\n */\n center?: ResponsiveProp<boolean>;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean;\n}\n\n/**\n * 🚧 Grid.Item\n *\n * Use as the direct child of a `Grid` to override `span` and `center` for individual items.\n */\nexport const GridItem = forwardRef<HTMLDivElement, GridItemProps>(\n ({ children, asChild, className, span, center, style: _style, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n const style: React.CSSProperties = {\n ..._style,\n ...getResponsiveProps(\"--hds-grid-item-span\", span),\n ...getResponsiveProps(\"--hds-grid-item-center\", center, (value) => (value ? \"1\" : \"0\")),\n };\n return (\n <Component\n style={style}\n className={clsx(\"hds-grid__item\", className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nGridItem.displayName = \"Grid.Item\";\n","type Breakpoints = \"initial\" | \"small\" | \"medium\" | \"large\" | \"xlarge\";\n\ntype ResponsiveValues<T> = {\n [Breakpoint in Breakpoints]?: T;\n};\n\nexport type ResponsiveProp<T> = T | ResponsiveValues<T>;\n\nexport function getResponsiveProps<T>(\n variable: `--hds-${string}`,\n inputValues?: ResponsiveProp<T>,\n valueTransformer: (value: T) => string = (value) => String(value),\n) {\n if (!inputValues) return {};\n\n if (typeof inputValues !== \"object\") {\n return { [`${variable}-initial`]: valueTransformer(inputValues) };\n }\n\n const result: Record<string, string> = {};\n for (const [key, value] of Object.entries(inputValues as ResponsiveValues<T>)) {\n result[`${variable}-${key}`] = valueTransformer(value);\n }\n\n return result;\n}\n","// TODO: Get from tokens package\n// For now it's fine, since it's still in this monorepo\nconst spacingSizes = {\n \"4\": \"4\",\n \"8\": \"8\",\n \"12\": \"12\",\n \"16\": \"16\",\n \"20\": \"20\",\n \"24\": \"24\",\n \"32\": \"32\",\n \"40\": \"40\",\n \"48\": \"48\",\n \"64\": \"64\",\n \"80\": \"80\",\n \"120\": \"120\",\n} as const;\nexport type SpacingSizes = keyof typeof spacingSizes;\n\nconst responsiveSpacingSizes = {\n \"4-8\": \"4-8\",\n \"8-12\": \"8-12\",\n \"12-16\": \"12-16\",\n \"16-20\": \"16-20\",\n \"20-24\": \"20-24\",\n \"24-32\": \"24-32\",\n \"32-40\": \"32-40\",\n \"40-48\": \"40-48\",\n \"48-64\": \"48-64\",\n \"64-80\": \"64-80\",\n \"80-120\": \"80-120\",\n \"120-160\": \"120-160\",\n} as const;\nexport type ResponsiveSpacingSizes = keyof typeof responsiveSpacingSizes;\n\nexport function getSpacingVariable(size: SpacingSizes | ResponsiveSpacingSizes) {\n return `var(--hds-spacing-${size})`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,6BAAqB;AACrB,wBAAqB;AACrB,mBAA2B;;;ACMpB,SAAS,mBACd,UACA,aACA,mBAAyC,CAAC,UAAU,OAAO,KAAK,GAChE;AACA,MAAI,CAAC;AAAa,WAAO,CAAC;AAE1B,MAAI,OAAO,gBAAgB,UAAU;AACnC,WAAO,EAAE,CAAC,GAAG,QAAQ,UAAU,GAAG,iBAAiB,WAAW,EAAE;AAAA,EAClE;AAEA,QAAM,SAAiC,CAAC;AACxC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAkC,GAAG;AAC7E,WAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,IAAI,iBAAiB,KAAK;AAAA,EACvD;AAEA,SAAO;AACT;;;ACSO,SAAS,mBAAmB,MAA6C;AAC9E,SAAO,qBAAqB,IAAI;AAClC;;;AFqDM;AAfC,IAAM,WAAO;AAAA,EAClB,CACE,IACA,QACG;AAFH,iBAAE,YAAU,SAAS,WAAW,MAAM,QAAQ,OAAO,QAAQ,KAAK,MAAM,KA5E5E,IA4EI,IAAiF,iBAAjF,IAAiF,CAA/E,YAAU,WAAS,aAAW,QAAM,UAAQ,SAAe,OAAK,QAAM;AAGxE,UAAM,YAAY,UAAU,yBAAO;AACnC,UAAM,QAA6B,8FAC9B,SACA,mBAAmB,kBAAkB,KAAK,kBAAkB,IAC5D,mBAAmB,oBAAoB,MAAM,kBAAkB,IAC/D,mBAAmB,oBAAoB,MAAM,kBAAkB,IAC/D,mBAAmB,mBAAmB,IAAI,IAC1C,mBAAmB,qBAAqB,QAAQ,CAAC,UAAW,QAAQ,MAAM,GAAI;AAEnF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAW,6BAAK,YAAY,SAAsB;AAAA,QAClD;AAAA,SACI,OAJL;AAAA,QAME;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,KAAK,cAAc;AAoCZ,IAAM,eAAW;AAAA,EACtB,CAAC,IAAwE,QAAQ;AAAhF,iBAAE,YAAU,SAAS,WAAW,MAAM,QAAQ,OAAO,OAzIxD,IAyIG,IAAgE,iBAAhE,IAAgE,CAA9D,YAAU,WAAS,aAAW,QAAM,UAAQ;AAC7C,UAAM,YAAY,UAAU,yBAAO;AACnC,UAAM,QAA6B,iDAC9B,SACA,mBAAmB,wBAAwB,IAAI,IAC/C,mBAAmB,0BAA0B,QAAQ,CAAC,UAAW,QAAQ,MAAM,GAAI;AAExF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAW,6BAAK,kBAAkB,SAAsB;AAAA,QACxD;AAAA,SACI,OAJL;AAAA,QAME;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;;;AD1JvB,IAAM,gBAAgB;AAItB,cAAc,OAAO;","names":[]}
1
+ {"version":3,"sources":["../../../src/layout/grid/index.tsx","../../../src/layout/grid/grid.tsx","../../../src/layout/responsive.ts","../../../src/layout/spacing.ts"],"sourcesContent":["export { Grid, GridItem } from \"./grid\";\n\nexport type * from \"./grid\";\n","import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { forwardRef } from \"react\";\nimport { getResponsiveProps, type ResponsiveProp } from \"../responsive\";\nimport { type SpacingSizes, type ResponsiveSpacingSizes, getSpacingVariable } from \"../spacing\";\n\nexport interface GridItemProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Column span for the grid item\n *\n * `default` is `12`\n */\n span?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;\n\n /**\n * Center the grid item horizontally\n *\n * Offsets the start position of the grid item relative to it's span so that it appears centered.\n *\n * assumes a span of 2, 4, 6, 8, or 10\n *\n * a span of `12` is 100% width and centering has no effect\n *\n * `default` is `false`\n */\n center?: ResponsiveProp<boolean>;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean;\n}\n\n/**\n * 🚧 Grid.Item\n *\n * Use as the direct child of a `Grid` to override `span` and `center` for individual items.\n */\nexport const GridItem = forwardRef<HTMLDivElement, GridItemProps>(\n ({ children, asChild, className, span, center, style: _style, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n const style: React.CSSProperties = {\n ..._style,\n ...getResponsiveProps(\"--hds-grid-item-span\", span),\n ...getResponsiveProps(\"--hds-grid-item-center\", center, (value) => (value ? \"1\" : \"0\")),\n };\n return (\n <Component\n style={style}\n className={clsx(\"hds-grid__item\", className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nGridItem.displayName = \"Grid.Item\";\n\nexport interface GridProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n\n /**\n * Space between grid items. Both horizontal and vertical.\n *\n * Use the responsive shorthand `12-16` to jump a level at the `large` breakpoint.\n *\n * Or use the responsive object `{ initial: 40, large: 64 }` to set different values at different breakpoints.\n *\n * Use `gapX` and `gapY` to set different values for horizontal and vertical spacing.\n */\n gap?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Space between grid items horizontally\n */\n gapX?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Space between grid items vertically\n */\n gapY?: ResponsiveProp<SpacingSizes> | ResponsiveSpacingSizes;\n\n /**\n * Column span for the grid items\n *\n * `default` is `12`\n */\n span?: ResponsiveProp<1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12>;\n\n /**\n * Center grid items horizontally\n *\n * Offsets the start position of the grid items relative to their span so that it appears centered.\n *\n * assumes a span of 2, 4, 6, 8, or 10\n *\n * a span of `12` is 100% width and centering has no effect\n *\n * `default` is `false`\n */\n center?: ResponsiveProp<boolean>;\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n *\n * @default false\n */\n asChild?: boolean;\n}\n\n/**\n * A simple opionated abstraction over CSS Grid.\n *\n * The grid is always a 12 column grid.\n *\n * @example\n * ```tsx\n * <Grid gap=\"12-16\" span={{ small: 6 }}>\n * <div>6/12</div>\n * <div>6/12</div>\n * <Grid.Item span={{ small: 12 }}>12/12</Grid.Item>\n * <div>6/12</div>\n * <div>6/12</div>\n * </Grid>\n * ```\n */\nexport const Grid = forwardRef<HTMLDivElement, GridProps>(\n (\n { children, asChild, className, span, center, style: _style, gap, gapX, gapY, ...rest },\n ref,\n ) => {\n const Component = asChild ? Slot : \"div\";\n const style: React.CSSProperties = {\n ..._style,\n ...getResponsiveProps(\"--hds-grid-gap\", gap, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-gap-x\", gapX, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-gap-y\", gapY, getSpacingVariable),\n ...getResponsiveProps(\"--hds-grid-span\", span),\n ...getResponsiveProps(\"--hds-grid-center\", center, (value) => (value ? \"1\" : \"0\")),\n };\n return (\n <Component\n style={style}\n className={clsx(\"hds-grid\", className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n) as GridType;\nGrid.displayName = \"Grid\";\n\ntype GridType = ReturnType<typeof forwardRef<HTMLDivElement, GridProps>> & {\n Item: typeof GridItem;\n};\n\nGrid.Item = GridItem;\n","type Breakpoints = \"initial\" | \"small\" | \"medium\" | \"large\" | \"xlarge\";\n\ntype ResponsiveValues<T> = {\n [Breakpoint in Breakpoints]?: T;\n};\n\nexport type ResponsiveProp<T> = T | ResponsiveValues<T>;\n\nexport function getResponsiveProps<T>(\n variable: `--hds-${string}`,\n inputValues?: ResponsiveProp<T>,\n valueTransformer: (value: T) => string = (value) => String(value),\n) {\n if (!inputValues) return {};\n\n if (typeof inputValues !== \"object\") {\n return { [`${variable}-initial`]: valueTransformer(inputValues) };\n }\n\n const result: Record<string, string> = {};\n for (const [key, value] of Object.entries(inputValues as ResponsiveValues<T>)) {\n result[`${variable}-${key}`] = valueTransformer(value);\n }\n\n return result;\n}\n","// TODO: Get from tokens package\n// For now it's fine, since it's still in this monorepo\nconst spacingSizes = {\n \"4\": \"4\",\n \"8\": \"8\",\n \"12\": \"12\",\n \"16\": \"16\",\n \"20\": \"20\",\n \"24\": \"24\",\n \"32\": \"32\",\n \"40\": \"40\",\n \"48\": \"48\",\n \"64\": \"64\",\n \"80\": \"80\",\n \"120\": \"120\",\n} as const;\nexport type SpacingSizes = keyof typeof spacingSizes;\n\nconst responsiveSpacingSizes = {\n \"4-8\": \"4-8\",\n \"8-12\": \"8-12\",\n \"12-16\": \"12-16\",\n \"16-20\": \"16-20\",\n \"20-24\": \"20-24\",\n \"24-32\": \"24-32\",\n \"32-40\": \"32-40\",\n \"40-48\": \"40-48\",\n \"48-64\": \"48-64\",\n \"64-80\": \"64-80\",\n \"80-120\": \"80-120\",\n \"120-160\": \"120-160\",\n} as const;\nexport type ResponsiveSpacingSizes = keyof typeof responsiveSpacingSizes;\n\nexport function getSpacingVariable(size: SpacingSizes | ResponsiveSpacingSizes) {\n return `var(--hds-spacing-${size})`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,6BAAqB;AACrB,wBAAqB;AACrB,mBAA2B;;;ACMpB,SAAS,mBACd,UACA,aACA,mBAAyC,CAAC,UAAU,OAAO,KAAK,GAChE;AACA,MAAI,CAAC;AAAa,WAAO,CAAC;AAE1B,MAAI,OAAO,gBAAgB,UAAU;AACnC,WAAO,EAAE,CAAC,GAAG,QAAQ,UAAU,GAAG,iBAAiB,WAAW,EAAE;AAAA,EAClE;AAEA,QAAM,SAAiC,CAAC;AACxC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,WAAkC,GAAG;AAC7E,WAAO,GAAG,QAAQ,IAAI,GAAG,EAAE,IAAI,iBAAiB,KAAK;AAAA,EACvD;AAEA,SAAO;AACT;;;ACSO,SAAS,mBAAmB,MAA6C;AAC9E,SAAO,qBAAqB,IAAI;AAClC;;;AFaM;AATC,IAAM,eAAW;AAAA,EACtB,CAAC,IAAwE,QAAQ;AAAhF,iBAAE,YAAU,SAAS,WAAW,MAAM,QAAQ,OAAO,OAzCxD,IAyCG,IAAgE,iBAAhE,IAAgE,CAA9D,YAAU,WAAS,aAAW,QAAM,UAAQ;AAC7C,UAAM,YAAY,UAAU,yBAAO;AACnC,UAAM,QAA6B,iDAC9B,SACA,mBAAmB,wBAAwB,IAAI,IAC/C,mBAAmB,0BAA0B,QAAQ,CAAC,UAAW,QAAQ,MAAM,GAAI;AAExF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAW,6BAAK,kBAAkB,SAAsB;AAAA,QACxD;AAAA,SACI,OAJL;AAAA,QAME;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;AAsEhB,IAAM,WAAO;AAAA,EAClB,CACE,IACA,QACG;AAFH,iBAAE,YAAU,SAAS,WAAW,MAAM,QAAQ,OAAO,QAAQ,KAAK,MAAM,KApI5E,IAoII,IAAiF,iBAAjF,IAAiF,CAA/E,YAAU,WAAS,aAAW,QAAM,UAAQ,SAAe,OAAK,QAAM;AAGxE,UAAM,YAAY,UAAU,yBAAO;AACnC,UAAM,QAA6B,8FAC9B,SACA,mBAAmB,kBAAkB,KAAK,kBAAkB,IAC5D,mBAAmB,oBAAoB,MAAM,kBAAkB,IAC/D,mBAAmB,oBAAoB,MAAM,kBAAkB,IAC/D,mBAAmB,mBAAmB,IAAI,IAC1C,mBAAmB,qBAAqB,QAAQ,CAAC,UAAW,QAAQ,MAAM,GAAI;AAEnF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAW,6BAAK,YAAY,SAAsB;AAAA,QAClD;AAAA,SACI,OAJL;AAAA,QAME;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,KAAK,cAAc;AAMnB,KAAK,OAAO;","names":[]}