@postenbring/hedwig-react 0.0.81 → 0.0.83

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 (580) 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-header.d.ts +6 -2
  4. package/dist/accordion/accordion-header.d.ts.map +1 -0
  5. package/dist/accordion/accordion-item.d.ts +24 -3
  6. package/dist/accordion/accordion-item.d.ts.map +1 -0
  7. package/dist/accordion/accordion.d.ts +44 -2
  8. package/dist/accordion/accordion.d.ts.map +1 -0
  9. package/dist/accordion/accordion.js +102 -4
  10. package/dist/accordion/accordion.js.map +1 -1
  11. package/dist/accordion/accordion.mjs +5 -1
  12. package/dist/accordion/context.d.ts +7 -2
  13. package/dist/accordion/context.d.ts.map +1 -0
  14. package/dist/accordion/index.d.ts +9 -9
  15. package/dist/accordion/index.d.ts.map +1 -0
  16. package/dist/accordion/index.js +52 -53
  17. package/dist/accordion/index.js.map +1 -1
  18. package/dist/accordion/index.mjs +7 -7
  19. package/dist/badge/badge.d.ts +21 -5
  20. package/dist/badge/badge.d.ts.map +1 -0
  21. package/dist/badge/index.d.ts +3 -6
  22. package/dist/badge/index.d.ts.map +1 -0
  23. package/dist/box/box.d.ts +50 -4
  24. package/dist/box/box.d.ts.map +1 -0
  25. package/dist/box/box.js +15 -14
  26. package/dist/box/box.js.map +1 -1
  27. package/dist/box/box.mjs +1 -1
  28. package/dist/box/index.d.ts +3 -4
  29. package/dist/box/index.d.ts.map +1 -0
  30. package/dist/box/index.js +16 -19
  31. package/dist/box/index.js.map +1 -1
  32. package/dist/box/index.mjs +4 -5
  33. package/dist/breadcrumbs/breadcrumbs.d.ts +33 -2
  34. package/dist/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  35. package/dist/breadcrumbs/index.d.ts +3 -2
  36. package/dist/breadcrumbs/index.d.ts.map +1 -0
  37. package/dist/button/button.d.ts +33 -3
  38. package/dist/button/button.d.ts.map +1 -0
  39. package/dist/button/index.d.ts +3 -3
  40. package/dist/button/index.d.ts.map +1 -0
  41. package/dist/card/card.d.ts +69 -12
  42. package/dist/card/card.d.ts.map +1 -0
  43. package/dist/card/card.js +17 -6
  44. package/dist/card/card.js.map +1 -1
  45. package/dist/card/card.mjs +1 -1
  46. package/dist/card/index.d.ts +3 -12
  47. package/dist/card/index.d.ts.map +1 -0
  48. package/dist/card/index.js +18 -19
  49. package/dist/card/index.js.map +1 -1
  50. package/dist/card/index.mjs +4 -5
  51. package/dist/{chunk-6R7AXKBR.mjs → chunk-35TXKAUH.mjs} +2 -2
  52. package/dist/chunk-35TXKAUH.mjs.map +1 -0
  53. package/dist/{chunk-XC3UHH2U.mjs → chunk-3WVRY6CC.mjs} +4 -4
  54. package/dist/{chunk-XC3UHH2U.mjs.map → chunk-3WVRY6CC.mjs.map} +1 -1
  55. package/dist/{chunk-67TP3E2D.mjs → chunk-6FBPKLWB.mjs} +3 -3
  56. package/dist/chunk-6FBPKLWB.mjs.map +1 -0
  57. package/dist/chunk-7YWW46R3.mjs +1 -0
  58. package/dist/{chunk-ENKVTAJB.mjs → chunk-AJWSQEDP.mjs} +18 -17
  59. package/dist/chunk-AJWSQEDP.mjs.map +1 -0
  60. package/dist/chunk-ARHJZUZG.mjs +1 -0
  61. package/dist/{chunk-4WQWU5TL.mjs → chunk-AXQCREUJ.mjs} +2 -2
  62. package/dist/chunk-AXQCREUJ.mjs.map +1 -0
  63. package/dist/chunk-BCFV6VOE.mjs +1 -0
  64. package/dist/{chunk-F2C3KZFX.mjs → chunk-BVPSZ3JI.mjs} +2 -2
  65. package/dist/chunk-BVPSZ3JI.mjs.map +1 -0
  66. package/dist/{chunk-7JRS4WEB.mjs → chunk-C34HEQXO.mjs} +33 -29
  67. package/dist/chunk-C34HEQXO.mjs.map +1 -0
  68. package/dist/chunk-CYDWEPFL.mjs +1 -0
  69. package/dist/{chunk-PLXB3TNA.mjs → chunk-D7QPJIUZ.mjs} +5 -5
  70. package/dist/{chunk-PLXB3TNA.mjs.map → chunk-D7QPJIUZ.mjs.map} +1 -1
  71. package/dist/{chunk-GSJPTZT3.mjs → chunk-FC4CEI2V.mjs} +34 -19
  72. package/dist/chunk-FC4CEI2V.mjs.map +1 -0
  73. package/dist/chunk-FYFJ75NX.mjs +1 -0
  74. package/dist/chunk-FYFJ75NX.mjs.map +1 -0
  75. package/dist/chunk-G65EYZFQ.mjs +1 -0
  76. package/dist/chunk-G65EYZFQ.mjs.map +1 -0
  77. package/dist/chunk-H3E546OT.mjs +1 -0
  78. package/dist/chunk-H3E546OT.mjs.map +1 -0
  79. package/dist/chunk-HQVL3ZJ2.mjs +1 -0
  80. package/dist/chunk-HQVL3ZJ2.mjs.map +1 -0
  81. package/dist/{chunk-KPGSRU4I.mjs → chunk-M3Y3XOGC.mjs} +13 -1
  82. package/dist/chunk-M3Y3XOGC.mjs.map +1 -0
  83. package/dist/{chunk-CIHZDFSQ.mjs → chunk-NU6OSFAU.mjs} +20 -9
  84. package/dist/chunk-NU6OSFAU.mjs.map +1 -0
  85. package/dist/{chunk-XUWZ4HGD.mjs → chunk-OGZ2NBMH.mjs} +49 -46
  86. package/dist/chunk-OGZ2NBMH.mjs.map +1 -0
  87. package/dist/{chunk-3MQKXNZ6.mjs → chunk-QZZIOBF4.mjs} +13 -1
  88. package/dist/chunk-QZZIOBF4.mjs.map +1 -0
  89. package/dist/chunk-RC76SXBP.mjs +1 -0
  90. package/dist/chunk-RC76SXBP.mjs.map +1 -0
  91. package/dist/{chunk-TQDUBRCZ.mjs → chunk-SQ63E7KM.mjs} +24 -22
  92. package/dist/chunk-SQ63E7KM.mjs.map +1 -0
  93. package/dist/{chunk-DEX36MFK.mjs → chunk-TDXU2IC6.mjs} +3 -4
  94. package/dist/chunk-TDXU2IC6.mjs.map +1 -0
  95. package/dist/{chunk-ES6ISHOV.mjs → chunk-UP3M3NEZ.mjs} +14 -13
  96. package/dist/{chunk-ES6ISHOV.mjs.map → chunk-UP3M3NEZ.mjs.map} +1 -1
  97. package/dist/chunk-ZKMFJZSH.mjs +1 -0
  98. package/dist/chunk-ZKMFJZSH.mjs.map +1 -0
  99. package/dist/description-list/description-list.d.ts +42 -2
  100. package/dist/description-list/description-list.d.ts.map +1 -0
  101. package/dist/description-list/index.d.ts +3 -2
  102. package/dist/description-list/index.d.ts.map +1 -0
  103. package/dist/footer/footer.d.ts +67 -7
  104. package/dist/footer/footer.d.ts.map +1 -0
  105. package/dist/footer/footer.js +79 -76
  106. package/dist/footer/footer.js.map +1 -1
  107. package/dist/footer/footer.mjs +4 -4
  108. package/dist/footer/index.d.ts +3 -7
  109. package/dist/footer/index.d.ts.map +1 -0
  110. package/dist/footer/index.js +80 -84
  111. package/dist/footer/index.js.map +1 -1
  112. package/dist/footer/index.mjs +7 -8
  113. package/dist/form/checkbox/checkbox.d.ts +28 -2
  114. package/dist/form/checkbox/checkbox.d.ts.map +1 -0
  115. package/dist/form/checkbox/index.d.ts +3 -2
  116. package/dist/form/checkbox/index.d.ts.map +1 -0
  117. package/dist/form/date-picker/date-picker.d.ts +33 -2
  118. package/dist/form/date-picker/date-picker.d.ts.map +1 -0
  119. package/dist/form/date-picker/date-picker.js +1 -1
  120. package/dist/form/date-picker/date-picker.js.map +1 -1
  121. package/dist/form/date-picker/date-picker.mjs +2 -2
  122. package/dist/form/date-picker/index.d.ts +3 -2
  123. package/dist/form/date-picker/index.d.ts.map +1 -0
  124. package/dist/form/date-picker/index.js +1 -1
  125. package/dist/form/date-picker/index.js.map +1 -1
  126. package/dist/form/date-picker/index.mjs +2 -2
  127. package/dist/form/error-message/error-message.d.ts +8 -2
  128. package/dist/form/error-message/error-message.d.ts.map +1 -0
  129. package/dist/form/error-message/index.d.ts +3 -2
  130. package/dist/form/error-message/index.d.ts.map +1 -0
  131. package/dist/form/fieldset/fieldset.d.ts +22 -3
  132. package/dist/form/fieldset/fieldset.d.ts.map +1 -0
  133. package/dist/form/fieldset/index.d.ts +3 -3
  134. package/dist/form/fieldset/index.d.ts.map +1 -0
  135. package/dist/form/index.d.ts +9 -20
  136. package/dist/form/index.d.ts.map +1 -0
  137. package/dist/form/index.js +1 -1
  138. package/dist/form/index.js.map +1 -1
  139. package/dist/form/index.mjs +2 -2
  140. package/dist/form/input/index.d.ts +3 -2
  141. package/dist/form/input/index.d.ts.map +1 -0
  142. package/dist/form/input/input.d.ts +5 -2
  143. package/dist/form/input/input.d.ts.map +1 -0
  144. package/dist/form/input-group/index.d.ts +3 -2
  145. package/dist/form/input-group/index.d.ts.map +1 -0
  146. package/dist/form/input-group/input-group.d.ts +27 -2
  147. package/dist/form/input-group/input-group.d.ts.map +1 -0
  148. package/dist/form/radiobutton/index.d.ts +5 -5
  149. package/dist/form/radiobutton/index.d.ts.map +1 -0
  150. package/dist/form/radiobutton/radiobutton.d.ts +17 -2
  151. package/dist/form/radiobutton/radiobutton.d.ts.map +1 -0
  152. package/dist/form/radiobutton/radiogroup.d.ts +24 -3
  153. package/dist/form/radiobutton/radiogroup.d.ts.map +1 -0
  154. package/dist/form/select/index.d.ts +3 -2
  155. package/dist/form/select/index.d.ts.map +1 -0
  156. package/dist/form/select/select.d.ts +9 -2
  157. package/dist/form/select/select.d.ts.map +1 -0
  158. package/dist/form/textarea/index.d.ts +3 -2
  159. package/dist/form/textarea/index.d.ts.map +1 -0
  160. package/dist/form/textarea/textarea.d.ts +5 -2
  161. package/dist/form/textarea/textarea.d.ts.map +1 -0
  162. package/dist/help-text/help-text.d.ts +51 -1
  163. package/dist/help-text/help-text.d.ts.map +1 -0
  164. package/dist/help-text/help-text.js +17 -20
  165. package/dist/help-text/help-text.js.map +1 -1
  166. package/dist/help-text/help-text.mjs +3 -3
  167. package/dist/help-text/index.d.ts +3 -1
  168. package/dist/help-text/index.d.ts.map +1 -0
  169. package/dist/help-text/index.js +17 -20
  170. package/dist/help-text/index.js.map +1 -1
  171. package/dist/help-text/index.mjs +3 -3
  172. package/dist/index-no-css.d.ts +26 -128
  173. package/dist/index-no-css.d.ts.map +1 -0
  174. package/dist/index-no-css.js +385 -398
  175. package/dist/index-no-css.js.map +1 -1
  176. package/dist/index-no-css.mjs +70 -68
  177. package/dist/index.d.ts +11 -128
  178. package/dist/index.d.ts.map +1 -0
  179. package/dist/index.js +385 -398
  180. package/dist/index.js.map +1 -1
  181. package/dist/index.mjs +70 -68
  182. package/dist/index.mjs.map +1 -1
  183. package/dist/layout/container/container.d.ts +23 -2
  184. package/dist/layout/container/container.d.ts.map +1 -0
  185. package/dist/layout/grid/grid.d.ts +101 -4
  186. package/dist/layout/grid/grid.d.ts.map +1 -0
  187. package/dist/layout/grid/grid.js +11 -10
  188. package/dist/layout/grid/grid.js.map +1 -1
  189. package/dist/layout/grid/grid.mjs +1 -1
  190. package/dist/layout/grid/index.d.ts +3 -4
  191. package/dist/layout/grid/index.d.ts.map +1 -0
  192. package/dist/layout/grid/index.js +12 -15
  193. package/dist/layout/grid/index.js.map +1 -1
  194. package/dist/layout/grid/index.mjs +4 -5
  195. package/dist/layout/index.d.ts +4 -10
  196. package/dist/layout/index.d.ts.map +1 -0
  197. package/dist/layout/index.js +12 -15
  198. package/dist/layout/index.js.map +1 -1
  199. package/dist/layout/index.mjs +4 -5
  200. package/dist/layout/responsive.d.ts +10 -2
  201. package/dist/layout/responsive.d.ts.map +1 -0
  202. package/dist/layout/spacing.d.ts +33 -3
  203. package/dist/layout/spacing.d.ts.map +1 -0
  204. package/dist/layout/stack/index.d.ts +3 -4
  205. package/dist/layout/stack/index.d.ts.map +1 -0
  206. package/dist/layout/stack/stack.d.ts +62 -4
  207. package/dist/layout/stack/stack.d.ts.map +1 -0
  208. package/dist/link/index.d.ts +3 -2
  209. package/dist/link/index.d.ts.map +1 -0
  210. package/dist/link/link.d.ts +20 -2
  211. package/dist/link/link.d.ts.map +1 -0
  212. package/dist/list/index.d.ts +5 -5
  213. package/dist/list/index.d.ts.map +1 -0
  214. package/dist/list/link-list.d.ts +12 -2
  215. package/dist/list/link-list.d.ts.map +1 -0
  216. package/dist/list/list.d.ts +40 -3
  217. package/dist/list/list.d.ts.map +1 -0
  218. package/dist/message/index.d.ts +3 -3
  219. package/dist/message/index.d.ts.map +1 -0
  220. package/dist/message/index.js +36 -38
  221. package/dist/message/index.js.map +1 -1
  222. package/dist/message/index.mjs +5 -6
  223. package/dist/message/message.d.ts +36 -4
  224. package/dist/message/message.d.ts.map +1 -0
  225. package/dist/message/message.js +35 -32
  226. package/dist/message/message.js.map +1 -1
  227. package/dist/message/message.mjs +2 -2
  228. package/dist/modal/index.d.ts +3 -5
  229. package/dist/modal/index.d.ts.map +1 -0
  230. package/dist/modal/index.js +61 -63
  231. package/dist/modal/index.js.map +1 -1
  232. package/dist/modal/index.mjs +6 -7
  233. package/dist/modal/modal.d.ts +81 -5
  234. package/dist/modal/modal.d.ts.map +1 -0
  235. package/dist/modal/modal.js +60 -56
  236. package/dist/modal/modal.js.map +1 -1
  237. package/dist/modal/modal.mjs +3 -3
  238. package/dist/navbar/icons.d.ts +3 -2
  239. package/dist/navbar/icons.d.ts.map +1 -0
  240. package/dist/navbar/index.d.ts +4 -13
  241. package/dist/navbar/index.d.ts.map +1 -0
  242. package/dist/navbar/index.js +145 -146
  243. package/dist/navbar/index.js.map +1 -1
  244. package/dist/navbar/index.mjs +6 -7
  245. package/dist/navbar/navbar-expandable-menu.d.ts +35 -7
  246. package/dist/navbar/navbar-expandable-menu.d.ts.map +1 -0
  247. package/dist/navbar/navbar-expandable-menu.js +1 -1
  248. package/dist/navbar/navbar-expandable-menu.js.map +1 -1
  249. package/dist/navbar/navbar-expandable-menu.mjs +2 -2
  250. package/dist/navbar/navbar.d.ts +130 -9
  251. package/dist/navbar/navbar.d.ts.map +1 -0
  252. package/dist/navbar/navbar.js +237 -28
  253. package/dist/navbar/navbar.js.map +1 -1
  254. package/dist/navbar/navbar.mjs +4 -1
  255. package/dist/show-more/index.d.ts +5 -4
  256. package/dist/show-more/index.d.ts.map +1 -0
  257. package/dist/show-more/index.js +3 -3
  258. package/dist/show-more/index.js.map +1 -1
  259. package/dist/show-more/index.mjs +2 -2
  260. package/dist/show-more/show-more.d.ts +42 -2
  261. package/dist/show-more/show-more.d.ts.map +1 -0
  262. package/dist/skeleton/index.d.ts +3 -2
  263. package/dist/skeleton/index.d.ts.map +1 -0
  264. package/dist/skeleton/skeleton.d.ts +67 -2
  265. package/dist/skeleton/skeleton.d.ts.map +1 -0
  266. package/dist/step-indicator/index.d.ts +3 -1
  267. package/dist/step-indicator/index.d.ts.map +1 -0
  268. package/dist/step-indicator/step-indicator.d.ts +36 -1
  269. package/dist/step-indicator/step-indicator.d.ts.map +1 -0
  270. package/dist/styled-html/index.d.ts +3 -2
  271. package/dist/styled-html/index.d.ts.map +1 -0
  272. package/dist/styled-html/styled-html.d.ts +36 -2
  273. package/dist/styled-html/styled-html.d.ts.map +1 -0
  274. package/dist/table/index.d.ts +3 -1
  275. package/dist/table/index.d.ts.map +1 -0
  276. package/dist/table/table.d.ts +25 -1
  277. package/dist/table/table.d.ts.map +1 -0
  278. package/dist/tabs/context.d.ts +8 -3
  279. package/dist/tabs/context.d.ts.map +1 -0
  280. package/dist/tabs/index.d.ts +7 -10
  281. package/dist/tabs/index.d.ts.map +1 -0
  282. package/dist/tabs/index.js +35 -38
  283. package/dist/tabs/index.js.map +1 -1
  284. package/dist/tabs/index.mjs +6 -6
  285. package/dist/tabs/tabs-content.d.ts +26 -4
  286. package/dist/tabs/tabs-content.d.ts.map +1 -0
  287. package/dist/tabs/tabs-list.d.ts +21 -4
  288. package/dist/tabs/tabs-list.d.ts.map +1 -0
  289. package/dist/tabs/tabs-list.js +1 -1
  290. package/dist/tabs/tabs-list.js.map +1 -1
  291. package/dist/tabs/tabs-list.mjs +2 -2
  292. package/dist/tabs/tabs.d.ts +26 -2
  293. package/dist/tabs/tabs.d.ts.map +1 -0
  294. package/dist/tabs/tabs.js +205 -8
  295. package/dist/tabs/tabs.js.map +1 -1
  296. package/dist/tabs/tabs.mjs +4 -1
  297. package/dist/text/index.d.ts +4 -2
  298. package/dist/text/index.d.ts.map +1 -0
  299. package/dist/text/text.d.ts +58 -2
  300. package/dist/text/text.d.ts.map +1 -0
  301. package/dist/utils/auto-animate-height.d.ts +33 -0
  302. package/dist/utils/auto-animate-height.d.ts.map +1 -0
  303. package/dist/{utilities → utils}/auto-animate-height.js +3 -3
  304. package/dist/utils/auto-animate-height.js.map +1 -0
  305. package/dist/utils/auto-animate-height.mjs +9 -0
  306. package/dist/utils/auto-animate-height.mjs.map +1 -0
  307. package/dist/utils/index.d.ts +4 -0
  308. package/dist/utils/index.d.ts.map +1 -0
  309. package/dist/{utilities → utils}/index.js +81 -11
  310. package/dist/utils/index.js.map +1 -0
  311. package/dist/utils/index.mjs +19 -0
  312. package/dist/utils/index.mjs.map +1 -0
  313. package/dist/utils/utils.d.ts +24 -0
  314. package/dist/utils/utils.d.ts.map +1 -0
  315. package/dist/{utils.js → utils/utils.js} +1 -3
  316. package/dist/utils/utils.js.map +1 -0
  317. package/dist/utils/utils.mjs +14 -0
  318. package/dist/utils/utils.mjs.map +1 -0
  319. package/dist/warning-banner/index.d.ts +3 -2
  320. package/dist/warning-banner/index.d.ts.map +1 -0
  321. package/dist/warning-banner/index.js +16 -19
  322. package/dist/warning-banner/index.js.map +1 -1
  323. package/dist/warning-banner/index.mjs +3 -3
  324. package/dist/warning-banner/warning-banner.d.ts +8 -2
  325. package/dist/warning-banner/warning-banner.d.ts.map +1 -0
  326. package/dist/warning-banner/warning-banner.js +16 -19
  327. package/dist/warning-banner/warning-banner.js.map +1 -1
  328. package/dist/warning-banner/warning-banner.mjs +3 -3
  329. package/package.json +12 -8
  330. package/src/accordion/accordion-content.tsx +31 -0
  331. package/src/accordion/accordion-header.tsx +36 -0
  332. package/src/accordion/accordion-item.tsx +62 -0
  333. package/src/accordion/accordion.stories.tsx +154 -0
  334. package/src/accordion/accordion.tsx +68 -0
  335. package/src/accordion/context.ts +8 -0
  336. package/src/accordion/index.tsx +9 -0
  337. package/src/badge/badge.stories.tsx +44 -0
  338. package/src/badge/badge.tsx +63 -0
  339. package/src/badge/index.tsx +3 -0
  340. package/src/box/box.stories.tsx +112 -0
  341. package/src/box/box.tsx +122 -0
  342. package/src/box/index.tsx +3 -0
  343. package/src/breadcrumbs/breadcrumbs.stories.tsx +50 -0
  344. package/src/breadcrumbs/breadcrumbs.tsx +47 -0
  345. package/src/breadcrumbs/index.tsx +3 -0
  346. package/src/button/button.stories.tsx +104 -0
  347. package/src/button/button.tsx +87 -0
  348. package/src/button/index.tsx +3 -0
  349. package/src/card/card.stories.tsx +82 -0
  350. package/src/card/card.tsx +222 -0
  351. package/src/card/index.tsx +14 -0
  352. package/src/description-list/description-list.stories.tsx +95 -0
  353. package/src/description-list/description-list.tsx +61 -0
  354. package/src/description-list/index.tsx +2 -0
  355. package/src/footer/footer.tsx +169 -0
  356. package/src/footer/index.tsx +9 -0
  357. package/src/form/checkbox/checkbox.stories.tsx +104 -0
  358. package/src/form/checkbox/checkbox.tsx +82 -0
  359. package/src/form/checkbox/index.tsx +2 -0
  360. package/src/form/date-picker/date-picker.stories.tsx +27 -0
  361. package/src/form/date-picker/date-picker.tsx +85 -0
  362. package/src/form/date-picker/index.tsx +2 -0
  363. package/src/form/error-message/error-message.stories.tsx +19 -0
  364. package/src/form/error-message/error-message.tsx +25 -0
  365. package/src/form/error-message/index.tsx +2 -0
  366. package/src/form/fieldset/fieldset.stories.tsx +86 -0
  367. package/src/form/fieldset/fieldset.tsx +64 -0
  368. package/src/form/fieldset/index.tsx +2 -0
  369. package/src/form/index.tsx +8 -0
  370. package/src/form/input/index.tsx +2 -0
  371. package/src/form/input/input.stories.tsx +166 -0
  372. package/src/form/input/input.tsx +30 -0
  373. package/src/form/input-group/index.tsx +2 -0
  374. package/src/form/input-group/input-group.tsx +106 -0
  375. package/src/form/radiobutton/index.tsx +4 -0
  376. package/src/form/radiobutton/radiobutton.stories.tsx +93 -0
  377. package/src/form/radiobutton/radiobutton.tsx +85 -0
  378. package/src/form/radiobutton/radiogroup.stories.tsx +39 -0
  379. package/src/form/radiobutton/radiogroup.tsx +52 -0
  380. package/src/form/select/index.tsx +2 -0
  381. package/src/form/select/select.stories.tsx +93 -0
  382. package/src/form/select/select.tsx +33 -0
  383. package/src/form/textarea/index.tsx +2 -0
  384. package/src/form/textarea/textarea.stories.tsx +106 -0
  385. package/src/form/textarea/textarea.tsx +33 -0
  386. package/src/help-text/help-text.tsx +98 -0
  387. package/src/help-text/index.ts +2 -0
  388. package/src/index-no-css.tsx +25 -0
  389. package/src/index.tsx +11 -0
  390. package/src/layout/container/container.stories.tsx +62 -0
  391. package/src/layout/container/container.tsx +47 -0
  392. package/src/layout/grid/grid.tsx +163 -0
  393. package/src/layout/grid/index.tsx +3 -0
  394. package/src/layout/index.tsx +3 -0
  395. package/src/layout/responsive.ts +26 -0
  396. package/src/layout/spacing.ts +37 -0
  397. package/src/layout/stack/index.tsx +2 -0
  398. package/src/layout/stack/stack.tsx +128 -0
  399. package/src/link/index.tsx +3 -0
  400. package/src/link/link.stories.tsx +64 -0
  401. package/src/link/link.tsx +46 -0
  402. package/src/list/index.tsx +5 -0
  403. package/src/list/link-list.stories.tsx +38 -0
  404. package/src/list/link-list.tsx +26 -0
  405. package/src/list/list.stories.tsx +71 -0
  406. package/src/list/list.tsx +65 -0
  407. package/src/message/index.tsx +2 -0
  408. package/src/message/message.stories.tsx +93 -0
  409. package/src/message/message.tsx +89 -0
  410. package/src/modal/index.tsx +3 -0
  411. package/src/modal/modal.stories.tsx +147 -0
  412. package/src/modal/modal.tsx +199 -0
  413. package/src/navbar/icons.tsx +21 -0
  414. package/src/navbar/index.tsx +18 -0
  415. package/src/navbar/navbar-expandable-menu.tsx +176 -0
  416. package/src/navbar/navbar.stories.tsx +99 -0
  417. package/src/navbar/navbar.tsx +264 -0
  418. package/src/show-more/index.ts +5 -0
  419. package/src/show-more/show-more.stories.tsx +119 -0
  420. package/src/show-more/show-more.tsx +66 -0
  421. package/src/skeleton/index.ts +2 -0
  422. package/src/skeleton/skeleton.stories.tsx +152 -0
  423. package/src/skeleton/skeleton.tsx +114 -0
  424. package/src/step-indicator/index.ts +2 -0
  425. package/src/step-indicator/step-indicator.stories.tsx +50 -0
  426. package/src/step-indicator/step-indicator.tsx +116 -0
  427. package/src/styled-html/index.ts +2 -0
  428. package/src/styled-html/styled-html.stories.tsx +189 -0
  429. package/src/styled-html/styled-html.tsx +59 -0
  430. package/src/table/index.ts +2 -0
  431. package/src/table/table.tsx +59 -0
  432. package/src/tabs/context.ts +18 -0
  433. package/src/tabs/index.tsx +7 -0
  434. package/src/tabs/tabs-content.tsx +62 -0
  435. package/src/tabs/tabs-list.tsx +129 -0
  436. package/src/tabs/tabs.stories.tsx +138 -0
  437. package/src/tabs/tabs.tsx +50 -0
  438. package/src/text/index.tsx +4 -0
  439. package/src/text/text.stories.tsx +112 -0
  440. package/src/text/text.tsx +129 -0
  441. package/src/utils/auto-animate-height.tsx +139 -0
  442. package/src/utils/index.ts +4 -0
  443. package/src/utils/utils.ts +110 -0
  444. package/src/warning-banner/index.tsx +2 -0
  445. package/src/warning-banner/warning-banner.stories.tsx +43 -0
  446. package/src/warning-banner/warning-banner.tsx +79 -0
  447. package/dist/_tsup-dts-rollup.d.mts +0 -2600
  448. package/dist/_tsup-dts-rollup.d.ts +0 -2600
  449. package/dist/accordion/accordion-content.d.mts +0 -2
  450. package/dist/accordion/accordion-header.d.mts +0 -2
  451. package/dist/accordion/accordion-item.d.mts +0 -3
  452. package/dist/accordion/accordion.d.mts +0 -2
  453. package/dist/accordion/context.d.mts +0 -2
  454. package/dist/accordion/index.d.mts +0 -9
  455. package/dist/badge/badge.d.mts +0 -5
  456. package/dist/badge/index.d.mts +0 -6
  457. package/dist/box/box.d.mts +0 -4
  458. package/dist/box/index.d.mts +0 -4
  459. package/dist/breadcrumbs/breadcrumbs.d.mts +0 -2
  460. package/dist/breadcrumbs/index.d.mts +0 -2
  461. package/dist/button/button.d.mts +0 -3
  462. package/dist/button/index.d.mts +0 -3
  463. package/dist/card/card.d.mts +0 -12
  464. package/dist/card/index.d.mts +0 -12
  465. package/dist/chunk-3MQKXNZ6.mjs.map +0 -1
  466. package/dist/chunk-3NDUE23B.mjs +0 -19
  467. package/dist/chunk-3NDUE23B.mjs.map +0 -1
  468. package/dist/chunk-3NL3TOZF.mjs +0 -13
  469. package/dist/chunk-3NL3TOZF.mjs.map +0 -1
  470. package/dist/chunk-3ZFEUABU.mjs +0 -23
  471. package/dist/chunk-3ZFEUABU.mjs.map +0 -1
  472. package/dist/chunk-4WQWU5TL.mjs.map +0 -1
  473. package/dist/chunk-67TP3E2D.mjs.map +0 -1
  474. package/dist/chunk-6R7AXKBR.mjs.map +0 -1
  475. package/dist/chunk-722MZPXO.mjs +0 -13
  476. package/dist/chunk-722MZPXO.mjs.map +0 -1
  477. package/dist/chunk-7JRS4WEB.mjs.map +0 -1
  478. package/dist/chunk-CIHZDFSQ.mjs.map +0 -1
  479. package/dist/chunk-CYEYGPRH.mjs +0 -17
  480. package/dist/chunk-CYEYGPRH.mjs.map +0 -1
  481. package/dist/chunk-DEX36MFK.mjs.map +0 -1
  482. package/dist/chunk-DZNH5JHY.mjs +0 -1
  483. package/dist/chunk-ENKVTAJB.mjs.map +0 -1
  484. package/dist/chunk-F2C3KZFX.mjs.map +0 -1
  485. package/dist/chunk-GSJPTZT3.mjs.map +0 -1
  486. package/dist/chunk-IJAX6APL.mjs +0 -23
  487. package/dist/chunk-IJAX6APL.mjs.map +0 -1
  488. package/dist/chunk-IKJJWKXM.mjs +0 -15
  489. package/dist/chunk-IKJJWKXM.mjs.map +0 -1
  490. package/dist/chunk-KPGSRU4I.mjs.map +0 -1
  491. package/dist/chunk-PT5H3QV6.mjs +0 -29
  492. package/dist/chunk-PT5H3QV6.mjs.map +0 -1
  493. package/dist/chunk-TQDUBRCZ.mjs.map +0 -1
  494. package/dist/chunk-V6UKKHKD.mjs +0 -33
  495. package/dist/chunk-V6UKKHKD.mjs.map +0 -1
  496. package/dist/chunk-XUWZ4HGD.mjs.map +0 -1
  497. package/dist/description-list/description-list.d.mts +0 -2
  498. package/dist/description-list/index.d.mts +0 -2
  499. package/dist/footer/footer.d.mts +0 -7
  500. package/dist/footer/index.d.mts +0 -7
  501. package/dist/form/checkbox/checkbox.d.mts +0 -2
  502. package/dist/form/checkbox/index.d.mts +0 -2
  503. package/dist/form/date-picker/date-picker.d.mts +0 -2
  504. package/dist/form/date-picker/index.d.mts +0 -2
  505. package/dist/form/error-message/error-message.d.mts +0 -2
  506. package/dist/form/error-message/index.d.mts +0 -2
  507. package/dist/form/fieldset/fieldset.d.mts +0 -3
  508. package/dist/form/fieldset/index.d.mts +0 -3
  509. package/dist/form/index.d.mts +0 -20
  510. package/dist/form/input/index.d.mts +0 -2
  511. package/dist/form/input/input.d.mts +0 -2
  512. package/dist/form/input-group/index.d.mts +0 -2
  513. package/dist/form/input-group/input-group.d.mts +0 -2
  514. package/dist/form/radiobutton/index.d.mts +0 -5
  515. package/dist/form/radiobutton/radiobutton.d.mts +0 -2
  516. package/dist/form/radiobutton/radiogroup.d.mts +0 -3
  517. package/dist/form/select/index.d.mts +0 -2
  518. package/dist/form/select/select.d.mts +0 -2
  519. package/dist/form/textarea/index.d.mts +0 -2
  520. package/dist/form/textarea/textarea.d.mts +0 -2
  521. package/dist/help-text/help-text.d.mts +0 -1
  522. package/dist/help-text/index.d.mts +0 -1
  523. package/dist/index-no-css.d.mts +0 -128
  524. package/dist/index.d.mts +0 -128
  525. package/dist/layout/container/container.d.mts +0 -2
  526. package/dist/layout/grid/grid.d.mts +0 -4
  527. package/dist/layout/grid/index.d.mts +0 -4
  528. package/dist/layout/index.d.mts +0 -10
  529. package/dist/layout/responsive.d.mts +0 -2
  530. package/dist/layout/spacing.d.mts +0 -3
  531. package/dist/layout/stack/index.d.mts +0 -4
  532. package/dist/layout/stack/stack.d.mts +0 -4
  533. package/dist/link/index.d.mts +0 -2
  534. package/dist/link/link.d.mts +0 -2
  535. package/dist/list/index.d.mts +0 -5
  536. package/dist/list/link-list.d.mts +0 -2
  537. package/dist/list/list.d.mts +0 -3
  538. package/dist/message/index.d.mts +0 -3
  539. package/dist/message/message.d.mts +0 -4
  540. package/dist/modal/index.d.mts +0 -5
  541. package/dist/modal/modal.d.mts +0 -5
  542. package/dist/navbar/icons.d.mts +0 -2
  543. package/dist/navbar/index.d.mts +0 -13
  544. package/dist/navbar/navbar-expandable-menu.d.mts +0 -7
  545. package/dist/navbar/navbar.d.mts +0 -9
  546. package/dist/show-more/index.d.mts +0 -4
  547. package/dist/show-more/show-more.d.mts +0 -2
  548. package/dist/skeleton/index.d.mts +0 -2
  549. package/dist/skeleton/skeleton.d.mts +0 -2
  550. package/dist/step-indicator/index.d.mts +0 -1
  551. package/dist/step-indicator/step-indicator.d.mts +0 -1
  552. package/dist/styled-html/index.d.mts +0 -2
  553. package/dist/styled-html/styled-html.d.mts +0 -2
  554. package/dist/table/index.d.mts +0 -1
  555. package/dist/table/table.d.mts +0 -1
  556. package/dist/tabs/context.d.mts +0 -3
  557. package/dist/tabs/index.d.mts +0 -10
  558. package/dist/tabs/tabs-content.d.mts +0 -4
  559. package/dist/tabs/tabs-list.d.mts +0 -4
  560. package/dist/tabs/tabs.d.mts +0 -2
  561. package/dist/text/index.d.mts +0 -2
  562. package/dist/text/text.d.mts +0 -2
  563. package/dist/utilities/auto-animate-height.d.mts +0 -2
  564. package/dist/utilities/auto-animate-height.d.ts +0 -2
  565. package/dist/utilities/auto-animate-height.js.map +0 -1
  566. package/dist/utilities/auto-animate-height.mjs +0 -9
  567. package/dist/utilities/index.d.mts +0 -2
  568. package/dist/utilities/index.d.ts +0 -2
  569. package/dist/utilities/index.js.map +0 -1
  570. package/dist/utilities/index.mjs +0 -10
  571. package/dist/utils.d.mts +0 -5
  572. package/dist/utils.d.ts +0 -5
  573. package/dist/utils.js.map +0 -1
  574. package/dist/utils.mjs +0 -16
  575. package/dist/warning-banner/index.d.mts +0 -2
  576. package/dist/warning-banner/warning-banner.d.mts +0 -2
  577. /package/dist/{chunk-DZNH5JHY.mjs.map → chunk-7YWW46R3.mjs.map} +0 -0
  578. /package/dist/{utilities/auto-animate-height.mjs.map → chunk-ARHJZUZG.mjs.map} +0 -0
  579. /package/dist/{utilities/index.mjs.map → chunk-BCFV6VOE.mjs.map} +0 -0
  580. /package/dist/{utils.mjs.map → chunk-CYDWEPFL.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/navbar/navbar.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\nexport interface NavbarProps extends HTMLAttributes<HTMLElement> {\n /**\n * Navbar variant\n *\n * By default the `posten.no` variant is used which has a fixed logo and a fixed height of 112px\n *\n * For internal services or flagship services use the `service` should be used\n *\n * @default \"default\"\n */\n variant?: \"default\" | \"service\";\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 * 🚨 WORK IN PROGRESS 🚨\n */\nexport const Navbar = forwardRef<HTMLElement, NavbarProps>(\n ({ asChild, children, className, variant, ...rest }, ref) => {\n const Component = asChild ? Slot : \"header\";\n return (\n <Component\n className={clsx(\"hds-navbar\", variant && `hds-navbar--${variant}`, className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nNavbar.displayName = \"Navbar\";\n\ninterface NavbarLogoProps 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}\n\n/**\n * A fixed Posten or Bring logo.\n *\n * The logo follows the brand theme, so if the class `hds-theme-bring` is set the Bring logo will be shown instead of the Posten logo\n */\nexport const NavbarLogo = forwardRef<HTMLDivElement, NavbarLogoProps>(\n ({ children, className, asChild, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(`hds-navbar__logo`, className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarLogo.displayName = \"Navbar.Logo\";\n\ninterface NavbarLogoAndServiceText extends HTMLAttributes<HTMLDivElement> {\n /**\n * The text display next to the logo\n */\n children: React.ReactNode;\n\n /**\n * The text variant\n *\n * Use `service` for internal applications\n *\n * Use `flagship` for public facing applications\n */\n variant: \"service\" | \"flagship\";\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 * Internal service or flagship text next to either the Posten or Bring logo\n *\n * The logo follows the brand theme, so if the class `hds-theme-bring` is set the Bring logo will be shown instead of the Posten logo\n */\nexport const NavbarLogoAndServiceText = forwardRef<HTMLDivElement, NavbarLogoAndServiceText>(\n ({ children, asChild, variant, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n ref={ref}\n className={clsx(\n \"hds-navbar__logo-and-service-text\",\n `hds-navbar__logo-and-service-text--${variant}`,\n className as undefined,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nNavbarLogoAndServiceText.displayName = \"Navbar.NavbarLogoAndText\";\n\ninterface NavbarItemIconProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n/**\n * Icon to be used inside a `Navbar.Item`, `Navbar.ButtonItem`, or `Navbar.LinkItem`\n */\nexport const NavbarItemIcon = forwardRef<HTMLDivElement, NavbarItemIconProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <Slot className={clsx(\"hds-navbar__item-icon\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Slot>\n );\n },\n);\nNavbarItemIcon.displayName = \"Navbar.ItemIcon\";\n\ninterface NavbarItemProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\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 * Generic Navbar item\n *\n * Use `Navbar.ButtonItem` or `Navbar.LinkItem` for links and buttons\n */\nexport const NavbarItem = forwardRef<HTMLDivElement, NavbarItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(\"hds-navbar__item\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarItem.displayName = \"Navbar.Item\";\n\ninterface NavbarButtonItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\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}\nexport const NavbarButtonItem = forwardRef<HTMLButtonElement, NavbarButtonItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"button\";\n return (\n <Component\n className={clsx(\"hds-navbar__item\", className as undefined)}\n ref={ref}\n type=\"button\"\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nNavbarButtonItem.displayName = \"Navbar.ButtonItem\";\n\ninterface NavbarLinkItemProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n children: React.ReactNode;\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\nexport const NavbarLinkItem = forwardRef<HTMLAnchorElement, NavbarLinkItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"a\";\n return (\n <Component className={clsx(\"hds-navbar__item\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarLinkItem.displayName = \"Navbar.LinkItem\";\n\ninterface NavbarNavigationProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\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}\nexport const NavbarNavigation = forwardRef<HTMLDivElement, NavbarNavigationProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n className={clsx(\"hds-navbar__navigation\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nNavbarNavigation.displayName = \"Navbar.Navigation\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/navbar/navbar.tsx","../../src/navbar/navbar-expandable-menu.tsx","../../src/utils/utils.ts","../../src/navbar/icons.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n NavbarExpandableMenu,\n NavbarExpandableMenuContent,\n NavbarExpandableMenuTrigger,\n} from \"./navbar-expandable-menu\";\n\ninterface NavbarLogoProps 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}\n\n/**\n * A fixed Posten or Bring logo.\n *\n * The logo follows the brand theme, so if the class `hds-theme-bring` is set the Bring logo will be shown instead of the Posten logo\n */\nexport const NavbarLogo = forwardRef<HTMLDivElement, NavbarLogoProps>(\n ({ children, className, asChild, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(`hds-navbar__logo`, className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarLogo.displayName = \"Navbar.Logo\";\n\ninterface NavbarLogoAndServiceText extends HTMLAttributes<HTMLDivElement> {\n /**\n * The text display next to the logo\n */\n children: React.ReactNode;\n\n /**\n * The text variant\n *\n * Use `service` for internal applications\n *\n * Use `flagship` for public facing applications\n */\n variant: \"service\" | \"flagship\";\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 * Internal service or flagship text next to either the Posten or Bring logo\n *\n * The logo follows the brand theme, so if the class `hds-theme-bring` is set the Bring logo will be shown instead of the Posten logo\n */\nexport const NavbarLogoAndServiceText = forwardRef<HTMLDivElement, NavbarLogoAndServiceText>(\n ({ children, asChild, variant, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n ref={ref}\n className={clsx(\n \"hds-navbar__logo-and-service-text\",\n `hds-navbar__logo-and-service-text--${variant}`,\n className as undefined,\n )}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nNavbarLogoAndServiceText.displayName = \"Navbar.NavbarLogoAndText\";\n\ninterface NavbarItemIconProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n}\n/**\n * Icon to be used inside a `Navbar.Item`, `Navbar.ButtonItem`, or `Navbar.LinkItem`\n */\nexport const NavbarItemIcon = forwardRef<HTMLDivElement, NavbarItemIconProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <Slot className={clsx(\"hds-navbar__item-icon\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Slot>\n );\n },\n);\nNavbarItemIcon.displayName = \"Navbar.ItemIcon\";\n\ninterface NavbarItemProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\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 * Generic Navbar item\n *\n * Use `Navbar.ButtonItem` or `Navbar.LinkItem` for links and buttons\n */\nexport const NavbarItem = forwardRef<HTMLDivElement, NavbarItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(\"hds-navbar__item\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarItem.displayName = \"Navbar.Item\";\n\ninterface NavbarButtonItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n children: React.ReactNode;\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}\nexport const NavbarButtonItem = forwardRef<HTMLButtonElement, NavbarButtonItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"button\";\n return (\n <Component\n className={clsx(\"hds-navbar__item\", className as undefined)}\n ref={ref}\n type=\"button\"\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nNavbarButtonItem.displayName = \"Navbar.ButtonItem\";\n\ninterface NavbarLinkItemProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n children: React.ReactNode;\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\nexport const NavbarLinkItem = forwardRef<HTMLAnchorElement, NavbarLinkItemProps>(\n ({ asChild, children, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"a\";\n return (\n <Component className={clsx(\"hds-navbar__item\", className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nNavbarLinkItem.displayName = \"Navbar.LinkItem\";\n\ninterface NavbarNavigationProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\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}\nexport const NavbarNavigation = forwardRef<HTMLDivElement, NavbarNavigationProps>(\n ({ asChild, className, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component\n className={clsx(\"hds-navbar__navigation\", className as undefined)}\n ref={ref}\n {...rest}\n />\n );\n },\n);\nNavbarNavigation.displayName = \"Navbar.Navigation\";\n\nexport interface NavbarProps extends HTMLAttributes<HTMLElement> {\n /**\n * Navbar variant\n *\n * By default the `posten.no` variant is used which has a fixed logo and a fixed height of 112px\n *\n * For internal services or flagship services use the `service` should be used\n *\n * @default \"default\"\n */\n variant?: \"default\" | \"service\";\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 * 🚨 WORK IN PROGRESS 🚨\n */\nexport const Navbar = forwardRef<HTMLDivElement, NavbarProps>(\n ({ asChild, children, className, variant, ...rest }, ref) => {\n const Component = asChild ? Slot : \"header\";\n return (\n <Component\n className={clsx(\"hds-navbar\", variant && `hds-navbar--${variant}`, className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n) as NavbarType;\nNavbar.displayName = \"Navbar\";\n\ntype NavbarType = ReturnType<typeof forwardRef<HTMLDivElement, NavbarProps>> & {\n Logo: typeof NavbarLogo;\n LogoAndServiceText: typeof NavbarLogoAndServiceText;\n ExpandableMenu: typeof NavbarExpandableMenu;\n ExpandableMenuTrigger: typeof NavbarExpandableMenuTrigger;\n ExpandableMenuContent: typeof NavbarExpandableMenuContent;\n Item: typeof NavbarItem;\n ButtonItem: typeof NavbarButtonItem;\n LinkItem: typeof NavbarLinkItem;\n ItemIcon: typeof NavbarItemIcon;\n Navigation: typeof NavbarNavigation;\n};\n\nNavbar.Logo = NavbarLogo;\nNavbar.LogoAndServiceText = NavbarLogoAndServiceText;\nNavbar.ExpandableMenu = NavbarExpandableMenu;\nNavbar.ExpandableMenuTrigger = NavbarExpandableMenuTrigger;\nNavbar.ExpandableMenuContent = NavbarExpandableMenuContent;\nNavbar.Item = NavbarItem;\nNavbar.ButtonItem = NavbarButtonItem;\nNavbar.LinkItem = NavbarLinkItem;\nNavbar.ItemIcon = NavbarItemIcon;\nNavbar.Navigation = NavbarNavigation;\n","import { createContext, useContext, forwardRef, useState, useEffect, useId } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { focusTrap } from \"../utils/utils\";\nimport { CloseIcon, MenuIcon } from \"./icons\";\n\nconst expandableMenuContext = createContext([\n false as boolean,\n () => {\n // Empty\n },\n] as const);\nexport const useNavbarExpendableMenuContext = () => useContext(expandableMenuContext);\n\nexport interface NavbarExpandableMenuProps {\n children: React.ReactNode;\n}\n\n/**\n * Expandable Menu Provider\n * Handles scroll and focus locking,\n * as well as scrolling the user to the top of the page.\n *\n * If we want a sticky header in the future the scrolling should be configurable\n */\nexport function NavbarExpandableMenu({ children }: NavbarExpandableMenuProps) {\n const [open, setOpen] = useState(false);\n function toggleOpen() {\n setOpen((prev) => !prev);\n }\n\n useEffect(() => {\n if (open) {\n window.scrollTo(0, 0);\n document.body.classList.add(clsx(\"hds-navbar-scroll-lock\"));\n const releaseFocusTrap = focusTrap(\n document.getElementsByClassName(clsx(\"hds-navbar\"))[0] as HTMLElement,\n );\n\n return () => {\n document.body.classList.remove(clsx(\"hds-navbar-scroll-lock\"));\n releaseFocusTrap();\n };\n }\n }, [open]);\n\n return (\n <expandableMenuContext.Provider value={[open, toggleOpen]}>\n {children}\n </expandableMenuContext.Provider>\n );\n}\nNavbarExpandableMenu.displayName = \"NavbarExpandableMenu\";\n\n/**\n * Trigger\n */\nexport interface NavbarExpandableMenuTriggerProps\n extends Omit<React.HTMLAttributes<HTMLButtonElement>, \"children\"> {\n whenClosedText: React.ReactNode;\n whenClosedHelperTitle?: string;\n\n whenOpenText: React.ReactNode;\n whenOpenHelperTitle?: string;\n}\nexport const NavbarExpandableMenuTrigger = forwardRef<\n HTMLButtonElement,\n NavbarExpandableMenuTriggerProps\n>(\n (\n {\n whenClosedText,\n whenClosedHelperTitle,\n\n whenOpenText,\n whenOpenHelperTitle,\n\n style,\n className,\n ...rest\n },\n ref,\n ) => {\n const [open, toggleOpen] = useNavbarExpendableMenuContext();\n\n // Measure the width of the text when open and closed and choose the widest one\n // This is to ensure that the button doesn't change size when the text changes\n const [textWidth, setTextWidth] = useState<number | undefined>(undefined);\n const measurementId = useId();\n useEffect(() => {\n const widthWhenOpen =\n document.getElementById(`${measurementId}-when-open`)?.getBoundingClientRect().width ?? 0;\n const widthWhenClosed =\n document.getElementById(`${measurementId}-when-closed`)?.getBoundingClientRect().width ?? 0;\n\n setTextWidth(widthWhenOpen < widthWhenClosed ? widthWhenClosed : widthWhenOpen);\n }, [measurementId]);\n\n const text = open ? whenOpenText : whenClosedText;\n const title = open ? whenOpenHelperTitle : whenClosedHelperTitle;\n const icon = open ? <CloseIcon /> : <MenuIcon />;\n\n return (\n <button\n className={clsx(\"hds-navbar__item\", className as undefined)}\n onClick={toggleOpen}\n ref={ref}\n title={title}\n type=\"button\"\n style={{ position: \"relative\", ...style }}\n {...rest}\n >\n {/* Measurement elements, not shown to the user */}\n <span\n id={`${measurementId}-when-closed`}\n aria-hidden\n style={{\n position: \"absolute\",\n visibility: \"hidden\",\n pointerEvents: \"none\",\n whiteSpace: \"nowrap\",\n }}\n >\n {whenOpenText}\n </span>\n <span\n id={`${measurementId}-when-open`}\n aria-hidden\n style={{\n position: \"absolute\",\n visibility: \"hidden\",\n pointerEvents: \"none\",\n whiteSpace: \"nowrap\",\n }}\n >\n {whenClosedText}\n </span>\n\n {/* Actual content */}\n <span\n style={{ width: textWidth, whiteSpace: \"nowrap\" }}\n className={clsx(\"hds-navbar__item-responsive-text\")}\n >\n {text}\n </span>\n <span style={{ width: 32, height: 32 }}>{icon}</span>\n </button>\n );\n },\n);\nNavbarExpandableMenuTrigger.displayName = \"Navbar.ExpandableMenuTrigger\";\n\n/**\n * Content\n */\nexport interface NavbarExpandableMenuContentProps {\n children: React.ReactNode;\n className?: string;\n}\nexport const NavbarExpandableMenuContent = forwardRef<\n HTMLDivElement,\n NavbarExpandableMenuContentProps\n>(({ children, className, ...rest }, ref) => {\n const [open] = useNavbarExpendableMenuContext();\n return (\n <section\n {...rest}\n className={clsx(\"hds-navbar__expandable-menu-content\", className as undefined)}\n data-state={open ? \"open\" : \"closed\"}\n {...{ inert: open ? undefined : \"true\" }}\n ref={ref}\n >\n <div className={clsx(\"hds-navbar__expandable-menu-content-inner\")}>{children}</div>\n </section>\n );\n});\nNavbarExpandableMenuContent.displayName = \"Navbar.ExpandableMenuContent\";\n","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","export function CloseIcon() {\n return (\n <svg aria-hidden xmlns=\"http://www.w3.org/2000/svg\" width={24} height={24}>\n <path\n fill=\"currentColor\"\n d=\"m13.16 12.25 3.621-3.586.739-.738c.105-.106.105-.281 0-.422l-.774-.774c-.14-.105-.316-.105-.422 0L12 11.09 7.64 6.73c-.105-.105-.28-.105-.421 0l-.774.774c-.105.14-.105.316 0 .422l4.36 4.324-4.36 4.36c-.105.105-.105.28 0 .421l.774.774c.14.105.316.105.422 0L12 13.445l3.586 3.621.738.739c.106.105.281.105.422 0l.774-.774c.105-.14.105-.316 0-.422l-4.36-4.359Z\"\n />\n </svg>\n );\n}\n\nexport function MenuIcon() {\n return (\n <svg aria-hidden xmlns=\"http://www.w3.org/2000/svg\" width={32} height={32}>\n <path\n fill=\"currentColor\"\n d=\"M25.938 10.146a.57.57 0 0 0 .562-.563v-1.5c0-.281-.281-.562-.563-.562H6.063a.57.57 0 0 0-.562.562v1.5c0 .328.234.563.563.563h19.875Zm0 7.5a.57.57 0 0 0 .562-.563v-1.5c0-.281-.281-.563-.563-.563H6.063a.57.57 0 0 0-.562.563v1.5c0 .328.234.563.563.563h19.875Zm0 7.5a.57.57 0 0 0 .562-.563v-1.5c0-.281-.281-.563-.563-.563H6.063a.57.57 0 0 0-.562.563v1.5c0 .328.234.563.563.563h19.875Z\"\n />\n </svg>\n );\n}\n"],"mappings":"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","names":["import_react","import_typed_classname","import_react","import_jsx_runtime","releaseFocusTrap","_a","_b","import_jsx_runtime"]}
