@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.
- package/dist/_tsup-dts-rollup.d.mts +228 -19
- package/dist/_tsup-dts-rollup.d.ts +228 -19
- package/dist/accordion/accordion-content.js +5 -9
- package/dist/accordion/accordion-content.js.map +1 -1
- package/dist/accordion/accordion-content.mjs +1 -1
- package/dist/accordion/accordion-header.js +6 -9
- package/dist/accordion/accordion-header.js.map +1 -1
- package/dist/accordion/accordion-header.mjs +1 -1
- package/dist/accordion/accordion-item.js +2 -7
- package/dist/accordion/accordion-item.js.map +1 -1
- package/dist/accordion/accordion-item.mjs +1 -1
- package/dist/accordion/index.js +13 -25
- package/dist/accordion/index.js.map +1 -1
- package/dist/accordion/index.mjs +4 -4
- package/dist/{chunk-JMDXW2ML.mjs → chunk-625SVQEP.mjs} +33 -3
- package/dist/chunk-625SVQEP.mjs.map +1 -0
- package/dist/{chunk-SAGJ5W7M.mjs → chunk-62F4I3MQ.mjs} +3 -8
- package/dist/{chunk-SAGJ5W7M.mjs.map → chunk-62F4I3MQ.mjs.map} +1 -1
- package/dist/{chunk-OYJQ5MAS.mjs → chunk-A47QULAK.mjs} +26 -3
- package/dist/chunk-A47QULAK.mjs.map +1 -0
- package/dist/{chunk-Q6REETZD.mjs → chunk-AKYK3XFN.mjs} +2 -1
- package/dist/{chunk-Q6REETZD.mjs.map → chunk-AKYK3XFN.mjs.map} +1 -1
- package/dist/{chunk-2E6XPNPX.mjs → chunk-DEVTAZKG.mjs} +8 -6
- package/dist/chunk-DEVTAZKG.mjs.map +1 -0
- package/dist/chunk-EHUVLDIZ.mjs +121 -0
- package/dist/chunk-EHUVLDIZ.mjs.map +1 -0
- package/dist/{chunk-KRGKVH5J.mjs → chunk-GUB3UCXO.mjs} +6 -10
- package/dist/chunk-GUB3UCXO.mjs.map +1 -0
- package/dist/{chunk-37WVYY6X.mjs → chunk-HXV2UMEV.mjs} +6 -3
- package/dist/chunk-HXV2UMEV.mjs.map +1 -0
- package/dist/chunk-KQITCS3U.mjs +18 -0
- package/dist/chunk-KQITCS3U.mjs.map +1 -0
- package/dist/{chunk-DJRMXOCP.mjs → chunk-LIQ3FB56.mjs} +8 -8
- package/dist/chunk-MUVJAMFN.mjs +104 -0
- package/dist/chunk-MUVJAMFN.mjs.map +1 -0
- package/dist/{chunk-WGVZWX5L.mjs → chunk-RLUXDZ6X.mjs} +14 -4
- package/dist/chunk-RLUXDZ6X.mjs.map +1 -0
- package/dist/{chunk-VKRPPQ6F.mjs → chunk-TE5M6GJB.mjs} +5 -3
- package/dist/chunk-TE5M6GJB.mjs.map +1 -0
- package/dist/chunk-U2MRMUB2.mjs +19 -0
- package/dist/chunk-U2MRMUB2.mjs.map +1 -0
- package/dist/{chunk-EJADADIY.mjs → chunk-UWTGHSWT.mjs} +6 -9
- package/dist/chunk-UWTGHSWT.mjs.map +1 -0
- package/dist/{chunk-5MDJP43L.mjs → chunk-VFFIUNR6.mjs} +7 -7
- package/dist/chunk-X7EKQZNU.mjs +76 -0
- package/dist/chunk-X7EKQZNU.mjs.map +1 -0
- package/dist/{chunk-V4NGUB4I.mjs → chunk-XFSZBILE.mjs} +2 -2
- package/dist/chunk-XFSZBILE.mjs.map +1 -0
- package/dist/{chunk-MBBFU4IR.mjs → chunk-XVFQWVHO.mjs} +3 -9
- package/dist/{chunk-MBBFU4IR.mjs.map → chunk-XVFQWVHO.mjs.map} +1 -1
- package/dist/chunk-YWNVB7TY.mjs +1 -0
- package/dist/{chunk-FT5CX2W5.mjs → chunk-YXHXRUFX.mjs} +7 -10
- package/dist/chunk-YXHXRUFX.mjs.map +1 -0
- package/dist/footer/footer.d.mts +7 -0
- package/dist/footer/footer.d.ts +7 -0
- package/dist/footer/footer.js +404 -0
- package/dist/footer/footer.js.map +1 -0
- package/dist/footer/footer.mjs +26 -0
- package/dist/footer/footer.mjs.map +1 -0
- package/dist/footer/index.d.mts +7 -0
- package/dist/footer/index.d.ts +7 -0
- package/dist/footer/index.js +405 -0
- package/dist/footer/index.js.map +1 -0
- package/dist/footer/index.mjs +19 -0
- package/dist/footer/index.mjs.map +1 -0
- package/dist/form/checkbox/checkbox.js +122 -24
- package/dist/form/checkbox/checkbox.js.map +1 -1
- package/dist/form/checkbox/checkbox.mjs +5 -1
- package/dist/form/checkbox/index.js +122 -24
- package/dist/form/checkbox/index.js.map +1 -1
- package/dist/form/checkbox/index.mjs +5 -1
- package/dist/form/fieldset/fieldset.d.mts +1 -0
- package/dist/form/fieldset/fieldset.d.ts +1 -0
- package/dist/form/fieldset/fieldset.js +7 -3
- package/dist/form/fieldset/fieldset.js.map +1 -1
- package/dist/form/fieldset/fieldset.mjs +5 -3
- package/dist/form/fieldset/index.d.mts +1 -0
- package/dist/form/fieldset/index.d.ts +1 -0
- package/dist/form/fieldset/index.js +7 -3
- package/dist/form/fieldset/index.js.map +1 -1
- package/dist/form/fieldset/index.mjs +5 -3
- package/dist/form/index.d.mts +2 -1
- package/dist/form/index.d.ts +2 -1
- package/dist/form/index.js +68 -27
- package/dist/form/index.js.map +1 -1
- package/dist/form/index.mjs +17 -13
- package/dist/form/radiobutton/index.d.mts +1 -1
- package/dist/form/radiobutton/index.d.ts +1 -1
- package/dist/form/radiobutton/index.js +17 -8
- package/dist/form/radiobutton/index.js.map +1 -1
- package/dist/form/radiobutton/index.mjs +7 -5
- package/dist/form/radiobutton/radiobutton.js +13 -6
- package/dist/form/radiobutton/radiobutton.js.map +1 -1
- package/dist/form/radiobutton/radiobutton.mjs +3 -3
- package/dist/form/radiobutton/radiogroup.js +2 -1
- package/dist/form/radiobutton/radiogroup.js.map +1 -1
- package/dist/form/radiobutton/radiogroup.mjs +2 -2
- package/dist/index-no-css.d.mts +11 -1
- package/dist/index-no-css.d.ts +11 -1
- package/dist/index-no-css.js +517 -302
- package/dist/index-no-css.js.map +1 -1
- package/dist/index-no-css.mjs +59 -47
- package/dist/index.d.mts +11 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.js +517 -302
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +59 -47
- package/dist/index.mjs.map +1 -1
- package/dist/navbar/index.d.mts +2 -0
- package/dist/navbar/index.d.ts +2 -0
- package/dist/navbar/index.js +42 -9
- package/dist/navbar/index.js.map +1 -1
- package/dist/navbar/index.mjs +7 -4
- package/dist/navbar/navbar-expandable-menu.d.mts +1 -0
- package/dist/navbar/navbar-expandable-menu.d.ts +1 -0
- package/dist/navbar/navbar-expandable-menu.js +10 -7
- package/dist/navbar/navbar-expandable-menu.js.map +1 -1
- package/dist/navbar/navbar-expandable-menu.mjs +5 -3
- package/dist/navbar/navbar.d.mts +1 -0
- package/dist/navbar/navbar.d.ts +1 -0
- package/dist/navbar/navbar.js +33 -2
- package/dist/navbar/navbar.js.map +1 -1
- package/dist/navbar/navbar.mjs +3 -1
- package/dist/show-more/index.js +1 -0
- package/dist/show-more/index.js.map +1 -1
- package/dist/show-more/index.mjs +1 -1
- package/dist/skeleton/index.js +25 -2
- package/dist/skeleton/index.js.map +1 -1
- package/dist/skeleton/index.mjs +1 -1
- package/dist/skeleton/skeleton.js +25 -2
- package/dist/skeleton/skeleton.js.map +1 -1
- package/dist/skeleton/skeleton.mjs +1 -1
- package/dist/tabs/context.d.mts +1 -0
- package/dist/tabs/context.d.ts +1 -0
- package/dist/tabs/context.js +13 -8
- package/dist/tabs/context.js.map +1 -1
- package/dist/tabs/context.mjs +5 -3
- package/dist/tabs/index.js +46 -28
- package/dist/tabs/index.js.map +1 -1
- package/dist/tabs/index.mjs +5 -5
- package/dist/tabs/tabs-content.js +11 -11
- package/dist/tabs/tabs-content.js.map +1 -1
- package/dist/tabs/tabs-content.mjs +2 -2
- package/dist/tabs/tabs-list.js +43 -16
- package/dist/tabs/tabs-list.js.map +1 -1
- package/dist/tabs/tabs-list.mjs +2 -2
- package/dist/tabs/tabs.js +2 -14
- package/dist/tabs/tabs.js.map +1 -1
- package/dist/tabs/tabs.mjs +2 -2
- package/dist/utilities/auto-animate-height.js +1 -0
- package/dist/utilities/auto-animate-height.js.map +1 -1
- package/dist/utilities/auto-animate-height.mjs +1 -1
- package/dist/utilities/index.js +1 -0
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/index.mjs +1 -1
- package/package.json +5 -4
- package/dist/chunk-2E6XPNPX.mjs.map +0 -1
- package/dist/chunk-33JD5XDW.mjs +0 -14
- package/dist/chunk-33JD5XDW.mjs.map +0 -1
- package/dist/chunk-37WVYY6X.mjs.map +0 -1
- package/dist/chunk-EJADADIY.mjs.map +0 -1
- package/dist/chunk-FT5CX2W5.mjs.map +0 -1
- package/dist/chunk-H4GIHEB2.mjs +0 -1
- package/dist/chunk-JMDXW2ML.mjs.map +0 -1
- package/dist/chunk-KRGKVH5J.mjs.map +0 -1
- package/dist/chunk-OYJQ5MAS.mjs.map +0 -1
- package/dist/chunk-PXHYOQPB.mjs +0 -42
- package/dist/chunk-PXHYOQPB.mjs.map +0 -1
- package/dist/chunk-V4NGUB4I.mjs.map +0 -1
- package/dist/chunk-VKRPPQ6F.mjs.map +0 -1
- package/dist/chunk-WGVZWX5L.mjs.map +0 -1
- package/dist/chunk-XVZ44NGD.mjs +0 -80
- package/dist/chunk-XVZ44NGD.mjs.map +0 -1
- /package/dist/{chunk-DJRMXOCP.mjs.map → chunk-LIQ3FB56.mjs.map} +0 -0
- /package/dist/{chunk-5MDJP43L.mjs.map → chunk-VFFIUNR6.mjs.map} +0 -0
- /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-
|
|
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-
|
|
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-
|
|
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-
|
|
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(), {
|
|
45
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
-
|
|
3
|
-
} from "./chunk-
|
|
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
|
|
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-
|
|
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 =
|
|
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-
|
|
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-
|
|
8
|
+
} from "./chunk-MUVJAMFN.mjs";
|
|
5
9
|
import {
|
|
6
10
|
Tabs
|
|
7
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
17
|
-
if (
|
|
16
|
+
const context = useContext(AccordionItemContext);
|
|
17
|
+
if (context === null) {
|
|
18
18
|
return null;
|
|
19
19
|
}
|
|
20
20
|
const expandOrCollapse = (e) => {
|
|
21
|
-
|
|
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":
|
|
28
|
-
|
|
29
|
-
|
|
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-
|
|
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';
|