@postenbring/hedwig-react 0.0.86 → 0.0.88

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 (340) hide show
  1. package/dist/accordion/accordion-content.mjs +2 -2
  2. package/dist/accordion/accordion-header.mjs +2 -2
  3. package/dist/accordion/accordion-item.mjs +2 -2
  4. package/dist/accordion/accordion.mjs +5 -5
  5. package/dist/accordion/context.mjs +1 -1
  6. package/dist/accordion/index.mjs +5 -5
  7. package/dist/badge/badge.d.ts +7 -3
  8. package/dist/badge/badge.d.ts.map +1 -1
  9. package/dist/badge/badge.js.map +1 -1
  10. package/dist/badge/badge.mjs +2 -2
  11. package/dist/badge/index.js.map +1 -1
  12. package/dist/badge/index.mjs +2 -2
  13. package/dist/blockquote/blockquote.d.ts +29 -0
  14. package/dist/blockquote/blockquote.d.ts.map +1 -0
  15. package/dist/blockquote/blockquote.js +83 -0
  16. package/dist/blockquote/blockquote.js.map +1 -0
  17. package/dist/blockquote/blockquote.mjs +8 -0
  18. package/dist/blockquote/index.d.ts +3 -0
  19. package/dist/blockquote/index.d.ts.map +1 -0
  20. package/dist/blockquote/index.js +85 -0
  21. package/dist/blockquote/index.js.map +1 -0
  22. package/dist/blockquote/index.mjs +9 -0
  23. package/dist/box/box.mjs +2 -2
  24. package/dist/box/index.mjs +2 -2
  25. package/dist/breadcrumbs/breadcrumbs.mjs +2 -2
  26. package/dist/breadcrumbs/index.mjs +2 -2
  27. package/dist/button/button.mjs +2 -2
  28. package/dist/button/index.mjs +2 -2
  29. package/dist/card/card.mjs +2 -2
  30. package/dist/card/index.mjs +2 -2
  31. package/dist/{chunk-CCVZAHYA.mjs → chunk-35QRZSEV.mjs} +2 -2
  32. package/dist/chunk-3H7S7C3S.mjs +37 -0
  33. package/dist/chunk-3H7S7C3S.mjs.map +1 -0
  34. package/dist/{chunk-AJWSQEDP.mjs → chunk-3OGHJOJF.mjs} +2 -2
  35. package/dist/{chunk-USXU6ULZ.mjs → chunk-4QZR2H72.mjs} +2 -2
  36. package/dist/{chunk-FB5GEZNH.mjs → chunk-5UGT7L7R.mjs} +3 -3
  37. package/dist/{chunk-XFODQH3I.mjs → chunk-6BXKRPR3.mjs} +3 -3
  38. package/dist/{chunk-IHZ2MRF6.mjs → chunk-6VKQ6IRG.mjs} +8 -12
  39. package/dist/{chunk-IHZ2MRF6.mjs.map → chunk-6VKQ6IRG.mjs.map} +1 -1
  40. package/dist/{chunk-EVUKWONG.mjs → chunk-6ZO2TMOX.mjs} +3 -3
  41. package/dist/{chunk-F4STR6SD.mjs → chunk-7ROE6ADK.mjs} +2 -3
  42. package/dist/{chunk-F4STR6SD.mjs.map → chunk-7ROE6ADK.mjs.map} +1 -1
  43. package/dist/{chunk-YSFZCRWS.mjs → chunk-A42PXOVR.mjs} +2 -2
  44. package/dist/{chunk-6MR5XZOX.mjs → chunk-AYCHNAU7.mjs} +2 -2
  45. package/dist/{chunk-NU6OSFAU.mjs → chunk-AZ6X4L5C.mjs} +2 -2
  46. package/dist/{chunk-SQ63E7KM.mjs → chunk-BHQ46L2O.mjs} +3 -3
  47. package/dist/{chunk-HMATZX4A.mjs → chunk-C7ZTOZP3.mjs} +2 -2
  48. package/dist/{chunk-RZZDMBB7.mjs → chunk-CC5QWW52.mjs} +2 -2
  49. package/dist/{chunk-B6L7IFDX.mjs → chunk-CXX4SXJG.mjs} +5 -5
  50. package/dist/{chunk-GGQB2WWD.mjs → chunk-DMOMTRIY.mjs} +2 -2
  51. package/dist/{chunk-KI6WRKZY.mjs → chunk-EAFQ3XQU.mjs} +4 -4
  52. package/dist/{chunk-I3ZIMS72.mjs → chunk-EGW3RCXD.mjs} +3 -3
  53. package/dist/chunk-EGW3RCXD.mjs.map +1 -0
  54. package/dist/{chunk-L4YBHIS3.mjs → chunk-EMQB6JIS.mjs} +2 -2
  55. package/dist/{chunk-SKVM7G76.mjs → chunk-EZVEYJOX.mjs} +2 -2
  56. package/dist/{chunk-AXKJB47E.mjs → chunk-FUIKSOJF.mjs} +3 -3
  57. package/dist/{chunk-TDXU2IC6.mjs → chunk-ILFK3VKS.mjs} +7 -12
  58. package/dist/{chunk-TDXU2IC6.mjs.map → chunk-ILFK3VKS.mjs.map} +1 -1
  59. package/dist/{chunk-AXQCREUJ.mjs → chunk-J5SCUELT.mjs} +4 -5
  60. package/dist/{chunk-AXQCREUJ.mjs.map → chunk-J5SCUELT.mjs.map} +1 -1
  61. package/dist/{chunk-LG7QWKFP.mjs → chunk-JQGB77SS.mjs} +3 -3
  62. package/dist/chunk-JQGB77SS.mjs.map +1 -0
  63. package/dist/{chunk-UB2R7TCG.mjs → chunk-JUHJZLH2.mjs} +2 -2
  64. package/dist/chunk-JYN2QSN2.mjs +36 -0
  65. package/dist/chunk-JYN2QSN2.mjs.map +1 -0
  66. package/dist/{chunk-VCQIR53Y.mjs → chunk-JZXZYEPG.mjs} +2 -2
  67. package/dist/{chunk-6FBPKLWB.mjs → chunk-KCEWKQ4W.mjs} +8 -13
  68. package/dist/{chunk-6FBPKLWB.mjs.map → chunk-KCEWKQ4W.mjs.map} +1 -1
  69. package/dist/chunk-KFDS3IPB.mjs +1 -0
  70. package/dist/{chunk-DEZVONZD.mjs → chunk-KNGG6M2I.mjs} +4 -4
  71. package/dist/{chunk-WHMIHTPC.mjs → chunk-LGEGXOPU.mjs} +2 -2
  72. package/dist/{chunk-OIC2CPID.mjs → chunk-M7MG7ZQT.mjs} +4 -4
  73. package/dist/{chunk-HJYS664B.mjs → chunk-MYVC3HMO.mjs} +2 -2
  74. package/dist/{chunk-WPCWXROV.mjs → chunk-NIYDN3Y3.mjs} +3 -3
  75. package/dist/{chunk-GQUFERB2.mjs → chunk-OXZOGFNV.mjs} +2 -2
  76. package/dist/chunk-OXZOGFNV.mjs.map +1 -0
  77. package/dist/{chunk-GRWLX5BC.mjs → chunk-ROQH67YP.mjs} +5 -5
  78. package/dist/{chunk-GGNMBB3K.mjs → chunk-S3QSGJX2.mjs} +3 -3
  79. package/dist/{chunk-UP3M3NEZ.mjs → chunk-TC5PD4TA.mjs} +3 -3
  80. package/dist/{chunk-O4HIHUMD.mjs → chunk-UL2V2Z5B.mjs} +15 -17
  81. package/dist/chunk-UL2V2Z5B.mjs.map +1 -0
  82. package/dist/{chunk-MJ2DZH3N.mjs → chunk-VYS2QNTL.mjs} +2 -2
  83. package/dist/{chunk-JF3HBGAA.mjs → chunk-WLESNP6Z.mjs} +2 -2
  84. package/dist/{chunk-BVPSZ3JI.mjs → chunk-WUPLEZEY.mjs} +4 -4
  85. package/dist/chunk-XAFNJELJ.mjs +1 -0
  86. package/dist/{chunk-5UJ3LEKK.mjs → chunk-XQBJ75VD.mjs} +2 -2
  87. package/dist/{chunk-R4SQKVDQ.mjs → chunk-YOSPWY5K.mjs} +1 -1
  88. package/dist/{chunk-GJO7Z2YL.mjs → chunk-YS7HBWOI.mjs} +5 -4
  89. package/dist/chunk-YS7HBWOI.mjs.map +1 -0
  90. package/dist/{chunk-D7QPJIUZ.mjs → chunk-YZDURLEY.mjs} +3 -3
  91. package/dist/{chunk-COEZA7WA.mjs → chunk-Z2ZCM4BE.mjs} +3 -3
  92. package/dist/{chunk-EMI7NAO2.mjs → chunk-ZOZPWP3N.mjs} +2 -2
  93. package/dist/description-list/description-list.mjs +2 -2
  94. package/dist/description-list/index.mjs +2 -2
  95. package/dist/footer/footer.mjs +9 -9
  96. package/dist/footer/index.mjs +9 -9
  97. package/dist/form/checkbox/checkbox.js.map +1 -1
  98. package/dist/form/checkbox/checkbox.mjs +4 -4
  99. package/dist/form/checkbox/index.js.map +1 -1
  100. package/dist/form/checkbox/index.mjs +4 -4
  101. package/dist/form/date-picker/date-picker.mjs +5 -5
  102. package/dist/form/date-picker/index.mjs +5 -5
  103. package/dist/form/error-message/error-message.mjs +2 -2
  104. package/dist/form/error-message/index.mjs +2 -2
  105. package/dist/form/fieldset/fieldset.d.ts +2 -2
  106. package/dist/form/fieldset/fieldset.js.map +1 -1
  107. package/dist/form/fieldset/fieldset.mjs +3 -3
  108. package/dist/form/fieldset/index.js.map +1 -1
  109. package/dist/form/fieldset/index.mjs +3 -3
  110. package/dist/form/index.d.ts +1 -1
  111. package/dist/form/index.d.ts.map +1 -1
  112. package/dist/form/index.js +15 -16
  113. package/dist/form/index.js.map +1 -1
  114. package/dist/form/index.mjs +23 -23
  115. package/dist/form/input/index.mjs +4 -4
  116. package/dist/form/input/input.mjs +4 -4
  117. package/dist/form/input-group/index.mjs +3 -3
  118. package/dist/form/input-group/input-group.mjs +3 -3
  119. package/dist/form/radio-button/index.d.ts +5 -0
  120. package/dist/form/radio-button/index.d.ts.map +1 -0
  121. package/dist/form/{radiobutton → radio-button}/index.js +19 -20
  122. package/dist/form/radio-button/index.js.map +1 -0
  123. package/dist/form/radio-button/index.mjs +19 -0
  124. package/dist/form/radio-button/index.mjs.map +1 -0
  125. package/dist/form/{radiobutton/radiobutton.d.ts → radio-button/radio-button.d.ts} +6 -6
  126. package/dist/form/radio-button/radio-button.d.ts.map +1 -0
  127. package/dist/form/{radiobutton/radiobutton.js → radio-button/radio-button.js} +19 -20
  128. package/dist/form/radio-button/radio-button.js.map +1 -0
  129. package/dist/form/radio-button/radio-button.mjs +13 -0
  130. package/dist/form/radio-button/radio-button.mjs.map +1 -0
  131. package/dist/form/{radiobutton/radiogroup.d.ts → radio-button/radio-group.d.ts} +7 -7
  132. package/dist/form/radio-button/radio-group.d.ts.map +1 -0
  133. package/dist/form/{radiobutton/radiogroup.js → radio-button/radio-group.js} +7 -6
  134. package/dist/form/radio-button/radio-group.js.map +1 -0
  135. package/dist/form/radio-button/radio-group.mjs +14 -0
  136. package/dist/form/radio-button/radio-group.mjs.map +1 -0
  137. package/dist/form/select/index.mjs +4 -4
  138. package/dist/form/select/select.mjs +4 -4
  139. package/dist/form/textarea/index.mjs +4 -4
  140. package/dist/form/textarea/textarea.mjs +4 -4
  141. package/dist/help-text/help-text.mjs +3 -3
  142. package/dist/help-text/index.mjs +3 -3
  143. package/dist/index.d.ts +1 -0
  144. package/dist/index.d.ts.map +1 -1
  145. package/dist/index.js +557 -535
  146. package/dist/index.js.map +1 -1
  147. package/dist/index.mjs +86 -81
  148. package/dist/layout/container/container.mjs +2 -2
  149. package/dist/layout/grid/grid.js +1 -2
  150. package/dist/layout/grid/grid.js.map +1 -1
  151. package/dist/layout/grid/grid.mjs +3 -3
  152. package/dist/layout/grid/index.js +1 -2
  153. package/dist/layout/grid/index.js.map +1 -1
  154. package/dist/layout/grid/index.mjs +3 -3
  155. package/dist/layout/index.js +1 -2
  156. package/dist/layout/index.js.map +1 -1
  157. package/dist/layout/index.mjs +5 -5
  158. package/dist/layout/responsive.js +1 -2
  159. package/dist/layout/responsive.js.map +1 -1
  160. package/dist/layout/responsive.mjs +2 -2
  161. package/dist/layout/spacing.mjs +1 -1
  162. package/dist/layout/stack/index.js +1 -2
  163. package/dist/layout/stack/index.js.map +1 -1
  164. package/dist/layout/stack/index.mjs +3 -3
  165. package/dist/layout/stack/stack.js +1 -2
  166. package/dist/layout/stack/stack.js.map +1 -1
  167. package/dist/layout/stack/stack.mjs +3 -3
  168. package/dist/link/index.mjs +2 -2
  169. package/dist/link/link.mjs +2 -2
  170. package/dist/list/index.mjs +3 -3
  171. package/dist/list/link-list.mjs +3 -3
  172. package/dist/list/list.mjs +2 -2
  173. package/dist/message/index.mjs +3 -3
  174. package/dist/message/message.mjs +3 -3
  175. package/dist/modal/index.js +4 -8
  176. package/dist/modal/index.js.map +1 -1
  177. package/dist/modal/index.mjs +4 -4
  178. package/dist/modal/modal.js +4 -8
  179. package/dist/modal/modal.js.map +1 -1
  180. package/dist/modal/modal.mjs +4 -4
  181. package/dist/navbar/icons.d.ts.map +1 -1
  182. package/dist/navbar/icons.js +16 -5
  183. package/dist/navbar/icons.js.map +1 -1
  184. package/dist/navbar/icons.mjs +2 -2
  185. package/dist/navbar/index.js +22 -16
  186. package/dist/navbar/index.js.map +1 -1
  187. package/dist/navbar/index.mjs +5 -5
  188. package/dist/navbar/navbar-expandable-menu.js +22 -16
  189. package/dist/navbar/navbar-expandable-menu.js.map +1 -1
  190. package/dist/navbar/navbar-expandable-menu.mjs +4 -4
  191. package/dist/navbar/navbar.js +22 -16
  192. package/dist/navbar/navbar.js.map +1 -1
  193. package/dist/navbar/navbar.mjs +5 -5
  194. package/dist/show-more/index.mjs +2 -2
  195. package/dist/show-more/show-more.mjs +2 -2
  196. package/dist/skeleton/index.mjs +2 -2
  197. package/dist/skeleton/skeleton.mjs +2 -2
  198. package/dist/step-indicator/index.mjs +2 -2
  199. package/dist/step-indicator/step-indicator.mjs +2 -2
  200. package/dist/styled-html/index.js +1 -1
  201. package/dist/styled-html/index.js.map +1 -1
  202. package/dist/styled-html/index.mjs +2 -2
  203. package/dist/styled-html/styled-html.d.ts +9 -1
  204. package/dist/styled-html/styled-html.d.ts.map +1 -1
  205. package/dist/styled-html/styled-html.js +1 -1
  206. package/dist/styled-html/styled-html.js.map +1 -1
  207. package/dist/styled-html/styled-html.mjs +2 -2
  208. package/dist/table/index.mjs +2 -2
  209. package/dist/table/table.mjs +2 -2
  210. package/dist/tabs/context.mjs +1 -1
  211. package/dist/tabs/index.js +1 -2
  212. package/dist/tabs/index.js.map +1 -1
  213. package/dist/tabs/index.mjs +5 -5
  214. package/dist/tabs/tabs-content.mjs +2 -2
  215. package/dist/tabs/tabs-list.js +1 -2
  216. package/dist/tabs/tabs-list.js.map +1 -1
  217. package/dist/tabs/tabs-list.mjs +3 -3
  218. package/dist/tabs/tabs.js +1 -2
  219. package/dist/tabs/tabs.js.map +1 -1
  220. package/dist/tabs/tabs.mjs +5 -5
  221. package/dist/text/index.mjs +2 -2
  222. package/dist/text/text.mjs +2 -2
  223. package/dist/utils/auto-animate-height.js +5 -10
  224. package/dist/utils/auto-animate-height.js.map +1 -1
  225. package/dist/utils/auto-animate-height.mjs +3 -3
  226. package/dist/utils/index.js +11 -21
  227. package/dist/utils/index.js.map +1 -1
  228. package/dist/utils/index.mjs +3 -3
  229. package/dist/utils/utils.js +6 -11
  230. package/dist/utils/utils.js.map +1 -1
  231. package/dist/utils/utils.mjs +2 -2
  232. package/dist/warning-banner/index.mjs +2 -2
  233. package/dist/warning-banner/warning-banner.mjs +2 -2
  234. package/package.json +3 -3
  235. package/src/accordion/accordion.stories.tsx +7 -113
  236. package/src/badge/badge.stories.tsx +1 -30
  237. package/src/badge/badge.tsx +7 -3
  238. package/src/blockquote/blockquote.stories.tsx +21 -0
  239. package/src/blockquote/blockquote.tsx +52 -0
  240. package/src/blockquote/index.tsx +3 -0
  241. package/src/box/box.stories.tsx +13 -84
  242. package/src/breadcrumbs/breadcrumbs.stories.tsx +7 -22
  243. package/src/button/button.stories.tsx +1 -85
  244. package/src/card/card.stories.tsx +1 -42
  245. package/src/description-list/description-list.stories.tsx +5 -71
  246. package/src/form/checkbox/checkbox.stories.tsx +4 -80
  247. package/src/form/date-picker/date-picker.stories.tsx +7 -7
  248. package/src/form/error-message/error-message.stories.tsx +2 -2
  249. package/src/form/fieldset/fieldset.stories.tsx +1 -58
  250. package/src/form/fieldset/fieldset.tsx +2 -2
  251. package/src/form/index.tsx +1 -1
  252. package/src/form/input/input.stories.tsx +1 -142
  253. package/src/form/radio-button/index.tsx +4 -0
  254. package/src/form/radio-button/radio-button.stories.tsx +25 -0
  255. package/src/form/{radiobutton/radiobutton.tsx → radio-button/radio-button.tsx} +13 -13
  256. package/src/form/{radiobutton/radiogroup.stories.tsx → radio-button/radio-group.stories.tsx} +8 -9
  257. package/src/form/{radiobutton/radiogroup.tsx → radio-button/radio-group.tsx} +7 -6
  258. package/src/form/select/select.stories.tsx +1 -61
  259. package/src/form/textarea/textarea.stories.tsx +4 -85
  260. package/src/help-text/help-text.stories.tsx +19 -0
  261. package/src/index.ts +1 -0
  262. package/src/layout/container/container.stories.tsx +17 -14
  263. package/src/layout/grid/grid.stories.tsx +27 -0
  264. package/src/layout/stack/stack.stories.tsx +27 -0
  265. package/src/link/link.stories.tsx +7 -38
  266. package/src/list/link-list.stories.tsx +24 -27
  267. package/src/list/list.stories.tsx +10 -48
  268. package/src/message/message.stories.tsx +7 -65
  269. package/src/modal/modal.stories.tsx +1 -103
  270. package/src/navbar/icons.tsx +10 -3
  271. package/src/navbar/navbar.stories.tsx +22 -62
  272. package/src/show-more/show-more.stories.tsx +2 -98
  273. package/src/skeleton/skeleton.stories.tsx +2 -126
  274. package/src/step-indicator/step-indicator.stories.tsx +1 -31
  275. package/src/styled-html/styled-html.stories.tsx +21 -155
  276. package/src/styled-html/styled-html.tsx +12 -2
  277. package/src/table/table.stories.tsx +42 -0
  278. package/src/tabs/tabs.stories.tsx +7 -114
  279. package/src/text/text.stories.tsx +17 -83
  280. package/src/warning-banner/warning-banner.stories.tsx +1 -23
  281. package/dist/chunk-2KX7VFN2.mjs +0 -1
  282. package/dist/chunk-GJO7Z2YL.mjs.map +0 -1
  283. package/dist/chunk-GQUFERB2.mjs.map +0 -1
  284. package/dist/chunk-I3ZIMS72.mjs.map +0 -1
  285. package/dist/chunk-LG7QWKFP.mjs.map +0 -1
  286. package/dist/chunk-MOU6WBT2.mjs +0 -26
  287. package/dist/chunk-MOU6WBT2.mjs.map +0 -1
  288. package/dist/chunk-O4HIHUMD.mjs.map +0 -1
  289. package/dist/form/radiobutton/index.d.ts +0 -5
  290. package/dist/form/radiobutton/index.d.ts.map +0 -1
  291. package/dist/form/radiobutton/index.js.map +0 -1
  292. package/dist/form/radiobutton/index.mjs +0 -19
  293. package/dist/form/radiobutton/radiobutton.d.ts.map +0 -1
  294. package/dist/form/radiobutton/radiobutton.js.map +0 -1
  295. package/dist/form/radiobutton/radiobutton.mjs +0 -13
  296. package/dist/form/radiobutton/radiogroup.d.ts.map +0 -1
  297. package/dist/form/radiobutton/radiogroup.js.map +0 -1
  298. package/dist/form/radiobutton/radiogroup.mjs +0 -14
  299. package/src/form/radiobutton/index.tsx +0 -4
  300. package/src/form/radiobutton/radiobutton.stories.tsx +0 -93
  301. /package/dist/{chunk-2KX7VFN2.mjs.map → blockquote/blockquote.mjs.map} +0 -0
  302. /package/dist/{form/radiobutton → blockquote}/index.mjs.map +0 -0
  303. /package/dist/{chunk-CCVZAHYA.mjs.map → chunk-35QRZSEV.mjs.map} +0 -0
  304. /package/dist/{chunk-AJWSQEDP.mjs.map → chunk-3OGHJOJF.mjs.map} +0 -0
  305. /package/dist/{chunk-USXU6ULZ.mjs.map → chunk-4QZR2H72.mjs.map} +0 -0
  306. /package/dist/{chunk-FB5GEZNH.mjs.map → chunk-5UGT7L7R.mjs.map} +0 -0
  307. /package/dist/{chunk-XFODQH3I.mjs.map → chunk-6BXKRPR3.mjs.map} +0 -0
  308. /package/dist/{chunk-EVUKWONG.mjs.map → chunk-6ZO2TMOX.mjs.map} +0 -0
  309. /package/dist/{chunk-YSFZCRWS.mjs.map → chunk-A42PXOVR.mjs.map} +0 -0
  310. /package/dist/{chunk-6MR5XZOX.mjs.map → chunk-AYCHNAU7.mjs.map} +0 -0
  311. /package/dist/{chunk-NU6OSFAU.mjs.map → chunk-AZ6X4L5C.mjs.map} +0 -0
  312. /package/dist/{chunk-SQ63E7KM.mjs.map → chunk-BHQ46L2O.mjs.map} +0 -0
  313. /package/dist/{chunk-HMATZX4A.mjs.map → chunk-C7ZTOZP3.mjs.map} +0 -0
  314. /package/dist/{chunk-RZZDMBB7.mjs.map → chunk-CC5QWW52.mjs.map} +0 -0
  315. /package/dist/{chunk-B6L7IFDX.mjs.map → chunk-CXX4SXJG.mjs.map} +0 -0
  316. /package/dist/{chunk-GGQB2WWD.mjs.map → chunk-DMOMTRIY.mjs.map} +0 -0
  317. /package/dist/{chunk-KI6WRKZY.mjs.map → chunk-EAFQ3XQU.mjs.map} +0 -0
  318. /package/dist/{chunk-L4YBHIS3.mjs.map → chunk-EMQB6JIS.mjs.map} +0 -0
  319. /package/dist/{chunk-SKVM7G76.mjs.map → chunk-EZVEYJOX.mjs.map} +0 -0
  320. /package/dist/{chunk-AXKJB47E.mjs.map → chunk-FUIKSOJF.mjs.map} +0 -0
  321. /package/dist/{chunk-UB2R7TCG.mjs.map → chunk-JUHJZLH2.mjs.map} +0 -0
  322. /package/dist/{chunk-VCQIR53Y.mjs.map → chunk-JZXZYEPG.mjs.map} +0 -0
  323. /package/dist/{chunk-R4SQKVDQ.mjs.map → chunk-KFDS3IPB.mjs.map} +0 -0
  324. /package/dist/{chunk-DEZVONZD.mjs.map → chunk-KNGG6M2I.mjs.map} +0 -0
  325. /package/dist/{chunk-WHMIHTPC.mjs.map → chunk-LGEGXOPU.mjs.map} +0 -0
  326. /package/dist/{chunk-OIC2CPID.mjs.map → chunk-M7MG7ZQT.mjs.map} +0 -0
  327. /package/dist/{chunk-HJYS664B.mjs.map → chunk-MYVC3HMO.mjs.map} +0 -0
  328. /package/dist/{chunk-WPCWXROV.mjs.map → chunk-NIYDN3Y3.mjs.map} +0 -0
  329. /package/dist/{chunk-GRWLX5BC.mjs.map → chunk-ROQH67YP.mjs.map} +0 -0
  330. /package/dist/{chunk-GGNMBB3K.mjs.map → chunk-S3QSGJX2.mjs.map} +0 -0
  331. /package/dist/{chunk-UP3M3NEZ.mjs.map → chunk-TC5PD4TA.mjs.map} +0 -0
  332. /package/dist/{chunk-MJ2DZH3N.mjs.map → chunk-VYS2QNTL.mjs.map} +0 -0
  333. /package/dist/{chunk-JF3HBGAA.mjs.map → chunk-WLESNP6Z.mjs.map} +0 -0
  334. /package/dist/{chunk-BVPSZ3JI.mjs.map → chunk-WUPLEZEY.mjs.map} +0 -0
  335. /package/dist/{form/radiobutton/radiobutton.mjs.map → chunk-XAFNJELJ.mjs.map} +0 -0
  336. /package/dist/{chunk-5UJ3LEKK.mjs.map → chunk-XQBJ75VD.mjs.map} +0 -0
  337. /package/dist/{form/radiobutton/radiogroup.mjs.map → chunk-YOSPWY5K.mjs.map} +0 -0
  338. /package/dist/{chunk-D7QPJIUZ.mjs.map → chunk-YZDURLEY.mjs.map} +0 -0
  339. /package/dist/{chunk-COEZA7WA.mjs.map → chunk-Z2ZCM4BE.mjs.map} +0 -0
  340. /package/dist/{chunk-EMI7NAO2.mjs.map → chunk-ZOZPWP3N.mjs.map} +0 -0
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  InputGroup
3
- } from "./chunk-FB5GEZNH.mjs";
3
+ } from "./chunk-5UGT7L7R.mjs";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadProps,
7
7
  __spreadValues
