@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
@@ -0,0 +1,405 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues = (a, b) => {
12
+ for (var prop in b || (b = {}))
13
+ if (__hasOwnProp.call(b, prop))
14
+ __defNormalProp(a, prop, b[prop]);
15
+ if (__getOwnPropSymbols)
16
+ for (var prop of __getOwnPropSymbols(b)) {
17
+ if (__propIsEnum.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
23
+ var __objRest = (source, exclude) => {
24
+ var target = {};
25
+ for (var prop in source)
26
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
27
+ target[prop] = source[prop];
28
+ if (source != null && __getOwnPropSymbols)
29
+ for (var prop of __getOwnPropSymbols(source)) {
30
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
31
+ target[prop] = source[prop];
32
+ }
33
+ return target;
34
+ };
35
+ var __export = (target, all) => {
36
+ for (var name in all)
37
+ __defProp(target, name, { get: all[name], enumerable: true });
38
+ };
39
+ var __copyProps = (to, from, except, desc) => {
40
+ if (from && typeof from === "object" || typeof from === "function") {
41
+ for (let key of __getOwnPropNames(from))
42
+ if (!__hasOwnProp.call(to, key) && key !== except)
43
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
44
+ }
45
+ return to;
46
+ };
47
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
48
+
49
+ // src/footer/index.tsx
50
+ var footer_exports = {};
51
+ __export(footer_exports, {
52
+ Footer: () => FooterComponent
53
+ });
54
+ module.exports = __toCommonJS(footer_exports);
55
+
56
+ // src/footer/footer.tsx
57
+ var import_react7 = require("react");
58
+ var import_typed_classname8 = require("@postenbring/hedwig-css/typed-classname");
59
+ var import_react_slot = require("@radix-ui/react-slot");
60
+
61
+ // src/accordion/accordion.tsx
62
+ var import_react = require("react");
63
+ var import_typed_classname = require("@postenbring/hedwig-css/typed-classname");
64
+ var import_jsx_runtime = require("react/jsx-runtime");
65
+ var Accordion = (0, import_react.forwardRef)(
66
+ (_a, ref) => {
67
+ var _b = _a, { as: Component = "div", children, className, indent = true } = _b, rest = __objRest(_b, ["as", "children", "className", "indent"]);
68
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
69
+ Component,
70
+ __spreadProps(__spreadValues({}, rest), {
71
+ className: (0, import_typed_classname.clsx)(
72
+ "hds-accordion",
73
+ !indent && "hds-accordion--no-indent",
74
+ className
75
+ ),
76
+ ref,
77
+ children
78
+ })
79
+ );
80
+ }
81
+ );
82
+ Accordion.displayName = "Accordion";
83
+
84
+ // src/accordion/accordion-item.tsx
85
+ var import_react3 = require("react");
86
+ var import_typed_classname2 = require("@postenbring/hedwig-css/typed-classname");
87
+
88
+ // src/accordion/context.ts
89
+ var import_react2 = require("react");
90
+ var AccordionItemContext = (0, import_react2.createContext)(null);
91
+
92
+ // src/accordion/accordion-item.tsx
93
+ var import_jsx_runtime2 = require("react/jsx-runtime");
94
+ var AccordionItem = (0, import_react3.forwardRef)(
95
+ (_a, ref) => {
96
+ var _b = _a, {
97
+ as: Component = "div",
98
+ children,
99
+ defaultOpen,
100
+ open: outerOpen,
101
+ onOpenChange,
102
+ className
103
+ } = _b, rest = __objRest(_b, [
104
+ "as",
105
+ "children",
106
+ "defaultOpen",
107
+ "open",
108
+ "onOpenChange",
109
+ "className"
110
+ ]);
111
+ const [innerOpen, setInnerOpen] = (0, import_react3.useState)(defaultOpen != null ? defaultOpen : false);
112
+ const open = outerOpen != null ? outerOpen : innerOpen;
113
+ const handleOpen = () => {
114
+ if (outerOpen !== void 0) {
115
+ onOpenChange && onOpenChange(!open);
116
+ } else {
117
+ setInnerOpen(!open);
118
+ }
119
+ };
120
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
121
+ Component,
122
+ __spreadProps(__spreadValues({}, rest), {
123
+ "data-state": open ? "open" : "closed",
124
+ className: (0, import_typed_classname2.clsx)("hds-accordion-item", className),
125
+ ref,
126
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(AccordionItemContext.Provider, { value: { open, setOpen: handleOpen }, children })
127
+ })
128
+ );
129
+ }
130
+ );
131
+ AccordionItem.displayName = "Accordion.Item";
132
+
133
+ // src/accordion/accordion-header.tsx
134
+ var import_react4 = require("react");
135
+ var import_typed_classname3 = require("@postenbring/hedwig-css/typed-classname");
136
+ var import_jsx_runtime3 = require("react/jsx-runtime");
137
+ var AccordionHeader = (0, import_react4.forwardRef)((_a, ref) => {
138
+ var _b = _a, { as: Component = "button", children, className, onClick } = _b, rest = __objRest(_b, ["as", "children", "className", "onClick"]);
139
+ const context = (0, import_react4.useContext)(AccordionItemContext);
140
+ if (context === null) {
141
+ return null;
142
+ }
143
+ const expandOrCollapse = (e) => {
144
+ context.setOpen(!context.open);
145
+ onClick && onClick(e);
146
+ };
147
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
148
+ Component,
149
+ __spreadProps(__spreadValues({}, rest), {
150
+ "aria-expanded": context.open,
151
+ "data-state": context.open ? "open" : "closed",
152
+ className: (0, import_typed_classname3.clsx)("hds-accordion-item-header", className),
153
+ onClick: expandOrCollapse,
154
+ ref,
155
+ type: "button",
156
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { children })
157
+ })
158
+ );
159
+ });
160
+ AccordionHeader.displayName = "Accordion.Header";
161
+
162
+ // src/accordion/accordion-content.tsx
163
+ var import_react5 = require("react");
164
+ var import_typed_classname4 = require("@postenbring/hedwig-css/typed-classname");
165
+ var import_jsx_runtime4 = require("react/jsx-runtime");
166
+ var AccordionContent = (0, import_react5.forwardRef)((_a, ref) => {
167
+ var _b = _a, { as: Component = "div", children, className } = _b, rest = __objRest(_b, ["as", "children", "className"]);
168
+ const context = (0, import_react5.useContext)(AccordionItemContext);
169
+ if (context === null) {
170
+ return null;
171
+ }
172
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
173
+ Component,
174
+ __spreadProps(__spreadValues({
175
+ "aria-hidden": !context.open,
176
+ "data-state": context.open ? "open" : "closed",
177
+ inert: context.open ? void 0 : "true",
178
+ className: (0, import_typed_classname4.clsx)("hds-accordion-item-content", className),
179
+ ref
180
+ }, rest), {
181
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: (0, import_typed_classname4.clsx)("hds-accordion-item-content-inner"), children })
182
+ })
183
+ );
184
+ });
185
+ AccordionContent.displayName = "Accordion.Content";
186
+
187
+ // src/accordion/index.tsx
188
+ var AccordionComponent = Accordion;
189
+ AccordionComponent.Item = AccordionItem;
190
+ AccordionComponent.Header = AccordionHeader;
191
+ AccordionComponent.Content = AccordionContent;
192
+
193
+ // src/list/link-list.tsx
194
+ var React2 = require("react");
195
+ var import_typed_classname6 = require("@postenbring/hedwig-css/typed-classname");
196
+
197
+ // src/list/list.tsx
198
+ var React = require("react");
199
+ var import_typed_classname5 = require("@postenbring/hedwig-css/typed-classname");
200
+ var import_jsx_runtime5 = require("react/jsx-runtime");
201
+ function BaseList(_a) {
202
+ var _b = _a, {
203
+ as: ListTag = "ul",
204
+ children,
205
+ size = "medium",
206
+ className
207
+ } = _b, rest = __objRest(_b, [
208
+ "as",
209
+ "children",
210
+ "size",
211
+ "className"
212
+ ]);
213
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ListTag, __spreadProps(__spreadValues({ className: (0, import_typed_classname5.clsx)("hds-list", `hds-list--${size}`, className) }, rest), { children }));
214
+ }
215
+ function UnorderedList(props) {
216
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(BaseList, __spreadProps(__spreadValues({ as: "ul" }, props), { children: props.children }));
217
+ }
218
+ function OrderedList(props) {
219
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(BaseList, __spreadProps(__spreadValues({ as: "ol" }, props), { children: props.children }));
220
+ }
221
+ BaseList.displayName = "BaseList";
222
+ OrderedList.displayName = "OrderedList";
223
+ UnorderedList.displayName = "UnorderedList";
224
+
225
+ // src/list/link-list.tsx
226
+ var import_jsx_runtime6 = require("react/jsx-runtime");
227
+ function LinkList(_a) {
228
+ var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
229
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(UnorderedList, __spreadValues({ className: (0, import_typed_classname6.clsx)("hds-list--link-list", className) }, rest));
230
+ }
231
+ LinkList.displayName = "LinkList";
232
+
233
+ // src/button/button.tsx
234
+ var import_react6 = require("react");
235
+ var import_typed_classname7 = require("@postenbring/hedwig-css/typed-classname");
236
+ var import_jsx_runtime7 = require("react/jsx-runtime");
237
+ var BaseButton = (0, import_react6.forwardRef)(
238
+ (_a, ref) => {
239
+ var _b = _a, {
240
+ as: Component = "button",
241
+ children,
242
+ variant,
243
+ size = "medium",
244
+ fullWidth = false,
245
+ fill = "contained",
246
+ icon,
247
+ className
248
+ } = _b, rest = __objRest(_b, [
249
+ "as",
250
+ "children",
251
+ "variant",
252
+ "size",
253
+ "fullWidth",
254
+ "fill",
255
+ "icon",
256
+ "className"
257
+ ]);
258
+ if (fill === "outlined") {
259
+ console.warn("The `fill` value `outlined` is deprecated, use `fill='outline'` instead");
260
+ }
261
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
262
+ Component,
263
+ __spreadProps(__spreadValues({
264
+ className: (0, import_typed_classname7.clsx)(
265
+ "hds-button",
266
+ `hds-button--${size}`,
267
+ {
268
+ [`hds-button--${variant}`]: fill === "contained",
269
+ [`hds-button--outline-${variant}`]: fill === "outline" || fill === "outlined",
270
+ "hds-button--full": fullWidth === true,
271
+ "hds-button--mobile-full": fullWidth === "mobile",
272
+ "hds-button--icon-only": icon && !children
273
+ },
274
+ className
275
+ ),
276
+ ref
277
+ }, rest), {
278
+ children: [
279
+ icon && !children ? icon : null,
280
+ children
281
+ ]
282
+ })
283
+ );
284
+ }
285
+ );
286
+ BaseButton.displayName = "BaseButton";
287
+ var PrimaryButton = (0, import_react6.forwardRef)(
288
+ (props, ref) => {
289
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(BaseButton, __spreadProps(__spreadValues({}, props), { ref, variant: "primary" }));
290
+ }
291
+ );
292
+ PrimaryButton.displayName = "PrimaryButton";
293
+ var SecondaryButton = (0, import_react6.forwardRef)(
294
+ (props, ref) => {
295
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(BaseButton, __spreadProps(__spreadValues({}, props), { ref, variant: "secondary" }));
296
+ }
297
+ );
298
+ SecondaryButton.displayName = "SecondaryButton";
299
+
300
+ // src/footer/footer.tsx
301
+ var import_jsx_runtime8 = require("react/jsx-runtime");
302
+ var Footer = (0, import_react7.forwardRef)(
303
+ (_a, ref) => {
304
+ var _b = _a, { children, className, variant, asChild } = _b, rest = __objRest(_b, ["children", "className", "variant", "asChild"]);
305
+ const Component = asChild ? import_react_slot.Slot : "footer";
306
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
307
+ Component,
308
+ __spreadProps(__spreadValues({
309
+ className: (0, import_typed_classname8.clsx)(
310
+ `hds-footer`,
311
+ variant === "slim" && "hds-footer--slim",
312
+ className
313
+ ),
314
+ ref
315
+ }, rest), {
316
+ children
317
+ })
318
+ );
319
+ }
320
+ );
321
+ Footer.displayName = "Footer";
322
+ var FooterButtonLink = (0, import_react7.forwardRef)(
323
+ (_a, ref) => {
324
+ var _b = _a, { children, className, asChild } = _b, rest = __objRest(_b, ["children", "className", "asChild"]);
325
+ const Component = asChild ? import_react_slot.Slot : "a";
326
+ return (
327
+ // @ts-expect-error -- It's ok, types are a bit off
328
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
329
+ PrimaryButton,
330
+ __spreadProps(__spreadValues({
331
+ as: Component,
332
+ fill: "outline",
333
+ className: (0, import_typed_classname8.clsx)(className),
334
+ ref
335
+ }, rest), {
336
+ children
337
+ })
338
+ )
339
+ );
340
+ }
341
+ );
342
+ FooterButtonLink.displayName = "FooterButton";
343
+ var FooterLogo = (0, import_react7.forwardRef)(
344
+ (_a, ref) => {
345
+ var _b = _a, { children, className, asChild } = _b, rest = __objRest(_b, ["children", "className", "asChild"]);
346
+ const Component = asChild ? import_react_slot.Slot : "div";
347
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Component, __spreadProps(__spreadValues({ className: (0, import_typed_classname8.clsx)(`hds-footer__logo`, className), ref }, rest), { children }));
348
+ }
349
+ );
350
+ FooterLogo.displayName = "Footer.Logo";
351
+ var FooterLinkSections = (0, import_react7.forwardRef)(
352
+ (_a, ref) => {
353
+ var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
354
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
355
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
356
+ AccordionComponent,
357
+ __spreadProps(__spreadValues({
358
+ className: (0, import_typed_classname8.clsx)("hds-footer__link-sections", className),
359
+ ref
360
+ }, rest), {
361
+ children
362
+ })
363
+ ),
364
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", __spreadProps(__spreadValues({ className: (0, import_typed_classname8.clsx)("hds-footer__link-sections", className) }, rest), { children }))
365
+ ] });
366
+ }
367
+ );
368
+ FooterLinkSections.displayName = "Footer.LinkSections";
369
+ var FooterLinkSection = (0, import_react7.forwardRef)(
370
+ (_a, ref) => {
371
+ var _b = _a, { heading, children, className } = _b, rest = __objRest(_b, ["heading", "children", "className"]);
372
+ const linkListChildren = /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(LinkList, { children });
373
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
374
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
375
+ AccordionComponent.Item,
376
+ __spreadProps(__spreadValues({
377
+ className: (0, import_typed_classname8.clsx)(`hds-footer__link-section`, className),
378
+ ref
379
+ }, rest), {
380
+ children: [
381
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionComponent.Header, { children: heading }),
382
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(AccordionComponent.Content, { children: linkListChildren })
383
+ ]
384
+ })
385
+ ),
386
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: (0, import_typed_classname8.clsx)(`hds-footer__link-section`, className), children: [
387
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("h2", { children: heading }),
388
+ linkListChildren
389
+ ] })
390
+ ] });
391
+ }
392
+ );
393
+ FooterLinkSection.displayName = "Footer.LinkSection";
394
+
395
+ // src/footer/index.tsx
396
+ var FooterComponent = Footer;
397
+ FooterComponent.Logo = FooterLogo;
398
+ FooterComponent.ButtonLink = FooterButtonLink;
399
+ FooterComponent.LinkSections = FooterLinkSections;
400
+ FooterComponent.LinkSection = FooterLinkSection;
401
+ // Annotate the CommonJS export names for ESM import in node:
402
+ 0 && (module.exports = {
403
+ Footer
404
+ });
405
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/footer/index.tsx","../../src/footer/footer.tsx","../../src/accordion/accordion.tsx","../../src/accordion/accordion-item.tsx","../../src/accordion/context.ts","../../src/accordion/accordion-header.tsx","../../src/accordion/accordion-content.tsx","../../src/accordion/index.tsx","../../src/list/link-list.tsx","../../src/list/list.tsx","../../src/button/button.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","import { forwardRef, type HTMLAttributes, type ReactElement } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Accordion } from \"../accordion\";\nimport { LinkList } from \"../list/link-list\";\nimport { PrimaryButton } from \"../button\";\n\nexport interface FooterProps extends HTMLAttributes<HTMLDivElement> {\n variant?: \"default\" | \"slim\";\n\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean;\n}\n\n/**\n * 🚨 WORK IN PROGRESS 🚨\n */\nexport const Footer = forwardRef<HTMLDivElement, FooterProps>(\n ({ children, className, variant, asChild, ...rest }, ref) => {\n const Component = asChild ? Slot : \"footer\";\n return (\n <Component\n className={clsx(\n `hds-footer`,\n variant === \"slim\" && \"hds-footer--slim\",\n className as undefined,\n )}\n ref={ref}\n {...rest}\n >\n {children}\n </Component>\n );\n },\n);\nFooter.displayName = \"Footer\";\n\nexport interface FooterButtonLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean;\n}\n\n/**\n * 🚨 WORK IN PROGRESS 🚨\n */\nexport const FooterButtonLink = forwardRef<HTMLAnchorElement, FooterButtonLinkProps>(\n ({ children, className, asChild, ...rest }, ref) => {\n const Component = asChild ? Slot : \"a\";\n return (\n // @ts-expect-error -- It's ok, types are a bit off\n <PrimaryButton\n as={Component}\n fill=\"outline\"\n className={clsx(className as undefined)}\n ref={ref}\n {...rest}\n >\n {children}\n </PrimaryButton>\n );\n },\n);\nFooterButtonLink.displayName = \"FooterButton\";\n\ninterface FooterLogoProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Change the default rendered element for the one passed as a child, merging their props and behavior.\n */\n asChild?: boolean;\n}\n\n/**\n * A fixed Posten or Bring logo.\n *\n * The logo follows the brand theme, so if the class `hds-theme-bring` is set the Bring logo will be shown instead of the Posten logo\n */\nexport const FooterLogo = forwardRef<HTMLDivElement, FooterLogoProps>(\n ({ children, className, asChild, ...rest }, ref) => {\n const Component = asChild ? Slot : \"div\";\n return (\n <Component className={clsx(`hds-footer__logo`, className as undefined)} ref={ref} {...rest}>\n {children}\n </Component>\n );\n },\n);\nFooterLogo.displayName = \"Footer.Logo\";\n\ninterface FooterLinkSectionsProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactElement<FooterLinkSectionProps> | ReactElement<FooterLinkSectionProps>[];\n}\n\n/**\n * Responsive sections of links. Will become an accordion on mobile.\n *\n * Use with `Footer.LinkSection` for each section.\n *\n * TODO:\n * - [ ] Decrease number of DOM elements rendered. We should not rely on conditional rendering as that will make server-side rendering harder.\n */\nexport const FooterLinkSections = forwardRef<HTMLDivElement, FooterLinkSectionsProps>(\n ({ children, className, ...rest }, ref) => {\n return (\n <>\n {/* Mobile */}\n <Accordion\n className={clsx(\"hds-footer__link-sections\", className as undefined)}\n ref={ref}\n {...rest}\n >\n {/* @ts-expect-error -- It's ok */}\n {children}\n </Accordion>\n\n {/* Desktop */}\n <div className={clsx(\"hds-footer__link-sections\", className as undefined)} {...rest}>\n {children}\n </div>\n </>\n );\n },\n);\nFooterLinkSections.displayName = \"Footer.LinkSections\";\n\ninterface FooterLinkSectionProps extends HTMLAttributes<HTMLDivElement> {\n heading: React.ReactNode;\n children: React.ReactNode;\n}\n\nexport const FooterLinkSection = forwardRef<HTMLDivElement, FooterLinkSectionProps>(\n ({ heading, children, className, ...rest }, ref) => {\n // @ts-expect-error -- It's ok\n const linkListChildren = <LinkList>{children}</LinkList>;\n return (\n <>\n {/* Mobile */}\n <Accordion.Item\n className={clsx(`hds-footer__link-section`, className as undefined)}\n ref={ref}\n {...rest}\n >\n <Accordion.Header>{heading}</Accordion.Header>\n <Accordion.Content>{linkListChildren}</Accordion.Content>\n </Accordion.Item>\n\n {/* Desktop */}\n <div className={clsx(`hds-footer__link-section`, className as undefined)}>\n <h2>{heading}</h2>\n {linkListChildren}\n </div>\n </>\n );\n },\n);\nFooterLinkSection.displayName = \"Footer.LinkSection\";\n","import type { HTMLAttributes, ReactElement } from \"react\";\nimport { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport type { AccordionItemProps } from \"./accordion-item\";\n\nexport interface AccordionProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Accepts type of <AccordionItem/>\n */\n children: ReactElement<AccordionItemProps> | ReactElement<AccordionItemProps>[];\n\n /**\n * Adds padding to the left of the accordion\n */\n indent?: boolean;\n\n className?: string;\n}\n\nexport const Accordion: OverridableComponent<AccordionProps, HTMLDivElement> = forwardRef(\n ({ as: Component = \"div\", children, className, indent = true, ...rest }, ref) => {\n return (\n <Component\n {...rest}\n className={clsx(\n \"hds-accordion\",\n !indent && \"hds-accordion--no-indent\",\n className as undefined,\n )}\n ref={ref}\n >\n {children}\n </Component>\n );\n },\n);\n\nAccordion.displayName = \"Accordion\";\n","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 { AccordionItemContext } from \"./context\";\nimport type { AccordionHeaderProps } from \"./accordion-header\";\nimport type { AccordionContentProps } from \"./accordion-content\";\n\nexport type AccordionItemChildrenType =\n | ReactElement<AccordionHeaderProps>\n | ReactElement<AccordionContentProps>;\n\nexport interface AccordionItemProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Control the open state of the accordion manually\n */\n open?: boolean;\n\n /**\n * Use with open to control the open state of the accordion manually\n */\n onOpenChange?: (open: boolean) => void;\n\n /**\n * If the accordion should be open by default\n */\n defaultOpen?: boolean;\n\n /**\n * Accepts type of Accordion.Content and Accordion.Header\n */\n children: AccordionItemChildrenType[];\n}\n\nexport const AccordionItem: OverridableComponent<AccordionItemProps, HTMLDivElement> = forwardRef(\n (\n {\n as: Component = \"div\",\n children,\n defaultOpen,\n open: outerOpen,\n onOpenChange,\n className,\n ...rest\n },\n ref,\n ) => {\n const [innerOpen, setInnerOpen] = useState(defaultOpen ?? false);\n const open = outerOpen ?? innerOpen;\n\n const handleOpen = () => {\n if (outerOpen !== undefined) {\n onOpenChange && onOpenChange(!open);\n } else {\n setInnerOpen(!open);\n }\n };\n\n return (\n <Component\n {...rest}\n data-state={open ? \"open\" : \"closed\"}\n className={clsx(\"hds-accordion-item\", className as undefined)}\n ref={ref}\n >\n <AccordionItemContext.Provider value={{ open, setOpen: handleOpen }}>\n {children}\n </AccordionItemContext.Provider>\n </Component>\n );\n },\n);\n\nAccordionItem.displayName = \"Accordion.Item\";\n","import { createContext } from \"react\";\n\nexport interface AccordionItemContextProps {\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const AccordionItemContext = createContext<AccordionItemContextProps | null>(null);\n","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","import type { HTMLAttributes, ReactNode } from \"react\";\nimport { forwardRef, useContext } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\nimport { AccordionItemContext } from \"./context\";\n\nexport interface AccordionContentProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode;\n}\n\nexport const AccordionContent: OverridableComponent<AccordionContentProps, HTMLDivElement> =\n forwardRef(({ as: Component = \"div\", children, className, ...rest }, ref) => {\n const context = useContext(AccordionItemContext);\n if (context === null) {\n return null;\n }\n return (\n <Component\n aria-hidden={!context.open}\n data-state={context.open ? \"open\" : \"closed\"}\n inert={context.open ? undefined : \"true\"}\n className={clsx(\"hds-accordion-item-content\", className as undefined)}\n ref={ref}\n {...rest}\n >\n <div className={clsx(\"hds-accordion-item-content-inner\")}>{children}</div>\n </Component>\n );\n });\n\nAccordionContent.displayName = \"Accordion.Content\";\n","import { Accordion } from \"./accordion\";\nimport { AccordionItem } from \"./accordion-item\";\nimport { AccordionHeader } from \"./accordion-header\";\nimport { AccordionContent } from \"./accordion-content\";\n\nconst AccordionComponent = Accordion as typeof Accordion & {\n Item: typeof AccordionItem;\n Header: typeof AccordionHeader;\n Content: typeof AccordionContent;\n};\n\nAccordionComponent.Item = AccordionItem;\nAccordionComponent.Header = AccordionHeader;\nAccordionComponent.Content = AccordionContent;\n\nexport { AccordionComponent as Accordion };\n\nexport type * from \"./accordion\";\nexport type * from \"./accordion-item\";\nexport type * from \"./accordion-header\";\nexport type * from \"./accordion-content\";\n","import * as React from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { ListProps } from \"./list\";\nimport { UnorderedList } from \"./list\";\n\nexport interface LinkListProps extends Omit<ListProps, \"listStyle\"> {\n children?: React.ReactElement<HTMLLIElement> | React.ReactElement<HTMLLIElement>[];\n}\n\n/**\n * Show a list of links\n *\n * For other list types use `UnorderedList` and `OrderedList`, or use your own list component using the semantic `ul` and `ol` tags.\n */\nexport function LinkList({ className, ...rest }: LinkListProps) {\n return (\n <UnorderedList className={clsx(\"hds-list--link-list\", className as undefined)} {...rest} />\n );\n}\n\nLinkList.displayName = \"LinkList\";\n","import type { HTMLAttributes } from \"react\";\nimport * as React from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\n\nexport interface ListProps extends HTMLAttributes<HTMLOListElement | HTMLUListElement> {\n children?: React.ReactElement<HTMLLIElement> | React.ReactElement<HTMLLIElement>[];\n /**\n * Sets the size of the items (font)\n */\n size?: \"small\" | \"medium\" | \"large\";\n}\n\nfunction BaseList({\n as: ListTag = \"ul\",\n children,\n size = \"medium\",\n className,\n ...rest\n}: ListProps & { as?: \"ul\" | \"ol\" }) {\n return (\n <ListTag className={clsx(\"hds-list\", `hds-list--${size}`, className as undefined)} {...rest}>\n {children}\n </ListTag>\n );\n}\n\n/**\n * An unordered list of simple items, often text. You can nest other lists inside this component.\n *\n * If you have other list needs build your own using the semantic `ul` and `ol` tags.\n */\nexport function UnorderedList(props: ListProps) {\n return (\n <BaseList as=\"ul\" {...props}>\n {props.children}\n </BaseList>\n );\n}\n\n/**\n * An ordered list of simple items\n *\n * If you have other list needs build your own using the semantic `ul` and `ol` tags.\n */\nexport function OrderedList(props: ListProps) {\n return (\n <BaseList as=\"ol\" {...props}>\n {props.children}\n </BaseList>\n );\n}\n\nBaseList.displayName = \"BaseList\";\nOrderedList.displayName = \"OrderedList\";\nUnorderedList.displayName = \"UnorderedList\";\n","import { forwardRef } from \"react\";\nimport { clsx } from \"@postenbring/hedwig-css/typed-classname\";\nimport type { OverridableComponent } from \"../utils\";\n\ninterface ButtonPropsInternal extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /**\n * The height, font size and padding of the button\n */\n size?: \"small\" | \"medium\" | \"large\";\n\n /**\n * Make the button use 100% width available.\n * Using the \"mobile\" it only stretch to full width on smaller screens\n */\n fullWidth?: boolean | \"mobile\";\n\n /**\n * Use an icon inside the button\n */\n icon?: React.ReactNode;\n\n children?: React.ReactNode;\n}\n\nexport type ButtonProps = ButtonPropsInternal &\n (\n | {\n /**\n * The background fill of the button\n */\n fill?: \"contained\" | \"outline\";\n }\n | {\n /**\n * @deprecated use `fill='outline'` instead\n */\n fill?: \"outlined\";\n }\n );\n\nexport const BaseButton: OverridableComponent<\n ButtonProps & { variant: \"primary\" | \"secondary\" },\n HTMLButtonElement\n> = forwardRef(\n (\n {\n as: Component = \"button\",\n children,\n variant,\n size = \"medium\",\n fullWidth = false,\n fill = \"contained\",\n icon,\n className,\n ...rest\n },\n ref,\n ) => {\n // TODO: Remove deprecated fill value name at some point\n // Deprecated at 10. march 2024\n if (fill === \"outlined\") {\n // eslint-disable-next-line no-console -- Deprecation warning\n console.warn(\"The `fill` value `outlined` is deprecated, use `fill='outline'` instead\");\n }\n return (\n <Component\n className={clsx(\n \"hds-button\",\n `hds-button--${size}`,\n {\n [`hds-button--${variant}`]: fill === \"contained\",\n [`hds-button--outline-${variant}`]: fill === \"outline\" || fill === \"outlined\",\n \"hds-button--full\": fullWidth === true,\n \"hds-button--mobile-full\": fullWidth === \"mobile\",\n \"hds-button--icon-only\": icon && !children,\n },\n className as undefined,\n )}\n ref={ref}\n {...rest}\n >\n {icon && !children ? icon : null}\n {children}\n </Component>\n );\n },\n);\nBaseButton.displayName = \"BaseButton\";\n\n/**\n * ## TODO\n *\n * - [x] Handle links that looks like buttons\n * - [ ] Revisit how to handle outline\n * - [ ] Figure out outline-white\n */\n\nexport const PrimaryButton: OverridableComponent<ButtonProps, HTMLButtonElement> = forwardRef(\n (props, ref) => {\n return <BaseButton {...props} ref={ref} variant=\"primary\" />;\n },\n);\n\nPrimaryButton.displayName = \"PrimaryButton\";\n\nexport const SecondaryButton: OverridableComponent<ButtonProps, HTMLButtonElement> = forwardRef(\n (props, ref) => {\n return <BaseButton {...props} ref={ref} variant=\"secondary\" />;\n },\n);\n\nSecondaryButton.displayName = \"SecondaryButton\";\n"],"mappings":"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","names":["import_react","import_typed_classname","import_react","import_typed_classname","import_react","import_jsx_runtime","import_react","import_typed_classname","import_jsx_runtime","import_react","import_typed_classname","import_jsx_runtime","React","import_typed_classname","import_typed_classname","import_jsx_runtime","import_jsx_runtime","import_react","import_typed_classname","import_jsx_runtime","import_jsx_runtime"]}
@@ -0,0 +1,19 @@
1
+ import {
2
+ FooterComponent
3
+ } from "../chunk-U2MRMUB2.mjs";
4
+ import "../chunk-EHUVLDIZ.mjs";
5
+ import "../chunk-GJDRW6PA.mjs";
6
+ import "../chunk-PMLDK3VC.mjs";
7
+ import "../chunk-LIQ3FB56.mjs";
8
+ import "../chunk-62F4I3MQ.mjs";
9
+ import "../chunk-VRIY65P5.mjs";
10
+ import "../chunk-HT2EIJAD.mjs";
11
+ import "../chunk-OUHO4LGN.mjs";
12
+ import "../chunk-GUB3UCXO.mjs";
13
+ import "../chunk-YXHXRUFX.mjs";
14
+ import "../chunk-V3PAFMK5.mjs";
15
+ import "../chunk-R4SQKVDQ.mjs";
16
+ export {
17
+ FooterComponent as Footer
18
+ };
19
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -52,33 +52,131 @@ __export(checkbox_exports, {
52
52
  Checkbox: () => Checkbox
53
53
  });
