@postenbring/hedwig-react 0.0.64 → 0.0.66

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 (208) hide show
  1. package/dist/_tsup-dts-rollup.d.mts +301 -68
  2. package/dist/_tsup-dts-rollup.d.ts +301 -68
  3. package/dist/accordion/accordion-content.js +5 -9
  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.js +6 -9
  7. package/dist/accordion/accordion-header.js.map +1 -1
  8. package/dist/accordion/accordion-header.mjs +1 -1
  9. package/dist/accordion/accordion-item.js +2 -7
  10. package/dist/accordion/accordion-item.js.map +1 -1
  11. package/dist/accordion/accordion-item.mjs +1 -1
  12. package/dist/accordion/index.js +13 -25
  13. package/dist/accordion/index.js.map +1 -1
  14. package/dist/accordion/index.mjs +4 -4
  15. package/dist/chunk-27XJO7E4.mjs +51 -0
  16. package/dist/chunk-27XJO7E4.mjs.map +1 -0
  17. package/dist/{chunk-POJTVNEO.mjs → chunk-2ICZ3Q7N.mjs} +1 -1
  18. package/dist/chunk-2ICZ3Q7N.mjs.map +1 -0
  19. package/dist/{chunk-H3VGHTDC.mjs → chunk-2JH4FG63.mjs} +2 -2
  20. package/dist/chunk-2JH4FG63.mjs.map +1 -0
  21. package/dist/{chunk-SAGJ5W7M.mjs → chunk-62F4I3MQ.mjs} +3 -8
  22. package/dist/{chunk-SAGJ5W7M.mjs.map → chunk-62F4I3MQ.mjs.map} +1 -1
  23. package/dist/{chunk-V4NGUB4I.mjs → chunk-6NGF7FFY.mjs} +2 -2
  24. package/dist/chunk-6NGF7FFY.mjs.map +1 -0
  25. package/dist/{chunk-BYDSISQZ.mjs → chunk-A47QULAK.mjs} +2 -2
  26. package/dist/{chunk-BYDSISQZ.mjs.map → chunk-A47QULAK.mjs.map} +1 -1
  27. package/dist/chunk-BZRCDLEW.mjs +118 -0
  28. package/dist/chunk-BZRCDLEW.mjs.map +1 -0
  29. package/dist/chunk-CLXHNRAI.mjs +104 -0
  30. package/dist/chunk-CLXHNRAI.mjs.map +1 -0
  31. package/dist/{chunk-37WVYY6X.mjs → chunk-DM4PJFLG.mjs} +6 -3
  32. package/dist/chunk-DM4PJFLG.mjs.map +1 -0
  33. package/dist/{chunk-KRGKVH5J.mjs → chunk-GUB3UCXO.mjs} +6 -10
  34. package/dist/chunk-GUB3UCXO.mjs.map +1 -0
  35. package/dist/{chunk-WGVZWX5L.mjs → chunk-HMB4TY2F.mjs} +14 -4
  36. package/dist/chunk-HMB4TY2F.mjs.map +1 -0
  37. package/dist/{chunk-5MDJP43L.mjs → chunk-IFGQR4J6.mjs} +10 -10
  38. package/dist/chunk-IFGQR4J6.mjs.map +1 -0
  39. package/dist/chunk-KQITCS3U.mjs +18 -0
  40. package/dist/chunk-KQITCS3U.mjs.map +1 -0
  41. package/dist/chunk-L4GQJETB.mjs +1 -0
  42. package/dist/{chunk-QSYU64U4.mjs → chunk-MRCE2Q7A.mjs} +2 -2
  43. package/dist/chunk-NE6W2PCD.mjs +9 -0
  44. package/dist/chunk-NE6W2PCD.mjs.map +1 -0
  45. package/dist/chunk-RHCMBJOT.mjs +76 -0
  46. package/dist/chunk-RHCMBJOT.mjs.map +1 -0
  47. package/dist/chunk-RXIP2JTE.mjs +19 -0
  48. package/dist/chunk-RXIP2JTE.mjs.map +1 -0
  49. package/dist/{chunk-EJADADIY.mjs → chunk-UWTGHSWT.mjs} +6 -9
  50. package/dist/chunk-UWTGHSWT.mjs.map +1 -0
  51. package/dist/{chunk-2E6XPNPX.mjs → chunk-X46LM2QH.mjs} +9 -6
  52. package/dist/chunk-X46LM2QH.mjs.map +1 -0
  53. package/dist/{chunk-DJRMXOCP.mjs → chunk-XIHKASNB.mjs} +4 -4
  54. package/dist/{chunk-MBBFU4IR.mjs → chunk-XVFQWVHO.mjs} +3 -9
  55. package/dist/{chunk-MBBFU4IR.mjs.map → chunk-XVFQWVHO.mjs.map} +1 -1
  56. package/dist/chunk-YWNVB7TY.mjs +1 -0
  57. package/dist/{chunk-FT5CX2W5.mjs → chunk-YXHXRUFX.mjs} +7 -10
  58. package/dist/chunk-YXHXRUFX.mjs.map +1 -0
  59. package/dist/chunk-ZTYEOZLK.mjs +18 -0
  60. package/dist/chunk-ZTYEOZLK.mjs.map +1 -0
  61. package/dist/footer/footer.d.mts +7 -0
  62. package/dist/footer/footer.d.ts +7 -0
  63. package/dist/footer/footer.js +401 -0
  64. package/dist/footer/footer.js.map +1 -0
  65. package/dist/footer/footer.mjs +26 -0
  66. package/dist/footer/footer.mjs.map +1 -0
  67. package/dist/footer/index.d.mts +7 -0
  68. package/dist/footer/index.d.ts +7 -0
  69. package/dist/footer/index.js +402 -0
  70. package/dist/footer/index.js.map +1 -0
  71. package/dist/footer/index.mjs +19 -0
  72. package/dist/footer/index.mjs.map +1 -0
  73. package/dist/form/checkbox/checkbox.js +122 -24
  74. package/dist/form/checkbox/checkbox.js.map +1 -1
  75. package/dist/form/checkbox/checkbox.mjs +5 -1
  76. package/dist/form/checkbox/index.js +122 -24
  77. package/dist/form/checkbox/index.js.map +1 -1
  78. package/dist/form/checkbox/index.mjs +5 -1
  79. package/dist/form/fieldset/fieldset.d.mts +1 -0
  80. package/dist/form/fieldset/fieldset.d.ts +1 -0
  81. package/dist/form/fieldset/fieldset.js +7 -3
  82. package/dist/form/fieldset/fieldset.js.map +1 -1
  83. package/dist/form/fieldset/fieldset.mjs +5 -3
  84. package/dist/form/fieldset/index.d.mts +1 -0
  85. package/dist/form/fieldset/index.d.ts +1 -0
  86. package/dist/form/fieldset/index.js +7 -3
  87. package/dist/form/fieldset/index.js.map +1 -1
  88. package/dist/form/fieldset/index.mjs +5 -3
  89. package/dist/form/index.d.mts +2 -1
  90. package/dist/form/index.d.ts +2 -1
  91. package/dist/form/index.js +68 -27
  92. package/dist/form/index.js.map +1 -1
  93. package/dist/form/index.mjs +20 -16
  94. package/dist/form/radiobutton/index.d.mts +1 -1
  95. package/dist/form/radiobutton/index.d.ts +1 -1
  96. package/dist/form/radiobutton/index.js +17 -8
  97. package/dist/form/radiobutton/index.js.map +1 -1
  98. package/dist/form/radiobutton/index.mjs +7 -5
  99. package/dist/form/radiobutton/radiobutton.js +13 -6
  100. package/dist/form/radiobutton/radiobutton.js.map +1 -1
  101. package/dist/form/radiobutton/radiobutton.mjs +3 -3
  102. package/dist/form/radiobutton/radiogroup.js +2 -1
  103. package/dist/form/radiobutton/radiogroup.js.map +1 -1
  104. package/dist/form/radiobutton/radiogroup.mjs +2 -2
  105. package/dist/index-no-css.d.mts +20 -7
  106. package/dist/index-no-css.d.ts +20 -7
  107. package/dist/index-no-css.js +537 -310
  108. package/dist/index-no-css.js.map +1 -1
  109. package/dist/index-no-css.mjs +100 -68
  110. package/dist/index.d.mts +20 -7
  111. package/dist/index.d.ts +20 -7
  112. package/dist/index.js +537 -310
  113. package/dist/index.js.map +1 -1
  114. package/dist/index.mjs +100 -68
  115. package/dist/index.mjs.map +1 -1
  116. package/dist/layout/index.d.mts +5 -1
  117. package/dist/layout/index.d.ts +5 -1
  118. package/dist/layout/index.js +62 -2
  119. package/dist/layout/index.js.map +1 -1
  120. package/dist/layout/index.mjs +12 -2
  121. package/dist/layout/responsive.d.mts +2 -0
  122. package/dist/layout/responsive.d.ts +2 -0
  123. package/dist/layout/responsive.js +42 -0
  124. package/dist/layout/responsive.js.map +1 -0
  125. package/dist/layout/responsive.mjs +8 -0
  126. package/dist/layout/responsive.mjs.map +1 -0
  127. package/dist/layout/spacing.d.mts +3 -0
  128. package/dist/layout/spacing.d.ts +3 -0
  129. package/dist/layout/spacing.js +33 -0
  130. package/dist/layout/spacing.js.map +1 -0
  131. package/dist/layout/spacing.mjs +8 -0
  132. package/dist/layout/spacing.mjs.map +1 -0
  133. package/dist/layout/stack/index.d.mts +4 -0
  134. package/dist/layout/stack/index.d.ts +4 -0
  135. package/dist/layout/stack/index.js +117 -0
  136. package/dist/layout/stack/index.js.map +1 -0
  137. package/dist/layout/stack/index.mjs +14 -0
  138. package/dist/layout/stack/index.mjs.map +1 -0
  139. package/dist/layout/stack/stack.d.mts +4 -0
  140. package/dist/layout/stack/stack.d.ts +4 -0
  141. package/dist/layout/stack/stack.js +115 -0
  142. package/dist/layout/stack/stack.js.map +1 -0
  143. package/dist/layout/stack/stack.mjs +14 -0
  144. package/dist/layout/stack/stack.mjs.map +1 -0
  145. package/dist/modal/index.js.map +1 -1
  146. package/dist/modal/index.mjs +2 -2
  147. package/dist/modal/modal.js.map +1 -1
  148. package/dist/modal/modal.mjs +1 -1
  149. package/dist/navbar/index.d.mts +1 -0
  150. package/dist/navbar/index.d.ts +1 -0
  151. package/dist/navbar/index.js +11 -7
  152. package/dist/navbar/index.js.map +1 -1
  153. package/dist/navbar/index.mjs +7 -4
  154. package/dist/navbar/navbar-expandable-menu.d.mts +1 -0
  155. package/dist/navbar/navbar-expandable-menu.d.ts +1 -0
  156. package/dist/navbar/navbar-expandable-menu.js +11 -7
  157. package/dist/navbar/navbar-expandable-menu.js.map +1 -1
  158. package/dist/navbar/navbar-expandable-menu.mjs +5 -3
  159. package/dist/skeleton/index.js +1 -1
  160. package/dist/skeleton/index.js.map +1 -1
  161. package/dist/skeleton/index.mjs +1 -1
  162. package/dist/skeleton/skeleton.js +1 -1
  163. package/dist/skeleton/skeleton.js.map +1 -1
  164. package/dist/skeleton/skeleton.mjs +1 -1
  165. package/dist/tabs/context.d.mts +1 -0
  166. package/dist/tabs/context.d.ts +1 -0
  167. package/dist/tabs/context.js +13 -8
  168. package/dist/tabs/context.js.map +1 -1
  169. package/dist/tabs/context.mjs +5 -3
  170. package/dist/tabs/index.d.mts +5 -5
  171. package/dist/tabs/index.d.ts +5 -5
  172. package/dist/tabs/index.js +59 -33
  173. package/dist/tabs/index.js.map +1 -1
  174. package/dist/tabs/index.mjs +16 -6
  175. package/dist/tabs/tabs-content.js +11 -11
  176. package/dist/tabs/tabs-content.js.map +1 -1
  177. package/dist/tabs/tabs-content.mjs +2 -2
  178. package/dist/tabs/tabs-list.d.mts +2 -2
  179. package/dist/tabs/tabs-list.d.ts +2 -2
  180. package/dist/tabs/tabs-list.js +49 -22
  181. package/dist/tabs/tabs-list.js.map +1 -1
  182. package/dist/tabs/tabs-list.mjs +6 -6
  183. package/dist/tabs/tabs.js +2 -14
  184. package/dist/tabs/tabs.js.map +1 -1
  185. package/dist/tabs/tabs.mjs +2 -2
  186. package/package.json +5 -5
  187. package/dist/chunk-2E6XPNPX.mjs.map +0 -1
  188. package/dist/chunk-33JD5XDW.mjs +0 -14
  189. package/dist/chunk-33JD5XDW.mjs.map +0 -1
  190. package/dist/chunk-37WVYY6X.mjs.map +0 -1
  191. package/dist/chunk-5MDJP43L.mjs.map +0 -1
  192. package/dist/chunk-EJADADIY.mjs.map +0 -1
  193. package/dist/chunk-FT5CX2W5.mjs.map +0 -1
  194. package/dist/chunk-H3VGHTDC.mjs.map +0 -1
  195. package/dist/chunk-H4GIHEB2.mjs +0 -1
  196. package/dist/chunk-KRGKVH5J.mjs.map +0 -1
  197. package/dist/chunk-OIQUYB26.mjs +0 -1
  198. package/dist/chunk-POJTVNEO.mjs.map +0 -1
  199. package/dist/chunk-PXHYOQPB.mjs +0 -42
  200. package/dist/chunk-PXHYOQPB.mjs.map +0 -1
  201. package/dist/chunk-V4NGUB4I.mjs.map +0 -1
  202. package/dist/chunk-WGVZWX5L.mjs.map +0 -1
  203. package/dist/chunk-XVZ44NGD.mjs +0 -80
  204. package/dist/chunk-XVZ44NGD.mjs.map +0 -1
  205. /package/dist/{chunk-H4GIHEB2.mjs.map → chunk-L4GQJETB.mjs.map} +0 -0
  206. /package/dist/{chunk-QSYU64U4.mjs.map → chunk-MRCE2Q7A.mjs.map} +0 -0
  207. /package/dist/{chunk-DJRMXOCP.mjs.map → chunk-XIHKASNB.mjs.map} +0 -0
  208. /package/dist/{chunk-OIQUYB26.mjs.map → chunk-YWNVB7TY.mjs.map} +0 -0
