@postenbring/hedwig-react 0.0.80 → 0.0.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/dist/accordion/accordion-content.d.ts +6 -2
  2. package/dist/accordion/accordion-content.d.ts.map +1 -0
  3. package/dist/accordion/accordion-content.js +1 -1
  4. package/dist/accordion/accordion-content.js.map +1 -1
  5. package/dist/accordion/accordion-content.mjs +1 -1
  6. package/dist/accordion/accordion-header.d.ts +6 -2
  7. package/dist/accordion/accordion-header.d.ts.map +1 -0
  8. package/dist/accordion/accordion-item.d.ts +24 -3
  9. package/dist/accordion/accordion-item.d.ts.map +1 -0
  10. package/dist/accordion/accordion.d.ts +44 -2
  11. package/dist/accordion/accordion.d.ts.map +1 -0
  12. package/dist/accordion/accordion.js +102 -4
  13. package/dist/accordion/accordion.js.map +1 -1
  14. package/dist/accordion/accordion.mjs +5 -1
  15. package/dist/accordion/context.d.ts +7 -2
  16. package/dist/accordion/context.d.ts.map +1 -0
  17. package/dist/accordion/index.d.ts +9 -9
  18. package/dist/accordion/index.d.ts.map +1 -0
  19. package/dist/accordion/index.js +53 -54
  20. package/dist/accordion/index.js.map +1 -1
  21. package/dist/accordion/index.mjs +8 -8
  22. package/dist/badge/badge.d.ts +21 -5
  23. package/dist/badge/badge.d.ts.map +1 -0
  24. package/dist/badge/index.d.ts +3 -6
  25. package/dist/badge/index.d.ts.map +1 -0
  26. package/dist/box/box.d.ts +50 -4
  27. package/dist/box/box.d.ts.map +1 -0
  28. package/dist/box/box.js +15 -14
  29. package/dist/box/box.js.map +1 -1
  30. package/dist/box/box.mjs +1 -1
  31. package/dist/box/index.d.ts +3 -4
  32. package/dist/box/index.d.ts.map +1 -0
  33. package/dist/box/index.js +16 -19
  34. package/dist/box/index.js.map +1 -1
  35. package/dist/box/index.mjs +4 -5
  36. package/dist/breadcrumbs/breadcrumbs.d.ts +33 -2
  37. package/dist/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  38. package/dist/breadcrumbs/index.d.ts +3 -2
  39. package/dist/breadcrumbs/index.d.ts.map +1 -0
  40. package/dist/button/button.d.ts +33 -3
  41. package/dist/button/button.d.ts.map +1 -0
  42. package/dist/button/index.d.ts +3 -3
  43. package/dist/button/index.d.ts.map +1 -0
  44. package/dist/card/card.d.ts +69 -12
  45. package/dist/card/card.d.ts.map +1 -0
  46. package/dist/card/card.js +17 -6
  47. package/dist/card/card.js.map +1 -1
  48. package/dist/card/card.mjs +1 -1
  49. package/dist/card/index.d.ts +3 -12
  50. package/dist/card/index.d.ts.map +1 -0
  51. package/dist/card/index.js +18 -19
  52. package/dist/card/index.js.map +1 -1
  53. package/dist/card/index.mjs +4 -5
  54. package/dist/{chunk-XC3UHH2U.mjs → chunk-3WVRY6CC.mjs} +4 -4
  55. package/dist/{chunk-XC3UHH2U.mjs.map → chunk-3WVRY6CC.mjs.map} +1 -1
  56. package/dist/{chunk-GSJPTZT3.mjs → chunk-6AGDK5V3.mjs} +34 -19
  57. package/dist/chunk-6AGDK5V3.mjs.map +1 -0
  58. package/dist/{chunk-3MQKXNZ6.mjs → chunk-7UD72WOC.mjs} +13 -1
  59. package/dist/chunk-7UD72WOC.mjs.map +1 -0
  60. package/dist/chunk-7YWW46R3.mjs +1 -0
  61. package/dist/chunk-7YWW46R3.mjs.map +1 -0
  62. package/dist/{chunk-ENKVTAJB.mjs → chunk-AJWSQEDP.mjs} +18 -17
  63. package/dist/chunk-AJWSQEDP.mjs.map +1 -0
  64. package/dist/chunk-ARHJZUZG.mjs +1 -0
  65. package/dist/chunk-ARHJZUZG.mjs.map +1 -0
  66. package/dist/chunk-BCFV6VOE.mjs +1 -0
  67. package/dist/chunk-BCFV6VOE.mjs.map +1 -0
  68. package/dist/{chunk-GXYUJ5MA.mjs → chunk-C34HEQXO.mjs} +33 -29
  69. package/dist/chunk-C34HEQXO.mjs.map +1 -0
  70. package/dist/{chunk-PLXB3TNA.mjs → chunk-D7QPJIUZ.mjs} +5 -5
  71. package/dist/{chunk-PLXB3TNA.mjs.map → chunk-D7QPJIUZ.mjs.map} +1 -1
  72. package/dist/chunk-FYFJ75NX.mjs +1 -0
  73. package/dist/chunk-FYFJ75NX.mjs.map +1 -0
  74. package/dist/chunk-G65EYZFQ.mjs +1 -0
  75. package/dist/chunk-G65EYZFQ.mjs.map +1 -0
  76. package/dist/{chunk-2UWPZNXC.mjs → chunk-GLAEI3SD.mjs} +2 -2
  77. package/dist/{chunk-2UWPZNXC.mjs.map → chunk-GLAEI3SD.mjs.map} +1 -1
  78. package/dist/chunk-H3E546OT.mjs +1 -0
  79. package/dist/chunk-H3E546OT.mjs.map +1 -0
  80. package/dist/chunk-HQVL3ZJ2.mjs +1 -0
  81. package/dist/chunk-HQVL3ZJ2.mjs.map +1 -0
  82. package/dist/{chunk-XUWZ4HGD.mjs → chunk-LCJSUBCZ.mjs} +48 -45
  83. package/dist/chunk-LCJSUBCZ.mjs.map +1 -0
  84. package/dist/{chunk-KPGSRU4I.mjs → chunk-M3Y3XOGC.mjs} +13 -1
  85. package/dist/chunk-M3Y3XOGC.mjs.map +1 -0
  86. package/dist/{chunk-CIHZDFSQ.mjs → chunk-NU6OSFAU.mjs} +20 -9
  87. package/dist/chunk-NU6OSFAU.mjs.map +1 -0
  88. package/dist/chunk-RC76SXBP.mjs +1 -0
  89. package/dist/chunk-RC76SXBP.mjs.map +1 -0
  90. package/dist/{chunk-TQDUBRCZ.mjs → chunk-SQ63E7KM.mjs} +24 -22
  91. package/dist/chunk-SQ63E7KM.mjs.map +1 -0
  92. package/dist/{chunk-ES6ISHOV.mjs → chunk-UP3M3NEZ.mjs} +14 -13
  93. package/dist/{chunk-ES6ISHOV.mjs.map → chunk-UP3M3NEZ.mjs.map} +1 -1
  94. package/dist/chunk-ZKMFJZSH.mjs +1 -0
  95. package/dist/chunk-ZKMFJZSH.mjs.map +1 -0
  96. package/dist/description-list/description-list.d.ts +42 -2
  97. package/dist/description-list/description-list.d.ts.map +1 -0
  98. package/dist/description-list/index.d.ts +3 -2
  99. package/dist/description-list/index.d.ts.map +1 -0
  100. package/dist/footer/footer.d.ts +67 -7
  101. package/dist/footer/footer.d.ts.map +1 -0
  102. package/dist/footer/footer.js +80 -77
  103. package/dist/footer/footer.js.map +1 -1
  104. package/dist/footer/footer.mjs +5 -5
  105. package/dist/footer/index.d.ts +3 -7
  106. package/dist/footer/index.d.ts.map +1 -0
  107. package/dist/footer/index.js +81 -85
  108. package/dist/footer/index.js.map +1 -1
  109. package/dist/footer/index.mjs +8 -9
  110. package/dist/form/checkbox/checkbox.d.ts +28 -2
  111. package/dist/form/checkbox/checkbox.d.ts.map +1 -0
  112. package/dist/form/checkbox/index.d.ts +3 -2
  113. package/dist/form/checkbox/index.d.ts.map +1 -0
  114. package/dist/form/date-picker/date-picker.d.ts +33 -2
  115. package/dist/form/date-picker/date-picker.d.ts.map +1 -0
  116. package/dist/form/date-picker/index.d.ts +3 -2
  117. package/dist/form/date-picker/index.d.ts.map +1 -0
  118. package/dist/form/error-message/error-message.d.ts +8 -2
  119. package/dist/form/error-message/error-message.d.ts.map +1 -0
  120. package/dist/form/error-message/index.d.ts +3 -2
  121. package/dist/form/error-message/index.d.ts.map +1 -0
  122. package/dist/form/fieldset/fieldset.d.ts +22 -3
  123. package/dist/form/fieldset/fieldset.d.ts.map +1 -0
  124. package/dist/form/fieldset/index.d.ts +3 -3
  125. package/dist/form/fieldset/index.d.ts.map +1 -0
  126. package/dist/form/index.d.ts +9 -20
  127. package/dist/form/index.d.ts.map +1 -0
  128. package/dist/form/input/index.d.ts +3 -2
  129. package/dist/form/input/index.d.ts.map +1 -0
  130. package/dist/form/input/input.d.ts +5 -2
  131. package/dist/form/input/input.d.ts.map +1 -0
  132. package/dist/form/input-group/index.d.ts +3 -2
  133. package/dist/form/input-group/index.d.ts.map +1 -0
  134. package/dist/form/input-group/input-group.d.ts +27 -2
  135. package/dist/form/input-group/input-group.d.ts.map +1 -0
  136. package/dist/form/radiobutton/index.d.ts +5 -5
  137. package/dist/form/radiobutton/index.d.ts.map +1 -0
  138. package/dist/form/radiobutton/radiobutton.d.ts +17 -2
  139. package/dist/form/radiobutton/radiobutton.d.ts.map +1 -0
  140. package/dist/form/radiobutton/radiogroup.d.ts +24 -3
  141. package/dist/form/radiobutton/radiogroup.d.ts.map +1 -0
  142. package/dist/form/select/index.d.ts +3 -2
  143. package/dist/form/select/index.d.ts.map +1 -0
  144. package/dist/form/select/select.d.ts +9 -2
  145. package/dist/form/select/select.d.ts.map +1 -0
  146. package/dist/form/textarea/index.d.ts +3 -2
  147. package/dist/form/textarea/index.d.ts.map +1 -0
  148. package/dist/form/textarea/textarea.d.ts +5 -2
  149. package/dist/form/textarea/textarea.d.ts.map +1 -0
  150. package/dist/help-text/help-text.d.ts +51 -1
  151. package/dist/help-text/help-text.d.ts.map +1 -0
  152. package/dist/help-text/help-text.js +17 -20
  153. package/dist/help-text/help-text.js.map +1 -1
  154. package/dist/help-text/help-text.mjs +3 -3
  155. package/dist/help-text/index.d.ts +3 -1
  156. package/dist/help-text/index.d.ts.map +1 -0
  157. package/dist/help-text/index.js +17 -20
  158. package/dist/help-text/index.js.map +1 -1
  159. package/dist/help-text/index.mjs +3 -3
  160. package/dist/index-no-css.d.ts +26 -128
  161. package/dist/index-no-css.d.ts.map +1 -0
  162. package/dist/index-no-css.js +373 -394
  163. package/dist/index-no-css.js.map +1 -1
  164. package/dist/index-no-css.mjs +50 -57
  165. package/dist/index.d.ts +11 -128
  166. package/dist/index.d.ts.map +1 -0
  167. package/dist/index.js +373 -394
  168. package/dist/index.js.map +1 -1
  169. package/dist/index.mjs +50 -57
  170. package/dist/index.mjs.map +1 -1
  171. package/dist/layout/container/container.d.ts +23 -2
  172. package/dist/layout/container/container.d.ts.map +1 -0
  173. package/dist/layout/grid/grid.d.ts +101 -4
  174. package/dist/layout/grid/grid.d.ts.map +1 -0
  175. package/dist/layout/grid/grid.js +11 -10
  176. package/dist/layout/grid/grid.js.map +1 -1
  177. package/dist/layout/grid/grid.mjs +1 -1
  178. package/dist/layout/grid/index.d.ts +3 -4
  179. package/dist/layout/grid/index.d.ts.map +1 -0
  180. package/dist/layout/grid/index.js +12 -15
  181. package/dist/layout/grid/index.js.map +1 -1
  182. package/dist/layout/grid/index.mjs +4 -5
  183. package/dist/layout/index.d.ts +4 -10
  184. package/dist/layout/index.d.ts.map +1 -0
  185. package/dist/layout/index.js +12 -15
  186. package/dist/layout/index.js.map +1 -1
  187. package/dist/layout/index.mjs +4 -5
  188. package/dist/layout/responsive.d.ts +10 -2
  189. package/dist/layout/responsive.d.ts.map +1 -0
  190. package/dist/layout/spacing.d.ts +33 -3
  191. package/dist/layout/spacing.d.ts.map +1 -0
  192. package/dist/layout/stack/index.d.ts +3 -4
  193. package/dist/layout/stack/index.d.ts.map +1 -0
  194. package/dist/layout/stack/stack.d.ts +62 -4
  195. package/dist/layout/stack/stack.d.ts.map +1 -0
  196. package/dist/link/index.d.ts +3 -2
  197. package/dist/link/index.d.ts.map +1 -0
  198. package/dist/link/link.d.ts +20 -2
  199. package/dist/link/link.d.ts.map +1 -0
  200. package/dist/list/index.d.ts +5 -5
  201. package/dist/list/index.d.ts.map +1 -0
  202. package/dist/list/link-list.d.ts +12 -2
  203. package/dist/list/link-list.d.ts.map +1 -0
  204. package/dist/list/list.d.ts +40 -3
  205. package/dist/list/list.d.ts.map +1 -0
  206. package/dist/message/index.d.ts +3 -3
  207. package/dist/message/index.d.ts.map +1 -0
  208. package/dist/message/index.js +36 -38
  209. package/dist/message/index.js.map +1 -1
  210. package/dist/message/index.mjs +5 -6
  211. package/dist/message/message.d.ts +36 -4
  212. package/dist/message/message.d.ts.map +1 -0
  213. package/dist/message/message.js +35 -32
  214. package/dist/message/message.js.map +1 -1
  215. package/dist/message/message.mjs +2 -2
  216. package/dist/modal/index.d.ts +3 -5
  217. package/dist/modal/index.d.ts.map +1 -0
  218. package/dist/modal/index.js +60 -62
  219. package/dist/modal/index.js.map +1 -1
  220. package/dist/modal/index.mjs +5 -6
  221. package/dist/modal/modal.d.ts +81 -5
  222. package/dist/modal/modal.d.ts.map +1 -0
  223. package/dist/modal/modal.js +59 -55
  224. package/dist/modal/modal.js.map +1 -1
  225. package/dist/modal/modal.mjs +2 -2
  226. package/dist/navbar/icons.d.ts +3 -2
  227. package/dist/navbar/icons.d.ts.map +1 -0
  228. package/dist/navbar/index.d.ts +4 -13
  229. package/dist/navbar/index.d.ts.map +1 -0
  230. package/dist/navbar/index.js +144 -145
  231. package/dist/navbar/index.js.map +1 -1
  232. package/dist/navbar/index.mjs +4 -5
  233. package/dist/navbar/navbar-expandable-menu.d.ts +35 -7
  234. package/dist/navbar/navbar-expandable-menu.d.ts.map +1 -0
  235. package/dist/navbar/navbar.d.ts +130 -9
  236. package/dist/navbar/navbar.d.ts.map +1 -0
  237. package/dist/navbar/navbar.js +237 -28
  238. package/dist/navbar/navbar.js.map +1 -1
  239. package/dist/navbar/navbar.mjs +4 -1
  240. package/dist/show-more/index.d.ts +5 -4
  241. package/dist/show-more/index.d.ts.map +1 -0
  242. package/dist/show-more/show-more.d.ts +42 -2
  243. package/dist/show-more/show-more.d.ts.map +1 -0
  244. package/dist/skeleton/index.d.ts +3 -2
  245. package/dist/skeleton/index.d.ts.map +1 -0
  246. package/dist/skeleton/skeleton.d.ts +67 -2
  247. package/dist/skeleton/skeleton.d.ts.map +1 -0
  248. package/dist/step-indicator/index.d.ts +3 -1
  249. package/dist/step-indicator/index.d.ts.map +1 -0
  250. package/dist/step-indicator/step-indicator.d.ts +36 -1
  251. package/dist/step-indicator/step-indicator.d.ts.map +1 -0
  252. package/dist/styled-html/index.d.ts +3 -2
  253. package/dist/styled-html/index.d.ts.map +1 -0
  254. package/dist/styled-html/styled-html.d.ts +36 -2
  255. package/dist/styled-html/styled-html.d.ts.map +1 -0
  256. package/dist/table/index.d.ts +3 -1
  257. package/dist/table/index.d.ts.map +1 -0
  258. package/dist/table/table.d.ts +25 -1
  259. package/dist/table/table.d.ts.map +1 -0
  260. package/dist/tabs/context.d.ts +8 -3
  261. package/dist/tabs/context.d.ts.map +1 -0
  262. package/dist/tabs/index.d.ts +7 -10
  263. package/dist/tabs/index.d.ts.map +1 -0
  264. package/dist/tabs/index.js +34 -37
  265. package/dist/tabs/index.js.map +1 -1
  266. package/dist/tabs/index.mjs +4 -4
  267. package/dist/tabs/tabs-content.d.ts +26 -4
  268. package/dist/tabs/tabs-content.d.ts.map +1 -0
  269. package/dist/tabs/tabs-list.d.ts +21 -4
  270. package/dist/tabs/tabs-list.d.ts.map +1 -0
  271. package/dist/tabs/tabs.d.ts +26 -2
  272. package/dist/tabs/tabs.d.ts.map +1 -0
  273. package/dist/tabs/tabs.js +205 -8
  274. package/dist/tabs/tabs.js.map +1 -1
  275. package/dist/tabs/tabs.mjs +4 -1
  276. package/dist/text/index.d.ts +4 -2
  277. package/dist/text/index.d.ts.map +1 -0
  278. package/dist/text/text.d.ts +58 -2
  279. package/dist/text/text.d.ts.map +1 -0
  280. package/dist/utilities/auto-animate-height.d.ts +33 -2
  281. package/dist/utilities/auto-animate-height.d.ts.map +1 -0
  282. package/dist/utilities/index.d.ts +3 -2
  283. package/dist/utilities/index.d.ts.map +1 -0
  284. package/dist/utils.d.ts +28 -5
  285. package/dist/utils.d.ts.map +1 -0
  286. package/dist/warning-banner/index.d.ts +3 -2
  287. package/dist/warning-banner/index.d.ts.map +1 -0
  288. package/dist/warning-banner/index.js +16 -19
  289. package/dist/warning-banner/index.js.map +1 -1
  290. package/dist/warning-banner/index.mjs +3 -3
  291. package/dist/warning-banner/warning-banner.d.ts +8 -2
  292. package/dist/warning-banner/warning-banner.d.ts.map +1 -0
  293. package/dist/warning-banner/warning-banner.js +16 -19
  294. package/dist/warning-banner/warning-banner.js.map +1 -1
  295. package/dist/warning-banner/warning-banner.mjs +3 -3
  296. package/package.json +11 -7
  297. package/src/accordion/accordion-content.tsx +31 -0
  298. package/src/accordion/accordion-header.tsx +36 -0
  299. package/src/accordion/accordion-item.tsx +62 -0
  300. package/src/accordion/accordion.stories.tsx +154 -0
  301. package/src/accordion/accordion.tsx +68 -0
  302. package/src/accordion/context.ts +8 -0
  303. package/src/accordion/index.tsx +9 -0
  304. package/src/badge/badge.stories.tsx +44 -0
  305. package/src/badge/badge.tsx +63 -0
  306. package/src/badge/index.tsx +3 -0
  307. package/src/box/box.stories.tsx +112 -0
  308. package/src/box/box.tsx +122 -0
  309. package/src/box/index.tsx +3 -0
  310. package/src/breadcrumbs/breadcrumbs.stories.tsx +50 -0
  311. package/src/breadcrumbs/breadcrumbs.tsx +47 -0
  312. package/src/breadcrumbs/index.tsx +3 -0
  313. package/src/button/button.stories.tsx +104 -0
  314. package/src/button/button.tsx +87 -0
  315. package/src/button/index.tsx +3 -0
  316. package/src/card/card.stories.tsx +82 -0
  317. package/src/card/card.tsx +222 -0
  318. package/src/card/index.tsx +14 -0
  319. package/src/description-list/description-list.stories.tsx +95 -0
  320. package/src/description-list/description-list.tsx +61 -0
  321. package/src/description-list/index.tsx +2 -0
  322. package/src/footer/footer.tsx +169 -0
  323. package/src/footer/index.tsx +9 -0
  324. package/src/form/checkbox/checkbox.stories.tsx +104 -0
  325. package/src/form/checkbox/checkbox.tsx +82 -0
  326. package/src/form/checkbox/index.tsx +2 -0
  327. package/src/form/date-picker/date-picker.stories.tsx +27 -0
  328. package/src/form/date-picker/date-picker.tsx +85 -0
  329. package/src/form/date-picker/index.tsx +2 -0
  330. package/src/form/error-message/error-message.stories.tsx +19 -0
  331. package/src/form/error-message/error-message.tsx +25 -0
  332. package/src/form/error-message/index.tsx +2 -0
  333. package/src/form/fieldset/fieldset.stories.tsx +86 -0
  334. package/src/form/fieldset/fieldset.tsx +64 -0
  335. package/src/form/fieldset/index.tsx +2 -0
  336. package/src/form/index.tsx +8 -0
  337. package/src/form/input/index.tsx +2 -0
  338. package/src/form/input/input.stories.tsx +166 -0
  339. package/src/form/input/input.tsx +30 -0
  340. package/src/form/input-group/index.tsx +2 -0
  341. package/src/form/input-group/input-group.tsx +106 -0
  342. package/src/form/radiobutton/index.tsx +4 -0
  343. package/src/form/radiobutton/radiobutton.stories.tsx +93 -0
  344. package/src/form/radiobutton/radiobutton.tsx +85 -0
  345. package/src/form/radiobutton/radiogroup.stories.tsx +39 -0
  346. package/src/form/radiobutton/radiogroup.tsx +52 -0
  347. package/src/form/select/index.tsx +2 -0
  348. package/src/form/select/select.stories.tsx +93 -0
  349. package/src/form/select/select.tsx +33 -0
  350. package/src/form/textarea/index.tsx +2 -0
  351. package/src/form/textarea/textarea.stories.tsx +106 -0
  352. package/src/form/textarea/textarea.tsx +33 -0
  353. package/src/help-text/help-text.tsx +98 -0
  354. package/src/help-text/index.ts +2 -0
  355. package/src/index-no-css.tsx +25 -0
  356. package/src/index.tsx +11 -0
  357. package/src/layout/container/container.stories.tsx +62 -0
  358. package/src/layout/container/container.tsx +47 -0
  359. package/src/layout/grid/grid.tsx +163 -0
  360. package/src/layout/grid/index.tsx +3 -0
  361. package/src/layout/index.tsx +3 -0
  362. package/src/layout/responsive.ts +26 -0
  363. package/src/layout/spacing.ts +37 -0
  364. package/src/layout/stack/index.tsx +2 -0
  365. package/src/layout/stack/stack.tsx +128 -0
  366. package/src/link/index.tsx +3 -0
  367. package/src/link/link.stories.tsx +64 -0
  368. package/src/link/link.tsx +46 -0
  369. package/src/list/index.tsx +5 -0
  370. package/src/list/link-list.stories.tsx +38 -0
  371. package/src/list/link-list.tsx +26 -0
  372. package/src/list/list.stories.tsx +71 -0
  373. package/src/list/list.tsx +65 -0
  374. package/src/message/index.tsx +2 -0
  375. package/src/message/message.stories.tsx +93 -0
  376. package/src/message/message.tsx +89 -0
  377. package/src/modal/index.tsx +3 -0
  378. package/src/modal/modal.stories.tsx +147 -0
  379. package/src/modal/modal.tsx +199 -0
  380. package/src/navbar/icons.tsx +21 -0
  381. package/src/navbar/index.tsx +18 -0
  382. package/src/navbar/navbar-expandable-menu.tsx +176 -0
  383. package/src/navbar/navbar.stories.tsx +99 -0
  384. package/src/navbar/navbar.tsx +264 -0
  385. package/src/show-more/index.ts +5 -0
  386. package/src/show-more/show-more.stories.tsx +119 -0
  387. package/src/show-more/show-more.tsx +66 -0
  388. package/src/skeleton/index.ts +2 -0
  389. package/src/skeleton/skeleton.stories.tsx +152 -0
  390. package/src/skeleton/skeleton.tsx +114 -0
  391. package/src/step-indicator/index.ts +2 -0
  392. package/src/step-indicator/step-indicator.stories.tsx +50 -0
  393. package/src/step-indicator/step-indicator.tsx +116 -0
  394. package/src/styled-html/index.ts +2 -0
  395. package/src/styled-html/styled-html.stories.tsx +189 -0
  396. package/src/styled-html/styled-html.tsx +59 -0
  397. package/src/table/index.ts +2 -0
  398. package/src/table/table.tsx +59 -0
  399. package/src/tabs/context.ts +18 -0
  400. package/src/tabs/index.tsx +7 -0
  401. package/src/tabs/tabs-content.tsx +62 -0
  402. package/src/tabs/tabs-list.tsx +129 -0
  403. package/src/tabs/tabs.stories.tsx +138 -0
  404. package/src/tabs/tabs.tsx +50 -0
  405. package/src/text/index.tsx +4 -0
  406. package/src/text/text.stories.tsx +112 -0
  407. package/src/text/text.tsx +129 -0
  408. package/src/utilities/auto-animate-height.tsx +139 -0
  409. package/src/utilities/index.ts +2 -0
  410. package/src/utils.ts +110 -0
  411. package/src/warning-banner/index.tsx +2 -0
  412. package/src/warning-banner/warning-banner.stories.tsx +43 -0
  413. package/src/warning-banner/warning-banner.tsx +79 -0
  414. package/dist/_tsup-dts-rollup.d.mts +0 -2600
  415. package/dist/_tsup-dts-rollup.d.ts +0 -2600
  416. package/dist/accordion/accordion-content.d.mts +0 -2
  417. package/dist/accordion/accordion-header.d.mts +0 -2
  418. package/dist/accordion/accordion-item.d.mts +0 -3
  419. package/dist/accordion/accordion.d.mts +0 -2
  420. package/dist/accordion/context.d.mts +0 -2
  421. package/dist/accordion/index.d.mts +0 -9
  422. package/dist/badge/badge.d.mts +0 -5
  423. package/dist/badge/index.d.mts +0 -6
  424. package/dist/box/box.d.mts +0 -4
  425. package/dist/box/index.d.mts +0 -4
  426. package/dist/breadcrumbs/breadcrumbs.d.mts +0 -2
  427. package/dist/breadcrumbs/index.d.mts +0 -2
  428. package/dist/button/button.d.mts +0 -3
  429. package/dist/button/index.d.mts +0 -3
  430. package/dist/card/card.d.mts +0 -12
  431. package/dist/card/index.d.mts +0 -12
  432. package/dist/chunk-3MQKXNZ6.mjs.map +0 -1
  433. package/dist/chunk-3NL3TOZF.mjs +0 -13
  434. package/dist/chunk-3NL3TOZF.mjs.map +0 -1
  435. package/dist/chunk-722MZPXO.mjs +0 -13
  436. package/dist/chunk-722MZPXO.mjs.map +0 -1
  437. package/dist/chunk-CIHZDFSQ.mjs.map +0 -1
  438. package/dist/chunk-CYEYGPRH.mjs +0 -17
  439. package/dist/chunk-CYEYGPRH.mjs.map +0 -1
  440. package/dist/chunk-ENKVTAJB.mjs.map +0 -1
  441. package/dist/chunk-GSJPTZT3.mjs.map +0 -1
  442. package/dist/chunk-GXYUJ5MA.mjs.map +0 -1
  443. package/dist/chunk-HBSDJAFF.mjs +0 -23
  444. package/dist/chunk-HBSDJAFF.mjs.map +0 -1
  445. package/dist/chunk-IJAX6APL.mjs +0 -23
  446. package/dist/chunk-IJAX6APL.mjs.map +0 -1
  447. package/dist/chunk-IKJJWKXM.mjs +0 -15
  448. package/dist/chunk-IKJJWKXM.mjs.map +0 -1
  449. package/dist/chunk-KPGSRU4I.mjs.map +0 -1
  450. package/dist/chunk-MKVI42QR.mjs +0 -19
  451. package/dist/chunk-MKVI42QR.mjs.map +0 -1
  452. package/dist/chunk-PT5H3QV6.mjs +0 -29
  453. package/dist/chunk-PT5H3QV6.mjs.map +0 -1
  454. package/dist/chunk-TQDUBRCZ.mjs.map +0 -1
  455. package/dist/chunk-V6UKKHKD.mjs +0 -33
  456. package/dist/chunk-V6UKKHKD.mjs.map +0 -1
  457. package/dist/chunk-XUWZ4HGD.mjs.map +0 -1
  458. package/dist/description-list/description-list.d.mts +0 -2
  459. package/dist/description-list/index.d.mts +0 -2
  460. package/dist/footer/footer.d.mts +0 -7
  461. package/dist/footer/index.d.mts +0 -7
  462. package/dist/form/checkbox/checkbox.d.mts +0 -2
  463. package/dist/form/checkbox/index.d.mts +0 -2
  464. package/dist/form/date-picker/date-picker.d.mts +0 -2
  465. package/dist/form/date-picker/index.d.mts +0 -2
  466. package/dist/form/error-message/error-message.d.mts +0 -2
  467. package/dist/form/error-message/index.d.mts +0 -2
  468. package/dist/form/fieldset/fieldset.d.mts +0 -3
  469. package/dist/form/fieldset/index.d.mts +0 -3
  470. package/dist/form/index.d.mts +0 -20
  471. package/dist/form/input/index.d.mts +0 -2
  472. package/dist/form/input/input.d.mts +0 -2
  473. package/dist/form/input-group/index.d.mts +0 -2
  474. package/dist/form/input-group/input-group.d.mts +0 -2
  475. package/dist/form/radiobutton/index.d.mts +0 -5
  476. package/dist/form/radiobutton/radiobutton.d.mts +0 -2
  477. package/dist/form/radiobutton/radiogroup.d.mts +0 -3
  478. package/dist/form/select/index.d.mts +0 -2
  479. package/dist/form/select/select.d.mts +0 -2
  480. package/dist/form/textarea/index.d.mts +0 -2
  481. package/dist/form/textarea/textarea.d.mts +0 -2
  482. package/dist/help-text/help-text.d.mts +0 -1
  483. package/dist/help-text/index.d.mts +0 -1
  484. package/dist/index-no-css.d.mts +0 -128
  485. package/dist/index.d.mts +0 -128
  486. package/dist/layout/container/container.d.mts +0 -2
  487. package/dist/layout/grid/grid.d.mts +0 -4
  488. package/dist/layout/grid/index.d.mts +0 -4
  489. package/dist/layout/index.d.mts +0 -10
  490. package/dist/layout/responsive.d.mts +0 -2
  491. package/dist/layout/spacing.d.mts +0 -3
  492. package/dist/layout/stack/index.d.mts +0 -4
  493. package/dist/layout/stack/stack.d.mts +0 -4
  494. package/dist/link/index.d.mts +0 -2
  495. package/dist/link/link.d.mts +0 -2
  496. package/dist/list/index.d.mts +0 -5
  497. package/dist/list/link-list.d.mts +0 -2
  498. package/dist/list/list.d.mts +0 -3
  499. package/dist/message/index.d.mts +0 -3
  500. package/dist/message/message.d.mts +0 -4
  501. package/dist/modal/index.d.mts +0 -5
  502. package/dist/modal/modal.d.mts +0 -5
  503. package/dist/navbar/icons.d.mts +0 -2
  504. package/dist/navbar/index.d.mts +0 -13
  505. package/dist/navbar/navbar-expandable-menu.d.mts +0 -7
  506. package/dist/navbar/navbar.d.mts +0 -9
  507. package/dist/show-more/index.d.mts +0 -4
  508. package/dist/show-more/show-more.d.mts +0 -2
  509. package/dist/skeleton/index.d.mts +0 -2
  510. package/dist/skeleton/skeleton.d.mts +0 -2
  511. package/dist/step-indicator/index.d.mts +0 -1
  512. package/dist/step-indicator/step-indicator.d.mts +0 -1
  513. package/dist/styled-html/index.d.mts +0 -2
  514. package/dist/styled-html/styled-html.d.mts +0 -2
  515. package/dist/table/index.d.mts +0 -1
  516. package/dist/table/table.d.mts +0 -1
  517. package/dist/tabs/context.d.mts +0 -3
  518. package/dist/tabs/index.d.mts +0 -10
  519. package/dist/tabs/tabs-content.d.mts +0 -4
  520. package/dist/tabs/tabs-list.d.mts +0 -4
  521. package/dist/tabs/tabs.d.mts +0 -2
  522. package/dist/text/index.d.mts +0 -2
  523. package/dist/text/text.d.mts +0 -2
  524. package/dist/utilities/auto-animate-height.d.mts +0 -2
  525. package/dist/utilities/index.d.mts +0 -2
  526. package/dist/utils.d.mts +0 -5
  527. package/dist/warning-banner/index.d.mts +0 -2
  528. package/dist/warning-banner/warning-banner.d.mts +0 -2
