@mattilsynet/design 2.2.28 → 2.2.30
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/mtds/alert/alert.js +8 -9
- package/mtds/alert/alert.js.map +1 -1
- package/mtds/analytics/analytics.js +104 -165
- package/mtds/analytics/analytics.js.map +1 -1
- package/mtds/app/app-observer.js +28 -74
- package/mtds/app/app-observer.js.map +1 -1
- package/mtds/app/app-toggle.js +26 -16
- package/mtds/app/app-toggle.js.map +1 -1
- package/mtds/app/app-toggle2.js +10 -4
- package/mtds/app/app-toggle2.js.map +1 -1
- package/mtds/app/app.js +32 -36
- package/mtds/app/app.js.map +1 -1
- package/mtds/atlas/atlas-element.d.ts +27 -0
- package/mtds/atlas/atlas-element.js +63 -84
- package/mtds/atlas/atlas-element.js.map +1 -1
- package/mtds/atlas/atlas-marker.js +28 -48
- package/mtds/atlas/atlas-marker.js.map +1 -1
- package/mtds/atlas/atlas-matgeo.d.ts +3 -8
- package/mtds/atlas/atlas-matgeo.js +36 -66
- package/mtds/atlas/atlas-matgeo.js.map +1 -1
- package/mtds/atlas/atlas-wms.js +11 -21
- package/mtds/atlas/atlas-wms.js.map +1 -1
- package/mtds/atlas/atlas.css.js +2 -2
- package/mtds/atlas/atlas.css.js.map +1 -1
- package/mtds/atlas/atlas.js +23 -23
- package/mtds/atlas/atlas.js.map +1 -1
- package/mtds/atlas/atlas.stories.d.ts +1 -0
- package/mtds/atlas/cluster.js +697 -1576
- package/mtds/atlas/cluster.js.map +1 -1
- package/mtds/atlas.iife.js +4 -4
- package/mtds/atlas.js +11 -10
- package/mtds/avatar/avatar.js +8 -8
- package/mtds/avatar/avatar.js.map +1 -1
- package/mtds/badge/badge.js +7 -7
- package/mtds/badge/badge.js.map +1 -1
- package/mtds/breadcrumbs/breadcrumbs-observer.js +9 -10
- package/mtds/breadcrumbs/breadcrumbs-observer.js.map +1 -1
- package/mtds/breadcrumbs/breadcrumbs.js +13 -14
- package/mtds/breadcrumbs/breadcrumbs.js.map +1 -1
- package/mtds/button/button.js +14 -16
- package/mtds/button/button.js.map +1 -1
- package/mtds/card/card.js +12 -14
- package/mtds/card/card.js.map +1 -1
- package/mtds/chart/chart-axis.js +15 -27
- package/mtds/chart/chart-axis.js.map +1 -1
- package/mtds/chart/chart-bars.js +13 -15
- package/mtds/chart/chart-bars.js.map +1 -1
- package/mtds/chart/chart-element.js +48 -83
- package/mtds/chart/chart-element.js.map +1 -1
- package/mtds/chart/chart-lines.js +32 -54
- package/mtds/chart/chart-lines.js.map +1 -1
- package/mtds/chart/chart-pies.js +14 -34
- package/mtds/chart/chart-pies.js.map +1 -1
- package/mtds/chart/chart.css.js +2 -2
- package/mtds/chart/chart.css.js.map +1 -1
- package/mtds/chart/chart.js +12 -12
- package/mtds/chart/chart.js.map +1 -1
- package/mtds/chip/chip.js +8 -8
- package/mtds/chip/chip.js.map +1 -1
- package/mtds/chip/chip.stories.d.ts +1 -0
- package/mtds/details/details.js +12 -14
- package/mtds/details/details.js.map +1 -1
- package/mtds/dialog/dialog-observer.js +22 -35
- package/mtds/dialog/dialog-observer.js.map +1 -1
- package/mtds/dialog/dialog.js +12 -12
- package/mtds/dialog/dialog.js.map +1 -1
- package/mtds/divider/divider.js +10 -10
- package/mtds/divider/divider.js.map +1 -1
- package/mtds/errorsummary/errorsummary-observer.js +8 -11
- package/mtds/errorsummary/errorsummary-observer.js.map +1 -1
- package/mtds/errorsummary/errorsummary.js +11 -11
- package/mtds/errorsummary/errorsummary.js.map +1 -1
- package/mtds/external/@turf/boolean-point-in-polygon/dist/esm/index.js +19 -27
- package/mtds/external/@turf/boolean-point-in-polygon/dist/esm/index.js.map +1 -1
- package/mtds/external/@turf/helpers/dist/esm/index.js +16 -29
- package/mtds/external/@turf/helpers/dist/esm/index.js.map +1 -1
- package/mtds/external/@turf/invariant/dist/esm/index.js +13 -20
- package/mtds/external/@turf/invariant/dist/esm/index.js.map +1 -1
- package/mtds/external/leaflet/dist/leaflet-src.js +3096 -6004
- package/mtds/external/leaflet/dist/leaflet-src.js.map +1 -1
- package/mtds/external/leaflet/dist/leaflet.css.js +2 -2
- package/mtds/external/leaflet/dist/leaflet.css.js.map +1 -1
- package/mtds/external/point-in-polygon-hao/dist/esm/index.js +16 -46
- package/mtds/external/point-in-polygon-hao/dist/esm/index.js.map +1 -1
- package/mtds/external/robust-predicates/esm/orient2d.js +19 -163
- package/mtds/external/robust-predicates/esm/orient2d.js.map +1 -1
- package/mtds/external/robust-predicates/esm/util.js +25 -85
- package/mtds/external/robust-predicates/esm/util.js.map +1 -1
- package/mtds/field/field-observer.js +53 -119
- package/mtds/field/field-observer.js.map +1 -1
- package/mtds/field/field.d.ts +0 -1
- package/mtds/field/field.js +145 -177
- package/mtds/field/field.js.map +1 -1
- package/mtds/fieldset/fieldset-observer.js +14 -24
- package/mtds/fieldset/fieldset-observer.js.map +1 -1
- package/mtds/fieldset/fieldset.d.ts +3 -9
- package/mtds/fieldset/fieldset.js +20 -23
- package/mtds/fieldset/fieldset.js.map +1 -1
- package/mtds/fileupload/fileupload.js +8 -9
- package/mtds/fileupload/fileupload.js.map +1 -1
- package/mtds/fileupload/fileupload.stories.d.ts +1 -0
- package/mtds/helptext/helptext.js +15 -15
- package/mtds/helptext/helptext.js.map +1 -1
- package/mtds/illustrations/index.json +2 -2
- package/mtds/index.iife.js +15 -15
- package/mtds/index.js +27 -26
- package/mtds/index.js.map +1 -1
- package/mtds/input/input.js +28 -30
- package/mtds/input/input.js.map +1 -1
- package/mtds/law/law-helper.js +77 -143
- package/mtds/law/law-helper.js.map +1 -1
- package/mtds/law/law.js +6 -6
- package/mtds/law/law.js.map +1 -1
- package/mtds/layout/layout.js +10 -13
- package/mtds/layout/layout.js.map +1 -1
- package/mtds/link/link.js +7 -8
- package/mtds/link/link.js.map +1 -1
- package/mtds/logo/logo-observer.js +12 -18
- package/mtds/logo/logo-observer.js.map +1 -1
- package/mtds/logo/logo.js +8 -8
- package/mtds/logo/logo.js.map +1 -1
- package/mtds/package.json.js +2 -2
- package/mtds/pagination/pagination-helper.js +11 -17
- package/mtds/pagination/pagination-helper.js.map +1 -1
- package/mtds/pagination/pagination.js +30 -30
- package/mtds/pagination/pagination.js.map +1 -1
- package/mtds/popover/popover-observer.js +33 -45
- package/mtds/popover/popover-observer.js.map +1 -1
- package/mtds/popover/popover.js +12 -13
- package/mtds/popover/popover.js.map +1 -1
- package/mtds/progress/progress.js +8 -8
- package/mtds/progress/progress.js.map +1 -1
- package/mtds/react-atlas.js +13 -12
- package/mtds/react-types.d.ts +1 -0
- package/mtds/react.js +80 -80
- package/mtds/skeleton/skeleton.js +8 -8
- package/mtds/skeleton/skeleton.js.map +1 -1
- package/mtds/spinner/spinner.js +8 -8
- package/mtds/spinner/spinner.js.map +1 -1
- package/mtds/steps/steps.js +7 -7
- package/mtds/steps/steps.js.map +1 -1
- package/mtds/styles.css +1 -4591
- package/mtds/styles.json +43 -43
- package/mtds/styles.module.css.js +112 -167
- package/mtds/styles.module.css.js.map +1 -1
- package/mtds/table/table-observer.js +19 -22
- package/mtds/table/table-observer.js.map +1 -1
- package/mtds/table/table.d.ts +7 -0
- package/mtds/table/table.js +43 -18
- package/mtds/table/table.js.map +1 -1
- package/mtds/tabs/tabs.js +21 -25
- package/mtds/tabs/tabs.js.map +1 -1
- package/mtds/tag/tag.js +8 -8
- package/mtds/tag/tag.js.map +1 -1
- package/mtds/tailwind.css +6 -25
- package/mtds/toast/toast-helper.js +20 -35
- package/mtds/toast/toast-helper.js.map +1 -1
- package/mtds/toast/toast-observer.js +15 -30
- package/mtds/toast/toast-observer.js.map +1 -1
- package/mtds/toast/toast.js +37 -45
- package/mtds/toast/toast.js.map +1 -1
- package/mtds/togglegroup/togglegroup-observer.js +10 -15
- package/mtds/togglegroup/togglegroup-observer.js.map +1 -1
- package/mtds/togglegroup/togglegroup.js +24 -21
- package/mtds/togglegroup/togglegroup.js.map +1 -1
- package/mtds/tooltip/tooltip-observer.js +32 -48
- package/mtds/tooltip/tooltip-observer.js.map +1 -1
- package/mtds/typography/typography.js +19 -28
- package/mtds/typography/typography.js.map +1 -1
- package/mtds/utils.js +89 -129
- package/mtds/utils.js.map +1 -1
- package/mtds/validation/validation-observer.d.ts +1 -0
- package/mtds/validation/validation-observer.js +31 -0
- package/mtds/validation/validation-observer.js.map +1 -0
- package/mtds/validation/validation.js +12 -12
- package/mtds/validation/validation.js.map +1 -1
- package/package.json +8 -6
package/mtds/tag/tag.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import { forwardRef } from "react";
|
|
4
|
-
import
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
return /* @__PURE__ */
|
|
1
|
+
import { jsx as f } from "react/jsx-runtime";
|
|
2
|
+
import s from "clsx";
|
|
3
|
+
import { forwardRef as n } from "react";
|
|
4
|
+
import p from "../styles.module.css.js";
|
|
5
|
+
const x = n(function({ as: r, className: t, ...o }, a) {
|
|
6
|
+
const m = r || (o.href ? "a" : "span");
|
|
7
|
+
return /* @__PURE__ */ f(m, { className: s(p.tag, t), ref: a, ...o });
|
|
8
8
|
});
|
|
9
9
|
export {
|
|
10
|
-
Tag
|
|
10
|
+
x as Tag
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=tag.js.map
|
package/mtds/tag/tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sources":["../../designsystem/tag/tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { forwardRef, type JSX } from \"react\";\nimport type {\n\tPolymorphicComponentPropWithRef,\n\tPolymorphicRef,\n} from \"../react-types\";\nimport styles from \"../styles.module.css\";\n\nexport type TagProps<\n\tHref,\n\tAs extends React.ElementType = Href extends string ? \"a\" : \"span\",\n> = PolymorphicComponentPropWithRef<\n\tAs,\n\t{ \"data-icon\"?: boolean | \"true\" | \"false\" | \"none\" }\n>;\n\ntype TagComponent = <\n\tHref,\n\tAs extends React.ElementType = Href extends string ? \"a\" : \"span\",\n>(\n\tprops: TagProps<Href, As>,\n) => JSX.Element;\n\nexport const Tag: TagComponent = forwardRef<null>(function Tag<\n\tHref,\n\tAs extends React.ElementType = Href extends string ? \"a\" : \"span\",\n>({ as, className, ...rest }: TagProps<Href, As>, ref?: PolymorphicRef<As>) {\n\tconst Tag = as || (rest.href ? \"a\" : \"span\");\n\n\treturn <Tag className={clsx(styles.tag, className)} ref={ref} {...rest} />;\n}) as TagComponent; // Needed to tell Typescript this does not return ReactNode but acutally JSX.Element\n"],"names":["Tag"],"mappings":";;;;AAuBO,
|
|
1
|
+
{"version":3,"file":"tag.js","sources":["../../designsystem/tag/tag.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { forwardRef, type JSX } from \"react\";\nimport type {\n\tPolymorphicComponentPropWithRef,\n\tPolymorphicRef,\n} from \"../react-types\";\nimport styles from \"../styles.module.css\";\n\nexport type TagProps<\n\tHref,\n\tAs extends React.ElementType = Href extends string ? \"a\" : \"span\",\n> = PolymorphicComponentPropWithRef<\n\tAs,\n\t{ \"data-icon\"?: boolean | \"true\" | \"false\" | \"none\" }\n>;\n\ntype TagComponent = <\n\tHref,\n\tAs extends React.ElementType = Href extends string ? \"a\" : \"span\",\n>(\n\tprops: TagProps<Href, As>,\n) => JSX.Element;\n\nexport const Tag: TagComponent = forwardRef<null>(function Tag<\n\tHref,\n\tAs extends React.ElementType = Href extends string ? \"a\" : \"span\",\n>({ as, className, ...rest }: TagProps<Href, As>, ref?: PolymorphicRef<As>) {\n\tconst Tag = as || (rest.href ? \"a\" : \"span\");\n\n\treturn <Tag className={clsx(styles.tag, className)} ref={ref} {...rest} />;\n}) as TagComponent; // Needed to tell Typescript this does not return ReactNode but acutally JSX.Element\n"],"names":["Tag","forwardRef","as","className","rest","ref","jsx","clsx","styles"],"mappings":";;;;AAuBO,MAAMA,IAAoBC,EAAiB,SAGhD,EAAE,IAAAC,GAAI,WAAAC,GAAW,GAAGC,EAAA,GAA4BC,GAA0B;AAC3E,QAAML,IAAME,MAAOE,EAAK,OAAO,MAAM;AAErC,SAAO,gBAAAE,EAACN,GAAA,EAAI,WAAWO,EAAKC,EAAO,KAAKL,CAAS,GAAG,KAAAE,GAAW,GAAGD,EAAA,CAAM;AACzE,CAAC;"}
|
package/mtds/tailwind.css
CHANGED
|
@@ -77,25 +77,13 @@
|
|
|
77
77
|
--color-info-text-default: var(--mtds-color-info-text-default);
|
|
78
78
|
--color-info-text-subtle: var(--mtds-color-info-text-subtle);
|
|
79
79
|
--color-inverted-background-default: var(--mtds-color-inverted-background-default);
|
|
80
|
-
--color-inverted-background-default
|
|
81
|
-
: var(--mtds-color-inverted-background-default
|
|
82
|
-
);
|
|
80
|
+
--color-inverted-background-default : var(--mtds-color-inverted-background-default );
|
|
83
81
|
--color-inverted-background-tinted: var(--mtds-color-inverted-background-tinted);
|
|
84
82
|
--color-inverted-base-active: var(--mtds-color-inverted-base-active);
|
|
85
83
|
--color-inverted-base-contrast-default: var(--mtds-color-inverted-base-contrast-default);
|
|
86
|
-
--color-inverted-base-contrast-default
|
|
87
|
-
: var(--mtds-color-inverted-base-contrast-default
|
|
88
|
-
);
|
|
89
|
-
--color-inverted-base-contrast-default
|
|
90
|
-
: var(--mtds-color-inverted-base-contrast-default
|
|
91
|
-
);
|
|
84
|
+
--color-inverted-base-contrast-default : var(--mtds-color-inverted-base-contrast-default );
|
|
92
85
|
--color-inverted-base-contrast-subtle: var(--mtds-color-inverted-base-contrast-subtle);
|
|
93
|
-
--color-inverted-base-contrast-subtle
|
|
94
|
-
: var(--mtds-color-inverted-base-contrast-subtle
|
|
95
|
-
);
|
|
96
|
-
--color-inverted-base-contrast-subtle
|
|
97
|
-
: var(--mtds-color-inverted-base-contrast-subtle
|
|
98
|
-
);
|
|
86
|
+
--color-inverted-base-contrast-subtle : var(--mtds-color-inverted-base-contrast-subtle );
|
|
99
87
|
--color-inverted-base-default: var(--mtds-color-inverted-base-default);
|
|
100
88
|
--color-inverted-base-hover: var(--mtds-color-inverted-base-hover);
|
|
101
89
|
--color-inverted-border-default: var(--mtds-color-inverted-border-default);
|
|
@@ -111,13 +99,9 @@
|
|
|
111
99
|
--color-main-background-tinted: var(--mtds-color-main-background-tinted);
|
|
112
100
|
--color-main-base-active: var(--mtds-color-main-base-active);
|
|
113
101
|
--color-main-base-contrast-default: var(--mtds-color-main-base-contrast-default);
|
|
114
|
-
--color-main-base-contrast-default
|
|
115
|
-
: var(--mtds-color-main-base-contrast-default
|
|
116
|
-
);
|
|
102
|
+
--color-main-base-contrast-default : var(--mtds-color-main-base-contrast-default );
|
|
117
103
|
--color-main-base-contrast-subtle: var(--mtds-color-main-base-contrast-subtle);
|
|
118
|
-
--color-main-base-contrast-subtle
|
|
119
|
-
: var(--mtds-color-main-base-contrast-subtle
|
|
120
|
-
);
|
|
104
|
+
--color-main-base-contrast-subtle : var(--mtds-color-main-base-contrast-subtle );
|
|
121
105
|
--color-main-base-default: var(--mtds-color-main-base-default);
|
|
122
106
|
--color-main-base-hover: var(--mtds-color-main-base-hover);
|
|
123
107
|
--color-main-border-default: var(--mtds-color-main-border-default);
|
|
@@ -145,9 +129,7 @@
|
|
|
145
129
|
--color-neutral-surface-tinted: var(--mtds-color-neutral-surface-tinted);
|
|
146
130
|
--color-neutral-text-default: var(--mtds-color-neutral-text-default);
|
|
147
131
|
--color-neutral-text-subtle: var(--mtds-color-neutral-text-subtle);
|
|
148
|
-
--color-neutral-text-subtle
|
|
149
|
-
: var(--mtds-color-neutral-text-subtle
|
|
150
|
-
);
|
|
132
|
+
--color-neutral-text-subtle : var(--mtds-color-neutral-text-subtle );
|
|
151
133
|
--color-success-background-default: var(--mtds-color-success-background-default);
|
|
152
134
|
--color-success-background-tinted: var(--mtds-color-success-background-tinted);
|
|
153
135
|
--color-success-base-active: var(--mtds-color-success-base-active);
|
|
@@ -188,7 +170,6 @@
|
|
|
188
170
|
--color-warning-text-subtle: var(--mtds-color-warning-text-subtle);
|
|
189
171
|
--font-weight-bold: var(--mtds-font-weight-bold);
|
|
190
172
|
--font-weight-italic-style: var(--mtds-font-weight-italic-style);
|
|
191
|
-
--font-weight-italic-weight: var(--mtds-font-weight-italic-weight);
|
|
192
173
|
--font-weight-medium: var(--mtds-font-weight-medium);
|
|
193
174
|
--font-weight-normal: var(--mtds-font-weight-regular);
|
|
194
175
|
--font-weight-regular: var(--mtds-font-weight-regular);
|
|
@@ -1,43 +1,28 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { tag, attr } from "../utils.js";
|
|
4
|
-
function
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
attr(dialog, "class", clsx(styles.toast, opt.className));
|
|
8
|
-
attr(dialog, "data-closedby", opt.closedby || null);
|
|
9
|
-
attr(dialog, "data-color", opt.color || null);
|
|
10
|
-
attr(dialog, "data-icon", `${opt.icon ?? ""}` || null);
|
|
11
|
-
attr(dialog, "data-timeout", `${opt.timeout ?? ""}` || null);
|
|
12
|
-
attr(dialog, "id", opt.id || `${Date.now()}`);
|
|
13
|
-
attr(dialog, "open", opt.open === false ? null : "");
|
|
14
|
-
dialog.innerHTML = content;
|
|
15
|
-
dialog.addEventListener("animationend", handleToastClose, { once: true });
|
|
16
|
-
document.body.appendChild(dialog);
|
|
17
|
-
return dialog.id;
|
|
1
|
+
import m from "clsx";
|
|
2
|
+
import l from "../styles.module.css.js";
|
|
3
|
+
import { tag as f, attr as s } from "../utils.js";
|
|
4
|
+
function r(e, o = {}) {
|
|
5
|
+
const n = document.getElementById(o.id || "") || f("dialog");
|
|
6
|
+
return s(n, "aria-busy", o.busy ? "true" : null), s(n, "class", m(l.toast, o.className)), s(n, "data-closedby", o.closedby || null), s(n, "data-color", o.color || null), s(n, "data-icon", `${o.icon ?? ""}` || null), s(n, "data-timeout", `${o.timeout ?? ""}` || null), s(n, "id", o.id || `${Date.now()}`), s(n, "open", o.open === !1 ? null : ""), n.innerHTML = e, n.addEventListener("animationend", y, { once: !0 }), document.body.appendChild(n), n.id;
|
|
18
7
|
}
|
|
19
|
-
function
|
|
20
|
-
|
|
21
|
-
target.remove();
|
|
8
|
+
function y({ animationName: e, target: o }) {
|
|
9
|
+
e === l._toastClose && o.remove();
|
|
22
10
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const { loading, success, error, ...
|
|
30
|
-
const id = toast(loading, { busy: true, ...opt });
|
|
11
|
+
r.success = (e, o) => r(e, { color: "success", ...o });
|
|
12
|
+
r.danger = (e, o) => r(e, { color: "danger", ...o });
|
|
13
|
+
r.info = (e, o) => r(e, { color: "info", ...o });
|
|
14
|
+
r.warning = (e, o) => r(e, { color: "warning", ...o });
|
|
15
|
+
r.neutral = (e, o) => r(e, { color: "neutral", ...o });
|
|
16
|
+
r.promise = async function(o, n) {
|
|
17
|
+
const { loading: c, success: i, error: u, ...d } = n, a = r(c, { busy: !0, ...d });
|
|
31
18
|
try {
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
toast.danger(error, { id, busy: false });
|
|
37
|
-
throw _error;
|
|
19
|
+
const t = await o();
|
|
20
|
+
return r.success(i, { id: a, busy: !1 }), t;
|
|
21
|
+
} catch (t) {
|
|
22
|
+
throw r.danger(u, { id: a, busy: !1 }), t;
|
|
38
23
|
}
|
|
39
24
|
};
|
|
40
25
|
export {
|
|
41
|
-
toast
|
|
26
|
+
r as toast
|
|
42
27
|
};
|
|
43
28
|
//# sourceMappingURL=toast-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-helper.js","sources":["../../designsystem/toast/toast-helper.ts"],"sourcesContent":["import clsx from \"clsx\";\nimport styles from \"../styles.module.css\";\nimport { attr, tag } from \"../utils\";\n\nexport type ToastOptions = {\n\tclassName?: string;\n\tclosedby?: \"none\";\n\tcolor?: \"main\" | \"neutral\" | \"success\" | \"danger\" | \"info\" | \"warning\";\n\ticon?: boolean | \"none\";\n\ttimeout?: number | false;\n\tbusy?: boolean;\n\topen?: boolean;\n\tid?: string;\n};\n\nexport function toast(content: string, opt: ToastOptions = {}) {\n\tconst dialog = document.getElementById(opt.id || \"\") || tag(\"dialog\");\n\n\tattr(dialog, \"aria-busy\", opt.busy ? \"true\" : null);\n\tattr(dialog, \"class\", clsx(styles.toast, opt.className));\n\tattr(dialog, \"data-closedby\", opt.closedby || null);\n\tattr(dialog, \"data-color\", opt.color || null);\n\tattr(dialog, \"data-icon\", `${opt.icon ?? \"\"}` || null);\n\tattr(dialog, \"data-timeout\", `${opt.timeout ?? \"\"}` || null);\n\tattr(dialog, \"id\", opt.id || `${Date.now()}`);\n\tattr(dialog, \"open\", opt.open === false ? null : \"\");\n\n\tdialog.innerHTML = content;\n\tdialog.addEventListener(\"animationend\", handleToastClose, { once: true });\n\tdocument.body.appendChild(dialog);\n\treturn dialog.id;\n}\n\nfunction handleToastClose({ animationName, target }: Partial<AnimationEvent>) {\n\tif (animationName === styles._toastClose)\n\t\t(target as HTMLDialogElement).remove();\n}\n\n// Expose toast.danger, toast.info, toast.success etc.\ntoast.success = (content: string, opt?: ToastOptions) =>\n\ttoast(content, { color: \"success\", ...opt });\ntoast.danger = (content: string, opt?: ToastOptions) =>\n\ttoast(content, { color: \"danger\", ...opt });\ntoast.info = (content: string, opt: ToastOptions) =>\n\ttoast(content, { color: \"info\", ...opt });\ntoast.warning = (content: string, opt?: ToastOptions) =>\n\ttoast(content, { color: \"warning\", ...opt });\ntoast.neutral = (content: string, opt?: ToastOptions) =>\n\ttoast(content, { color: \"neutral\", ...opt });\ntoast.promise = async function promise<T>(\n\taction: () => Promise<T>,\n\tprops: ToastOptions & {\n\t\tloading: string;\n\t\tsuccess: string;\n\t\terror: string;\n\t},\n): Promise<T> {\n\tconst { loading, success, error, ...opt } = props;\n\tconst id = toast(loading, { busy: true, ...opt });\n\ttry {\n\t\tconst result = await action();\n\t\ttoast.success(success, { id, busy: false });\n\t\treturn result;\n\t} catch (_error) {\n\t\ttoast.danger(error, { id, busy: false });\n\t\tthrow _error;\n\t}\n};\n"],"names":[],"mappings":";;;AAeO,
|
|
1
|
+
{"version":3,"file":"toast-helper.js","sources":["../../designsystem/toast/toast-helper.ts"],"sourcesContent":["import clsx from \"clsx\";\nimport styles from \"../styles.module.css\";\nimport { attr, tag } from \"../utils\";\n\nexport type ToastOptions = {\n\tclassName?: string;\n\tclosedby?: \"none\";\n\tcolor?: \"main\" | \"neutral\" | \"success\" | \"danger\" | \"info\" | \"warning\";\n\ticon?: boolean | \"none\";\n\ttimeout?: number | false;\n\tbusy?: boolean;\n\topen?: boolean;\n\tid?: string;\n};\n\nexport function toast(content: string, opt: ToastOptions = {}) {\n\tconst dialog = document.getElementById(opt.id || \"\") || tag(\"dialog\");\n\n\tattr(dialog, \"aria-busy\", opt.busy ? \"true\" : null);\n\tattr(dialog, \"class\", clsx(styles.toast, opt.className));\n\tattr(dialog, \"data-closedby\", opt.closedby || null);\n\tattr(dialog, \"data-color\", opt.color || null);\n\tattr(dialog, \"data-icon\", `${opt.icon ?? \"\"}` || null);\n\tattr(dialog, \"data-timeout\", `${opt.timeout ?? \"\"}` || null);\n\tattr(dialog, \"id\", opt.id || `${Date.now()}`);\n\tattr(dialog, \"open\", opt.open === false ? null : \"\");\n\n\tdialog.innerHTML = content;\n\tdialog.addEventListener(\"animationend\", handleToastClose, { once: true });\n\tdocument.body.appendChild(dialog);\n\treturn dialog.id;\n}\n\nfunction handleToastClose({ animationName, target }: Partial<AnimationEvent>) {\n\tif (animationName === styles._toastClose)\n\t\t(target as HTMLDialogElement).remove();\n}\n\n// Expose toast.danger, toast.info, toast.success etc.\ntoast.success = (content: string, opt?: ToastOptions) =>\n\ttoast(content, { color: \"success\", ...opt });\ntoast.danger = (content: string, opt?: ToastOptions) =>\n\ttoast(content, { color: \"danger\", ...opt });\ntoast.info = (content: string, opt: ToastOptions) =>\n\ttoast(content, { color: \"info\", ...opt });\ntoast.warning = (content: string, opt?: ToastOptions) =>\n\ttoast(content, { color: \"warning\", ...opt });\ntoast.neutral = (content: string, opt?: ToastOptions) =>\n\ttoast(content, { color: \"neutral\", ...opt });\ntoast.promise = async function promise<T>(\n\taction: () => Promise<T>,\n\tprops: ToastOptions & {\n\t\tloading: string;\n\t\tsuccess: string;\n\t\terror: string;\n\t},\n): Promise<T> {\n\tconst { loading, success, error, ...opt } = props;\n\tconst id = toast(loading, { busy: true, ...opt });\n\ttry {\n\t\tconst result = await action();\n\t\ttoast.success(success, { id, busy: false });\n\t\treturn result;\n\t} catch (_error) {\n\t\ttoast.danger(error, { id, busy: false });\n\t\tthrow _error;\n\t}\n};\n"],"names":["toast","content","opt","dialog","tag","attr","clsx","styles","handleToastClose","animationName","target","action","props","loading","success","error","id","result","_error"],"mappings":";;;AAeO,SAASA,EAAMC,GAAiBC,IAAoB,IAAI;AAC9D,QAAMC,IAAS,SAAS,eAAeD,EAAI,MAAM,EAAE,KAAKE,EAAI,QAAQ;AAEpE,SAAAC,EAAKF,GAAQ,aAAaD,EAAI,OAAO,SAAS,IAAI,GAClDG,EAAKF,GAAQ,SAASG,EAAKC,EAAO,OAAOL,EAAI,SAAS,CAAC,GACvDG,EAAKF,GAAQ,iBAAiBD,EAAI,YAAY,IAAI,GAClDG,EAAKF,GAAQ,cAAcD,EAAI,SAAS,IAAI,GAC5CG,EAAKF,GAAQ,aAAa,GAAGD,EAAI,QAAQ,EAAE,MAAM,IAAI,GACrDG,EAAKF,GAAQ,gBAAgB,GAAGD,EAAI,WAAW,EAAE,MAAM,IAAI,GAC3DG,EAAKF,GAAQ,MAAMD,EAAI,MAAM,GAAG,KAAK,IAAA,CAAK,EAAE,GAC5CG,EAAKF,GAAQ,QAAQD,EAAI,SAAS,KAAQ,OAAO,EAAE,GAEnDC,EAAO,YAAYF,GACnBE,EAAO,iBAAiB,gBAAgBK,GAAkB,EAAE,MAAM,IAAM,GACxE,SAAS,KAAK,YAAYL,CAAM,GACzBA,EAAO;AACf;AAEA,SAASK,EAAiB,EAAE,eAAAC,GAAe,QAAAC,KAAmC;AAC7E,EAAID,MAAkBF,EAAO,eAC3BG,EAA6B,OAAA;AAChC;AAGAV,EAAM,UAAU,CAACC,GAAiBC,MACjCF,EAAMC,GAAS,EAAE,OAAO,WAAW,GAAGC,GAAK;AAC5CF,EAAM,SAAS,CAACC,GAAiBC,MAChCF,EAAMC,GAAS,EAAE,OAAO,UAAU,GAAGC,GAAK;AAC3CF,EAAM,OAAO,CAACC,GAAiBC,MAC9BF,EAAMC,GAAS,EAAE,OAAO,QAAQ,GAAGC,GAAK;AACzCF,EAAM,UAAU,CAACC,GAAiBC,MACjCF,EAAMC,GAAS,EAAE,OAAO,WAAW,GAAGC,GAAK;AAC5CF,EAAM,UAAU,CAACC,GAAiBC,MACjCF,EAAMC,GAAS,EAAE,OAAO,WAAW,GAAGC,GAAK;AAC5CF,EAAM,UAAU,eACfW,GACAC,GAKa;AACb,QAAM,EAAE,SAAAC,GAAS,SAAAC,GAAS,OAAAC,GAAO,GAAGb,MAAQU,GACtCI,IAAKhB,EAAMa,GAAS,EAAE,MAAM,IAAM,GAAGX,GAAK;AAChD,MAAI;AACH,UAAMe,IAAS,MAAMN,EAAA;AACrB,WAAAX,EAAM,QAAQc,GAAS,EAAE,IAAAE,GAAI,MAAM,IAAO,GACnCC;AAAA,EACR,SAASC,GAAQ;AAChB,UAAAlB,EAAM,OAAOe,GAAO,EAAE,IAAAC,GAAI,MAAM,IAAO,GACjCE;AAAA,EACP;AACD;"}
|
|
@@ -1,35 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { onLoaded, on, attr } from "../utils.js";
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const ms = Number(attr(dialog, "data-timeout"));
|
|
10
|
-
dialog.style.setProperty("--mtdsc-toast-timeout", ms ? `${ms}ms` : null);
|
|
11
|
-
dialog.hasAttribute(ATTR_SORT) || attr(dialog, ATTR_SORT, `${Date.now()}`);
|
|
12
|
-
attr(dialog, "tabindex", "0");
|
|
13
|
-
[...document.querySelectorAll(`.${CSS_TOAST}[open]`)].sort((a, b) => Number(attr(b, ATTR_SORT)) - Number(attr(a, ATTR_SORT))).reduce((top, toast) => {
|
|
14
|
-
toast.style.translate = `0 ${toast === target ? 0 : top}px`;
|
|
15
|
-
return top + toast.offsetHeight + 5;
|
|
16
|
-
}, 0);
|
|
1
|
+
import r from "../styles.module.css.js";
|
|
2
|
+
import { onLoaded as b, on as u, attr as s } from "../utils.js";
|
|
3
|
+
const m = r.toast.split(" ")[0], l = "data-sort";
|
|
4
|
+
function h({ animationName: t, target: i }) {
|
|
5
|
+
const o = i;
|
|
6
|
+
if (t === r._toastTimeout && o.close(), t !== r._toastOpen) return;
|
|
7
|
+
const c = Number(s(o, "data-timeout"));
|
|
8
|
+
o.style.setProperty("--mtdsc-toast-timeout", c ? `${c}ms` : null), o.hasAttribute(l) || s(o, l, `${Date.now()}`), s(o, "tabindex", "0"), [...document.querySelectorAll(`.${m}[open]`)].sort((n, e) => Number(s(e, l)) - Number(s(n, l))).reduce((n, e) => (e.style.translate = `0 ${e === i ? 0 : n}px`, n + e.offsetHeight + 5), 0);
|
|
17
9
|
}
|
|
18
|
-
function
|
|
19
|
-
if (
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
const close = window.getComputedStyle(target, "::after");
|
|
23
|
-
const top = rect.top + Number.parseInt(toast.paddingTop, 10);
|
|
24
|
-
const bottom = top + Number.parseInt(close.height, 10);
|
|
25
|
-
const right = rect.right - Number.parseInt(toast.paddingRight, 10);
|
|
26
|
-
const left = right - Number.parseInt(close.width, 10);
|
|
27
|
-
const isClose = top <= y && y <= bottom && left <= x && x <= right;
|
|
28
|
-
if (isClose) target.close();
|
|
10
|
+
function T({ target: t, clientX: i, clientY: o }) {
|
|
11
|
+
if (t instanceof HTMLDialogElement && t.classList.contains(m) && s(t, "data-closedby") !== "none") {
|
|
12
|
+
const c = t.getBoundingClientRect(), n = window.getComputedStyle(t), e = window.getComputedStyle(t, "::after"), a = c.top + Number.parseInt(n.paddingTop, 10), p = a + Number.parseInt(e.height, 10), d = c.right - Number.parseInt(n.paddingRight, 10), f = d - Number.parseInt(e.width, 10);
|
|
13
|
+
a <= o && o <= p && f <= i && i <= d && t.close();
|
|
29
14
|
}
|
|
30
15
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
16
|
+
b(() => [
|
|
17
|
+
u(document, "animationstart", h),
|
|
18
|
+
u(document, "click", T)
|
|
34
19
|
]);
|
|
35
20
|
//# sourceMappingURL=toast-observer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast-observer.js","sources":["../../designsystem/toast/toast-observer.ts"],"sourcesContent":["import styles from \"../styles.module.css\";\nimport { attr, on, onLoaded } from \"../utils\";\n\nconst CSS_TOAST = styles.toast.split(\" \")[0];\nconst ATTR_SORT = \"data-sort\";\n\nfunction handleToastState({ animationName, target }: Partial<AnimationEvent>) {\n\tconst dialog = target as HTMLDialogElement;\n\tif (animationName === styles._toastTimeout) dialog.close();\n\tif (animationName !== styles._toastOpen) return;\n\n\tconst ms = Number(attr(dialog, \"data-timeout\"));\n\tdialog.style.setProperty(\"--mtdsc-toast-timeout\", ms ? `${ms}ms` : null);\n\tdialog.hasAttribute(ATTR_SORT) || attr(dialog, ATTR_SORT, `${Date.now()}`);\n\tattr(dialog, \"tabindex\", \"0\"); // Make focusable\n\n\t// Setup layout\n\t[...document.querySelectorAll<HTMLDialogElement>(`.${CSS_TOAST}[open]`)]\n\t\t.sort((a, b) => Number(attr(b, ATTR_SORT)) - Number(attr(a, ATTR_SORT)))\n\t\t.reduce((top, toast) => {\n\t\t\ttoast.style.translate = `0 ${toast === target ? 0 : top}px`;\n\t\t\treturn top + toast.offsetHeight + 5;\n\t\t}, 0);\n}\n\nfunction handleToastClick({ target, clientX: x, clientY: y }: MouseEvent) {\n\tif (\n\t\ttarget instanceof HTMLDialogElement &&\n\t\ttarget.classList.contains(CSS_TOAST) &&\n\t\tattr(target, \"data-closedby\") !== \"none\"\n\t) {\n\t\tconst rect = target.getBoundingClientRect();\n\t\tconst toast = window.getComputedStyle(target);\n\t\tconst close = window.getComputedStyle(target, \"::after\");\n\t\tconst top = rect.top + Number.parseInt(toast.paddingTop, 10);\n\t\tconst bottom = top + Number.parseInt(close.height, 10);\n\t\tconst right = rect.right - Number.parseInt(toast.paddingRight, 10);\n\t\tconst left = right - Number.parseInt(close.width, 10);\n\t\tconst isClose = top <= y && y <= bottom && left <= x && x <= right;\n\n\t\tif (isClose) target.close(); // Click is on ::after element\n\t}\n}\n\nonLoaded(() => [\n\ton(document, \"animationstart\", handleToastState),\n\ton(document, \"click\", handleToastClick as EventListener),\n]);\n"],"names":[],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"toast-observer.js","sources":["../../designsystem/toast/toast-observer.ts"],"sourcesContent":["import styles from \"../styles.module.css\";\nimport { attr, on, onLoaded } from \"../utils\";\n\nconst CSS_TOAST = styles.toast.split(\" \")[0];\nconst ATTR_SORT = \"data-sort\";\n\nfunction handleToastState({ animationName, target }: Partial<AnimationEvent>) {\n\tconst dialog = target as HTMLDialogElement;\n\tif (animationName === styles._toastTimeout) dialog.close();\n\tif (animationName !== styles._toastOpen) return;\n\n\tconst ms = Number(attr(dialog, \"data-timeout\"));\n\tdialog.style.setProperty(\"--mtdsc-toast-timeout\", ms ? `${ms}ms` : null);\n\tdialog.hasAttribute(ATTR_SORT) || attr(dialog, ATTR_SORT, `${Date.now()}`);\n\tattr(dialog, \"tabindex\", \"0\"); // Make focusable\n\n\t// Setup layout\n\t[...document.querySelectorAll<HTMLDialogElement>(`.${CSS_TOAST}[open]`)]\n\t\t.sort((a, b) => Number(attr(b, ATTR_SORT)) - Number(attr(a, ATTR_SORT)))\n\t\t.reduce((top, toast) => {\n\t\t\ttoast.style.translate = `0 ${toast === target ? 0 : top}px`;\n\t\t\treturn top + toast.offsetHeight + 5;\n\t\t}, 0);\n}\n\nfunction handleToastClick({ target, clientX: x, clientY: y }: MouseEvent) {\n\tif (\n\t\ttarget instanceof HTMLDialogElement &&\n\t\ttarget.classList.contains(CSS_TOAST) &&\n\t\tattr(target, \"data-closedby\") !== \"none\"\n\t) {\n\t\tconst rect = target.getBoundingClientRect();\n\t\tconst toast = window.getComputedStyle(target);\n\t\tconst close = window.getComputedStyle(target, \"::after\");\n\t\tconst top = rect.top + Number.parseInt(toast.paddingTop, 10);\n\t\tconst bottom = top + Number.parseInt(close.height, 10);\n\t\tconst right = rect.right - Number.parseInt(toast.paddingRight, 10);\n\t\tconst left = right - Number.parseInt(close.width, 10);\n\t\tconst isClose = top <= y && y <= bottom && left <= x && x <= right;\n\n\t\tif (isClose) target.close(); // Click is on ::after element\n\t}\n}\n\nonLoaded(() => [\n\ton(document, \"animationstart\", handleToastState),\n\ton(document, \"click\", handleToastClick as EventListener),\n]);\n"],"names":["CSS_TOAST","styles","ATTR_SORT","handleToastState","animationName","target","dialog","ms","attr","a","b","top","toast","handleToastClick","x","y","rect","close","bottom","right","left","onLoaded","on"],"mappings":";;AAGA,MAAMA,IAAYC,EAAO,MAAM,MAAM,GAAG,EAAE,CAAC,GACrCC,IAAY;AAElB,SAASC,EAAiB,EAAE,eAAAC,GAAe,QAAAC,KAAmC;AAC7E,QAAMC,IAASD;AAEf,MADID,MAAkBH,EAAO,iBAAeK,EAAO,MAAA,GAC/CF,MAAkBH,EAAO,WAAY;AAEzC,QAAMM,IAAK,OAAOC,EAAKF,GAAQ,cAAc,CAAC;AAC9C,EAAAA,EAAO,MAAM,YAAY,yBAAyBC,IAAK,GAAGA,CAAE,OAAO,IAAI,GACvED,EAAO,aAAaJ,CAAS,KAAKM,EAAKF,GAAQJ,GAAW,GAAG,KAAK,IAAA,CAAK,EAAE,GACzEM,EAAKF,GAAQ,YAAY,GAAG,GAG5B,CAAC,GAAG,SAAS,iBAAoC,IAAIN,CAAS,QAAQ,CAAC,EACrE,KAAK,CAACS,GAAGC,MAAM,OAAOF,EAAKE,GAAGR,CAAS,CAAC,IAAI,OAAOM,EAAKC,GAAGP,CAAS,CAAC,CAAC,EACtE,OAAO,CAACS,GAAKC,OACbA,EAAM,MAAM,YAAY,KAAKA,MAAUP,IAAS,IAAIM,CAAG,MAChDA,IAAMC,EAAM,eAAe,IAChC,CAAC;AACN;AAEA,SAASC,EAAiB,EAAE,QAAAR,GAAQ,SAASS,GAAG,SAASC,KAAiB;AACzE,MACCV,aAAkB,qBAClBA,EAAO,UAAU,SAASL,CAAS,KACnCQ,EAAKH,GAAQ,eAAe,MAAM,QACjC;AACD,UAAMW,IAAOX,EAAO,sBAAA,GACdO,IAAQ,OAAO,iBAAiBP,CAAM,GACtCY,IAAQ,OAAO,iBAAiBZ,GAAQ,SAAS,GACjDM,IAAMK,EAAK,MAAM,OAAO,SAASJ,EAAM,YAAY,EAAE,GACrDM,IAASP,IAAM,OAAO,SAASM,EAAM,QAAQ,EAAE,GAC/CE,IAAQH,EAAK,QAAQ,OAAO,SAASJ,EAAM,cAAc,EAAE,GAC3DQ,IAAOD,IAAQ,OAAO,SAASF,EAAM,OAAO,EAAE;AAGpD,IAFgBN,KAAOI,KAAKA,KAAKG,KAAUE,KAAQN,KAAKA,KAAKK,OAEzC,MAAA;AAAA,EACrB;AACD;AAEAE,EAAS,MAAM;AAAA,EACdC,EAAG,UAAU,kBAAkBnB,CAAgB;AAAA,EAC/CmB,EAAG,UAAU,SAAST,CAAiC;AACxD,CAAC;"}
|
package/mtds/toast/toast.js
CHANGED
|
@@ -1,62 +1,54 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import
|
|
4
|
-
import { createRoot } from "react-dom/client";
|
|
5
|
-
import
|
|
6
|
-
import { isBrowser, tag } from "../utils.js";
|
|
7
|
-
if (
|
|
8
|
-
const
|
|
9
|
-
const toasts = /* @__PURE__ */ new Map();
|
|
10
|
-
const render = () => root.render(Array.from(toasts.values() || []));
|
|
2
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
3
|
+
import u from "clsx";
|
|
4
|
+
import { createRoot as w } from "react-dom/client";
|
|
5
|
+
import i from "../styles.module.css.js";
|
|
6
|
+
import { isBrowser as f, tag as y } from "../utils.js";
|
|
7
|
+
if (f() && !window._mtdsReactToasts) {
|
|
8
|
+
const s = w(document.body.appendChild(y("div"))), o = /* @__PURE__ */ new Map(), e = () => s.render(Array.from(o.values() || []));
|
|
11
9
|
window._mtdsReactToasts = {
|
|
12
|
-
set: (
|
|
13
|
-
delete: ({ animationName, currentTarget }) => {
|
|
14
|
-
|
|
15
|
-
toasts.delete(currentTarget.id);
|
|
16
|
-
render();
|
|
10
|
+
set: (r, a) => o.set(r, a) && e(),
|
|
11
|
+
delete: ({ animationName: r, currentTarget: a }) => {
|
|
12
|
+
r === i._toastClose && (o.delete(a.id), e());
|
|
17
13
|
}
|
|
18
14
|
};
|
|
19
15
|
}
|
|
20
|
-
function
|
|
21
|
-
const
|
|
22
|
-
window._mtdsReactToasts?.set(
|
|
23
|
-
|
|
24
|
-
/* @__PURE__ */
|
|
16
|
+
function t(s, o = {}) {
|
|
17
|
+
const e = o.id || `${Date.now()}`;
|
|
18
|
+
return window._mtdsReactToasts?.set(
|
|
19
|
+
e,
|
|
20
|
+
/* @__PURE__ */ m(
|
|
25
21
|
"dialog",
|
|
26
22
|
{
|
|
27
|
-
"aria-busy":
|
|
28
|
-
className:
|
|
29
|
-
"data-closedby":
|
|
30
|
-
"data-color":
|
|
31
|
-
"data-timeout":
|
|
32
|
-
id,
|
|
23
|
+
"aria-busy": o.busy,
|
|
24
|
+
className: u(i.toast, o.className),
|
|
25
|
+
"data-closedby": o.closedby,
|
|
26
|
+
"data-color": o.color,
|
|
27
|
+
"data-timeout": o.timeout,
|
|
28
|
+
id: e,
|
|
33
29
|
onAnimationEnd: window._mtdsReactToasts.delete,
|
|
34
|
-
open:
|
|
35
|
-
children:
|
|
30
|
+
open: o.open ?? !0,
|
|
31
|
+
children: s
|
|
36
32
|
},
|
|
37
|
-
|
|
33
|
+
e
|
|
38
34
|
)
|
|
39
|
-
);
|
|
40
|
-
return id;
|
|
35
|
+
), e;
|
|
41
36
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const { loading, success, error, ...
|
|
49
|
-
const id = toast(loading, { busy: true, ...opt });
|
|
37
|
+
t.success = (s, o) => t(s, { color: "success", ...o });
|
|
38
|
+
t.danger = (s, o) => t(s, { color: "danger", ...o });
|
|
39
|
+
t.info = (s, o) => t(s, { color: "info", ...o });
|
|
40
|
+
t.warning = (s, o) => t(s, { color: "warning", ...o });
|
|
41
|
+
t.neutral = (s, o) => t(s, { color: "neutral", ...o });
|
|
42
|
+
t.promise = async function(o, e) {
|
|
43
|
+
const { loading: r, success: a, error: d, ...l } = e, c = t(r, { busy: !0, ...l });
|
|
50
44
|
try {
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
toast.danger(error, { id, busy: false });
|
|
56
|
-
throw _error;
|
|
45
|
+
const n = await o();
|
|
46
|
+
return t.success(a, { id: c, busy: !1 }), n;
|
|
47
|
+
} catch (n) {
|
|
48
|
+
throw t.danger(d, { id: c, busy: !1 }), n;
|
|
57
49
|
}
|
|
58
50
|
};
|
|
59
51
|
export {
|
|
60
|
-
toast
|
|
52
|
+
t as toast
|
|
61
53
|
};
|
|
62
54
|
//# sourceMappingURL=toast.js.map
|
package/mtds/toast/toast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.js","sources":["../../designsystem/toast/toast.tsx"],"sourcesContent":["\"use client\";\nimport clsx from \"clsx\";\nimport { createRoot } from \"react-dom/client\";\nimport styles from \"../styles.module.css\";\nimport { isBrowser, tag } from \"../utils\";\nimport type { ToastOptions } from \"./toast-helper\";\n\ndeclare global {\n\tinterface Window {\n\t\t_mtdsReactToasts?: {\n\t\t\tset: (id: string, jsx: React.ReactNode) => void;\n\t\t\tdelete: (event: React.AnimationEvent<HTMLDialogElement>) => void;\n\t\t};\n\t}\n}\n\n// Ensure only a single toast master is created\nif (isBrowser() && !window._mtdsReactToasts) {\n\tconst root = createRoot(document.body.appendChild(tag(\"div\")));\n\tconst toasts = new Map<string, React.ReactNode>();\n\tconst render = () => root.render(Array.from(toasts.values() || []));\n\n\t// Expose methods to add/remove toasts from the root container\n\twindow._mtdsReactToasts = {\n\t\tset: (id, jsx) => toasts.set(id, jsx) && render(),\n\t\tdelete: ({ animationName, currentTarget }) => {\n\t\t\tif (animationName !== styles._toastClose) return;\n\t\t\ttoasts.delete(currentTarget.id);\n\t\t\trender();\n\t\t},\n\t};\n}\n\nexport function toast(content: React.ReactNode, opt: ToastOptions = {}) {\n\tconst id = opt.id || `${Date.now()}`;\n\twindow._mtdsReactToasts?.set(\n\t\tid,\n\t\t<dialog\n\t\t\taria-busy={opt.busy}\n\t\t\tclassName={clsx(styles.toast, opt.className)}\n\t\t\tdata-closedby={opt.closedby}\n\t\t\tdata-color={opt.color}\n\t\t\tdata-timeout={opt.timeout}\n\t\t\tid={id}\n\t\t\tkey={id}\n\t\t\tonAnimationEnd={window._mtdsReactToasts.delete}\n\t\t\topen={opt.open ?? true}\n\t\t>\n\t\t\t{content}\n\t\t</dialog>,\n\t);\n\n\treturn id;\n}\n\n// Expose toast.danger, toast.info, toast.success etc.\ntoast.success = (content: React.ReactNode, opt?: ToastOptions) =>\n\ttoast(content, { color: \"success\", ...opt });\ntoast.danger = (content: React.ReactNode, opt?: ToastOptions) =>\n\ttoast(content, { color: \"danger\", ...opt });\ntoast.info = (content: React.ReactNode, opt?: ToastOptions) =>\n\ttoast(content, { color: \"info\", ...opt });\ntoast.warning = (content: React.ReactNode, opt?: ToastOptions) =>\n\ttoast(content, { color: \"warning\", ...opt });\ntoast.neutral = (content: React.ReactNode, opt?: ToastOptions) =>\n\ttoast(content, { color: \"neutral\", ...opt });\ntoast.promise = async function promise<T>(\n\taction: () => Promise<T>,\n\tprops: ToastOptions & {\n\t\tloading: React.ReactNode;\n\t\tsuccess: React.ReactNode;\n\t\terror: React.ReactNode;\n\t},\n): Promise<T> {\n\tconst { loading, success, error, ...opt } = props;\n\tconst id = toast(loading, { busy: true, ...opt });\n\ttry {\n\t\tconst result = await action();\n\t\ttoast.success(success, { id, busy: false });\n\t\treturn result;\n\t} catch (_error) {\n\t\ttoast.danger(error, { id, busy: false });\n\t\tthrow _error;\n\t}\n};\n"],"names":["jsx"],"mappings":";;;;;AAiBA,
|
|
1
|
+
{"version":3,"file":"toast.js","sources":["../../designsystem/toast/toast.tsx"],"sourcesContent":["\"use client\";\nimport clsx from \"clsx\";\nimport { createRoot } from \"react-dom/client\";\nimport styles from \"../styles.module.css\";\nimport { isBrowser, tag } from \"../utils\";\nimport type { ToastOptions } from \"./toast-helper\";\n\ndeclare global {\n\tinterface Window {\n\t\t_mtdsReactToasts?: {\n\t\t\tset: (id: string, jsx: React.ReactNode) => void;\n\t\t\tdelete: (event: React.AnimationEvent<HTMLDialogElement>) => void;\n\t\t};\n\t}\n}\n\n// Ensure only a single toast master is created\nif (isBrowser() && !window._mtdsReactToasts) {\n\tconst root = createRoot(document.body.appendChild(tag(\"div\")));\n\tconst toasts = new Map<string, React.ReactNode>();\n\tconst render = () => root.render(Array.from(toasts.values() || []));\n\n\t// Expose methods to add/remove toasts from the root container\n\twindow._mtdsReactToasts = {\n\t\tset: (id, jsx) => toasts.set(id, jsx) && render(),\n\t\tdelete: ({ animationName, currentTarget }) => {\n\t\t\tif (animationName !== styles._toastClose) return;\n\t\t\ttoasts.delete(currentTarget.id);\n\t\t\trender();\n\t\t},\n\t};\n}\n\nexport function toast(content: React.ReactNode, opt: ToastOptions = {}) {\n\tconst id = opt.id || `${Date.now()}`;\n\twindow._mtdsReactToasts?.set(\n\t\tid,\n\t\t<dialog\n\t\t\taria-busy={opt.busy}\n\t\t\tclassName={clsx(styles.toast, opt.className)}\n\t\t\tdata-closedby={opt.closedby}\n\t\t\tdata-color={opt.color}\n\t\t\tdata-timeout={opt.timeout}\n\t\t\tid={id}\n\t\t\tkey={id}\n\t\t\tonAnimationEnd={window._mtdsReactToasts.delete}\n\t\t\topen={opt.open ?? true}\n\t\t>\n\t\t\t{content}\n\t\t</dialog>,\n\t);\n\n\treturn id;\n}\n\n// Expose toast.danger, toast.info, toast.success etc.\ntoast.success = (content: React.ReactNode, opt?: ToastOptions) =>\n\ttoast(content, { color: \"success\", ...opt });\ntoast.danger = (content: React.ReactNode, opt?: ToastOptions) =>\n\ttoast(content, { color: \"danger\", ...opt });\ntoast.info = (content: React.ReactNode, opt?: ToastOptions) =>\n\ttoast(content, { color: \"info\", ...opt });\ntoast.warning = (content: React.ReactNode, opt?: ToastOptions) =>\n\ttoast(content, { color: \"warning\", ...opt });\ntoast.neutral = (content: React.ReactNode, opt?: ToastOptions) =>\n\ttoast(content, { color: \"neutral\", ...opt });\ntoast.promise = async function promise<T>(\n\taction: () => Promise<T>,\n\tprops: ToastOptions & {\n\t\tloading: React.ReactNode;\n\t\tsuccess: React.ReactNode;\n\t\terror: React.ReactNode;\n\t},\n): Promise<T> {\n\tconst { loading, success, error, ...opt } = props;\n\tconst id = toast(loading, { busy: true, ...opt });\n\ttry {\n\t\tconst result = await action();\n\t\ttoast.success(success, { id, busy: false });\n\t\treturn result;\n\t} catch (_error) {\n\t\ttoast.danger(error, { id, busy: false });\n\t\tthrow _error;\n\t}\n};\n"],"names":["isBrowser","root","createRoot","tag","toasts","render","id","jsx","animationName","currentTarget","styles","toast","content","opt","clsx","action","props","loading","success","error","result","_error"],"mappings":";;;;;AAiBA,IAAIA,EAAA,KAAe,CAAC,OAAO,kBAAkB;AAC5C,QAAMC,IAAOC,EAAW,SAAS,KAAK,YAAYC,EAAI,KAAK,CAAC,CAAC,GACvDC,wBAAa,IAAA,GACbC,IAAS,MAAMJ,EAAK,OAAO,MAAM,KAAKG,EAAO,YAAY,CAAA,CAAE,CAAC;AAGlE,SAAO,mBAAmB;AAAA,IACzB,KAAK,CAACE,GAAIC,MAAQH,EAAO,IAAIE,GAAIC,CAAG,KAAKF,EAAA;AAAA,IACzC,QAAQ,CAAC,EAAE,eAAAG,GAAe,eAAAC,QAAoB;AAC7C,MAAID,MAAkBE,EAAO,gBAC7BN,EAAO,OAAOK,EAAc,EAAE,GAC9BJ,EAAA;AAAA,IACD;AAAA,EAAA;AAEF;AAEO,SAASM,EAAMC,GAA0BC,IAAoB,IAAI;AACvE,QAAMP,IAAKO,EAAI,MAAM,GAAG,KAAK,KAAK;AAClC,gBAAO,kBAAkB;AAAA,IACxBP;AAAA,IACA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,aAAWM,EAAI;AAAA,QACf,WAAWC,EAAKJ,EAAO,OAAOG,EAAI,SAAS;AAAA,QAC3C,iBAAeA,EAAI;AAAA,QACnB,cAAYA,EAAI;AAAA,QAChB,gBAAcA,EAAI;AAAA,QAClB,IAAAP;AAAA,QAEA,gBAAgB,OAAO,iBAAiB;AAAA,QACxC,MAAMO,EAAI,QAAQ;AAAA,QAEjB,UAAAD;AAAA,MAAA;AAAA,MAJIN;AAAA,IAAA;AAAA,EAKN,GAGMA;AACR;AAGAK,EAAM,UAAU,CAACC,GAA0BC,MAC1CF,EAAMC,GAAS,EAAE,OAAO,WAAW,GAAGC,GAAK;AAC5CF,EAAM,SAAS,CAACC,GAA0BC,MACzCF,EAAMC,GAAS,EAAE,OAAO,UAAU,GAAGC,GAAK;AAC3CF,EAAM,OAAO,CAACC,GAA0BC,MACvCF,EAAMC,GAAS,EAAE,OAAO,QAAQ,GAAGC,GAAK;AACzCF,EAAM,UAAU,CAACC,GAA0BC,MAC1CF,EAAMC,GAAS,EAAE,OAAO,WAAW,GAAGC,GAAK;AAC5CF,EAAM,UAAU,CAACC,GAA0BC,MAC1CF,EAAMC,GAAS,EAAE,OAAO,WAAW,GAAGC,GAAK;AAC5CF,EAAM,UAAU,eACfI,GACAC,GAKa;AACb,QAAM,EAAE,SAAAC,GAAS,SAAAC,GAAS,OAAAC,GAAO,GAAGN,MAAQG,GACtCV,IAAKK,EAAMM,GAAS,EAAE,MAAM,IAAM,GAAGJ,GAAK;AAChD,MAAI;AACH,UAAMO,IAAS,MAAML,EAAA;AACrB,WAAAJ,EAAM,QAAQO,GAAS,EAAE,IAAAZ,GAAI,MAAM,IAAO,GACnCc;AAAA,EACR,SAASC,GAAQ;AAChB,UAAAV,EAAM,OAAOQ,GAAO,EAAE,IAAAb,GAAI,MAAM,IAAO,GACjCe;AAAA,EACP;AACD;"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { onLoaded, on } from "../utils.js";
|
|
3
|
-
const
|
|
4
|
-
function
|
|
5
|
-
const { key, target:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
event.preventDefault();
|
|
11
|
-
const inputs = group.getElementsByTagName("input");
|
|
12
|
-
const index = [...inputs].indexOf(el);
|
|
13
|
-
const move = key.match(/Arrow(Right|Down)/) ? 1 : -1;
|
|
14
|
-
inputs[(inputs.length + index + move) % inputs.length]?.focus();
|
|
1
|
+
import c from "../styles.module.css.js";
|
|
2
|
+
import { onLoaded as g, on as l } from "../utils.js";
|
|
3
|
+
const u = `.${c.togglegroup.split(" ")[0]}`;
|
|
4
|
+
function f(e) {
|
|
5
|
+
const { key: n, target: t } = e, r = t instanceof HTMLInputElement && t.closest(u);
|
|
6
|
+
if (r && (n === "Enter" && t.click(), n?.startsWith("Arrow"))) {
|
|
7
|
+
e.preventDefault();
|
|
8
|
+
const o = r.getElementsByTagName("input"), s = [...o].indexOf(t), i = n.match(/Arrow(Right|Down)/) ? 1 : -1;
|
|
9
|
+
o[(o.length + s + i) % o.length]?.focus();
|
|
15
10
|
}
|
|
16
11
|
}
|
|
17
|
-
|
|
12
|
+
g(() => [l(document, "keydown", f)]);
|
|
18
13
|
//# sourceMappingURL=togglegroup-observer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"togglegroup-observer.js","sources":["../../designsystem/togglegroup/togglegroup-observer.ts"],"sourcesContent":["import styles from \"../styles.module.css\";\nimport { on, onLoaded } from \"../utils\";\n\nconst CSS_TOGGLEGROUP = `.${styles.togglegroup.split(\" \")[0]}`;\n\n// Prevent browsers from showing default validation bubbles\nfunction handleTogglegroupKeydown(event: Event & Partial<KeyboardEvent>) {\n\tconst { key, target: el } = event;\n\tconst group = el instanceof HTMLInputElement && el.closest(CSS_TOGGLEGROUP);\n\n\tif (!group) return;\n\tif (key === \"Enter\") el.click();\n\tif (key?.startsWith(\"Arrow\")) {\n\t\tevent.preventDefault();\n\t\tconst inputs = group.getElementsByTagName(\"input\");\n\t\tconst index = [...inputs].indexOf(el);\n\t\tconst move = key.match(/Arrow(Right|Down)/) ? 1 : -1;\n\t\tinputs[(inputs.length + index + move) % inputs.length]?.focus();\n\t}\n}\n\nonLoaded(() => [on(document, \"keydown\", handleTogglegroupKeydown)]);\n"],"names":[],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"togglegroup-observer.js","sources":["../../designsystem/togglegroup/togglegroup-observer.ts"],"sourcesContent":["import styles from \"../styles.module.css\";\nimport { on, onLoaded } from \"../utils\";\n\nconst CSS_TOGGLEGROUP = `.${styles.togglegroup.split(\" \")[0]}`;\n\n// Prevent browsers from showing default validation bubbles\nfunction handleTogglegroupKeydown(event: Event & Partial<KeyboardEvent>) {\n\tconst { key, target: el } = event;\n\tconst group = el instanceof HTMLInputElement && el.closest(CSS_TOGGLEGROUP);\n\n\tif (!group) return;\n\tif (key === \"Enter\") el.click();\n\tif (key?.startsWith(\"Arrow\")) {\n\t\tevent.preventDefault();\n\t\tconst inputs = group.getElementsByTagName(\"input\");\n\t\tconst index = [...inputs].indexOf(el);\n\t\tconst move = key.match(/Arrow(Right|Down)/) ? 1 : -1;\n\t\tinputs[(inputs.length + index + move) % inputs.length]?.focus();\n\t}\n}\n\nonLoaded(() => [on(document, \"keydown\", handleTogglegroupKeydown)]);\n"],"names":["CSS_TOGGLEGROUP","styles","handleTogglegroupKeydown","event","key","el","group","inputs","index","move","onLoaded","on"],"mappings":";;AAGA,MAAMA,IAAkB,IAAIC,EAAO,YAAY,MAAM,GAAG,EAAE,CAAC,CAAC;AAG5D,SAASC,EAAyBC,GAAuC;AACxE,QAAM,EAAE,KAAAC,GAAK,QAAQC,EAAA,IAAOF,GACtBG,IAAQD,aAAc,oBAAoBA,EAAG,QAAQL,CAAe;AAE1E,MAAKM,MACDF,MAAQ,WAASC,EAAG,MAAA,GACpBD,GAAK,WAAW,OAAO,IAAG;AAC7B,IAAAD,EAAM,eAAA;AACN,UAAMI,IAASD,EAAM,qBAAqB,OAAO,GAC3CE,IAAQ,CAAC,GAAGD,CAAM,EAAE,QAAQF,CAAE,GAC9BI,IAAOL,EAAI,MAAM,mBAAmB,IAAI,IAAI;AAClD,IAAAG,GAAQA,EAAO,SAASC,IAAQC,KAAQF,EAAO,MAAM,GAAG,MAAA;AAAA,EACzD;AACD;AAEAG,EAAS,MAAM,CAACC,EAAG,UAAU,WAAWT,CAAwB,CAAC,CAAC;"}
|
|
@@ -1,36 +1,39 @@
|
|
|
1
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import { forwardRef } from "react";
|
|
4
|
-
import
|
|
5
|
-
const
|
|
6
|
-
function
|
|
7
|
-
return /* @__PURE__ */
|
|
1
|
+
import { jsx as t, jsxs as u } from "react/jsx-runtime";
|
|
2
|
+
import c from "clsx";
|
|
3
|
+
import { forwardRef as g } from "react";
|
|
4
|
+
import f from "../styles.module.css.js";
|
|
5
|
+
const a = g(
|
|
6
|
+
function({ className: o, ...r }, e) {
|
|
7
|
+
return /* @__PURE__ */ t(
|
|
8
8
|
"fieldset",
|
|
9
9
|
{
|
|
10
|
-
className:
|
|
11
|
-
ref,
|
|
12
|
-
...
|
|
10
|
+
className: c(f.togglegroup, o),
|
|
11
|
+
ref: e,
|
|
12
|
+
...r
|
|
13
13
|
}
|
|
14
14
|
);
|
|
15
15
|
}
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
/* @__PURE__ */ jsx(
|
|
16
|
+
), T = g(
|
|
17
|
+
function({ children: o, checked: r, defaultChecked: e, value: s, name: l, onChange: m, ...n }, i) {
|
|
18
|
+
return /* @__PURE__ */ u("label", { ref: i, ...n, children: [
|
|
19
|
+
/* @__PURE__ */ t(
|
|
21
20
|
"input",
|
|
22
21
|
{
|
|
23
|
-
|
|
22
|
+
type: "radio",
|
|
23
|
+
checked: r,
|
|
24
|
+
defaultChecked: e,
|
|
25
|
+
value: s,
|
|
26
|
+
name: l,
|
|
27
|
+
onChange: m
|
|
24
28
|
}
|
|
25
29
|
),
|
|
26
|
-
|
|
30
|
+
o
|
|
27
31
|
] });
|
|
28
32
|
}
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
Item: TogglegroupItem
|
|
33
|
+
), b = Object.assign(a, {
|
|
34
|
+
Item: T
|
|
32
35
|
});
|
|
33
36
|
export {
|
|
34
|
-
Togglegroup
|
|
37
|
+
b as Togglegroup
|
|
35
38
|
};
|
|
36
39
|
//# sourceMappingURL=togglegroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"togglegroup.js","sources":["../../designsystem/togglegroup/togglegroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { forwardRef } from \"react\";\nimport type { InputProps } from \"../react\";\nimport styles from \"../styles.module.css\";\n\nexport type TogglegroupProps = React.ComponentPropsWithoutRef<\"fieldset\">;\nexport type TogglegroupItemProps = Omit<\n\tReact.ComponentPropsWithoutRef<\"label\">,\n\t\"onChange\"\n> &\n\tPick<InputProps, \"defaultChecked\" | \"checked\" | \"onChange\" | \"value\"> &\n\tRequired<Pick<InputProps, \"name\">>; // Make name required\n\nconst TogglegroupComp = forwardRef<HTMLFieldSetElement, TogglegroupProps>(\n\tfunction Togglegroup({ className, ...rest }, ref) {\n\t\treturn (\n\t\t\t<fieldset\n\t\t\t\tclassName={clsx(styles.togglegroup, className)}\n\t\t\t\tref={ref}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t);\n\t},\n);\nconst TogglegroupItem = forwardRef<HTMLLabelElement, TogglegroupItemProps>(\n\tfunction TogglegroupItem(\n\t\t{ children, checked, defaultChecked, value, name, onChange, ...rest },\n\t\tref,\n\t) {\n\t\treturn (\n\t\t\t<label ref={ref} {...rest}>\n\t\t\t\t<input\n\t\t\t\t\t{...{ type: \"radio\", checked, defaultChecked, value, name, onChange }}\n\t\t\t\t/>\n\t\t\t\t{children}\n\t\t\t</label>\n\t\t);\n\t},\n);\n\nexport const Togglegroup = Object.assign(TogglegroupComp, {\n\tItem: TogglegroupItem,\n});\n"],"names":["
|
|
1
|
+
{"version":3,"file":"togglegroup.js","sources":["../../designsystem/togglegroup/togglegroup.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { forwardRef } from \"react\";\nimport type { InputProps } from \"../react\";\nimport styles from \"../styles.module.css\";\n\nexport type TogglegroupProps = React.ComponentPropsWithoutRef<\"fieldset\">;\nexport type TogglegroupItemProps = Omit<\n\tReact.ComponentPropsWithoutRef<\"label\">,\n\t\"onChange\"\n> &\n\tPick<InputProps, \"defaultChecked\" | \"checked\" | \"onChange\" | \"value\"> &\n\tRequired<Pick<InputProps, \"name\">>; // Make name required\n\nconst TogglegroupComp = forwardRef<HTMLFieldSetElement, TogglegroupProps>(\n\tfunction Togglegroup({ className, ...rest }, ref) {\n\t\treturn (\n\t\t\t<fieldset\n\t\t\t\tclassName={clsx(styles.togglegroup, className)}\n\t\t\t\tref={ref}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t);\n\t},\n);\nconst TogglegroupItem = forwardRef<HTMLLabelElement, TogglegroupItemProps>(\n\tfunction TogglegroupItem(\n\t\t{ children, checked, defaultChecked, value, name, onChange, ...rest },\n\t\tref,\n\t) {\n\t\treturn (\n\t\t\t<label ref={ref} {...rest}>\n\t\t\t\t<input\n\t\t\t\t\t{...{ type: \"radio\", checked, defaultChecked, value, name, onChange }}\n\t\t\t\t/>\n\t\t\t\t{children}\n\t\t\t</label>\n\t\t);\n\t},\n);\n\nexport const Togglegroup = Object.assign(TogglegroupComp, {\n\tItem: TogglegroupItem,\n});\n"],"names":["TogglegroupComp","forwardRef","className","rest","ref","jsx","clsx","styles","TogglegroupItem","children","checked","defaultChecked","value","name","onChange","jsxs","Togglegroup"],"mappings":";;;;AAaA,MAAMA,IAAkBC;AAAA,EACvB,SAAqB,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAAQC,GAAK;AACjD,WACC,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACA,WAAWC,EAAKC,EAAO,aAAaL,CAAS;AAAA,QAC7C,KAAAE;AAAA,QACC,GAAGD;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACD,GACMK,IAAkBP;AAAA,EACvB,SACC,EAAE,UAAAQ,GAAU,SAAAC,GAAS,gBAAAC,GAAgB,OAAAC,GAAO,MAAAC,GAAM,UAAAC,GAAU,GAAGX,EAAA,GAC/DC,GACC;AACD,WACC,gBAAAW,EAAC,SAAA,EAAM,KAAAX,GAAW,GAAGD,GACpB,UAAA;AAAA,MAAA,gBAAAE;AAAA,QAAC;AAAA,QAAA;AAAA,UACM,MAAM;AAAA,UAAS,SAAAK;AAAA,UAAS,gBAAAC;AAAA,UAAgB,OAAAC;AAAA,UAAO,MAAAC;AAAA,UAAM,UAAAC;AAAA,QAAS;AAAA,MAAA;AAAA,MAEpEL;AAAA,IAAA,GACF;AAAA,EAEF;AACD,GAEaO,IAAc,OAAO,OAAOhB,GAAiB;AAAA,EACzD,MAAMQ;AACP,CAAC;"}
|