@@ -0,0 +1,104 @@
1
+ import {
2
+ useTabsContext
3
+ } from "./chunk-KQITCS3U.mjs";
4
+ import {
5
+ useResize
6
+ } from "./chunk-WCA2WPFS.mjs";
7
+ import {
8
+ __objRest,
9
+ __spreadProps,
10
+ __spreadValues
11
+ } from "./chunk-R4SQKVDQ.mjs";
12
+
13
+ // src/tabs/tabs-list.tsx
14
+ import { forwardRef, useEffect, useRef } from "react";
15
+ import { clsx } from "@postenbring/hedwig-css/typed-classname";
16
+ import { jsx } from "react/jsx-runtime";
17
+ function TabsList(_a) {
18
+ var _b = _a, { children, direction = "horizontal", className } = _b, rest = __objRest(_b, ["children", "direction", "className"]);
19
+ const { activeTabId } = useTabsContext();
20
+ const tabsListRef = useRef(null);
21
+ const { width: tabsWidth } = useResize(tabsListRef);
22
+ const { innerWidth } = window;
23
+ const wideEnough = innerWidth >= tabsWidth;
24
+ const previousTabId = useRef(activeTabId);
25
+ useEffect(() => {
26
+ const tabList = tabsListRef.current;
27
+ const activeTab = tabList == null ? void 0 : tabList.querySelector(`[data-tabid="${activeTabId}"]`);
28
+ if (!activeTab || !tabList)
29
+ return;
30
+ const { offsetHeight: containerHeight, offsetWidth: containerWidth } = tabList;
31
+ const { offsetHeight, offsetWidth, offsetTop, offsetLeft } = activeTab;
32
+ const height = offsetHeight / containerHeight;
33
+ const width = offsetWidth / containerWidth;
34
+ tabsListRef.current.style.setProperty("--_hds-tabs-marker-height", String(height));
35
+ tabsListRef.current.style.setProperty("--_hds-tabs-marker-width", String(width));
36
+ tabsListRef.current.style.setProperty("--_hds-tabs-marker-top", `${offsetTop}px`);
37
+ tabsListRef.current.style.setProperty("--_hds-tabs-marker-left", `${offsetLeft}px`);
38
+ if (previousTabId.current !== activeTabId) {
39
+ tabsListRef.current.style.setProperty(
40
+ "--_hds-tabs-marker-animated-color",
41
+ "var(--_hds-tabs-marker-color)"
42
+ );
43
+ tabsListRef.current.style.setProperty(
44
+ "--_hds-tabs-marker-border-fallback-color",
45
+ "transparent"
46
+ );
47
+ }
48
+ previousTabId.current = activeTabId;
49
+ }, [activeTabId, innerWidth]);
50
+ return /* @__PURE__ */ jsx(
51
+ "div",
52
+ __spreadProps(__spreadValues({
53
+ className: clsx(
54
+ "hds-tabs__list",
55
+ direction === "horizontal" ? {
56
+ "hds-tabs__list--horizontal": wideEnough,
57
+ "hds-tabs__list--vertical": !wideEnough
58
+ } : {
59
+ "hds-tabs__list--vertical": true
60
+ },
61
+ className
62
+ ),
63
+ ref: tabsListRef,
64
+ role: "tablist"
65
+ }, rest), {
66
+ children
67
+ })
68
+ );
69
+ }
70
+ TabsList.displayName = "Tabs.List";
71
+ var TabsTab = forwardRef(
72
+ (_a, ref) => {
73
+ var _b = _a, { as: Component = "button", children, tabId, className, onClick } = _b, rest = __objRest(_b, ["as", "children", "tabId", "className", "onClick"]);
74
+ const context = useTabsContext();
75
+ const toggleTab = (e) => {
76
+ e.preventDefault();
77
+ context.toggleActiveTabId(tabId);
78
+ onClick && onClick(e);
79
+ };
80
+ return /* @__PURE__ */ jsx(
81
+ Component,
82
+ __spreadProps(__spreadValues({
83
+ className: clsx(
84
+ "hds-tabs__tab",
85
+ { "hds-tabs__tab--active": context.activeTabId === tabId },
86
+ className
87
+ ),
88
+ "data-tabid": tabId,
89
+ onClick: toggleTab,
90
+ ref,
91
+ role: "tab"
92
+ }, rest), {
93
+ children
94
+ })
95
+ );
96
+ }
97
+ );
98
+ TabsTab.displayName = "Tabs.Tab";
99
+
100
+ export {
101
+ TabsList,
102
+ TabsTab
103
+ };
104
+ //# sourceMappingURL=chunk-CLXHNRAI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tabs/tabs-list.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactElement, MouseEvent } from \"react\";\nimport { forwardRef, useEffect, useRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { type OverridableComponent, useResize } from \"../utils\";\nimport { useTabsContext } from \"./context\";\n\nexport interface TabListProps 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 direction?: \"vertical\" | \"horizontal\";\n}\n\nexport function TabsList({ children, direction = \"horizontal\", className, ...rest }: TabListProps) {\n const { activeTabId } = useTabsContext();\n const tabsListRef = useRef<HTMLDivElement>(null);\n const { width: tabsWidth } = useResize(tabsListRef);\n const { innerWidth } = window;\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={tabsListRef}\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: OverridableComponent<TabsTabProps, HTMLButtonElement> = forwardRef(\n ({ as: Component = \"button\", 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 && onClick(e);\n };\n return (\n <Component\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 role=\"tab\"\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\n\nTabsTab.displayName = \"Tabs.Tab\";\n"],"mappings":";;;;;;;;;;;;;AACA,SAAS,YAAY,WAAW,cAAc;AAC9C,SAAS,YAAY;AA2DjB;AA7CG,SAAS,SAAS,IAA0E;AAA1E,eAAE,YAAU,YAAY,cAAc,UAhB/D,IAgByB,IAAoD,iBAApD,IAAoD,CAAlD,YAAU,aAA0B;AAC7D,QAAM,EAAE,YAAY,IAAI,eAAe;AACvC,QAAM,cAAc,OAAuB,IAAI;AAC/C,QAAM,EAAE,OAAO,UAAU,IAAI,UAAU,WAAW;AAClD,QAAM,EAAE,WAAW,IAAI;AACvB,QAAM,aAAa,cAAc;AAEjC,QAAM,gBAAgB,OAAO,WAAW;AAGxC,YAAU,MAAM;AACd,UAAM,UAAU,YAAY;AAC5B,UAAM,YAAY,mCAAS,cAAc,gBAAgB,WAAW;AACpE,QAAI,CAAC,aAAa,CAAC;AAAS;AAE5B,UAAM,EAAE,cAAc,iBAAiB,aAAa,eAAe,IAAI;AACvE,UAAM,EAAE,cAAc,aAAa,WAAW,WAAW,IAAI;AAG7D,UAAM,SAAS,eAAe;AAC9B,UAAM,QAAQ,cAAc;AAI5B,gBAAY,QAAQ,MAAM,YAAY,6BAA6B,OAAO,MAAM,CAAC;AACjF,gBAAY,QAAQ,MAAM,YAAY,4BAA4B,OAAO,KAAK,CAAC;AAC/E,gBAAY,QAAQ,MAAM,YAAY,0BAA0B,GAAG,SAAS,IAAI;AAChF,gBAAY,QAAQ,MAAM,YAAY,2BAA2B,GAAG,UAAU,IAAI;AAIlF,QAAI,cAAc,YAAY,aAAa;AACzC,kBAAY,QAAQ,MAAM;AAAA,QACxB;AAAA,QACA;AAAA,MACF;AACA,kBAAY,QAAQ,MAAM;AAAA,QACxB;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,kBAAc,UAAU;AAAA,EAC1B,GAAG,CAAC,aAAa,UAAU,CAAC;AAE5B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,cAAc,eACV;AAAA,UACE,8BAA8B;AAAA,UAC9B,4BAA4B,CAAC;AAAA,QAC/B,IACA;AAAA,UACE,4BAA4B;AAAA,QAC9B;AAAA,QACJ;AAAA,MACF;AAAA,MACA,KAAK;AAAA,MACL,MAAK;AAAA,OACD,OAfL;AAAA,MAiBE;AAAA;AAAA,EACH;AAEJ;AAEA,SAAS,cAAc;AAWhB,IAAM,UAAiE;AAAA,EAC5E,CAAC,IAA4E,QAAQ;AAApF,iBAAE,MAAI,YAAY,UAAU,UAAU,OAAO,WAAW,QA/F3D,IA+FG,IAAoE,iBAApE,IAAoE,CAAlE,MAA0B,YAAU,SAAO,aAAW;AACvD,UAAM,UAAU,eAAe;AAE/B,UAAM,YAAY,CAAC,MAAqC;AACtD,QAAE,eAAe;AACjB,cAAQ,kBAAkB,KAAK;AAC/B,iBAAW,QAAQ,CAAC;AAAA,IACtB;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,EAAE,yBAAyB,QAAQ,gBAAgB,MAAM;AAAA,UACzD;AAAA,QACF;AAAA,QACA,cAAY;AAAA,QACZ,SAAS;AAAA,QACT;AAAA,QACA,MAAK;AAAA,SACD,OAVL;AAAA,QAYE;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,QAAQ,cAAc;","names":[]}
@@ -8,9 +8,11 @@ import {
8
8
  } from "./chunk-R4SQKVDQ.mjs";