8
- } from "./chunk-R4SQKVDQ.mjs";
8
+ } from "./chunk-YOSPWY5K.mjs";
9
9
 
10
10
  // src/form/select/select.tsx
11
11
  import { forwardRef } from "react";
@@ -33,4 +33,4 @@ Select.displayName = "Select";
33
33
  export {
34
34
  Select
35
35
  };
36
- //# sourceMappingURL=chunk-XFODQH3I.mjs.map
36
+ //# sourceMappingURL=chunk-6BXKRPR3.mjs.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  useMergeRefs
3
- } from "./chunk-TDXU2IC6.mjs";
3
+ } from "./chunk-ILFK3VKS.mjs";
4
4
  import {
5
5
  Box
6
- } from "./chunk-AJWSQEDP.mjs";
6
+ } from "./chunk-3OGHJOJF.mjs";
7
7
  import {
8
8
  __objRest,
9
9
  __spreadProps,
10
10
  __spreadValues
11
- } from "./chunk-R4SQKVDQ.mjs";
11
+ } from "./chunk-YOSPWY5K.mjs";
12
12
 
13
13
  // src/modal/modal.tsx
14
14
  import { forwardRef, useEffect, useRef } from "react";
@@ -103,16 +103,12 @@ Modal.Content = ModalContent;
103
103
  Modal.Footer = ModalFooter;
