@obosbbl/grunnmuren-react 1.14.11 → 2.0.0-canary.0

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 (123) hide show
  1. package/LICENSE +1 -1
  2. package/dist/button/Button.d.mts +82 -0
  3. package/dist/button/Button.d.ts +82 -0
  4. package/dist/button/Button.mjs +130 -0
  5. package/dist/checkbox/index.d.mts +32 -0
  6. package/dist/checkbox/index.d.ts +32 -0
  7. package/dist/checkbox/index.mjs +106 -0
  8. package/dist/label/index.d.mts +13 -0
  9. package/dist/label/index.d.ts +13 -0
  10. package/dist/label/index.mjs +45 -0
  11. package/dist/radiogroup/index.d.mts +30 -0
  12. package/dist/radiogroup/index.d.ts +30 -0
  13. package/dist/radiogroup/index.mjs +65 -0
  14. package/dist/textfield/index.d.mts +31 -0
  15. package/dist/textfield/index.d.ts +31 -0
  16. package/dist/textfield/index.mjs +88 -0
  17. package/package.json +43 -44
  18. package/README.md +0 -45
  19. package/dist/Accordion/Accordion.d.ts +0 -27
  20. package/dist/Accordion/index.d.ts +0 -1
  21. package/dist/Accordion/stories/Accordion.stories.d.ts +0 -9
  22. package/dist/Alert/Alert.d.ts +0 -9
  23. package/dist/Alert/index.d.ts +0 -1
  24. package/dist/Alert/stories/Alert.stories.d.ts +0 -5
  25. package/dist/Banner/Banner.d.ts +0 -11
  26. package/dist/Banner/BannerImage.d.ts +0 -6
  27. package/dist/Banner/index.d.ts +0 -2
  28. package/dist/Banner/stories/Banner.stories.d.ts +0 -5
  29. package/dist/Button/Button.d.ts +0 -16
  30. package/dist/Button/ButtonColorContext.d.ts +0 -3
  31. package/dist/Button/index.d.ts +0 -2
  32. package/dist/Button/stories/Button.stories.d.ts +0 -31
  33. package/dist/Campaign/Campaign.d.ts +0 -26
  34. package/dist/Campaign/index.d.ts +0 -1
  35. package/dist/Campaign/stories/Campaign.stories.d.ts +0 -9
  36. package/dist/Card/Card.d.ts +0 -8
  37. package/dist/Card/CardContent.d.ts +0 -5
  38. package/dist/Card/CardImage.d.ts +0 -7
  39. package/dist/Card/CardLinkOverlay.d.ts +0 -4
  40. package/dist/Card/CardList.d.ts +0 -7
  41. package/dist/Card/index.d.ts +0 -5
  42. package/dist/Card/stories/Card.stories.d.ts +0 -34
  43. package/dist/Checkbox/Checkbox.d.ts +0 -13
  44. package/dist/Checkbox/index.d.ts +0 -1
  45. package/dist/Checkbox/stories/Checkbox.stories.d.ts +0 -8
  46. package/dist/Chip/Chip.d.ts +0 -10
  47. package/dist/Chip/index.d.ts +0 -1
  48. package/dist/Chip/stories/Chip.stories.d.ts +0 -5
  49. package/dist/Footer/Footer.d.ts +0 -7
  50. package/dist/Footer/index.d.ts +0 -1
  51. package/dist/Footer/stories/Footer.stories.d.ts +0 -5
  52. package/dist/Form/Form.d.ts +0 -9
  53. package/dist/Form/FormError.d.ts +0 -4
  54. package/dist/Form/FormErrorMessage.d.ts +0 -5
  55. package/dist/Form/FormHelperText.d.ts +0 -5
  56. package/dist/Form/FormLabel.d.ts +0 -7
  57. package/dist/Form/FormSuccess.d.ts +0 -6
  58. package/dist/Form/MultiStep/FormStep.d.ts +0 -17
  59. package/dist/Form/MultiStep/FormStepContext.d.ts +0 -20
  60. package/dist/Form/MultiStep/FormStepHeader.d.ts +0 -18
  61. package/dist/Form/MultiStep/index.d.ts +0 -3
  62. package/dist/Form/index.d.ts +0 -7
  63. package/dist/Form/stories/Form.stories.d.ts +0 -14
  64. package/dist/Hero/Hero.d.ts +0 -21
  65. package/dist/Hero/HeroActions.d.ts +0 -7
  66. package/dist/Hero/HeroContent.d.ts +0 -9
  67. package/dist/Hero/HeroImage.d.ts +0 -9
  68. package/dist/Hero/index.d.ts +0 -4
  69. package/dist/Hero/stories/Hero.stories.d.ts +0 -33
  70. package/dist/Hero/utils.d.ts +0 -2
  71. package/dist/Input/Input.d.ts +0 -11
  72. package/dist/Input/index.d.ts +0 -1
  73. package/dist/Input/stories/Input.stories.d.ts +0 -8
  74. package/dist/Link/Link.d.ts +0 -8
  75. package/dist/Link/index.d.ts +0 -1
  76. package/dist/Navbar/Navbar.d.ts +0 -6
  77. package/dist/Navbar/NavbarCollapsible.d.ts +0 -6
  78. package/dist/Navbar/NavbarContent.d.ts +0 -7
  79. package/dist/Navbar/NavbarContext.d.ts +0 -6
  80. package/dist/Navbar/NavbarExpandedMobileContent.d.ts +0 -9
  81. package/dist/Navbar/NavbarItem.d.ts +0 -7
  82. package/dist/Navbar/NavbarItems.d.ts +0 -6
  83. package/dist/Navbar/NavbarMenuButton.d.ts +0 -4
  84. package/dist/Navbar/index.d.ts +0 -6
  85. package/dist/Navbar/stories/Navbar.stories.d.ts +0 -5
  86. package/dist/Pagination/Pagination.d.ts +0 -23
  87. package/dist/Pagination/index.d.ts +0 -1
  88. package/dist/Pagination/stories/Pagination.stories.d.ts +0 -24
  89. package/dist/Radio/Radio.d.ts +0 -5
  90. package/dist/Radio/RadioContext.d.ts +0 -10
  91. package/dist/Radio/RadioGroup.d.ts +0 -20
  92. package/dist/Radio/index.d.ts +0 -2
  93. package/dist/Radio/stories/Radio.stories.d.ts +0 -12
  94. package/dist/Select/Select.d.ts +0 -21
  95. package/dist/Select/SelectPlain.d.ts +0 -15
  96. package/dist/Select/index.d.ts +0 -1
  97. package/dist/Select/stories/Select.stories.d.ts +0 -26
  98. package/dist/Snackbar/Snackbar.d.ts +0 -8
  99. package/dist/Snackbar/SnackbarButton.d.ts +0 -6
  100. package/dist/Snackbar/SnackbarContent.d.ts +0 -5
  101. package/dist/Snackbar/index.d.ts +0 -3
  102. package/dist/Snackbar/stories/Snackbar.stories.d.ts +0 -9
  103. package/dist/StepList/StepList.d.ts +0 -25
  104. package/dist/StepList/index.d.ts +0 -1
  105. package/dist/StepList/stories/StepList.stories.d.ts +0 -19
  106. package/dist/TextArea/TextArea.d.ts +0 -15
  107. package/dist/TextArea/index.d.ts +0 -1
  108. package/dist/TextArea/stories/TextArea.stories.d.ts +0 -8
  109. package/dist/TextField/TextField.d.ts +0 -19
  110. package/dist/TextField/index.d.ts +0 -1
  111. package/dist/TextField/stories/TextField.stories.d.ts +0 -9
  112. package/dist/__stories__/Icon.stories.d.ts +0 -8
  113. package/dist/__stories__/PageLayout.stories.d.ts +0 -5
  114. package/dist/__stories__/Typography.stories.d.ts +0 -9
  115. package/dist/grunnmuren.mjs +0 -1551
  116. package/dist/hooks/index.d.ts +0 -5
  117. package/dist/hooks/useBlockBackgroundColor.d.ts +0 -2
  118. package/dist/hooks/useFallbackId.d.ts +0 -4
  119. package/dist/hooks/useFormControlValidity.d.ts +0 -15
  120. package/dist/hooks/usePrefersReducedMotion.d.ts +0 -1
  121. package/dist/hooks/useScreenMaxWidthMd.d.ts +0 -1
  122. package/dist/index.d.ts +0 -22
  123. package/dist/utils/index.d.ts +0 -2
