@postenbring/hedwig-react 0.0.63 → 0.0.65

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 (176) hide show
  1. package/dist/_tsup-dts-rollup.d.mts +228 -19
  2. package/dist/_tsup-dts-rollup.d.ts +228 -19
  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-JMDXW2ML.mjs → chunk-625SVQEP.mjs} +33 -3
  16. package/dist/chunk-625SVQEP.mjs.map +1 -0
  17. package/dist/{chunk-SAGJ5W7M.mjs → chunk-62F4I3MQ.mjs} +3 -8
  18. package/dist/{chunk-SAGJ5W7M.mjs.map → chunk-62F4I3MQ.mjs.map} +1 -1
  19. package/dist/{chunk-OYJQ5MAS.mjs → chunk-A47QULAK.mjs} +26 -3
  20. package/dist/chunk-A47QULAK.mjs.map +1 -0
  21. package/dist/{chunk-Q6REETZD.mjs → chunk-AKYK3XFN.mjs} +2 -1
  22. package/dist/{chunk-Q6REETZD.mjs.map → chunk-AKYK3XFN.mjs.map} +1 -1
  23. package/dist/{chunk-2E6XPNPX.mjs → chunk-DEVTAZKG.mjs} +8 -6
  24. package/dist/chunk-DEVTAZKG.mjs.map +1 -0
  25. package/dist/chunk-EHUVLDIZ.mjs +121 -0
  26. package/dist/chunk-EHUVLDIZ.mjs.map +1 -0
  27. package/dist/{chunk-KRGKVH5J.mjs → chunk-GUB3UCXO.mjs} +6 -10
  28. package/dist/chunk-GUB3UCXO.mjs.map +1 -0
  29. package/dist/{chunk-37WVYY6X.mjs → chunk-HXV2UMEV.mjs} +6 -3
  30. package/dist/chunk-HXV2UMEV.mjs.map +1 -0
  31. package/dist/chunk-KQITCS3U.mjs +18 -0
  32. package/dist/chunk-KQITCS3U.mjs.map +1 -0
  33. package/dist/{chunk-DJRMXOCP.mjs → chunk-LIQ3FB56.mjs} +8 -8
  34. package/dist/chunk-MUVJAMFN.mjs +104 -0
  35. package/dist/chunk-MUVJAMFN.mjs.map +1 -0
  36. package/dist/{chunk-WGVZWX5L.mjs → chunk-RLUXDZ6X.mjs} +14 -4
  37. package/dist/chunk-RLUXDZ6X.mjs.map +1 -0
  38. package/dist/{chunk-VKRPPQ6F.mjs → chunk-TE5M6GJB.mjs} +5 -3
  39. package/dist/chunk-TE5M6GJB.mjs.map +1 -0
  40. package/dist/chunk-U2MRMUB2.mjs +19 -0
  41. package/dist/chunk-U2MRMUB2.mjs.map +1 -0
  42. package/dist/{chunk-EJADADIY.mjs → chunk-UWTGHSWT.mjs} +6 -9
  43. package/dist/chunk-UWTGHSWT.mjs.map +1 -0
  44. package/dist/{chunk-5MDJP43L.mjs → chunk-VFFIUNR6.mjs} +7 -7
  45. package/dist/chunk-X7EKQZNU.mjs +76 -0
  46. package/dist/chunk-X7EKQZNU.mjs.map +1 -0
  47. package/dist/{chunk-V4NGUB4I.mjs → chunk-XFSZBILE.mjs} +2 -2
  48. package/dist/chunk-XFSZBILE.mjs.map +1 -0
  49. package/dist/{chunk-MBBFU4IR.mjs → chunk-XVFQWVHO.mjs} +3 -9
  50. package/dist/{chunk-MBBFU4IR.mjs.map → chunk-XVFQWVHO.mjs.map} +1 -1
  51. package/dist/chunk-YWNVB7TY.mjs +1 -0
  52. package/dist/{chunk-FT5CX2W5.mjs → chunk-YXHXRUFX.mjs} +7 -10
  53. package/dist/chunk-YXHXRUFX.mjs.map +1 -0
  54. package/dist/footer/footer.d.mts +7 -0
  55. package/dist/footer/footer.d.ts +7 -0
  56. package/dist/footer/footer.js +404 -0
  57. package/dist/footer/footer.js.map +1 -0
  58. package/dist/footer/footer.mjs +26 -0
  59. package/dist/footer/footer.mjs.map +1 -0
  60. package/dist/footer/index.d.mts +7 -0
  61. package/dist/footer/index.d.ts +7 -0
  62. package/dist/footer/index.js +405 -0
  63. package/dist/footer/index.js.map +1 -0
  64. package/dist/footer/index.mjs +19 -0
  65. package/dist/footer/index.mjs.map +1 -0
  66. package/dist/form/checkbox/checkbox.js +122 -24
  67. package/dist/form/checkbox/checkbox.js.map +1 -1
  68. package/dist/form/checkbox/checkbox.mjs +5 -1
  69. package/dist/form/checkbox/index.js +122 -24
  70. package/dist/form/checkbox/index.js.map +1 -1
  71. package/dist/form/checkbox/index.mjs +5 -1
  72. package/dist/form/fieldset/fieldset.d.mts +1 -0
  73. package/dist/form/fieldset/fieldset.d.ts +1 -0
  74. package/dist/form/fieldset/fieldset.js +7 -3
  75. package/dist/form/fieldset/fieldset.js.map +1 -1
  76. package/dist/form/fieldset/fieldset.mjs +5 -3
  77. package/dist/form/fieldset/index.d.mts +1 -0
  78. package/dist/form/fieldset/index.d.ts +1 -0
  79. package/dist/form/fieldset/index.js +7 -3
  80. package/dist/form/fieldset/index.js.map +1 -1
  81. package/dist/form/fieldset/index.mjs +5 -3
  82. package/dist/form/index.d.mts +2 -1
  83. package/dist/form/index.d.ts +2 -1
  84. package/dist/form/index.js +68 -27
  85. package/dist/form/index.js.map +1 -1
  86. package/dist/form/index.mjs +17 -13
  87. package/dist/form/radiobutton/index.d.mts +1 -1
  88. package/dist/form/radiobutton/index.d.ts +1 -1
  89. package/dist/form/radiobutton/index.js +17 -8
  90. package/dist/form/radiobutton/index.js.map +1 -1
  91. package/dist/form/radiobutton/index.mjs +7 -5
  92. package/dist/form/radiobutton/radiobutton.js +13 -6
  93. package/dist/form/radiobutton/radiobutton.js.map +1 -1
  94. package/dist/form/radiobutton/radiobutton.mjs +3 -3
  95. package/dist/form/radiobutton/radiogroup.js +2 -1
  96. package/dist/form/radiobutton/radiogroup.js.map +1 -1
  97. package/dist/form/radiobutton/radiogroup.mjs +2 -2
  98. package/dist/index-no-css.d.mts +11 -1
  99. package/dist/index-no-css.d.ts +11 -1
  100. package/dist/index-no-css.js +517 -302
  101. package/dist/index-no-css.js.map +1 -1
  102. package/dist/index-no-css.mjs +59 -47
  103. package/dist/index.d.mts +11 -1
  104. package/dist/index.d.ts +11 -1
  105. package/dist/index.js +517 -302
  106. package/dist/index.js.map +1 -1
  107. package/dist/index.mjs +59 -47
  108. package/dist/index.mjs.map +1 -1
  109. package/dist/navbar/index.d.mts +2 -0
  110. package/dist/navbar/index.d.ts +2 -0
  111. package/dist/navbar/index.js +42 -9
  112. package/dist/navbar/index.js.map +1 -1
  113. package/dist/navbar/index.mjs +7 -4
  114. package/dist/navbar/navbar-expandable-menu.d.mts +1 -0
  115. package/dist/navbar/navbar-expandable-menu.d.ts +1 -0
  116. package/dist/navbar/navbar-expandable-menu.js +10 -7
  117. package/dist/navbar/navbar-expandable-menu.js.map +1 -1
  118. package/dist/navbar/navbar-expandable-menu.mjs +5 -3
  119. package/dist/navbar/navbar.d.mts +1 -0
  120. package/dist/navbar/navbar.d.ts +1 -0
  121. package/dist/navbar/navbar.js +33 -2
  122. package/dist/navbar/navbar.js.map +1 -1
  123. package/dist/navbar/navbar.mjs +3 -1
  124. package/dist/show-more/index.js +1 -0
  125. package/dist/show-more/index.js.map +1 -1
  126. package/dist/show-more/index.mjs +1 -1
  127. package/dist/skeleton/index.js +25 -2
  128. package/dist/skeleton/index.js.map +1 -1
  129. package/dist/skeleton/index.mjs +1 -1
  130. package/dist/skeleton/skeleton.js +25 -2
  131. package/dist/skeleton/skeleton.js.map +1 -1
  132. package/dist/skeleton/skeleton.mjs +1 -1
  133. package/dist/tabs/context.d.mts +1 -0
  134. package/dist/tabs/context.d.ts +1 -0
  135. package/dist/tabs/context.js +13 -8
  136. package/dist/tabs/context.js.map +1 -1
  137. package/dist/tabs/context.mjs +5 -3
  138. package/dist/tabs/index.js +46 -28
  139. package/dist/tabs/index.js.map +1 -1
  140. package/dist/tabs/index.mjs +5 -5
  141. package/dist/tabs/tabs-content.js +11 -11
  142. package/dist/tabs/tabs-content.js.map +1 -1
  143. package/dist/tabs/tabs-content.mjs +2 -2
  144. package/dist/tabs/tabs-list.js +43 -16
  145. package/dist/tabs/tabs-list.js.map +1 -1
  146. package/dist/tabs/tabs-list.mjs +2 -2
  147. package/dist/tabs/tabs.js +2 -14
  148. package/dist/tabs/tabs.js.map +1 -1
  149. package/dist/tabs/tabs.mjs +2 -2
  150. package/dist/utilities/auto-animate-height.js +1 -0
  151. package/dist/utilities/auto-animate-height.js.map +1 -1
  152. package/dist/utilities/auto-animate-height.mjs +1 -1
  153. package/dist/utilities/index.js +1 -0
  154. package/dist/utilities/index.js.map +1 -1
  155. package/dist/utilities/index.mjs +1 -1
  156. package/package.json +5 -4
  157. package/dist/chunk-2E6XPNPX.mjs.map +0 -1
  158. package/dist/chunk-33JD5XDW.mjs +0 -14
  159. package/dist/chunk-33JD5XDW.mjs.map +0 -1
  160. package/dist/chunk-37WVYY6X.mjs.map +0 -1
  161. package/dist/chunk-EJADADIY.mjs.map +0 -1
  162. package/dist/chunk-FT5CX2W5.mjs.map +0 -1
  163. package/dist/chunk-H4GIHEB2.mjs +0 -1
  164. package/dist/chunk-JMDXW2ML.mjs.map +0 -1
  165. package/dist/chunk-KRGKVH5J.mjs.map +0 -1
  166. package/dist/chunk-OYJQ5MAS.mjs.map +0 -1
  167. package/dist/chunk-PXHYOQPB.mjs +0 -42
  168. package/dist/chunk-PXHYOQPB.mjs.map +0 -1
  169. package/dist/chunk-V4NGUB4I.mjs.map +0 -1
  170. package/dist/chunk-VKRPPQ6F.mjs.map +0 -1
  171. package/dist/chunk-WGVZWX5L.mjs.map +0 -1
  172. package/dist/chunk-XVZ44NGD.mjs +0 -80
  173. package/dist/chunk-XVZ44NGD.mjs.map +0 -1
  174. /package/dist/{chunk-DJRMXOCP.mjs.map → chunk-LIQ3FB56.mjs.map} +0 -0
  175. /package/dist/{chunk-5MDJP43L.mjs.map → chunk-VFFIUNR6.mjs.map} +0 -0
  176. /package/dist/{chunk-H4GIHEB2.mjs.map → chunk-YWNVB7TY.mjs.map} +0 -0