104
104
  function useScrollLock(modalRef, bodyClass) {
105
105
  useEffect(() => {
106
- if (!modalRef.current)
107
- return;
108
- if (modalRef.current.open)
109
- document.body.classList.add(bodyClass);
106
+ if (!modalRef.current) return;
107
+ if (modalRef.current.open) document.body.classList.add(bodyClass);
110
108
  const observer = new MutationObserver(() => {
111
109
  var _a;
112
- if ((_a = modalRef.current) == null ? void 0 : _a.open)
113
- document.body.classList.add(bodyClass);
114
- else
115
- document.body.classList.remove(bodyClass);
110
+ if ((_a = modalRef.current) == null ? void 0 : _a.open) document.body.classList.add(bodyClass);
111
+ else document.body.classList.remove(bodyClass);
116
112
  });
117
113
  observer.observe(modalRef.current, {
118
114
  attributes: true,
@@ -131,4 +127,4 @@ export {
131
127
  ModalFooter,
132
128
  Modal
133
129
  };
134
- //# sourceMappingURL=chunk-IHZ2MRF6.mjs.map
130
+ //# sourceMappingURL=chunk-6VKQ6IRG.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/modal/modal.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Box } from \"../box/box\";\nimport { useMergeRefs } from \"../utils/utils\";\n\ninterface ModalHeaderProps extends React.HTMLAttributes<HTMLHeadingElement> {\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}\nexport const ModalHeader = forwardRef<HTMLHeadingElement, ModalHeaderProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"h1\";\n return (\n <Component\n className={clsx(\"hds-modal__header\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalHeader.displayName = \"Modal.Header\";\n\ninterface ModalContentProps extends React.HTMLAttributes<HTMLDivElement> {\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}\nexport const ModalContent = forwardRef<HTMLDivElement, ModalContentProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n className={clsx(\"hds-modal__content\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalContent.displayName = \"Modal.Content\";\n\ninterface ModalFooterProps extends React.HTMLAttributes<HTMLDivElement> {\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}\nexport const ModalFooter = forwardRef<HTMLDivElement, ModalFooterProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"footer\";\n return (\n <Component\n className={clsx(\"hds-modal__footer\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalFooter.displayName = \"Modal.Footer\";\n\nexport interface ModalProps extends React.HTMLAttributes<HTMLDialogElement> {\n children: React.ReactNode;\n\n /**\n * Controls the open state of the modal\n */\n open?: boolean;\n\n /**\n * Whether to close when clicking on the backdrop.\n */\n closeOnBackdropClick?: boolean;\n}\n\n/**\n * A modal dialog is a window that forces the user to interact with it before they can return to other parts of the application.\n *\n * Uses the native [`dialog`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog) element.\n *\n * @example\n * ```tsx\n * const modalRef = useRef<HTMLDialogElement>(null);\n * const onClose = () => modalRef.current?.close();\n *\n * return (\n * <>\n * <Button onClick={() => modalRef.current?.showModal()}>Open Modal</Button>\n * <Modal ref={modalRef}>\n * <Modal.Header>Dialog header</Modal.Header>\n * <Modal.Content>\n * <p>\n * Dialog header Dialog description - a description of what is about to happen and maybe\n * something about the consequences.\n * </p>\n * </Modal.Content>\n * <Modal.Footer>\n * <HStack gap=\"16\" wrap>\n * <Button onClick={onMainAction}>Main action</Button>\n * <Button variant=\"primary-outline\" onClick={onClose}>\n * Cancel\n * </Button>\n * </HStack>\n * </Modal.Footer>\n * </Modal>\n * </>\n * );\n * ```\n */\nexport const Modal = forwardRef<HTMLDialogElement, ModalProps>(\n ({ children, className, open, closeOnBackdropClick, onClick, ...rest }, ref) => {\n const modalRef = useRef<HTMLDialogElement>(null);\n const mergedRef = useMergeRefs([modalRef, ref]);\n\n // The X close button that comes from the `Box` component\n function onCloseButtonClick() {\n modalRef.current?.close();\n return false;\n }\n\n // No scroll when modal is open\n useScrollLock(modalRef, \"hds-modal-scroll-lock\");\n\n // `open` prop\n useEffect(() => {\n if (modalRef.current && open !== undefined) {\n if (open && !modalRef.current.open) {\n modalRef.current.showModal();\n } else if (!open && modalRef.current.open) {\n modalRef.current.close();\n }\n }\n }, [modalRef, open]);\n\n function onDialogClick(e: React.MouseEvent<HTMLElement>) {\n if (closeOnBackdropClick && e.target === modalRef.current) {\n modalRef.current.close();\n }\n onClick?.(e as React.MouseEvent<HTMLDialogElement>);\n }\n\n return (\n <Box\n asChild\n className={clsx(\"hds-modal\", className as undefined)}\n closeable\n onClick={onDialogClick}\n onClose={onCloseButtonClick}\n variant=\"white\"\n >\n <dialog ref={mergedRef} {...rest}>\n {children}\n </dialog>\n </Box>\n );\n },\n) as ModalType;\nModal.displayName = \"Modal\";\n\ntype ModalType = ReturnType<typeof forwardRef<HTMLDialogElement, ModalProps>> & {\n Header: typeof ModalHeader;\n Content: typeof ModalContent;\n Footer: typeof ModalFooter;\n};\n\nModal.Header = ModalHeader;\nModal.Content = ModalContent;\nModal.Footer = ModalFooter;\n\nfunction useScrollLock(modalRef: React.RefObject<HTMLDialogElement>, bodyClass: string) {\n useEffect(() => {\n if (!modalRef.current) return;\n if (modalRef.current.open) document.body.classList.add(bodyClass);\n\n const observer = new MutationObserver(() => {\n if (modalRef.current?.open) document.body.classList.add(bodyClass);\n else document.body.classList.remove(bodyClass);\n });\n observer.observe(modalRef.current, {\n attributes: true,\n attributeFilter: [\"open\"],\n });\n return () => {\n observer.disconnect();\n document.body.classList.remove(bodyClass);\n };\n }, [bodyClass, modalRef]);\n}\n"],"mappings":"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","names":["_a"]}
1
+ {"version":3,"sources":["../src/modal/modal.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Box } from \"../box/box\";\nimport { useMergeRefs } from \"../utils/utils\";\n\ninterface ModalHeaderProps extends React.HTMLAttributes<HTMLHeadingElement> {\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}\nexport const ModalHeader = forwardRef<HTMLHeadingElement, ModalHeaderProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"h1\";\n return (\n <Component\n className={clsx(\"hds-modal__header\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalHeader.displayName = \"Modal.Header\";\n\ninterface ModalContentProps extends React.HTMLAttributes<HTMLDivElement> {\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}\nexport const ModalContent = forwardRef<HTMLDivElement, ModalContentProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n className={clsx(\"hds-modal__content\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalContent.displayName = \"Modal.Content\";\n\ninterface ModalFooterProps extends React.HTMLAttributes<HTMLDivElement> {\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}\nexport const ModalFooter = forwardRef<HTMLDivElement, ModalFooterProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"footer\";\n return (\n <Component\n className={clsx(\"hds-modal__footer\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nModalFooter.displayName = \"Modal.Footer\";\n\nexport interface ModalProps extends React.HTMLAttributes<HTMLDialogElement> {\n children: React.ReactNode;\n\n /**\n * Controls the open state of the modal\n */\n open?: boolean;\n\n /**\n * Whether to close when clicking on the backdrop.\n */\n closeOnBackdropClick?: boolean;\n}\n\n/**\n * A modal dialog is a window that forces the user to interact with it before they can return to other parts of the application.\n *\n * Uses the native [`dialog`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog) element.\n *\n * @example\n * ```tsx\n * const modalRef = useRef<HTMLDialogElement>(null);\n * const onClose = () => modalRef.current?.close();\n *\n * return (\n * <>\n * <Button onClick={() => modalRef.current?.showModal()}>Open Modal</Button>\n * <Modal ref={modalRef}>\n * <Modal.Header>Dialog header</Modal.Header>\n * <Modal.Content>\n * <p>\n * Dialog header Dialog description - a description of what is about to happen and maybe\n * something about the consequences.\n * </p>\n * </Modal.Content>\n * <Modal.Footer>\n * <HStack gap=\"16\" wrap>\n * <Button onClick={onMainAction}>Main action</Button>\n * <Button variant=\"primary-outline\" onClick={onClose}>\n * Cancel\n * </Button>\n * </HStack>\n * </Modal.Footer>\n * </Modal>\n * </>\n * );\n * ```\n */\nexport const Modal = forwardRef<HTMLDialogElement, ModalProps>(\n ({ children, className, open, closeOnBackdropClick, onClick, ...rest }, ref) => {\n const modalRef = useRef<HTMLDialogElement>(null);\n const mergedRef = useMergeRefs([modalRef, ref]);\n\n // The X close button that comes from the `Box` component\n function onCloseButtonClick() {\n modalRef.current?.close();\n return false;\n }\n\n // No scroll when modal is open\n useScrollLock(modalRef, \"hds-modal-scroll-lock\");\n\n // `open` prop\n useEffect(() => {\n if (modalRef.current && open !== undefined) {\n if (open && !modalRef.current.open) {\n modalRef.current.showModal();\n } else if (!open && modalRef.current.open) {\n modalRef.current.close();\n }\n }\n }, [modalRef, open]);\n\n function onDialogClick(e: React.MouseEvent<HTMLElement>) {\n if (closeOnBackdropClick && e.target === modalRef.current) {\n modalRef.current.close();\n }\n onClick?.(e as React.MouseEvent<HTMLDialogElement>);\n }\n\n return (\n <Box\n asChild\n className={clsx(\"hds-modal\", className as undefined)}\n closeable\n onClick={onDialogClick}\n onClose={onCloseButtonClick}\n variant=\"white\"\n >\n <dialog ref={mergedRef} {...rest}>\n {children}\n </dialog>\n </Box>\n );\n },\n) as ModalType;\nModal.displayName = \"Modal\";\n\ntype ModalType = ReturnType<typeof forwardRef<HTMLDialogElement, ModalProps>> & {\n Header: typeof ModalHeader;\n Content: typeof ModalContent;\n Footer: typeof ModalFooter;\n};\n\nModal.Header = ModalHeader;\nModal.Content = ModalContent;\nModal.Footer = ModalFooter;\n\nfunction useScrollLock(modalRef: React.RefObject<HTMLDialogElement>, bodyClass: string) {\n useEffect(() => {\n if (!modalRef.current) return;\n if (modalRef.current.open) document.body.classList.add(bodyClass);\n\n const observer = new MutationObserver(() => {\n if (modalRef.current?.open) document.body.classList.add(bodyClass);\n else document.body.classList.remove(bodyClass);\n });\n observer.observe(modalRef.current, {\n attributes: true,\n attributeFilter: [\"open\"],\n });\n return () => {\n observer.disconnect();\n document.body.classList.remove(bodyClass);\n };\n }, [bodyClass, modalRef]);\n}\n"],"mappings":"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","names":["_a"]}
@@ -2,12 +2,12 @@ import {
2
2
  NavbarExpandableMenu,
3
3
  NavbarExpandableMenuContent,
4
4
  NavbarExpandableMenuTrigger
5
- } from "./chunk-OIC2CPID.mjs";
5
+ } from "./chunk-M7MG7ZQT.mjs";
6
6
  import {
7
7
  __objRest,
8
8
  __spreadProps,
9
9
  __spreadValues
10
- } from "./chunk-R4SQKVDQ.mjs";
10
+ } from "./chunk-YOSPWY5K.mjs";
11
11
 
12
12
  // src/navbar/navbar.tsx
13
13
  import { forwardRef } from "react";
@@ -133,4 +133,4 @@ export {
133
133
  NavbarNavigation,
134
134
  Navbar
135
135
  };
136
- //# sourceMappingURL=chunk-EVUKWONG.mjs.map
136
+ //# sourceMappingURL=chunk-6ZO2TMOX.mjs.map
@@ -1,7 +1,6 @@
1
1
  // src/layout/responsive.ts
2
2
  function getResponsiveProps(variable, inputValues, valueTransformer = (value) => String(value)) {
3
- if (!inputValues)
4
- return {};
3
+ if (!inputValues) return {};
5
4
  if (typeof inputValues !== "object") {
6
5
  return { [`${variable}-initial`]: valueTransformer(inputValues) };
7
6
  }
@@ -15,4 +14,4 @@ function getResponsiveProps(variable, inputValues, valueTransformer = (value) =>
15
14
  export {
16
15
  getResponsiveProps
17
16
  };
18
- //# sourceMappingURL=chunk-F4STR6SD.mjs.map
17
+ //# sourceMappingURL=chunk-7ROE6ADK.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/layout/responsive.ts"],"sourcesContent":["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"],"mappings":";AAQO,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;","names":[]}
1
+ {"version":3,"sources":["../src/layout/responsive.ts"],"sourcesContent":["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"],"mappings":";AAQO,SAAS,mBACd,UACA,aACA,mBAAyC,CAAC,UAAU,OAAO,KAAK,GAChE;AACA,MAAI,CAAC,YAAa,QAAO,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;","names":[]}
@@ -2,7 +2,7 @@ import {
2
2
  __objRest,
3
3
  __spreadProps,
4
4
  __spreadValues
5
- } from "./chunk-R4SQKVDQ.mjs";
5
+ } from "./chunk-YOSPWY5K.mjs";
6
6
 
7
7
  // src/breadcrumbs/breadcrumbs.tsx
8
8
  import { forwardRef } from "react";
@@ -19,4 +19,4 @@ Breadcrumbs.displayName = "Breadcrumbs";
19
19
  export {
20
20
  Breadcrumbs
21
21
  };
22
- //# sourceMappingURL=chunk-YSFZCRWS.mjs.map
22
+ //# sourceMappingURL=chunk-A42PXOVR.mjs.map
@@ -2,7 +2,7 @@ import {
2
2
  __objRest,
3
3
  __spreadProps,
4
4
  __spreadValues
5
- } from "./chunk-R4SQKVDQ.mjs";
5
+ } from "./chunk-YOSPWY5K.mjs";
6
6
 
7
7
  // src/button/button.tsx
8
8
  import { forwardRef } from "react";
@@ -55,4 +55,4 @@ Button.displayName = "Button";
55
55
  export {
56
56
  Button
57
57
  };
58
- //# sourceMappingURL=chunk-6MR5XZOX.mjs.map
58
+ //# sourceMappingURL=chunk-AYCHNAU7.mjs.map
@@ -2,7 +2,7 @@ import {
2
2
  __objRest,
3
3
  __spreadProps,
4
4
  __spreadValues
5
- } from "./chunk-R4SQKVDQ.mjs";
5
+ } from "./chunk-YOSPWY5K.mjs";
6
6
 
7
7
  // src/card/card.tsx
8
8
  import { forwardRef } from "react";
@@ -156,4 +156,4 @@ export {
156
156
  CardBodyActionArrow,
157
157
  Card
158
158
  };
159
- //# sourceMappingURL=chunk-NU6OSFAU.mjs.map
159
+ //# sourceMappingURL=chunk-AZ6X4L5C.mjs.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  Box
3
- } from "./chunk-AJWSQEDP.mjs";
3
+ } from "./chunk-3OGHJOJF.mjs";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadProps,
7
7
  __spreadValues