@@ -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"}
@@ -59,7 +59,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
59
59
  // src/tabs/index.tsx
60
60
  var tabs_exports = {};
61
61
  __export(tabs_exports, {
62
- Tabs: () => TabsComponent,
62
+ Tabs: () => Tabs,
63
63
  TabsContent: () => TabsContent,
64
64
  TabsContents: () => TabsContents,
65
65
  TabsList: () => TabsList,
@@ -68,9 +68,9 @@ __export(tabs_exports, {
68
68
  module.exports = __toCommonJS(tabs_exports);
69
69
 
70
70
  // src/tabs/tabs.tsx
71
- var import_react2 = require("react");
72
- var import_typed_classname = require("@postenbring/hedwig-css/typed-classname");
73
- var import_react_slot = require("@radix-ui/react-slot");
71
+ var import_react5 = require("react");
72
+ var import_typed_classname3 = require("@postenbring/hedwig-css/typed-classname");
73
+ var import_react_slot2 = require("@radix-ui/react-slot");
74
74
 
75
75
  // src/tabs/context.ts
76
76
  var import_react = require("react");
@@ -85,17 +85,31 @@ function useTabsContext() {
85
85
  return context;
86
86
  }
87
87
 
88
- // src/tabs/tabs.tsx
88
+ // src/tabs/tabs-content.tsx
89
+ var import_react2 = require("react");
90
+ var import_typed_classname = require("@postenbring/hedwig-css/typed-classname");
91
+ var import_react_slot = require("@radix-ui/react-slot");
89
92
  var import_jsx_runtime = require("react/jsx-runtime");
90
- var Tabs = (0, import_react2.forwardRef)(
93
+ var TabsContents = (0, import_react2.forwardRef)(
91
94
  (_a, ref) => {
92
- var _b = _a, { asChild, defaultTab, children } = _b, rest = __objRest(_b, ["asChild", "defaultTab", "children"]);
93
- const [activeTabId, setActiveTabId] = (0, import_react2.useState)(defaultTab);
95
+ var _b = _a, { asChild, children } = _b, rest = __objRest(_b, ["asChild", "children"]);
94
96
  const Component = asChild ? import_react_slot.Slot : "div";
95
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, __spreadProps(__spreadValues({ className: (0, import_typed_classname.clsx)("hds-tabs"), ref }, rest), { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TabsContext.Provider, { value: { activeTabId, toggleActiveTabId: setActiveTabId }, children }) }));
97
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, __spreadProps(__spreadValues({ ref, className: (0, import_typed_classname.clsx)("hds-tabs__contents") }, rest), { children }));
96
98
  }
97
99
  );
98
- Tabs.displayName = "Tabs";
100
+ TabsContents.displayName = "Tabs.Contents";
101
+ var TabsContent = (0, import_react2.forwardRef)(
102
+ (_a, ref) => {
103
+ var _b = _a, { asChild, forTabId, children } = _b, rest = __objRest(_b, ["asChild", "forTabId", "children"]);
104
+ const context = useTabsContext();
105
+ const Component = asChild ? import_react_slot.Slot : "div";
106
+ if (context.activeTabId === forTabId) {
107
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, __spreadProps(__spreadValues({}, rest), { ref, children }));
108
+ }
109
+ return null;
110
+ }
111
+ );
112
+ TabsContent.displayName = "Tabs.Content";
99
113
 
100
114
  // src/tabs/tabs-list.tsx
101
115
  var import_react4 = require("react");
@@ -245,38 +259,21 @@ var TabsTab = (0, import_react4.forwardRef)(
245
259
  );
246
260
  TabsTab.displayName = "Tabs.Tab";
247
261
 
248
- // src/tabs/tabs-content.tsx
249
- var import_react5 = require("react");
250
- var import_typed_classname3 = require("@postenbring/hedwig-css/typed-classname");
251
- var import_react_slot2 = require("@radix-ui/react-slot");
262
+ // src/tabs/tabs.tsx
252
263
  var import_jsx_runtime3 = require("react/jsx-runtime");
253
- var TabsContents = (0, import_react5.forwardRef)(
264
+ var Tabs = (0, import_react5.forwardRef)(
254
265
  (_a, ref) => {
255
- var _b = _a, { asChild, children } = _b, rest = __objRest(_b, ["asChild", "children"]);
256
- const Component = asChild ? import_react_slot2.Slot : "div";
257
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Component, __spreadProps(__spreadValues({ ref, className: (0, import_typed_classname3.clsx)("hds-tabs__contents") }, rest), { children }));
258
- }
259
- );
260
- TabsContents.displayName = "Tabs.Contents";
261
- var TabsContent = (0, import_react5.forwardRef)(
262
- (_a, ref) => {
263
- var _b = _a, { asChild, forTabId, children } = _b, rest = __objRest(_b, ["asChild", "forTabId", "children"]);
264
- const context = useTabsContext();
266
+ var _b = _a, { asChild, defaultTab, children } = _b, rest = __objRest(_b, ["asChild", "defaultTab", "children"]);
267
+ const [activeTabId, setActiveTabId] = (0, import_react5.useState)(defaultTab);
265
268
  const Component = asChild ? import_react_slot2.Slot : "div";
266
- if (context.activeTabId === forTabId) {
267
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Component, __spreadProps(__spreadValues({}, rest), { ref, children }));
268
- }
269
- return null;
269
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Component, __spreadProps(__spreadValues({ className: (0, import_typed_classname3.clsx)("hds-tabs"), ref }, rest), { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TabsContext.Provider, { value: { activeTabId, toggleActiveTabId: setActiveTabId }, children }) }));
270
270
  }