@@ -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("div", { className: clsx("hds-fieldset__input-wrapper"), children: /* @__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-HXV2UMEV.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 <div className={clsx(\"hds-fieldset__input-wrapper\")}>\n <FieldsetContext.Provider value={{ hasError: Boolean(errorMessage) }}>\n {children}\n </FieldsetContext.Provider>\n </div>\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,SAAI,WAAW,KAAK,6BAA6B,GAChD,8BAAC,gBAAgB,UAAhB,EAAyB,OAAO,EAAE,UAAU,QAAQ,YAAY,EAAE,GAChE,UACH,GACF;AAAA,QACA,oBAAC,gBAAa,IAAI,gBAAiB,wBAAa;AAAA;AAAA;AAAA,EAClD;AAEJ,CAAC;","names":["Fieldset"]}
@@ -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":[]}
@@ -1,15 +1,15 @@
1
- import {
2
- AccordionContent
3
- } from "./chunk-KRGKVH5J.mjs";
4
- import {
5
- AccordionHeader
6
- } from "./chunk-FT5CX2W5.mjs";
7
1
  import {
8
2
  AccordionItem
9
- } from "./chunk-SAGJ5W7M.mjs";
3
+ } from "./chunk-62F4I3MQ.mjs";
10
4
  import {
11
5
  Accordion
12
6
  } from "./chunk-VRIY65P5.mjs";
7
+ import {
8
+ AccordionContent
9
+ } from "./chunk-GUB3UCXO.mjs";
10
+ import {
11
+ AccordionHeader
12
+ } from "./chunk-YXHXRUFX.mjs";
13
13
 
14
14
  // src/accordion/index.tsx
15
15
  var AccordionComponent = Accordion;
@@ -20,4 +20,4 @@ AccordionComponent.Content = AccordionContent;
20
20
  export {
21
21
  AccordionComponent
22
22
  };
23
- //# sourceMappingURL=chunk-DJRMXOCP.mjs.map
23
+ //# sourceMappingURL=chunk-LIQ3FB56.mjs.map
@@ -0,0 +1,104 @@
1
+ import {
2
+ useResize
3
+ } from "./chunk-WCA2WPFS.mjs";
4
+ import {
5
+ useTabsContext
6
+ } from "./chunk-KQITCS3U.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 Tab = 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
+ Tab.displayName = "Tabs.Tab";
99
+
100
+ export {
101
+ TabsList,
102
+ Tab
103
+ };
104
+ //# sourceMappingURL=chunk-MUVJAMFN.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<TabProps> | ReactElement<TabProps>[];\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 TabProps extends HTMLAttributes<HTMLButtonElement> {\n children: ReactElement<HTMLElement> | string;\n\n /**\n * Identifier for the tab\n */\n tabId: string;\n}\n\nexport const Tab: OverridableComponent<TabProps, 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\nTab.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,MAAyD;AAAA,EACpE,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,IAAI,cAAc;","names":[]}
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  useRadioGroupContext
3
- } from "./chunk-V4NGUB4I.mjs";
3
+ } from "./chunk-XFSZBILE.mjs";
4
+ import {
5
+ useFieldsetContext
6
+ } from "./chunk-HXV2UMEV.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-RLUXDZ6X.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"]}
@@ -2,13 +2,14 @@ import {
2
2
  NavbarExpandableMenu,
3
3
  NavbarExpandableMenuContent,
4
4
  NavbarExpandableMenuTrigger
5
- } from "./chunk-2E6XPNPX.mjs";
5
+ } from "./chunk-DEVTAZKG.mjs";
6
6
  import {
7
7
  Navbar,
8
8
  NavbarButton,
9
9
  NavbarLogo,
10
+ NavbarLogoAndServiceText,
10
11
  NavbarNavigation
11
- } from "./chunk-JMDXW2ML.mjs";
12
+ } from "./chunk-625SVQEP.mjs";
12
13
 