8
- } from "./chunk-R4SQKVDQ.mjs";
8
+ } from "./chunk-YOSPWY5K.mjs";
9
9
 
10
10
  // src/message/message.tsx
11
11
  import { forwardRef } from "react";
@@ -66,4 +66,4 @@ export {
66
66
  MessageDescription,
67
67
  Message
68
68
  };
69
- //# sourceMappingURL=chunk-SQ63E7KM.mjs.map
69
+ //# sourceMappingURL=chunk-BHQ46L2O.mjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  __objRest,
3
3
  __spreadValues
4
- } from "./chunk-R4SQKVDQ.mjs";
4
+ } from "./chunk-YOSPWY5K.mjs";
5
5
 
6
6
  // src/description-list/description-list.tsx
7
7
  import { forwardRef } from "react";
@@ -30,4 +30,4 @@ DescriptionList.displayName = "DescriptionList";
30
30
  export {
31
31
  DescriptionList
32
32
  };
33
- //# sourceMappingURL=chunk-HMATZX4A.mjs.map
33
+ //# sourceMappingURL=chunk-C7ZTOZP3.mjs.map
@@ -2,7 +2,7 @@ import {
2
2
  __objRest,
3
3
  __spreadProps,
4
4
  __spreadValues
5
- } from "./chunk-R4SQKVDQ.mjs";
5
+ } from "./chunk-YOSPWY5K.mjs";
6
6
 
7
7
  // src/form/error-message/error-message.tsx
8
8
  import { clsx } from "@postenbring/hedwig-css/typed-classname";
@@ -29,4 +29,4 @@ ErrorMessage.displayName = "ErrorMessage";
29
29
  export {
30
30
  ErrorMessage
31
31
  };
32
- //# sourceMappingURL=chunk-RZZDMBB7.mjs.map
32
+ //# sourceMappingURL=chunk-CC5QWW52.mjs.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  AccordionContent
3
- } from "./chunk-VCQIR53Y.mjs";
3
+ } from "./chunk-JZXZYEPG.mjs";
4
4
  import {
5
5
  AccordionHeader
6
- } from "./chunk-HJYS664B.mjs";
6
+ } from "./chunk-MYVC3HMO.mjs";
7
7
  import {
8
8
  AccordionItem
9
- } from "./chunk-SKVM7G76.mjs";
9
+ } from "./chunk-EZVEYJOX.mjs";
10
10
  import {
11
11
  __objRest,
12
12
  __spreadProps,
13
13
  __spreadValues
14
- } from "./chunk-R4SQKVDQ.mjs";
14
+ } from "./chunk-YOSPWY5K.mjs";
15
15
 
16
16
  // src/accordion/accordion.tsx
17
17
  import { forwardRef } from "react";