@@ -1,1551 +0,0 @@
1
- 'use client';
2
- import { jsx as o, jsxs as f, Fragment as O } from "react/jsx-runtime";
3
- import { createContext as y, useContext as A, useState as q, useCallback as N, useEffect as fe, useId as ee, forwardRef as h, Children as Z, isValidElement as W, cloneElement as K, useRef as E, useMemo as C, useReducer as ge } from "react";
4
- import { ChevronDown as te, Warning as re, InfoCircle as ne, LoadingSpinner as he, CheckCircle as pe, MenuAlt as Ae, Close as xe, ChevronRight as ve, ChevronLeft as Ne } from "@obosbbl/grunnmuren-icons";
5
- import { useCollapse as ye } from "react-collapsed";
6
- import d from "clsx";
7
- import { useMediaQuery as ae, useUpdateEffect as we } from "@react-hookz/web";
8
- import { mergeRefs as X } from "react-merge-refs";
9
- const I = () => {
10
- }, Ie = 300, Ce = "duration-300", Y = (e) => {
11
- const { className: r, ...t } = e;
12
- return /* @__PURE__ */ o("div", { className: d(r, "flex flex-col gap-2"), ...t });
13
- }, Q = y({
14
- isExpanded: !1,
15
- setExpanded: I,
16
- // @ts-expect-error noop
17
- getCollapseProps: I,
18
- // @ts-expect-error noop
19
- getToggleProps: I,
20
- onChange: I
21
- }), Ee = (e) => {
22
- const { className: r, defaultOpen: t, onChange: n = I, open: a, ...s } = e, i = ye({
23
- defaultExpanded: t,
24
- isExpanded: a,
25
- duration: Ie,
26
- easing: "cubic-bezier(0.25, 0.1, 0.25, 1)"
27
- });
28
- return /* @__PURE__ */ o(Q.Provider, { value: { onChange: n, ...i }, children: /* @__PURE__ */ o(
29
- "div",
30
- {
31
- className: d(
32
- r,
33
- "rounded-sm border-b-2 border-l-4 border-solid",
34
- i.isExpanded ? "border-l-green-dark" : "border-l-green"
35
- ),
36
- ...s
37
- }
38
- ) });
39
- }, Se = (e) => {
40
- const { children: r, className: t, as: n = "h3", ...a } = e, { getToggleProps: s, onChange: i, isExpanded: c } = A(Q), u = s({ onClick: () => i(!c) });
41
- return /* @__PURE__ */ o(n, { children: /* @__PURE__ */ f(
42
- "button",
43
- {
44
- className: d(
45
- t,
46
- "focus-visible:outline-blue-dark aria-expanded:bg-green-dark group flex min-h-[4rem] w-full items-center justify-between px-5 py-4 text-left text-lg font-semibold focus:outline-none focus-visible:outline-4 focus-visible:outline-offset-0 aria-expanded:text-white"
47
- ),
48
- ...a,
49
- ...u,
50
- id: oe(u["aria-controls"]),
51
- children: [
52
- r,
53
- /* @__PURE__ */ o(
54
- te,
55
- {
56
- className: `shrink-0 text-sm ${Ce} group-aria-expanded:rotate-180`
57
- }
58
- )
59
- ]
60
- }
61
- ) });
62
- }, Re = (e) => {
63
- const { getCollapseProps: r } = A(Q), { className: t, ...n } = e, a = r();
64
- return /* @__PURE__ */ o("div", { ...a, "aria-labelledby": oe(a.id), children: /* @__PURE__ */ o("div", { className: d(t, "p-5 pb-10"), ...n }) });
65
- }, oe = (e) => e + "toggle";
66
- Y.Item = Ee;
67
- Y.Header = Se;
68
- Y.Content = Re;
69
- const dt = (e) => {
70
- const { className: r, children: t, heading: n, severity: a = "alert", ...s } = e;
71
- return /* @__PURE__ */ o(
72
- "section",
73
- {
74
- className: d(r, "p-4 md:py-8", {
75
- "bg-orange-light": a === "info",
76
- "bg-red-light": a === "alert"
77
- }),
78
- role: "alert",
79
- ...s,
80
- children: /* @__PURE__ */ f("div", { className: "flex justify-center", children: [
81
- /* @__PURE__ */ o(
82
- ke,
83
- {
84
- className: "mr-4 flex-none md:mr-8 md:text-2xl",
85
- severity: a
86
- }
87
- ),
88
- /* @__PURE__ */ f("div", { className: "w-prose flex-initial", children: [
89
- /* @__PURE__ */ o("h2", { className: "h4 mb-2", children: n }),
90
- t
91
- ] })
92
- ] })
93
- }
94
- );
95
- }, ke = ({ severity: e, className: r }) => e === "alert" ? /* @__PURE__ */ o(re, { className: d(r, "text-red") }) : /* @__PURE__ */ o(ne, { className: d(r, "text-orange") }), qe = "(prefers-reduced-motion: reduce)", ct = (e = !1) => ae(qe, { initializeWithValue: e });
96
- function se(e) {
97
- switch (e) {
98
- case "gray":
99
- return "bg-gray-lightest";
100
- case "green":
101
- case "mint":
102
- return "bg-mint-light";
103
- case "yellow":
104
- return "bg-yellow";
105
- case "blue":
106
- case "sky":
107
- return "bg-sky-light";
108
- }
109
- }
110
- const Pe = (e) => ae("(max-width: 767.9px)", { initializeWithValue: e });
111
- function P(e, r = !0) {
112
- const [t, n] = q("indeterminate"), [a, s] = q(), i = N((l) => {
113
- l.target.checkValidity() && (n("valid"), s(void 0));
114
- }, []), c = N(
115
- (l) => {
116
- t !== "indeterminate" && l.target.checkValidity() && (n("valid"), s(void 0));
117
- },
118
- [t]
119
- ), u = N((l) => {
120
- l.preventDefault();
121
- const m = l.target.validationMessage;
122
- s(m), n("invalid");
123
- }, []);
124
- return fe(() => {
125
- var m;
126
- const { current: l } = e;
127
- return r && // @ts-expect-error respect the <form noValidate> attribute if we are rendered inside a form
128
- ((m = l == null ? void 0 : l.form) == null ? void 0 : m.noValidate) !== !0 && (l == null || l.addEventListener("blur", i), l == null || l.addEventListener("input", c), l == null || l.addEventListener("invalid", u)), () => {
129
- l == null || l.removeEventListener("blur", i), l == null || l.removeEventListener("input", c), l == null || l.removeEventListener("invalid", u);
130
- };
131
- }, [r, c]), { validity: t, validationMessage: a };
132
- }
133
- function S(e) {
134
- const r = ee();
135
- return e ?? r;
136
- }
137
- const mt = (e) => {
138
- const {
139
- bgColor: r,
140
- className: t,
141
- children: n,
142
- heading: a,
143
- image: s,
144
- ...i
145
- } = e, c = se(r);
146
- return /* @__PURE__ */ o("article", { className: d(t, c, "px-4 py-8 md:py-14"), ...i, children: /* @__PURE__ */ f("div", { className: "container flex flex-col justify-center gap-4 md:flex-row md:gap-12", children: [
147
- s,
148
- /* @__PURE__ */ f("div", { className: "max-w-prose", children: [
149
- a && /* @__PURE__ */ o("h2", { className: "h3 mb-4", children: a }),
150
- n
151
- ] })
152
- ] }) });
153
- }, ut = (e) => /* @__PURE__ */ o(
154
- "img",
155
- {
156
- loading: "lazy",
157
- decoding: "async",
158
- className: "w-20 flex-none self-center md:w-32 md:self-start",
159
- ...e
160
- }
161
- ), Le = {
162
- "standard-primary": "bg-green border-green text-white",
163
- "standard-secondary": "bg-white border-green text-black",
164
- "mint-primary": "bg-mint border-mint text-black",
165
- "mint-secondary": "bg-transparent border-mint text-mint",
166
- "white-primary": "bg-white border-white text-black",
167
- "white-secondary": "bg-transparent border-white text-white",
168
- "light-green-primary": "bg-green-light border-green-light text-black",
169
- "light-green-secondary": "bg-transparent border-green-light text-green-light"
170
- }, bt = h((e, r) => {
171
- const {
172
- children: t,
173
- className: n,
174
- color: a,
175
- href: s,
176
- loading: i,
177
- type: c = "button",
178
- variant: u = "primary",
179
- ...l
180
- } = e, m = A(L), b = Le[`${a ?? m}-${u}`], p = d(n, b, "button"), x = i ? /* @__PURE__ */ o(Me, { children: t }) : t;
181
- return /* @__PURE__ */ o(O, { children: s ? /* @__PURE__ */ o(
182
- "a",
183
- {
184
- "aria-busy": i ? !0 : void 0,
185
- ...l,
186
- href: s,
187
- ref: r,
188
- className: p,
189
- children: x
190
- }
191
- ) : /* @__PURE__ */ o(
192
- "button",
193
- {
194
- "aria-busy": i ? !0 : void 0,
195
- ...l,
196
- type: c,
197
- ref: r,
198
- className: p,
199
- children: x
200
- }
201
- ) });
202
- }), Me = (e) => /* @__PURE__ */ f(O, { children: [
203
- ie(e.children),
204
- /* @__PURE__ */ o(
205
- "span",
206
- {
207
- className: "!visible absolute bottom-1 left-1 right-1 top-1 grid place-items-center overflow-hidden bg-inherit",
208
- "aria-hidden": !0,
209
- children: /* @__PURE__ */ o(he, { className: "animate-spin" })
210
- }
211
- )
212
- ] });
213
- function ie(e) {
214
- return Z.map(e, (r) => {
215
- if (!W(r))
216
- return typeof r == "string" ? /* @__PURE__ */ o("span", { children: r }) : r;
217
- if (r.props.children) {
218
- const t = {
219
- children: ie(r.props.children)
220
- };
221
- r = K(r, t);
222
- }
223
- return r;
224
- });
225
- }
226
- const L = y("standard"), le = y(!0), ze = (e, r) => {
227
- const {
228
- as: t = "div",
229
- body: n,
230
- className: a,
231
- image: s,
232
- rightAlignBody: i = !0,
233
- ...c
234
- } = e;
235
- return /* @__PURE__ */ f(
236
- t,
237
- {
238
- className: d(
239
- a,
240
- "grid gap-8 md:grid-flow-col md:grid-cols-[50%,50%] md:gap-0"
241
- ),
242
- ...c,
243
- ref: r,
244
- children: [
245
- /* @__PURE__ */ o(le.Provider, { value: i, children: s }),
246
- n
247
- ]
248
- }
249
- );
250
- }, Ve = h(ze), Te = h(
251
- (e, r) => {
252
- const { className: t, ...n } = e;
253
- return /* @__PURE__ */ o(
254
- "div",
255
- {
256
- className: d(t, "md:mx-18 self-center"),
257
- ref: r,
258
- ...n
259
- }
260
- );
261
- }
262
- ), Fe = h(
263
- (e, r) => {
264
- const { className: t, children: n, ...a } = e, s = A(le), i = d(
265
- t,
266
- "rounded-b-3xl w-full",
267
- s ? "md:rounded-r-3xl md:rounded-l-none" : "md:rounded-l-3xl md:rounded-r-none md:order-1"
268
- );
269
- if (W(n)) {
270
- const c = Z.only(n);
271
- return K(c, {
272
- // @ts-expect-error assume className prop is allowed
273
- className: i,
274
- ref: r,
275
- ...a
276
- });
277
- }
278
- return /* @__PURE__ */ o("img", { className: i, ref: r, ...a });
279
- }
280
- ), ft = Object.assign({}, Ve, {
281
- Body: Te,
282
- Image: Fe
283
- }), Je = (e, r) => {
284
- const {
285
- as: t = "div",
286
- className: n,
287
- bgColor: a = "white",
288
- ...s
289
- } = e;
290
- return /* @__PURE__ */ o(
291
- t,
292
- {
293
- className: d(n, "relative overflow-hidden rounded-3xl", {
294
- "border-2 border-solid bg-white": a === "white",
295
- "bg-gray-light": a === "gray"
296
- }),
297
- ...s,
298
- ref: r
299
- }
300
- );
301
- }, gt = h(Je), ht = h(
302
- (e, r) => {
303
- const { className: t, ...n } = e;
304
- return /* @__PURE__ */ o(
305
- "img",
306
- {
307
- className: d(t, "w-full object-cover"),
308
- loading: "lazy",
309
- ...n,
310
- ref: r
311
- }
312
- );
313
- }
314
- ), pt = h(
315
- (e, r) => {
316
- const { bgColor: t, className: n, ...a } = e, s = se(t);
317
- return /* @__PURE__ */ o("div", { className: d(s, n), children: /* @__PURE__ */ o(
318
- "div",
319
- {
320
- className: "container grid grid-cols-1 gap-12 py-16 md:grid-cols-2 md:py-20 lg:py-24",
321
- ...a,
322
- ref: r
323
- }
324
- ) });
325
- }
326
- ), At = h(
327
- (e, r) => {
328
- const { className: t, ...n } = e;
329
- return /* @__PURE__ */ o("div", { className: d(t, "p-8 md:px-10"), ...n, ref: r });
330
- }
331
- ), xt = h((e, r) => {
332
- const { className: t, ...n } = e;
333
- return /* @__PURE__ */ o(
334
- "a",
335
- {
336
- className: d(
337
- t,
338
- "no-underline before:absolute before:left-0 before:top-0 before:block before:h-full before:w-full hover:underline"
339
- ),
340
- ref: r,
341
- ...n
342
- }
343
- );
344
- }), vt = h(
345
- (e, r) => {
346
- const {
347
- children: t,
348
- className: n,
349
- error: a,
350
- id: s,
351
- disableValidation: i = !1,
352
- ...c
353
- } = e, u = E(null), { validity: l, validationMessage: m } = P(
354
- u,
355
- !i
356
- ), g = S(s), b = g + "err", p = a || m;
357
- return /* @__PURE__ */ f("div", { className: "grid gap-2", children: [
358
- /* @__PURE__ */ f("label", { className: d(n, "flex cursor-pointer gap-2.5"), children: [
359
- /* @__PURE__ */ o(
360
- "input",
361
- {
362
- id: g,
363
- className: d(
364
- "checkbox checked:bg-green checked:border-green grid h-[1.25em] w-[1.25em] flex-none translate-y-[0.1em] cursor-pointer appearance-none place-content-center rounded border-2 border-solid bg-white text-white focus:outline-none focus:ring-2",
365
- {
366
- "border-gray-dark focus:ring-black": !a,
367
- "border-red focus:ring-red": !!a
368
- }
369
- ),
370
- ref: r,
371
- type: "checkbox",
372
- ...c,
373
- "aria-describedby": p ? b : void 0,
374
- "aria-invalid": !!a || l === "invalid"
375
- }
376
- ),
377
- t
378
- ] }),
379
- p && /* @__PURE__ */ o(R, { id: b, children: p })
380
- ] });
381
- }
382
- ), je = {
383
- sky: "bg-sky border-sky",
384
- "red-light": "bg-red-light border-red-light",
385
- mint: "bg-mint border-mint",
386
- "orange-light": "bg-orange-light border-orange-light",
387
- "green-light": "bg-green-light border-green-light",
388
- "blue-light": "bg-blue-light border-blue-light"
389
- }, Oe = {
390
- sky: "text-blue-dark",
391
- "red-light": "text-red",
392
- mint: "text-green",
393
- "orange-light": "text-black",
394
- "green-light": "text-green",
395
- "blue-light": "text-blue-dark"
396
- }, Nt = (e) => {
397
- const { className: r, color: t, icon: n, children: a, variant: s = "filled" } = e, i = t && je[t], c = t && Oe[t];
398
- return /* @__PURE__ */ f(
399
- "div",
400
- {
401
- className: d(
402
- "inline-flex items-center gap-0.5 overflow-hidden rounded-lg border-2 text-sm font-semibold",
403
- i,
404
- r
405
- ),
406
- children: [
407
- n && /* @__PURE__ */ o("div", { className: d("px-3 py-2", c), children: n }),
408
- /* @__PURE__ */ o(
409
- "div",
410
- {
411
- className: d("flex-1 px-4 py-2", {
412
- "bg-white": s === "outline"
413
- }),
414
- children: a
415
- }
416
- )
417
- ]
418
- }
419
- );
420
- }, yt = (e) => {
421
- const { className: r, children: t, ...n } = e;
422
- return /* @__PURE__ */ o(L.Provider, { value: "white", children: /* @__PURE__ */ o(
423
- "footer",
424
- {
425
- className: d(
426
- r,
427
- // calculated height for psuedo element fixes rendering artifict that sometimes occurs on specific screen sizes and zoom levels
428
- "bg-blue pt-18 relative pb-12 text-white before:absolute before:-top-px before:left-0 before:right-0 before:h-[calc(1.5rem_+_1px)] before:rounded-b-3xl before:bg-white "
429
- ),
430
- ...n,
431
- children: /* @__PURE__ */ o("div", { className: "container", children: t })
432
- }
433
- ) });
434
- }, wt = (e) => {
435
- const { heading: r, children: t, className: n, ...a } = e;
436
- return /* @__PURE__ */ f(
437
- "form",
438
- {
439
- className: d(
440
- n,
441
- "border-blue-dark block overflow-hidden rounded-b-lg rounded-t-3xl border-2"
442
- ),
443
- ...a,
444
- children: [
445
- r && /* @__PURE__ */ o(Ze, { children: r }),
446
- /* @__PURE__ */ o("div", { className: "p-6 md:p-10", children: t })
447
- ]
448
- }
449
- );
450
- }, Ze = (e) => {
451
- const { className: r, ...t } = e;
452
- return /* @__PURE__ */ o(
453
- "h2",
454
- {
455
- className: d(
456
- r,
457
- "bg-blue-dark p-6 text-xl font-bold text-white md:px-10 md:py-8 md:text-2xl"
458
- ),
459
- ...t
460
- }
461
- );
462
- }, It = (e) => {
463
- const { className: r, ...t } = e;
464
- return /* @__PURE__ */ o(
465
- "div",
466
- {
467
- "aria-live": "polite",
468
- className: d(
469
- r,
470
- "border-red bg-red-light rounded-lg border-2 p-6 text-sm"
471
- ),
472
- ...t,
473
- children: "Beklager! Noe gikk dessverre galt under innesendingen av skjemaet. Prøv gjerne igjen om en stund."
474
- }
475
- );
476
- }, R = (e) => {
477
- const { children: r, className: t, ...n } = e;
478
- return /* @__PURE__ */ f(
479
- "div",
480
- {
481
- className: d(
482
- t,
483
- "bg-red-light flex items-center gap-2 rounded px-2 py-1 text-sm text-[#C03850]"
484
- ),
485
- "aria-live": "polite",
486
- ...n,
487
- children: [
488
- /* @__PURE__ */ o(re, { className: "flex-shrink-0 text-[#C03850]" }),
489
- r
490
- ]
491
- }
492
- );
493
- }, M = (e) => {
494
- const { className: r, children: t, ...n } = e;
495
- return /* @__PURE__ */ o("div", { className: d(r, "text-gray-dark text-sm"), ...n, children: t });
496
- }, z = (e) => {
497
- const { className: r, children: t, isRequired: n, isInvalid: a, ...s } = e;
498
- return /* @__PURE__ */ f(
499
- "label",
500
- {
501
- className: d(r, "block cursor-pointer font-semibold"),
502
- ...s,
503
- children: [
504
- n && /* @__PURE__ */ o(
505
- "span",
506
- {
507
- className: d(
508
- "mr-1 select-none",
509
- a ? "text-red" : "text-blue"
510
- ),
511
- children: "*"
512
- }
513
- ),
514
- t
515
- ]
516
- }
517
- );
518
- }, Ct = (e) => {
519
- const { className: r, heading: t, text: n, ...a } = e;
520
- return /* @__PURE__ */ f(
521
- "div",
522
- {
523
- className: d(
524
- r,
525
- "bg-gray-lightest flex flex-col gap-8 p-8 text-center"
526
- ),
527
- ...a,
528
- children: [
529
- /* @__PURE__ */ o(
530
- "img",
531
- {
532
- className: "mx-auto",
533
- alt: "Innsending fullført",
534
- height: "220",
535
- width: "247",
536
- src: "data:image/png;base64,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"
537
- }
538
- ),
539
- t && /* @__PURE__ */ o("h2", { className: "text-blue text-2xl", children: t }),
540
- n && /* @__PURE__ */ o("p", { className: "text-lg", children: n })
541
- ]
542
- }
543
- );
544
- }, We = (e) => {
545
- const { className: r, collapsed: t, step: n, onClick: a, children: s, formStatus: i } = e;
546
- return /* @__PURE__ */ o(
547
- "button",
548
- {
549
- type: "button",
550
- "aria-disabled": t,
551
- onClick: a,
552
- className: d(
553
- r,
554
- "border-blue-dark w-full rounded-t-lg border-2 py-4 pl-4 md:py-8 ",
555
- {
556
- "bg-blue-dark": !t,
557
- "border-black bg-white": t && i !== "completed",
558
- "border-green bg-green text-white": t && i === "completed",
559
- "rounded-t-2xl md:rounded-t-3xl": n === 1,
560
- "rounded-lg": t
561
- }
562
- ),
563
- children: /* @__PURE__ */ o(
564
- Ke,
565
- {
566
- collapsed: t,
567
- step: n,
568
- formStatus: i,
569
- children: s
570
- }
571
- )
572
- }
573
- );
574
- }, Ke = (e) => {
575
- const { collapsed: r, step: t, children: n, formStatus: a } = e, s = C(() => {
576
- switch (a) {
577
- case "blank":
578
- return "Ikke utfylt";
579
- case "completed":
580
- return "Fullført";
581
- }
582
- }, [a]), i = C(() => {
583
- if (!r)
584
- return /* @__PURE__ */ o("div", { children: t });
585
- switch (a) {
586
- case "blank":
587
- return /* @__PURE__ */ o("div", { children: t });
588
- case "completed":
589
- return /* @__PURE__ */ o(pe, { className: "h-10 w-10 md:h-12 md:w-12" });
590
- }
591
- }, [a, t, r]);
592
- return /* @__PURE__ */ f(
593
- "h2",
594
- {
595
- className: d(
596
- "grid grid-cols-[auto_1fr] grid-rows-[1fr_auto] items-center text-left text-xl font-bold md:text-2xl",
597
- {
598
- "text-white": !r
599
- }
600
- ),
601
- children: [
602
- /* @__PURE__ */ o(
603
- "div",
604
- {
605
- className: d(
606
- "row-span-2 mr-4 flex h-10 w-10 items-center justify-center self-center rounded-full border-2 font-bold md:h-12 md:w-12",
607
- {
608
- "border-white text-white": !r,
609
- "border-black": r && a !== "completed",
610
- "border-none": a === "completed" && r
611
- }
612
- ),
613
- role: "text",
614
- children: i
615
- }
616
- ),
617
- n,
618
- r && /* @__PURE__ */ o(
619
- "div",
620
- {
621
- className: d(
622
- "text-base font-normal",
623
- a === "completed" ? "text-white" : "text-black"
624
- ),
625
- children: s
626
- }
627
- )
628
- ]
629
- }
630
- );
631
- }, U = y([
632
- {
633
- activeStep: 1,
634
- formData: {}
635
- },
636
- () => {
637
- }
638
- ]);
639
- function Et() {
640
- const [e, r] = A(U);
641
- return {
642
- activeStep: e.activeStep,
643
- formData: e.formData,
644
- setActiveStep: (t) => r({ type: "SET_STEP", step: t })
645
- };
646
- }
647
- function Xe(e) {
648
- const [r, t] = A(U), n = N(async () => {
649
- t({ type: "PREV_STEP" });
650
- }, [t]), a = N(
651
- (c) => {
652
- t({
653
- type: "SET_FORM_STEP_DATA",
654
- formId: `form${e}`,
655
- formValues: c
656
- });
657
- },
658
- [t, e]
659
- ), s = N(() => {
660
- t({ type: "NEXT_STEP" });
661
- }, [t]), i = N(
662
- (c) => {
663
- a(c), s();
664
- },
665
- [s, a]
666
- );
667
- return {
668
- isActive: r.activeStep === e,
669
- activeStep: r.activeStep,
670
- setActiveStep: (c) => t({ type: "SET_STEP", step: c }),
671
- previousFormStep: n,
672
- nextFormStep: s,
673
- submitAndNextFormStep: i,
674
- setFormData: a,
675
- formData: r.formData
676
- };
677
- }
678
- function Ye(e, r) {
679
- switch (r.type) {
680
- case "NEXT_STEP":
681
- return {
682
- ...e,
683
- activeStep: e.activeStep + 1
684
- };
685
- case "PREV_STEP":
686
- return {
687
- ...e,
688
- activeStep: Math.max(e.activeStep - 1, 1)
689
- };
690
- case "SET_STEP":
691
- return {
692
- ...e,
693
- activeStep: r.step
694
- };
695
- case "SET_FORM_STEP_DATA":
696
- return {
697
- ...e,
698
- formData: {
699
- ...e.formData,
700
- [r.formId]: r.formValues
701
- }
702
- };
703
- }
704
- }
705
- function St({ children: e }) {
706
- const [r, t] = ge(Ye, {
707
- activeStep: 1,
708
- formData: {}
709
- }), n = C(() => [r, t], [r, t]);
710
- return /* @__PURE__ */ o(U.Provider, { value: n, children: e });
711
- }
712
- const Rt = (e) => {
713
- const {
714
- children: r,
715
- heading: t,
716
- step: n,
717
- formStatus: a = "blank",
718
- onSubmit: s,
719
- className: i,
720
- onHeaderClick: c,
721
- ...u
722
- } = e, { isActive: l, setActiveStep: m, activeStep: g } = Xe(n), b = E(null), p = N(() => {
723
- n < g && (c == null || c(n), m(n));
724
- }, [g, n, m, c]);
725
- return we(() => {
726
- var x;
727
- l && ((x = b.current) == null || x.scrollIntoView({ behavior: "smooth" }));
728
- }, [l]), /* @__PURE__ */ f(
729
- "form",
730
- {
731
- className: d("block", i, {
732
- "border-none": a === "completed" && !l
733
- }),
734
- onSubmit: s,
735
- ref: b,
736
- ...u,
737
- children: [
738
- /* @__PURE__ */ o(
739
- We,
740
- {
741
- step: n,
742
- formStatus: a,
743
- collapsed: !l,
744
- onClick: p,
745
- children: t
746
- }
747
- ),
748
- l && /* @__PURE__ */ o("div", { className: "border-blue-dark relative rounded-b-lg border-2 p-6 md:p-10", children: r })
749
- ]
750
- }
751
- );
752
- };
753
- function de(e) {
754
- return e !== "vertical-split" && e !== "below-center" && e !== "below-left";
755
- }
756
- const V = y({ bgColor: "white", contentPosition: "below-center", hasImage: !1 }), kt = h((e, r) => {
757
- const {
758
- bgColor: t = "white",
759
- children: n,
760
- className: a,
761
- contentPosition: s = "below-center",
762
- image: i,
763
- ...c
764
- } = e, u = i != null, l = u ? s : "below-center", m = C(
765
- () => ({
766
- bgColor: t,
767
- contentPosition: l,
768
- hasImage: u
769
- }),
770
- [t, l, u]
771
- );
772
- return /* @__PURE__ */ o(
773
- L.Provider,
774
- {
775
- value: t === "white" ? "standard" : "mint",
776
- children: /* @__PURE__ */ o(V.Provider, { value: m, children: /* @__PURE__ */ f(
777
- "div",
778
- {
779
- className: d(
780
- a,
781
- // disable padding on small screens so the hero image is flush with the screen edges
782
- "container px-0 md:grid lg:px-4",
783
- {
784
- "md:grid-cols-[50%,50%]": l === "vertical-split"
785
- }
786
- ),
787
- style: de(l) ? { gridTemplateAreas: '"hero"' } : void 0,
788
- ...c,
789
- ref: r,
790
- children: [
791
- i,
792
- n
793
- ]
794
- }
795
- ) })
796
- }
797
- );
798
- }), qt = h(
799
- (e, r) => {
800
- const { contentPosition: t } = A(V);
801
- return /* @__PURE__ */ f(
802
- "picture",
803
- {
804
- className: d(e.className, "aspect-w-6 aspect-h-7 block", {
805
- "sm:aspect-w-8 sm:aspect-h-4": t !== "vertical-split",
806
- // calculate a square aspect ratio
807
- "sm:aspect-w-8 sm:aspect-h-8": t === "vertical-split"
808
- }),
809
- style: t !== "vertical-split" && t !== "below-center" && t !== "below-left" ? { gridArea: "hero" } : void 0,
810
- ref: r,
811
- children: [
812
- /* @__PURE__ */ o("source", { media: "(min-width: 640px)", srcSet: e.mdSrc }),
813
- /* @__PURE__ */ o(
814
- "img",
815
- {
816
- className: "object-cover",
817
- decoding: "async",
818
- src: e.src,
819
- alt: e.alt
820
- }
821
- )
822
- ]
823
- }
824
- );
825
- }
826
- ), Pt = h(
827
- (e, r) => {
828
- const { bgColor: t, contentPosition: n, hasImage: a } = A(V), { children: s, className: i, heading: c, description: u, ...l } = e, m = de(n);
829
- return /* @__PURE__ */ f(
830
- "div",
831
- {
832
- className: d(
833
- i,
834
- "relative mx-4 grid grid-flow-row grid-cols-[minmax(auto,_37rem)] content-center gap-6 rounded-3xl px-6 py-10 text-center md:p-12",
835
- {
836
- // On mobile we use negative margin on the content to pull the content up into the image
837
- "-mt-18": a,
838
- "text-white": t !== "white",
839
- "bg-green-dark": t === "green",
840
- "bg-blue-dark": t === "blue",
841
- "bg-white": t === "white",
842
- // vertical split
843
- // vertically center the content, remove the border radius on the edge, add some negative margin to pull the image beneath the hero content, left align the content
844
- "md:z-10 md:-order-1 md:-mr-5 md:ml-0 md:mt-0 md:justify-center md:rounded-l-none md:text-left": n === "vertical-split",
845
- // below center/content header
846
- "justify-center md:mx-auto md:w-4/5": n === "below-center",
847
- // Below left style
848
- "md:-mt-32 md:ml-[8%] md:mr-0 md:max-w-[58%] md:text-left": n === "below-left",
849
- // styles for when the contain is fully contained within the image
850
- "md:mx-32 md:my-9 md:w-2/5": m,
851
- "self-end justify-self-start": n === "bottom-left",
852
- "self-start justify-self-start": n === "top-left",
853
- "self-start justify-self-end": n === "top-right",
854
- "self-end justify-self-end": n === "bottom-right",
855
- "self-center justify-self-center": n === "center"
856
- }
857
- ),
858
- ...l,
859
- style: m ? { gridArea: "hero" } : void 0,
860
- ref: r,
861
- children: [
862
- /* @__PURE__ */ o("h1", { children: c }),
863
- u && /* @__PURE__ */ o("p", { className: "text-lg font-semibold md:text-xl", children: u }),
864
- s
865
- ]
866
- }
867
- );
868
- }
869
- ), Lt = h(
870
- (e, r) => {
871
- const { className: t, ...n } = e, { contentPosition: a } = A(V);
872
- return /* @__PURE__ */ o(
873
- "div",
874
- {
875
- className: d(
876
- t,
877
- "grid items-center justify-center justify-items-center gap-4 md:grid-flow-col",
878
- // Left align actions/buttons
879
- {
880
- "md:justify-start": a === "vertical-split" || a === "below-left"
881
- }
882
- ),
883
- ...n,
884
- ref: r
885
- }
886
- );
887
- }
888
- ), ce = h((e, r) => {
889
- const {
890
- className: t,
891
- isInvalid: n,
892
- size: a,
893
- as: s,
894
- type: i,
895
- rightAddon: c,
896
- leftAddon: u,
897
- ...l
898
- } = e, m = s ?? "input", g = Qe(m, i);
899
- return /* @__PURE__ */ f(
900
- "div",
901
- {
902
- className: d(
903
- t,
904
- "relative flex items-center rounded-lg border border-b-[3px] focus-within:-ml-[2px] focus-within:-mt-[2px] focus-within:border-[3px] focus-within:shadow",
905
- {
906
- "focus-within:border-blue-dark border-black": !n,
907
- "border-red focus-within:border-red": n,
908
- "w-fit": a != null,
909
- "w-full": a == null,
910
- "pl-4": u,
911
- "pr-4": c
912
- }
913
- ),
914
- children: [
915
- u,
916
- /* @__PURE__ */ o(
917
- m,
918
- {
919
- "aria-invalid": n,
920
- ref: r,
921
- className: "focus:none placeholder-gray w-full rounded-lg border-none px-4 py-3.5 focus:outline-none",
922
- size: a,
923
- type: g,
924
- ...l
925
- }
926
- ),
927
- c
928
- ]
929
- }
930
- );
931
- });
932
- function Qe(e, r) {
933
- if (r != null)
934
- return r;
935
- if (e === "input")
936
- return "text";
937
- }
938
- const Mt = (e) => {
939
- let r = "";
940
- return e.icon && (r = "inline-flex items-center gap-2"), /* @__PURE__ */ f("a", { className: r, href: e.href, children: [
941
- e.icon,
942
- e.children
943
- ] });
944
- }, k = y({
945
- setIsExpanded: I,
946
- isExpanded: !1,
947
- collapsibleId: ""
948
- }), zt = (e) => {
949
- const { className: r, children: t, ...n } = e, a = ee(), [s, i] = q(!1), c = C(
950
- () => ({ isExpanded: s, setIsExpanded: i, collapsibleId: a }),
951
- [s, a]
952
- );
953
- return /* @__PURE__ */ o(L.Provider, { value: "white", children: /* @__PURE__ */ o(k.Provider, { value: c, children: /* @__PURE__ */ o(
954
- "div",
955
- {
956
- className: d(
957
- r,
958
- "bg-blue relative pb-12 pt-6 text-white before:absolute before:bottom-0 before:left-0 before:right-0 before:h-6 before:rounded-t-3xl before:bg-white md:pb-14 md:pt-8"
959
- ),
960
- ...n,
961
- children: /* @__PURE__ */ o("div", { className: "container", children: t })
962
- }
963
- ) }) });
964
- }, Vt = (e) => {
965
- const { className: r, children: t, ...n } = e, { isExpanded: a } = A(k);
966
- return /* @__PURE__ */ o(
967
- "nav",
968
- {
969
- className: d(
970
- r,
971
- "my-8 flex flex-col md:mb-0 md:flex md:flex-row md:flex-wrap md:gap-x-8",
972
- {
973
- hidden: !a
974
- }
975
- ),
976
- ...n,
977
- children: t
978
- }
979
- );
980
- }, Tt = h(
981
- (e, r) => {
982
- const { active: t, className: n, children: a, ...s } = e;
983
- return /* @__PURE__ */ o(
984
- "a",
985
- {
986
- "aria-current": t ? "page" : void 0,
987
- className: d(
988
- n,
989
- "border-b border-[#0156E0] py-3 no-underline md:border-b-2 md:border-transparent md:py-2 md:hover:border-white",
990
- {
991
- "md:bg-blue-dark font-bold md:-mx-3 md:rounded-t-lg md:px-3": t
992
- }
993
- ),
994
- ref: r,
995
- ...s,
996
- children: a
997
- }
998
- );
999
- }
1000
- ), Ue = () => {
1001
- const { isExpanded: e, setIsExpanded: r, collapsibleId: t } = A(k);
1002
- let n = Ae, a = "Meny";
1003
- return e && (n = xe, a = "Lukk"), /* @__PURE__ */ f(
1004
- "button",
1005
- {
1006
- "aria-controls": t,
1007
- "aria-expanded": e,
1008
- className: "inline-flex items-center gap-2 md:hidden",
1009
- onClick: () => r((s) => !s),
1010
- children: [
1011
- a,
1012
- " ",
1013
- /* @__PURE__ */ o(n, {})
1014
- ]
1015
- }
1016
- );
1017
- }, Ft = (e) => {
1018
- const { className: r, children: t, logo: n, ...a } = e;
1019
- return /* @__PURE__ */ f(
1020
- "div",
1021
- {
1022
- className: d(r, "flex items-center justify-between gap-8"),
1023
- ...a,
1024
- children: [
1025
- n,
1026
- /* @__PURE__ */ o("div", { className: "hidden md:block", children: t }),
1027
- /* @__PURE__ */ o(Ue, {})
1028
- ]
1029
- }
1030
- );
1031
- }, Jt = (e) => {
1032
- const { className: r, children: t, ...n } = e, { collapsibleId: a, isExpanded: s } = A(k);
1033
- return /* @__PURE__ */ o(
1034
- "div",
1035
- {
1036
- ...n,
1037
- "aria-hidden": !s,
1038
- className: d(r, "md:-mb-8 md:block", {
1039
- hidden: !s
1040
- }),
1041
- id: a,
1042
- children: t
1043
- }
1044
- );
1045
- }, jt = (e) => {
1046
- const { isExpanded: r } = A(k), t = Pe(!1);
1047
- return !r || !t ? null : /* @__PURE__ */ o(O, { children: e.children });
1048
- }, w = 2, T = y({ currentPage: 0, pageCount: 0 }), Ot = (e) => {
1049
- const {
1050
- className: r,
1051
- page: t,
1052
- count: n,
1053
- onChange: a,
1054
- getItemHref: s,
1055
- getItemAriaLabel: i,
1056
- nextPageAriaLabel: c,
1057
- prevPageAriaLabel: u,
1058
- ...l
1059
- } = e, m = C(
1060
- () => ({
1061
- currentPage: Math.max(1, Math.min(t, n)),
1062
- pageCount: Math.max(1, n)
1063
- }),
1064
- [t, n]
1065
- ), g = (b) => (p) => {
1066
- a && (p.preventDefault(), a(b));
1067
- };
1068
- return /* @__PURE__ */ o(T.Provider, { value: m, children: /* @__PURE__ */ f(
1069
- "nav",
1070
- {
1071
- className: d("flex justify-center gap-2 sm:gap-4", r),
1072
- ...l,
1073
- children: [
1074
- /* @__PURE__ */ o(
1075
- De,
1076
- {
1077
- "aria-label": u,
1078
- href: s(t - 1),
1079
- onClick: g(t - 1)
1080
- }
1081
- ),
1082
- /* @__PURE__ */ o(
1083
- _,
1084
- {
1085
- page: 1,
1086
- href: s(1),
1087
- onClick: g(1),
1088
- "aria-label": i(1),
1089
- selected: t === 1
1090
- }
1091
- ),
1092
- n > 2 + w * 2 && t > w + 2 && /* @__PURE__ */ o(He, {}),
1093
- /* @__PURE__ */ o(Ge, { children: (b) => /* @__PURE__ */ o(
1094
- _,
1095
- {
1096
- href: s(b),
1097
- onClick: g(b),
1098
- "aria-label": i(b),
1099
- page: b,
1100
- selected: b === t
1101
- },
1102
- b
1103
- ) }),
1104
- /* @__PURE__ */ o(
1105
- Be,
1106
- {
1107
- "aria-label": c,
1108
- href: s(t + 1),
1109
- onClick: g(t + 1)
1110
- }
1111
- )
1112
- ]
1113
- }
1114
- ) });
1115
- }, Be = h((e, r) => {
1116
- const { currentPage: t, pageCount: n } = A(T), a = t >= n;
1117
- return /* @__PURE__ */ o(
1118
- B,
1119
- {
1120
- "aria-hidden": a,
1121
- className: a ? "invisible" : void 0,
1122
- ref: r,
1123
- rel: "next",
1124
- ...e,
1125
- children: /* @__PURE__ */ o(ve, {})
1126
- }
1127
- );
1128
- }), De = h((e, r) => {
1129
- const { currentPage: t } = A(T), n = t <= 1;
1130
- return /* @__PURE__ */ o(
1131
- B,
1132
- {
1133
- "aria-hidden": n,
1134
- className: n ? "invisible" : void 0,
1135
- ref: r,
1136
- rel: "prev",
1137
- ...e,
1138
- children: /* @__PURE__ */ o(Ne, {})
1139
- }
1140
- );
1141
- }), B = h((e, r) => {
1142
- const { className: t, ...n } = e;
1143
- return /* @__PURE__ */ o(
1144
- "a",
1145
- {
1146
- className: d(
1147
- t,
1148
- "aria-[current]:border-green hover:bg-gray-lightest flex h-9 w-9 items-center justify-center rounded-lg border-2 border-transparent no-underline sm:h-10 sm:w-10"
1149
- ),
1150
- ref: r,
1151
- ...n
1152
- }
1153
- );
1154
- }), He = () => /* @__PURE__ */ o("span", { className: "flex h-9 w-9 cursor-default items-center justify-center border-2 border-transparent sm:h-10 sm:w-10", children: "..." }), Ge = ({ children: e }) => {
1155
- const { currentPage: r, pageCount: t } = A(T), n = Math.min(
1156
- Math.max(2 + w * 2, r + w),
1157
- t
1158
- );
1159
- let a = Math.max(
1160
- Math.min(r - w, n - w * 2),
1161
- 1
1162
- );
1163
- return a - w === 0 && (a = a - 1), Array.from({ length: n - a }, (i, c) => a + c + 1).map((i) => e(i));
1164
- }, _ = h((e, r) => {
1165
- const { page: t, selected: n, ...a } = e;
1166
- return /* @__PURE__ */ o(B, { "aria-current": n ? "page" : void 0, ref: r, ...a, children: t });
1167
- }), me = y({
1168
- defaultValue: void 0,
1169
- isControlled: !1,
1170
- name: void 0,
1171
- onChange: I,
1172
- required: !1,
1173
- value: void 0,
1174
- error: !1
1175
- }), Zt = h((e, r) => {
1176
- const { children: t, className: n, ...a } = e, { defaultValue: s, isControlled: i, name: c, onChange: u, required: l, value: m, error: g } = A(me);
1177
- return /* @__PURE__ */ f("label", { className: d(n, "flex cursor-pointer gap-2.5"), children: [
1178
- /* @__PURE__ */ o(
1179
- "input",
1180
- {
1181
- className: d("radio", g && "border-red"),
1182
- defaultChecked: i ? void 0 : a.value === s,
1183
- checked: i ? a.value === m : void 0,
1184
- name: c,
1185
- onChange: i ? u : void 0,
1186
- required: l,
1187
- type: "radio",
1188
- ref: r,
1189
- ...a
1190
- }
1191
- ),
1192
- t
1193
- ] });
1194
- }), Wt = h(
1195
- (e, r) => {
1196
- const t = "value" in e, {
1197
- className: n,
1198
- defaultValue: a,
1199
- description: s,
1200
- error: i,
1201
- id: c,
1202
- children: u,
1203
- label: l,
1204
- name: m,
1205
- onChange: g,
1206
- required: b,
1207
- value: p,
1208
- ...x
1209
- } = e, v = N(
1210
- (ue) => {
1211
- const be = ue.target.value;
1212
- g == null || g(be);
1213
- },
1214
- [g]
1215
- ), F = C(
1216
- () => ({
1217
- defaultValue: a,
1218
- isControlled: t,
1219
- name: m,
1220
- onChange: v,
1221
- required: b,
1222
- value: p,
1223
- error: !!i
1224
- }),
1225
- [a, t, m, v, b, p, i]
1226
- ), J = S(c), D = `${J}:label`, H = `${J}:help`, G = J + "err", j = i;
1227
- return /* @__PURE__ */ o(me.Provider, { value: F, children: /* @__PURE__ */ f(
1228
- "div",
1229
- {
1230
- "aria-describedby": d({
1231
- [G]: j,
1232
- [H]: s
1233
- }) || void 0,
1234
- "aria-invalid": !!i,
1235
- "aria-labelledby": l ? D : void 0,
1236
- className: d(n, "flex flex-col gap-4"),
1237
- role: "radiogroup",
1238
- ref: r,
1239
- ...x,
1240
- children: [
1241
- l && /* @__PURE__ */ o(z, { id: D, isRequired: b, isInvalid: !!i, children: l }),
1242
- s && /* @__PURE__ */ o(M, { id: H, children: s }),
1243
- u,
1244
- j && /* @__PURE__ */ o(R, { id: G, children: j })
1245
- ]
1246
- }
1247
- ) });
1248
- }
1249
- ), _e = h(
1250
- (e, r) => {
1251
- const { children: t, className: n, isInvalid: a, size: s, ...i } = e, c = s === "small";
1252
- return /* @__PURE__ */ f("div", { className: d(n, "relative", c && "text-sm"), children: [
1253
- /* @__PURE__ */ o(
1254
- "select",
1255
- {
1256
- "aria-invalid": a,
1257
- ...i,
1258
- className: d(
1259
- "w-full cursor-pointer appearance-none border border-b-[3px] bg-white focus:-ml-0.5 focus:-mt-0.5 focus:border-[3px] focus:shadow focus:outline-none",
1260
- c ? "rounded px-3.5 py-2" : "rounded-lg px-4 py-3.5",
1261
- a ? "border-red focus:border-red" : "focus:border-blue-dark border-black"
1262
- ),
1263
- ref: r,
1264
- children: t
1265
- }
1266
- ),
1267
- /* @__PURE__ */ o(
1268
- te,
1269
- {
1270
- className: d(
1271
- "pointer-events-none absolute bottom-0 top-0 my-auto",
1272
- c ? "right-3.5" : "right-4"
1273
- )
1274
- }
1275
- )
1276
- ] });
1277
- }
1278
- ), Kt = h(
1279
- (e, r) => {
1280
- const {
1281
- description: t,
1282
- error: n,
1283
- id: a,
1284
- label: s,
1285
- disableValidation: i = !1,
1286
- ...c
1287
- } = e, u = E(null), l = X([u, r]), { validity: m, validationMessage: g } = P(
1288
- u,
1289
- !i
1290
- ), b = S(a), p = b + "help", x = b + "err", v = n || g;
1291
- return /* @__PURE__ */ f("div", { className: "grid gap-2", children: [
1292
- /* @__PURE__ */ o(
1293
- z,
1294
- {
1295
- htmlFor: b,
1296
- isRequired: e.required,
1297
- isInvalid: !!n || m === "invalid",
1298
- children: s
1299
- }
1300
- ),
1301
- t && /* @__PURE__ */ o(M, { id: p, children: t }),
1302
- /* @__PURE__ */ o(
1303
- _e,
1304
- {
1305
- id: b,
1306
- ref: l,
1307
- ...c,
1308
- isInvalid: !!n || m === "invalid",
1309
- "aria-describedby": d({
1310
- [x]: v,
1311
- [p]: t
1312
- }) || void 0
1313
- }
1314
- ),
1315
- v && /* @__PURE__ */ o(R, { id: x, children: v })
1316
- ] });
1317
- }
1318
- ), Xt = (e) => {
1319
- const { heading: r, children: t, closeSnackbar: n } = e, [a, s] = q(!1);
1320
- return /* @__PURE__ */ o("div", { className: "container max-w-[59rem]", children: /* @__PURE__ */ o("div", { className: "bg-orange-light p-4 md:px-8", children: /* @__PURE__ */ f("div", { className: "snackbar grid items-center", children: [
1321
- /* @__PURE__ */ o(ne, { className: "text-orange snackbar-icon mr-4 self-start md:mr-8 md:text-2xl" }),
1322
- /* @__PURE__ */ o(
1323
- "h3",
1324
- {
1325
- className: d(
1326
- "snackbar-header min-w-0 max-w-prose text-base font-medium",
1327
- {
1328
- "overflow-hidden overflow-ellipsis whitespace-nowrap": !a
1329
- }
1330
- ),
1331
- children: r
1332
- }
1333
- ),
1334
- /* @__PURE__ */ f("div", { className: "snackbar-actions mt-3 flex justify-end gap-4 md:ml-4 md:mt-0", children: [
1335
- /* @__PURE__ */ o(
1336
- $,
1337
- {
1338
- "aria-expanded": a,
1339
- onClick: () => s(!a),
1340
- children: a ? "Les mindre" : "Les mer"
1341
- }
1342
- ),
1343
- /* @__PURE__ */ o($, { onClick: n, children: "Ok" })
1344
- ] }),
1345
- a && t
1346
- ] }) }) });
1347
- }, $ = (e) => /* @__PURE__ */ o(
1348
- "button",
1349
- {
1350
- className: d(
1351
- e.className,
1352
- "focus-visible:ring-offset flex-shrink-0 underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-black"
1353
- ),
1354
- ...e,
1355
- children: e.children
1356
- }
1357
- ), Yt = (e) => /* @__PURE__ */ o(
1358
- "div",
1359
- {
1360
- className: "snackbar-content my-4 max-h-[50vh] max-w-prose overflow-y-auto",
1361
- ...e,
1362
- children: e.children
1363
- }
1364
- ), $e = (e) => {
1365
- const { align: r = "center", children: t, className: n, ...a } = e;
1366
- return /* @__PURE__ */ o("ol", { className: d(n, "flex flex-col gap-8 md:gap-12"), ...a, children: Z.map(t, (s) => {
1367
- if (W(s))
1368
- return K(s, {
1369
- align: r
1370
- });
1371
- }) });
1372
- }, et = (e) => {
1373
- const { className: r, children: t, bullet: n, align: a = "center", ...s } = e;
1374
- return /* @__PURE__ */ f(
1375
- "li",
1376
- {
1377
- className: d(
1378
- r,
1379
- "group relative flex gap-4 text-sm md:gap-8 md:text-base",
1380
- { "items-center": a === "center" }
1381
- ),
1382
- ...s,
1383
- children: [
1384
- /* @__PURE__ */ o(tt, { align: a, children: n }),
1385
- t
1386
- ]
1387
- }
1388
- );
1389
- }, tt = ({ align: e, ...r }) => /* @__PURE__ */ o(
1390
- "span",
1391
- {
1392
- "aria-hidden": !0,
1393
- className: d(
1394
- "text-green after:bg-gray-light before:bg-gray-light grid h-10 w-10 flex-none place-content-center justify-items-center rounded-full border-2 text-sm font-bold after:absolute after:bottom-0 after:w-0.5 after:translate-x-1/2 group-last:after:hidden md:h-20 md:w-20 md:text-xl",
1395
- {
1396
- "before:absolute before:bottom-1/2 before:top-0 before:w-0.5 before:-translate-y-5 before:translate-x-1/2 after:top-1/2 after:translate-y-5 group-first:before:hidden before:md:-translate-y-10 after:md:translate-y-10": e === "center",
1397
- "after:-bottom-8 after:top-10 after:md:-bottom-12 after:md:top-20": e === "top"
1398
- }
1399
- ),
1400
- ...r
1401
- }
1402
- );
1403
- $e.Item = et;
1404
- const Qt = h(
1405
- (e, r) => {
1406
- const {
1407
- description: t,
1408
- error: n,
1409
- id: a,
1410
- label: s,
1411
- disableValidation: i = !1,
1412
- ...c
1413
- } = e, u = E(null), l = X([u, r]), { validity: m, validationMessage: g } = P(
1414
- u,
1415
- !i
1416
- ), b = S(a), p = b + "help", x = b + "err", v = n || g;
1417
- return /* @__PURE__ */ f("div", { className: "grid gap-2", children: [
1418
- /* @__PURE__ */ o(
1419
- z,
1420
- {
1421
- htmlFor: b,
1422
- isRequired: e.required,
1423
- isInvalid: !!n || m === "invalid",
1424
- children: s
1425
- }
1426
- ),
1427
- t && /* @__PURE__ */ o(M, { id: p, children: t }),
1428
- /* @__PURE__ */ o(
1429
- ce,
1430
- {
1431
- as: "textarea",
1432
- ref: l,
1433
- id: b,
1434
- ...c,
1435
- isInvalid: !!n || m === "invalid",
1436
- "aria-describedby": d({
1437
- [x]: v,
1438
- [p]: t
1439
- }) || void 0
1440
- }
1441
- ),
1442
- v && /* @__PURE__ */ o(R, { id: x, children: v })
1443
- ] });
1444
- }
1445
- ), Ut = h(
1446
- (e, r) => {
1447
- const {
1448
- description: t,
1449
- error: n,
1450
- id: a,
1451
- label: s,
1452
- type: i = "text",
1453
- disableValidation: c = !1,
1454
- ...u
1455
- } = e, l = E(null), { validity: m, validationMessage: g } = P(
1456
- l,
1457
- !c
1458
- ), b = S(a), p = b + "help", x = b + "err", v = n || g, F = X([l, r]);
1459
- return /* @__PURE__ */ f("div", { className: "grid gap-2", children: [
1460
- /* @__PURE__ */ o(
1461
- z,
1462
- {
1463
- htmlFor: b,
1464
- isRequired: e.required,
1465
- isInvalid: !!n || m === "invalid",
1466
- children: s
1467
- }
1468
- ),
1469
- t && /* @__PURE__ */ o(M, { id: p, children: t }),
1470
- /* @__PURE__ */ o(
1471
- ce,
1472
- {
1473
- id: b,
1474
- ref: F,
1475
- type: i,
1476
- ...u,
1477
- isInvalid: !!n || m === "invalid",
1478
- "aria-describedby": d({
1479
- [x]: v,
1480
- [p]: t
1481
- }) || void 0
1482
- }
1483
- ),
1484
- v && /* @__PURE__ */ o(R, { id: x, children: v })
1485
- ] });
1486
- }
1487
- );
1488
- export {
1489
- Y as Accordion,
1490
- Re as AccordionContent,
1491
- Se as AccordionHeader,
1492
- Ee as AccordionItem,
1493
- dt as Alert,
1494
- mt as Banner,
1495
- ut as BannerImage,
1496
- bt as Button,
1497
- L as ButtonColorContext,
1498
- ft as Campaign,
1499
- Te as CampaignBody,
1500
- Fe as CampaignImage,
1501
- gt as Card,
1502
- At as CardContent,
1503
- ht as CardImage,
1504
- xt as CardLinkOverlay,
1505
- pt as CardList,
1506
- vt as Checkbox,
1507
- Nt as Chip,
1508
- yt as Footer,
1509
- wt as Form,
1510
- It as FormError,
1511
- R as FormErrorMessage,
1512
- Ze as FormHeading,
1513
- M as FormHelperText,
1514
- z as FormLabel,
1515
- Rt as FormStep,
1516
- We as FormStepHeader,
1517
- Ke as FormStepHeaderContent,
1518
- St as FormStepProvider,
1519
- Ct as FormSuccess,
1520
- kt as Hero,
1521
- Lt as HeroActions,
1522
- Pt as HeroContent,
1523
- V as HeroContext,
1524
- qt as HeroImage,
1525
- ce as Input,
1526
- Mt as Link,
1527
- zt as Navbar,
1528
- Jt as NavbarCollapsible,
1529
- Ft as NavbarContent,
1530
- jt as NavbarExpandedMobileContent,
1531
- Tt as NavbarItem,
1532
- Vt as NavbarItems,
1533
- Ot as Pagination,
1534
- Zt as Radio,
1535
- Wt as RadioGroup,
1536
- Kt as Select,
1537
- Xt as Snackbar,
1538
- $ as SnackbarButton,
1539
- Yt as SnackbarContent,
1540
- $e as StepList,
1541
- et as StepListItem,
1542
- Qt as TextArea,
1543
- Ut as TextField,
1544
- se as useBlockBackgroundColor,
1545
- S as useFallbackId,
1546
- Et as useFormContext,
1547
- P as useFormControlValidity,
1548
- Xe as useFormStepContext,
1549
- ct as usePrefersReducedMotion,
1550
- Pe as useScreenMaxWidthMd
1551
- };