13
14
  // src/navbar/index.tsx
14
15
  var NavbarExpandableMenuComponent = NavbarExpandableMenu;
@@ -16,6 +17,7 @@ NavbarExpandableMenuComponent.Trigger = NavbarExpandableMenuTrigger;
16
17
  NavbarExpandableMenuComponent.Content = NavbarExpandableMenuContent;
17
18
  var NavbarComponent = Navbar;
18
19
  NavbarComponent.Logo = NavbarLogo;
20
+ NavbarComponent.LogoAndServiceText = NavbarLogoAndServiceText;
19
21
  NavbarComponent.ExpandableMenu = NavbarExpandableMenuComponent;
20
22
  NavbarComponent.Button = NavbarButton;
21
23
  NavbarComponent.Navigation = NavbarNavigation;
@@ -23,4 +25,4 @@ NavbarComponent.Navigation = NavbarNavigation;
23
25
  export {
24
26
  NavbarComponent
25
27
  };
26
- //# sourceMappingURL=chunk-VKRPPQ6F.mjs.map
28
+ //# sourceMappingURL=chunk-TE5M6GJB.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/navbar/index.tsx"],"sourcesContent":["import {\n Navbar,\n NavbarLogo,\n NavbarButton,\n NavbarNavigation,\n NavbarLogoAndServiceText,\n} from \"./navbar\";\nimport {\n useNavbarExpendableMenuContext,\n NavbarExpandableMenu,\n NavbarExpandableMenuTrigger,\n NavbarExpandableMenuContent,\n} from \"./navbar-expandable-menu\";\n\nconst NavbarExpandableMenuComponent = NavbarExpandableMenu as typeof NavbarExpandableMenu & {\n Trigger: typeof NavbarExpandableMenuTrigger;\n Content: typeof NavbarExpandableMenuContent;\n};\nNavbarExpandableMenuComponent.Trigger = NavbarExpandableMenuTrigger;\nNavbarExpandableMenuComponent.Content = NavbarExpandableMenuContent;\n\nconst NavbarComponent = Navbar as typeof Navbar & {\n Logo: typeof NavbarLogo;\n LogoAndServiceText: typeof NavbarLogoAndServiceText;\n ExpandableMenu: typeof NavbarExpandableMenuComponent;\n Button: typeof NavbarButton;\n Navigation: typeof NavbarNavigation;\n};\nNavbarComponent.Logo = NavbarLogo;\nNavbarComponent.LogoAndServiceText = NavbarLogoAndServiceText;\nNavbarComponent.ExpandableMenu = NavbarExpandableMenuComponent;\nNavbarComponent.Button = NavbarButton;\nNavbarComponent.Navigation = NavbarNavigation;\n\nexport { NavbarComponent as Navbar, useNavbarExpendableMenuContext };\nexport type * from \"./navbar\";\n"],"mappings":";;;;;;;;;;;;;;AAcA,IAAM,gCAAgC;AAItC,8BAA8B,UAAU;AACxC,8BAA8B,UAAU;AAExC,IAAM,kBAAkB;AAOxB,gBAAgB,OAAO;AACvB,gBAAgB,qBAAqB;AACrC,gBAAgB,iBAAiB;AACjC,gBAAgB,SAAS;AACzB,gBAAgB,aAAa;","names":[]}
@@ -0,0 +1,19 @@
1
+ import {
2
+ Footer,
3
+ FooterButtonLink,
4
+ FooterLinkSection,
5
+ FooterLinkSections,
6
+ FooterLogo
7
+ } from "./chunk-EHUVLDIZ.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-U2MRMUB2.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":[]}
@@ -1,14 +1,14 @@
1
+ import {
2
+ TabsContent,
3
+ TabsContents
4
+ } from "./chunk-UWTGHSWT.mjs";
1
5
  import {
2
6
  Tab,
3
7
  TabsList
4
- } from "./chunk-XVZ44NGD.mjs";
8
+ } from "./chunk-MUVJAMFN.mjs";
5
9
  import {
6
10
  Tabs
7
- } from "./chunk-MBBFU4IR.mjs";
8
- import {
9
- TabsContent,
10
- TabsContents
11
- } from "./chunk-EJADADIY.mjs";
11
+ } from "./chunk-XVFQWVHO.mjs";
12
12
 