@@ -42,4 +42,4 @@ Accordion.Content = AccordionContent;
42
42
  export {
43
43
  Accordion
44
44
  };
45
- //# sourceMappingURL=chunk-B6L7IFDX.mjs.map
45
+ //# sourceMappingURL=chunk-CXX4SXJG.mjs.map
@@ -2,7 +2,7 @@ import {
2
2
  __objRest,
3
3
  __spreadProps,
4
4
  __spreadValues
5
- } from "./chunk-R4SQKVDQ.mjs";
5
+ } from "./chunk-YOSPWY5K.mjs";
6
6
 
7
7
  // src/text/text.tsx
8
8
  import { forwardRef } from "react";
@@ -66,4 +66,4 @@ Text.displayName = "Text";
66
66
  export {
67
67
  Text
68
68
  };
69
- //# sourceMappingURL=chunk-GGQB2WWD.mjs.map
69
+ //# sourceMappingURL=chunk-DMOMTRIY.mjs.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  useFieldsetContext
3
- } from "./chunk-LG7QWKFP.mjs";
3
+ } from "./chunk-JQGB77SS.mjs";
4
4
  import {
5
5
  ErrorMessage
6
- } from "./chunk-RZZDMBB7.mjs";
6
+ } from "./chunk-CC5QWW52.mjs";
7
7
  import {
8
8
  __objRest,
9
9
  __spreadProps,
10
10
  __spreadValues
11
- } from "./chunk-R4SQKVDQ.mjs";
11
+ } from "./chunk-YOSPWY5K.mjs";
12
12
 
13
13
  // src/form/checkbox/checkbox.tsx
14
14
  import { forwardRef, useId } from "react";
@@ -73,4 +73,4 @@ Checkbox.displayName = "Checkbox";
73
73
  export {
74
74
  Checkbox
75
75
  };
76
- //# sourceMappingURL=chunk-KI6WRKZY.mjs.map
76
+ //# sourceMappingURL=chunk-EAFQ3XQU.mjs.map
@@ -2,7 +2,7 @@ import {
2
2
  __objRest,
3
3
  __spreadProps,
4
4
  __spreadValues
5
- } from "./chunk-R4SQKVDQ.mjs";
5
+ } from "./chunk-YOSPWY5K.mjs";
6
6
 
7
7
  // src/styled-html/styled-html.tsx
8
8
  import { forwardRef } from "react";
@@ -11,7 +11,7 @@ import { Slot } from "@radix-ui/react-slot";
11
11
  import { jsx } from "react/jsx-runtime";
12
12
  var StyledHtml = forwardRef(
13
13
  (_a, ref) => {
14
- var _b = _a, { asChild, children, size, darkmode = false, className } = _b, rest = __objRest(_b, ["asChild", "children", "size", "darkmode", "className"]);
14
+ var _b = _a, { asChild, children, size, unstable_darkmode: darkmode = false, className } = _b, rest = __objRest(_b, ["asChild", "children", "size", "unstable_darkmode", "className"]);
15
15
  const Component = asChild ? Slot : "div";
16
16
  return /* @__PURE__ */ jsx(
17
17
  Component,
@@ -34,4 +34,4 @@ StyledHtml.displayName = "StyledHtml";
34
34
  export {
35
35
  StyledHtml
36
36
  };
37
- //# sourceMappingURL=chunk-I3ZIMS72.mjs.map
37
+ //# sourceMappingURL=chunk-EGW3RCXD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/styled-html/styled-html.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport interface StyledHtmlProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode;\n\n /**\n * Size of content inside. Setting this to `small` makes the font size be `body-small`.\n *\n * @default \"default\"\n */\n size?: \"default\" | \"small\";\n\n /**\n * 🚧 Work in progress darkmode support\n */\n unstable_darkmode?: 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 component for displaying dynamic content that you want to apply hedwig styling to.\n * the styling depends on the semantic html elements you use inside the component.\n *\n * Useful when you have dynamic content that you want styled with hedwig, like content from a CMS.\n *\n * Previously known as `hw-wysiwyg` in hedwig legacy. In tailwind this kind of component it is known as `prose`.\n *\n * @example\n * ```tsx\n * <StyledHtml>\n * <h1>Heading 1</h1>\n * <h2>Heading 2</h2>\n * <a href=\"https://www.postenbring.no\">Postenbring</a>\n * <ul>\n * <li>Hei</li>\n * <li>Hallo</li>\n * <li>Hello</li>\n * </ul>\n * </StyledHtml>\n * ```\n */\nexport const StyledHtml = forwardRef<HTMLDivElement, StyledHtmlProps>(\n ({ asChild, children, size, unstable_darkmode: darkmode = false, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n className={clsx(\n `hds-styled-html`,\n size === \"small\" && \"hds-styled-html--small\",\n darkmode && \"hds-styled-html--darkmode\",\n className as undefined,\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nStyledHtml.displayName = \"StyledHtml\";\n"],"mappings":";;;;;;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACrB,SAAS,YAAY;AAmDf;AAJC,IAAM,aAAa;AAAA,EACxB,CAAC,IAAsF,QAAQ;AAA9F,iBAAE,WAAS,UAAU,MAAM,mBAAmB,WAAW,OAAO,UAlDnE,IAkDG,IAA8E,iBAA9E,IAA8E,CAA5E,WAAS,YAAU,QAAM,qBAAqC;AAC/D,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,SAAS,WAAW;AAAA,UACpB,YAAY;AAAA,UACZ;AAAA,QACF;AAAA,QACA;AAAA,SACI,OARL;AAAA,QAUE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,WAAW,cAAc;","names":[]}
@@ -2,7 +2,7 @@ import {
2
2
  __objRest,
3
3
  __spreadProps,
4
4
  __spreadValues
5
- } from "./chunk-R4SQKVDQ.mjs";
5
+ } from "./chunk-YOSPWY5K.mjs";
6
6
 
7
7
  // src/warning-banner/warning-banner.tsx
8
8
  import { forwardRef, useId, useState } from "react";
@@ -79,4 +79,4 @@ WarningBannerDescription.displayName = "WarningBannerDescription";
79
79
  export {
80
80
  WarningBanner
81
81
  };
82
- //# sourceMappingURL=chunk-L4YBHIS3.mjs.map
82
+ //# sourceMappingURL=chunk-EMQB6JIS.mjs.map
@@ -5,7 +5,7 @@ import {
5
5
  __objRest,
6
6
  __spreadProps,
7
7
  __spreadValues
8
- } from "./chunk-R4SQKVDQ.mjs";
8
+ } from "./chunk-YOSPWY5K.mjs";
9
9
 
10
10
  // src/accordion/accordion-item.tsx
11
11
  import { forwardRef, useId, useState } from "react";
@@ -40,4 +40,4 @@ AccordionItem.displayName = "Accordion.Item";
40
40
  export {
41
41
  AccordionItem
42
42
  };
43
- //# sourceMappingURL=chunk-SKVM7G76.mjs.map
43
+ //# sourceMappingURL=chunk-EZVEYJOX.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getResponsiveProps
3
- } from "./chunk-F4STR6SD.mjs";
3
+ } from "./chunk-7ROE6ADK.mjs";
4
4
  import {
5
5
  getSpacingVariable
6
6
  } from "./chunk-NE6W2PCD.mjs";
@@ -8,7 +8,7 @@ import {
8
8
  __objRest,
9
9
  __spreadProps,
10
10
  __spreadValues
11
- } from "./chunk-R4SQKVDQ.mjs";
11
+ } from "./chunk-YOSPWY5K.mjs";
12
12
 
13
13
  // src/layout/stack/stack.tsx
14
14
  import "react";
@@ -72,4 +72,4 @@ export {
72
72
  HStack,
73
73
  VStack
74
74
  };
75
- //# sourceMappingURL=chunk-AXKJB47E.mjs.map
75
+ //# sourceMappingURL=chunk-FUIKSOJF.mjs.map
@@ -53,20 +53,15 @@ function useHydrated() {
53
53
  }