@@ -7,7 +7,10 @@ import {
7
7
  NavbarLogo,
8
8
  NavbarLogoAndServiceText,
9
9
  NavbarNavigation
10
- } from "../chunk-GSJPTZT3.mjs";
10
+ } from "../chunk-FC4CEI2V.mjs";
11
+ import "../chunk-35TXKAUH.mjs";
12
+ import "../chunk-MOU6WBT2.mjs";
13
+ import "../chunk-TDXU2IC6.mjs";
11
14
  import "../chunk-R4SQKVDQ.mjs";
12
15
  export {
13
16
  Navbar,
@@ -1,4 +1,5 @@
1
- export { AutoAnimateHeight_alias_2 as AutoAnimateHeight } from '../_tsup-dts-rollup';
2
- export { ShowMoreButton_alias_2 as ShowMoreButton } from '../_tsup-dts-rollup';
3
- export { AutoAnimateHeightProps_alias_2 as AutoAnimateHeightProps } from '../_tsup-dts-rollup';
4
- export { ShowMoreProps_alias_2 as ShowMoreProps } from '../_tsup-dts-rollup';
1
+ export { AutoAnimateHeight } from "../utils/auto-animate-height";
2
+ export type * from "../utils/auto-animate-height";
3
+ export { ShowMoreButton } from "./show-more";
4
+ export type * from "./show-more";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/show-more/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,mBAAmB,8BAA8B,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,mBAAmB,aAAa,CAAC"}
@@ -64,10 +64,10 @@ __export(show_more_exports, {
64
64
  });
65
65
  module.exports = __toCommonJS(show_more_exports);
66
66
 
67
- // src/utilities/auto-animate-height.tsx
67
+ // src/utils/auto-animate-height.tsx
68
68
  var import_react2 = require("react");
69
69
 
70
- // src/utils.ts
70
+ // src/utils/utils.ts
71
71
  var React = __toESM(require("react"));
72
72
  var import_react = require("react");
73
73
  function useMergeRefs(refs) {
@@ -87,7 +87,7 @@ function useMergeRefs(refs) {
87
87
  }, refs);
88
88
  }