13
13
  // src/tabs/index.tsx
14
14
  var TabsComponent = Tabs;
@@ -20,4 +20,4 @@ TabsComponent.Content = TabsContent;
20
20
  export {
21
21
  TabsComponent
22
22
  };
23
- //# sourceMappingURL=chunk-5MDJP43L.mjs.map
23
+ //# sourceMappingURL=chunk-VFFIUNR6.mjs.map
@@ -0,0 +1,76 @@
1
+ import {
2
+ useFieldsetContext
3
+ } from "./chunk-HXV2UMEV.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-X7EKQZNU.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":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Fieldset
3
- } from "./chunk-37WVYY6X.mjs";
3
+ } from "./chunk-HXV2UMEV.mjs";
4
4
  import {
5
5
  __objRest,
6
6
  __spreadProps,
@@ -31,4 +31,4 @@ export {
31
31
  useRadioGroupContext,
32
32
  RadioGroup
33
33
  };
34
- //# sourceMappingURL=chunk-V4NGUB4I.mjs.map
34
+ //# sourceMappingURL=chunk-XFSZBILE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/form/radiobutton/radiogroup.tsx"],"sourcesContent":["import {\n type ChangeEventHandler,\n createContext,\n forwardRef,\n type ReactNode,\n useContext,\n} from \"react\";\nimport { Fieldset, type FieldsetProps } from \"../fieldset\";\nimport type { RadiobuttonProps } from \"./radiobutton\";\n\nexport interface RadioGroupProps extends Omit<FieldsetProps, \"onChange\"> {\n children: ReactNode;\n /** Will be passed to all Radiobuttons within the radio group */\n name?: RadiobuttonProps[\"name\"];\n /** If you want the group to be controlled, you can pass the selected value here */\n value?: RadiobuttonProps[\"value\"];\n /**\n * Error message is passed to the internal Fieldset, and will also give contained Radiobuttons\n * error styling and aria to indicate invalid state.\n */\n errorMessage?: ReactNode;\n /** Will be passed to all Radiobuttons within the radio group */\n onChange?: ChangeEventHandler<HTMLInputElement> | undefined;\n}\n\ntype RadioGroupContextProps = {\n hasError: boolean;\n} & Pick<RadioGroupProps, \"name\" | \"value\" | \"onChange\">;\n\nconst RadioGroupContext = createContext<RadioGroupContextProps>({\n hasError: false,\n onChange: () => {\n return undefined;\n },\n});\n\nexport const useRadioGroupContext = () => useContext(RadioGroupContext);\n\nexport const RadioGroup = forwardRef<HTMLFieldSetElement, RadioGroupProps>(function RadioGroup(\n { name, value, errorMessage, onChange, children, ...rest },\n ref,\n) {\n return (\n <RadioGroupContext.Provider value={{ name, value, hasError: Boolean(errorMessage), onChange }}>\n <Fieldset errorMessage={errorMessage} {...rest} ref={ref}>\n {children}\n </Fieldset>\n </RadioGroupContext.Provider>\n );\n});\n\nRadioGroup.displayName = \"RadioGroup\";\n"],"mappings":";;;;;;;;;;AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AAsCD;AAfN,IAAM,oBAAoB,cAAsC;AAAA,EAC9D,UAAU;AAAA,EACV,UAAU,MAAM;AACd,WAAO;AAAA,EACT;AACF,CAAC;AAEM,IAAM,uBAAuB,MAAM,WAAW,iBAAiB;AAE/D,IAAM,aAAa,WAAiD,SAASA,YAClF,IACA,KACA;AAFA,eAAE,QAAM,OAAO,cAAc,UAAU,SAvCzC,IAuCE,IAAoD,iBAApD,IAAoD,CAAlD,QAAM,SAAO,gBAAc,YAAU;AAGvC,SACE,oBAAC,kBAAkB,UAAlB,EAA2B,OAAO,EAAE,MAAM,OAAO,UAAU,QAAQ,YAAY,GAAG,SAAS,GAC1F,8BAAC,yCAAS,gBAAgC,OAAzC,EAA+C,KAC7C,WACH,GACF;AAEJ,CAAC;AAED,WAAW,cAAc;","names":["RadioGroup"]}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/tabs/tabs.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef, useState } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { TabsContext } from \"./context\";\nimport type { TabContentsProps } from \"./tabs-content\";\nimport type { TabListProps } from \"./tabs-list\";\n\nexport interface TabsProps extends HTMLAttributes<HTMLElement> {\n children: ReactElement<TabListProps | TabContentsProps>[] | 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\nexport const Tabs: OverridableComponent<TabsProps, HTMLDivElement> = forwardRef(\n ({ as: Component = \"div\", defaultTab, children, ...rest }, ref) => {\n const [activeTabId, setActiveTabId] = useState<string>(defaultTab);\n return (\n <Component className={clsx(\"hds-tabs\")} ref={ref} {...rest}>\n <TabsContext.Provider\n value={{ activeTabId, toggleActiveTabId: setActiveTabId, mounted: true }}\n >\n {children}\n </TabsContext.Provider>\n </Component>\n );\n },\n);\n\nTabs.displayName = \"Tabs\";\n"],"mappings":";;;;;;;;;;AACA,SAAS,YAAY,gBAAgB;AACrC,SAAS,YAAY;AAoBb;AALD,IAAM,OAAwD;AAAA,EACnE,CAAC,IAA0D,QAAQ;AAAlE,iBAAE,MAAI,YAAY,OAAO,YAAY,SAlBxC,IAkBG,IAAkD,iBAAlD,IAAkD,CAAhD,MAAuB,cAAY;AACpC,UAAM,CAAC,aAAa,cAAc,IAAI,SAAiB,UAAU;AACjE,WACE,oBAAC,0CAAU,WAAW,KAAK,UAAU,GAAG,OAAc,OAArD,EACC;AAAA,MAAC,YAAY;AAAA,MAAZ;AAAA,QACC,OAAO,EAAE,aAAa,mBAAmB,gBAAgB,SAAS,KAAK;AAAA,QAEtE;AAAA;AAAA,IACH,IACF;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;","names":[]}
1
+ {"version":3,"sources":["../src/tabs/tabs.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef, useState } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { TabsContext } from \"./context\";\nimport type { TabContentsProps } from \"./tabs-content\";\nimport type { TabListProps } from \"./tabs-list\";\n\nexport interface TabsProps extends HTMLAttributes<HTMLElement> {\n children: ReactElement<TabListProps | TabContentsProps>[] | 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\nexport const Tabs: OverridableComponent<TabsProps, HTMLDivElement> = forwardRef(\n ({ as: Component = \"div\", defaultTab, children, ...rest }, ref) => {\n const [activeTabId, setActiveTabId] = useState<string>(defaultTab);\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);\n\nTabs.displayName = \"Tabs\";\n"],"mappings":";;;;;;;;;;AACA,SAAS,YAAY,gBAAgB;AACrC,SAAS,YAAY;AAoBb;AALD,IAAM,OAAwD;AAAA,EACnE,CAAC,IAA0D,QAAQ;AAAlE,iBAAE,MAAI,YAAY,OAAO,YAAY,SAlBxC,IAkBG,IAAkD,iBAAlD,IAAkD,CAAhD,MAAuB,cAAY;AACpC,UAAM,CAAC,aAAa,cAAc,IAAI,SAAiB,UAAU;AACjE,WACE,oBAAC,0CAAU,WAAW,KAAK,UAAU,GAAG,OAAc,OAArD,EACC,8BAAC,YAAY,UAAZ,EAAqB,OAAO,EAAE,aAAa,mBAAmB,eAAe,GAC3E,UACH,IACF;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;","names":[]}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=chunk-YWNVB7TY.mjs.map
@@ -13,23 +13,20 @@ import { clsx } from "@postenbring/hedwig-css/typed-classname";
13
13
  import { jsx } from "react/jsx-runtime";
14
14
  var AccordionHeader = forwardRef((_a, ref) => {
15
15
  var _b = _a, { as: Component = "button", children, className, onClick } = _b, rest = __objRest(_b, ["as", "children", "className", "onClick"]);
16
- const itemContext = useContext(AccordionItemContext);
17
- if (itemContext === null) {
16
+ const context = useContext(AccordionItemContext);
17
+ if (context === null) {
18
18
  return null;
19
19
  }
20
20
  const expandOrCollapse = (e) => {
21
- itemContext.setOpen(!itemContext.open);
21
+ context.setOpen(!context.open);
22
22
  onClick && onClick(e);
23
23
  };
24
24
  return /* @__PURE__ */ jsx(
25
25
  Component,
26
26
  __spreadProps(__spreadValues({}, rest), {
27
- "aria-expanded": itemContext.open,
28
- className: clsx(
29
- "hds-accordion-item-header",
30
- { "hds-accordion-item-header--open": itemContext.open },
31
- className
32
- ),
27
+ "aria-expanded": context.open,
28
+ "data-state": context.open ? "open" : "closed",
29
+ className: clsx("hds-accordion-item-header", className),
33
30
  onClick: expandOrCollapse,
34
31
  ref,
35
32
  type: "button",
@@ -42,4 +39,4 @@ AccordionHeader.displayName = "Accordion.Header";
42
39
  export {
43
40
  AccordionHeader
44
41
  };
45
- //# sourceMappingURL=chunk-FT5CX2W5.mjs.map
42
+ //# sourceMappingURL=chunk-YXHXRUFX.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/accordion/accordion-header.tsx"],"sourcesContent":["import type { ButtonHTMLAttributes, MouseEvent, 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 AccordionHeaderProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n children: ReactNode;\n}\n\nexport const AccordionHeader: OverridableComponent<AccordionHeaderProps, HTMLButtonElement> =\n forwardRef(({ as: Component = \"button\", children, className, onClick, ...rest }, ref) => {\n const context = useContext(AccordionItemContext);\n if (context === null) {\n return null;\n }\n const expandOrCollapse = (e: MouseEvent<HTMLButtonElement>) => {\n context.setOpen(!context.open);\n onClick && onClick(e);\n };\n return (\n <Component\n {...rest}\n aria-expanded={context.open}\n data-state={context.open ? \"open\" : \"closed\"}\n className={clsx(\"hds-accordion-item-header\", className as undefined)}\n onClick={expandOrCollapse}\n ref={ref}\n type=\"button\"\n >\n <span>{children}</span>\n </Component>\n );\n });\n\nAccordionHeader.displayName = \"Accordion.Header\";\n"],"mappings":";;;;;;;;;;AACA,SAAS,YAAY,kBAAkB;AACvC,SAAS,YAAY;AA4Bb;AApBD,IAAM,kBACX,WAAW,CAAC,IAAqE,QAAQ;AAA7E,eAAE,MAAI,YAAY,UAAU,UAAU,WAAW,QAX/D,IAWc,IAA6D,iBAA7D,IAA6D,CAA3D,MAA0B,YAAU,aAAW;AAC3D,QAAM,UAAU,WAAW,oBAAoB;AAC/C,MAAI,YAAY,MAAM;AACpB,WAAO;AAAA,EACT;AACA,QAAM,mBAAmB,CAAC,MAAqC;AAC7D,YAAQ,QAAQ,CAAC,QAAQ,IAAI;AAC7B,eAAW,QAAQ,CAAC;AAAA,EACtB;AACA,SACE;AAAA,IAAC;AAAA,qCACK,OADL;AAAA,MAEC,iBAAe,QAAQ;AAAA,MACvB,cAAY,QAAQ,OAAO,SAAS;AAAA,MACpC,WAAW,KAAK,6BAA6B,SAAsB;AAAA,MACnE,SAAS;AAAA,MACT;AAAA,MACA,MAAK;AAAA,MAEL,8BAAC,UAAM,UAAS;AAAA;AAAA,EAClB;AAEJ,CAAC;AAEH,gBAAgB,cAAc;","names":[]}
@@ -0,0 +1,7 @@
1
+ export { FooterProps_alias_2 as FooterProps } from '../_tsup-dts-rollup';
2
+ export { Footer_alias_2 as Footer } from '../_tsup-dts-rollup';
3
+ export { FooterButtonLinkProps_alias_2 as FooterButtonLinkProps } from '../_tsup-dts-rollup';
4
+ export { FooterButtonLink_alias_2 as FooterButtonLink } from '../_tsup-dts-rollup';
5
+ export { FooterLogo_alias_2 as FooterLogo } from '../_tsup-dts-rollup';
6
+ export { FooterLinkSections_alias_2 as FooterLinkSections } from '../_tsup-dts-rollup';
7
+ export { FooterLinkSection_alias_2 as FooterLinkSection } from '../_tsup-dts-rollup';
@@ -0,0 +1,7 @@
1
+ export { FooterProps_alias_2 as FooterProps } from '../_tsup-dts-rollup';
2
+ export { Footer_alias_2 as Footer } from '../_tsup-dts-rollup';
3
+ export { FooterButtonLinkProps_alias_2 as FooterButtonLinkProps } from '../_tsup-dts-rollup';
4
+ export { FooterButtonLink_alias_2 as FooterButtonLink } from '../_tsup-dts-rollup';
5
+ export { FooterLogo_alias_2 as FooterLogo } from '../_tsup-dts-rollup';
6
+ export { FooterLinkSections_alias_2 as FooterLinkSections } from '../_tsup-dts-rollup';
7
+ export { FooterLinkSection_alias_2 as FooterLinkSection } from '../_tsup-dts-rollup';