54
54
  function focusTrap(element) {
55
55
  var _a, _b;
56
- if (element === document.body)
57
- return () => {
58
- };
56
+ if (element === document.body) return () => {
57
+ };
59
58
  let inertElements = [];
60
59
  for (let el = element; el; el = el.parentElement) {
61
- if (el === document.body)
62
- break;
60
+ if (el === document.body) break;
63
61
  for (const sibling of (_b = (_a = el.parentElement) == null ? void 0 : _a.children) != null ? _b : []) {
64
- if (sibling === el)
65
- continue;
66
- if (!(sibling instanceof HTMLElement))
67
- continue;
68
- if (sibling.hasAttribute("inert"))
69
- continue;
62
+ if (sibling === el) continue;
63
+ if (!(sibling instanceof HTMLElement)) continue;
64
+ if (sibling.hasAttribute("inert")) continue;
70
65
  sibling.setAttribute("inert", "true");
71
66
  inertElements.push(sibling);
72
67
  }
@@ -88,4 +83,4 @@ export {
88
83
  useHydrated,
89
84
  focusTrap
90
85
  };
91
- //# sourceMappingURL=chunk-TDXU2IC6.mjs.map
86
+ //# sourceMappingURL=chunk-ILFK3VKS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils/utils.ts"],"sourcesContent":["import * as React from \"react\";\nimport { useCallback, useEffect, useState } from \"react\";\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/useMergeRefs\n */\nexport function useMergeRefs<Instance>(\n refs: (React.Ref<Instance> | undefined)[],\n): React.RefCallback<Instance> | null {\n return React.useMemo(() => {\n if (refs.every((ref) => ref === null)) {\n return null;\n }\n\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null) {\n (ref as React.MutableRefObject<Instance | null>).current = value;\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- It's ok\n }, refs);\n}\n\nexport function useResize<Instance extends HTMLElement>(\n ref: React.RefObject<Instance> | undefined | null,\n): { width: number; height: number } {\n const [width, setWidth] = useState<number>(0);\n const [height, setHeight] = useState<number>(0);\n const handleResize = useCallback(() => {\n if (ref?.current !== null) {\n setWidth(ref?.current?.offsetWidth ?? 0);\n setHeight(ref?.current?.offsetHeight ?? 0);\n }\n }, [ref]);\n useEffect(() => {\n window.addEventListener(\"load\", handleResize);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"load\", handleResize);\n window.removeEventListener(\"resize\", handleResize);\n };\n }, [ref, handleResize]);\n useEffect(() => {\n handleResize();\n // eslint-disable-next-line react-hooks/exhaustive-deps -- It's ok\n }, []);\n return { width, height };\n}\n\nfunction subscribe() {\n // eslint-disable-next-line @typescript-eslint/no-empty-function -- It's ok\n return () => {};\n}\n\nexport function useHydrated() {\n return React.useSyncExternalStore(\n subscribe,\n () => true,\n () => false,\n );\n}\n\n/**\n * Trap focus inside an element using the `inert` attribute.\n *\n * Adds `inert` to all siblings of the given element, and all their ancestors up to the body.\n * Returns a cleanup function which removes the `inert` property from the elements, effectively giving focus back to rest of the document.\n *\n * NOTE: Does not support portals, i.e. elements outside the DOM hierarchy of the given element.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert\n * @see https://web.dev/articles/inert\n */\nexport function focusTrap(element: HTMLElement) {\n // eslint-disable-next-line @typescript-eslint/no-empty-function -- NOP on focus trapping the body element\n if (element === document.body) return () => {};\n\n let inertElements: HTMLElement[] = [];\n for (let el: HTMLElement | null = element; el; el = el.parentElement) {\n if (el === document.body) break;\n\n for (const sibling of el.parentElement?.children ?? []) {\n if (sibling === el) continue;\n if (!(sibling instanceof HTMLElement)) continue;\n if (sibling.hasAttribute(\"inert\")) continue;\n\n sibling.setAttribute(\"inert\", \"true\");\n inertElements.push(sibling);\n }\n }\n\n return () => {\n releaseFocusTrap(inertElements);\n inertElements = [];\n };\n}\n\n/**\n * Unset the `inert` attribute on all elements given\n */\nfunction releaseFocusTrap(inertElements: Iterable<HTMLElement>) {\n for (const el of inertElements) {\n el.removeAttribute(\"inert\");\n }\n}\n"],"mappings":";AAAA,YAAY,WAAW;AACvB,SAAS,aAAa,WAAW,gBAAgB;AAM1C,SAAS,aACd,MACoC;AACpC,SAAa,cAAQ,MAAM;AACzB,QAAI,KAAK,MAAM,CAAC,QAAQ,QAAQ,IAAI,GAAG;AACrC,aAAO;AAAA,IACT;AAEA,WAAO,CAAC,UAAU;AAChB,WAAK,QAAQ,CAAC,QAAQ;AACpB,YAAI,OAAO,QAAQ,YAAY;AAC7B,cAAI,KAAK;AAAA,QACX,WAAW,QAAQ,MAAM;AACvB,UAAC,IAAgD,UAAU;AAAA,QAC7D;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EAEF,GAAG,IAAI;AACT;AAEO,SAAS,UACd,KACmC;AACnC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,CAAC;AAC5C,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAiB,CAAC;AAC9C,QAAM,eAAe,YAAY,MAAM;AAjCzC;AAkCI,SAAI,2BAAK,aAAY,MAAM;AACzB,gBAAS,sCAAK,YAAL,mBAAc,gBAAd,YAA6B,CAAC;AACvC,iBAAU,sCAAK,YAAL,mBAAc,iBAAd,YAA8B,CAAC;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AACR,YAAU,MAAM;AACd,WAAO,iBAAiB,QAAQ,YAAY;AAC5C,WAAO,iBAAiB,UAAU,YAAY;AAC9C,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,YAAY;AAC/C,aAAO,oBAAoB,UAAU,YAAY;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,KAAK,YAAY,CAAC;AACtB,YAAU,MAAM;AACd,iBAAa;AAAA,EAEf,GAAG,CAAC,CAAC;AACL,SAAO,EAAE,OAAO,OAAO;AACzB;AAEA,SAAS,YAAY;AAEnB,SAAO,MAAM;AAAA,EAAC;AAChB;AAEO,SAAS,cAAc;AAC5B,SAAa;AAAA,IACX;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAaO,SAAS,UAAU,SAAsB;AA9EhD;AAgFE,MAAI,YAAY,SAAS;AAAM,WAAO,MAAM;AAAA,IAAC;AAE7C,MAAI,gBAA+B,CAAC;AACpC,WAAS,KAAyB,SAAS,IAAI,KAAK,GAAG,eAAe;AACpE,QAAI,OAAO,SAAS;AAAM;AAE1B,eAAW,YAAW,cAAG,kBAAH,mBAAkB,aAAlB,YAA8B,CAAC,GAAG;AACtD,UAAI,YAAY;AAAI;AACpB,UAAI,EAAE,mBAAmB;AAAc;AACvC,UAAI,QAAQ,aAAa,OAAO;AAAG;AAEnC,cAAQ,aAAa,SAAS,MAAM;AACpC,oBAAc,KAAK,OAAO;AAAA,IAC5B;AAAA,EACF;AAEA,SAAO,MAAM;AACX,qBAAiB,aAAa;AAC9B,oBAAgB,CAAC;AAAA,EACnB;AACF;AAKA,SAAS,iBAAiB,eAAsC;AAC9D,aAAW,MAAM,eAAe;AAC9B,OAAG,gBAAgB,OAAO;AAAA,EAC5B;AACF;","names":[]}
1
+ {"version":3,"sources":["../src/utils/utils.ts"],"sourcesContent":["import * as React from \"react\";\nimport { useCallback, useEffect, useState } from \"react\";\n\n/**\n * Merges an array of refs into a single memoized callback ref or `null`.\n * @see https://floating-ui.com/docs/useMergeRefs\n */\nexport function useMergeRefs<Instance>(\n refs: (React.Ref<Instance> | undefined)[],\n): React.RefCallback<Instance> | null {\n return React.useMemo(() => {\n if (refs.every((ref) => ref === null)) {\n return null;\n }\n\n return (value) => {\n refs.forEach((ref) => {\n if (typeof ref === \"function\") {\n ref(value);\n } else if (ref !== null) {\n (ref as React.MutableRefObject<Instance | null>).current = value;\n }\n });\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- It's ok\n }, refs);\n}\n\nexport function useResize<Instance extends HTMLElement>(\n ref: React.RefObject<Instance> | undefined | null,\n): { width: number; height: number } {\n const [width, setWidth] = useState<number>(0);\n const [height, setHeight] = useState<number>(0);\n const handleResize = useCallback(() => {\n if (ref?.current !== null) {\n setWidth(ref?.current?.offsetWidth ?? 0);\n setHeight(ref?.current?.offsetHeight ?? 0);\n }\n }, [ref]);\n useEffect(() => {\n window.addEventListener(\"load\", handleResize);\n window.addEventListener(\"resize\", handleResize);\n return () => {\n window.removeEventListener(\"load\", handleResize);\n window.removeEventListener(\"resize\", handleResize);\n };\n }, [ref, handleResize]);\n useEffect(() => {\n handleResize();\n // eslint-disable-next-line react-hooks/exhaustive-deps -- It's ok\n }, []);\n return { width, height };\n}\n\nfunction subscribe() {\n // eslint-disable-next-line @typescript-eslint/no-empty-function -- It's ok\n return () => {};\n}\n\nexport function useHydrated() {\n return React.useSyncExternalStore(\n subscribe,\n () => true,\n () => false,\n );\n}\n\n/**\n * Trap focus inside an element using the `inert` attribute.\n *\n * Adds `inert` to all siblings of the given element, and all their ancestors up to the body.\n * Returns a cleanup function which removes the `inert` property from the elements, effectively giving focus back to rest of the document.\n *\n * NOTE: Does not support portals, i.e. elements outside the DOM hierarchy of the given element.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert\n * @see https://web.dev/articles/inert\n */\nexport function focusTrap(element: HTMLElement) {\n // eslint-disable-next-line @typescript-eslint/no-empty-function -- NOP on focus trapping the body element\n if (element === document.body) return () => {};\n\n let inertElements: HTMLElement[] = [];\n for (let el: HTMLElement | null = element; el; el = el.parentElement) {\n if (el === document.body) break;\n\n for (const sibling of el.parentElement?.children ?? []) {\n if (sibling === el) continue;\n if (!(sibling instanceof HTMLElement)) continue;\n if (sibling.hasAttribute(\"inert\")) continue;\n\n sibling.setAttribute(\"inert\", \"true\");\n inertElements.push(sibling);\n }\n }\n\n return () => {\n releaseFocusTrap(inertElements);\n inertElements = [];\n };\n}\n\n/**\n * Unset the `inert` attribute on all elements given\n */\nfunction releaseFocusTrap(inertElements: Iterable<HTMLElement>) {\n for (const el of inertElements) {\n el.removeAttribute(\"inert\");\n }\n}\n"],"mappings":";AAAA,YAAY,WAAW;AACvB,SAAS,aAAa,WAAW,gBAAgB;AAM1C,SAAS,aACd,MACoC;AACpC,SAAa,cAAQ,MAAM;AACzB,QAAI,KAAK,MAAM,CAAC,QAAQ,QAAQ,IAAI,GAAG;AACrC,aAAO;AAAA,IACT;AAEA,WAAO,CAAC,UAAU;AAChB,WAAK,QAAQ,CAAC,QAAQ;AACpB,YAAI,OAAO,QAAQ,YAAY;AAC7B,cAAI,KAAK;AAAA,QACX,WAAW,QAAQ,MAAM;AACvB,UAAC,IAAgD,UAAU;AAAA,QAC7D;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EAEF,GAAG,IAAI;AACT;AAEO,SAAS,UACd,KACmC;AACnC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiB,CAAC;AAC5C,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAiB,CAAC;AAC9C,QAAM,eAAe,YAAY,MAAM;AAjCzC;AAkCI,SAAI,2BAAK,aAAY,MAAM;AACzB,gBAAS,sCAAK,YAAL,mBAAc,gBAAd,YAA6B,CAAC;AACvC,iBAAU,sCAAK,YAAL,mBAAc,iBAAd,YAA8B,CAAC;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AACR,YAAU,MAAM;AACd,WAAO,iBAAiB,QAAQ,YAAY;AAC5C,WAAO,iBAAiB,UAAU,YAAY;AAC9C,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,YAAY;AAC/C,aAAO,oBAAoB,UAAU,YAAY;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,KAAK,YAAY,CAAC;AACtB,YAAU,MAAM;AACd,iBAAa;AAAA,EAEf,GAAG,CAAC,CAAC;AACL,SAAO,EAAE,OAAO,OAAO;AACzB;AAEA,SAAS,YAAY;AAEnB,SAAO,MAAM;AAAA,EAAC;AAChB;AAEO,SAAS,cAAc;AAC5B,SAAa;AAAA,IACX;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAaO,SAAS,UAAU,SAAsB;AA9EhD;AAgFE,MAAI,YAAY,SAAS,KAAM,QAAO,MAAM;AAAA,EAAC;AAE7C,MAAI,gBAA+B,CAAC;AACpC,WAAS,KAAyB,SAAS,IAAI,KAAK,GAAG,eAAe;AACpE,QAAI,OAAO,SAAS,KAAM;AAE1B,eAAW,YAAW,cAAG,kBAAH,mBAAkB,aAAlB,YAA8B,CAAC,GAAG;AACtD,UAAI,YAAY,GAAI;AACpB,UAAI,EAAE,mBAAmB,aAAc;AACvC,UAAI,QAAQ,aAAa,OAAO,EAAG;AAEnC,cAAQ,aAAa,SAAS,MAAM;AACpC,oBAAc,KAAK,OAAO;AAAA,IAC5B;AAAA,EACF;AAEA,SAAO,MAAM;AACX,qBAAiB,aAAa;AAC9B,oBAAgB,CAAC;AAAA,EACnB;AACF;AAKA,SAAS,iBAAiB,eAAsC;AAC9D,aAAW,MAAM,eAAe;AAC9B,OAAG,gBAAgB,OAAO;AAAA,EAC5B;AACF;","names":[]}
@@ -5,12 +5,12 @@ import {
5
5
  useHydrated,
6
6
  useMergeRefs,
7
7
  useResize
8
- } from "./chunk-TDXU2IC6.mjs";
8
+ } from "./chunk-ILFK3VKS.mjs";
9
9
  import {
10
10
  __objRest,
11
11
  __spreadProps,
12
12
  __spreadValues
13
- } from "./chunk-R4SQKVDQ.mjs";
13
+ } from "./chunk-YOSPWY5K.mjs";
14
14
 
15
15
  // src/tabs/tabs-list.tsx
16
16
  import { forwardRef, useEffect, useRef } from "react";
