suus-component-library 0.1.9 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/form/button/Button.d.ts +1 -1
- package/dist/components/form/button/Button.d.ts.map +1 -1
- package/dist/components/form/chip/Chip.d.ts +11 -3
- package/dist/components/form/chip/Chip.d.ts.map +1 -1
- package/dist/components/form/password/Password.d.ts +1 -3
- package/dist/components/form/password/Password.d.ts.map +1 -1
- package/dist/components/form/postal-code/PostalCode.d.ts.map +1 -1
- package/dist/components/form/radiobutton/RadioButton.d.ts.map +1 -1
- package/dist/components/form/switch/Switch.d.ts +0 -16
- package/dist/components/form/switch/Switch.d.ts.map +1 -1
- package/dist/suus-component-library.css +1 -1
- package/dist/suus-component-library.js +176 -146
- package/dist/suus-component-library.umd.cjs +1 -1
- package/package.json +3 -2
- package/dist/components/form/button/Button.stories.d.ts +0 -33
- package/dist/components/form/button/Button.stories.d.ts.map +0 -1
- package/dist/components/form/checkbox/Checkbox.stories.d.ts +0 -25
- package/dist/components/form/checkbox/Checkbox.stories.d.ts.map +0 -1
- package/dist/components/form/chip/Chip.stories.d.ts +0 -37
- package/dist/components/form/chip/Chip.stories.d.ts.map +0 -1
- package/dist/components/form/date-picker/DatePicker.stories.d.ts +0 -389
- package/dist/components/form/date-picker/DatePicker.stories.d.ts.map +0 -1
- package/dist/components/form/dropdown/Dropdown.stories.d.ts +0 -370
- package/dist/components/form/dropdown/Dropdown.stories.d.ts.map +0 -1
- package/dist/components/form/link/Link.stories.d.ts +0 -56
- package/dist/components/form/link/Link.stories.d.ts.map +0 -1
- package/dist/components/form/password/Password.stories.d.ts +0 -73
- package/dist/components/form/password/Password.stories.d.ts.map +0 -1
- package/dist/components/form/postal-code/PostalCode.stories.d.ts +0 -384
- package/dist/components/form/postal-code/PostalCode.stories.d.ts.map +0 -1
- package/dist/components/form/radiobutton/RadioButton.stories.d.ts +0 -74
- package/dist/components/form/radiobutton/RadioButton.stories.d.ts.map +0 -1
- package/dist/components/form/switch/Switch.stories.d.ts +0 -62
- package/dist/components/form/switch/Switch.stories.d.ts.map +0 -1
- package/dist/components/form/textfield/TextField.stories.d.ts +0 -59
- package/dist/components/form/textfield/TextField.stories.d.ts.map +0 -1
- package/dist/components/form/upload/Upload.stories.d.ts +0 -389
- package/dist/components/form/upload/Upload.stories.d.ts.map +0 -1
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { Fragment as e, jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect as r, useId as i, useMemo as a, useRef as o, useState as s } from "react";
|
|
3
3
|
var c = {
|
|
4
|
-
suusButton: "
|
|
5
|
-
icon: "
|
|
6
|
-
label: "
|
|
7
|
-
primary: "
|
|
8
|
-
secondary: "
|
|
9
|
-
loading: "
|
|
10
|
-
loader: "
|
|
11
|
-
"btn-spin": "_btn-
|
|
12
|
-
loaderSecondary: "
|
|
4
|
+
suusButton: "_suusButton_1ucmz_1",
|
|
5
|
+
icon: "_icon_1ucmz_45",
|
|
6
|
+
label: "_label_1ucmz_62",
|
|
7
|
+
primary: "_primary_1ucmz_69",
|
|
8
|
+
secondary: "_secondary_1ucmz_113",
|
|
9
|
+
loading: "_loading_1ucmz_169",
|
|
10
|
+
loader: "_loader_1ucmz_173",
|
|
11
|
+
"btn-spin": "_btn-spin_1ucmz_1",
|
|
12
|
+
loaderSecondary: "_loaderSecondary_1ucmz_182"
|
|
13
13
|
};
|
|
14
14
|
//#endregion
|
|
15
15
|
//#region src/components/form/button/Button.tsx
|
|
16
|
-
function l({ label: r, onClick: i, type: a = "button", disabled: o = !1, loading: s = !1, variant: l = "primary", colorToken: u = "--
|
|
16
|
+
function l({ label: r, onClick: i, type: a = "button", disabled: o = !1, loading: s = !1, variant: l = "primary", colorToken: u = "--color-juice-sugarcane", icon: d, ...f }) {
|
|
17
17
|
return /* @__PURE__ */ t("button", {
|
|
18
18
|
type: a,
|
|
19
19
|
onClick: i,
|
|
@@ -39,16 +39,16 @@ function l({ label: r, onClick: i, type: a = "button", disabled: o = !1, loading
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
var u = {
|
|
42
|
-
checkboxWrapper: "
|
|
43
|
-
checkboxInput: "
|
|
44
|
-
checkboxLabel: "
|
|
45
|
-
customCheckbox: "
|
|
46
|
-
checkIcon: "
|
|
47
|
-
checkboxText: "
|
|
48
|
-
checkboxWrapperDisabled: "
|
|
49
|
-
checkboxWrapperError: "
|
|
50
|
-
errorMessage: "
|
|
51
|
-
checkboxWrapperGlassy: "
|
|
42
|
+
checkboxWrapper: "_checkboxWrapper_6w8h4_1",
|
|
43
|
+
checkboxInput: "_checkboxInput_6w8h4_15",
|
|
44
|
+
checkboxLabel: "_checkboxLabel_6w8h4_24",
|
|
45
|
+
customCheckbox: "_customCheckbox_6w8h4_34",
|
|
46
|
+
checkIcon: "_checkIcon_6w8h4_57",
|
|
47
|
+
checkboxText: "_checkboxText_6w8h4_76",
|
|
48
|
+
checkboxWrapperDisabled: "_checkboxWrapperDisabled_6w8h4_107",
|
|
49
|
+
checkboxWrapperError: "_checkboxWrapperError_6w8h4_133",
|
|
50
|
+
errorMessage: "_errorMessage_6w8h4_147",
|
|
51
|
+
checkboxWrapperGlassy: "_checkboxWrapperGlassy_6w8h4_154"
|
|
52
52
|
};
|
|
53
53
|
//#endregion
|
|
54
54
|
//#region src/components/form/checkbox/Checkbox.tsx
|
|
@@ -100,19 +100,42 @@ function d({ label: e, name: r, id: i, error: a, variant: o = "default", classNa
|
|
|
100
100
|
});
|
|
101
101
|
}
|
|
102
102
|
var f = {
|
|
103
|
-
chip: "
|
|
104
|
-
|
|
103
|
+
chip: "_chip_1kgh7_1",
|
|
104
|
+
chipDefault: "_chipDefault_1kgh7_21",
|
|
105
|
+
chipGlassy: "_chipGlassy_1kgh7_36",
|
|
106
|
+
chipChecked: "_chipChecked_1kgh7_49",
|
|
107
|
+
chipDisabled: "_chipDisabled_1kgh7_56"
|
|
105
108
|
};
|
|
106
109
|
//#endregion
|
|
107
110
|
//#region src/components/form/chip/Chip.tsx
|
|
108
|
-
function p({ children: e, variant: n = "default",
|
|
109
|
-
|
|
111
|
+
function p({ children: e, variant: n = "default", clickable: r = !0, checked: i, defaultChecked: a = !1, onCheckedChange: o, className: c, ...l }) {
|
|
112
|
+
let [u, d] = s(a), p = typeof i == "boolean", m = p ? i : u;
|
|
113
|
+
function h(e) {
|
|
114
|
+
if (!r) return;
|
|
115
|
+
let t = !m;
|
|
116
|
+
p || d(t), o?.(t), l.onClick?.(e);
|
|
117
|
+
}
|
|
118
|
+
let g = n === "glassy" ? f.chipGlassy : f.chipDefault, _ = m ? f.chipChecked : "", v = r ? "" : f.chipDisabled;
|
|
119
|
+
return r ? /* @__PURE__ */ t("button", {
|
|
120
|
+
type: "button",
|
|
121
|
+
"aria-pressed": m,
|
|
122
|
+
className: [
|
|
123
|
+
f.chip,
|
|
124
|
+
g,
|
|
125
|
+
_,
|
|
126
|
+
c ?? ""
|
|
127
|
+
].filter(Boolean).join(" "),
|
|
128
|
+
onClick: h,
|
|
129
|
+
...l,
|
|
130
|
+
children: e
|
|
131
|
+
}) : /* @__PURE__ */ t("span", {
|
|
110
132
|
className: [
|
|
111
133
|
f.chip,
|
|
112
|
-
|
|
113
|
-
|
|
134
|
+
g,
|
|
135
|
+
_,
|
|
136
|
+
v,
|
|
137
|
+
c ?? ""
|
|
114
138
|
].filter(Boolean).join(" "),
|
|
115
|
-
...i,
|
|
116
139
|
children: e
|
|
117
140
|
});
|
|
118
141
|
}
|
|
@@ -217,13 +240,13 @@ function v() {
|
|
|
217
240
|
});
|
|
218
241
|
}
|
|
219
242
|
var y = {
|
|
220
|
-
inputBlockVertical: "
|
|
221
|
-
inputLabel: "
|
|
222
|
-
inputLabelGlassy: "
|
|
223
|
-
inputSelectField: "
|
|
224
|
-
inputSelectFieldGlassy: "
|
|
225
|
-
inputError: "
|
|
226
|
-
errorMessage: "
|
|
243
|
+
inputBlockVertical: "_inputBlockVertical_1yqyz_1",
|
|
244
|
+
inputLabel: "_inputLabel_1yqyz_7",
|
|
245
|
+
inputLabelGlassy: "_inputLabelGlassy_1yqyz_13",
|
|
246
|
+
inputSelectField: "_inputSelectField_1yqyz_17",
|
|
247
|
+
inputSelectFieldGlassy: "_inputSelectFieldGlassy_1yqyz_27",
|
|
248
|
+
inputError: "_inputError_1yqyz_40",
|
|
249
|
+
errorMessage: "_errorMessage_1yqyz_44"
|
|
227
250
|
};
|
|
228
251
|
//#endregion
|
|
229
252
|
//#region src/components/form/dropdown/Dropdown.tsx
|
|
@@ -267,11 +290,12 @@ function b({ label: e, name: r, options: i, placeholder: a, error: o, variant: s
|
|
|
267
290
|
});
|
|
268
291
|
}
|
|
269
292
|
var x = {
|
|
270
|
-
appLink: "
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
293
|
+
appLink: "_appLink_b53rv_1",
|
|
294
|
+
appLinkDefault: "_appLinkDefault_b53rv_19",
|
|
295
|
+
appLinkGlassy: "_appLinkGlassy_b53rv_30",
|
|
296
|
+
label: "_label_b53rv_38",
|
|
297
|
+
icon: "_icon_b53rv_43",
|
|
298
|
+
arrowIcon: "_arrowIcon_b53rv_54"
|
|
275
299
|
};
|
|
276
300
|
//#endregion
|
|
277
301
|
//#region src/components/form/link/Link.tsx
|
|
@@ -286,7 +310,7 @@ function S({ children: e, href: r, onClick: i, newTab: a = !1, showArrow: o = !0
|
|
|
286
310
|
rel: r && a ? "noopener noreferrer" : void 0,
|
|
287
311
|
className: [
|
|
288
312
|
x.appLink,
|
|
289
|
-
s === "glassy" ? x.appLinkGlassy :
|
|
313
|
+
s === "glassy" ? x.appLinkGlassy : x.appLinkDefault,
|
|
290
314
|
c ?? ""
|
|
291
315
|
].filter(Boolean).join(" "),
|
|
292
316
|
...l,
|
|
@@ -311,59 +335,58 @@ function C() {
|
|
|
311
335
|
});
|
|
312
336
|
}
|
|
313
337
|
var w = {
|
|
314
|
-
inputBlockVertical: "
|
|
315
|
-
inputLabel: "
|
|
316
|
-
inputLabelGlassy: "
|
|
317
|
-
passwordInputWrapper: "
|
|
318
|
-
inputTextField: "
|
|
319
|
-
inputTextFieldGlassy: "
|
|
320
|
-
inputError: "
|
|
321
|
-
togglePasswordButton: "
|
|
322
|
-
icon: "
|
|
323
|
-
errorMessage: "
|
|
338
|
+
inputBlockVertical: "_inputBlockVertical_u3s35_1",
|
|
339
|
+
inputLabel: "_inputLabel_u3s35_7",
|
|
340
|
+
inputLabelGlassy: "_inputLabelGlassy_u3s35_13",
|
|
341
|
+
passwordInputWrapper: "_passwordInputWrapper_u3s35_17",
|
|
342
|
+
inputTextField: "_inputTextField_u3s35_22",
|
|
343
|
+
inputTextFieldGlassy: "_inputTextFieldGlassy_u3s35_34",
|
|
344
|
+
inputError: "_inputError_u3s35_56",
|
|
345
|
+
togglePasswordButton: "_togglePasswordButton_u3s35_60",
|
|
346
|
+
icon: "_icon_u3s35_92",
|
|
347
|
+
errorMessage: "_errorMessage_u3s35_101"
|
|
324
348
|
};
|
|
325
349
|
//#endregion
|
|
326
350
|
//#region src/components/form/password/Password.tsx
|
|
327
|
-
function T({ label: e, name: r, id: i, error: a, variant: o = "default",
|
|
328
|
-
let [
|
|
329
|
-
function
|
|
330
|
-
|
|
351
|
+
function T({ label: e, name: r, id: i, error: a, variant: o = "default", className: c, disabled: l, ref: u, autoComplete: d = "current-password", ...f }) {
|
|
352
|
+
let [p, m] = s(!1), h = i ?? r;
|
|
353
|
+
function g() {
|
|
354
|
+
m((e) => !e);
|
|
331
355
|
}
|
|
332
356
|
return /* @__PURE__ */ n("div", {
|
|
333
357
|
className: w.inputBlockVertical,
|
|
334
|
-
style: _,
|
|
335
358
|
children: [
|
|
336
359
|
e && /* @__PURE__ */ t("label", {
|
|
337
|
-
htmlFor:
|
|
360
|
+
htmlFor: h,
|
|
338
361
|
className: [w.inputLabel, o === "glassy" ? w.inputLabelGlassy : ""].filter(Boolean).join(" "),
|
|
339
362
|
children: e
|
|
340
363
|
}),
|
|
341
364
|
/* @__PURE__ */ n("div", {
|
|
342
365
|
className: w.passwordInputWrapper,
|
|
343
366
|
children: [/* @__PURE__ */ t("input", {
|
|
344
|
-
id:
|
|
367
|
+
id: h,
|
|
345
368
|
name: r,
|
|
346
|
-
ref:
|
|
347
|
-
type:
|
|
348
|
-
disabled:
|
|
349
|
-
autoComplete:
|
|
369
|
+
ref: u,
|
|
370
|
+
type: p ? "text" : "password",
|
|
371
|
+
disabled: l,
|
|
372
|
+
autoComplete: d,
|
|
350
373
|
className: [
|
|
351
374
|
w.inputTextField,
|
|
352
375
|
o === "glassy" ? w.inputTextFieldGlassy : "",
|
|
353
376
|
a ? w.inputError : "",
|
|
354
|
-
|
|
377
|
+
c ?? ""
|
|
355
378
|
].filter(Boolean).join(" "),
|
|
356
379
|
"aria-invalid": !!a,
|
|
357
380
|
"aria-describedby": a ? `${r}-error` : void 0,
|
|
358
|
-
...
|
|
381
|
+
...f
|
|
359
382
|
}), /* @__PURE__ */ t("button", {
|
|
360
383
|
type: "button",
|
|
361
384
|
className: w.togglePasswordButton,
|
|
362
|
-
onClick:
|
|
363
|
-
disabled:
|
|
364
|
-
"aria-label":
|
|
365
|
-
"aria-pressed":
|
|
366
|
-
children: t(
|
|
385
|
+
onClick: g,
|
|
386
|
+
disabled: l,
|
|
387
|
+
"aria-label": p ? "Passwort ausblenden" : "Passwort anzeigen",
|
|
388
|
+
"aria-pressed": p,
|
|
389
|
+
children: t(p ? D : E, {})
|
|
367
390
|
})]
|
|
368
391
|
}),
|
|
369
392
|
a && /* @__PURE__ */ t("span", {
|
|
@@ -399,69 +422,71 @@ function D() {
|
|
|
399
422
|
});
|
|
400
423
|
}
|
|
401
424
|
var O = {
|
|
402
|
-
inputBlockVertical: "
|
|
403
|
-
inputLabel: "
|
|
404
|
-
inputLabelGlassy: "
|
|
405
|
-
inputWrapper: "
|
|
406
|
-
inputTextField: "
|
|
407
|
-
inputTextFieldGlassy: "
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
successMessage: "_successMessage_n4fz9_138",
|
|
417
|
-
errorMessage: "_errorMessage_n4fz9_144"
|
|
425
|
+
inputBlockVertical: "_inputBlockVertical_1xe0h_1",
|
|
426
|
+
inputLabel: "_inputLabel_1xe0h_7",
|
|
427
|
+
inputLabelGlassy: "_inputLabelGlassy_1xe0h_13",
|
|
428
|
+
inputWrapper: "_inputWrapper_1xe0h_17",
|
|
429
|
+
inputTextField: "_inputTextField_1xe0h_22",
|
|
430
|
+
inputTextFieldGlassy: "_inputTextFieldGlassy_1xe0h_34",
|
|
431
|
+
inputError: "_inputError_1xe0h_64",
|
|
432
|
+
loading: "_loading_1xe0h_68",
|
|
433
|
+
suggestionList: "_suggestionList_1xe0h_77",
|
|
434
|
+
suggestionItem: "_suggestionItem_1xe0h_94",
|
|
435
|
+
locality: "_locality_1xe0h_114",
|
|
436
|
+
emptyState: "_emptyState_1xe0h_118",
|
|
437
|
+
successMessage: "_successMessage_1xe0h_129",
|
|
438
|
+
errorMessage: "_errorMessage_1xe0h_135"
|
|
418
439
|
};
|
|
419
440
|
//#endregion
|
|
420
441
|
//#region src/components/form/postal-code/PostalCode.tsx
|
|
421
442
|
function k({ label: e, name: a, id: c, error: l, variant: u = "default", className: d, disabled: f, placeholder: p = "z.B. 8001 oder Zürich", ref: m, onChange: h, onBlur: g, onValueChange: _, onSuggestionSelect: v, ...y }) {
|
|
422
|
-
let b = i(), x = c ?? `${a}-${b}`, S = o(null),
|
|
423
|
-
r(() => {
|
|
424
|
-
let e =
|
|
443
|
+
let b = i(), x = c ?? `${a}-${b}`, S = o(null), C = o(!1), [w, T] = s(""), [E, D] = s([]), [k, A] = s(!1), [j, M] = s(!1), N = w.trim().match(/^(\d+)\s+(.+)$/), P = !!N, F = N?.[1], I = N?.[2], L = P && E.some((e) => e.postalCode === F && e.locality === I), R = /^\d+$/.test(w.trim()), z = w.trim().length >= 4 && R && !k, B = z && E.some((e) => e.postalCode === w.trim()), V = z && !B;
|
|
444
|
+
j && w.trim().length >= 4 && E.length, r(() => {
|
|
445
|
+
let e = w.trim();
|
|
425
446
|
if (e.length < 2) {
|
|
426
|
-
|
|
447
|
+
D([]), M(!1);
|
|
448
|
+
return;
|
|
449
|
+
}
|
|
450
|
+
if (C.current) {
|
|
451
|
+
C.current = !1;
|
|
427
452
|
return;
|
|
428
453
|
}
|
|
429
454
|
let t = new AbortController();
|
|
430
455
|
async function n() {
|
|
431
|
-
|
|
456
|
+
A(!0);
|
|
432
457
|
try {
|
|
433
|
-
let n = /^\d+$/.test(
|
|
434
|
-
if (!
|
|
435
|
-
let
|
|
436
|
-
|
|
458
|
+
let n = e.match(/^(\d+)\s/), r = n ? n[1] : e, i = /^\d+$/.test(r) ? `https://openplzapi.org/ch/Localities?postalCode=${r}` : `https://openplzapi.org/ch/Localities?locality=${encodeURIComponent(r)}`, a = await fetch(i, { signal: t.signal });
|
|
459
|
+
if (!a.ok) throw Error("Postal-Code-Suche fehlgeschlagen");
|
|
460
|
+
let o = await a.json();
|
|
461
|
+
D(Array.from(new Map(o.map((e) => {
|
|
437
462
|
let t = `${e.postalCode} ${e.name}`;
|
|
438
463
|
return [t, {
|
|
439
464
|
label: t,
|
|
440
465
|
postalCode: e.postalCode,
|
|
441
466
|
locality: e.name
|
|
442
467
|
}];
|
|
443
|
-
})).values()).slice(0, 10)),
|
|
468
|
+
})).values()).slice(0, 10)), M(!0);
|
|
444
469
|
} catch (e) {
|
|
445
470
|
if (t.signal.aborted) return;
|
|
446
|
-
console.error(e),
|
|
471
|
+
console.error(e), D([]), M(!0);
|
|
447
472
|
} finally {
|
|
448
|
-
t.signal.aborted ||
|
|
473
|
+
t.signal.aborted || A(!1);
|
|
449
474
|
}
|
|
450
475
|
}
|
|
451
476
|
let r = window.setTimeout(n, 300);
|
|
452
477
|
return () => {
|
|
453
478
|
window.clearTimeout(r), t.abort();
|
|
454
479
|
};
|
|
455
|
-
}, [
|
|
456
|
-
function
|
|
480
|
+
}, [w]);
|
|
481
|
+
function H(e) {
|
|
457
482
|
S.current = e, typeof m == "function" ? m(e) : m && (m.current = e);
|
|
458
483
|
}
|
|
459
|
-
function
|
|
484
|
+
function U(e) {
|
|
460
485
|
let t = e.target.value;
|
|
461
|
-
|
|
486
|
+
T(t), _?.(t), h?.(e);
|
|
462
487
|
}
|
|
463
|
-
function
|
|
464
|
-
|
|
488
|
+
function W(e) {
|
|
489
|
+
C.current = !0, T(e.label), D([]), M(!1), _?.(e.label), v?.(e), S.current && (S.current.value = e.label, S.current.dispatchEvent(new Event("input", { bubbles: !0 })));
|
|
465
490
|
}
|
|
466
491
|
return /* @__PURE__ */ n("div", {
|
|
467
492
|
className: O.inputBlockVertical,
|
|
@@ -477,57 +502,58 @@ function k({ label: e, name: a, id: c, error: l, variant: u = "default", classNa
|
|
|
477
502
|
/* @__PURE__ */ t("input", {
|
|
478
503
|
id: x,
|
|
479
504
|
name: a,
|
|
480
|
-
ref:
|
|
505
|
+
ref: H,
|
|
481
506
|
type: "text",
|
|
482
507
|
inputMode: "search",
|
|
483
508
|
autoComplete: "postal-code",
|
|
484
509
|
disabled: f,
|
|
485
510
|
placeholder: p,
|
|
486
|
-
value:
|
|
487
|
-
onChange:
|
|
511
|
+
value: w,
|
|
512
|
+
onChange: U,
|
|
488
513
|
onBlur: g,
|
|
489
514
|
className: [
|
|
490
515
|
O.inputTextField,
|
|
491
516
|
u === "glassy" ? O.inputTextFieldGlassy : "",
|
|
492
|
-
|
|
493
|
-
|
|
517
|
+
B || L ? O.inputValid : "",
|
|
518
|
+
V || l ? O.inputError : "",
|
|
494
519
|
d ?? ""
|
|
495
520
|
].filter(Boolean).join(" "),
|
|
496
|
-
"aria-invalid": !!l ||
|
|
521
|
+
"aria-invalid": !!l || V,
|
|
497
522
|
"aria-describedby": l ? `${a}-error` : void 0,
|
|
498
523
|
...y
|
|
499
524
|
}),
|
|
500
|
-
|
|
525
|
+
k && /* @__PURE__ */ t("span", {
|
|
501
526
|
className: O.loading,
|
|
502
527
|
children: "Lädt…"
|
|
503
528
|
}),
|
|
504
|
-
|
|
529
|
+
E.length > 0 && /* @__PURE__ */ t("ul", {
|
|
505
530
|
className: O.suggestionList,
|
|
506
|
-
children:
|
|
531
|
+
children: E.map((e) => /* @__PURE__ */ t("li", { children: /* @__PURE__ */ n("button", {
|
|
507
532
|
type: "button",
|
|
508
533
|
className: O.suggestionItem,
|
|
509
534
|
onMouseDown: (e) => e.preventDefault(),
|
|
510
|
-
onClick: () =>
|
|
511
|
-
children: [/* @__PURE__ */ t("span", {
|
|
512
|
-
className: O.postalCode,
|
|
513
|
-
children: e.postalCode
|
|
514
|
-
}), /* @__PURE__ */ t("span", {
|
|
535
|
+
onClick: () => W(e),
|
|
536
|
+
children: [/* @__PURE__ */ t("span", { children: e.postalCode }), /* @__PURE__ */ t("span", {
|
|
515
537
|
className: O.locality,
|
|
516
538
|
children: e.locality
|
|
517
539
|
})]
|
|
518
540
|
}) }, e.label))
|
|
519
541
|
}),
|
|
520
|
-
|
|
542
|
+
j && w.trim().length >= 2 && E.length === 0 && !k && !L && !V && /* @__PURE__ */ t("div", {
|
|
521
543
|
className: O.emptyState,
|
|
522
544
|
children: "Keine Schweizer PLZ oder Ortschaft gefunden."
|
|
523
545
|
})
|
|
524
546
|
]
|
|
525
547
|
}),
|
|
526
|
-
|
|
548
|
+
B && /* @__PURE__ */ t("span", {
|
|
549
|
+
className: O.successMessage,
|
|
550
|
+
children: "Gültige Schweizer Postleitzahl"
|
|
551
|
+
}),
|
|
552
|
+
L && /* @__PURE__ */ t("span", {
|
|
527
553
|
className: O.successMessage,
|
|
528
554
|
children: "Gültige Schweizer Postleitzahl"
|
|
529
555
|
}),
|
|
530
|
-
|
|
556
|
+
V && /* @__PURE__ */ t("span", {
|
|
531
557
|
className: O.errorMessage,
|
|
532
558
|
children: "Diese Schweizer Postleitzahl wurde nicht gefunden."
|
|
533
559
|
}),
|
|
@@ -540,20 +566,21 @@ function k({ label: e, name: a, id: c, error: l, variant: u = "default", classNa
|
|
|
540
566
|
});
|
|
541
567
|
}
|
|
542
568
|
var A = {
|
|
543
|
-
radioGroup: "
|
|
544
|
-
radioGroupGlassy: "
|
|
545
|
-
radioLabel: "
|
|
546
|
-
radioLabelGlassy: "
|
|
547
|
-
optionGroup: "
|
|
548
|
-
optionWrapper: "
|
|
549
|
-
optionWrapperDisabled: "
|
|
550
|
-
radioInput: "
|
|
551
|
-
optionButton: "
|
|
552
|
-
optionTitle: "
|
|
553
|
-
optionDescription: "
|
|
554
|
-
|
|
555
|
-
optionButtonGlassy: "
|
|
556
|
-
|
|
569
|
+
radioGroup: "_radioGroup_cqfjf_1",
|
|
570
|
+
radioGroupGlassy: "_radioGroupGlassy_cqfjf_11",
|
|
571
|
+
radioLabel: "_radioLabel_cqfjf_15",
|
|
572
|
+
radioLabelGlassy: "_radioLabelGlassy_cqfjf_20",
|
|
573
|
+
optionGroup: "_optionGroup_cqfjf_24",
|
|
574
|
+
optionWrapper: "_optionWrapper_cqfjf_31",
|
|
575
|
+
optionWrapperDisabled: "_optionWrapperDisabled_cqfjf_37",
|
|
576
|
+
radioInput: "_radioInput_cqfjf_41",
|
|
577
|
+
optionButton: "_optionButton_cqfjf_58",
|
|
578
|
+
optionTitle: "_optionTitle_cqfjf_81",
|
|
579
|
+
optionDescription: "_optionDescription_cqfjf_87",
|
|
580
|
+
optionButtonDefault: "_optionButtonDefault_cqfjf_95",
|
|
581
|
+
optionButtonGlassy: "_optionButtonGlassy_cqfjf_120",
|
|
582
|
+
optionButtonError: "_optionButtonError_cqfjf_165",
|
|
583
|
+
errorMessage: "_errorMessage_cqfjf_169"
|
|
557
584
|
};
|
|
558
585
|
//#endregion
|
|
559
586
|
//#region src/components/form/radiobutton/RadioButton.tsx
|
|
@@ -590,7 +617,7 @@ function j({ label: e, name: r, options: i, error: a, variant: o = "default", cl
|
|
|
590
617
|
}), /* @__PURE__ */ n("span", {
|
|
591
618
|
className: [
|
|
592
619
|
A.optionButton,
|
|
593
|
-
o === "glassy" ? A.optionButtonGlassy :
|
|
620
|
+
o === "glassy" ? A.optionButtonGlassy : A.optionButtonDefault,
|
|
594
621
|
a ? A.optionButtonError : ""
|
|
595
622
|
].filter(Boolean).join(" "),
|
|
596
623
|
children: [/* @__PURE__ */ t("span", {
|
|
@@ -613,16 +640,19 @@ function j({ label: e, name: r, options: i, error: a, variant: o = "default", cl
|
|
|
613
640
|
});
|
|
614
641
|
}
|
|
615
642
|
var M = {
|
|
616
|
-
switchWrapper: "
|
|
617
|
-
switchCheckbox: "
|
|
618
|
-
switchLabel: "
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
643
|
+
switchWrapper: "_switchWrapper_14rch_1",
|
|
644
|
+
switchCheckbox: "_switchCheckbox_14rch_7",
|
|
645
|
+
switchLabel: "_switchLabel_14rch_15",
|
|
646
|
+
switchLabelDefault: "_switchLabelDefault_14rch_24",
|
|
647
|
+
switchLabelGlassy: "_switchLabelGlassy_14rch_28",
|
|
648
|
+
switchBackground: "_switchBackground_14rch_37",
|
|
649
|
+
switchBackgroundDefault: "_switchBackgroundDefault_14rch_56",
|
|
650
|
+
switchBackgroundGlassy: "_switchBackgroundGlassy_14rch_66",
|
|
651
|
+
switchButton: "_switchButton_14rch_77",
|
|
652
|
+
iconChecked: "_iconChecked_14rch_163",
|
|
653
|
+
iconUnchecked: "_iconUnchecked_14rch_164",
|
|
654
|
+
switchText: "_switchText_14rch_200",
|
|
655
|
+
errorMessage: "_errorMessage_14rch_206"
|
|
626
656
|
};
|
|
627
657
|
//#endregion
|
|
628
658
|
//#region src/components/form/switch/Switch.tsx
|
|
@@ -643,9 +673,9 @@ function N({ name: e, id: r, label: i, error: a, variant: o = "default", classNa
|
|
|
643
673
|
}),
|
|
644
674
|
/* @__PURE__ */ n("label", {
|
|
645
675
|
htmlFor: u,
|
|
646
|
-
className: [M.switchLabel, o === "glassy" ? M.switchLabelGlassy :
|
|
676
|
+
className: [M.switchLabel, o === "glassy" ? M.switchLabelGlassy : M.switchLabelDefault].filter(Boolean).join(" "),
|
|
647
677
|
children: [/* @__PURE__ */ t("span", {
|
|
648
|
-
className: M.switchBackground,
|
|
678
|
+
className: [M.switchBackground, o === "glassy" ? M.switchBackgroundGlassy : M.switchBackgroundDefault].filter(Boolean).join(" "),
|
|
649
679
|
children: /* @__PURE__ */ n("span", {
|
|
650
680
|
className: M.switchButton,
|
|
651
681
|
"aria-hidden": "true",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react/jsx-runtime`),require(`react`)):typeof define==`function`&&define.amd?define([`exports`,`react/jsx-runtime`,`react`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`SUUS Component Library`]={},e.jsxRuntime,e.React))})(this,function(e,t,n){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var r={suusButton:`_suusButton_1q9to_1`,icon:`_icon_1q9to_45`,label:`_label_1q9to_62`,primary:`_primary_1q9to_69`,secondary:`_secondary_1q9to_113`,loading:`_loading_1q9to_169`,loader:`_loader_1q9to_173`,"btn-spin":`_btn-spin_1q9to_1`,loaderSecondary:`_loaderSecondary_1q9to_182`};function i({label:e,onClick:n,type:i=`button`,disabled:a=!1,loading:o=!1,variant:s=`primary`,colorToken:c=`--colors-juice-sugarcane`,icon:l,...u}){return(0,t.jsx)(`button`,{type:i,onClick:n,disabled:a||o,style:{"--button-background-color":`var(${c})`},className:[r.suusButton,r[s],o?r.loading:``].filter(Boolean).join(` `),"aria-busy":o,...u,children:o?(0,t.jsx)(`span`,{className:`${r.loader} ${s===`primary`?``:r.loaderSecondary}`,"aria-hidden":`true`}):(0,t.jsxs)(t.Fragment,{children:[l?(0,t.jsx)(`span`,{className:r.icon,children:l}):null,(0,t.jsx)(`span`,{className:r.label,children:e})]})})}var a={checkboxWrapper:`_checkboxWrapper_137qc_1`,checkboxInput:`_checkboxInput_137qc_15`,checkboxLabel:`_checkboxLabel_137qc_24`,customCheckbox:`_customCheckbox_137qc_34`,checkIcon:`_checkIcon_137qc_57`,checkboxText:`_checkboxText_137qc_76`,checkboxWrapperDisabled:`_checkboxWrapperDisabled_137qc_107`,checkboxWrapperError:`_checkboxWrapperError_137qc_133`,errorMessage:`_errorMessage_137qc_147`,checkboxWrapperGlassy:`_checkboxWrapperGlassy_137qc_157`};function o({label:e,name:n,id:r,error:i,variant:o=`default`,className:s,disabled:c,...l}){let u=r??`${n}-checkbox`;return(0,t.jsxs)(`div`,{className:[a.checkboxWrapper,o===`glassy`?a.checkboxWrapperGlassy:``,i?a.checkboxWrapperError:``,c?a.checkboxWrapperDisabled:``,s??``].filter(Boolean).join(` `),children:[(0,t.jsx)(`input`,{type:`checkbox`,id:u,name:n,disabled:c,className:a.checkboxInput,"aria-invalid":!!i,"aria-describedby":i?`${n}-error`:void 0,...l}),(0,t.jsxs)(`label`,{htmlFor:u,className:a.checkboxLabel,children:[(0,t.jsx)(`span`,{className:a.customCheckbox,"aria-hidden":`true`,children:(0,t.jsx)(`svg`,{className:a.checkIcon,viewBox:`0 0 24 24`,focusable:`false`,"aria-hidden":`true`,children:(0,t.jsx)(`path`,{d:`M20 6L9 17L4 12`})})}),(0,t.jsx)(`span`,{className:a.checkboxText,children:e})]}),i&&(0,t.jsx)(`span`,{id:`${n}-error`,className:a.errorMessage,children:i})]})}var s={chip:`_chip_9t0x4_1`,chipGlassy:`_chipGlassy_9t0x4_19`};function c({children:e,variant:n=`default`,className:r,...i}){return(0,t.jsx)(`span`,{className:[s.chip,n===`glassy`?s.chipGlassy:``,r??``].filter(Boolean).join(` `),...i,children:e})}var l={inputBlockVertical:`_inputBlockVertical_1vqyb_1`,inputLabel:`_inputLabel_1vqyb_7`,inputLabelGlassy:`_inputLabelGlassy_1vqyb_13`,dateInputWrapper:`_dateInputWrapper_1vqyb_17`,inputDateField:`_inputDateField_1vqyb_22`,inputDateFieldGlassy:`_inputDateFieldGlassy_1vqyb_54`,inputError:`_inputError_1vqyb_72`,calendarIconButton:`_calendarIconButton_1vqyb_76`,icon:`_icon_1vqyb_104`,errorMessage:`_errorMessage_1vqyb_113`};function u({label:e,name:r,id:i,value:a=null,maxDate:o,minDate:s,error:c,variant:u=`default`,className:m,ref:h,onDateChange:g,onBlur:_,disabled:v,...y}){let b=i??r,x=(0,n.useRef)(null),S=o??new Date;function C(e){x.current=e,typeof h==`function`?h(e):h&&(h.current=e)}function w(e){let t=e.target.value;if(!t){g?.(null);return}g?.(f(t))}function T(){v||(x.current?.showPicker?.(),x.current?.focus())}return(0,t.jsxs)(`div`,{className:l.inputBlockVertical,children:[(0,t.jsx)(`label`,{htmlFor:b,className:[l.inputLabel,u===`glassy`?l.inputLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsxs)(`div`,{className:l.dateInputWrapper,children:[(0,t.jsx)(`input`,{id:b,name:r,ref:C,type:`date`,value:d(a),max:d(S),min:s?d(s):void 0,disabled:v,onChange:w,onBlur:_,className:[l.inputDateField,u===`glassy`?l.inputDateFieldGlassy:``,c?l.inputError:``,m??``].filter(Boolean).join(` `),"aria-invalid":!!c,"aria-describedby":c?`${r}-error`:void 0,...y}),(0,t.jsx)(`button`,{type:`button`,className:l.calendarIconButton,onClick:T,disabled:v,"aria-label":`Datum auswählen`,tabIndex:-1,children:(0,t.jsx)(p,{})})]}),c&&(0,t.jsx)(`span`,{id:`${r}-error`,className:l.errorMessage,children:c})]})}function d(e){return e?`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`:``}function f(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)}function p(){return(0,t.jsxs)(`svg`,{className:l.icon,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,children:[(0,t.jsx)(`path`,{d:`M8 2V5`}),(0,t.jsx)(`path`,{d:`M16 2V5`}),(0,t.jsx)(`path`,{d:`M3.5 9.09H20.5`}),(0,t.jsx)(`path`,{d:`M21 8.5V17.5C21 20 19.75 21.5 16.75 21.5H7.25C4.25 21.5 3 20 3 17.5V8.5C3 6 4.25 4.5 7.25 4.5H16.75C19.75 4.5 21 6 21 8.5Z`})]})}var m={inputBlockVertical:`_inputBlockVertical_1eq2l_1`,inputLabel:`_inputLabel_1eq2l_7`,inputLabelGlassy:`_inputLabelGlassy_1eq2l_13`,inputSelectField:`_inputSelectField_1eq2l_17`,inputSelectFieldGlassy:`_inputSelectFieldGlassy_1eq2l_27`,inputError:`_inputError_1eq2l_40`,errorMessage:`_errorMessage_1eq2l_44`};function h({label:e,name:n,options:r,placeholder:i,error:a,variant:o=`default`,className:s,disabled:c,...l}){return(0,t.jsxs)(`div`,{className:m.inputBlockVertical,children:[(0,t.jsx)(`label`,{htmlFor:n,className:[m.inputLabel,o===`glassy`?m.inputLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsxs)(`select`,{id:n,name:n,disabled:c,className:[m.inputSelectField,o===`glassy`?m.inputSelectFieldGlassy:``,a?m.inputError:``,s??``].filter(Boolean).join(` `),"aria-invalid":!!a,"aria-describedby":a?`${n}-error`:void 0,...l,children:[i&&(0,t.jsx)(`option`,{value:``,disabled:!0,children:i}),r.map(e=>(0,t.jsx)(`option`,{value:e.value,children:e.label},e.value))]}),a&&(0,t.jsx)(`span`,{id:`${n}-error`,className:m.errorMessage,children:a})]})}var g={appLink:`_appLink_18ja7_1`,appLinkGlassy:`_appLinkGlassy_18ja7_27`,label:`_label_18ja7_35`,icon:`_icon_18ja7_40`,arrowIcon:`_arrowIcon_18ja7_51`};function _({children:e,href:n,onClick:r,newTab:i=!1,showArrow:a=!0,variant:o=`default`,className:s,...c}){function l(e){n||e.preventDefault(),r?.(e)}return(0,t.jsxs)(`a`,{href:n??`#`,onClick:l,target:n&&i?`_blank`:void 0,rel:n&&i?`noopener noreferrer`:void 0,className:[g.appLink,o===`glassy`?g.appLinkGlassy:``,s??``].filter(Boolean).join(` `),...c,children:[(0,t.jsx)(`span`,{className:g.label,children:e}),a&&(0,t.jsx)(`span`,{className:g.icon,"aria-hidden":`true`,children:(0,t.jsx)(v,{})})]})}function v(){return(0,t.jsxs)(`svg`,{className:g.arrowIcon,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,children:[(0,t.jsx)(`path`,{d:`M5 12H19`}),(0,t.jsx)(`path`,{d:`M13 6L19 12L13 18`})]})}var y={inputBlockVertical:`_inputBlockVertical_1x5ym_1`,inputLabel:`_inputLabel_1x5ym_7`,inputLabelGlassy:`_inputLabelGlassy_1x5ym_13`,passwordInputWrapper:`_passwordInputWrapper_1x5ym_17`,inputTextField:`_inputTextField_1x5ym_22`,inputTextFieldGlassy:`_inputTextFieldGlassy_1x5ym_34`,inputError:`_inputError_1x5ym_52`,togglePasswordButton:`_togglePasswordButton_1x5ym_56`,icon:`_icon_1x5ym_88`,errorMessage:`_errorMessage_1x5ym_97`};function b({label:e,name:r,id:i,error:a,variant:o=`default`,colorToken:s=`--colors-juice-sugarcane`,className:c,disabled:l,ref:u,autoComplete:d=`current-password`,...f}){let[p,m]=(0,n.useState)(!1),h=i??r,g={"--password-accent-color":`var(${s})`};function _(){m(e=>!e)}return(0,t.jsxs)(`div`,{className:y.inputBlockVertical,style:g,children:[e&&(0,t.jsx)(`label`,{htmlFor:h,className:[y.inputLabel,o===`glassy`?y.inputLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsxs)(`div`,{className:y.passwordInputWrapper,children:[(0,t.jsx)(`input`,{id:h,name:r,ref:u,type:p?`text`:`password`,disabled:l,autoComplete:d,className:[y.inputTextField,o===`glassy`?y.inputTextFieldGlassy:``,a?y.inputError:``,c??``].filter(Boolean).join(` `),"aria-invalid":!!a,"aria-describedby":a?`${r}-error`:void 0,...f}),(0,t.jsx)(`button`,{type:`button`,className:y.togglePasswordButton,onClick:_,disabled:l,"aria-label":p?`Passwort ausblenden`:`Passwort anzeigen`,"aria-pressed":p,children:p?(0,t.jsx)(S,{}):(0,t.jsx)(x,{})})]}),a&&(0,t.jsx)(`span`,{id:`${r}-error`,className:y.errorMessage,children:a})]})}function x(){return(0,t.jsxs)(`svg`,{className:y.icon,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,children:[(0,t.jsx)(`path`,{d:`M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z`}),(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`})]})}function S(){return(0,t.jsx)(`svg`,{className:y.icon,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,children:(0,t.jsx)(`path`,{d:`M17.94 17.94A10.94 10.94 0 0 1 12 20C7 20 2.73 16.11 1 12c.74-1.64 1.82-3.06 3.11-4.24m3.52-2.42A10.94 10.94 0 0 1 12 4c5 0 9.27 3.89 11 8-1.1 2.42-2.91 4.5-5.06 5.94M1 1l22 22`})})}var C={inputBlockVertical:`_inputBlockVertical_n4fz9_1`,inputLabel:`_inputLabel_n4fz9_7`,inputLabelGlassy:`_inputLabelGlassy_n4fz9_13`,inputWrapper:`_inputWrapper_n4fz9_17`,inputTextField:`_inputTextField_n4fz9_22`,inputTextFieldGlassy:`_inputTextFieldGlassy_n4fz9_34`,inputValid:`_inputValid_n4fz9_60`,inputError:`_inputError_n4fz9_64`,loading:`_loading_n4fz9_68`,suggestionList:`_suggestionList_n4fz9_77`,suggestionItem:`_suggestionItem_n4fz9_94`,postalCode:`_postalCode_n4fz9_114`,locality:`_locality_n4fz9_119`,emptyState:`_emptyState_n4fz9_123`,successMessage:`_successMessage_n4fz9_138`,errorMessage:`_errorMessage_n4fz9_144`};function w({label:e,name:r,id:i,error:a,variant:o=`default`,className:s,disabled:c,placeholder:l=`z.B. 8001 oder Zürich`,ref:u,onChange:d,onBlur:f,onValueChange:p,onSuggestionSelect:m,...h}){let g=(0,n.useId)(),_=i??`${r}-${g}`,v=(0,n.useRef)(null),[y,b]=(0,n.useState)(``),[x,S]=(0,n.useState)([]),[w,T]=(0,n.useState)(!1),[E,D]=(0,n.useState)(!1),O=/^\d+$/.test(y.trim()),k=y.trim().length>=4&&O&&!w,A=k&&x.some(e=>e.postalCode===y.trim()),j=k&&!A;(0,n.useEffect)(()=>{let e=y.trim();if(e.length<2){S([]),D(!1);return}let t=new AbortController;async function n(){T(!0);try{let n=/^\d+$/.test(e)?`https://openplzapi.org/ch/Localities?postalCode=${e}`:`https://openplzapi.org/ch/Localities?locality=${encodeURIComponent(e)}`,r=await fetch(n,{signal:t.signal});if(!r.ok)throw Error(`Postal-Code-Suche fehlgeschlagen`);let i=await r.json();S(Array.from(new Map(i.map(e=>{let t=`${e.postalCode} ${e.name}`;return[t,{label:t,postalCode:e.postalCode,locality:e.name}]})).values()).slice(0,10)),D(!0)}catch(e){if(t.signal.aborted)return;console.error(e),S([]),D(!0)}finally{t.signal.aborted||T(!1)}}let r=window.setTimeout(n,300);return()=>{window.clearTimeout(r),t.abort()}},[y]);function M(e){v.current=e,typeof u==`function`?u(e):u&&(u.current=e)}function N(e){let t=e.target.value;b(t),p?.(t),d?.(e)}function P(e){b(e.label),S([]),p?.(e.label),m?.(e),v.current&&(v.current.value=e.label,v.current.dispatchEvent(new Event(`input`,{bubbles:!0})))}return(0,t.jsxs)(`div`,{className:C.inputBlockVertical,children:[(0,t.jsx)(`label`,{htmlFor:_,className:[C.inputLabel,o===`glassy`?C.inputLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsxs)(`div`,{className:C.inputWrapper,children:[(0,t.jsx)(`input`,{id:_,name:r,ref:M,type:`text`,inputMode:`search`,autoComplete:`postal-code`,disabled:c,placeholder:l,value:y,onChange:N,onBlur:f,className:[C.inputTextField,o===`glassy`?C.inputTextFieldGlassy:``,A?C.inputValid:``,j||a?C.inputError:``,s??``].filter(Boolean).join(` `),"aria-invalid":!!a||j,"aria-describedby":a?`${r}-error`:void 0,...h}),w&&(0,t.jsx)(`span`,{className:C.loading,children:`Lädt…`}),x.length>0&&(0,t.jsx)(`ul`,{className:C.suggestionList,children:x.map(e=>(0,t.jsx)(`li`,{children:(0,t.jsxs)(`button`,{type:`button`,className:C.suggestionItem,onMouseDown:e=>e.preventDefault(),onClick:()=>P(e),children:[(0,t.jsx)(`span`,{className:C.postalCode,children:e.postalCode}),(0,t.jsx)(`span`,{className:C.locality,children:e.locality})]})},e.label))}),E&&y.trim().length>=2&&x.length===0&&!w&&(0,t.jsx)(`div`,{className:C.emptyState,children:`Keine Schweizer PLZ oder Ortschaft gefunden.`})]}),A&&(0,t.jsx)(`span`,{className:C.successMessage,children:`Gültige Schweizer Postleitzahl`}),j&&(0,t.jsx)(`span`,{className:C.errorMessage,children:`Diese Schweizer Postleitzahl wurde nicht gefunden.`}),a&&(0,t.jsx)(`span`,{id:`${r}-error`,className:C.errorMessage,children:a})]})}var T={radioGroup:`_radioGroup_tmet2_1`,radioGroupGlassy:`_radioGroupGlassy_tmet2_11`,radioLabel:`_radioLabel_tmet2_15`,radioLabelGlassy:`_radioLabelGlassy_tmet2_20`,optionGroup:`_optionGroup_tmet2_24`,optionWrapper:`_optionWrapper_tmet2_31`,optionWrapperDisabled:`_optionWrapperDisabled_tmet2_37`,radioInput:`_radioInput_tmet2_41`,optionButton:`_optionButton_tmet2_53`,optionTitle:`_optionTitle_tmet2_77`,optionDescription:`_optionDescription_tmet2_83`,optionButtonError:`_optionButtonError_tmet2_117`,optionButtonGlassy:`_optionButtonGlassy_tmet2_122`,errorMessage:`_errorMessage_tmet2_144`};function E({label:e,name:n,options:r,error:i,variant:a=`default`,className:o,disabled:s,value:c,defaultValue:l,onChange:u,...d}){let f=c!==void 0;return(0,t.jsxs)(`fieldset`,{className:[T.radioGroup,a===`glassy`?T.radioGroupGlassy:``,o??``].filter(Boolean).join(` `),"aria-invalid":!!i,"aria-describedby":i?`${n}-error`:void 0,children:[e&&(0,t.jsx)(`legend`,{className:[T.radioLabel,a===`glassy`?T.radioLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsx)(`div`,{className:T.optionGroup,children:r.map(e=>{let r=f?{checked:c===e.value}:{defaultChecked:l===e.value};return(0,t.jsxs)(`label`,{className:[T.optionWrapper,s?T.optionWrapperDisabled:``].filter(Boolean).join(` `),children:[(0,t.jsx)(`input`,{type:`radio`,name:n,value:e.value,disabled:s,className:T.radioInput,onChange:u,...r,...d}),(0,t.jsxs)(`span`,{className:[T.optionButton,a===`glassy`?T.optionButtonGlassy:``,i?T.optionButtonError:``].filter(Boolean).join(` `),children:[(0,t.jsx)(`span`,{className:T.optionTitle,children:e.label}),e.description&&(0,t.jsx)(`span`,{className:T.optionDescription,children:e.description})]})]},e.value)})}),i&&(0,t.jsx)(`span`,{id:`${n}-error`,className:T.errorMessage,children:i})]})}var D={switchWrapper:`_switchWrapper_f34wd_1`,switchCheckbox:`_switchCheckbox_f34wd_7`,switchLabel:`_switchLabel_f34wd_15`,switchLabelGlassy:`_switchLabelGlassy_f34wd_24`,switchBackground:`_switchBackground_f34wd_28`,switchButton:`_switchButton_f34wd_42`,iconChecked:`_iconChecked_f34wd_86`,iconUnchecked:`_iconUnchecked_f34wd_87`,switchText:`_switchText_f34wd_119`,errorMessage:`_errorMessage_f34wd_129`};function O({name:e,id:n,label:r,error:i,variant:a=`default`,className:o,disabled:s,...c}){let l=n??`${e}-switch`;return(0,t.jsxs)(`div`,{className:[D.switchWrapper,o??``].filter(Boolean).join(` `),children:[(0,t.jsx)(`input`,{id:l,name:e,type:`checkbox`,disabled:s,className:D.switchCheckbox,"aria-invalid":!!i,"aria-describedby":i?`${e}-error`:void 0,...c}),(0,t.jsxs)(`label`,{htmlFor:l,className:[D.switchLabel,a===`glassy`?D.switchLabelGlassy:``].filter(Boolean).join(` `),children:[(0,t.jsx)(`span`,{className:D.switchBackground,children:(0,t.jsxs)(`span`,{className:D.switchButton,"aria-hidden":`true`,children:[(0,t.jsx)(`span`,{className:D.iconChecked,children:(0,t.jsx)(k,{})}),(0,t.jsx)(`span`,{className:D.iconUnchecked,children:(0,t.jsx)(A,{})})]})}),r&&(0,t.jsx)(`span`,{className:D.switchText,children:r})]}),i&&(0,t.jsx)(`span`,{id:`${e}-error`,className:D.errorMessage,children:i})]})}function k(){return(0,t.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 12 12`,fill:`none`,"aria-hidden":`true`,children:(0,t.jsx)(`path`,{d:`M3 6.5L5.5 9L9 3`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function A(){return(0,t.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 12 12`,fill:`none`,"aria-hidden":`true`,children:(0,t.jsx)(`path`,{d:`M3 3L9 9M9 3L3 9`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})})}var j={inputBlockVertical:`_inputBlockVertical_1khad_1`,inputLabel:`_inputLabel_1khad_8`,inputLabelGlassy:`_inputLabelGlassy_1khad_14`,inputTextField:`_inputTextField_1khad_20`,inputTextFieldGlassy:`_inputTextFieldGlassy_1khad_37`,inputError:`_inputError_1khad_59`,errorMessage:`_errorMessage_1khad_63`};function M({label:e,name:n,error:r,placeholder:i,variant:a=`default`,className:o,ref:s,...c}){return(0,t.jsxs)(`div`,{className:j.inputBlockVertical,children:[(0,t.jsx)(`label`,{htmlFor:n,className:[j.inputLabel,a===`glassy`?j.inputLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsx)(`input`,{id:n,name:n,ref:s,placeholder:i,className:[j.inputTextField,a===`glassy`?j.inputTextFieldGlassy:``,r?j.inputError:``,o??``].filter(Boolean).join(` `),"aria-invalid":!!r,"aria-describedby":r?`${n}-error`:void 0,...c}),r&&(0,t.jsx)(`span`,{id:`${n}-error`,className:j.errorMessage,children:r})]})}var N={wrapper:`_wrapper_1jqlw_1`,label:`_label_1jqlw_7`,labelGlassy:`_labelGlassy_1jqlw_13`,dropzone:`_dropzone_1jqlw_17`,dropzoneGlassy:`_dropzoneGlassy_1jqlw_32`,dragOver:`_dragOver_1jqlw_39`,errorState:`_errorState_1jqlw_48`,disabled:`_disabled_1jqlw_52`,hiddenInput:`_hiddenInput_1jqlw_57`,dropzoneContent:`_dropzoneContent_1jqlw_65`,placeholder:`_placeholder_1jqlw_74`,big:`_big_1jqlw_80`,small:`_small_1jqlw_86`,hint:`_hint_1jqlw_91`,selected:`_selected_1jqlw_111`,preview:`_preview_1jqlw_118`,fileMeta:`_fileMeta_1jqlw_127`,fileName:`_fileName_1jqlw_134`,fileSize:`_fileSize_1jqlw_142`,remove:`_remove_1jqlw_156`,errorMessage:`_errorMessage_1jqlw_198`};function P({label:e,name:r,id:i,file:a,error:o,variant:s=`default`,accept:c=`image/*`,maxSizeBytes:l=5*1024*1024,disabled:u,className:d,onChange:f,onFileChange:p,...m}){let h=(0,n.useId)(),g=i??`${r}-${h}`,[_,v]=(0,n.useState)(!1),[y,b]=(0,n.useState)(a??null),x=a!==void 0,S=x?a:y,C=(0,n.useMemo)(()=>!S||!S.type.startsWith(`image/`)?null:URL.createObjectURL(S),[S]);(0,n.useEffect)(()=>{x&&b(a??null)},[a,x]),(0,n.useEffect)(()=>()=>{C&&URL.revokeObjectURL(C)},[C]);function w(e){return!e||(c===`image/*`||c.startsWith(`image/`))&&!e.type.startsWith(`image/`)||l&&e.size>l?null:e}function T(e){let t=w(e);x||b(t),p?.(t)}function E(e){T(e.target.files?.[0]??null),f?.(e)}function D(e){e.preventDefault(),e.stopPropagation(),u||v(!0)}function O(e){e.preventDefault(),e.stopPropagation(),!e.currentTarget.contains(e.relatedTarget)&&v(!1)}function k(e){e.preventDefault(),e.stopPropagation(),v(!1),!u&&T(e.dataTransfer.files?.[0]??null)}function A(){x||b(null),p?.(null)}let j=Math.round(l/(1024*1024));return(0,t.jsxs)(`div`,{className:[N.wrapper,d??``].filter(Boolean).join(` `),children:[(0,t.jsx)(`label`,{className:[N.label,s===`glassy`?N.labelGlassy:``].filter(Boolean).join(` `),htmlFor:g,children:e}),(0,t.jsxs)(`div`,{className:[N.dropzone,s===`glassy`?N.dropzoneGlassy:``,_?N.dragOver:``,o?N.errorState:``,u?N.disabled:``].filter(Boolean).join(` `),onDragOver:D,onDragLeave:O,onDrop:k,children:[(0,t.jsx)(`input`,{id:g,name:r,className:N.hiddenInput,type:`file`,accept:c,disabled:u,onChange:E,"aria-invalid":!!o,"aria-describedby":o?`${r}-error`:void 0,...m}),(0,t.jsx)(`label`,{htmlFor:g,className:N.dropzoneContent,children:S?(0,t.jsxs)(`span`,{className:N.selected,children:[C&&(0,t.jsx)(`img`,{className:N.preview,src:C,alt:`Vorschau von ${S.name}`}),(0,t.jsxs)(`span`,{className:N.fileMeta,children:[(0,t.jsx)(`span`,{className:N.fileName,children:S.name}),(0,t.jsxs)(`span`,{className:N.fileSize,children:[(S.size/1024).toFixed(0),` KB ·`,` `,S.type||`unknown`]})]})]}):(0,t.jsxs)(`span`,{className:N.placeholder,children:[(0,t.jsx)(`span`,{className:N.big,children:`Datei hier reinziehen`}),(0,t.jsx)(`span`,{className:N.small,children:`…oder klicken, um auszuwählen`}),(0,t.jsxs)(`span`,{className:N.hint,children:[`Erlaubt: `,c,` · max. `,j,` MB`]})]})}),S&&(0,t.jsx)(`button`,{type:`button`,className:N.remove,onClick:A,disabled:u,children:`Entfernen`})]}),o&&(0,t.jsx)(`span`,{id:`${r}-error`,className:N.errorMessage,children:o})]})}e.Button=i,e.Checkbox=o,e.Chip=c,e.DatePicker=u,e.Dropdown=h,e.Link=_,e.Password=b,e.PostalCode=w,e.RadioButton=E,e.Switch=O,e.TextField=M,e.Upload=P});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react/jsx-runtime`),require(`react`)):typeof define==`function`&&define.amd?define([`exports`,`react/jsx-runtime`,`react`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`SUUS Component Library`]={},e.jsxRuntime,e.React))})(this,function(e,t,n){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var r={suusButton:`_suusButton_1ucmz_1`,icon:`_icon_1ucmz_45`,label:`_label_1ucmz_62`,primary:`_primary_1ucmz_69`,secondary:`_secondary_1ucmz_113`,loading:`_loading_1ucmz_169`,loader:`_loader_1ucmz_173`,"btn-spin":`_btn-spin_1ucmz_1`,loaderSecondary:`_loaderSecondary_1ucmz_182`};function i({label:e,onClick:n,type:i=`button`,disabled:a=!1,loading:o=!1,variant:s=`primary`,colorToken:c=`--color-juice-sugarcane`,icon:l,...u}){return(0,t.jsx)(`button`,{type:i,onClick:n,disabled:a||o,style:{"--button-background-color":`var(${c})`},className:[r.suusButton,r[s],o?r.loading:``].filter(Boolean).join(` `),"aria-busy":o,...u,children:o?(0,t.jsx)(`span`,{className:`${r.loader} ${s===`primary`?``:r.loaderSecondary}`,"aria-hidden":`true`}):(0,t.jsxs)(t.Fragment,{children:[l?(0,t.jsx)(`span`,{className:r.icon,children:l}):null,(0,t.jsx)(`span`,{className:r.label,children:e})]})})}var a={checkboxWrapper:`_checkboxWrapper_6w8h4_1`,checkboxInput:`_checkboxInput_6w8h4_15`,checkboxLabel:`_checkboxLabel_6w8h4_24`,customCheckbox:`_customCheckbox_6w8h4_34`,checkIcon:`_checkIcon_6w8h4_57`,checkboxText:`_checkboxText_6w8h4_76`,checkboxWrapperDisabled:`_checkboxWrapperDisabled_6w8h4_107`,checkboxWrapperError:`_checkboxWrapperError_6w8h4_133`,errorMessage:`_errorMessage_6w8h4_147`,checkboxWrapperGlassy:`_checkboxWrapperGlassy_6w8h4_154`};function o({label:e,name:n,id:r,error:i,variant:o=`default`,className:s,disabled:c,...l}){let u=r??`${n}-checkbox`;return(0,t.jsxs)(`div`,{className:[a.checkboxWrapper,o===`glassy`?a.checkboxWrapperGlassy:``,i?a.checkboxWrapperError:``,c?a.checkboxWrapperDisabled:``,s??``].filter(Boolean).join(` `),children:[(0,t.jsx)(`input`,{type:`checkbox`,id:u,name:n,disabled:c,className:a.checkboxInput,"aria-invalid":!!i,"aria-describedby":i?`${n}-error`:void 0,...l}),(0,t.jsxs)(`label`,{htmlFor:u,className:a.checkboxLabel,children:[(0,t.jsx)(`span`,{className:a.customCheckbox,"aria-hidden":`true`,children:(0,t.jsx)(`svg`,{className:a.checkIcon,viewBox:`0 0 24 24`,focusable:`false`,"aria-hidden":`true`,children:(0,t.jsx)(`path`,{d:`M20 6L9 17L4 12`})})}),(0,t.jsx)(`span`,{className:a.checkboxText,children:e})]}),i&&(0,t.jsx)(`span`,{id:`${n}-error`,className:a.errorMessage,children:i})]})}var s={chip:`_chip_1kgh7_1`,chipDefault:`_chipDefault_1kgh7_21`,chipGlassy:`_chipGlassy_1kgh7_36`,chipChecked:`_chipChecked_1kgh7_49`,chipDisabled:`_chipDisabled_1kgh7_56`};function c({children:e,variant:r=`default`,clickable:i=!0,checked:a,defaultChecked:o=!1,onCheckedChange:c,className:l,...u}){let[d,f]=(0,n.useState)(o),p=typeof a==`boolean`,m=p?a:d;function h(e){if(!i)return;let t=!m;p||f(t),c?.(t),u.onClick?.(e)}let g=r===`glassy`?s.chipGlassy:s.chipDefault,_=m?s.chipChecked:``,v=i?``:s.chipDisabled;return i?(0,t.jsx)(`button`,{type:`button`,"aria-pressed":m,className:[s.chip,g,_,l??``].filter(Boolean).join(` `),onClick:h,...u,children:e}):(0,t.jsx)(`span`,{className:[s.chip,g,_,v,l??``].filter(Boolean).join(` `),children:e})}var l={inputBlockVertical:`_inputBlockVertical_1vqyb_1`,inputLabel:`_inputLabel_1vqyb_7`,inputLabelGlassy:`_inputLabelGlassy_1vqyb_13`,dateInputWrapper:`_dateInputWrapper_1vqyb_17`,inputDateField:`_inputDateField_1vqyb_22`,inputDateFieldGlassy:`_inputDateFieldGlassy_1vqyb_54`,inputError:`_inputError_1vqyb_72`,calendarIconButton:`_calendarIconButton_1vqyb_76`,icon:`_icon_1vqyb_104`,errorMessage:`_errorMessage_1vqyb_113`};function u({label:e,name:r,id:i,value:a=null,maxDate:o,minDate:s,error:c,variant:u=`default`,className:m,ref:h,onDateChange:g,onBlur:_,disabled:v,...y}){let b=i??r,x=(0,n.useRef)(null),S=o??new Date;function C(e){x.current=e,typeof h==`function`?h(e):h&&(h.current=e)}function w(e){let t=e.target.value;if(!t){g?.(null);return}g?.(f(t))}function T(){v||(x.current?.showPicker?.(),x.current?.focus())}return(0,t.jsxs)(`div`,{className:l.inputBlockVertical,children:[(0,t.jsx)(`label`,{htmlFor:b,className:[l.inputLabel,u===`glassy`?l.inputLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsxs)(`div`,{className:l.dateInputWrapper,children:[(0,t.jsx)(`input`,{id:b,name:r,ref:C,type:`date`,value:d(a),max:d(S),min:s?d(s):void 0,disabled:v,onChange:w,onBlur:_,className:[l.inputDateField,u===`glassy`?l.inputDateFieldGlassy:``,c?l.inputError:``,m??``].filter(Boolean).join(` `),"aria-invalid":!!c,"aria-describedby":c?`${r}-error`:void 0,...y}),(0,t.jsx)(`button`,{type:`button`,className:l.calendarIconButton,onClick:T,disabled:v,"aria-label":`Datum auswählen`,tabIndex:-1,children:(0,t.jsx)(p,{})})]}),c&&(0,t.jsx)(`span`,{id:`${r}-error`,className:l.errorMessage,children:c})]})}function d(e){return e?`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`:``}function f(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)}function p(){return(0,t.jsxs)(`svg`,{className:l.icon,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,children:[(0,t.jsx)(`path`,{d:`M8 2V5`}),(0,t.jsx)(`path`,{d:`M16 2V5`}),(0,t.jsx)(`path`,{d:`M3.5 9.09H20.5`}),(0,t.jsx)(`path`,{d:`M21 8.5V17.5C21 20 19.75 21.5 16.75 21.5H7.25C4.25 21.5 3 20 3 17.5V8.5C3 6 4.25 4.5 7.25 4.5H16.75C19.75 4.5 21 6 21 8.5Z`})]})}var m={inputBlockVertical:`_inputBlockVertical_1yqyz_1`,inputLabel:`_inputLabel_1yqyz_7`,inputLabelGlassy:`_inputLabelGlassy_1yqyz_13`,inputSelectField:`_inputSelectField_1yqyz_17`,inputSelectFieldGlassy:`_inputSelectFieldGlassy_1yqyz_27`,inputError:`_inputError_1yqyz_40`,errorMessage:`_errorMessage_1yqyz_44`};function h({label:e,name:n,options:r,placeholder:i,error:a,variant:o=`default`,className:s,disabled:c,...l}){return(0,t.jsxs)(`div`,{className:m.inputBlockVertical,children:[(0,t.jsx)(`label`,{htmlFor:n,className:[m.inputLabel,o===`glassy`?m.inputLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsxs)(`select`,{id:n,name:n,disabled:c,className:[m.inputSelectField,o===`glassy`?m.inputSelectFieldGlassy:``,a?m.inputError:``,s??``].filter(Boolean).join(` `),"aria-invalid":!!a,"aria-describedby":a?`${n}-error`:void 0,...l,children:[i&&(0,t.jsx)(`option`,{value:``,disabled:!0,children:i}),r.map(e=>(0,t.jsx)(`option`,{value:e.value,children:e.label},e.value))]}),a&&(0,t.jsx)(`span`,{id:`${n}-error`,className:m.errorMessage,children:a})]})}var g={appLink:`_appLink_b53rv_1`,appLinkDefault:`_appLinkDefault_b53rv_19`,appLinkGlassy:`_appLinkGlassy_b53rv_30`,label:`_label_b53rv_38`,icon:`_icon_b53rv_43`,arrowIcon:`_arrowIcon_b53rv_54`};function _({children:e,href:n,onClick:r,newTab:i=!1,showArrow:a=!0,variant:o=`default`,className:s,...c}){function l(e){n||e.preventDefault(),r?.(e)}return(0,t.jsxs)(`a`,{href:n??`#`,onClick:l,target:n&&i?`_blank`:void 0,rel:n&&i?`noopener noreferrer`:void 0,className:[g.appLink,o===`glassy`?g.appLinkGlassy:g.appLinkDefault,s??``].filter(Boolean).join(` `),...c,children:[(0,t.jsx)(`span`,{className:g.label,children:e}),a&&(0,t.jsx)(`span`,{className:g.icon,"aria-hidden":`true`,children:(0,t.jsx)(v,{})})]})}function v(){return(0,t.jsxs)(`svg`,{className:g.arrowIcon,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,children:[(0,t.jsx)(`path`,{d:`M5 12H19`}),(0,t.jsx)(`path`,{d:`M13 6L19 12L13 18`})]})}var y={inputBlockVertical:`_inputBlockVertical_u3s35_1`,inputLabel:`_inputLabel_u3s35_7`,inputLabelGlassy:`_inputLabelGlassy_u3s35_13`,passwordInputWrapper:`_passwordInputWrapper_u3s35_17`,inputTextField:`_inputTextField_u3s35_22`,inputTextFieldGlassy:`_inputTextFieldGlassy_u3s35_34`,inputError:`_inputError_u3s35_56`,togglePasswordButton:`_togglePasswordButton_u3s35_60`,icon:`_icon_u3s35_92`,errorMessage:`_errorMessage_u3s35_101`};function b({label:e,name:r,id:i,error:a,variant:o=`default`,className:s,disabled:c,ref:l,autoComplete:u=`current-password`,...d}){let[f,p]=(0,n.useState)(!1),m=i??r;function h(){p(e=>!e)}return(0,t.jsxs)(`div`,{className:y.inputBlockVertical,children:[e&&(0,t.jsx)(`label`,{htmlFor:m,className:[y.inputLabel,o===`glassy`?y.inputLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsxs)(`div`,{className:y.passwordInputWrapper,children:[(0,t.jsx)(`input`,{id:m,name:r,ref:l,type:f?`text`:`password`,disabled:c,autoComplete:u,className:[y.inputTextField,o===`glassy`?y.inputTextFieldGlassy:``,a?y.inputError:``,s??``].filter(Boolean).join(` `),"aria-invalid":!!a,"aria-describedby":a?`${r}-error`:void 0,...d}),(0,t.jsx)(`button`,{type:`button`,className:y.togglePasswordButton,onClick:h,disabled:c,"aria-label":f?`Passwort ausblenden`:`Passwort anzeigen`,"aria-pressed":f,children:f?(0,t.jsx)(S,{}):(0,t.jsx)(x,{})})]}),a&&(0,t.jsx)(`span`,{id:`${r}-error`,className:y.errorMessage,children:a})]})}function x(){return(0,t.jsxs)(`svg`,{className:y.icon,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,children:[(0,t.jsx)(`path`,{d:`M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z`}),(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`})]})}function S(){return(0,t.jsx)(`svg`,{className:y.icon,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`none`,"aria-hidden":`true`,children:(0,t.jsx)(`path`,{d:`M17.94 17.94A10.94 10.94 0 0 1 12 20C7 20 2.73 16.11 1 12c.74-1.64 1.82-3.06 3.11-4.24m3.52-2.42A10.94 10.94 0 0 1 12 4c5 0 9.27 3.89 11 8-1.1 2.42-2.91 4.5-5.06 5.94M1 1l22 22`})})}var C={inputBlockVertical:`_inputBlockVertical_1xe0h_1`,inputLabel:`_inputLabel_1xe0h_7`,inputLabelGlassy:`_inputLabelGlassy_1xe0h_13`,inputWrapper:`_inputWrapper_1xe0h_17`,inputTextField:`_inputTextField_1xe0h_22`,inputTextFieldGlassy:`_inputTextFieldGlassy_1xe0h_34`,inputError:`_inputError_1xe0h_64`,loading:`_loading_1xe0h_68`,suggestionList:`_suggestionList_1xe0h_77`,suggestionItem:`_suggestionItem_1xe0h_94`,locality:`_locality_1xe0h_114`,emptyState:`_emptyState_1xe0h_118`,successMessage:`_successMessage_1xe0h_129`,errorMessage:`_errorMessage_1xe0h_135`};function w({label:e,name:r,id:i,error:a,variant:o=`default`,className:s,disabled:c,placeholder:l=`z.B. 8001 oder Zürich`,ref:u,onChange:d,onBlur:f,onValueChange:p,onSuggestionSelect:m,...h}){let g=(0,n.useId)(),_=i??`${r}-${g}`,v=(0,n.useRef)(null),y=(0,n.useRef)(!1),[b,x]=(0,n.useState)(``),[S,w]=(0,n.useState)([]),[T,E]=(0,n.useState)(!1),[D,O]=(0,n.useState)(!1),k=b.trim().match(/^(\d+)\s+(.+)$/),A=!!k,j=k?.[1],M=k?.[2],N=A&&S.some(e=>e.postalCode===j&&e.locality===M),P=/^\d+$/.test(b.trim()),F=b.trim().length>=4&&P&&!T,I=F&&S.some(e=>e.postalCode===b.trim()),L=F&&!I;D&&b.trim().length>=4&&S.length,(0,n.useEffect)(()=>{let e=b.trim();if(e.length<2){w([]),O(!1);return}if(y.current){y.current=!1;return}let t=new AbortController;async function n(){E(!0);try{let n=e.match(/^(\d+)\s/),r=n?n[1]:e,i=/^\d+$/.test(r)?`https://openplzapi.org/ch/Localities?postalCode=${r}`:`https://openplzapi.org/ch/Localities?locality=${encodeURIComponent(r)}`,a=await fetch(i,{signal:t.signal});if(!a.ok)throw Error(`Postal-Code-Suche fehlgeschlagen`);let o=await a.json();w(Array.from(new Map(o.map(e=>{let t=`${e.postalCode} ${e.name}`;return[t,{label:t,postalCode:e.postalCode,locality:e.name}]})).values()).slice(0,10)),O(!0)}catch(e){if(t.signal.aborted)return;console.error(e),w([]),O(!0)}finally{t.signal.aborted||E(!1)}}let r=window.setTimeout(n,300);return()=>{window.clearTimeout(r),t.abort()}},[b]);function R(e){v.current=e,typeof u==`function`?u(e):u&&(u.current=e)}function z(e){let t=e.target.value;x(t),p?.(t),d?.(e)}function B(e){y.current=!0,x(e.label),w([]),O(!1),p?.(e.label),m?.(e),v.current&&(v.current.value=e.label,v.current.dispatchEvent(new Event(`input`,{bubbles:!0})))}return(0,t.jsxs)(`div`,{className:C.inputBlockVertical,children:[(0,t.jsx)(`label`,{htmlFor:_,className:[C.inputLabel,o===`glassy`?C.inputLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsxs)(`div`,{className:C.inputWrapper,children:[(0,t.jsx)(`input`,{id:_,name:r,ref:R,type:`text`,inputMode:`search`,autoComplete:`postal-code`,disabled:c,placeholder:l,value:b,onChange:z,onBlur:f,className:[C.inputTextField,o===`glassy`?C.inputTextFieldGlassy:``,I||N?C.inputValid:``,L||a?C.inputError:``,s??``].filter(Boolean).join(` `),"aria-invalid":!!a||L,"aria-describedby":a?`${r}-error`:void 0,...h}),T&&(0,t.jsx)(`span`,{className:C.loading,children:`Lädt…`}),S.length>0&&(0,t.jsx)(`ul`,{className:C.suggestionList,children:S.map(e=>(0,t.jsx)(`li`,{children:(0,t.jsxs)(`button`,{type:`button`,className:C.suggestionItem,onMouseDown:e=>e.preventDefault(),onClick:()=>B(e),children:[(0,t.jsx)(`span`,{children:e.postalCode}),(0,t.jsx)(`span`,{className:C.locality,children:e.locality})]})},e.label))}),D&&b.trim().length>=2&&S.length===0&&!T&&!N&&!L&&(0,t.jsx)(`div`,{className:C.emptyState,children:`Keine Schweizer PLZ oder Ortschaft gefunden.`})]}),I&&(0,t.jsx)(`span`,{className:C.successMessage,children:`Gültige Schweizer Postleitzahl`}),N&&(0,t.jsx)(`span`,{className:C.successMessage,children:`Gültige Schweizer Postleitzahl`}),L&&(0,t.jsx)(`span`,{className:C.errorMessage,children:`Diese Schweizer Postleitzahl wurde nicht gefunden.`}),a&&(0,t.jsx)(`span`,{id:`${r}-error`,className:C.errorMessage,children:a})]})}var T={radioGroup:`_radioGroup_cqfjf_1`,radioGroupGlassy:`_radioGroupGlassy_cqfjf_11`,radioLabel:`_radioLabel_cqfjf_15`,radioLabelGlassy:`_radioLabelGlassy_cqfjf_20`,optionGroup:`_optionGroup_cqfjf_24`,optionWrapper:`_optionWrapper_cqfjf_31`,optionWrapperDisabled:`_optionWrapperDisabled_cqfjf_37`,radioInput:`_radioInput_cqfjf_41`,optionButton:`_optionButton_cqfjf_58`,optionTitle:`_optionTitle_cqfjf_81`,optionDescription:`_optionDescription_cqfjf_87`,optionButtonDefault:`_optionButtonDefault_cqfjf_95`,optionButtonGlassy:`_optionButtonGlassy_cqfjf_120`,optionButtonError:`_optionButtonError_cqfjf_165`,errorMessage:`_errorMessage_cqfjf_169`};function E({label:e,name:n,options:r,error:i,variant:a=`default`,className:o,disabled:s,value:c,defaultValue:l,onChange:u,...d}){let f=c!==void 0;return(0,t.jsxs)(`fieldset`,{className:[T.radioGroup,a===`glassy`?T.radioGroupGlassy:``,o??``].filter(Boolean).join(` `),"aria-invalid":!!i,"aria-describedby":i?`${n}-error`:void 0,children:[e&&(0,t.jsx)(`legend`,{className:[T.radioLabel,a===`glassy`?T.radioLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsx)(`div`,{className:T.optionGroup,children:r.map(e=>{let r=f?{checked:c===e.value}:{defaultChecked:l===e.value};return(0,t.jsxs)(`label`,{className:[T.optionWrapper,s?T.optionWrapperDisabled:``].filter(Boolean).join(` `),children:[(0,t.jsx)(`input`,{type:`radio`,name:n,value:e.value,disabled:s,className:T.radioInput,onChange:u,...r,...d}),(0,t.jsxs)(`span`,{className:[T.optionButton,a===`glassy`?T.optionButtonGlassy:T.optionButtonDefault,i?T.optionButtonError:``].filter(Boolean).join(` `),children:[(0,t.jsx)(`span`,{className:T.optionTitle,children:e.label}),e.description&&(0,t.jsx)(`span`,{className:T.optionDescription,children:e.description})]})]},e.value)})}),i&&(0,t.jsx)(`span`,{id:`${n}-error`,className:T.errorMessage,children:i})]})}var D={switchWrapper:`_switchWrapper_14rch_1`,switchCheckbox:`_switchCheckbox_14rch_7`,switchLabel:`_switchLabel_14rch_15`,switchLabelDefault:`_switchLabelDefault_14rch_24`,switchLabelGlassy:`_switchLabelGlassy_14rch_28`,switchBackground:`_switchBackground_14rch_37`,switchBackgroundDefault:`_switchBackgroundDefault_14rch_56`,switchBackgroundGlassy:`_switchBackgroundGlassy_14rch_66`,switchButton:`_switchButton_14rch_77`,iconChecked:`_iconChecked_14rch_163`,iconUnchecked:`_iconUnchecked_14rch_164`,switchText:`_switchText_14rch_200`,errorMessage:`_errorMessage_14rch_206`};function O({name:e,id:n,label:r,error:i,variant:a=`default`,className:o,disabled:s,...c}){let l=n??`${e}-switch`;return(0,t.jsxs)(`div`,{className:[D.switchWrapper,o??``].filter(Boolean).join(` `),children:[(0,t.jsx)(`input`,{id:l,name:e,type:`checkbox`,disabled:s,className:D.switchCheckbox,"aria-invalid":!!i,"aria-describedby":i?`${e}-error`:void 0,...c}),(0,t.jsxs)(`label`,{htmlFor:l,className:[D.switchLabel,a===`glassy`?D.switchLabelGlassy:D.switchLabelDefault].filter(Boolean).join(` `),children:[(0,t.jsx)(`span`,{className:[D.switchBackground,a===`glassy`?D.switchBackgroundGlassy:D.switchBackgroundDefault].filter(Boolean).join(` `),children:(0,t.jsxs)(`span`,{className:D.switchButton,"aria-hidden":`true`,children:[(0,t.jsx)(`span`,{className:D.iconChecked,children:(0,t.jsx)(k,{})}),(0,t.jsx)(`span`,{className:D.iconUnchecked,children:(0,t.jsx)(A,{})})]})}),r&&(0,t.jsx)(`span`,{className:D.switchText,children:r})]}),i&&(0,t.jsx)(`span`,{id:`${e}-error`,className:D.errorMessage,children:i})]})}function k(){return(0,t.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 12 12`,fill:`none`,"aria-hidden":`true`,children:(0,t.jsx)(`path`,{d:`M3 6.5L5.5 9L9 3`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`})})}function A(){return(0,t.jsx)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 12 12`,fill:`none`,"aria-hidden":`true`,children:(0,t.jsx)(`path`,{d:`M3 3L9 9M9 3L3 9`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`})})}var j={inputBlockVertical:`_inputBlockVertical_1khad_1`,inputLabel:`_inputLabel_1khad_8`,inputLabelGlassy:`_inputLabelGlassy_1khad_14`,inputTextField:`_inputTextField_1khad_20`,inputTextFieldGlassy:`_inputTextFieldGlassy_1khad_37`,inputError:`_inputError_1khad_59`,errorMessage:`_errorMessage_1khad_63`};function M({label:e,name:n,error:r,placeholder:i,variant:a=`default`,className:o,ref:s,...c}){return(0,t.jsxs)(`div`,{className:j.inputBlockVertical,children:[(0,t.jsx)(`label`,{htmlFor:n,className:[j.inputLabel,a===`glassy`?j.inputLabelGlassy:``].filter(Boolean).join(` `),children:e}),(0,t.jsx)(`input`,{id:n,name:n,ref:s,placeholder:i,className:[j.inputTextField,a===`glassy`?j.inputTextFieldGlassy:``,r?j.inputError:``,o??``].filter(Boolean).join(` `),"aria-invalid":!!r,"aria-describedby":r?`${n}-error`:void 0,...c}),r&&(0,t.jsx)(`span`,{id:`${n}-error`,className:j.errorMessage,children:r})]})}var N={wrapper:`_wrapper_1jqlw_1`,label:`_label_1jqlw_7`,labelGlassy:`_labelGlassy_1jqlw_13`,dropzone:`_dropzone_1jqlw_17`,dropzoneGlassy:`_dropzoneGlassy_1jqlw_32`,dragOver:`_dragOver_1jqlw_39`,errorState:`_errorState_1jqlw_48`,disabled:`_disabled_1jqlw_52`,hiddenInput:`_hiddenInput_1jqlw_57`,dropzoneContent:`_dropzoneContent_1jqlw_65`,placeholder:`_placeholder_1jqlw_74`,big:`_big_1jqlw_80`,small:`_small_1jqlw_86`,hint:`_hint_1jqlw_91`,selected:`_selected_1jqlw_111`,preview:`_preview_1jqlw_118`,fileMeta:`_fileMeta_1jqlw_127`,fileName:`_fileName_1jqlw_134`,fileSize:`_fileSize_1jqlw_142`,remove:`_remove_1jqlw_156`,errorMessage:`_errorMessage_1jqlw_198`};function P({label:e,name:r,id:i,file:a,error:o,variant:s=`default`,accept:c=`image/*`,maxSizeBytes:l=5*1024*1024,disabled:u,className:d,onChange:f,onFileChange:p,...m}){let h=(0,n.useId)(),g=i??`${r}-${h}`,[_,v]=(0,n.useState)(!1),[y,b]=(0,n.useState)(a??null),x=a!==void 0,S=x?a:y,C=(0,n.useMemo)(()=>!S||!S.type.startsWith(`image/`)?null:URL.createObjectURL(S),[S]);(0,n.useEffect)(()=>{x&&b(a??null)},[a,x]),(0,n.useEffect)(()=>()=>{C&&URL.revokeObjectURL(C)},[C]);function w(e){return!e||(c===`image/*`||c.startsWith(`image/`))&&!e.type.startsWith(`image/`)||l&&e.size>l?null:e}function T(e){let t=w(e);x||b(t),p?.(t)}function E(e){T(e.target.files?.[0]??null),f?.(e)}function D(e){e.preventDefault(),e.stopPropagation(),u||v(!0)}function O(e){e.preventDefault(),e.stopPropagation(),!e.currentTarget.contains(e.relatedTarget)&&v(!1)}function k(e){e.preventDefault(),e.stopPropagation(),v(!1),!u&&T(e.dataTransfer.files?.[0]??null)}function A(){x||b(null),p?.(null)}let j=Math.round(l/(1024*1024));return(0,t.jsxs)(`div`,{className:[N.wrapper,d??``].filter(Boolean).join(` `),children:[(0,t.jsx)(`label`,{className:[N.label,s===`glassy`?N.labelGlassy:``].filter(Boolean).join(` `),htmlFor:g,children:e}),(0,t.jsxs)(`div`,{className:[N.dropzone,s===`glassy`?N.dropzoneGlassy:``,_?N.dragOver:``,o?N.errorState:``,u?N.disabled:``].filter(Boolean).join(` `),onDragOver:D,onDragLeave:O,onDrop:k,children:[(0,t.jsx)(`input`,{id:g,name:r,className:N.hiddenInput,type:`file`,accept:c,disabled:u,onChange:E,"aria-invalid":!!o,"aria-describedby":o?`${r}-error`:void 0,...m}),(0,t.jsx)(`label`,{htmlFor:g,className:N.dropzoneContent,children:S?(0,t.jsxs)(`span`,{className:N.selected,children:[C&&(0,t.jsx)(`img`,{className:N.preview,src:C,alt:`Vorschau von ${S.name}`}),(0,t.jsxs)(`span`,{className:N.fileMeta,children:[(0,t.jsx)(`span`,{className:N.fileName,children:S.name}),(0,t.jsxs)(`span`,{className:N.fileSize,children:[(S.size/1024).toFixed(0),` KB ·`,` `,S.type||`unknown`]})]})]}):(0,t.jsxs)(`span`,{className:N.placeholder,children:[(0,t.jsx)(`span`,{className:N.big,children:`Datei hier reinziehen`}),(0,t.jsx)(`span`,{className:N.small,children:`…oder klicken, um auszuwählen`}),(0,t.jsxs)(`span`,{className:N.hint,children:[`Erlaubt: `,c,` · max. `,j,` MB`]})]})}),S&&(0,t.jsx)(`button`,{type:`button`,className:N.remove,onClick:A,disabled:u,children:`Entfernen`})]}),o&&(0,t.jsx)(`span`,{id:`${r}-error`,className:N.errorMessage,children:o})]})}e.Button=i,e.Checkbox=o,e.Chip=c,e.DatePicker=u,e.Dropdown=h,e.Link=_,e.Password=b,e.PostalCode=w,e.RadioButton=E,e.Switch=O,e.TextField=M,e.Upload=P});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "suus-component-library",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/suus-component-library.umd.cjs",
|
|
6
6
|
"module": "./dist/suus-component-library.js",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@eslint/js": "^10.0.1",
|
|
35
|
+
"@storybook/addon-docs": "^10.4.1",
|
|
35
36
|
"@storybook/react-vite": "^10.3.6",
|
|
36
37
|
"@types/react": "latest",
|
|
37
38
|
"@types/react-dom": "latest",
|
|
@@ -50,6 +51,6 @@
|
|
|
50
51
|
},
|
|
51
52
|
"dependencies": {
|
|
52
53
|
"msw": "^2.14.6",
|
|
53
|
-
"suus-design-tokens": "^1.0.
|
|
54
|
+
"suus-design-tokens": "^1.0.18"
|
|
54
55
|
}
|
|
55
56
|
}
|