9
9
 
10
10
  // src/form/fieldset/fieldset.tsx
11
- import { useId, forwardRef } from "react";
11
+ import { useId, forwardRef, createContext, useContext } from "react";
12
12
  import { clsx } from "@postenbring/hedwig-css/typed-classname";
13
13
  import { jsx, jsxs } from "react/jsx-runtime";
14
+ var FieldsetContext = createContext({ hasError: false });
15
+ var useFieldsetContext = () => useContext(FieldsetContext);
14
16
  var Fieldset = forwardRef(function Fieldset2(_a, ref) {
15
17
  var _b = _a, {
16
18
  className,
@@ -51,7 +53,7 @@ var Fieldset = forwardRef(function Fieldset2(_a, ref) {
51
53
  children: legend
52
54
  })
53
55
  ),
54
- /* @__PURE__ */ jsx("div", { className: clsx("hds-fieldset__input-wrapper"), children }),
56
+ /* @__PURE__ */ jsx(FieldsetContext.Provider, { value: { hasError: Boolean(errorMessage) }, children }),
55
57
  /* @__PURE__ */ jsx(ErrorMessage, { id: errorMessageId, children: errorMessage })
56
58
  ]
57
59
  })
@@ -59,6 +61,7 @@ var Fieldset = forwardRef(function Fieldset2(_a, ref) {
59
61
  });
60
62
 
61
63
  export {
64
+ useFieldsetContext,
62
65
  Fieldset
63
66
  };
