@postenbring/hedwig-react 0.0.81 → 0.0.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) 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-XC3UHH2U.mjs → chunk-3WVRY6CC.mjs} +4 -4
  52. package/dist/{chunk-XC3UHH2U.mjs.map → chunk-3WVRY6CC.mjs.map} +1 -1
  53. package/dist/{chunk-GSJPTZT3.mjs → chunk-6AGDK5V3.mjs} +34 -19
  54. package/dist/chunk-6AGDK5V3.mjs.map +1 -0
  55. package/dist/{chunk-3MQKXNZ6.mjs → chunk-7UD72WOC.mjs} +13 -1
  56. package/dist/chunk-7UD72WOC.mjs.map +1 -0
  57. package/dist/chunk-7YWW46R3.mjs +1 -0
  58. package/dist/chunk-7YWW46R3.mjs.map +1 -0
  59. package/dist/{chunk-ENKVTAJB.mjs → chunk-AJWSQEDP.mjs} +18 -17
  60. package/dist/chunk-AJWSQEDP.mjs.map +1 -0
  61. package/dist/chunk-ARHJZUZG.mjs +1 -0
  62. package/dist/chunk-ARHJZUZG.mjs.map +1 -0
  63. package/dist/chunk-BCFV6VOE.mjs +1 -0
  64. package/dist/chunk-BCFV6VOE.mjs.map +1 -0
  65. package/dist/{chunk-7JRS4WEB.mjs → chunk-C34HEQXO.mjs} +33 -29
  66. package/dist/chunk-C34HEQXO.mjs.map +1 -0
  67. package/dist/{chunk-PLXB3TNA.mjs → chunk-D7QPJIUZ.mjs} +5 -5
  68. package/dist/{chunk-PLXB3TNA.mjs.map → chunk-D7QPJIUZ.mjs.map} +1 -1
  69. package/dist/chunk-FYFJ75NX.mjs +1 -0
  70. package/dist/chunk-FYFJ75NX.mjs.map +1 -0
  71. package/dist/chunk-G65EYZFQ.mjs +1 -0
  72. package/dist/chunk-G65EYZFQ.mjs.map +1 -0
  73. package/dist/chunk-H3E546OT.mjs +1 -0
  74. package/dist/chunk-H3E546OT.mjs.map +1 -0
  75. package/dist/chunk-HQVL3ZJ2.mjs +1 -0
  76. package/dist/chunk-HQVL3ZJ2.mjs.map +1 -0
  77. package/dist/{chunk-XUWZ4HGD.mjs → chunk-LCJSUBCZ.mjs} +48 -45
  78. package/dist/chunk-LCJSUBCZ.mjs.map +1 -0
  79. package/dist/{chunk-KPGSRU4I.mjs → chunk-M3Y3XOGC.mjs} +13 -1
  80. package/dist/chunk-M3Y3XOGC.mjs.map +1 -0
  81. package/dist/{chunk-CIHZDFSQ.mjs → chunk-NU6OSFAU.mjs} +20 -9
  82. package/dist/chunk-NU6OSFAU.mjs.map +1 -0
  83. package/dist/chunk-RC76SXBP.mjs +1 -0
  84. package/dist/chunk-RC76SXBP.mjs.map +1 -0
  85. package/dist/{chunk-TQDUBRCZ.mjs → chunk-SQ63E7KM.mjs} +24 -22
  86. package/dist/chunk-SQ63E7KM.mjs.map +1 -0
  87. package/dist/{chunk-ES6ISHOV.mjs → chunk-UP3M3NEZ.mjs} +14 -13
  88. package/dist/{chunk-ES6ISHOV.mjs.map → chunk-UP3M3NEZ.mjs.map} +1 -1
  89. package/dist/chunk-ZKMFJZSH.mjs +1 -0
  90. package/dist/chunk-ZKMFJZSH.mjs.map +1 -0
  91. package/dist/description-list/description-list.d.ts +42 -2
  92. package/dist/description-list/description-list.d.ts.map +1 -0
  93. package/dist/description-list/index.d.ts +3 -2
  94. package/dist/description-list/index.d.ts.map +1 -0
  95. package/dist/footer/footer.d.ts +67 -7
  96. package/dist/footer/footer.d.ts.map +1 -0
  97. package/dist/footer/footer.js +79 -76
  98. package/dist/footer/footer.js.map +1 -1
  99. package/dist/footer/footer.mjs +4 -4
  100. package/dist/footer/index.d.ts +3 -7
  101. package/dist/footer/index.d.ts.map +1 -0
  102. package/dist/footer/index.js +80 -84
  103. package/dist/footer/index.js.map +1 -1
  104. package/dist/footer/index.mjs +7 -8
  105. package/dist/form/checkbox/checkbox.d.ts +28 -2
  106. package/dist/form/checkbox/checkbox.d.ts.map +1 -0
  107. package/dist/form/checkbox/index.d.ts +3 -2
  108. package/dist/form/checkbox/index.d.ts.map +1 -0
  109. package/dist/form/date-picker/date-picker.d.ts +33 -2
  110. package/dist/form/date-picker/date-picker.d.ts.map +1 -0
  111. package/dist/form/date-picker/index.d.ts +3 -2
  112. package/dist/form/date-picker/index.d.ts.map +1 -0
  113. package/dist/form/error-message/error-message.d.ts +8 -2
  114. package/dist/form/error-message/error-message.d.ts.map +1 -0
  115. package/dist/form/error-message/index.d.ts +3 -2
  116. package/dist/form/error-message/index.d.ts.map +1 -0
  117. package/dist/form/fieldset/fieldset.d.ts +22 -3
  118. package/dist/form/fieldset/fieldset.d.ts.map +1 -0
  119. package/dist/form/fieldset/index.d.ts +3 -3
  120. package/dist/form/fieldset/index.d.ts.map +1 -0
  121. package/dist/form/index.d.ts +9 -20
  122. package/dist/form/index.d.ts.map +1 -0
  123. package/dist/form/input/index.d.ts +3 -2
  124. package/dist/form/input/index.d.ts.map +1 -0
  125. package/dist/form/input/input.d.ts +5 -2
  126. package/dist/form/input/input.d.ts.map +1 -0
  127. package/dist/form/input-group/index.d.ts +3 -2
  128. package/dist/form/input-group/index.d.ts.map +1 -0
  129. package/dist/form/input-group/input-group.d.ts +27 -2
  130. package/dist/form/input-group/input-group.d.ts.map +1 -0
  131. package/dist/form/radiobutton/index.d.ts +5 -5
  132. package/dist/form/radiobutton/index.d.ts.map +1 -0
  133. package/dist/form/radiobutton/radiobutton.d.ts +17 -2
  134. package/dist/form/radiobutton/radiobutton.d.ts.map +1 -0
  135. package/dist/form/radiobutton/radiogroup.d.ts +24 -3
  136. package/dist/form/radiobutton/radiogroup.d.ts.map +1 -0
  137. package/dist/form/select/index.d.ts +3 -2
  138. package/dist/form/select/index.d.ts.map +1 -0
  139. package/dist/form/select/select.d.ts +9 -2
  140. package/dist/form/select/select.d.ts.map +1 -0
  141. package/dist/form/textarea/index.d.ts +3 -2
  142. package/dist/form/textarea/index.d.ts.map +1 -0
  143. package/dist/form/textarea/textarea.d.ts +5 -2
  144. package/dist/form/textarea/textarea.d.ts.map +1 -0
  145. package/dist/help-text/help-text.d.ts +51 -1
  146. package/dist/help-text/help-text.d.ts.map +1 -0
  147. package/dist/help-text/help-text.js +17 -20
  148. package/dist/help-text/help-text.js.map +1 -1
  149. package/dist/help-text/help-text.mjs +3 -3
  150. package/dist/help-text/index.d.ts +3 -1
  151. package/dist/help-text/index.d.ts.map +1 -0
  152. package/dist/help-text/index.js +17 -20
  153. package/dist/help-text/index.js.map +1 -1
  154. package/dist/help-text/index.mjs +3 -3
  155. package/dist/index-no-css.d.ts +26 -128
  156. package/dist/index-no-css.d.ts.map +1 -0
  157. package/dist/index-no-css.js +372 -393
  158. package/dist/index-no-css.js.map +1 -1
  159. package/dist/index-no-css.mjs +50 -57
  160. package/dist/index.d.ts +11 -128
  161. package/dist/index.d.ts.map +1 -0
  162. package/dist/index.js +372 -393
  163. package/dist/index.js.map +1 -1
  164. package/dist/index.mjs +50 -57
  165. package/dist/index.mjs.map +1 -1
  166. package/dist/layout/container/container.d.ts +23 -2
  167. package/dist/layout/container/container.d.ts.map +1 -0
  168. package/dist/layout/grid/grid.d.ts +101 -4
  169. package/dist/layout/grid/grid.d.ts.map +1 -0
  170. package/dist/layout/grid/grid.js +11 -10
  171. package/dist/layout/grid/grid.js.map +1 -1
  172. package/dist/layout/grid/grid.mjs +1 -1
  173. package/dist/layout/grid/index.d.ts +3 -4
  174. package/dist/layout/grid/index.d.ts.map +1 -0
  175. package/dist/layout/grid/index.js +12 -15
  176. package/dist/layout/grid/index.js.map +1 -1
  177. package/dist/layout/grid/index.mjs +4 -5
  178. package/dist/layout/index.d.ts +4 -10
  179. package/dist/layout/index.d.ts.map +1 -0
  180. package/dist/layout/index.js +12 -15
  181. package/dist/layout/index.js.map +1 -1
  182. package/dist/layout/index.mjs +4 -5
  183. package/dist/layout/responsive.d.ts +10 -2
  184. package/dist/layout/responsive.d.ts.map +1 -0
  185. package/dist/layout/spacing.d.ts +33 -3
  186. package/dist/layout/spacing.d.ts.map +1 -0
  187. package/dist/layout/stack/index.d.ts +3 -4
  188. package/dist/layout/stack/index.d.ts.map +1 -0
  189. package/dist/layout/stack/stack.d.ts +62 -4
  190. package/dist/layout/stack/stack.d.ts.map +1 -0
  191. package/dist/link/index.d.ts +3 -2
  192. package/dist/link/index.d.ts.map +1 -0
  193. package/dist/link/link.d.ts +20 -2
  194. package/dist/link/link.d.ts.map +1 -0
  195. package/dist/list/index.d.ts +5 -5
  196. package/dist/list/index.d.ts.map +1 -0
  197. package/dist/list/link-list.d.ts +12 -2
  198. package/dist/list/link-list.d.ts.map +1 -0
  199. package/dist/list/list.d.ts +40 -3
  200. package/dist/list/list.d.ts.map +1 -0
  201. package/dist/message/index.d.ts +3 -3
  202. package/dist/message/index.d.ts.map +1 -0
  203. package/dist/message/index.js +36 -38
  204. package/dist/message/index.js.map +1 -1
  205. package/dist/message/index.mjs +5 -6
  206. package/dist/message/message.d.ts +36 -4
  207. package/dist/message/message.d.ts.map +1 -0
  208. package/dist/message/message.js +35 -32
  209. package/dist/message/message.js.map +1 -1
  210. package/dist/message/message.mjs +2 -2
  211. package/dist/modal/index.d.ts +3 -5
  212. package/dist/modal/index.d.ts.map +1 -0
  213. package/dist/modal/index.js +60 -62
  214. package/dist/modal/index.js.map +1 -1
  215. package/dist/modal/index.mjs +5 -6
  216. package/dist/modal/modal.d.ts +81 -5
  217. package/dist/modal/modal.d.ts.map +1 -0
  218. package/dist/modal/modal.js +59 -55
  219. package/dist/modal/modal.js.map +1 -1
  220. package/dist/modal/modal.mjs +2 -2
  221. package/dist/navbar/icons.d.ts +3 -2
  222. package/dist/navbar/icons.d.ts.map +1 -0
  223. package/dist/navbar/index.d.ts +4 -13
  224. package/dist/navbar/index.d.ts.map +1 -0
  225. package/dist/navbar/index.js +144 -145
  226. package/dist/navbar/index.js.map +1 -1
  227. package/dist/navbar/index.mjs +4 -5
  228. package/dist/navbar/navbar-expandable-menu.d.ts +35 -7
  229. package/dist/navbar/navbar-expandable-menu.d.ts.map +1 -0
  230. package/dist/navbar/navbar.d.ts +130 -9
  231. package/dist/navbar/navbar.d.ts.map +1 -0
  232. package/dist/navbar/navbar.js +237 -28
  233. package/dist/navbar/navbar.js.map +1 -1
  234. package/dist/navbar/navbar.mjs +4 -1
  235. package/dist/show-more/index.d.ts +5 -4
  236. package/dist/show-more/index.d.ts.map +1 -0
  237. package/dist/show-more/show-more.d.ts +42 -2
  238. package/dist/show-more/show-more.d.ts.map +1 -0
  239. package/dist/skeleton/index.d.ts +3 -2
  240. package/dist/skeleton/index.d.ts.map +1 -0
  241. package/dist/skeleton/skeleton.d.ts +67 -2
  242. package/dist/skeleton/skeleton.d.ts.map +1 -0
  243. package/dist/step-indicator/index.d.ts +3 -1
  244. package/dist/step-indicator/index.d.ts.map +1 -0
  245. package/dist/step-indicator/step-indicator.d.ts +36 -1
  246. package/dist/step-indicator/step-indicator.d.ts.map +1 -0
  247. package/dist/styled-html/index.d.ts +3 -2
  248. package/dist/styled-html/index.d.ts.map +1 -0
  249. package/dist/styled-html/styled-html.d.ts +36 -2
  250. package/dist/styled-html/styled-html.d.ts.map +1 -0
  251. package/dist/table/index.d.ts +3 -1
  252. package/dist/table/index.d.ts.map +1 -0
  253. package/dist/table/table.d.ts +25 -1
  254. package/dist/table/table.d.ts.map +1 -0
  255. package/dist/tabs/context.d.ts +8 -3
  256. package/dist/tabs/context.d.ts.map +1 -0
  257. package/dist/tabs/index.d.ts +7 -10
  258. package/dist/tabs/index.d.ts.map +1 -0
  259. package/dist/tabs/index.js +34 -37
  260. package/dist/tabs/index.js.map +1 -1
  261. package/dist/tabs/index.mjs +4 -4
  262. package/dist/tabs/tabs-content.d.ts +26 -4
  263. package/dist/tabs/tabs-content.d.ts.map +1 -0
  264. package/dist/tabs/tabs-list.d.ts +21 -4
  265. package/dist/tabs/tabs-list.d.ts.map +1 -0
  266. package/dist/tabs/tabs.d.ts +26 -2
  267. package/dist/tabs/tabs.d.ts.map +1 -0
  268. package/dist/tabs/tabs.js +205 -8
  269. package/dist/tabs/tabs.js.map +1 -1
  270. package/dist/tabs/tabs.mjs +4 -1
  271. package/dist/text/index.d.ts +4 -2
  272. package/dist/text/index.d.ts.map +1 -0
  273. package/dist/text/text.d.ts +58 -2
  274. package/dist/text/text.d.ts.map +1 -0
  275. package/dist/utilities/auto-animate-height.d.ts +33 -2
  276. package/dist/utilities/auto-animate-height.d.ts.map +1 -0
  277. package/dist/utilities/index.d.ts +3 -2
  278. package/dist/utilities/index.d.ts.map +1 -0
  279. package/dist/utils.d.ts +28 -5
  280. package/dist/utils.d.ts.map +1 -0
  281. package/dist/warning-banner/index.d.ts +3 -2
  282. package/dist/warning-banner/index.d.ts.map +1 -0
  283. package/dist/warning-banner/index.js +16 -19
  284. package/dist/warning-banner/index.js.map +1 -1
  285. package/dist/warning-banner/index.mjs +3 -3
  286. package/dist/warning-banner/warning-banner.d.ts +8 -2
  287. package/dist/warning-banner/warning-banner.d.ts.map +1 -0
  288. package/dist/warning-banner/warning-banner.js +16 -19
  289. package/dist/warning-banner/warning-banner.js.map +1 -1
  290. package/dist/warning-banner/warning-banner.mjs +3 -3
  291. package/package.json +9 -5
  292. package/src/accordion/accordion-content.tsx +31 -0
  293. package/src/accordion/accordion-header.tsx +36 -0
  294. package/src/accordion/accordion-item.tsx +62 -0
  295. package/src/accordion/accordion.stories.tsx +154 -0
  296. package/src/accordion/accordion.tsx +68 -0
  297. package/src/accordion/context.ts +8 -0
  298. package/src/accordion/index.tsx +9 -0
  299. package/src/badge/badge.stories.tsx +44 -0
  300. package/src/badge/badge.tsx +63 -0
  301. package/src/badge/index.tsx +3 -0
  302. package/src/box/box.stories.tsx +112 -0
  303. package/src/box/box.tsx +122 -0
  304. package/src/box/index.tsx +3 -0
  305. package/src/breadcrumbs/breadcrumbs.stories.tsx +50 -0
  306. package/src/breadcrumbs/breadcrumbs.tsx +47 -0
  307. package/src/breadcrumbs/index.tsx +3 -0
  308. package/src/button/button.stories.tsx +104 -0
  309. package/src/button/button.tsx +87 -0
  310. package/src/button/index.tsx +3 -0
  311. package/src/card/card.stories.tsx +82 -0
  312. package/src/card/card.tsx +222 -0
  313. package/src/card/index.tsx +14 -0
  314. package/src/description-list/description-list.stories.tsx +95 -0
  315. package/src/description-list/description-list.tsx +61 -0
  316. package/src/description-list/index.tsx +2 -0
  317. package/src/footer/footer.tsx +169 -0
  318. package/src/footer/index.tsx +9 -0
  319. package/src/form/checkbox/checkbox.stories.tsx +104 -0
  320. package/src/form/checkbox/checkbox.tsx +82 -0
  321. package/src/form/checkbox/index.tsx +2 -0
  322. package/src/form/date-picker/date-picker.stories.tsx +27 -0
  323. package/src/form/date-picker/date-picker.tsx +85 -0
  324. package/src/form/date-picker/index.tsx +2 -0
  325. package/src/form/error-message/error-message.stories.tsx +19 -0
  326. package/src/form/error-message/error-message.tsx +25 -0
  327. package/src/form/error-message/index.tsx +2 -0
  328. package/src/form/fieldset/fieldset.stories.tsx +86 -0
  329. package/src/form/fieldset/fieldset.tsx +64 -0
  330. package/src/form/fieldset/index.tsx +2 -0
  331. package/src/form/index.tsx +8 -0
  332. package/src/form/input/index.tsx +2 -0
  333. package/src/form/input/input.stories.tsx +166 -0
  334. package/src/form/input/input.tsx +30 -0
  335. package/src/form/input-group/index.tsx +2 -0
  336. package/src/form/input-group/input-group.tsx +106 -0
  337. package/src/form/radiobutton/index.tsx +4 -0
  338. package/src/form/radiobutton/radiobutton.stories.tsx +93 -0
  339. package/src/form/radiobutton/radiobutton.tsx +85 -0
  340. package/src/form/radiobutton/radiogroup.stories.tsx +39 -0
  341. package/src/form/radiobutton/radiogroup.tsx +52 -0
  342. package/src/form/select/index.tsx +2 -0
  343. package/src/form/select/select.stories.tsx +93 -0
  344. package/src/form/select/select.tsx +33 -0
  345. package/src/form/textarea/index.tsx +2 -0
  346. package/src/form/textarea/textarea.stories.tsx +106 -0
  347. package/src/form/textarea/textarea.tsx +33 -0
  348. package/src/help-text/help-text.tsx +98 -0
  349. package/src/help-text/index.ts +2 -0
  350. package/src/index-no-css.tsx +25 -0
  351. package/src/index.tsx +11 -0
  352. package/src/layout/container/container.stories.tsx +62 -0
  353. package/src/layout/container/container.tsx +47 -0
  354. package/src/layout/grid/grid.tsx +163 -0
  355. package/src/layout/grid/index.tsx +3 -0
  356. package/src/layout/index.tsx +3 -0
  357. package/src/layout/responsive.ts +26 -0
  358. package/src/layout/spacing.ts +37 -0
  359. package/src/layout/stack/index.tsx +2 -0
  360. package/src/layout/stack/stack.tsx +128 -0
  361. package/src/link/index.tsx +3 -0
  362. package/src/link/link.stories.tsx +64 -0
  363. package/src/link/link.tsx +46 -0
  364. package/src/list/index.tsx +5 -0
  365. package/src/list/link-list.stories.tsx +38 -0
  366. package/src/list/link-list.tsx +26 -0
  367. package/src/list/list.stories.tsx +71 -0
  368. package/src/list/list.tsx +65 -0
  369. package/src/message/index.tsx +2 -0
  370. package/src/message/message.stories.tsx +93 -0
  371. package/src/message/message.tsx +89 -0
  372. package/src/modal/index.tsx +3 -0
  373. package/src/modal/modal.stories.tsx +147 -0
  374. package/src/modal/modal.tsx +199 -0
  375. package/src/navbar/icons.tsx +21 -0
  376. package/src/navbar/index.tsx +18 -0
  377. package/src/navbar/navbar-expandable-menu.tsx +176 -0
  378. package/src/navbar/navbar.stories.tsx +99 -0
  379. package/src/navbar/navbar.tsx +264 -0
  380. package/src/show-more/index.ts +5 -0
  381. package/src/show-more/show-more.stories.tsx +119 -0
  382. package/src/show-more/show-more.tsx +66 -0
  383. package/src/skeleton/index.ts +2 -0
  384. package/src/skeleton/skeleton.stories.tsx +152 -0
  385. package/src/skeleton/skeleton.tsx +114 -0
  386. package/src/step-indicator/index.ts +2 -0
  387. package/src/step-indicator/step-indicator.stories.tsx +50 -0
  388. package/src/step-indicator/step-indicator.tsx +116 -0
  389. package/src/styled-html/index.ts +2 -0
  390. package/src/styled-html/styled-html.stories.tsx +189 -0
  391. package/src/styled-html/styled-html.tsx +59 -0
  392. package/src/table/index.ts +2 -0
  393. package/src/table/table.tsx +59 -0
  394. package/src/tabs/context.ts +18 -0
  395. package/src/tabs/index.tsx +7 -0
  396. package/src/tabs/tabs-content.tsx +62 -0
  397. package/src/tabs/tabs-list.tsx +129 -0
  398. package/src/tabs/tabs.stories.tsx +138 -0
  399. package/src/tabs/tabs.tsx +50 -0
  400. package/src/text/index.tsx +4 -0
  401. package/src/text/text.stories.tsx +112 -0
  402. package/src/text/text.tsx +129 -0
  403. package/src/utilities/auto-animate-height.tsx +139 -0
  404. package/src/utilities/index.ts +2 -0
  405. package/src/utils.ts +110 -0
  406. package/src/warning-banner/index.tsx +2 -0
  407. package/src/warning-banner/warning-banner.stories.tsx +43 -0
  408. package/src/warning-banner/warning-banner.tsx +79 -0
  409. package/dist/_tsup-dts-rollup.d.mts +0 -2600
  410. package/dist/_tsup-dts-rollup.d.ts +0 -2600
  411. package/dist/accordion/accordion-content.d.mts +0 -2
  412. package/dist/accordion/accordion-header.d.mts +0 -2
  413. package/dist/accordion/accordion-item.d.mts +0 -3
  414. package/dist/accordion/accordion.d.mts +0 -2
  415. package/dist/accordion/context.d.mts +0 -2
  416. package/dist/accordion/index.d.mts +0 -9
  417. package/dist/badge/badge.d.mts +0 -5
  418. package/dist/badge/index.d.mts +0 -6
  419. package/dist/box/box.d.mts +0 -4
  420. package/dist/box/index.d.mts +0 -4
  421. package/dist/breadcrumbs/breadcrumbs.d.mts +0 -2
  422. package/dist/breadcrumbs/index.d.mts +0 -2
  423. package/dist/button/button.d.mts +0 -3
  424. package/dist/button/index.d.mts +0 -3
  425. package/dist/card/card.d.mts +0 -12
  426. package/dist/card/index.d.mts +0 -12
  427. package/dist/chunk-3MQKXNZ6.mjs.map +0 -1
  428. package/dist/chunk-3NDUE23B.mjs +0 -19
  429. package/dist/chunk-3NDUE23B.mjs.map +0 -1
  430. package/dist/chunk-3NL3TOZF.mjs +0 -13
  431. package/dist/chunk-3NL3TOZF.mjs.map +0 -1
  432. package/dist/chunk-3ZFEUABU.mjs +0 -23
  433. package/dist/chunk-3ZFEUABU.mjs.map +0 -1
  434. package/dist/chunk-722MZPXO.mjs +0 -13
  435. package/dist/chunk-722MZPXO.mjs.map +0 -1
  436. package/dist/chunk-7JRS4WEB.mjs.map +0 -1
  437. package/dist/chunk-CIHZDFSQ.mjs.map +0 -1
  438. package/dist/chunk-CYEYGPRH.mjs +0 -17
  439. package/dist/chunk-CYEYGPRH.mjs.map +0 -1
  440. package/dist/chunk-ENKVTAJB.mjs.map +0 -1
  441. package/dist/chunk-GSJPTZT3.mjs.map +0 -1
  442. package/dist/chunk-IJAX6APL.mjs +0 -23
  443. package/dist/chunk-IJAX6APL.mjs.map +0 -1
  444. package/dist/chunk-IKJJWKXM.mjs +0 -15
  445. package/dist/chunk-IKJJWKXM.mjs.map +0 -1
  446. package/dist/chunk-KPGSRU4I.mjs.map +0 -1
  447. package/dist/chunk-PT5H3QV6.mjs +0 -29
  448. package/dist/chunk-PT5H3QV6.mjs.map +0 -1
  449. package/dist/chunk-TQDUBRCZ.mjs.map +0 -1
  450. package/dist/chunk-V6UKKHKD.mjs +0 -33
  451. package/dist/chunk-V6UKKHKD.mjs.map +0 -1
  452. package/dist/chunk-XUWZ4HGD.mjs.map +0 -1
  453. package/dist/description-list/description-list.d.mts +0 -2
  454. package/dist/description-list/index.d.mts +0 -2
  455. package/dist/footer/footer.d.mts +0 -7
  456. package/dist/footer/index.d.mts +0 -7
  457. package/dist/form/checkbox/checkbox.d.mts +0 -2
  458. package/dist/form/checkbox/index.d.mts +0 -2
  459. package/dist/form/date-picker/date-picker.d.mts +0 -2
  460. package/dist/form/date-picker/index.d.mts +0 -2
  461. package/dist/form/error-message/error-message.d.mts +0 -2
  462. package/dist/form/error-message/index.d.mts +0 -2
  463. package/dist/form/fieldset/fieldset.d.mts +0 -3
  464. package/dist/form/fieldset/index.d.mts +0 -3
  465. package/dist/form/index.d.mts +0 -20
  466. package/dist/form/input/index.d.mts +0 -2
  467. package/dist/form/input/input.d.mts +0 -2
  468. package/dist/form/input-group/index.d.mts +0 -2
  469. package/dist/form/input-group/input-group.d.mts +0 -2
  470. package/dist/form/radiobutton/index.d.mts +0 -5
  471. package/dist/form/radiobutton/radiobutton.d.mts +0 -2
  472. package/dist/form/radiobutton/radiogroup.d.mts +0 -3
  473. package/dist/form/select/index.d.mts +0 -2
  474. package/dist/form/select/select.d.mts +0 -2
  475. package/dist/form/textarea/index.d.mts +0 -2
  476. package/dist/form/textarea/textarea.d.mts +0 -2
  477. package/dist/help-text/help-text.d.mts +0 -1
  478. package/dist/help-text/index.d.mts +0 -1
  479. package/dist/index-no-css.d.mts +0 -128
  480. package/dist/index.d.mts +0 -128
  481. package/dist/layout/container/container.d.mts +0 -2
  482. package/dist/layout/grid/grid.d.mts +0 -4
  483. package/dist/layout/grid/index.d.mts +0 -4
  484. package/dist/layout/index.d.mts +0 -10
  485. package/dist/layout/responsive.d.mts +0 -2
  486. package/dist/layout/spacing.d.mts +0 -3
  487. package/dist/layout/stack/index.d.mts +0 -4
  488. package/dist/layout/stack/stack.d.mts +0 -4
  489. package/dist/link/index.d.mts +0 -2
  490. package/dist/link/link.d.mts +0 -2
  491. package/dist/list/index.d.mts +0 -5
  492. package/dist/list/link-list.d.mts +0 -2
  493. package/dist/list/list.d.mts +0 -3
  494. package/dist/message/index.d.mts +0 -3
  495. package/dist/message/message.d.mts +0 -4
  496. package/dist/modal/index.d.mts +0 -5
  497. package/dist/modal/modal.d.mts +0 -5
  498. package/dist/navbar/icons.d.mts +0 -2
  499. package/dist/navbar/index.d.mts +0 -13
  500. package/dist/navbar/navbar-expandable-menu.d.mts +0 -7
  501. package/dist/navbar/navbar.d.mts +0 -9
  502. package/dist/show-more/index.d.mts +0 -4
  503. package/dist/show-more/show-more.d.mts +0 -2
  504. package/dist/skeleton/index.d.mts +0 -2
  505. package/dist/skeleton/skeleton.d.mts +0 -2
  506. package/dist/step-indicator/index.d.mts +0 -1
  507. package/dist/step-indicator/step-indicator.d.mts +0 -1
  508. package/dist/styled-html/index.d.mts +0 -2
  509. package/dist/styled-html/styled-html.d.mts +0 -2
  510. package/dist/table/index.d.mts +0 -1
  511. package/dist/table/table.d.mts +0 -1
  512. package/dist/tabs/context.d.mts +0 -3
  513. package/dist/tabs/index.d.mts +0 -10
  514. package/dist/tabs/tabs-content.d.mts +0 -4
  515. package/dist/tabs/tabs-list.d.mts +0 -4
  516. package/dist/tabs/tabs.d.mts +0 -2
  517. package/dist/text/index.d.mts +0 -2
  518. package/dist/text/text.d.mts +0 -2
  519. package/dist/utilities/auto-animate-height.d.mts +0 -2
  520. package/dist/utilities/index.d.mts +0 -2
  521. package/dist/utils.d.mts +0 -5
  522. package/dist/warning-banner/index.d.mts +0 -2
  523. package/dist/warning-banner/warning-banner.d.mts +0 -2