271
271
  );
272
- TabsContent.displayName = "Tabs.Content";
273
-
274
- // src/tabs/index.tsx
275
- var TabsComponent = Tabs;
276
- TabsComponent.List = TabsList;
277
- TabsComponent.Tab = TabsTab;
278
- TabsComponent.Contents = TabsContents;
279
- TabsComponent.Content = TabsContent;
272
+ Tabs.displayName = "Tabs";
273
+ Tabs.List = TabsList;
274
+ Tabs.Tab = TabsTab;
275
+ Tabs.Contents = TabsContents;
276
+ Tabs.Content = TabsContent;
280
277
  // Annotate the CommonJS export names for ESM import in node:
281
278
  0 && (module.exports = {
282
279
  Tabs,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tabs/index.tsx","../../src/tabs/tabs.tsx","../../src/tabs/context.ts","../../src/tabs/tabs-list.tsx","../../src/utils.ts","../../src/tabs/tabs-content.tsx"],"sourcesContent":["import { Tabs } from \"./tabs\";\nimport { TabsList, TabsTab } from \"./tabs-list\";\nimport { TabsContents, TabsContent } from \"./tabs-content\";\n\nconst TabsComponent = Tabs as typeof Tabs & {\n List: typeof TabsList;\n Tab: typeof TabsTab;\n Contents: typeof TabsContents;\n Content: typeof TabsContent;\n};\nTabsComponent.List = TabsList;\nTabsComponent.Tab = TabsTab;\nTabsComponent.Contents = TabsContents;\nTabsComponent.Content = TabsContent;\n\nexport { TabsComponent as Tabs, TabsList, TabsTab, TabsContents, TabsContent };\n\nexport type * from \"./tabs\";\nexport type * from \"./tabs-list\";\nexport type * from \"./tabs-content\";\n","import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef, useState } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { TabsContext } from \"./context\";\nimport type { TabsContentsProps } from \"./tabs-content\";\nimport type { TabsListProps } from \"./tabs-list\";\n\nexport interface TabsProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsListProps | TabsContentsProps>[] | ReactElement;\n\n /**\n * Define which tab to use as default. Must be one of the <Tab/>s identifier.\n */\n defaultTab: string;\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 Tabs = forwardRef<HTMLDivElement, TabsProps>(\n ({ asChild, defaultTab, children, ...rest }, ref) => {\n const [activeTabId, setActiveTabId] = useState<string>(defaultTab);\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(\"hds-tabs\")} ref={ref} {...rest}>\n <TabsContext.Provider value={{ activeTabId, toggleActiveTabId: setActiveTabId }}>\n {children}\n </TabsContext.Provider>\n </Component>\n );\n },\n);\nTabs.displayName = \"Tabs\";\n","import { createContext, useContext } from \"react\";\n\nexport interface TabsContextProps {\n activeTabId: string;\n toggleActiveTabId: (tabId: string) => void;\n}\n\nexport const TabsContext = createContext<TabsContextProps | null>(null);\n\nexport function useTabsContext() {\n const context = useContext(TabsContext);\n if (!context) {\n throw new Error(\n \"Tabs context required. Did you use `<Tabs.List />`, `<Tabs.Tab />`, or `<Tabs.Content />` outside of <Tabs/>?\",\n );\n }\n return context;\n}\n","import type { HTMLAttributes, ReactElement, MouseEvent } from \"react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { useResize, useHydrated, useMergeRefs } from \"../utils\";\nimport { useTabsContext } from \"./context\";\n\nexport interface TabsListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsTabProps> | ReactElement<TabsTabProps>[];\n\n /**\n * Direction of the tabs. Can either be vertical or horizontal.\n * Horizontal breaks on window width with fallback back to vertical\n *\n * @default \"horizontal\"\n */\n direction?: \"vertical\" | \"horizontal\";\n}\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>(\n ({ children, direction = \"horizontal\", className, ...rest }, ref) => {\n const { activeTabId } = useTabsContext();\n const tabsListRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs([tabsListRef, ref]);\n const { width: tabsWidth } = useResize(tabsListRef);\n\n const isClientSide = useHydrated();\n const { innerWidth } = isClientSide ? window : { innerWidth: 1000 };\n const wideEnough = innerWidth >= tabsWidth;\n\n const previousTabId = useRef(activeTabId);\n\n // Marker animation\n useEffect(() => {\n const tabList = tabsListRef.current;\n const activeTab = tabList?.querySelector(`[data-tabid=\"${activeTabId}\"]`);\n if (!activeTab || !tabList) return;\n\n const { offsetHeight: containerHeight, offsetWidth: containerWidth } = tabList;\n const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = activeTab as HTMLElement;\n\n // Calculate the height and width of the marker relative to the container\n const height = offsetHeight / containerHeight;\n const width = offsetWidth / containerWidth;\n\n // NOTE: Doing a DOM manipulation here to set the CSS variables for the marker\n // Not really the react idomatic way, but as long as it works we are able to skip some intermidiate `useState`\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-height\", String(height));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-width\", String(width));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-top\", `${offsetTop}px`);\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-left\", `${offsetLeft}px`);\n\n // Start with border fallback, then switch to the animated marker when the user changes tabs\n // This way the marker is placed immediately to the default tab, then animates smoothly to the next when selected\n if (previousTabId.current !== activeTabId) {\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-animated-color\",\n \"var(--_hds-tabs-marker-color)\",\n );\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-border-fallback-color\",\n \"transparent\",\n );\n }\n previousTabId.current = activeTabId;\n }, [activeTabId, innerWidth]);\n\n return (\n <div\n className={clsx(\n \"hds-tabs__list\",\n direction === \"horizontal\"\n ? {\n \"hds-tabs__list--horizontal\": wideEnough,\n \"hds-tabs__list--vertical\": !wideEnough,\n }\n : {\n \"hds-tabs__list--vertical\": true,\n },\n className as undefined,\n )}\n ref={mergedRef}\n role=\"tablist\"\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\nTabsList.displayName = \"Tabs.List\";\n\nexport interface TabsTabProps extends HTMLAttributes<HTMLButtonElement> {\n children: ReactElement<HTMLElement> | string;\n\n /**\n * Identifier for the tab\n */\n tabId: string;\n}\n\nexport const TabsTab = forwardRef<HTMLButtonElement, TabsTabProps>(\n ({ children, tabId, className, onClick, ...rest }, ref) => {\n const context = useTabsContext();\n\n const toggleTab = (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n context.toggleActiveTabId(tabId);\n onClick?.(e);\n };\n return (\n <button\n className={clsx(\n \"hds-tabs__tab\",\n { \"hds-tabs__tab--active\": context.activeTabId === tabId },\n className as undefined,\n )}\n data-tabid={tabId}\n onClick={toggleTab}\n ref={ref}\n type=\"button\"\n role=\"tab\"\n {...rest}\n >\n {children}\n </button>\n );\n },\n);\nTabsTab.displayName = \"Tabs.Tab\";\n","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 type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useTabsContext } from \"./context\";\n\nexport interface TabsContentsProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsContentProps> | ReactElement<TabsContentProps>[];\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 TabsContents = forwardRef<HTMLDivElement, TabsContentsProps>(\n ({ asChild, children, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component ref={ref} className={clsx(\"hds-tabs__contents\")} {...rest}>\n {children}\n </Component>\n );\n },\n);\nTabsContents.displayName = \"Tabs.Contents\";\n\nexport interface TabsContentProps extends HTMLAttributes<HTMLElement> {\n children: ReactElement<HTMLElement> | ReactElement<HTMLElement>[] | string;\n\n /**\n * Content for the referenced tabId\n */\n forTabId: string;\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 TabsContent = forwardRef<HTMLDivElement, TabsContentProps>(\n ({ asChild, forTabId, children, ...rest }, ref) => {\n const context = useTabsContext();\n const Component = asChild ? Slot : \"div\";\n\n if (context.activeTabId === forTabId) {\n return (\n <Component {...rest} ref={ref}>\n {children}\n </Component>\n );\n }\n return null;\n },\n);\n\nTabsContent.displayName = \"Tabs.Content\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,IAAAA,gBAAqC;AACrC,6BAAqB;AACrB,wBAAqB;;;ACHrB,mBAA0C;AAOnC,IAAM,kBAAc,4BAAuC,IAAI;AAE/D,SAAS,iBAAiB;AAC/B,QAAM,cAAU,yBAAW,WAAW;AACtC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;;;ADaQ;AAND,IAAM,WAAO;AAAA,EAClB,CAAC,IAA4C,QAAQ;AAApD,iBAAE,WAAS,YAAY,SAzB1B,IAyBG,IAAoC,iBAApC,IAAoC,CAAlC,WAAS,cAAY;AACtB,UAAM,CAAC,aAAa,cAAc,QAAI,wBAAiB,UAAU;AACjE,UAAM,YAAY,UAAU,yBAAO;AACnC,WACE,4CAAC,0CAAU,eAAW,6BAAK,UAAU,GAAG,OAAc,OAArD,EACC,sDAAC,YAAY,UAAZ,EAAqB,OAAO,EAAE,aAAa,mBAAmB,eAAe,GAC3E,UACH,IACF;AAAA,EAEJ;AACF;AACA,KAAK,cAAc;;;AEpCnB,IAAAC,gBAA8C;AAC9C,IAAAC,0BAAqB;;;ACFrB,YAAuB;AACvB,IAAAC,gBAAiD;AAM1C,SAAS,aACd,MACoC;AACpC,SAAa,cAAQ,MAAM;AACzB,QAAI,KAAK,MAAM,CAAC,QAAQ,QAAQ,IAAI,GAAG;AACrC,aAAO;AAAA,IACT;AAEA,WAAO,CAAC,UAAU;AAChB,WAAK,QAAQ,CAAC,QAAQ;AACpB,YAAI,OAAO,QAAQ,YAAY;AAC7B,cAAI,KAAK;AAAA,QACX,WAAW,QAAQ,MAAM;AACvB,UAAC,IAAgD,UAAU;AAAA,QAC7D;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EAEF,GAAG,IAAI;AACT;AAEO,SAAS,UACd,KACmC;AACnC,QAAM,CAAC,OAAO,QAAQ,QAAI,wBAAiB,CAAC;AAC5C,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAAiB,CAAC;AAC9C,QAAM,mBAAe,2BAAY,MAAM;AAjCzC;AAkCI,SAAI,2BAAK,aAAY,MAAM;AACzB,gBAAS,sCAAK,YAAL,mBAAc,gBAAd,YAA6B,CAAC;AACvC,iBAAU,sCAAK,YAAL,mBAAc,iBAAd,YAA8B,CAAC;AAAA,IAC3C;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AACR,+BAAU,MAAM;AACd,WAAO,iBAAiB,QAAQ,YAAY;AAC5C,WAAO,iBAAiB,UAAU,YAAY;AAC9C,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,YAAY;AAC/C,aAAO,oBAAoB,UAAU,YAAY;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,KAAK,YAAY,CAAC;AACtB,+BAAU,MAAM;AACd,iBAAa;AAAA,EAEf,GAAG,CAAC,CAAC;AACL,SAAO,EAAE,OAAO,OAAO;AACzB;AAEA,SAAS,YAAY;AAEnB,SAAO,MAAM;AAAA,EAAC;AAChB;AAEO,SAAS,cAAc;AAC5B,SAAa;AAAA,IACX;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;;;ADEM,IAAAC,sBAAA;AAjDC,IAAM,eAAW;AAAA,EACtB,CAAC,IAA4D,QAAQ;AAApE,iBAAE,YAAU,YAAY,cAAc,UAnBzC,IAmBG,IAAoD,iBAApD,IAAoD,CAAlD,YAAU,aAA0B;AACrC,UAAM,EAAE,YAAY,IAAI,eAAe;AACvC,UAAM,kBAAc,sBAAuB,IAAI;AAC/C,UAAM,YAAY,aAAa,CAAC,aAAa,GAAG,CAAC;AACjD,UAAM,EAAE,OAAO,UAAU,IAAI,UAAU,WAAW;AAElD,UAAM,eAAe,YAAY;AACjC,UAAM,EAAE,WAAW,IAAI,eAAe,SAAS,EAAE,YAAY,IAAK;AAClE,UAAM,aAAa,cAAc;AAEjC,UAAM,oBAAgB,sBAAO,WAAW;AAGxC,iCAAU,MAAM;AACd,YAAM,UAAU,YAAY;AAC5B,YAAM,YAAY,mCAAS,cAAc,gBAAgB,WAAW;AACpE,UAAI,CAAC,aAAa,CAAC;AAAS;AAE5B,YAAM,EAAE,cAAc,iBAAiB,aAAa,eAAe,IAAI;AACvE,YAAM,EAAE,cAAc,aAAa,WAAW,WAAW,IAAI;AAG7D,YAAM,SAAS,eAAe;AAC9B,YAAM,QAAQ,cAAc;AAI5B,kBAAY,QAAQ,MAAM,YAAY,6BAA6B,OAAO,MAAM,CAAC;AACjF,kBAAY,QAAQ,MAAM,YAAY,4BAA4B,OAAO,KAAK,CAAC;AAC/E,kBAAY,QAAQ,MAAM,YAAY,0BAA0B,GAAG,SAAS,IAAI;AAChF,kBAAY,QAAQ,MAAM,YAAY,2BAA2B,GAAG,UAAU,IAAI;AAIlF,UAAI,cAAc,YAAY,aAAa;AACzC,oBAAY,QAAQ,MAAM;AAAA,UACxB;AAAA,UACA;AAAA,QACF;AACA,oBAAY,QAAQ,MAAM;AAAA,UACxB;AAAA,UACA;AAAA,QACF;AAAA,MACF;AACA,oBAAc,UAAU;AAAA,IAC1B,GAAG,CAAC,aAAa,UAAU,CAAC;AAE5B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,cAAc,eACV;AAAA,YACE,8BAA8B;AAAA,YAC9B,4BAA4B,CAAC;AAAA,UAC/B,IACA;AAAA,YACE,4BAA4B;AAAA,UAC9B;AAAA,UACJ;AAAA,QACF;AAAA,QACA,KAAK;AAAA,QACL,MAAK;AAAA,SACD,OAfL;AAAA,QAiBE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;AAWhB,IAAM,cAAU;AAAA,EACrB,CAAC,IAAkD,QAAQ;AAA1D,iBAAE,YAAU,OAAO,WAAW,QArGjC,IAqGG,IAA0C,iBAA1C,IAA0C,CAAxC,YAAU,SAAO,aAAW;AAC7B,UAAM,UAAU,eAAe;AAE/B,UAAM,YAAY,CAAC,MAAqC;AACtD,QAAE,eAAe;AACjB,cAAQ,kBAAkB,KAAK;AAC/B,yCAAU;AAAA,IACZ;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,EAAE,yBAAyB,QAAQ,gBAAgB,MAAM;AAAA,UACzD;AAAA,QACF;AAAA,QACA,cAAY;AAAA,QACZ,SAAS;AAAA,QACT;AAAA,QACA,MAAK;AAAA,QACL,MAAK;AAAA,SACD,OAXL;AAAA,QAaE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,QAAQ,cAAc;;;AE/HtB,IAAAC,gBAA2B;AAC3B,IAAAC,0BAAqB;AACrB,IAAAC,qBAAqB;AAkBf,IAAAC,sBAAA;AAJC,IAAM,mBAAe;AAAA,EAC1B,CAAC,IAAgC,QAAQ;AAAxC,iBAAE,WAAS,SAlBd,IAkBG,IAAwB,iBAAxB,IAAwB,CAAtB,WAAS;AACV,UAAM,YAAY,UAAU,0BAAO;AACnC,WACE,6CAAC,0CAAU,KAAU,eAAW,8BAAK,oBAAoB,KAAO,OAA/D,EACE,WACH;AAAA,EAEJ;AACF;AACA,aAAa,cAAc;AAkBpB,IAAM,kBAAc;AAAA,EACzB,CAAC,IAA0C,QAAQ;AAAlD,iBAAE,WAAS,UAAU,SA9CxB,IA8CG,IAAkC,iBAAlC,IAAkC,CAAhC,WAAS,YAAU;AACpB,UAAM,UAAU,eAAe;AAC/B,UAAM,YAAY,UAAU,0BAAO;AAEnC,QAAI,QAAQ,gBAAgB,UAAU;AACpC,aACE,6CAAC,4CAAc,OAAd,EAAoB,KAClB,WACH;AAAA,IAEJ;AACA,WAAO;AAAA,EACT;AACF;AAEA,YAAY,cAAc;;;ALzD1B,IAAM,gBAAgB;AAMtB,cAAc,OAAO;AACrB,cAAc,MAAM;AACpB,cAAc,WAAW;AACzB,cAAc,UAAU;","names":["import_react","import_react","import_typed_classname","import_react","import_jsx_runtime","import_react","import_typed_classname","import_react_slot","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../src/tabs/index.tsx","../../src/tabs/tabs.tsx","../../src/tabs/context.ts","../../src/tabs/tabs-content.tsx","../../src/tabs/tabs-list.tsx","../../src/utils.ts"],"sourcesContent":["export { Tabs } from \"./tabs\";\nexport { TabsList, TabsTab } from \"./tabs-list\";\nexport { TabsContents, TabsContent } from \"./tabs-content\";\n\nexport type * from \"./tabs\";\nexport type * from \"./tabs-list\";\nexport type * from \"./tabs-content\";\n","import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef, useState } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { TabsContext } from \"./context\";\nimport { TabsContent, TabsContents, type TabsContentsProps } from \"./tabs-content\";\nimport { TabsList, TabsTab, type TabsListProps } from \"./tabs-list\";\n\nexport interface TabsProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsListProps | TabsContentsProps>[] | ReactElement;\n\n /**\n * Define which tab to use as default. Must be one of the <Tab/>s identifier.\n */\n defaultTab: string;\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 Tabs = forwardRef<HTMLDivElement, TabsProps>(\n ({ asChild, defaultTab, children, ...rest }, ref) => {\n const [activeTabId, setActiveTabId] = useState<string>(defaultTab);\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(\"hds-tabs\")} ref={ref} {...rest}>\n <TabsContext.Provider value={{ activeTabId, toggleActiveTabId: setActiveTabId }}>\n {children}\n </TabsContext.Provider>\n </Component>\n );\n },\n) as TabsType;\nTabs.displayName = \"Tabs\";\n\ntype TabsType = ReturnType<typeof forwardRef<HTMLDivElement, TabsProps>> & {\n List: typeof TabsList;\n Tab: typeof TabsTab;\n Contents: typeof TabsContents;\n Content: typeof TabsContent;\n};\n\nTabs.List = TabsList;\nTabs.Tab = TabsTab;\nTabs.Contents = TabsContents;\nTabs.Content = TabsContent;\n","import { createContext, useContext } from \"react\";\n\nexport interface TabsContextProps {\n activeTabId: string;\n toggleActiveTabId: (tabId: string) => void;\n}\n\nexport const TabsContext = createContext<TabsContextProps | null>(null);\n\nexport function useTabsContext() {\n const context = useContext(TabsContext);\n if (!context) {\n throw new Error(\n \"Tabs context required. Did you use `<Tabs.List />`, `<Tabs.Tab />`, or `<Tabs.Content />` outside of <Tabs/>?\",\n );\n }\n return context;\n}\n","import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { useTabsContext } from \"./context\";\n\nexport interface TabsContentsProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsContentProps> | ReactElement<TabsContentProps>[];\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 TabsContents = forwardRef<HTMLDivElement, TabsContentsProps>(\n ({ asChild, children, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component ref={ref} className={clsx(\"hds-tabs__contents\")} {...rest}>\n {children}\n </Component>\n );\n },\n);\nTabsContents.displayName = \"Tabs.Contents\";\n\nexport interface TabsContentProps extends HTMLAttributes<HTMLElement> {\n children: ReactElement<HTMLElement> | ReactElement<HTMLElement>[] | string;\n\n /**\n * Content for the referenced tabId\n */\n forTabId: string;\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 TabsContent = forwardRef<HTMLDivElement, TabsContentProps>(\n ({ asChild, forTabId, children, ...rest }, ref) => {\n const context = useTabsContext();\n const Component = asChild ? Slot : \"div\";\n\n if (context.activeTabId === forTabId) {\n return (\n <Component {...rest} ref={ref}>\n {children}\n </Component>\n );\n }\n return null;\n },\n);\n\nTabsContent.displayName = \"Tabs.Content\";\n","import type { HTMLAttributes, ReactElement, MouseEvent } from \"react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { useResize, useHydrated, useMergeRefs } from \"../utils\";\nimport { useTabsContext } from \"./context\";\n\nexport interface TabsListProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsTabProps> | ReactElement<TabsTabProps>[];\n\n /**\n * Direction of the tabs. Can either be vertical or horizontal.\n * Horizontal breaks on window width with fallback back to vertical\n *\n * @default \"horizontal\"\n */\n direction?: \"vertical\" | \"horizontal\";\n}\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>(\n ({ children, direction = \"horizontal\", className, ...rest }, ref) => {\n const { activeTabId } = useTabsContext();\n const tabsListRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergeRefs([tabsListRef, ref]);\n const { width: tabsWidth } = useResize(tabsListRef);\n\n const isClientSide = useHydrated();\n const { innerWidth } = isClientSide ? window : { innerWidth: 1000 };\n const wideEnough = innerWidth >= tabsWidth;\n\n const previousTabId = useRef(activeTabId);\n\n // Marker animation\n useEffect(() => {\n const tabList = tabsListRef.current;\n const activeTab = tabList?.querySelector(`[data-tabid=\"${activeTabId}\"]`);\n if (!activeTab || !tabList) return;\n\n const { offsetHeight: containerHeight, offsetWidth: containerWidth } = tabList;\n const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = activeTab as HTMLElement;\n\n // Calculate the height and width of the marker relative to the container\n const height = offsetHeight / containerHeight;\n const width = offsetWidth / containerWidth;\n\n // NOTE: Doing a DOM manipulation here to set the CSS variables for the marker\n // Not really the react idomatic way, but as long as it works we are able to skip some intermidiate `useState`\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-height\", String(height));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-width\", String(width));\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-top\", `${offsetTop}px`);\n tabsListRef.current.style.setProperty(\"--_hds-tabs-marker-left\", `${offsetLeft}px`);\n\n // Start with border fallback, then switch to the animated marker when the user changes tabs\n // This way the marker is placed immediately to the default tab, then animates smoothly to the next when selected\n if (previousTabId.current !== activeTabId) {\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-animated-color\",\n \"var(--_hds-tabs-marker-color)\",\n );\n tabsListRef.current.style.setProperty(\n \"--_hds-tabs-marker-border-fallback-color\",\n \"transparent\",\n );\n }\n previousTabId.current = activeTabId;\n }, [activeTabId, innerWidth]);\n\n return (\n <div\n className={clsx(\n \"hds-tabs__list\",\n direction === \"horizontal\"\n ? {\n \"hds-tabs__list--horizontal\": wideEnough,\n \"hds-tabs__list--vertical\": !wideEnough,\n }\n : {\n \"hds-tabs__list--vertical\": true,\n },\n className as undefined,\n )}\n ref={mergedRef}\n role=\"tablist\"\n {...rest}\n >\n {children}\n </div>\n );\n },\n);\nTabsList.displayName = \"Tabs.List\";\n\nexport interface TabsTabProps extends HTMLAttributes<HTMLButtonElement> {\n children: ReactElement<HTMLElement> | string;\n\n /**\n * Identifier for the tab\n */\n tabId: string;\n}\n\nexport const TabsTab = forwardRef<HTMLButtonElement, TabsTabProps>(\n ({ children, tabId, className, onClick, ...rest }, ref) => {\n const context = useTabsContext();\n\n const toggleTab = (e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n context.toggleActiveTabId(tabId);\n onClick?.(e);\n };\n return (\n <button\n className={clsx(\n \"hds-tabs__tab\",\n { \"hds-tabs__tab--active\": context.activeTabId === tabId },\n className as undefined,\n )}\n data-tabid={tabId}\n onClick={toggleTab}\n ref={ref}\n type=\"button\"\n role=\"tab\"\n {...rest}\n >\n {children}\n </button>\n );\n },\n);\nTabsTab.displayName = \"Tabs.Tab\";\n","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"],"mappings":"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","names":["import_react","import_typed_classname","import_react_slot","import_react","import_react","import_typed_classname","import_react","import_jsx_runtime","import_jsx_runtime"]}
@@ -1,11 +1,11 @@
1
+ import "../chunk-7YWW46R3.mjs";
1
2
  import {
2
- TabsComponent
3
- } from "../chunk-IJAX6APL.mjs";
3
+ Tabs
4
+ } from "../chunk-7UD72WOC.mjs";
4
5
  import {
5
6
  TabsList,
6
7
  TabsTab
7
8
  } from "../chunk-4WQWU5TL.mjs";