64
- //# sourceMappingURL=chunk-37WVYY6X.mjs.map
67
+ //# sourceMappingURL=chunk-DM4PJFLG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/form/fieldset/fieldset.tsx"],"sourcesContent":["import { useId, forwardRef, createContext, useContext } from \"react\";\nimport type { FieldsetHTMLAttributes, HTMLAttributes, ReactNode, CSSProperties } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { ErrorMessage } from \"../error-message\";\n\nexport interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElement> {\n className?: string;\n style?: CSSProperties;\n /**\n * Providing an errorMessage will also give contained Checkboxes or Radiobuttons\n * error styling and aria to indicate invalid state.\n *\n * For Radiobuttons you are even better off using RadioGroup.\n */\n errorMessage?: ReactNode;\n legendProps?: HTMLAttributes<HTMLElement> & { size: \"default\" | \"large\" };\n legend: ReactNode;\n children: ReactNode;\n}\n\nconst FieldsetContext = createContext<{ hasError: boolean }>({ hasError: false });\n\nexport const useFieldsetContext = () => useContext(FieldsetContext);\n\nexport const Fieldset = forwardRef<HTMLFieldSetElement, FieldsetProps>(function Fieldset(\n {\n className,\n style,\n errorMessage,\n legendProps: { size: legendSize = \"default\", className: legendClassName, ...legendProps } = {},\n legend,\n children,\n ...rest\n },\n ref,\n) {\n const errorMessageId = useId();\n\n return (\n <fieldset\n aria-describedby={errorMessage ? errorMessageId : undefined}\n aria-invalid={errorMessage ? true : undefined}\n className={clsx(\"hds-fieldset\", className as undefined)}\n ref={ref}\n style={style}\n {...rest}\n >\n <legend\n className={clsx(\n \"hds-fieldset__legend\",\n { [`hds-fieldset__legend--${legendSize}`]: legendSize },\n legendClassName as undefined,\n )}\n {...legendProps}\n >\n {legend}\n </legend>\n <FieldsetContext.Provider value={{ hasError: Boolean(errorMessage) }}>\n {children}\n </FieldsetContext.Provider>\n <ErrorMessage id={errorMessageId}>{errorMessage}</ErrorMessage>\n </fieldset>\n );\n});\n"],"mappings":";;;;;;;;;;AAAA,SAAS,OAAO,YAAY,eAAe,kBAAkB;AAE7D,SAAS,YAAY;AAqCjB,SAQE,KARF;AAnBJ,IAAM,kBAAkB,cAAqC,EAAE,UAAU,MAAM,CAAC;AAEzE,IAAM,qBAAqB,MAAM,WAAW,eAAe;AAE3D,IAAM,WAAW,WAA+C,SAASA,UAC9E,IASA,KACA;AAVA,eAIe;AAAA,IAHb;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,KAA+E,CAAC;AAAA,EA7BjG,IAyBE,IAIe,SAAE,QAAM,aAAa,WAAW,WAAW,gBA7B5D,IA6BiB,IAA+D,wBAA/D,IAA+D,CAA7D,QAA8B,eAJ/C,SAKE;AAAA;AAAA,IACA;AAAA,EA/BJ,IAyBE,IAOK,iBAPL,IAOK;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAKF,QAAM,iBAAiB,MAAM;AAE7B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,oBAAkB,eAAe,iBAAiB;AAAA,MAClD,gBAAc,eAAe,OAAO;AAAA,MACpC,WAAW,KAAK,gBAAgB,SAAsB;AAAA,MACtD;AAAA,MACA;AAAA,OACI,OANL;AAAA,MAQC;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA,EAAE,CAAC,yBAAyB,UAAU,EAAE,GAAG,WAAW;AAAA,cACtD;AAAA,YACF;AAAA,aACI,cANL;AAAA,YAQE;AAAA;AAAA,QACH;AAAA,QACA,oBAAC,gBAAgB,UAAhB,EAAyB,OAAO,EAAE,UAAU,QAAQ,YAAY,EAAE,GAChE,UACH;AAAA,QACA,oBAAC,gBAAa,IAAI,gBAAiB,wBAAa;AAAA;AAAA;AAAA,EAClD;AAEJ,CAAC;","names":["Fieldset"]}
@@ -20,16 +20,12 @@ var AccordionContent = forwardRef((_a, ref) => {
20
20
  return /* @__PURE__ */ jsx(
21
21
  Component,
22
22
  __spreadProps(__spreadValues({
23
- "aria-hidden": !context.open
23
+ "aria-hidden": !context.open,
24
+ "data-state": context.open ? "open" : "closed",
25
+ inert: context.open ? void 0 : "true",
26
+ className: clsx("hds-accordion-item-content", className),
27
+ ref
24
28
  }, rest), {
25
- className: clsx(
26
- "hds-accordion-item-content",
27
- {
28
- "hds-accordion-item-content--closed": !context.open
29
- },
30
- className
31
- ),
32
- ref,
33
29
  children: /* @__PURE__ */ jsx("div", { className: clsx("hds-accordion-item-content-inner"), children })
34
30
  })
35
31
  );
@@ -39,4 +35,4 @@ AccordionContent.displayName = "Accordion.Content";
39
35
  export {
40
36
  AccordionContent
41
37
  };
42
- //# sourceMappingURL=chunk-KRGKVH5J.mjs.map
38
+ //# sourceMappingURL=chunk-GUB3UCXO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/accordion/accordion-content.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionContentProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport const AccordionContent: OverridableComponent<AccordionContentProps, HTMLDivElement> =\n forwardRef(({ as: Component = \"div\", children, className, ...rest }, ref) => {\n const context = useContext(AccordionItemContext);\n if (context === null) {\n return null;\n }\n return (\n <Component\n aria-hidden={!context.open}\n data-state={context.open ? \"open\" : \"closed\"}\n inert={context.open ? undefined : \"true\"}\n className={clsx(\"hds-accordion-item-content\", className as undefined)}\n ref={ref}\n {...rest}\n >\n <div className={clsx(\"hds-accordion-item-content-inner\")}>{children}</div>\n </Component>\n );\n });\n\nAccordionContent.displayName = \"Accordion.Content\";\n"],"mappings":";;;;;;;;;;AACA,SAAS,YAAY,kBAAkB;AACvC,SAAS,YAAY;AAuBb;AAfD,IAAM,mBACX,WAAW,CAAC,IAAyD,QAAQ;AAAjE,eAAE,MAAI,YAAY,OAAO,UAAU,UAXjD,IAWc,IAAiD,iBAAjD,IAAiD,CAA/C,MAAuB,YAAU;AAC7C,QAAM,UAAU,WAAW,oBAAoB;AAC/C,MAAI,YAAY,MAAM;AACpB,WAAO;AAAA,EACT;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa,CAAC,QAAQ;AAAA,MACtB,cAAY,QAAQ,OAAO,SAAS;AAAA,MACpC,OAAO,QAAQ,OAAO,SAAY;AAAA,MAClC,WAAW,KAAK,8BAA8B,SAAsB;AAAA,MACpE;AAAA,OACI,OANL;AAAA,MAQC,8BAAC,SAAI,WAAW,KAAK,kCAAkC,GAAI,UAAS;AAAA;AAAA,EACtE;AAEJ,CAAC;AAEH,iBAAiB,cAAc;","names":[]}
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  useRadioGroupContext
3
- } from "./chunk-V4NGUB4I.mjs";
3
+ } from "./chunk-6NGF7FFY.mjs";
4
+ import {
5
+ useFieldsetContext
6
+ } from "./chunk-DM4PJFLG.mjs";
4
7
  import {
5
8
  __objRest,
6
9
  __spreadProps,
@@ -41,8 +44,15 @@ var Radiobutton = forwardRef(
41
44
  "children",
42
45
  "className"
43
46
  ]);