@@ -30,8 +30,7 @@ var TabsList = forwardRef(
30
30
  useEffect(() => {
31
31
  const tabList = tabsListRef.current;
32
32
  const activeTab = tabList == null ? void 0 : tabList.querySelector(`[data-tabid="${activeTabId}"]`);
33
- if (!activeTab || !tabList)
34
- return;
33
+ if (!activeTab || !tabList) return;
35
34
  const { offsetHeight: containerHeight, offsetWidth: containerWidth } = tabList;
36
35
  const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = activeTab;
37
36
  const height = offsetHeight / containerHeight;
@@ -108,4 +107,4 @@ export {
108
107
  TabsList,
109
108
  TabsTab
110
109
  };
111
- //# sourceMappingURL=chunk-AXQCREUJ.mjs.map
110
+ //# sourceMappingURL=chunk-J5SCUELT.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tabs/tabs-list.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactElement, MouseEvent } from \"react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { useResize, useHydrated, useMergeRefs } from \"../utils/utils\";\nimport { useTabsContext } from \"./context\";\n\nexport interface TabsListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsTabProps> | ReactElement<TabsTabProps>[];\n\n /**\n * Direction of the tabs. Can either be vertical or horizontal.\n * Horizontal breaks on window width with fallback back to vertical\n *\n * @default \"horizontal\"\n */\n direction?: \"vertical\" | \"horizontal\";\n}\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>(\n ({ children, direction = \"horizontal\", className, ...rest }, ref) => {\n const { activeTabId } = useTabsContext();\n const tabsListRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs([tabsListRef, ref]);\n const { width: tabsWidth } = useResize(tabsListRef);\n\n const isClientSide = useHydrated();\n const { innerWidth } = isClientSide ? window : { innerWidth: 1000 };\n const wideEnough = innerWidth >= tabsWidth;\n\n const previousTabId = useRef(activeTabId);\n\n // Marker animation\n useEffect(() => {\n const tabList = tabsListRef.current;\n const activeTab = tabList?.querySelector(`[data-tabid=\"${activeTabId}\"]`);\n if (!activeTab || !tabList) return;\n\n const { offsetHeight: containerHeight, offsetWidth: containerWidth } = tabList;\n const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = activeTab as HTMLElement;\n\n // Calculate the height and width of the marker relative to the container\n const height = offsetHeight / containerHeight;\n const width = offsetWidth / containerWidth;\n\n // NOTE: Doing a DOM manipulation here to set the CSS variables for the marker\n // Not really the react idomatic way, but as long as it works we are able to skip some intermidiate `useState`\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-height\", String(height));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-width\", String(width));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-top\", `${offsetTop}px`);\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-left\", `${offsetLeft}px`);\n\n // Start with border fallback, then switch to the animated marker when the user changes tabs\n // This way the marker is placed immediately to the default tab, then animates smoothly to the next when selected\n if (previousTabId.current !== activeTabId) {\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-animated-color\",\n \"var(--_hds-tabs-marker-color)\",\n );\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-border-fallback-color\",\n \"transparent\",\n );\n }\n previousTabId.current = activeTabId;\n }, [activeTabId, innerWidth]);\n\n return (\n <div\n className={clsx(\n \"hds-tabs__list\",\n direction === \"horizontal\"\n ? {\n \"hds-tabs__list--horizontal\": wideEnough,\n \"hds-tabs__list--vertical\": !wideEnough,\n }\n : {\n \"hds-tabs__list--vertical\": true,\n },\n className as undefined,\n )}\n ref={mergedRef}\n role=\"tablist\"\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\nTabsList.displayName = \"Tabs.List\";\n\nexport interface TabsTabProps extends HTMLAttributes<HTMLButtonElement> {\n children: ReactElement<HTMLElement> | string;\n\n /**\n * Identifier for the tab\n */\n tabId: string;\n}\n\nexport const TabsTab = forwardRef<HTMLButtonElement, TabsTabProps>(\n ({ children, tabId, className, onClick, ...rest }, ref) => {\n const context = useTabsContext();\n\n const toggleTab = (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n context.toggleActiveTabId(tabId);\n onClick?.(e);\n };\n return (\n <button\n className={clsx(\n \"hds-tabs__tab\",\n { \"hds-tabs__tab--active\": context.activeTabId === tabId },\n className as undefined,\n )}\n data-tabid={tabId}\n onClick={toggleTab}\n ref={ref}\n type=\"button\"\n role=\"tab\"\n {...rest}\n >\n {children}\n </button>\n );\n },\n);\nTabsTab.displayName = \"Tabs.Tab\";\n"],"mappings":";;;;;;;;;;;;;;;AACA,SAAS,YAAY,WAAW,cAAc;AAC9C,SAAS,YAAY;AAiEf;AAjDC,IAAM,WAAW;AAAA,EACtB,CAAC,IAA4D,QAAQ;AAApE,iBAAE,YAAU,YAAY,cAAc,UAnBzC,IAmBG,IAAoD,iBAApD,IAAoD,CAAlD,YAAU,aAA0B;AACrC,UAAM,EAAE,YAAY,IAAI,eAAe;AACvC,UAAM,cAAc,OAAuB,IAAI;AAC/C,UAAM,YAAY,aAAa,CAAC,aAAa,GAAG,CAAC;AACjD,UAAM,EAAE,OAAO,UAAU,IAAI,UAAU,WAAW;AAElD,UAAM,eAAe,YAAY;AACjC,UAAM,EAAE,WAAW,IAAI,eAAe,SAAS,EAAE,YAAY,IAAK;AAClE,UAAM,aAAa,cAAc;AAEjC,UAAM,gBAAgB,OAAO,WAAW;AAGxC,cAAU,MAAM;AACd,YAAM,UAAU,YAAY;AAC5B,YAAM,YAAY,mCAAS,cAAc,gBAAgB,WAAW;AACpE,UAAI,CAAC,aAAa,CAAC;AAAS;AAE5B,YAAM,EAAE,cAAc,iBAAiB,aAAa,eAAe,IAAI;AACvE,YAAM,EAAE,cAAc,aAAa,WAAW,WAAW,IAAI;AAG7D,YAAM,SAAS,eAAe;AAC9B,YAAM,QAAQ,cAAc;AAI5B,kBAAY,QAAQ,MAAM,YAAY,6BAA6B,OAAO,MAAM,CAAC;AACjF,kBAAY,QAAQ,MAAM,YAAY,4BAA4B,OAAO,KAAK,CAAC;AAC/E,kBAAY,QAAQ,MAAM,YAAY,0BAA0B,GAAG,SAAS,IAAI;AAChF,kBAAY,QAAQ,MAAM,YAAY,2BAA2B,GAAG,UAAU,IAAI;AAIlF,UAAI,cAAc,YAAY,aAAa;AACzC,oBAAY,QAAQ,MAAM;AAAA,UACxB;AAAA,UACA;AAAA,QACF;AACA,oBAAY,QAAQ,MAAM;AAAA,UACxB;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,oBAAc,UAAU;AAAA,IAC1B,GAAG,CAAC,aAAa,UAAU,CAAC;AAE5B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,cAAc,eACV;AAAA,YACE,8BAA8B;AAAA,YAC9B,4BAA4B,CAAC;AAAA,UAC/B,IACA;AAAA,YACE,4BAA4B;AAAA,UAC9B;AAAA,UACJ;AAAA,QACF;AAAA,QACA,KAAK;AAAA,QACL,MAAK;AAAA,SACD,OAfL;AAAA,QAiBE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;AAWhB,IAAM,UAAU;AAAA,EACrB,CAAC,IAAkD,QAAQ;AAA1D,iBAAE,YAAU,OAAO,WAAW,QArGjC,IAqGG,IAA0C,iBAA1C,IAA0C,CAAxC,YAAU,SAAO,aAAW;AAC7B,UAAM,UAAU,eAAe;AAE/B,UAAM,YAAY,CAAC,MAAqC;AACtD,QAAE,eAAe;AACjB,cAAQ,kBAAkB,KAAK;AAC/B,yCAAU;AAAA,IACZ;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,EAAE,yBAAyB,QAAQ,gBAAgB,MAAM;AAAA,UACzD;AAAA,QACF;AAAA,QACA,cAAY;AAAA,QACZ,SAAS;AAAA,QACT;AAAA,QACA,MAAK;AAAA,QACL,MAAK;AAAA,SACD,OAXL;AAAA,QAaE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,QAAQ,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/tabs/tabs-list.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactElement, MouseEvent } from \"react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { useResize, useHydrated, useMergeRefs } from \"../utils/utils\";\nimport { useTabsContext } from \"./context\";\n\nexport interface TabsListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsTabProps> | ReactElement<TabsTabProps>[];\n\n /**\n * Direction of the tabs. Can either be vertical or horizontal.\n * Horizontal breaks on window width with fallback back to vertical\n *\n * @default \"horizontal\"\n */\n direction?: \"vertical\" | \"horizontal\";\n}\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>(\n ({ children, direction = \"horizontal\", className, ...rest }, ref) => {\n const { activeTabId } = useTabsContext();\n const tabsListRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs([tabsListRef, ref]);\n const { width: tabsWidth } = useResize(tabsListRef);\n\n const isClientSide = useHydrated();\n const { innerWidth } = isClientSide ? window : { innerWidth: 1000 };\n const wideEnough = innerWidth >= tabsWidth;\n\n const previousTabId = useRef(activeTabId);\n\n // Marker animation\n useEffect(() => {\n const tabList = tabsListRef.current;\n const activeTab = tabList?.querySelector(`[data-tabid=\"${activeTabId}\"]`);\n if (!activeTab || !tabList) return;\n\n const { offsetHeight: containerHeight, offsetWidth: containerWidth } = tabList;\n const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = activeTab as HTMLElement;\n\n // Calculate the height and width of the marker relative to the container\n const height = offsetHeight / containerHeight;\n const width = offsetWidth / containerWidth;\n\n // NOTE: Doing a DOM manipulation here to set the CSS variables for the marker\n // Not really the react idomatic way, but as long as it works we are able to skip some intermidiate `useState`\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-height\", String(height));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-width\", String(width));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-top\", `${offsetTop}px`);\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-left\", `${offsetLeft}px`);\n\n // Start with border fallback, then switch to the animated marker when the user changes tabs\n // This way the marker is placed immediately to the default tab, then animates smoothly to the next when selected\n if (previousTabId.current !== activeTabId) {\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-animated-color\",\n \"var(--_hds-tabs-marker-color)\",\n );\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-border-fallback-color\",\n \"transparent\",\n );\n }\n previousTabId.current = activeTabId;\n }, [activeTabId, innerWidth]);\n\n return (\n <div\n className={clsx(\n \"hds-tabs__list\",\n direction === \"horizontal\"\n ? {\n \"hds-tabs__list--horizontal\": wideEnough,\n \"hds-tabs__list--vertical\": !wideEnough,\n }\n : {\n \"hds-tabs__list--vertical\": true,\n },\n className as undefined,\n )}\n ref={mergedRef}\n role=\"tablist\"\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\nTabsList.displayName = \"Tabs.List\";\n\nexport interface TabsTabProps extends HTMLAttributes<HTMLButtonElement> {\n children: ReactElement<HTMLElement> | string;\n\n /**\n * Identifier for the tab\n */\n tabId: string;\n}\n\nexport const TabsTab = forwardRef<HTMLButtonElement, TabsTabProps>(\n ({ children, tabId, className, onClick, ...rest }, ref) => {\n const context = useTabsContext();\n\n const toggleTab = (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n context.toggleActiveTabId(tabId);\n onClick?.(e);\n };\n return (\n <button\n className={clsx(\n \"hds-tabs__tab\",\n { \"hds-tabs__tab--active\": context.activeTabId === tabId },\n className as undefined,\n )}\n data-tabid={tabId}\n onClick={toggleTab}\n ref={ref}\n type=\"button\"\n role=\"tab\"\n {...rest}\n >\n {children}\n </button>\n );\n },\n);\nTabsTab.displayName = \"Tabs.Tab\";\n"],"mappings":";;;;;;;;;;;;;;;AACA,SAAS,YAAY,WAAW,cAAc;AAC9C,SAAS,YAAY;AAiEf;AAjDC,IAAM,WAAW;AAAA,EACtB,CAAC,IAA4D,QAAQ;AAApE,iBAAE,YAAU,YAAY,cAAc,UAnBzC,IAmBG,IAAoD,iBAApD,IAAoD,CAAlD,YAAU,aAA0B;AACrC,UAAM,EAAE,YAAY,IAAI,eAAe;AACvC,UAAM,cAAc,OAAuB,IAAI;AAC/C,UAAM,YAAY,aAAa,CAAC,aAAa,GAAG,CAAC;AACjD,UAAM,EAAE,OAAO,UAAU,IAAI,UAAU,WAAW;AAElD,UAAM,eAAe,YAAY;AACjC,UAAM,EAAE,WAAW,IAAI,eAAe,SAAS,EAAE,YAAY,IAAK;AAClE,UAAM,aAAa,cAAc;AAEjC,UAAM,gBAAgB,OAAO,WAAW;AAGxC,cAAU,MAAM;AACd,YAAM,UAAU,YAAY;AAC5B,YAAM,YAAY,mCAAS,cAAc,gBAAgB,WAAW;AACpE,UAAI,CAAC,aAAa,CAAC,QAAS;AAE5B,YAAM,EAAE,cAAc,iBAAiB,aAAa,eAAe,IAAI;AACvE,YAAM,EAAE,cAAc,aAAa,WAAW,WAAW,IAAI;AAG7D,YAAM,SAAS,eAAe;AAC9B,YAAM,QAAQ,cAAc;AAI5B,kBAAY,QAAQ,MAAM,YAAY,6BAA6B,OAAO,MAAM,CAAC;AACjF,kBAAY,QAAQ,MAAM,YAAY,4BAA4B,OAAO,KAAK,CAAC;AAC/E,kBAAY,QAAQ,MAAM,YAAY,0BAA0B,GAAG,SAAS,IAAI;AAChF,kBAAY,QAAQ,MAAM,YAAY,2BAA2B,GAAG,UAAU,IAAI;AAIlF,UAAI,cAAc,YAAY,aAAa;AACzC,oBAAY,QAAQ,MAAM;AAAA,UACxB;AAAA,UACA;AAAA,QACF;AACA,oBAAY,QAAQ,MAAM;AAAA,UACxB;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,oBAAc,UAAU;AAAA,IAC1B,GAAG,CAAC,aAAa,UAAU,CAAC;AAE5B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,cAAc,eACV;AAAA,YACE,8BAA8B;AAAA,YAC9B,4BAA4B,CAAC;AAAA,UAC/B,IACA;AAAA,YACE,4BAA4B;AAAA,UAC9B;AAAA,UACJ;AAAA,QACF;AAAA,QACA,KAAK;AAAA,QACL,MAAK;AAAA,SACD,OAfL;AAAA,QAiBE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;AAWhB,IAAM,UAAU;AAAA,EACrB,CAAC,IAAkD,QAAQ;AAA1D,iBAAE,YAAU,OAAO,WAAW,QArGjC,IAqGG,IAA0C,iBAA1C,IAA0C,CAAxC,YAAU,SAAO,aAAW;AAC7B,UAAM,UAAU,eAAe;AAE/B,UAAM,YAAY,CAAC,MAAqC;AACtD,QAAE,eAAe;AACjB,cAAQ,kBAAkB,KAAK;AAC/B,yCAAU;AAAA,IACZ;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,EAAE,yBAAyB,QAAQ,gBAAgB,MAAM;AAAA,UACzD;AAAA,QACF;AAAA,QACA,cAAY;AAAA,QACZ,SAAS;AAAA,QACT;AAAA,QACA,MAAK;AAAA,QACL,MAAK;AAAA,SACD,OAXL;AAAA,QAaE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,QAAQ,cAAc;","names":[]}
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  ErrorMessage
3
- } from "./chunk-RZZDMBB7.mjs";
3
+ } from "./chunk-CC5QWW52.mjs";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadProps,
7
7
  __spreadValues
8
- } from "./chunk-R4SQKVDQ.mjs";
8
+ } from "./chunk-YOSPWY5K.mjs";
9
9
 