89
89
 
90
- // src/utilities/auto-animate-height.tsx
90
+ // src/utils/auto-animate-height.tsx
91
91
  var import_jsx_runtime = require("react/jsx-runtime");
92
92
  var AutoAnimateHeight = (0, import_react2.forwardRef)(
93
93
  (_a, ref) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/show-more/index.ts","../../src/utilities/auto-animate-height.tsx","../../src/utils.ts","../../src/show-more/show-more.tsx"],"sourcesContent":["export { AutoAnimateHeight } from \"../utilities/auto-animate-height\";\nexport type * from \"../utilities/auto-animate-height\";\n\nexport { ShowMoreButton } from \"./show-more\";\nexport type * from \"./show-more\";\n","import { cloneElement, forwardRef, useEffect, useRef, useState } from \"react\";\nimport { useMergeRefs } from \"../utils\";\n\nexport interface AutoAnimateHeightProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Time of the animation, using the hedwig animation tokens\n * quick: 0.1s\n * normal: 0.3s\n * slow: 0.7s\n *\n * default is \"quick\"\n */\n animationDuration?: \"quick\" | \"normal\" | \"slow\";\n\n /**\n * Callback fired when animiation transition ends\n * Use this to do effects after resizing is done, e.g. scrolling to the element\n * using `element.scrollIntoView()`\n */\n onTransitionEnd?: () => void;\n\n /**\n * Which hedwig easing function to use, default is \"normal\"\n */\n animationEasing?: \"in\" | \"out\" | \"normal\";\n children: React.ReactNode;\n style?: React.CSSProperties;\n}\n\n/**\n * Helper component to animate the height of the children when they change\n * It's done by rendering two versions of the passed children,\n * one hidden to measure the height and one visible to only changes after the height is measured.\n *\n * **IMPORTANT** Do not pass any components with effects (like data fetching), as they will trigger twice.\n */\nexport const AutoAnimateHeight = forwardRef<HTMLDivElement, AutoAnimateHeightProps>(\n (\n {\n children,\n style,\n animationDuration = \"quick\",\n animationEasing = \"normal\",\n onTransitionEnd,\n ...rest\n },\n ref,\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs([rootRef, ref]);\n const measurementRef = useRef<HTMLDivElement>(null);\n const [height, setHeight] = useState<{ height: number; shouldAnimate: boolean } | undefined>(\n undefined,\n );\n const [clonedChildren, setClonedChildren] = useState<React.ReactNode>(() =>\n cloneElement(<>{children}</>, {}),\n );\n\n useEffect(() => {\n if (!rootRef.current) return;\n if (!measurementRef.current) return;\n if (document.body.scrollHeight === 0) return;\n const currentMeasurement = measurementRef.current;\n const { height: newHeight } = currentMeasurement.getBoundingClientRect();\n\n // Listen for resize events on the measurement element\n // Keep the children in sync with the height\n // But don't animate it.\n let previouslyObservedHeight = newHeight;\n const resizeObserver = new ResizeObserver(() => {\n const { height: resizedHeight } = currentMeasurement.getBoundingClientRect();\n if (resizedHeight === previouslyObservedHeight) return;\n previouslyObservedHeight = resizedHeight;\n setHeight({ height: resizedHeight, shouldAnimate: false });\n });\n resizeObserver.observe(currentMeasurement); // This is cleaned up down below in the return functions\n\n // Set the new height when children changes\n setHeight({ height: newHeight, shouldAnimate: true });\n\n // Update children\n const nextClonedChildren = cloneElement(<>{children}</>, {});\n\n // When increasing in height update immediately so the new content is shown during the animation\n if (newHeight >= (height?.height ?? 0)) {\n setClonedChildren(nextClonedChildren);\n return () => {\n resizeObserver.disconnect();\n };\n }\n\n // When decreasing in height, wait until the animation is done so that we don't get a sudden flash of empty content\n const currentRoot = rootRef.current;\n function onTransitionEndHandler(e: TransitionEvent) {\n if (e.propertyName !== \"height\") return;\n setClonedChildren(nextClonedChildren);\n }\n currentRoot.addEventListener(\"transitionend\", onTransitionEndHandler);\n return () => {\n resizeObserver.disconnect();\n currentRoot.removeEventListener(\"transitionend\", onTransitionEndHandler);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- I know better\n }, [children]);\n\n return (\n <div\n ref={mergedRef}\n onTransitionEnd={onTransitionEnd}\n style={{\n position: \"relative\",\n overflow: \"hidden\",\n height: height?.height ?? measurementRef.current?.getBoundingClientRect().height,\n transitionProperty: height?.shouldAnimate ? \"height\" : \"none\",\n transitionDuration: `var(--hds-micro-animation-duration-${animationDuration})`,\n transitionTimingFunction: `var(--hds-micro-animation-easing-${animationEasing})`,\n willChange: \"height\",\n ...style,\n }}\n {...rest}\n >\n <div\n aria-hidden\n ref={measurementRef}\n style={{\n position: \"absolute\",\n visibility: \"hidden\",\n pointerEvents: \"none\",\n }}\n >\n {children}\n </div>\n {clonedChildren}\n </div>\n );\n },\n);\nAutoAnimateHeight.displayName = \"AutoAnimateHeight\";\n","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 */\nexport function releaseFocusTrap(inertElements: Iterable<HTMLElement>) {\n for (const el of inertElements) {\n el.removeAttribute(\"inert\");\n }\n}\n","import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { forwardRef } from \"react\";\n\ntype Variant =\n | {\n variant?: \"show-more\";\n expanded?: never;\n }\n | {\n variant: \"show-more-show-less\";\n expanded: boolean;\n };\n\nexport type ShowMoreProps = React.HTMLAttributes<HTMLButtonElement> & {\n text: React.ReactNode;\n} & Variant;\n\n/**\n * Simple button for triggering more content.\n *\n * You have to add the logic for what happens when the button is clicked yourself.\n *\n * @example\n * ```tsx\n * function Content() {\n * const [items, fetchMoreItems, moreItemsAvailable] = useYourData();\n * function onShowMoreItems() {\n * fetchMoreItems();\n * }\n * return (\n * <>\n * <ul>\n * {items.map((item) => (\n * <li key={item.id}>{item.text}</li>\n * ))}\n * </ul>\n * {moreItemsAvailable ?\n * <ShowMoreButton className=\"mt-8\" onClick={onShowMoreItems} lang=\"en\" /> :\n * null\n * }\n * </>\n * )\n * }\n * ```\n */\nexport const ShowMoreButton = forwardRef<HTMLButtonElement, ShowMoreProps>(\n ({ text, variant, expanded, className, ...rest }, ref) => {\n return (\n <button\n ref={ref}\n className={clsx(\n \"hds-show-more\",\n variant === \"show-more-show-less\" && \"hds-show-more--show-less\",\n className as undefined,\n )}\n data-state={expanded ? \"expanded\" : undefined}\n type=\"button\"\n {...rest}\n >\n {text}\n <span className={clsx(\"hds-show-more__icon\")} />\n </button>\n );\n },\n);\nShowMoreButton.displayName = \"ShowMoreButton\";\n"],"mappings":"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","names":["import_react","_a","_b","import_react","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../src/show-more/index.ts","../../src/utils/auto-animate-height.tsx","../../src/utils/utils.ts","../../src/show-more/show-more.tsx"],"sourcesContent":["export { AutoAnimateHeight } from \"../utils/auto-animate-height\";\nexport type * from \"../utils/auto-animate-height\";\n\nexport { ShowMoreButton } from \"./show-more\";\nexport type * from \"./show-more\";\n","import { cloneElement, forwardRef, useEffect, useRef, useState } from \"react\";\nimport { useMergeRefs } from \"./utils\";\n\nexport interface AutoAnimateHeightProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Time of the animation, using the hedwig animation tokens\n * quick: 0.1s\n * normal: 0.3s\n * slow: 0.7s\n *\n * default is \"quick\"\n */\n animationDuration?: \"quick\" | \"normal\" | \"slow\";\n\n /**\n * Callback fired when animiation transition ends\n * Use this to do effects after resizing is done, e.g. scrolling to the element\n * using `element.scrollIntoView()`\n */\n onTransitionEnd?: () => void;\n\n /**\n * Which hedwig easing function to use, default is \"normal\"\n */\n animationEasing?: \"in\" | \"out\" | \"normal\";\n children: React.ReactNode;\n style?: React.CSSProperties;\n}\n\n/**\n * Helper component to animate the height of the children when they change\n * It's done by rendering two versions of the passed children,\n * one hidden to measure the height and one visible to only changes after the height is measured.\n *\n * **IMPORTANT** Do not pass any components with effects (like data fetching), as they will trigger twice.\n */\nexport const AutoAnimateHeight = forwardRef<HTMLDivElement, AutoAnimateHeightProps>(\n (\n {\n children,\n style,\n animationDuration = \"quick\",\n animationEasing = \"normal\",\n onTransitionEnd,\n ...rest\n },\n ref,\n ) => {\n const rootRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs([rootRef, ref]);\n const measurementRef = useRef<HTMLDivElement>(null);\n const [height, setHeight] = useState<{ height: number; shouldAnimate: boolean } | undefined>(\n undefined,\n );\n const [clonedChildren, setClonedChildren] = useState<React.ReactNode>(() =>\n cloneElement(<>{children}</>, {}),\n );\n\n useEffect(() => {\n if (!rootRef.current) return;\n if (!measurementRef.current) return;\n if (document.body.scrollHeight === 0) return;\n const currentMeasurement = measurementRef.current;\n const { height: newHeight } = currentMeasurement.getBoundingClientRect();\n\n // Listen for resize events on the measurement element\n // Keep the children in sync with the height\n // But don't animate it.\n let previouslyObservedHeight = newHeight;\n const resizeObserver = new ResizeObserver(() => {\n const { height: resizedHeight } = currentMeasurement.getBoundingClientRect();\n if (resizedHeight === previouslyObservedHeight) return;\n previouslyObservedHeight = resizedHeight;\n setHeight({ height: resizedHeight, shouldAnimate: false });\n });\n resizeObserver.observe(currentMeasurement); // This is cleaned up down below in the return functions\n\n // Set the new height when children changes\n setHeight({ height: newHeight, shouldAnimate: true });\n\n // Update children\n const nextClonedChildren = cloneElement(<>{children}</>, {});\n\n // When increasing in height update immediately so the new content is shown during the animation\n if (newHeight >= (height?.height ?? 0)) {\n setClonedChildren(nextClonedChildren);\n return () => {\n resizeObserver.disconnect();\n };\n }\n\n // When decreasing in height, wait until the animation is done so that we don't get a sudden flash of empty content\n const currentRoot = rootRef.current;\n function onTransitionEndHandler(e: TransitionEvent) {\n if (e.propertyName !== \"height\") return;\n setClonedChildren(nextClonedChildren);\n }\n currentRoot.addEventListener(\"transitionend\", onTransitionEndHandler);\n return () => {\n resizeObserver.disconnect();\n currentRoot.removeEventListener(\"transitionend\", onTransitionEndHandler);\n };\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- I know better\n }, [children]);\n\n return (\n <div\n ref={mergedRef}\n onTransitionEnd={onTransitionEnd}\n style={{\n position: \"relative\",\n overflow: \"hidden\",\n height: height?.height ?? measurementRef.current?.getBoundingClientRect().height,\n transitionProperty: height?.shouldAnimate ? \"height\" : \"none\",\n transitionDuration: `var(--hds-micro-animation-duration-${animationDuration})`,\n transitionTimingFunction: `var(--hds-micro-animation-easing-${animationEasing})`,\n willChange: \"height\",\n ...style,\n }}\n {...rest}\n >\n <div\n aria-hidden\n ref={measurementRef}\n style={{\n position: \"absolute\",\n visibility: \"hidden\",\n pointerEvents: \"none\",\n }}\n >\n {children}\n </div>\n {clonedChildren}\n </div>\n );\n },\n);\nAutoAnimateHeight.displayName = \"AutoAnimateHeight\";\n","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","import { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { forwardRef } from \"react\";\n\ntype Variant =\n | {\n variant?: \"show-more\";\n expanded?: never;\n }\n | {\n variant: \"show-more-show-less\";\n expanded: boolean;\n };\n\nexport type ShowMoreProps = React.HTMLAttributes<HTMLButtonElement> & {\n text: React.ReactNode;\n} & Variant;\n\n/**\n * Simple button for triggering more content.\n *\n * You have to add the logic for what happens when the button is clicked yourself.\n *\n * @example\n * ```tsx\n * function Content() {\n * const [items, fetchMoreItems, moreItemsAvailable] = useYourData();\n * function onShowMoreItems() {\n * fetchMoreItems();\n * }\n * return (\n * <>\n * <ul>\n * {items.map((item) => (\n * <li key={item.id}>{item.text}</li>\n * ))}\n * </ul>\n * {moreItemsAvailable ?\n * <ShowMoreButton className=\"mt-8\" onClick={onShowMoreItems} lang=\"en\" /> :\n * null\n * }\n * </>\n * )\n * }\n * ```\n */\nexport const ShowMoreButton = forwardRef<HTMLButtonElement, ShowMoreProps>(\n ({ text, variant, expanded, className, ...rest }, ref) => {\n return (\n <button\n ref={ref}\n className={clsx(\n \"hds-show-more\",\n variant === \"show-more-show-less\" && \"hds-show-more--show-less\",\n className as undefined,\n )}\n data-state={expanded ? \"expanded\" : undefined}\n type=\"button\"\n {...rest}\n >\n {text}\n <span className={clsx(\"hds-show-more__icon\")} />\n </button>\n );\n },\n);\nShowMoreButton.displayName = \"ShowMoreButton\";\n"],"mappings":"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","names":["import_react","_a","_b","import_react","import_jsx_runtime"]}