44
- const _a2 = useRadioGroupContext(), { value: selectedValue, hasError: hasErrorContext } = _a2, context = __objRest(_a2, ["value", "hasError"]);
45
- const hasError = hasErrorContext || hasErrorProp;
47
+ const _a2 = useRadioGroupContext(), {
48
+ value: selectedValue,
49
+ hasError: hasRadioGroupError
50
+ } = _a2, context = __objRest(_a2, [
51
+ "value",
52
+ "hasError"
53
+ ]);
54
+ const { hasError: hasFieldsetError } = useFieldsetContext();
55
+ const hasError = hasFieldsetError || hasRadioGroupError || hasErrorProp;
46
56
  return /* @__PURE__ */ jsxs(
47
57
  "div",
48
58
  {
@@ -79,4 +89,4 @@ Radiobutton.displayName = "Radiobutton";
79
89
  export {
80
90
  Radiobutton
81
91
  };
82
- //# sourceMappingURL=chunk-WGVZWX5L.mjs.map
92
+ //# sourceMappingURL=chunk-HMB4TY2F.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/form/radiobutton/radiobutton.tsx"],"sourcesContent":["import { forwardRef, type InputHTMLAttributes, type ReactNode } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { useFieldsetContext } from \"../fieldset\";\nimport { type RadioGroupProps, useRadioGroupContext } from \"./radiogroup\";\n\nexport interface RadiobuttonProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"defaultValue\"> {\n children: ReactNode;\n variant?: \"plain\" | \"bounding-box\";\n /**\n * Set to `true` to add error styling. The component will take care of aria to indicate invalid state.\n *\n * Normally you don't need this, as you should wrap your Radiobuttons in the RadioGroup component.\n * When providing an errorMessage to RadioGroup, all contained Radiobuttons will get correct hasError state.\n *\n * You can use this when your Radiobutton is part of a non-HDS fieldset which shows an error message.\n */\n hasError?: boolean;\n title?: string;\n}\n\nconst isChecked = ({\n checked,\n selectedValue,\n value,\n}: Pick<RadiobuttonProps, \"checked\" | \"value\"> & {\n selectedValue: RadioGroupProps[\"value\"];\n}) => {\n if (typeof checked !== \"undefined\") return checked;\n if (typeof selectedValue !== \"undefined\") return value === selectedValue;\n return undefined;\n};\n\nexport const Radiobutton = forwardRef<HTMLInputElement, RadiobuttonProps>(\n (\n {\n checked,\n value,\n variant = \"plain\",\n hasError: hasErrorProp,\n title,\n children,\n className,\n ...rest\n },\n ref,\n ) => {\n const {\n value: selectedValue,\n hasError: hasRadioGroupError,\n ...context\n } = useRadioGroupContext();\n const { hasError: hasFieldsetError } = useFieldsetContext();\n const hasError = hasFieldsetError || hasRadioGroupError || hasErrorProp;\n\n return (\n <div\n className={clsx(\n \"hds-radiobutton\",\n {\n [`hds-radiobutton--${variant}`]: variant === \"bounding-box\",\n \"hds-radiobutton--error\": hasError,\n },\n className as undefined,\n )}\n >\n <label>\n <input\n {...context}\n {...rest}\n checked={isChecked({ checked, selectedValue, value })}\n value={value}\n ref={ref}\n type=\"radio\"\n />\n <span aria-hidden className=\"hds-radiobutton__checkmark\" />\n {title ? <p className=\"hds-radiobutton__title\">{title}</p> : children}\n </label>\n {title ? children : null}\n </div>\n );\n },\n);\n\nRadiobutton.displayName = \"Radiobutton\";\n"],"mappings":";;;;;;;;;;;;;AAAA,SAAS,kBAA4D;AACrE,SAAS,YAAY;AAiEb,SACE,KADF;AA7CR,IAAM,YAAY,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AACF,MAEM;AACJ,MAAI,OAAO,YAAY;AAAa,WAAO;AAC3C,MAAI,OAAO,kBAAkB;AAAa,WAAO,UAAU;AAC3D,SAAO;AACT;AAEO,IAAM,cAAc;AAAA,EACzB,CACE,IAUA,QACG;AAXH,iBACE;AAAA;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,IA1CN,IAmCI,IAQK,iBARL,IAQK;AAAA,MAPH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAIIA,MAAA,qBAAqB,GAHvB;AAAA,aAAO;AAAA,MACP,UAAU;AAAA,IAjDhB,IAmDQA,KADC,oBACDA,KADC;AAAA,MAFH;AAAA,MACA;AAAA;AAGF,UAAM,EAAE,UAAU,iBAAiB,IAAI,mBAAmB;AAC1D,UAAM,WAAW,oBAAoB,sBAAsB;AAE3D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,CAAC,oBAAoB,OAAO,EAAE,GAAG,YAAY;AAAA,YAC7C,0BAA0B;AAAA,UAC5B;AAAA,UACA;AAAA,QACF;AAAA,QAEA;AAAA,+BAAC,WACC;AAAA;AAAA,cAAC;AAAA,8DACK,UACA,OAFL;AAAA,gBAGC,SAAS,UAAU,EAAE,SAAS,eAAe,MAAM,CAAC;AAAA,gBACpD;AAAA,gBACA;AAAA,gBACA,MAAK;AAAA;AAAA,YACP;AAAA,YACA,oBAAC,UAAK,eAAW,MAAC,WAAU,8BAA6B;AAAA,YACxD,QAAQ,oBAAC,OAAE,WAAU,0BAA0B,iBAAM,IAAO;AAAA,aAC/D;AAAA,UACC,QAAQ,WAAW;AAAA;AAAA;AAAA,IACtB;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;","names":["_a"]}
@@ -1,23 +1,23 @@
1
- import {
2
- Tab,
3
- TabsList
4
- } from "./chunk-XVZ44NGD.mjs";
5
- import {
6
- Tabs
7
- } from "./chunk-MBBFU4IR.mjs";
8
1
  import {
9
2
  TabsContent,
10
3
  TabsContents
11
- } from "./chunk-EJADADIY.mjs";
4
+ } from "./chunk-UWTGHSWT.mjs";
5
+ import {
6
+ TabsList,
7
+ TabsTab
8
+ } from "./chunk-CLXHNRAI.mjs";
9
+ import {
10
+ Tabs
11
+ } from "./chunk-XVFQWVHO.mjs";
12
12
 
13
13
  // src/tabs/index.tsx
14
14
  var TabsComponent = Tabs;
15
15
  TabsComponent.List = TabsList;
16
- TabsComponent.Tab = Tab;
16
+ TabsComponent.Tab = TabsTab;
17
17
  TabsComponent.Contents = TabsContents;
18
18
  TabsComponent.Content = TabsContent;
19
19
 
20
20
  export {
21
21
  TabsComponent
22
22
  };
23
- //# sourceMappingURL=chunk-5MDJP43L.mjs.map
23
+ //# sourceMappingURL=chunk-IFGQR4J6.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tabs/index.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"],"mappings":";;;;;;;;;;;;;AAIA,IAAM,gBAAgB;AAMtB,cAAc,OAAO;AACrB,cAAc,MAAM;AACpB,cAAc,WAAW;AACzB,cAAc,UAAU;","names":[]}
@@ -0,0 +1,18 @@
1
+ // src/tabs/context.ts
2
+ import { createContext, useContext } from "react";
3
+ var TabsContext = createContext(null);
4
+ function useTabsContext() {
5
+ const context = useContext(TabsContext);
6
+ if (!context) {
7
+ throw new Error(
8
+ "Tabs context required. Did you use `<Tabs.List />`, `<Tabs.Tab />`, or `<Tabs.Content />` outside of <Tabs/>?"
9
+ );
10
+ }
11
+ return context;
12
+ }
13
+
14
+ export {
15
+ TabsContext,
16
+ useTabsContext
17
+ };
18
+ //# sourceMappingURL=chunk-KQITCS3U.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tabs/context.ts"],"sourcesContent":["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"],"mappings":";AAAA,SAAS,eAAe,kBAAkB;AAOnC,IAAM,cAAc,cAAuC,IAAI;AAE/D,SAAS,iBAAiB;AAC/B,QAAM,UAAU,WAAW,WAAW;AACtC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-L4GQJETB.mjs.map
@@ -3,7 +3,7 @@ import {
3
3
  ModalContent,
4
4
  ModalFooter,
5
5
  ModalHeader
6
- } from "./chunk-POJTVNEO.mjs";
6
+ } from "./chunk-2ICZ3Q7N.mjs";
7
7
 
8
8
  // src/modal/index.tsx
9
9
  var ModalComponent = Modal;
@@ -14,4 +14,4 @@ ModalComponent.Footer = ModalFooter;
14
14
  export {
15
15
  ModalComponent
16
16
  };