10
10
  // src/form/fieldset/fieldset.tsx
11
11
  import { useId, forwardRef, createContext, useContext } from "react";
@@ -64,4 +64,4 @@ export {
64
64
  useFieldsetContext,
65
65
  Fieldset
66
66
  };
67
- //# sourceMappingURL=chunk-LG7QWKFP.mjs.map
67
+ //# sourceMappingURL=chunk-JQGB77SS.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/form/fieldset/fieldset.tsx"],"sourcesContent":["import { useId, forwardRef, createContext, useContext } from \"react\";\nimport type { FieldsetHTMLAttributes, HTMLAttributes, ReactNode, CSSProperties } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { ErrorMessage } from \"../error-message\";\n\nexport interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElement> {\n className?: string;\n style?: CSSProperties;\n /**\n * Providing an errorMessage will also give contained Checkboxes or Radio buttons\n * error styling and aria to indicate invalid state.\n *\n * For Radio buttons you are even better off using RadioGroup.\n */\n errorMessage?: ReactNode;\n legendProps?: HTMLAttributes<HTMLElement> & { size: \"default\" | \"large\" };\n legend: ReactNode;\n children: ReactNode;\n}\n\nconst FieldsetContext = createContext<{ hasError: boolean }>({ hasError: false });\n\nexport const useFieldsetContext = () => useContext(FieldsetContext);\n\nexport const Fieldset = forwardRef<HTMLFieldSetElement, FieldsetProps>(function Fieldset(\n {\n className,\n style,\n errorMessage,\n legendProps: { size: legendSize = \"default\", className: legendClassName, ...legendProps } = {},\n legend,\n children,\n ...rest\n },\n ref,\n) {\n const errorMessageId = useId();\n\n return (\n <fieldset\n aria-describedby={errorMessage ? errorMessageId : undefined}\n aria-invalid={errorMessage ? true : undefined}\n className={clsx(\"hds-fieldset\", className as undefined)}\n ref={ref}\n style={style}\n {...rest}\n >\n <legend\n className={clsx(\n \"hds-fieldset__legend\",\n { [`hds-fieldset__legend--${legendSize}`]: legendSize },\n legendClassName as undefined,\n )}\n {...legendProps}\n >\n {legend}\n </legend>\n <FieldsetContext.Provider value={{ hasError: Boolean(errorMessage) }}>\n {children}\n </FieldsetContext.Provider>\n <ErrorMessage id={errorMessageId}>{errorMessage}</ErrorMessage>\n </fieldset>\n );\n});\n"],"mappings":";;;;;;;;;;AAAA,SAAS,OAAO,YAAY,eAAe,kBAAkB;AAE7D,SAAS,YAAY;AAqCjB,SAQE,KARF;AAnBJ,IAAM,kBAAkB,cAAqC,EAAE,UAAU,MAAM,CAAC;AAEzE,IAAM,qBAAqB,MAAM,WAAW,eAAe;AAE3D,IAAM,WAAW,WAA+C,SAASA,UAC9E,IASA,KACA;AAVA,eAIe;AAAA,IAHb;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,KAA+E,CAAC;AAAA,EA7BjG,IAyBE,IAIe,SAAE,QAAM,aAAa,WAAW,WAAW,gBA7B5D,IA6BiB,IAA+D,wBAA/D,IAA+D,CAA7D,QAA8B,eAJ/C,SAKE;AAAA;AAAA,IACA;AAAA,EA/BJ,IAyBE,IAOK,iBAPL,IAOK;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAKF,QAAM,iBAAiB,MAAM;AAE7B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,oBAAkB,eAAe,iBAAiB;AAAA,MAClD,gBAAc,eAAe,OAAO;AAAA,MACpC,WAAW,KAAK,gBAAgB,SAAsB;AAAA,MACtD;AAAA,MACA;AAAA,OACI,OANL;AAAA,MAQC;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA,EAAE,CAAC,yBAAyB,UAAU,EAAE,GAAG,WAAW;AAAA,cACtD;AAAA,YACF;AAAA,aACI,cANL;AAAA,YAQE;AAAA;AAAA,QACH;AAAA,QACA,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,EAAE,UAAU,QAAQ,YAAY,EAAE,GAChE,UACH;AAAA,QACA,oBAAC,gBAAa,IAAI,gBAAiB,wBAAa;AAAA;AAAA;AAAA,EAClD;AAEJ,CAAC;","names":["Fieldset"]}
@@ -2,7 +2,7 @@ import {
2
2
  __objRest,
3
3
  __spreadProps,
4
4
  __spreadValues
5
- } from "./chunk-R4SQKVDQ.mjs";
5
+ } from "./chunk-YOSPWY5K.mjs";
6
6
 
7
7
  // src/show-more/show-more.tsx
8
8
  import { clsx } from "@postenbring/hedwig-css/typed-classname";
@@ -36,4 +36,4 @@ ShowMoreButton.displayName = "ShowMoreButton";
36
36
  export {
37
37
  ShowMoreButton
38
38
  };
39
- //# sourceMappingURL=chunk-UB2R7TCG.mjs.map
39
+ //# sourceMappingURL=chunk-JUHJZLH2.mjs.map
@@ -0,0 +1,36 @@
1
+ import {
2
+ __objRest,
3
+ __spreadProps,
4
+ __spreadValues
5
+ } from "./chunk-YOSPWY5K.mjs";
6
+
7
+ // src/blockquote/blockquote.tsx
8
+ import { clsx } from "@postenbring/hedwig-css/typed-classname";
9
+ import { Slot } from "@radix-ui/react-slot";
10
+ import { forwardRef } from "react";
11
+ import { jsx } from "react/jsx-runtime";
12
+ var Blockquote = forwardRef(
13
+ (_a, ref) => {
14
+ var _b = _a, { children, asChild, className, variant } = _b, rest = __objRest(_b, ["children", "asChild", "className", "variant"]);
15
+ const Component = asChild ? Slot : "blockquote";
16
+ return /* @__PURE__ */ jsx(
17
+ Component,
18
+ __spreadProps(__spreadValues({
19
+ ref,
20
+ className: clsx(
21
+ "hds-blockquote",
22
+ variant === "norwegian" && `hds-blockquote--norwegian`,
23
+ className
24
+ )
25
+ }, rest), {
26
+ children
27
+ })
28
+ );
29
+ }
30
+ );
31
+ Blockquote.displayName = "Blockquote";
32
+
33
+ export {
34
+ Blockquote
35
+ };
36
+ //# sourceMappingURL=chunk-JYN2QSN2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/blockquote/blockquote.tsx"],"sourcesContent":["import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { forwardRef } from \"react\";\n\nexport interface BlockquoteProps extends React.HTMLAttributes<HTMLQuoteElement> {\n children?: React.ReactNode;\n\n /**\n * The quote style\n *\n * @default \"default\"\n */\n variant?: \"default\" | \"norwegian\";\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 * @example\n *\n * ```tsx\n * <Blockquote>\n * <p>... but they&rsquo;ll never take our freedom!</p>\n * <footer>William Wallace</footer>\n * </Blockquote>\n * ```\n *\n */\nexport const Blockquote = forwardRef<HTMLQuoteElement, BlockquoteProps>(\n ({ children, asChild, className, variant, ...rest }, ref) => {\n const Component = asChild ? Slot : \"blockquote\";\n return (\n <Component\n ref={ref}\n className={clsx(\n \"hds-blockquote\",\n variant === \"norwegian\" && `hds-blockquote--norwegian`,\n className as undefined,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nBlockquote.displayName = \"Blockquote\";\n"],"mappings":";;;;;;;AAAA,SAAS,YAAY;AACrB,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAmCrB;AAJC,IAAM,aAAa;AAAA,EACxB,CAAC,IAAoD,QAAQ;AAA5D,iBAAE,YAAU,SAAS,WAAW,QAlCnC,IAkCG,IAA4C,iBAA5C,IAA4C,CAA1C,YAAU,WAAS,aAAW;AAC/B,UAAM,YAAY,UAAU,OAAO;AACnC,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA,YAAY,eAAe;AAAA,UAC3B;AAAA,QACF;AAAA,SACI,OAPL;AAAA,QASE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,WAAW,cAAc;","names":[]}