@@ -4,8 +4,8 @@ import {
4
4
  } from "../chunk-UB2R7TCG.mjs";
5
5
  import {
6
6
  AutoAnimateHeight
7
- } from "../chunk-67TP3E2D.mjs";
8
- import "../chunk-DEX36MFK.mjs";
7
+ } from "../chunk-6FBPKLWB.mjs";
8
+ import "../chunk-TDXU2IC6.mjs";
9
9
  import "../chunk-R4SQKVDQ.mjs";
10
10
  export {
11
11
  AutoAnimateHeight,
@@ -1,2 +1,42 @@
1
- export { ShowMoreProps_alias_3 as ShowMoreProps } from '../_tsup-dts-rollup';
2
- export { ShowMoreButton_alias_3 as ShowMoreButton } from '../_tsup-dts-rollup';
1
+ /// <reference types="react" />
2
+ type Variant = {
3
+ variant?: "show-more";
4
+ expanded?: never;
5
+ } | {
6
+ variant: "show-more-show-less";
7
+ expanded: boolean;
8
+ };
9
+ export type ShowMoreProps = React.HTMLAttributes<HTMLButtonElement> & {
10
+ text: React.ReactNode;
11
+ } & Variant;
12
+ /**
13
+ * Simple button for triggering more content.
14
+ *
15
+ * You have to add the logic for what happens when the button is clicked yourself.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * function Content() {
20
+ * const [items, fetchMoreItems, moreItemsAvailable] = useYourData();
21
+ * function onShowMoreItems() {
22
+ * fetchMoreItems();
23
+ * }
24
+ * return (
25
+ * <>
26
+ * <ul>
27
+ * {items.map((item) => (
28
+ * <li key={item.id}>{item.text}</li>
29
+ * ))}
30
+ * </ul>
31
+ * {moreItemsAvailable ?
32
+ * <ShowMoreButton className="mt-8" onClick={onShowMoreItems} lang="en" /> :
33
+ * null
34
+ * }
35
+ * </>
36
+ * )
37
+ * }
38
+ * ```
39
+ */
40
+ export declare const ShowMoreButton: import("react").ForwardRefExoticComponent<ShowMoreProps & import("react").RefAttributes<HTMLButtonElement>>;
41
+ export {};
42
+ //# sourceMappingURL=show-more.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show-more.d.ts","sourceRoot":"","sources":["../../src/show-more/show-more.tsx"],"names":[],"mappings":";AAGA,KAAK,OAAO,GACR;IACE,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,GACD;IACE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEN,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,GAAG;IACpE,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;CACvB,GAAG,OAAO,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,cAAc,6GAmB1B,CAAC"}
@@ -1,2 +1,3 @@
1
- export { Skeleton_alias_2 as Skeleton } from '../_tsup-dts-rollup';
2
- export { SkeletonProps_alias_2 as SkeletonProps } from '../_tsup-dts-rollup';
1
+ export { Skeleton } from "./skeleton";
2
+ export type * from "./skeleton";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skeleton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,mBAAmB,YAAY,CAAC"}
@@ -1,2 +1,67 @@
1
- export { SkeletonProps_alias_3 as SkeletonProps } from '../_tsup-dts-rollup';
2
- export { Skeleton_alias_3 as Skeleton } from '../_tsup-dts-rollup';
1
+ /// <reference types="react" />
2
+ interface DimensionsFromWidthAndHeight {
3
+ height?: number | string;
4
+ width?: number | string;
5
+ }
6
+ interface SkeletonPropsInner extends React.HTMLAttributes<HTMLDivElement> {
7
+ /**
8
+ * The visual style of the Skeleton
9
+ */
10
+ variant?: "text" | "circle" | "rectangle" | "rounded";
11
+ /**
12
+ * Whether to show animation or not
13
+ * In the future the animation effect might become configurable
14
+ *
15
+ * default true
16
+ */
17
+ animation?: boolean;
18
+ children?: React.ReactNode;
19
+ /**
20
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
21
+ *
22
+ * @default false
23
+ */
24
+ asChild?: boolean;
25
+ /**
26
+ * Convienence prop to change the rendered element.
27
+ *
28
+ * Use {@link SkeletonProps.asChild} if you need more control of the rendered element.
29
+ */
30
+ as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "span" | "div" | "label" | "p";
31
+ }
32
+ export type SkeletonProps = SkeletonPropsInner & DimensionsFromWidthAndHeight;
33
+ /**
34
+ * Make skeleton loading states as placeholders for your content while waiting for data to load.
35
+ *
36
+ * **Note**
37
+ *
38
+ * Consider if this is really needed. The best experience is to avoid loading states altogether.
39
+ * If your loading takes under 1 second, it better to not show anything at all.
40
+ *
41
+ * - Make your backend faster
42
+ * - Preload/prefetch data
43
+ * - Avoid data loading waterfalls
44
+ * - Use optimistic ui when doing mutations
45
+ *
46
+ * **Usage**
47
+ *
48
+ * ```tsx
49
+ * <Skeleton variant="circle" width="2rem" height="2rem" />
50
+ * <Skeleton variant="text" />
51
+ * <Skeleton variant="text" width="80%" />
52
+ * <Skeleton variant="text">Uses content to determine width</Skeleton>
53
+ * <Skeleton variant="rectangle" width="300px" height="400px" />
54
+ * ```
55
+ *
56
+ * Remember to set `aria-hidden` on top level components you use that are not the `Skeleton` component.
57
+ *
58
+ * The `Skeleton` component does this for it self, but if you are using other components higher up in the tree, it might cause problems with screen readers
59
+ *
60
+ * **References**
61
+ * - https://aksel.nav.no/komponenter/core/skeleton
62
+ * - https://chakra-ui.com/docs/components/skeleton
63
+ * - https://mui.com/material-ui/react-skeleton/
64
+ */
65
+ export declare const Skeleton: import("react").ForwardRefExoticComponent<SkeletonPropsInner & DimensionsFromWidthAndHeight & import("react").RefAttributes<HTMLDivElement>>;
66
+ export {};
67
+ //# sourceMappingURL=skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../src/skeleton/skeleton.tsx"],"names":[],"mappings":";AAOA,UAAU,4BAA4B;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,UAAU,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACvE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IAEtD;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,GAAG,CAAC;CAC/E;AAED,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,4BAA4B,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,QAAQ,8IAmCpB,CAAC"}
@@ -1 +1,3 @@
1
- export { StepIndicator_alias_2 as StepIndicator } from '../_tsup-dts-rollup';
1
+ export { StepIndicator } from "./step-indicator";
2
+ export type * from "./step-indicator";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/step-indicator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,mBAAmB,kBAAkB,CAAC"}
@@ -1 +1,36 @@
1
- export { StepIndicator_alias_3 as StepIndicator } from '../_tsup-dts-rollup';
1
+ /// <reference types="react" />
2
+ type TitleProps = {
3
+ /**
4
+ * Optional title of the active step to be shown underneath the step indicator
5
+ *
6
+ * Use `titleAs` to set the correct heading level
7
+ */
8
+ title: React.ReactNode;
9
+ titleAs: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
10
+ } | {
11
+ title?: undefined;
12
+ titleAs?: undefined;
13
+ };
14
+ interface StepIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {
15
+ activeStep: number;
16
+ /**
17
+ * 1-indexed number of steps
18
+ */
19
+ totalSteps: number;
20
+ /**
21
+ * Label on the left side above the steps
22
+ */
23
+ label: React.ReactNode;
24
+ /**
25
+ * Language for the "step x of y" label, default is "en"
26
+ */
27
+ lang?: "no" | "en" | "da" | "sv";
28
+ }
29
+ /**
30
+ * Indicate a step in a process.
31
+ *
32
+ * It does not handle step content or navigation, only the visual indication of the active step.
33
+ */
34
+ export declare const StepIndicator: import("react").ForwardRefExoticComponent<(StepIndicatorProps & TitleProps) & import("react").RefAttributes<HTMLDivElement>>;
35
+ export {};
36
+ //# sourceMappingURL=step-indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-indicator.d.ts","sourceRoot":"","sources":["../../src/step-indicator/step-indicator.tsx"],"names":[],"mappings":";AAGA,KAAK,UAAU,GACX;IACE;;;;OAIG;IACH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAClD,GACD;IACE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAEN,UAAU,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAIvE,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAClC;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,8HA0CzB,CAAC"}
@@ -1,2 +1,3 @@
1
- export { StyledHtml_alias_2 as StyledHtml } from '../_tsup-dts-rollup';
2
- export { StyledHtmlProps_alias_2 as StyledHtmlProps } from '../_tsup-dts-rollup';
1
+ export { StyledHtml } from "./styled-html";
2
+ export type * from "./styled-html";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/styled-html/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,mBAAmB,eAAe,CAAC"}
@@ -1,2 +1,36 @@
1
- export { StyledHtmlProps_alias_3 as StyledHtmlProps } from '../_tsup-dts-rollup';
2
- export { StyledHtml_alias_3 as StyledHtml } from '../_tsup-dts-rollup';
1
+ /// <reference types="react" />
2
+ export interface StyledHtmlProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ children?: React.ReactNode;
4
+ size?: "default" | "small";
5
+ darkmode?: boolean;
6
+ /**
7
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
8
+ *
9
+ * @default false
10
+ */
11
+ asChild?: boolean;
12
+ }
13
+ /**
14
+ * A component for displaying dynamic content that you want to apply hedwig styling to.
15
+ * the styling depends on the semantic html elements you use inside the component.
16
+ *
17
+ * Useful when you have dynamic content that you want styled with hedwig, like content from a CMS.
18
+ *
19
+ * Previously known as `hw-wysiwyg` in hedwig legacy. In tailwind this kind of component it is known as `prose`.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * <StyledHtml>
24
+ * <h1>Heading 1</h1>
25
+ * <h2>Heading 2</h2>
26
+ * <a href="https://www.postenbring.no">Postenbring</a>
27
+ * <ul>
28
+ * <li>Hei</li>
29
+ * <li>Hallo</li>
30
+ * <li>Hello</li>
31
+ * </ul>
32
+ * </StyledHtml>
33
+ * ```
34
+ */
35
+ export declare const StyledHtml: import("react").ForwardRefExoticComponent<StyledHtmlProps & import("react").RefAttributes<HTMLDivElement>>;
36
+ //# sourceMappingURL=styled-html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styled-html.d.ts","sourceRoot":"","sources":["../../src/styled-html/styled-html.tsx"],"names":[],"mappings":";AAIA,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,UAAU,4GAkBtB,CAAC"}
@@ -1 +1,3 @@
1
- export { Table_alias_2 as Table } from '../_tsup-dts-rollup';
1
+ export { Table } from "./table";
2
+ export type * from "./table";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,mBAAmB,SAAS,CAAC"}
@@ -1 +1,25 @@
1
- export { Table_alias_3 as Table } from '../_tsup-dts-rollup';
1
+ /// <reference types="react" />
2
+ interface TableProps extends React.HTMLAttributes<HTMLTableElement> {
3
+ className?: string;
4
+ /**
5
+ * Size of the table
6
+ *
7
+ * Use `compressed` for a more compact table, or `mobile-compressed` for a compact table on mobile screens only.
8
+ */
9
+ size?: "default" | "compressed" | "mobile-compressed";
10
+ /**
11
+ * The table caption
12
+ *
13
+ * You can also set this by passing `<caption>` as a first child of the table
14
+ */
15
+ caption?: React.ReactNode;
16
+ /**
17
+ * Optional description of the table displayed underneath the table
18
+ *
19
+ * Ensures the `aria-describedby` attribute is set on the table, making it accessible for screen readers.
20
+ */
21
+ description?: React.ReactNode;
22
+ }
23
+ export declare const Table: import("react").ForwardRefExoticComponent<TableProps & import("react").RefAttributes<HTMLTableElement>>;
24
+ export {};
25
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/table/table.tsx"],"names":[],"mappings":";AAGA,UAAU,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,YAAY,GAAG,mBAAmB,CAAC;IAEtD;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;;OAIG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,KAAK,yGA6BjB,CAAC"}
@@ -1,3 +1,8 @@
1
- export { useTabsContext } from '../_tsup-dts-rollup';
2
- export { TabsContextProps } from '../_tsup-dts-rollup';
3
- export { TabsContext } from '../_tsup-dts-rollup';
1
+ /// <reference types="react" />
2
+ export interface TabsContextProps {
3
+ activeTabId: string;
4
+ toggleActiveTabId: (tabId: string) => void;
5
+ }
6
+ export declare const TabsContext: import("react").Context<TabsContextProps | null>;
7
+ export declare function useTabsContext(): TabsContextProps;
8
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tabs/context.ts"],"names":[],"mappings":";AAEA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,WAAW,kDAA+C,CAAC;AAExE,wBAAgB,cAAc,qBAQ7B"}
@@ -1,10 +1,7 @@
1
- export { Tabs_alias_2 as Tabs } from '../_tsup-dts-rollup';
2
- export { TabsList_alias_2 as TabsList } from '../_tsup-dts-rollup';
3
- export { TabsTab_alias_2 as TabsTab } from '../_tsup-dts-rollup';
4
- export { TabsContents_alias_2 as TabsContents } from '../_tsup-dts-rollup';
5
- export { TabsContent_alias_2 as TabsContent } from '../_tsup-dts-rollup';
6
- export { TabsProps_alias_2 as TabsProps } from '../_tsup-dts-rollup';
7
- export { TabsListProps_alias_2 as TabsListProps } from '../_tsup-dts-rollup';
8
- export { TabsTabProps_alias_2 as TabsTabProps } from '../_tsup-dts-rollup';
9
- export { TabsContentsProps_alias_2 as TabsContentsProps } from '../_tsup-dts-rollup';
10
- export { TabsContentProps_alias_2 as TabsContentProps } from '../_tsup-dts-rollup';
1
+ export { Tabs } from "./tabs";
2
+ export { TabsList, TabsTab } from "./tabs-list";
3
+ export { TabsContents, TabsContent } from "./tabs-content";
4
+ export type * from "./tabs";
5
+ export type * from "./tabs-list";
6
+ export type * from "./tabs-content";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE3D,mBAAmB,QAAQ,CAAC;AAC5B,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,gBAAgB,CAAC"}