17
- //# sourceMappingURL=chunk-QSYU64U4.mjs.map
17
+ //# sourceMappingURL=chunk-MRCE2Q7A.mjs.map
@@ -0,0 +1,9 @@
1
+ // src/layout/spacing.ts
2
+ function getSpacingVariable(size) {
3
+ return `var(--hds-spacing-${size})`;
4
+ }
5
+
6
+ export {
7
+ getSpacingVariable
8
+ };
9
+ //# sourceMappingURL=chunk-NE6W2PCD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/layout/spacing.ts"],"sourcesContent":["// TODO: Get from tokens package\n// For now it's fine, since it's still in this monorepo\nconst spacingSizes = {\n \"4\": \"4\",\n \"8\": \"8\",\n \"12\": \"12\",\n \"16\": \"16\",\n \"20\": \"20\",\n \"24\": \"24\",\n \"32\": \"32\",\n \"40\": \"40\",\n \"48\": \"48\",\n \"64\": \"64\",\n \"80\": \"80\",\n \"120\": \"120\",\n} as const;\nexport type SpacingSizes = keyof typeof spacingSizes;\n\nconst responsiveSpacingSizes = {\n \"4-8\": \"4-8\",\n \"8-12\": \"8-12\",\n \"12-16\": \"12-16\",\n \"16-20\": \"16-20\",\n \"20-24\": \"20-24\",\n \"24-32\": \"24-32\",\n \"32-40\": \"32-40\",\n \"40-48\": \"40-48\",\n \"48-64\": \"48-64\",\n \"64-80\": \"64-80\",\n \"80-120\": \"80-120\",\n \"120-160\": \"120-160\",\n} as const;\nexport type ResponsiveSpacingSizes = keyof typeof responsiveSpacingSizes;\n\nexport function getSpacingVariable(size: SpacingSizes | ResponsiveSpacingSizes) {\n return `var(--hds-spacing-${size})`;\n}\n"],"mappings":";AAkCO,SAAS,mBAAmB,MAA6C;AAC9E,SAAO,qBAAqB,IAAI;AAClC;","names":[]}
@@ -0,0 +1,76 @@
1
+ import {
2
+ useFieldsetContext
3
+ } from "./chunk-DM4PJFLG.mjs";
4
+ import {
5
+ ErrorMessage
6
+ } from "./chunk-IL7576PP.mjs";
7
+ import {
8
+ __objRest,
9
+ __spreadProps,
10
+ __spreadValues
11
+ } from "./chunk-R4SQKVDQ.mjs";
12
+
13
+ // src/form/checkbox/checkbox.tsx
14
+ import { forwardRef, useId } from "react";
15
+ import { clsx } from "@postenbring/hedwig-css/typed-classname";
16
+ import { jsx, jsxs } from "react/jsx-runtime";
17
+ var Checkbox = forwardRef(
18
+ (_a, ref) => {
19
+ var _b = _a, {
20
+ variant = "plain",
21
+ hasError: hasErrorProp,
22
+ errorMessage,
23
+ title,
24
+ children,
25
+ className
26
+ } = _b, rest = __objRest(_b, [
27
+ "variant",
28
+ "hasError",
29
+ "errorMessage",
30
+ "title",
31
+ "children",
32
+ "className"
33
+ ]);
34
+ const errorMessageId = useId();
35
+ const { hasError: hasFieldsetError } = useFieldsetContext();
36
+ const hasError = !!errorMessage || hasFieldsetError || hasErrorProp;
37
+ return /* @__PURE__ */ jsxs("div", { className: clsx("hds-checkbox-wrapper"), children: [
38
+ /* @__PURE__ */ jsxs(
39
+ "div",
40
+ {
41
+ className: clsx(
42
+ "hds-checkbox",
43
+ {
44
+ [`hds-checkbox--${variant}`]: variant === "bounding-box",
45
+ "hds-checkbox--error": hasError
46
+ },
47
+ className
48
+ ),
49
+ children: [
50
+ /* @__PURE__ */ jsxs("label", { children: [
51
+ /* @__PURE__ */ jsx(
52
+ "input",
53
+ __spreadProps(__spreadValues({}, rest), {
54
+ "aria-invalid": hasError ? true : void 0,
55
+ "aria-describedby": errorMessage ? errorMessageId : void 0,
56
+ ref,
57
+ type: "checkbox"
58
+ })
59
+ ),
60
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "hds-checkbox__checkmark" }),
61
+ title ? /* @__PURE__ */ jsx("p", { className: "hds-checkbox__title", children: title }) : children
62
+ ] }),
63
+ title ? children : null
64
+ ]
65
+ }
66
+ ),
67
+ errorMessage ? /* @__PURE__ */ jsx(ErrorMessage, { id: errorMessageId, children: errorMessage }) : null
68
+ ] });
69
+ }
70
+ );
71
+ Checkbox.displayName = "Checkbox";
72
+
73
+ export {
74
+ Checkbox
75
+ };
76
+ //# sourceMappingURL=chunk-RHCMBJOT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/form/checkbox/checkbox.tsx"],"sourcesContent":["import { forwardRef, useId, type InputHTMLAttributes, type ReactNode } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { ErrorMessage } from \"../error-message\";\nimport { useFieldsetContext } from \"../fieldset\";\n\nexport type CheckboxProps = Omit<InputHTMLAttributes<HTMLInputElement>, \"defaultValue\"> & {\n children: ReactNode;\n variant?: \"plain\" | \"bounding-box\";\n title?: string;\n} & (\n | {\n /**\n * Set to `true` to add error styling. The component will take care of aria to indicate invalid state.\n *\n * Normally you don't need this, as you should wrap your Checkboxes in the Fieldset component.\n * When providing an errorMessage to Fieldset, all contained Checkboxes will get correct hasError state.\n *\n * You can use this when your checkbox is part of a non-HDS fieldset which shows an error message.\n */\n hasError?: boolean;\n errorMessage?: never;\n }\n | {\n hasError?: never;\n /**\n * Set an error message to add error styling, and display the error message.\n * The component will take care of aria to connect the error message to the checkbox.\n *\n * Use this when your checkbox is standalone (not part of a fieldset).\n */\n errorMessage?: ReactNode;\n }\n );\n\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(\n (\n {\n variant = \"plain\",\n hasError: hasErrorProp,\n errorMessage,\n title,\n children,\n className,\n ...rest\n },\n ref,\n ) => {\n const errorMessageId = useId();\n const { hasError: hasFieldsetError } = useFieldsetContext();\n const hasError = !!errorMessage || hasFieldsetError || hasErrorProp;\n\n return (\n <div className={clsx(\"hds-checkbox-wrapper\")}>\n <div\n className={clsx(\n \"hds-checkbox\",\n {\n [`hds-checkbox--${variant}`]: variant === \"bounding-box\",\n \"hds-checkbox--error\": hasError,\n },\n className as undefined,\n )}\n >\n <label>\n <input\n {...rest}\n aria-invalid={hasError ? true : undefined}\n aria-describedby={errorMessage ? errorMessageId : undefined}\n ref={ref}\n type=\"checkbox\"\n />\n <span aria-hidden className=\"hds-checkbox__checkmark\" />\n {title ? <p className=\"hds-checkbox__title\">{title}</p> : children}\n </label>\n {title ? children : null}\n </div>\n {errorMessage ? <ErrorMessage id={errorMessageId}>{errorMessage}</ErrorMessage> : null}\n </div>\n );\n },\n);\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":";;;;;;;;;;;;;AAAA,SAAS,YAAY,aAAuD;AAC5E,SAAS,YAAY;AA8DX,SACE,KADF;AA7BH,IAAM,WAAW;AAAA,EACtB,CACE,IASA,QACG;AAVH,iBACE;AAAA,gBAAU;AAAA,MACV,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IA1CN,IAoCI,IAOK,iBAPL,IAOK;AAAA,MANH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAKF,UAAM,iBAAiB,MAAM;AAC7B,UAAM,EAAE,UAAU,iBAAiB,IAAI,mBAAmB;AAC1D,UAAM,WAAW,CAAC,CAAC,gBAAgB,oBAAoB;AAEvD,WACE,qBAAC,SAAI,WAAW,KAAK,sBAAsB,GACzC;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,CAAC,iBAAiB,OAAO,EAAE,GAAG,YAAY;AAAA,cAC1C,uBAAuB;AAAA,YACzB;AAAA,YACA;AAAA,UACF;AAAA,UAEA;AAAA,iCAAC,WACC;AAAA;AAAA,gBAAC;AAAA,iDACK,OADL;AAAA,kBAEC,gBAAc,WAAW,OAAO;AAAA,kBAChC,oBAAkB,eAAe,iBAAiB;AAAA,kBAClD;AAAA,kBACA,MAAK;AAAA;AAAA,cACP;AAAA,cACA,oBAAC,UAAK,eAAW,MAAC,WAAU,2BAA0B;AAAA,cACrD,QAAQ,oBAAC,OAAE,WAAU,uBAAuB,iBAAM,IAAO;AAAA,eAC5D;AAAA,YACC,QAAQ,WAAW;AAAA;AAAA;AAAA,MACtB;AAAA,MACC,eAAe,oBAAC,gBAAa,IAAI,gBAAiB,wBAAa,IAAkB;AAAA,OACpF;AAAA,EAEJ;AACF;AACA,SAAS,cAAc;","names":[]}
@@ -0,0 +1,19 @@
1
+ import {
2
+ Footer,
3
+ FooterButtonLink,
4
+ FooterLinkSection,
5
+ FooterLinkSections,
6
+ FooterLogo
7
+ } from "./chunk-BZRCDLEW.mjs";
8
+
9
+ // src/footer/index.tsx
10
+ var FooterComponent = Footer;
11
+ FooterComponent.Logo = FooterLogo;
12
+ FooterComponent.ButtonLink = FooterButtonLink;
13
+ FooterComponent.LinkSections = FooterLinkSections;
14
+ FooterComponent.LinkSection = FooterLinkSection;
15
+
16
+ export {
17
+ FooterComponent
18
+ };
19
+ //# sourceMappingURL=chunk-RXIP2JTE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/footer/index.tsx"],"sourcesContent":["import {\n Footer,\n FooterLogo,\n FooterButtonLink,\n FooterLinkSections,\n FooterLinkSection,\n} from \"./footer\";\n\nconst FooterComponent = Footer as typeof Footer & {\n Logo: typeof FooterLogo;\n ButtonLink: typeof FooterButtonLink;\n LinkSections: typeof FooterLinkSections;\n LinkSection: typeof FooterLinkSection;\n};\nFooterComponent.Logo = FooterLogo;\nFooterComponent.ButtonLink = FooterButtonLink;\nFooterComponent.LinkSections = FooterLinkSections;\nFooterComponent.LinkSection = FooterLinkSection;\n\nexport { FooterComponent as Footer };\nexport type * from \"./footer\";\n"],"mappings":";;;;;;;;;AAQA,IAAM,kBAAkB;AAMxB,gBAAgB,OAAO;AACvB,gBAAgB,aAAa;AAC7B,gBAAgB,eAAe;AAC/B,gBAAgB,cAAc;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
- TabsContext
3
- } from "./chunk-33JD5XDW.mjs";
2
+ useTabsContext
3
+ } from "./chunk-KQITCS3U.mjs";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadProps,
@@ -8,21 +8,18 @@ import {
8
8
  } from "./chunk-R4SQKVDQ.mjs";