@@ -0,0 +1,114 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment -- Typings for the differnt html elements */
2
+ /* eslint-disable @typescript-eslint/no-explicit-any -- Typings for the differnt html elements */
3
+
4
+ import { clsx } from "@postenbring/hedwig-css/typed-classname";
5
+ import { Slot } from "@radix-ui/react-slot";
6
+ import { forwardRef } from "react";
7
+
8
+ interface DimensionsFromWidthAndHeight {
9
+ height?: number | string;
10
+ width?: number | string;
11
+ }
12
+
13
+ interface SkeletonPropsInner extends React.HTMLAttributes<HTMLDivElement> {
14
+ /**
15
+ * The visual style of the Skeleton
16
+ */
17
+ variant?: "text" | "circle" | "rectangle" | "rounded";
18
+
19
+ /**
20
+ * Whether to show animation or not
21
+ * In the future the animation effect might become configurable
22
+ *
23
+ * default true
24
+ */
25
+ animation?: boolean;
26
+
27
+ children?: React.ReactNode;
28
+
29
+ /**
30
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
31
+ *
32
+ * @default false
33
+ */
34
+ asChild?: boolean;
35
+
36
+ /**
37
+ * Convienence prop to change the rendered element.
38
+ *
39
+ * Use {@link SkeletonProps.asChild} if you need more control of the rendered element.
40
+ */
41
+ as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "span" | "div" | "label" | "p";
42
+ }
43
+
44
+ export type SkeletonProps = SkeletonPropsInner & DimensionsFromWidthAndHeight;
45
+
46
+ /**
47
+ * Make skeleton loading states as placeholders for your content while waiting for data to load.
48
+ *
49
+ * **Note**
50
+ *
51
+ * Consider if this is really needed. The best experience is to avoid loading states altogether.
52
+ * If your loading takes under 1 second, it better to not show anything at all.
53
+ *
54
+ * - Make your backend faster
55
+ * - Preload/prefetch data
56
+ * - Avoid data loading waterfalls
57
+ * - Use optimistic ui when doing mutations
58
+ *
59
+ * **Usage**
60
+ *
61
+ * ```tsx
62
+ * <Skeleton variant="circle" width="2rem" height="2rem" />
63
+ * <Skeleton variant="text" />
64
+ * <Skeleton variant="text" width="80%" />
65
+ * <Skeleton variant="text">Uses content to determine width</Skeleton>
66
+ * <Skeleton variant="rectangle" width="300px" height="400px" />
67
+ * ```
68
+ *
69
+ * Remember to set `aria-hidden` on top level components you use that are not the `Skeleton` component.
70
+ *
71
+ * 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
72
+ *
73
+ * **References**
74
+ * - https://aksel.nav.no/komponenter/core/skeleton
75
+ * - https://chakra-ui.com/docs/components/skeleton
76
+ * - https://mui.com/material-ui/react-skeleton/
77
+ */
78
+ export const Skeleton = forwardRef<HTMLDivElement, SkeletonProps>(
79
+ (
80
+ {
81
+ as: Tag = "div",
82
+ asChild,
83
+ children,
84
+ animation = true,
85
+ variant = "text",
86
+ width,
87
+ height,
88
+ className,
89
+ style,
90
+ ...rest
91
+ },
92
+ ref,
93
+ ) => {
94
+ const Component = asChild ? Slot : Tag;
95
+ return (
96
+ <Component
97
+ className={clsx(
98
+ "hds-skeleton",
99
+ `hds-skeleton--${variant}`,
100
+ !animation && `hds-skeleton--no-animation`,
101
+ className as undefined,
102
+ )}
103
+ style={{ ...style, width, height }}
104
+ aria-hidden
105
+ {...{ inert: "true" }}
106
+ ref={ref as any}
107
+ {...(rest as any)}
108
+ >
109
+ {children}
110
+ </Component>
111
+ );
112
+ },
113
+ );
114
+ Skeleton.displayName = "Skeleton";
@@ -0,0 +1,2 @@
1
+ export { StepIndicator } from "./step-indicator";
2
+ export type * from "./step-indicator";
@@ -0,0 +1,50 @@
1
+ /* eslint-disable import/no-extraneous-dependencies -- storybook story */
2
+ import type { Meta, StoryObj } from "@storybook/react";
3
+ import { Badge } from "../badge";
4
+ import { StepIndicator } from ".";
5
+
6
+ const meta: Meta<typeof StepIndicator> = {
7
+ title: "Step indicator",
8
+ component: StepIndicator,
9
+ };
10
+
11
+ export default meta;
12
+
13
+ type Story = StoryObj<typeof StepIndicator>;
14
+
15
+ export const Default: Story = {
16
+ args: {
17
+ label: "Progress name",
18
+ totalSteps: 5,
19
+ activeStep: 2,
20
+ },
21
+ };
22
+
23
+ export const Title: Story = {
24
+ args: {
25
+ activeStep: 2,
26
+ label: "Pakke til utlandet",
27
+ lang: "no",
28
+ totalSteps: 5,
29
+ title: "Hvem sender pakken?",
30
+ titleAs: "h2",
31
+ },
32
+ };
33
+
34
+ export const WithBadgeInLabel: Story = {
35
+ args: {
36
+ activeStep: 2,
37
+ label: (
38
+ <>
39
+ Norgespakke™ liten
40
+ <Badge size="smaller" style={{ marginLeft: "var(--hds-spacing-12)" }}>
41
+ 73,-
42
+ </Badge>
43
+ </>
44
+ ),
45
+ lang: "no",
46
+ totalSteps: 5,
47
+ title: "Størrelse og vekt",
48
+ titleAs: "h2",
49
+ },
50
+ };
@@ -0,0 +1,116 @@
1
+ import { clsx } from "@postenbring/hedwig-css/typed-classname";
2
+ import { forwardRef } from "react";
3
+
4
+ type TitleProps =
5
+ | {
6
+ /**
7
+ * Optional title of the active step to be shown underneath the step indicator
8
+ *
9
+ * Use `titleAs` to set the correct heading level
10
+ */
11
+ title: React.ReactNode;
12
+ titleAs: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
13
+ }
14
+ | {
15
+ title?: undefined;
16
+ titleAs?: undefined;
17
+ };
18
+
19
+ interface StepIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {
20
+ /*
21
+ * 1-indexed number of the active step
22
+ */
23
+ activeStep: number;
24
+
25
+ /**
26
+ * 1-indexed number of steps
27
+ */
28
+ totalSteps: number;
29
+
30
+ /**
31
+ * Label on the left side above the steps
32
+ */
33
+ label: React.ReactNode;
34
+
35
+ /**
36
+ * Language for the "step x of y" label, default is "en"
37
+ */
38
+ lang?: "no" | "en" | "da" | "sv";
39
+ }
40
+
41
+ /**
42
+ * Indicate a step in a process.
43
+ *
44
+ * It does not handle step content or navigation, only the visual indication of the active step.
45
+ */
46
+ export const StepIndicator = forwardRef<HTMLDivElement, StepIndicatorProps & TitleProps>(
47
+ (
48
+ {
49
+ activeStep,
50
+ totalSteps,
51
+ className,
52
+ label,
53
+ lang = "en",
54
+ title,
55
+ titleAs: TitleComponent,
56
+ ...rest
57
+ },
58
+ ref,
59
+ ) => {
60
+ return (
61
+ <div
62
+ ref={ref}
63
+ className={clsx("hds-step-indicator", className as undefined)}
64
+ lang={lang}
65
+ {...rest}
66
+ >
67
+ <div className={clsx("hds-step-indicator__header")}>
68
+ <span className={clsx("hds-step-indicator__left-label")}>{label}</span>
69
+ <span>{stepLabelTranslations[lang](activeStep, totalSteps)}</span>
70
+ </div>
71
+
72
+ <div className={clsx("hds-step-indicator__steps")}>
73
+ {Array.from({ length: totalSteps }, (_, i) => (
74
+ <div
75
+ className={clsx("hds-step-indicator__step")}
76
+ data-state={getStepState(i + 1, activeStep)}
77
+ key={i}
78
+ />
79
+ ))}
80
+ </div>
81
+
82
+ {title ? (
83
+ <TitleComponent className={clsx("hds-step-indicator__title")}>{title}</TitleComponent>
84
+ ) : null}
85
+ </div>
86
+ );
87
+ },
88
+ );
89
+ StepIndicator.displayName = "StepIndicator";
90
+
91
+ /**
92
+ * Translated texts for the `step x of y` label.
93
+ */
94
+ const stepLabelTranslations: Record<
95
+ "no" | "en" | "da" | "sv",
96
+ (activeStep: number, totalSteps: number) => string
97
+ > = {
98
+ no: (activeStep: number, totalSteps: number) => `steg ${activeStep} av ${totalSteps}`,
99
+ en: (activeStep: number, totalSteps: number) => `step ${activeStep} of ${totalSteps}`,
100
+ da: (activeStep: number, totalSteps: number) => `trin ${activeStep} af ${totalSteps}`,
101
+ sv: (activeStep: number, totalSteps: number) => `steg ${activeStep} av ${totalSteps}`,
102
+ };
103
+
104
+ /**
105
+ * Determine the state of a step.
106
+ * 1-indexed
107
+ */
108
+ function getStepState(renderedStep: number, activeStep: number) {
109
+ if (renderedStep < activeStep) {
110
+ return "previous";
111
+ }
112
+ if (renderedStep === activeStep) {
113
+ return "active";
114
+ }
115
+ return "next";
116
+ }
@@ -0,0 +1,2 @@
1
+ export { StyledHtml } from "./styled-html";
2
+ export type * from "./styled-html";
@@ -0,0 +1,189 @@
1
+ /* eslint-disable import/no-extraneous-dependencies -- storybook story */
2
+ import type { Meta, StoryObj } from "@storybook/react";
3
+ import { StyledHtml } from ".";
4
+
5
+ const meta: Meta<typeof StyledHtml> = {
6
+ title: "Styled Html",
7
+ component: StyledHtml,
8
+ args: {
9
+ children: (
10
+ <>
11
+ <h1>Hello</h1>
12
+ <h2>Hello</h2>
13
+
14
+ <a href="https://www.postenbring.no">Postenbring</a>
15
+
16
+ <ul>
17
+ <li>Hei</li>
18
+ <li>Hallo</li>
19
+ <li>Hello</li>
20
+ </ul>
21
+
22
+ <ol>
23
+ <li>En</li>
24
+ <li>To</li>
25
+ <li>Tre</li>
26
+ </ol>
27
+ </>
28
+ ),
29
+ },
30
+ argTypes: {
31
+ size: {
32
+ defaultValue: "default",
33
+ options: ["default", "small"],
34
+ control: {
35
+ type: "radio",
36
+ },
37
+ darkmode: {
38
+ defaultValue: false,
39
+ options: [true, false],
40
+ control: {
41
+ type: "radio",
42
+ },
43
+ },
44
+ },
45
+ },
46
+ };
47
+
48
+ export default meta;
49
+
50
+ type Story = StoryObj<typeof StyledHtml>;
51
+ export const Default: Story = {
52
+ args: {},
53
+ };
54
+
55
+ export const Darkmode: Story = {
56
+ args: {
57
+ darkmode: true,
58
+ },
59
+ parameters: {
60
+ backgrounds: { default: "dark" },
61
+ },
62
+ };
63
+
64
+ export const Small: Story = {
65
+ args: {
66
+ size: "small",
67
+ },
68
+ };
69
+
70
+ export const DarkmodeSmall: Story = {
71
+ args: {
72
+ darkmode: true,
73
+ size: "small",
74
+ },
75
+ parameters: {
76
+ backgrounds: { default: "dark" },
77
+ },
78
+ };
79
+
80
+ export const ArticleContent: Story = {
81
+ render: () => (
82
+ <StyledHtml>
83
+ <p>
84
+ Pakkeboksene er selvbetjente, og er plassert slik at de er mulig å bruke hele døgnet. Du
85
+ trenger bare mobilen din og Posten-appen for å åpne lukene.
86
+ </p>
87
+
88
+ <p>
89
+ Akkurat nå er det satt ut pakkebokser over 1800 steder i landet, og fremover vil det komme
90
+ enda flere.&nbsp;
91
+ </p>
92
+
93
+ <p>
94
+ <a href="/motta/fleksibelt/pakkeboks" title="Les mer og finn Pakkeboks">
95
+ Her kan du finne din nærmeste Pakkeboks
96
+ </a>
97
+ </p>
98
+
99
+ <h1 className="hds-text-h3">Slik bruker du Pakkeboks:</h1>
100
+
101
+ <p>
102
+ For å bruke pakkeboksene må du&nbsp;
103
+ <a href="/posten-app" target="_blank" title="Last ned Posten-appen">
104
+ laste ned Posten-appen
105
+ </a>
106
+ &nbsp;på mobilen din. Med appen kan du:
107
+ </p>
108
+
109
+ <ul>
110
+ <li>Åpne luke for å hente pakke</li>
111
+ <li>Reservere og åpne luke når du skal sende pakke</li>
112
+ <li>Velge om du vil ha pakker kun levert i de midterste lukene</li>
113
+ <li>Dele pakkene dine&nbsp;med andre, slik at de kan hente eller sende dem for deg</li>
114
+ </ul>
115
+
116
+ <h2>Hente pakker</h2>
117
+
118
+ <p>
119
+ Du får varsel i Posten-appen når du har en pakke som skal hentes i Pakkeboks. Slik gjør du:
120
+ </p>
121
+
122
+ <ul>
123
+ <li>Stå ved pakkeboksen og åpne appen. Husk å ha på Bluetooth</li>
124
+ <li>Appen kobler til riktig boks, og viser hvilken luke pakken din er i</li>
125
+ <li>Trykk på Åpne luke, og ta ut pakken din.</li>
126
+ <li>Steng luken og lukk appen</li>
127
+ </ul>
128
+
129
+ <h2>Velge høyde på luke</h2>
130
+
131
+ <p>Slik velger du at du vil ha pakkene kun i midterste luker:</p>
132
+
133
+ <ul>
134
+ <li>Du må ha nyeste versjon av Posten-appen</li>
135
+ <li>Åpne appen, og trykk på «Profil»</li>
136
+ <li>Velg «Levering i Pakkeboks», deretter&nbsp;«Luker på midten»</li>
137
+ <li>Lagre valget ditt</li>
138
+ </ul>
139
+
140
+ <h2>Sende fra Pakkeboks</h2>
141
+
142
+ <p>
143
+ Nå kan du bruke Posten-appen for å reservere luker i pakkeboksen når du skal sende{" "}
144
+ <a
145
+ href="/sende/i-norge/norgespakke/norgespakke-0-5-kg"
146
+ target="_blank"
147
+ title="Les mer om Norgespakke™ liten"
148
+ >
149
+ Norgespakke™ liten
150
+ </a>
151
+ .
152
+ </p>
153
+
154
+ <p>Slik reserverer du luke for å sende pakke:</p>
155
+
156
+ <ul>
157
+ <li>
158
+ Du må ha Posten-appen for å bestille sending og&nbsp;holde av en&nbsp;luke i pakkeboksen
159
+ </li>
160
+ <li>Velg&nbsp;Norgespakke™ liten, og følg stegene for kjøp av frakt</li>
161
+ <li>Velg innlevering på Posten, og fullfør kjøpet</li>
162
+ <li>
163
+ Du trenger ikke reservere luke rett etter kjøp, dette kan du gjøre innenfor 2 timer før du
164
+ skal sende pakken
165
+ </li>
166
+ <li>Pakken din blir hentet senest neste virkedag</li>
167
+ </ul>
168
+
169
+ <h2>Returnere fra Pakkeboks</h2>
170
+
171
+ <ul>
172
+ <li>
173
+ Du må ha&nbsp;<a href="https://www.posten.no/posten-app">Posten-appen</a>&nbsp;for å
174
+ reservere en luke.
175
+ </li>
176
+ <li>Velg retur i appen og følg stegene videre</li>
177
+ <li>Fest&nbsp;adresselappen for retur&nbsp;midt på pakken med strekkoden godt synlig</li>
178
+ <li>Luken holdes av i to timer fra du reserverer den.</li>
179
+ <li>Du kan reservere en luke&nbsp;når som helst</li>
180
+ </ul>
181
+
182
+ <p>Er det noe du lurer på?</p>
183
+
184
+ <p>
185
+ Se flere <a href="/kundeservice/pakkeboks-hjelp">spørsmål og svar om Pakkeboks</a>.
186
+ </p>
187
+ </StyledHtml>
188
+ ),
189
+ };
@@ -0,0 +1,59 @@
1
+ import { forwardRef } from "react";
2
+ import { clsx } from "@postenbring/hedwig-css/typed-classname";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+
5
+ export interface StyledHtmlProps extends React.HTMLAttributes<HTMLDivElement> {
6
+ children?: React.ReactNode;
7
+ size?: "default" | "small";
8
+ darkmode?: boolean;
9
+
10
+ /**
11
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
12
+ *
13
+ * @default false
14
+ */
15
+ asChild?: boolean;
16
+ }
17
+
18
+ /**
19
+ * A component for displaying dynamic content that you want to apply hedwig styling to.
20
+ * the styling depends on the semantic html elements you use inside the component.
21
+ *
22
+ * Useful when you have dynamic content that you want styled with hedwig, like content from a CMS.
23
+ *
24
+ * Previously known as `hw-wysiwyg` in hedwig legacy. In tailwind this kind of component it is known as `prose`.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <StyledHtml>
29
+ * <h1>Heading 1</h1>
30
+ * <h2>Heading 2</h2>
31
+ * <a href="https://www.postenbring.no">Postenbring</a>
32
+ * <ul>
33
+ * <li>Hei</li>
34
+ * <li>Hallo</li>
35
+ * <li>Hello</li>
36
+ * </ul>
37
+ * </StyledHtml>
38
+ * ```
39
+ */
40
+ export const StyledHtml = forwardRef<HTMLDivElement, StyledHtmlProps>(
41
+ ({ asChild, children, size, darkmode = false, className, ...rest }, ref) => {
42
+ const Component = asChild ? Slot : "div";
43
+ return (
44
+ <Component
45
+ className={clsx(
46
+ `hds-styled-html`,
47
+ size === "small" && "hds-styled-html--small",
48
+ darkmode && "hds-styled-html--darkmode",
49
+ className as undefined,
50
+ )}
51
+ ref={ref}
52
+ {...rest}
53
+ >
54
+ {children}
55
+ </Component>
56
+ );
57
+ },
58
+ );
59
+ StyledHtml.displayName = "StyledHtml";
@@ -0,0 +1,2 @@
1
+ export { Table } from "./table";
2
+ export type * from "./table";
@@ -0,0 +1,59 @@
1
+ import { clsx } from "@postenbring/hedwig-css/typed-classname";
2
+ import { forwardRef, useId } from "react";
3
+
4
+ interface TableProps extends React.HTMLAttributes<HTMLTableElement> {
5
+ className?: string;
6
+
7
+ /**
8
+ * Size of the table
9
+ *
10
+ * Use `compressed` for a more compact table, or `mobile-compressed` for a compact table on mobile screens only.
11
+ */
12
+ size?: "default" | "compressed" | "mobile-compressed";
13
+
14
+ /**
15
+ * The table caption
16
+ *
17
+ * You can also set this by passing `<caption>` as a first child of the table
18
+ */
19
+ caption?: React.ReactNode;
20
+
21
+ /**
22
+ * Optional description of the table displayed underneath the table
23
+ *
24
+ * Ensures the `aria-describedby` attribute is set on the table, making it accessible for screen readers.
25
+ */
26
+ description?: React.ReactNode;
27
+ }
28
+
29
+ export const Table = forwardRef<HTMLTableElement, TableProps>(
30
+ ({ children, className, size, caption, description, ...rest }, ref) => {
31
+ const descriptionId = useId();
32
+ return (
33
+ <>
34
+ <table
35
+ aria-describedby={description ? descriptionId : undefined}
36
+ ref={ref}
37
+ className={clsx(
38
+ "hds-table",
39
+ {
40
+ "hds-table--compressed": size === "compressed",
41
+ "hds-table--mobile-compressed": size === "mobile-compressed",
42
+ },
43
+ className as undefined,
44
+ )}
45
+ {...rest}
46
+ >
47
+ {caption ? <caption>{caption}</caption> : null}
48
+ {children}
49
+ </table>
50
+ {description ? (
51
+ <p className={clsx("hds-table-description")} id={descriptionId}>
52
+ {description}
53
+ </p>
54
+ ) : null}
55
+ </>
56
+ );
57
+ },
58
+ );
59
+ Table.displayName = "Table";
@@ -0,0 +1,18 @@
1
+ import { createContext, useContext } from "react";
2
+
3
+ export interface TabsContextProps {
4
+ activeTabId: string;
5
+ toggleActiveTabId: (tabId: string) => void;
6
+ }
7
+
8
+ export const TabsContext = createContext<TabsContextProps | null>(null);
9
+
10
+ export function useTabsContext() {
11
+ const context = useContext(TabsContext);
12
+ if (!context) {
13
+ throw new Error(
14
+ "Tabs context required. Did you use `<Tabs.List />`, `<Tabs.Tab />`, or `<Tabs.Content />` outside of <Tabs/>?",
15
+ );
16
+ }
17
+ return context;
18
+ }
@@ -0,0 +1,7 @@
1
+ export { Tabs } from "./tabs";
2
+ export { TabsList, TabsTab } from "./tabs-list";
3
+ export { TabsContents, TabsContent } from "./tabs-content";
4
+
5
+ export type * from "./tabs";
6
+ export type * from "./tabs-list";
7
+ export type * from "./tabs-content";
@@ -0,0 +1,62 @@
1
+ import type { HTMLAttributes, ReactElement } from "react";
2
+ import { forwardRef } from "react";
3
+ import { clsx } from "@postenbring/hedwig-css/typed-classname";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { useTabsContext } from "./context";
6
+
7
+ export interface TabsContentsProps extends HTMLAttributes<HTMLDivElement> {
8
+ children: ReactElement<TabsContentProps> | ReactElement<TabsContentProps>[];
9
+
10
+ /**
11
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
12
+ *
13
+ * @default false
14
+ */
15
+ asChild?: boolean;
16
+ }
17
+
18
+ export const TabsContents = forwardRef<HTMLDivElement, TabsContentsProps>(
19
+ ({ asChild, children, ...rest }, ref) => {
20
+ const Component = asChild ? Slot : "div";
21
+ return (
22
+ <Component ref={ref} className={clsx("hds-tabs__contents")} {...rest}>
23
+ {children}
24
+ </Component>
25
+ );
26
+ },
27
+ );
28
+ TabsContents.displayName = "Tabs.Contents";
29
+
30
+ export interface TabsContentProps extends HTMLAttributes<HTMLElement> {
31
+ children: ReactElement<HTMLElement> | ReactElement<HTMLElement>[] | string;
32
+
33
+ /**
34
+ * Content for the referenced tabId
35
+ */
36
+ forTabId: string;
37
+
38
+ /**
39
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
40
+ *
41
+ * @default false
42
+ */
43
+ asChild?: boolean;
44
+ }
45
+
46
+ export const TabsContent = forwardRef<HTMLDivElement, TabsContentProps>(
47
+ ({ asChild, forTabId, children, ...rest }, ref) => {
48
+ const context = useTabsContext();
49
+ const Component = asChild ? Slot : "div";
50
+
51
+ if (context.activeTabId === forTabId) {
52
+ return (
53
+ <Component {...rest} ref={ref}>
54
+ {children}
55
+ </Component>
56
+ );
57
+ }
58
+ return null;
59
+ },
60
+ );
61
+
62
+ TabsContent.displayName = "Tabs.Content";