8
- import "../chunk-3MQKXNZ6.mjs";
9
9
  import {
10
10
  TabsContent,
11
11
  TabsContents
@@ -14,7 +14,7 @@ import "../chunk-KQITCS3U.mjs";
14
14
  import "../chunk-DEX36MFK.mjs";
15
15
  import "../chunk-R4SQKVDQ.mjs";
16
16
  export {
17
- TabsComponent as Tabs,
17
+ Tabs,
18
18
  TabsContent,
19
19
  TabsContents,
20
20
  TabsList,
@@ -1,4 +1,26 @@
1
- export { TabsContentsProps_alias_3 as TabsContentsProps } from '../_tsup-dts-rollup';
2
- export { TabsContents_alias_3 as TabsContents } from '../_tsup-dts-rollup';
3
- export { TabsContentProps_alias_3 as TabsContentProps } from '../_tsup-dts-rollup';
4
- export { TabsContent_alias_3 as TabsContent } from '../_tsup-dts-rollup';
1
+ import type { HTMLAttributes, ReactElement } from "react";
2
+ export interface TabsContentsProps extends HTMLAttributes<HTMLDivElement> {
3
+ children: ReactElement<TabsContentProps> | ReactElement<TabsContentProps>[];
4
+ /**
5
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
6
+ *
7
+ * @default false
8
+ */
9
+ asChild?: boolean;
10
+ }
11
+ export declare const TabsContents: import("react").ForwardRefExoticComponent<TabsContentsProps & import("react").RefAttributes<HTMLDivElement>>;
12
+ export interface TabsContentProps extends HTMLAttributes<HTMLElement> {
13
+ children: ReactElement<HTMLElement> | ReactElement<HTMLElement>[] | string;
14
+ /**
15
+ * Content for the referenced tabId
16
+ */
17
+ forTabId: string;
18
+ /**
19
+ * Change the default rendered element for the one passed as a child, merging their props and behavior.
20
+ *
21
+ * @default false
22
+ */
23
+ asChild?: boolean;
24
+ }
25
+ export declare const TabsContent: import("react").ForwardRefExoticComponent<TabsContentProps & import("react").RefAttributes<HTMLDivElement>>;
26
+ //# sourceMappingURL=tabs-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs-content.d.ts","sourceRoot":"","sources":["../../src/tabs/tabs-content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAM1D,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACvE,QAAQ,EAAE,YAAY,CAAC,gBAAgB,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAE5E;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,8GASxB,CAAC;AAGF,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,WAAW,CAAC;IACnE,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,EAAE,GAAG,MAAM,CAAC;IAE3E;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,6GAcvB,CAAC"}
@@ -1,4 +1,21 @@
1
- export { TabsListProps_alias_3 as TabsListProps } from '../_tsup-dts-rollup';
2
- export { TabsList_alias_3 as TabsList } from '../_tsup-dts-rollup';
3
- export { TabsTabProps_alias_3 as TabsTabProps } from '../_tsup-dts-rollup';
4
- export { TabsTab_alias_3 as TabsTab } from '../_tsup-dts-rollup';
1
+ import type { HTMLAttributes, ReactElement } from "react";
2
+ export interface TabsListProps extends HTMLAttributes<HTMLDivElement> {
3
+ children: ReactElement<TabsTabProps> | ReactElement<TabsTabProps>[];
4
+ /**
5
+ * Direction of the tabs. Can either be vertical or horizontal.
6
+ * Horizontal breaks on window width with fallback back to vertical
7
+ *
8
+ * @default "horizontal"
9
+ */
10
+ direction?: "vertical" | "horizontal";
11
+ }
12
+ export declare const TabsList: import("react").ForwardRefExoticComponent<TabsListProps & import("react").RefAttributes<HTMLDivElement>>;
13
+ export interface TabsTabProps extends HTMLAttributes<HTMLButtonElement> {
14
+ children: ReactElement<HTMLElement> | string;
15
+ /**
16
+ * Identifier for the tab
17
+ */
18
+ tabId: string;
19
+ }
20
+ export declare const TabsTab: import("react").ForwardRefExoticComponent<TabsTabProps & import("react").RefAttributes<HTMLButtonElement>>;
21
+ //# sourceMappingURL=tabs-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs-list.d.ts","sourceRoot":"","sources":["../../src/tabs/tabs-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAc,MAAM,OAAO,CAAC;AAMtE,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACnE,QAAQ,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;IAEpE;;;;;OAKG;IACH,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;CACvC;AAED,eAAO,MAAM,QAAQ,0GAsEpB,CAAC;AAGF,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACrE,QAAQ,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;IAE7C;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,OAAO,4GA2BnB,CAAC"}