54
54
  module.exports = __toCommonJS(checkbox_exports);
55
- var import_react = require("react");
55
+ var import_react2 = require("react");
56
+ var import_typed_classname3 = require("@postenbring/hedwig-css/typed-classname");
57
+
58
+ // src/form/error-message/error-message.tsx
56
59
  var import_typed_classname = require("@postenbring/hedwig-css/typed-classname");
57
60
  var import_jsx_runtime = require("react/jsx-runtime");
58
- var Checkbox = (0, import_react.forwardRef)(
59
- (_a, ref) => {
60
- var _b = _a, { variant = "plain", hasError, title, children, className } = _b, rest = __objRest(_b, ["variant", "hasError", "title", "children", "className"]);
61
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
62
- "div",
63
- {
64
- className: (0, import_typed_classname.clsx)(
65
- "hds-checkbox",
66
- {
67
- [`hds-checkbox--${variant}`]: variant === "bounding-box",
68
- "hds-checkbox--error": hasError
69
- },
70
- className
61
+ function ErrorMessage({ children, id, className }) {
62
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
63
+ "div",
64
+ {
65
+ "aria-live": "assertive",
66
+ className: (0, import_typed_classname.clsx)("hds-error-message", className),
67
+ id,
68
+ children
69
+ }
70
+ );
71
+ }
72
+
73
+ // src/form/fieldset/fieldset.tsx
74
+ var import_react = require("react");
75
+ var import_typed_classname2 = require("@postenbring/hedwig-css/typed-classname");
76
+ var import_jsx_runtime2 = require("react/jsx-runtime");
77
+ var FieldsetContext = (0, import_react.createContext)({ hasError: false });
78
+ var useFieldsetContext = () => (0, import_react.useContext)(FieldsetContext);
79
+ var Fieldset = (0, import_react.forwardRef)(function Fieldset2(_a, ref) {
80
+ var _b = _a, {
81
+ className,
82
+ style,
83
+ errorMessage,
84
+ legendProps: _c = {}
85
+ } = _b, _d = _c, { size: legendSize = "default", className: legendClassName } = _d, legendProps = __objRest(_d, ["size", "className"]), _e = _b, {
86
+ legend,
87
+ children
88
+ } = _e, rest = __objRest(_e, [
89
+ "className",
90
+ "style",
91
+ "errorMessage",
92
+ "legendProps",
93
+ "legend",
94
+ "children"
95
+ ]);
96
+ const errorMessageId = (0, import_react.useId)();
97
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
98
+ "fieldset",
99
+ __spreadProps(__spreadValues({
100
+ "aria-describedby": errorMessage ? errorMessageId : void 0,
101
+ "aria-invalid": errorMessage ? true : void 0,
102
+ className: (0, import_typed_classname2.clsx)("hds-fieldset", className),
103
+ ref,
104
+ style
105
+ }, rest), {
106
+ children: [
107
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
108
+ "legend",
109
+ __spreadProps(__spreadValues({
110
+ className: (0, import_typed_classname2.clsx)(
111
+ "hds-fieldset__legend",
112
+ { [`hds-fieldset__legend--${legendSize}`]: legendSize },
113
+ legendClassName
114
+ )
115
+ }, legendProps), {
116
+ children: legend
117
+ })
71
118
  ),
72
- children: [
73
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("label", { children: [
74
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", __spreadProps(__spreadValues({}, rest), { "aria-invalid": hasError ? true : void 0, ref, type: "checkbox" })),
75
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { "aria-hidden": true, className: "hds-checkbox__checkmark" }),
76
- title ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "hds-checkbox__title", children: title }) : children
77
- ] }),
78
- title ? children : null
79
- ]
80
- }
81
- );
119
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: (0, import_typed_classname2.clsx)("hds-fieldset__input-wrapper"), children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(FieldsetContext.Provider, { value: { hasError: Boolean(errorMessage) }, children }) }),
120
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ErrorMessage, { id: errorMessageId, children: errorMessage })
121
+ ]
122
+ })
123
+ );
124
+ });
125
+
126
+ // src/form/checkbox/checkbox.tsx
127
+ var import_jsx_runtime3 = require("react/jsx-runtime");
128
+ var Checkbox = (0, import_react2.forwardRef)(
129
+ (_a, ref) => {
130
+ var _b = _a, {
131
+ variant = "plain",
132
+ hasError: hasErrorProp,
133
+ errorMessage,
134
+ title,
135
+ children,
136
+ className
137
+ } = _b, rest = __objRest(_b, [
138
+ "variant",
139
+ "hasError",
140
+ "errorMessage",
141
+ "title",
142
+ "children",
143
+ "className"
144
+ ]);
145
+ const errorMessageId = (0, import_react2.useId)();
146
+ const { hasError: hasFieldsetError } = useFieldsetContext();
147
+ const hasError = !!errorMessage || hasFieldsetError || hasErrorProp;
148
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: (0, import_typed_classname3.clsx)("hds-checkbox-wrapper"), children: [
149
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
150
+ "div",
151
+ {
152
+ className: (0, import_typed_classname3.clsx)(
153
+ "hds-checkbox",
154
+ {
155
+ [`hds-checkbox--${variant}`]: variant === "bounding-box",
156
+ "hds-checkbox--error": hasError
157
+ },
158
+ className
159
+ ),
160
+ children: [
161
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("label", { children: [
162
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
163
+ "input",
164
+ __spreadProps(__spreadValues({}, rest), {
165
+ "aria-invalid": hasError ? true : void 0,
166
+ "aria-describedby": errorMessage ? errorMessageId : void 0,
167
+ ref,
168
+ type: "checkbox"
169
+ })
170
+ ),
171
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { "aria-hidden": true, className: "hds-checkbox__checkmark" }),
172
+ title ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: "hds-checkbox__title", children: title }) : children
173
+ ] }),
174
+ title ? children : null
175
+ ]
176
+ }
177
+ ),
178
+ errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(ErrorMessage, { id: errorMessageId, children: errorMessage }) : null
179
+ ] });
82
180
  }
83
181
  );
84
182
  Checkbox.displayName = "Checkbox";