9
9
 
10
10
  // src/tabs/tabs-content.tsx
11
- import { forwardRef, useContext } from "react";
11
+ import { forwardRef } from "react";
12
12
  import { clsx } from "@postenbring/hedwig-css/typed-classname";
13
13
  import { jsx } from "react/jsx-runtime";
14
14
  function TabsContents(_a) {
15
15
  var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]);
16
- return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({ className: clsx("hds-tabs--contents") }, rest), { children }));
16
+ return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({ className: clsx("hds-tabs__contents") }, rest), { children }));
17
17
  }
18
18
  TabsContents.displayName = "Tabs.Contents";
19
19
  var TabsContent = forwardRef(
20
20
  (_a, ref) => {
21
21
  var _b = _a, { as: Component = "div", forTabId, children } = _b, rest = __objRest(_b, ["as", "forTabId", "children"]);
22
- const context = useContext(TabsContext);
23
- if (!context.mounted) {
24
- throw new Error("Context required. Did you use <Tabs.Content /> outside of <Tabs/>?");
25
- }
22
+ const context = useTabsContext();
26
23
  if (context.activeTabId === forTabId) {
27
24
  return /* @__PURE__ */ jsx(Component, __spreadProps(__spreadValues({}, rest), { ref, children }));
28
25
  }
@@ -35,4 +32,4 @@ export {
35
32
  TabsContents,
36
33
  TabsContent
37
34
  };
38
- //# sourceMappingURL=chunk-EJADADIY.mjs.map
35
+ //# sourceMappingURL=chunk-UWTGHSWT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tabs/tabs-content.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { useTabsContext } from \"./context\";\n\nexport interface TabContentsProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<TabsContentProps> | ReactElement<TabsContentProps>[];\n}\n\nexport function TabsContents({ children, ...rest }: TabContentsProps) {\n return (\n <div className={clsx(\"hds-tabs__contents\")} {...rest}>\n {children}\n </div>\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\nexport const TabsContent: OverridableComponent<TabsContentProps, HTMLElement> = forwardRef(\n ({ as: Component = \"div\", forTabId, children, ...rest }, ref) => {\n const context = useTabsContext();\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":";;;;;;;;;;AACA,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AAUjB;AAFG,SAAS,aAAa,IAAyC;AAAzC,eAAE,WAV/B,IAU6B,IAAe,iBAAf,IAAe,CAAb;AAC7B,SACE,oBAAC,sCAAI,WAAW,KAAK,oBAAoB,KAAO,OAA/C,EACE,WACH;AAEJ;AACA,aAAa,cAAc;AAWpB,IAAM,cAAmE;AAAA,EAC9E,CAAC,IAAwD,QAAQ;AAAhE,iBAAE,MAAI,YAAY,OAAO,UAAU,SA7BtC,IA6BG,IAAgD,iBAAhD,IAAgD,CAA9C,MAAuB,YAAU;AAClC,UAAM,UAAU,eAAe;AAE/B,QAAI,QAAQ,gBAAgB,UAAU;AACpC,aACE,oBAAC,4CAAc,OAAd,EAAoB,KAClB,WACH;AAAA,IAEJ;AACA,WAAO;AAAA,EACT;AACF;AAEA,YAAY,cAAc;","names":[]}
@@ -14,11 +14,12 @@ import { createRoot } from "react-dom/client";
14
14
  import { clsx } from "@postenbring/hedwig-css/typed-classname";
15
15
  import FocusTrap from "focus-trap-react";
16
16
  import { jsx, jsxs } from "react/jsx-runtime";
17
- var navbarContext = createContext([
17
+ var expandableMenuContext = createContext([
18
18
  false,
19
19
  () => {
20
20
  }
21
21
  ]);
22
+ var useNavbarExpendableMenuContext = () => useContext(expandableMenuContext);
22
23
  function NavbarExpandableMenu({ children }) {
23
24
  const [open, setOpen] = useState(false);
24
25
  const toggleOpen = () => {
@@ -32,7 +33,7 @@ function NavbarExpandableMenu({ children }) {
32
33
  }
33
34
  };
34
35
  const navbarElement = document.getElementsByClassName(clsx("hds-navbar"))[0];
35
- return /* @__PURE__ */ jsxs(navbarContext.Provider, { value: [open, toggleOpen], children: [
36
+ return /* @__PURE__ */ jsxs(expandableMenuContext.Provider, { value: [open, toggleOpen], children: [
36
37
  open ? /* @__PURE__ */ jsx(FocusTrap, { containerElements: [navbarElement] }) : null,
37
38
  children
38
39
  ] });
@@ -71,7 +72,7 @@ function RenderButton(_a) {
71
72
  type: "button"
72
73
  }, rest), {
73
74
  children: [
74
- text,
75
+ /* @__PURE__ */ jsx("span", { className: clsx("hds-navbar__button-responsive-text"), children: text }),
75
76
  " ",
76
77
  icon
77
78
  ]
@@ -93,7 +94,7 @@ var NavbarExpandableMenuTrigger = forwardRef(
93
94
  "whenOpenHelperTitle",
94
95
  "className"
95
96
  ]);
96
- const [open, toggleOpen] = useContext(navbarContext);
97
+ const [open, toggleOpen] = useNavbarExpendableMenuContext();
97
98
  const [width, setWidth] = useState(0);
98
99
  const measureButtonRef = useRef(null);
99
100
  const text = open ? whenOpenText : whenClosedText;
@@ -160,12 +161,13 @@ var NavbarExpandableMenuTrigger = forwardRef(
160
161
  NavbarExpandableMenuTrigger.displayName = "Navbar.ExpandableMenu.Trigger";
161
162
  var NavbarExpandableMenuContent = forwardRef((_a, ref) => {
162
163
  var _b = _a, { as: Component = "section", children, className } = _b, rest = __objRest(_b, ["as", "children", "className"]);
163
- const [open] = useContext(navbarContext);
164
+ const [open] = useNavbarExpendableMenuContext();
164
165
  return /* @__PURE__ */ jsx(
165
166
  Component,
166
167
  __spreadProps(__spreadValues({}, rest), {
167
168
  className: clsx("hds-navbar__expandable-menu-content", className),
168
169
  "data-state": open ? "open" : "closed",
170
+ inert: open ? void 0 : "true",
169
171
  ref,
170
172
  children: /* @__PURE__ */ jsx("div", { className: clsx("hds-navbar__expandable-menu-content-inner"), children })
171
173
  })
@@ -174,8 +176,9 @@ var NavbarExpandableMenuContent = forwardRef((_a, ref) => {
174
176
  NavbarExpandableMenuContent.displayName = "Navbar.ExpandableMenu.Content";
175
177
 
176
178
  export {
179
+ useNavbarExpendableMenuContext,
177
180
  NavbarExpandableMenu,
178
181
  NavbarExpandableMenuTrigger,
179
182
  NavbarExpandableMenuContent
180
183
  };
181
- //# sourceMappingURL=chunk-2E6XPNPX.mjs.map
184
+ //# sourceMappingURL=chunk-X46LM2QH.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/navbar/navbar-expandable-menu.tsx"],"sourcesContent":["import React, { createContext, useContext, forwardRef, useState, useRef, useEffect } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport type { ClassValue } from \"@postenbring/hedwig-css/typed-classname/index.mjs\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport FocusTrap from \"focus-trap-react\";\nimport type { OverridableComponent } from \"../utils\";\nimport { CloseIcon, MenuIcon } from \"./icons\";\n\nconst expandableMenuContext = createContext([\n false as boolean,\n () => {\n // Empty\n },\n] as const);\nexport const useNavbarExpendableMenuContext = () => useContext(expandableMenuContext);\n\n/**\n * Root\n */\nexport interface NavbarExpandableMenuProps {\n children: React.ReactNode;\n}\nexport function NavbarExpandableMenu({ children }: NavbarExpandableMenuProps) {\n const [open, setOpen] = useState(false);\n const toggleOpen = () => {\n const nextOpenState = !open;\n setOpen(nextOpenState);\n if (nextOpenState) {\n window.scrollTo(0, 0);\n document.body.classList.add(clsx(\"hds-navbar-scroll-lock\"));\n } else {\n document.body.classList.remove(clsx(\"hds-navbar-scroll-lock\"));\n }\n };\n const navbarElement = document.getElementsByClassName(clsx(\"hds-navbar\"))[0];\n return (\n <expandableMenuContext.Provider value={[open, toggleOpen]}>\n {open ? <FocusTrap containerElements={[navbarElement as HTMLElement]} /> : null}\n {children}\n </expandableMenuContext.Provider>\n );\n}\nNavbarExpandableMenu.displayName = \"NavbarExpandableMenu\";\n\ninterface ButtonInterface {\n className?: ClassValue;\n open?: boolean;\n innerRef?: React.RefObject<HTMLButtonElement>;\n ref?: React.ForwardedRef<HTMLButtonElement>;\n text: React.ReactNode;\n title?: string;\n toggleOpen?: () => void;\n width?: number;\n}\n\nfunction RenderButton({\n className,\n innerRef,\n open = false,\n ref,\n text,\n title,\n toggleOpen,\n width,\n ...rest\n}: ButtonInterface) {\n const icon = open ? <CloseIcon /> : <MenuIcon />;\n const style = width ? { width } : {};\n return (\n <button\n className={clsx(\"hds-navbar__button\", className)}\n onClick={toggleOpen}\n ref={ref ?? innerRef}\n style={style}\n title={title}\n type=\"button\"\n {...rest}\n >\n <span className={clsx(\"hds-navbar__button-responsive-text\")}>{text}</span> {icon}\n </button>\n );\n}\n\n/**\n * Trigger\n *\n * ## TODO\n * - [x] Hide text when on mobile\n * - [X] Open / Close icon\n * - [X] Make button have consistant width\n */\n\nexport interface NavbarExpandableMenuTriggerProps\n extends Omit<React.HTMLAttributes<HTMLButtonElement>, \"children\"> {\n whenClosedText: React.ReactNode;\n whenClosedHelperTitle?: string;\n\n whenOpenText: React.ReactNode;\n whenOpenHelperTitle?: string;\n}\nexport const NavbarExpandableMenuTrigger = forwardRef<\n HTMLButtonElement,\n NavbarExpandableMenuTriggerProps\n>(\n (\n {\n whenClosedText,\n whenClosedHelperTitle,\n\n whenOpenText,\n whenOpenHelperTitle,\n\n className,\n ...rest\n },\n ref,\n ) => {\n const [open, toggleOpen] = useNavbarExpendableMenuContext();\n const [width, setWidth] = useState(0);\n const measureButtonRef = useRef<HTMLButtonElement>(null);\n\n const text: React.ReactNode = open ? whenOpenText : whenClosedText;\n const title = open ? whenOpenHelperTitle : whenClosedHelperTitle;\n\n /**\n *\n * @param element - Button to measure\n * @param callback - report the width back\n */\n const measureButton = (element: React.ReactNode, callback: (width: number) => void) => {\n // Create an empty div to render the Button in\n const container = document.createElement(\"div\");\n container.style.cssText = \"display: inline-block; position: absolute; visibility: hidden\";\n\n // Attach the empty div inside the navigation section\n const c = document.getElementsByClassName(\"hds-navbar__navigation\")[0];\n c.appendChild(container);\n\n // Render the Button here\n const root = createRoot(container as HTMLElement);\n root.render(element);\n\n /**\n * Get the offsetWidth now that it is rendered\n * Also clean up after us\n */\n const getWidth = () => {\n callback(measureButtonRef.current?.offsetWidth ?? 0);\n root.unmount();\n c.removeChild(container);\n };\n // This is instead of the callback that used to be on ReactDOM.render()\n setTimeout(getWidth, 0);\n };\n\n useEffect(() => {\n measureButton(\n <RenderButton\n className={(className ? className : \"\") as ClassValue}\n innerRef={measureButtonRef}\n text={whenClosedText}\n title={title}\n {...rest}\n />,\n (closedWidth: number) => {\n measureButton(\n <RenderButton\n className={(className ? className : \"\") as ClassValue}\n innerRef={measureButtonRef}\n open\n text={whenOpenText}\n title={title}\n {...rest}\n />,\n (openWidth: number) => {\n setWidth(Math.max(openWidth, closedWidth));\n },\n );\n },\n );\n }, [className, rest, title, whenClosedText, whenOpenText]);\n\n return (\n <RenderButton\n className={(className ? className : \"\") as ClassValue}\n open={open}\n ref={ref}\n text={text as string}\n title={title}\n toggleOpen={toggleOpen}\n width={width}\n {...rest}\n />\n );\n },\n);\nNavbarExpandableMenuTrigger.displayName = \"Navbar.ExpandableMenu.Trigger\";\n\n/**\n * Content\n */\nexport interface NavbarExpandableMenuContentProps {\n children: React.ReactNode;\n className?: string;\n}\nexport const NavbarExpandableMenuContent: OverridableComponent<\n NavbarExpandableMenuContentProps,\n HTMLDivElement\n> = forwardRef(({ as: Component = \"section\", children, className, ...rest }, ref) => {\n const [open] = useNavbarExpendableMenuContext();\n return (\n <Component\n {...rest}\n className={clsx(\"hds-navbar__expandable-menu-content\", className as undefined)}\n data-state={open ? \"open\" : \"closed\"}\n inert={open ? undefined : \"true\"}\n ref={ref}\n >\n <div className={clsx(\"hds-navbar__expandable-menu-content-inner\")}>{children}</div>\n </Component>\n );\n});\nNavbarExpandableMenuContent.displayName = \"Navbar.ExpandableMenu.Content\";\n"],"mappings":"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","names":["_a","_b"]}
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  AccordionContent
3
- } from "./chunk-KRGKVH5J.mjs";
3
+ } from "./chunk-GUB3UCXO.mjs";
4
4
  import {
5
5
  AccordionHeader
6
- } from "./chunk-FT5CX2W5.mjs";
6
+ } from "./chunk-YXHXRUFX.mjs";
7
7
  import {
8
8
  AccordionItem
9
- } from "./chunk-SAGJ5W7M.mjs";
9
+ } from "./chunk-62F4I3MQ.mjs";
10
10
  import {
11
11
  Accordion
12
12
  } from "./chunk-VRIY65P5.mjs";
@@ -20,4 +20,4 @@ AccordionComponent.Content = AccordionContent;
20
20
  export {
21
21
  AccordionComponent
22
22
  };
23
- //# sourceMappingURL=chunk-DJRMXOCP.mjs.map
23
+ //# sourceMappingURL=chunk-XIHKASNB.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TabsContext
3
- } from "./chunk-33JD5XDW.mjs";
3
+ } from "./chunk-KQITCS3U.mjs";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadProps,
@@ -15,13 +15,7 @@ var Tabs = forwardRef(
15
15
  (_a, ref) => {
16
16
  var _b = _a, { as: Component = "div", defaultTab, children } = _b, rest = __objRest(_b, ["as", "defaultTab", "children"]);
17
17
  const [activeTabId, setActiveTabId] = useState(defaultTab);
18
- return /* @__PURE__ */ jsx(Component, __spreadProps(__spreadValues({ className: clsx("hds-tabs"), ref }, rest), { children: /* @__PURE__ */ jsx(
19
- TabsContext.Provider,
20
- {
21
- value: { activeTabId, toggleActiveTabId: setActiveTabId, mounted: true },
22
- children
23
- }
24
- ) }));
18
+ return /* @__PURE__ */ jsx(Component, __spreadProps(__spreadValues({ className: clsx("hds-tabs"), ref }, rest), { children: /* @__PURE__ */ jsx(TabsContext.Provider, { value: { activeTabId, toggleActiveTabId: setActiveTabId }, children }) }));
25
19
  }
26
20
  );
27
21
  Tabs.displayName = "Tabs";
@@ -29,4 +23,4 @@ Tabs.displayName = "Tabs";
29
23
  export {
30
24
  Tabs
31
25
  };
32
- //# sourceMappingURL=chunk-MBBFU4IR.mjs.map
26
+ //# sourceMappingURL=chunk-XVFQWVHO.mjs.map