@mattilsynet/design 1.0.9 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/mtds/avatar/avatar.stories.d.ts +1 -0
- package/mtds/breadcrumbs/breadcrumbs-observer.js +11 -10
- package/mtds/breadcrumbs/breadcrumbs-observer.js.map +1 -1
- package/mtds/chip/chip.stories.d.ts +1 -0
- package/mtds/details/details.js +6 -7
- package/mtds/details/details.js.map +1 -1
- package/mtds/dialog/dialog-observer.js +26 -16
- package/mtds/dialog/dialog-observer.js.map +1 -1
- package/mtds/errorsummary/errorsummary-observer.js +8 -8
- package/mtds/errorsummary/errorsummary-observer.js.map +1 -1
- package/mtds/external/@u-elements/u-datalist/dist/u-datalist.js +1 -1
- package/mtds/external/@u-elements/u-datalist/dist/u-datalist.js.map +1 -1
- package/mtds/external/@u-elements/u-progress/dist/u-progress.js +97 -0
- package/mtds/external/@u-elements/u-progress/dist/u-progress.js.map +1 -0
- package/mtds/field/field-observer.js +33 -28
- package/mtds/field/field-observer.js.map +1 -1
- package/mtds/field/field.d.ts +11 -4
- package/mtds/field/field.js +86 -52
- package/mtds/field/field.js.map +1 -1
- package/mtds/field/field.stories.d.ts +145 -0
- package/mtds/fieldset/fieldset-observer.js +13 -11
- package/mtds/fieldset/fieldset-observer.js.map +1 -1
- package/mtds/helptext/helptext.js.map +1 -1
- package/mtds/helptext/helptext.stories.d.ts +1 -0
- package/mtds/index.d.ts +2 -1
- package/mtds/index.iife.js +7 -3
- package/mtds/index.iife.js.map +1 -1
- package/mtds/index.js +4 -3
- package/mtds/index.js.map +1 -1
- package/mtds/layout/app-observer.js +35 -10
- package/mtds/layout/app-observer.js.map +1 -1
- package/mtds/layout/layout.d.ts +6 -0
- package/mtds/layout/layout.js +14 -11
- package/mtds/layout/layout.js.map +1 -1
- package/mtds/logo/logo-observer.js +17 -14
- package/mtds/logo/logo-observer.js.map +1 -1
- package/mtds/logo/logo.d.ts +1 -1
- package/mtds/logo/logo.js.map +1 -1
- package/mtds/pagination/pagination-helper.js +1 -1
- package/mtds/pagination/pagination-helper.js.map +1 -1
- package/mtds/popover/popover-observer.js +14 -13
- package/mtds/popover/popover-observer.js.map +1 -1
- package/mtds/progress/progress.d.ts +2 -0
- package/mtds/progress/progress.js +20 -0
- package/mtds/progress/progress.js.map +1 -0
- package/mtds/progress/progress.stories.d.ts +18 -0
- package/mtds/react-types.d.ts +1 -1
- package/mtds/react.d.ts +1 -0
- package/mtds/react.js +39 -36
- package/mtds/react.js.map +1 -1
- package/mtds/styles.css +1 -1
- package/mtds/styles.json +35 -34
- package/mtds/styles.module.css.js +73 -75
- package/mtds/styles.module.css.js.map +1 -1
- package/mtds/table/table-observer.js +20 -16
- package/mtds/table/table-observer.js.map +1 -1
- package/mtds/table/table.d.ts +2 -2
- package/mtds/table/table.js.map +1 -1
- package/mtds/table/table.stories.d.ts +1 -0
- package/mtds/tag/tag.d.ts +6 -2
- package/mtds/tag/tag.js +7 -6
- package/mtds/tag/tag.js.map +1 -1
- package/mtds/tailwind.css +20 -0
- package/mtds/tooltip/tooltip-observer.js +20 -18
- package/mtds/tooltip/tooltip-observer.js.map +1 -1
- package/mtds/tooltip/tooltip.stories.d.ts +1 -0
- package/mtds/utils.d.ts +9 -2
- package/mtds/utils.js +84 -56
- package/mtds/utils.js.map +1 -1
- package/package.json +21 -18
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
r
|
|
8
|
-
|
|
9
|
-
});
|
|
1
|
+
import a from "../styles.module.css.js";
|
|
2
|
+
import { onLoaded as c, onMutation as l, attr as u } from "../utils.js";
|
|
3
|
+
const m = a.breadcrumbs.split(" ")[0];
|
|
4
|
+
function i(o) {
|
|
5
|
+
for (const t of o)
|
|
6
|
+
t.querySelectorAll("li a").forEach((r, e, { length: n }) => {
|
|
7
|
+
u(r, "aria-current", e === n - 1 ? "page" : null);
|
|
8
|
+
});
|
|
10
9
|
}
|
|
11
|
-
|
|
10
|
+
c(
|
|
11
|
+
() => l(document.documentElement, m, i)
|
|
12
|
+
);
|
|
12
13
|
//# sourceMappingURL=breadcrumbs-observer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumbs-observer.js","sources":["../../designsystem/breadcrumbs/breadcrumbs-observer.ts"],"sourcesContent":["import styles from \"../styles.module.css\";\nimport {
|
|
1
|
+
{"version":3,"file":"breadcrumbs-observer.js","sources":["../../designsystem/breadcrumbs/breadcrumbs-observer.ts"],"sourcesContent":["import styles from \"../styles.module.css\";\nimport { attr, onLoaded, onMutation } from \"../utils\";\n\nconst CSS_BREADCRUMBS = styles.breadcrumbs.split(\" \")[0];\n\nfunction handleMutation(breadcrumbs: HTMLCollectionOf<HTMLElement>) {\n\tfor (const breadcumbs of breadcrumbs)\n\t\tbreadcumbs.querySelectorAll(\"li a\").forEach((crumb, index, { length }) => {\n\t\t\tattr(crumb, \"aria-current\", index === length - 1 ? \"page\" : null);\n\t\t});\n}\n\nonLoaded(() =>\n\tonMutation(document.documentElement, CSS_BREADCRUMBS, handleMutation),\n);\n"],"names":["CSS_BREADCRUMBS","styles","handleMutation","breadcrumbs","breadcumbs","crumb","index","length","attr","onLoaded","onMutation"],"mappings":";;AAGA,MAAMA,IAAkBC,EAAO,YAAY,MAAM,GAAG,EAAE,CAAC;AAEvD,SAASC,EAAeC,GAA4C;AACnE,aAAWC,KAAcD;AACb,IAAAC,EAAA,iBAAiB,MAAM,EAAE,QAAQ,CAACC,GAAOC,GAAO,EAAE,QAAAC,QAAa;AACzE,MAAAC,EAAKH,GAAO,gBAAgBC,MAAUC,IAAS,IAAI,SAAS,IAAI;AAAA,IAAA,CAChE;AACH;AAEAE;AAAA,EAAS,MACRC,EAAW,SAAS,iBAAiBV,GAAiBE,CAAc;AACrE;"}
|
|
@@ -8,6 +8,7 @@ declare const meta: {
|
|
|
8
8
|
export default meta;
|
|
9
9
|
type Story = StoryObj<typeof meta>;
|
|
10
10
|
export declare const React: Story;
|
|
11
|
+
export declare const Sizes: Story;
|
|
11
12
|
export declare const Radio: Story;
|
|
12
13
|
export declare const Checkbox: Story;
|
|
13
14
|
export declare const Removable: Story;
|
package/mtds/details/details.js
CHANGED
|
@@ -2,17 +2,16 @@ import { jsx as m } from "react/jsx-runtime";
|
|
|
2
2
|
import { clsx as i } from "../external/clsx/dist/clsx.js";
|
|
3
3
|
import { forwardRef as o } from "react";
|
|
4
4
|
import e from "../styles.module.css.js";
|
|
5
|
-
import "../external/@u-elements/u-details/dist/u-details.js";
|
|
6
5
|
const l = o(
|
|
7
|
-
function({ className:
|
|
8
|
-
return /* @__PURE__ */ m("u-details", { class: i(e.details,
|
|
6
|
+
function({ className: s, ...t }, r) {
|
|
7
|
+
return /* @__PURE__ */ m("u-details", { class: i(e.details, s), ref: r, ...t });
|
|
9
8
|
}
|
|
10
9
|
), n = o(
|
|
11
|
-
function({ className:
|
|
12
|
-
return /* @__PURE__ */ m("u-summary", { class:
|
|
10
|
+
function({ className: s, ...t }, r) {
|
|
11
|
+
return /* @__PURE__ */ m("u-summary", { class: s, ref: r, ...t });
|
|
13
12
|
}
|
|
14
|
-
),
|
|
13
|
+
), y = Object.assign(l, { Summary: n });
|
|
15
14
|
export {
|
|
16
|
-
|
|
15
|
+
y as Details
|
|
17
16
|
};
|
|
18
17
|
//# sourceMappingURL=details.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"details.js","sources":["../../designsystem/details/details.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { forwardRef } from \"react\";\nimport styles from \"../styles.module.css\";\
|
|
1
|
+
{"version":3,"file":"details.js","sources":["../../designsystem/details/details.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport { forwardRef } from \"react\";\nimport styles from \"../styles.module.css\";\n\nexport type DetailsProps = React.ComponentPropsWithoutRef<\"details\">;\nconst DetailsComp = forwardRef<HTMLDetailsElement, DetailsProps>(\n\tfunction Details({ className, ...rest }, ref) {\n\t\treturn (\n\t\t\t<u-details class={clsx(styles.details, className)} ref={ref} {...rest} />\n\t\t);\n\t},\n);\n\nexport type SummaryProps = React.ComponentPropsWithoutRef<\"summary\">;\nconst DetailsSummary = forwardRef<HTMLElement, SummaryProps>(\n\tfunction DetailsSummary({ className, ...rest }, ref) {\n\t\treturn <u-summary class={className} ref={ref} {...rest} />;\n\t},\n);\n\nexport const Details = Object.assign(DetailsComp, { Summary: DetailsSummary });\n"],"names":["DetailsComp","forwardRef","className","rest","ref","jsx","clsx","styles","DetailsSummary","Details"],"mappings":";;;;AAKA,MAAMA,IAAcC;AAAA,EACnB,SAAiB,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAAQC,GAAK;AAE5C,WAAA,gBAAAC,EAAC,aAAU,EAAA,OAAOC,EAAKC,EAAO,SAASL,CAAS,GAAG,KAAAE,GAAW,GAAGD,EAAM,CAAA;AAAA,EAAA;AAG1E,GAGMK,IAAiBP;AAAA,EACtB,SAAwB,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAAQC,GAAK;AACpD,6BAAQ,aAAU,EAAA,OAAOF,GAAW,KAAAE,GAAW,GAAGD,GAAM;AAAA,EAAA;AAE1D,GAEaM,IAAU,OAAO,OAAOT,GAAa,EAAE,SAASQ,EAAgB,CAAA;"}
|
|
@@ -1,21 +1,31 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { IS_BROWSER as
|
|
3
|
-
const
|
|
1
|
+
import r from "../styles.module.css.js";
|
|
2
|
+
import { IS_BROWSER as m, onLoaded as u, on as E, QUICK_EVENT as e, createOptimizedMutationObserver as f, attr as g } from "../utils.js";
|
|
3
|
+
const p = r.dialog.split(" ")[0], b = m ? document.getElementsByClassName(
|
|
4
|
+
p
|
|
5
|
+
) : [], i = (t) => {
|
|
4
6
|
t.stopImmediatePropagation(), t.stopPropagation();
|
|
5
|
-
},
|
|
6
|
-
for (const t of
|
|
7
|
-
t.matches('[open]:not([data-modal="false"]):not(:modal)') && (t.addEventListener("close", i, e), t.close(), t.showModal(), window.requestAnimationFrame(
|
|
8
|
-
|
|
7
|
+
}, I = () => {
|
|
8
|
+
for (const t of b)
|
|
9
|
+
t.matches('[open]:not([data-modal="false"]):not(:modal)') && (t.addEventListener("close", i, e), t.close(), t.showModal(), window.requestAnimationFrame(
|
|
10
|
+
() => t.removeEventListener("close", i, e)
|
|
11
|
+
// Re-enable closing events
|
|
12
|
+
));
|
|
13
|
+
}, L = ({ clientX: t, clientY: n, target: o }) => {
|
|
9
14
|
var s;
|
|
10
|
-
if (o instanceof HTMLDialogElement &&
|
|
11
|
-
const { top:
|
|
12
|
-
|
|
15
|
+
if (o instanceof HTMLDialogElement && g(o, "data-closedby") === "any") {
|
|
16
|
+
const { top: a, right: c, bottom: d, left: l } = o.getBoundingClientRect();
|
|
17
|
+
a <= n && n <= d && l <= t && t <= c || o.close();
|
|
13
18
|
} else o instanceof Element && o.closest('button[data-command="close"]') && ((s = o == null ? void 0 : o.closest("dialog")) == null || s.close());
|
|
14
19
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
u(() => {
|
|
21
|
+
E(document, "click", L, e), f(I).observe(
|
|
22
|
+
document.documentElement,
|
|
23
|
+
{
|
|
24
|
+
attributeFilter: ["open"],
|
|
25
|
+
attributes: !0,
|
|
26
|
+
childList: !0,
|
|
27
|
+
subtree: !0
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
});
|
|
21
31
|
//# sourceMappingURL=dialog-observer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-observer.js","sources":["../../designsystem/dialog/dialog-observer.ts"],"sourcesContent":["import styles from \"../styles.module.css\";\nimport {
|
|
1
|
+
{"version":3,"file":"dialog-observer.js","sources":["../../designsystem/dialog/dialog-observer.ts"],"sourcesContent":["import styles from \"../styles.module.css\";\nimport {\n\tIS_BROWSER,\n\tQUICK_EVENT,\n\tattr,\n\tcreateOptimizedMutationObserver,\n\ton,\n\tonLoaded,\n} from \"../utils\";\n\nconst CSS_DIALOG = styles.dialog.split(\" \")[0];\nconst DIALOGS = IS_BROWSER\n\t? (document.getElementsByClassName(\n\t\t\tCSS_DIALOG,\n\t\t) as HTMLCollectionOf<HTMLDialogElement>)\n\t: [];\nconst PREVENT_EVENT = (event: Event) => {\n\tevent.stopImmediatePropagation();\n\tevent.stopPropagation();\n};\n\nconst handleModal = () => {\n\tfor (const dialog of DIALOGS)\n\t\tif (dialog.matches('[open]:not([data-modal=\"false\"]):not(:modal)')) {\n\t\t\tdialog.addEventListener(\"close\", PREVENT_EVENT, QUICK_EVENT); // Prevent closing events due to swapping to modal\n\t\t\tdialog.close();\n\t\t\tdialog.showModal();\n\t\t\twindow.requestAnimationFrame(\n\t\t\t\t() => dialog.removeEventListener(\"close\", PREVENT_EVENT, QUICK_EVENT), // Re-enable closing events\n\t\t\t);\n\t\t}\n};\n\nconst handleClick = ({ clientX: x, clientY: y, target: el }: MouseEvent) => {\n\tif (el instanceof HTMLDialogElement && attr(el, \"data-closedby\") === \"any\") {\n\t\tconst { top, right, bottom, left } = el.getBoundingClientRect();\n\t\tconst isInside = top <= y && y <= bottom && left <= x && x <= right;\n\n\t\tif (!isInside) el.close();\n\t} else if (\n\t\tel instanceof Element &&\n\t\tel.closest('button[data-command=\"close\"]')\n\t) {\n\t\tel?.closest(\"dialog\")?.close();\n\t}\n};\n\nonLoaded(() => {\n\ton(document, \"click\", handleClick as EventListener, QUICK_EVENT);\n\tcreateOptimizedMutationObserver(handleModal).observe(\n\t\tdocument.documentElement,\n\t\t{\n\t\t\tattributeFilter: [\"open\"],\n\t\t\tattributes: true,\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t},\n\t);\n});\n"],"names":["CSS_DIALOG","styles","DIALOGS","IS_BROWSER","PREVENT_EVENT","event","handleModal","dialog","QUICK_EVENT","handleClick","x","y","el","attr","top","right","bottom","left","_a","onLoaded","on","createOptimizedMutationObserver"],"mappings":";;AAUA,MAAMA,IAAaC,EAAO,OAAO,MAAM,GAAG,EAAE,CAAC,GACvCC,IAAUC,IACZ,SAAS;AAAA,EACVH;AACD,IACC,CAAC,GACEI,IAAgB,CAACC,MAAiB;AACvC,EAAAA,EAAM,yBAAyB,GAC/BA,EAAM,gBAAgB;AACvB,GAEMC,IAAc,MAAM;AACzB,aAAWC,KAAUL;AAChB,IAAAK,EAAO,QAAQ,8CAA8C,MACzDA,EAAA,iBAAiB,SAASH,GAAeI,CAAW,GAC3DD,EAAO,MAAM,GACbA,EAAO,UAAU,GACV,OAAA;AAAA,MACN,MAAMA,EAAO,oBAAoB,SAASH,GAAeI,CAAW;AAAA;AAAA,IACrE;AAEH,GAEMC,IAAc,CAAC,EAAE,SAASC,GAAG,SAASC,GAAG,QAAQC,QAAqB;;AAC3E,MAAIA,aAAc,qBAAqBC,EAAKD,GAAI,eAAe,MAAM,OAAO;AAC3E,UAAM,EAAE,KAAAE,GAAK,OAAAC,GAAO,QAAAC,GAAQ,MAAAC,EAAK,IAAIL,EAAG,sBAAsB;AAG1D,IAFaE,KAAOH,KAAKA,KAAKK,KAAUC,KAAQP,KAAKA,KAAKK,KAE/CH,EAAG,MAAM;AAAA,EAAA,OAExBA,aAAc,WACdA,EAAG,QAAQ,8BAA8B,OAErCM,IAAAN,KAAA,gBAAAA,EAAA,QAAQ,cAAR,QAAAM,EAAmB;AAEzB;AAEAC,EAAS,MAAM;AACX,EAAAC,EAAA,UAAU,SAASX,GAA8BD,CAAW,GAC/Da,EAAgCf,CAAW,EAAE;AAAA,IAC5C,SAAS;AAAA,IACT;AAAA,MACC,iBAAiB,CAAC,MAAM;AAAA,MACxB,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,SAAS;AAAA,IAAA;AAAA,EAEX;AACD,CAAC;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
function f(
|
|
4
|
-
var
|
|
5
|
-
if (
|
|
6
|
-
const
|
|
7
|
-
|
|
1
|
+
import i from "../styles.module.css.js";
|
|
2
|
+
import { onLoaded as o, on as r, QUICK_EVENT as a, attr as m } from "../utils.js";
|
|
3
|
+
function f(t) {
|
|
4
|
+
var e;
|
|
5
|
+
if (t.animationName !== i._errorsummary) return;
|
|
6
|
+
const n = (e = t.target) == null ? void 0 : e.firstElementChild;
|
|
7
|
+
n instanceof HTMLHeadingElement && (m(n, "tabindex", "-1"), n.focus());
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
o(() => r(document, "animationend", f, a));
|
|
10
10
|
//# sourceMappingURL=errorsummary-observer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorsummary-observer.js","sources":["../../designsystem/errorsummary/errorsummary-observer.ts"],"sourcesContent":["import styles from \"../styles.module.css\";\nimport {
|
|
1
|
+
{"version":3,"file":"errorsummary-observer.js","sources":["../../designsystem/errorsummary/errorsummary-observer.ts"],"sourcesContent":["import styles from \"../styles.module.css\";\nimport { QUICK_EVENT, attr, on, onLoaded } from \"../utils\";\n\nfunction handleInject(event: Event & { animationName?: string }) {\n\tif (event.animationName !== styles._errorsummary) return;\n\tconst first = (event.target as Element)?.firstElementChild;\n\n\tif (first instanceof HTMLHeadingElement) {\n\t\tattr(first, \"tabindex\", \"-1\");\n\t\tfirst.focus(); // Autofocus first heading\n\t}\n}\n\nonLoaded(() => on(document, \"animationend\", handleInject, QUICK_EVENT));\n"],"names":["handleInject","event","styles","first","_a","attr","onLoaded","on","QUICK_EVENT"],"mappings":";;AAGA,SAASA,EAAaC,GAA2C;;AAC5D,MAAAA,EAAM,kBAAkBC,EAAO,cAAe;AAC5C,QAAAC,KAASC,IAAAH,EAAM,WAAN,gBAAAG,EAA0B;AAEzC,EAAID,aAAiB,uBACfE,EAAAF,GAAO,YAAY,IAAI,GAC5BA,EAAM,MAAM;AAEd;AAEAG,EAAS,MAAMC,EAAG,UAAU,gBAAgBP,GAAcQ,CAAW,CAAC;"}
|
|
@@ -138,7 +138,7 @@ var T = !1, k, nt = 0, p, ot = D && !x, V = "click,focusout,input,keydown,moused
|
|
|
138
138
|
return ["id", ...O(P)];
|
|
139
139
|
}
|
|
140
140
|
connectedCallback() {
|
|
141
|
-
this.hidden = !0, this._root = U(this), p || (p = et("assertive")), p.isConnected || document.body.appendChild(p), o(this, "role", "listbox"), E(this._root, "focusin", this), E(this._root, "focus", this, !0), setTimeout(() => this.attributeChangedCallback());
|
|
141
|
+
this.hidden = !0, this._root = U(this), p || (p = et("assertive")), p.isConnected || document.body.appendChild(p), o(this, "role", "listbox"), o(this, "tabindex", "-1"), E(this._root, "focusin", this), E(this._root, "focus", this, !0), setTimeout(() => this.attributeChangedCallback());
|
|
142
142
|
}
|
|
143
143
|
disconnectedCallback() {
|
|
144
144
|
y(this._root || this, "focus", this, !0), y(this._root || this, "focusin", this), S(this), this._root = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"u-datalist.js","sources":["../../../../../node_modules/@u-elements/u-datalist/dist/u-datalist.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_ANDROID = IS_BROWSER && /android/i.test(navigator.userAgent);\nvar IS_FIREFOX = IS_BROWSER && /firefox/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar IS_SAFARI = IS_BROWSER && /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\nvar _a;\nIS_BROWSER && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474\n/^Mac/i.test(((_a = navigator.userAgentData) == null ? void 0 : _a.platform) || navigator.platform);\nvar SAFE_LABELLEDBY = `${IS_ANDROID ? \"data\" : \"aria\"}-labelledby`;\nvar SAFE_MULTISELECTABLE = `${IS_SAFARI ? \"aria\" : \"data\"}-multiselectable`;\nvar DISPLAY_BLOCK = \":host(:not([hidden])) { display: block }\";\nvar FOCUS_OUTLINE = \"outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color\";\nvar UHTMLElement = typeof HTMLElement === \"undefined\" ? class {\n} : HTMLElement;\nfunction attr(el, name, value) {\n var _a2;\n if (value === void 0) return (_a2 = el.getAttribute(name)) != null ? _a2 : null;\n if (value === null) el.removeAttribute(name);\n else if (el.getAttribute(name) !== value) el.setAttribute(name, value);\n return null;\n}\nvar events = (action, element, rest) => {\n for (const type of rest[0].split(\",\")) {\n rest[0] = type;\n Element.prototype[`${action}EventListener`].apply(element, rest);\n }\n};\nvar on = (element, ...rest) => events(\"add\", element, rest);\nvar off = (element, ...rest) => events(\"remove\", element, rest);\nvar attachStyle = (element, css) => element.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\"),\n // Unnamed slot does automatically render all top element nodes\n createElement(\"style\", css)\n);\nvar observers = /* @__PURE__ */ new WeakMap();\nvar mutationObserver = (element, options) => {\n if (options === void 0) return observers.get(element);\n try {\n observers.get(element).disconnect();\n observers.delete(element);\n } catch (err) {\n }\n if (options) {\n const observer = new MutationObserver(\n (detail) => element.handleEvent({ type: \"mutation\", detail })\n );\n observer.observe(element, options);\n observers.set(element, observer);\n }\n};\nvar getRoot = (node) => {\n var _a2;\n const root = ((_a2 = node.getRootNode) == null ? void 0 : _a2.call(node)) || node.ownerDocument;\n return root instanceof Document || root instanceof ShadowRoot ? root : document;\n};\nvar id = 0;\nvar useId = (el) => {\n if (!el) return \"\";\n if (!el.id) el.id = `:${el.nodeName.toLowerCase()}${(++id).toString(32)}`;\n return el.id;\n};\nvar createElement = (tagName, text, attrs) => {\n const el = document.createElement(tagName);\n if (text) el.textContent = text;\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\nvar createAriaLive = (mode) => {\n const live = createElement(\"div\");\n live.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(live, \"aria-live\", mode);\n return live;\n};\nfunction attributeTexts(texts, prop, value) {\n if (!prop) return Object.keys(texts).map((key2) => `data-sr-${key2}`);\n const key = (prop == null ? void 0 : prop.startsWith(\"data-sr-\")) && prop.slice(8);\n if (key && value && texts[key]) texts[key] = value;\n return [];\n}\n\n// u-option.ts\nvar DISABLED = \"disabled\";\nvar SELECTED = \"selected\";\nvar UHTMLOptionElement = class extends UHTMLElement {\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [DISABLED, SELECTED];\n }\n constructor() {\n super();\n attachStyle(\n this,\n `${DISPLAY_BLOCK}:host(:focus){${FOCUS_OUTLINE}}:host{ cursor: pointer }`\n );\n }\n connectedCallback() {\n if (!IS_IOS) this.tabIndex = -1;\n if (!attr(this, \"role\")) attr(this, \"role\", \"option\");\n this.attributeChangedCallback();\n }\n attributeChangedCallback() {\n attr(this, \"aria-disabled\", `${this.disabled}`);\n attr(this, \"aria-selected\", `${this.selected}`);\n }\n /** Sets or retrieves whether the option in the list box is the default item. */\n get defaultSelected() {\n return this[SELECTED];\n }\n set defaultSelected(value) {\n this[SELECTED] = value;\n }\n get disabled() {\n return attr(this, DISABLED) !== null;\n }\n set disabled(value) {\n attr(this, DISABLED, value ? \"\" : null);\n }\n /** Retrieves a reference to the form that the object is embedded in. */\n get form() {\n return this.closest(\"form\");\n }\n /** Sets or retrieves the ordinal position of an option in a list box. */\n get index() {\n var _a2;\n const options = (_a2 = this.closest(\"u-datalist\")) == null ? void 0 : _a2.getElementsByTagName(\"u-option\");\n return Array.from(options || [this]).indexOf(this);\n }\n /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */\n get label() {\n return attr(this, \"label\") || this.text;\n }\n set label(value) {\n attr(this, \"label\", value);\n }\n get selected() {\n return attr(this, SELECTED) !== null;\n }\n set selected(value) {\n attr(this, SELECTED, value ? \"\" : null);\n }\n /** Sets or retrieves the text string specified by the option tag. */\n get text() {\n var _a2;\n return ((_a2 = this.textContent) == null ? void 0 : _a2.trim()) || \"\";\n }\n set text(text) {\n this.textContent = text;\n }\n /** Sets or retrieves the value which is returned to the server when the form control is submitted. */\n get value() {\n return attr(this, \"value\") || this.text;\n }\n set value(value) {\n attr(this, \"value\", value);\n }\n};\ncustomElements.define(\"u-option\", UHTMLOptionElement);\n\n// u-datalist.ts\nvar IS_PRESS = false;\nvar LIVE_TIMER;\nvar LIVE_SR_FIX = 0;\nvar LIVE;\nvar IS_SAFARI_MAC = IS_SAFARI && !IS_IOS;\nvar EVENTS = \"click,focusout,input,keydown,mousedown,mouseup\";\nvar TEXTS = {\n singular: \"%d hit\",\n plural: \"%d hits\"\n};\nvar UHTMLDataListElement = class extends UHTMLElement {\n constructor() {\n super();\n // Using underscore instead of private fields for backwards compatibility\n // _announceCount = 0;\n // _announceTimer: ReturnType<typeof setTimeout> | number = 0;\n this._blurTimer = 0;\n this._input = null;\n this._root = null;\n this._value = \"\";\n // Store sanitized value to speed up option filtering\n this._texts = __spreadValues({}, TEXTS);\n attachStyle(\n this,\n `${DISPLAY_BLOCK}::slotted(u-option[disabled]) { display: none !important }`\n // Hide disabled options\n );\n }\n // Speed up translated texts\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [\"id\", ...attributeTexts(TEXTS)];\n }\n connectedCallback() {\n this.hidden = true;\n this._root = getRoot(this);\n if (!LIVE) LIVE = createAriaLive(\"assertive\");\n if (!LIVE.isConnected) document.body.appendChild(LIVE);\n attr(this, \"role\", \"listbox\");\n on(this._root, \"focusin\", this);\n on(this._root, \"focus\", this, true);\n setTimeout(() => this.attributeChangedCallback());\n }\n disconnectedCallback() {\n off(this._root || this, \"focus\", this, true);\n off(this._root || this, \"focusin\", this);\n disconnectInput(this);\n this._root = null;\n }\n attributeChangedCallback(prop, _prev, next) {\n var _a2;\n attributeTexts(this._texts, prop, next);\n const inputs = (_a2 = this._root) == null ? void 0 : _a2.querySelectorAll(`input[list=\"${this.id}\"]`);\n for (const input of inputs || []) setupInput(this, input);\n }\n handleEvent(event) {\n const { type } = event;\n if (event.defaultPrevented) return;\n if (type === \"click\") onClick(this, event);\n if (type === \"focus\" || type === \"focusin\") onFocusIn(this, event);\n if (type === \"focusout\") onFocusOut(this);\n if (type === \"keydown\") onKeyDown(this, event);\n if (type === \"mutation\" || type === \"input\") setupOptions(this, event);\n if (type === \"mouseup\") IS_PRESS = false;\n if (type === \"mousedown\") IS_PRESS = this.contains(event.target);\n }\n get options() {\n return this.getElementsByTagName(\"u-option\");\n }\n};\nvar onFocusIn = (self, { target }) => {\n var _a2;\n const isInput = self._input === target;\n const isInside = isInput || self.contains(target);\n if (isInside) return clearTimeout(self._blurTimer);\n if (!isInput && target instanceof HTMLInputElement && attr(target, \"list\") === self.id) {\n if (self._input) disconnectInput(self);\n self._input = target;\n attr(self, SAFE_LABELLEDBY, useId((_a2 = self._input.labels) == null ? void 0 : _a2[0]));\n on(self._root || self, EVENTS, self);\n mutationObserver(self, {\n attributeFilter: [\"value\"],\n // Listen for value changes to show u-options\n attributes: true,\n childList: true,\n subtree: true\n });\n setExpanded(self, true);\n }\n};\nvar onFocusOut = (self) => {\n if (!IS_PRESS) self._blurTimer = setTimeout(() => disconnectInput(self));\n};\nvar onClick = (self, { target }) => {\n var _a2, _b, _c, _d, _e;\n const isSingle = attr(self, SAFE_MULTISELECTABLE) !== \"true\";\n const option = [...self.options].find((opt) => opt.contains(target));\n if (self._input === target) {\n setExpanded(self, true);\n } else if (option && isInteractiveOption(option)) {\n for (const opt of self.options) {\n if (opt === option) opt.selected = true;\n else if (isSingle) opt.selected = false;\n }\n (_b = (_a2 = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n \"value\"\n )) == null ? void 0 : _a2.set) == null ? void 0 : _b.call(self._input, option.value);\n if (isSingle) {\n (_c = self._input) == null ? void 0 : _c.focus();\n setExpanded(self, false);\n }\n (_d = self._input) == null ? void 0 : _d.dispatchEvent(\n new Event(\"input\", { bubbles: true, composed: true })\n );\n (_e = self._input) == null ? void 0 : _e.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n};\nvar onKeyDown = (self, event) => {\n var _a2, _b;\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;\n if (event.key !== \"Escape\") setExpanded(self, true);\n const { key } = event;\n const active = (_a2 = self._root) == null ? void 0 : _a2.activeElement;\n const options = getVisibleOptions(self);\n const index = options.indexOf(active);\n let next = -1;\n if (key === \"ArrowDown\") next = (index + 1) % options.length;\n if (key === \"ArrowUp\") next = (~index ? index : options.length) - 1;\n if (~index) {\n if (key === \"Home\" || key === \"PageUp\") next = 0;\n if (key === \"End\" || key === \"PageDown\") next = options.length - 1;\n if (key === \"Enter\") {\n options[index].click();\n return event.preventDefault();\n }\n }\n if (options[next]) for (const option of options) option.tabIndex = -1;\n if (options[next]) event.preventDefault();\n (_b = options[next] || self._input) == null ? void 0 : _b.focus();\n if (key === \"Escape\") setExpanded(self, false);\n};\nvar setExpanded = (self, open) => {\n self.hidden = !open;\n if (self.popover) self.togglePopover(open);\n if (self._input) setupInput(self, self._input, open);\n if (open) setupOptions(self);\n};\nvar disconnectInput = (self) => {\n off(self._root || self, EVENTS, self);\n mutationObserver(self, false);\n setExpanded(self, false);\n self._input = null;\n};\nvar getVisibleOptions = (self) => [...self.options].filter(\n (opt) => !opt.disabled && opt.offsetWidth && opt.offsetHeight\n // Checks disabled or visibility (since hidden attribute can be overwritten by display: block)\n);\nvar isInteractiveOption = (option) => option instanceof HTMLOptionElement || option.getAttribute(\"role\") === \"option\";\nvar setupInput = (self, input, open = false) => {\n attr(input, \"popovertarget\", useId(self));\n attr(input, \"aria-autocomplete\", \"list\");\n attr(input, \"aria-controls\", useId(self));\n attr(input, \"aria-expanded\", `${IS_SAFARI_MAC || open}`);\n attr(input, \"autocomplete\", \"off\");\n attr(input, \"role\", \"combobox\");\n};\nvar sanitize = (str) => (str == null ? void 0 : str.toLowerCase().trim()) || \"\";\nvar setupOptions = (self, event) => {\n var _a2;\n const value = sanitize((_a2 = self._input) == null ? void 0 : _a2.value);\n const hasChange = (event == null ? void 0 : event.type) === \"mutation\" || self._value !== value;\n if (!hasChange) return;\n const hidden = self.hidden;\n const isSingle = attr(self, SAFE_MULTISELECTABLE) !== \"true\";\n const isTyping = event instanceof InputEvent && !isDatalistClick(event);\n self.hidden = true;\n self._value = value;\n for (const opt of self.options) {\n const content = [opt.value, opt.label, opt.text].map(sanitize);\n opt.hidden = !content.some((str) => str.includes(value));\n if (isSingle && isTyping && isInteractiveOption(opt))\n opt.selected = content.includes(value);\n }\n self.hidden = hidden;\n const visible = getVisibleOptions(self);\n clearTimeout(LIVE_TIMER);\n LIVE_TIMER = setTimeout(() => {\n const { length } = visible.filter(isInteractiveOption);\n const liveSrFix = ++LIVE_SR_FIX % 2 ? \"\\xA0\" : \"\";\n const countText = `${`${self._texts[length === 1 ? \"singular\" : \"plural\"]}`.replace(\"%d\", `${length}`)}`;\n if (LIVE)\n LIVE.textContent = `${!length && self.innerText.trim() || countText}${liveSrFix}`;\n }, 1e3);\n if (IS_IOS)\n visible.map((opt, index, length) => {\n opt.title = `${index + 1}/${length}`;\n });\n};\nif (IS_BROWSER)\n Object.defineProperty(HTMLInputElement.prototype, \"list\", {\n configurable: true,\n enumerable: true,\n get() {\n return getRoot(this).getElementById(attr(this, \"list\") || \"\");\n }\n });\ncustomElements.define(\"u-datalist\", UHTMLDataListElement);\nvar SPLIT_CHAR = \"\\u2001\".repeat(100);\nvar SPLIT_ATTR = IS_FIREFOX ? \"label\" : \"value\";\nvar FIREFOX_OPTION_CLICK = \"insertReplacementText\";\nvar getDatalistValue = ({\n value\n}) => value.split(SPLIT_CHAR)[0];\nfunction isDatalistClick(event) {\n var _a2;\n const isClick = event instanceof Event && event.type === \"input\" && event.target instanceof HTMLInputElement && (!event.inputType || event.inputType === FIREFOX_OPTION_CLICK);\n if (isClick) {\n const value = event.target.value;\n const ignored = Array.from(((_a2 = event.target.list) == null ? void 0 : _a2.options) || []).some(\n (opt) => opt.value === value && !isInteractiveOption(opt)\n );\n event.target.value = value.split(SPLIT_CHAR)[ignored ? 1 : 0];\n }\n return isClick;\n}\nfunction syncDatalistState(input) {\n var _a2;\n for (const option of ((_a2 = input.list) == null ? void 0 : _a2.children) || [])\n if (option instanceof HTMLOptionElement || option instanceof UHTMLOptionElement) {\n option[SPLIT_ATTR] = `${getDatalistValue(option)}${SPLIT_CHAR}${input.value}`;\n }\n}\n\nexport { UHTMLDataListElement, getDatalistValue, isDatalistClick, syncDatalistState };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","IS_BROWSER","IS_ANDROID","IS_IOS","IS_SAFARI","_a","SAFE_LABELLEDBY","SAFE_MULTISELECTABLE","DISPLAY_BLOCK","FOCUS_OUTLINE","UHTMLElement","attr","el","name","_a2","events","action","element","rest","type","on","off","attachStyle","css","createElement","observers","mutationObserver","options","observer","detail","getRoot","node","root","id","useId","tagName","text","attrs","customElements","instance","createAriaLive","mode","live","attributeTexts","texts","key2","DISABLED","SELECTED","UHTMLOptionElement","IS_PRESS","LIVE_TIMER","LIVE_SR_FIX","LIVE","IS_SAFARI_MAC","EVENTS","TEXTS","UHTMLDataListElement","disconnectInput","_prev","next","inputs","input","setupInput","event","onClick","onFocusIn","onFocusOut","onKeyDown","setupOptions","self","target","isInput","setExpanded","_b","_c","_d","_e","isSingle","option","opt","isInteractiveOption","active","getVisibleOptions","index","open","sanitize","str","hidden","isTyping","isDatalistClick","content","visible","length","liveSrFix","countText","SPLIT_CHAR","FIREFOX_OPTION_CLICK","isClick","ignored"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"u-datalist.js","sources":["../../../../../node_modules/@u-elements/u-datalist/dist/u-datalist.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\n\n// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_ANDROID = IS_BROWSER && /android/i.test(navigator.userAgent);\nvar IS_FIREFOX = IS_BROWSER && /firefox/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar IS_SAFARI = IS_BROWSER && /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\nvar _a;\nIS_BROWSER && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474\n/^Mac/i.test(((_a = navigator.userAgentData) == null ? void 0 : _a.platform) || navigator.platform);\nvar SAFE_LABELLEDBY = `${IS_ANDROID ? \"data\" : \"aria\"}-labelledby`;\nvar SAFE_MULTISELECTABLE = `${IS_SAFARI ? \"aria\" : \"data\"}-multiselectable`;\nvar DISPLAY_BLOCK = \":host(:not([hidden])) { display: block }\";\nvar FOCUS_OUTLINE = \"outline: 1px dotted; outline: 5px auto Highlight; outline: 5px auto -webkit-focus-ring-color\";\nvar UHTMLElement = typeof HTMLElement === \"undefined\" ? class {\n} : HTMLElement;\nfunction attr(el, name, value) {\n var _a2;\n if (value === void 0) return (_a2 = el.getAttribute(name)) != null ? _a2 : null;\n if (value === null) el.removeAttribute(name);\n else if (el.getAttribute(name) !== value) el.setAttribute(name, value);\n return null;\n}\nvar events = (action, element, rest) => {\n for (const type of rest[0].split(\",\")) {\n rest[0] = type;\n Element.prototype[`${action}EventListener`].apply(element, rest);\n }\n};\nvar on = (element, ...rest) => events(\"add\", element, rest);\nvar off = (element, ...rest) => events(\"remove\", element, rest);\nvar attachStyle = (element, css) => element.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\"),\n // Unnamed slot does automatically render all top element nodes\n createElement(\"style\", css)\n);\nvar observers = /* @__PURE__ */ new WeakMap();\nvar mutationObserver = (element, options) => {\n if (options === void 0) return observers.get(element);\n try {\n observers.get(element).disconnect();\n observers.delete(element);\n } catch (err) {\n }\n if (options) {\n const observer = new MutationObserver(\n (detail) => element.handleEvent({ type: \"mutation\", detail })\n );\n observer.observe(element, options);\n observers.set(element, observer);\n }\n};\nvar getRoot = (node) => {\n var _a2;\n const root = ((_a2 = node.getRootNode) == null ? void 0 : _a2.call(node)) || node.ownerDocument;\n return root instanceof Document || root instanceof ShadowRoot ? root : document;\n};\nvar id = 0;\nvar useId = (el) => {\n if (!el) return \"\";\n if (!el.id) el.id = `:${el.nodeName.toLowerCase()}${(++id).toString(32)}`;\n return el.id;\n};\nvar createElement = (tagName, text, attrs) => {\n const el = document.createElement(tagName);\n if (text) el.textContent = text;\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\nvar createAriaLive = (mode) => {\n const live = createElement(\"div\");\n live.style.cssText = \"position:fixed;overflow:hidden;width:1px;white-space:nowrap\";\n attr(live, \"aria-live\", mode);\n return live;\n};\nfunction attributeTexts(texts, prop, value) {\n if (!prop) return Object.keys(texts).map((key2) => `data-sr-${key2}`);\n const key = (prop == null ? void 0 : prop.startsWith(\"data-sr-\")) && prop.slice(8);\n if (key && value && texts[key]) texts[key] = value;\n return [];\n}\n\n// u-option.ts\nvar DISABLED = \"disabled\";\nvar SELECTED = \"selected\";\nvar UHTMLOptionElement = class extends UHTMLElement {\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [DISABLED, SELECTED];\n }\n constructor() {\n super();\n attachStyle(\n this,\n `${DISPLAY_BLOCK}:host(:focus){${FOCUS_OUTLINE}}:host{ cursor: pointer }`\n );\n }\n connectedCallback() {\n if (!IS_IOS) this.tabIndex = -1;\n if (!attr(this, \"role\")) attr(this, \"role\", \"option\");\n this.attributeChangedCallback();\n }\n attributeChangedCallback() {\n attr(this, \"aria-disabled\", `${this.disabled}`);\n attr(this, \"aria-selected\", `${this.selected}`);\n }\n /** Sets or retrieves whether the option in the list box is the default item. */\n get defaultSelected() {\n return this[SELECTED];\n }\n set defaultSelected(value) {\n this[SELECTED] = value;\n }\n get disabled() {\n return attr(this, DISABLED) !== null;\n }\n set disabled(value) {\n attr(this, DISABLED, value ? \"\" : null);\n }\n /** Retrieves a reference to the form that the object is embedded in. */\n get form() {\n return this.closest(\"form\");\n }\n /** Sets or retrieves the ordinal position of an option in a list box. */\n get index() {\n var _a2;\n const options = (_a2 = this.closest(\"u-datalist\")) == null ? void 0 : _a2.getElementsByTagName(\"u-option\");\n return Array.from(options || [this]).indexOf(this);\n }\n /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */\n get label() {\n return attr(this, \"label\") || this.text;\n }\n set label(value) {\n attr(this, \"label\", value);\n }\n get selected() {\n return attr(this, SELECTED) !== null;\n }\n set selected(value) {\n attr(this, SELECTED, value ? \"\" : null);\n }\n /** Sets or retrieves the text string specified by the option tag. */\n get text() {\n var _a2;\n return ((_a2 = this.textContent) == null ? void 0 : _a2.trim()) || \"\";\n }\n set text(text) {\n this.textContent = text;\n }\n /** Sets or retrieves the value which is returned to the server when the form control is submitted. */\n get value() {\n return attr(this, \"value\") || this.text;\n }\n set value(value) {\n attr(this, \"value\", value);\n }\n};\ncustomElements.define(\"u-option\", UHTMLOptionElement);\n\n// u-datalist.ts\nvar IS_PRESS = false;\nvar LIVE_TIMER;\nvar LIVE_SR_FIX = 0;\nvar LIVE;\nvar IS_SAFARI_MAC = IS_SAFARI && !IS_IOS;\nvar EVENTS = \"click,focusout,input,keydown,mousedown,mouseup\";\nvar TEXTS = {\n singular: \"%d hit\",\n plural: \"%d hits\"\n};\nvar UHTMLDataListElement = class extends UHTMLElement {\n constructor() {\n super();\n // Using underscore instead of private fields for backwards compatibility\n // _announceCount = 0;\n // _announceTimer: ReturnType<typeof setTimeout> | number = 0;\n this._blurTimer = 0;\n this._input = null;\n this._root = null;\n this._value = \"\";\n // Store sanitized value to speed up option filtering\n this._texts = __spreadValues({}, TEXTS);\n attachStyle(\n this,\n `${DISPLAY_BLOCK}::slotted(u-option[disabled]) { display: none !important }`\n // Hide disabled options\n );\n }\n // Speed up translated texts\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [\"id\", ...attributeTexts(TEXTS)];\n }\n connectedCallback() {\n this.hidden = true;\n this._root = getRoot(this);\n if (!LIVE) LIVE = createAriaLive(\"assertive\");\n if (!LIVE.isConnected) document.body.appendChild(LIVE);\n attr(this, \"role\", \"listbox\");\n attr(this, \"tabindex\", \"-1\");\n on(this._root, \"focusin\", this);\n on(this._root, \"focus\", this, true);\n setTimeout(() => this.attributeChangedCallback());\n }\n disconnectedCallback() {\n off(this._root || this, \"focus\", this, true);\n off(this._root || this, \"focusin\", this);\n disconnectInput(this);\n this._root = null;\n }\n attributeChangedCallback(prop, _prev, next) {\n var _a2;\n attributeTexts(this._texts, prop, next);\n const inputs = (_a2 = this._root) == null ? void 0 : _a2.querySelectorAll(`input[list=\"${this.id}\"]`);\n for (const input of inputs || []) setupInput(this, input);\n }\n handleEvent(event) {\n const { type } = event;\n if (event.defaultPrevented) return;\n if (type === \"click\") onClick(this, event);\n if (type === \"focus\" || type === \"focusin\") onFocusIn(this, event);\n if (type === \"focusout\") onFocusOut(this);\n if (type === \"keydown\") onKeyDown(this, event);\n if (type === \"mutation\" || type === \"input\") setupOptions(this, event);\n if (type === \"mouseup\") IS_PRESS = false;\n if (type === \"mousedown\") IS_PRESS = this.contains(event.target);\n }\n get options() {\n return this.getElementsByTagName(\"u-option\");\n }\n};\nvar onFocusIn = (self, { target }) => {\n var _a2;\n const isInput = self._input === target;\n const isInside = isInput || self.contains(target);\n if (isInside) return clearTimeout(self._blurTimer);\n if (!isInput && target instanceof HTMLInputElement && attr(target, \"list\") === self.id) {\n if (self._input) disconnectInput(self);\n self._input = target;\n attr(self, SAFE_LABELLEDBY, useId((_a2 = self._input.labels) == null ? void 0 : _a2[0]));\n on(self._root || self, EVENTS, self);\n mutationObserver(self, {\n attributeFilter: [\"value\"],\n // Listen for value changes to show u-options\n attributes: true,\n childList: true,\n subtree: true\n });\n setExpanded(self, true);\n }\n};\nvar onFocusOut = (self) => {\n if (!IS_PRESS) self._blurTimer = setTimeout(() => disconnectInput(self));\n};\nvar onClick = (self, { target }) => {\n var _a2, _b, _c, _d, _e;\n const isSingle = attr(self, SAFE_MULTISELECTABLE) !== \"true\";\n const option = [...self.options].find((opt) => opt.contains(target));\n if (self._input === target) {\n setExpanded(self, true);\n } else if (option && isInteractiveOption(option)) {\n for (const opt of self.options) {\n if (opt === option) opt.selected = true;\n else if (isSingle) opt.selected = false;\n }\n (_b = (_a2 = Object.getOwnPropertyDescriptor(\n HTMLInputElement.prototype,\n \"value\"\n )) == null ? void 0 : _a2.set) == null ? void 0 : _b.call(self._input, option.value);\n if (isSingle) {\n (_c = self._input) == null ? void 0 : _c.focus();\n setExpanded(self, false);\n }\n (_d = self._input) == null ? void 0 : _d.dispatchEvent(\n new Event(\"input\", { bubbles: true, composed: true })\n );\n (_e = self._input) == null ? void 0 : _e.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n};\nvar onKeyDown = (self, event) => {\n var _a2, _b;\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) return;\n if (event.key !== \"Escape\") setExpanded(self, true);\n const { key } = event;\n const active = (_a2 = self._root) == null ? void 0 : _a2.activeElement;\n const options = getVisibleOptions(self);\n const index = options.indexOf(active);\n let next = -1;\n if (key === \"ArrowDown\") next = (index + 1) % options.length;\n if (key === \"ArrowUp\") next = (~index ? index : options.length) - 1;\n if (~index) {\n if (key === \"Home\" || key === \"PageUp\") next = 0;\n if (key === \"End\" || key === \"PageDown\") next = options.length - 1;\n if (key === \"Enter\") {\n options[index].click();\n return event.preventDefault();\n }\n }\n if (options[next]) for (const option of options) option.tabIndex = -1;\n if (options[next]) event.preventDefault();\n (_b = options[next] || self._input) == null ? void 0 : _b.focus();\n if (key === \"Escape\") setExpanded(self, false);\n};\nvar setExpanded = (self, open) => {\n self.hidden = !open;\n if (self.popover) self.togglePopover(open);\n if (self._input) setupInput(self, self._input, open);\n if (open) setupOptions(self);\n};\nvar disconnectInput = (self) => {\n off(self._root || self, EVENTS, self);\n mutationObserver(self, false);\n setExpanded(self, false);\n self._input = null;\n};\nvar getVisibleOptions = (self) => [...self.options].filter(\n (opt) => !opt.disabled && opt.offsetWidth && opt.offsetHeight\n // Checks disabled or visibility (since hidden attribute can be overwritten by display: block)\n);\nvar isInteractiveOption = (option) => option instanceof HTMLOptionElement || option.getAttribute(\"role\") === \"option\";\nvar setupInput = (self, input, open = false) => {\n attr(input, \"popovertarget\", useId(self));\n attr(input, \"aria-autocomplete\", \"list\");\n attr(input, \"aria-controls\", useId(self));\n attr(input, \"aria-expanded\", `${IS_SAFARI_MAC || open}`);\n attr(input, \"autocomplete\", \"off\");\n attr(input, \"role\", \"combobox\");\n};\nvar sanitize = (str) => (str == null ? void 0 : str.toLowerCase().trim()) || \"\";\nvar setupOptions = (self, event) => {\n var _a2;\n const value = sanitize((_a2 = self._input) == null ? void 0 : _a2.value);\n const hasChange = (event == null ? void 0 : event.type) === \"mutation\" || self._value !== value;\n if (!hasChange) return;\n const hidden = self.hidden;\n const isSingle = attr(self, SAFE_MULTISELECTABLE) !== \"true\";\n const isTyping = event instanceof InputEvent && !isDatalistClick(event);\n self.hidden = true;\n self._value = value;\n for (const opt of self.options) {\n const content = [opt.value, opt.label, opt.text].map(sanitize);\n opt.hidden = !content.some((str) => str.includes(value));\n if (isSingle && isTyping && isInteractiveOption(opt))\n opt.selected = content.includes(value);\n }\n self.hidden = hidden;\n const visible = getVisibleOptions(self);\n clearTimeout(LIVE_TIMER);\n LIVE_TIMER = setTimeout(() => {\n const { length } = visible.filter(isInteractiveOption);\n const liveSrFix = ++LIVE_SR_FIX % 2 ? \"\\xA0\" : \"\";\n const countText = `${`${self._texts[length === 1 ? \"singular\" : \"plural\"]}`.replace(\"%d\", `${length}`)}`;\n if (LIVE)\n LIVE.textContent = `${!length && self.innerText.trim() || countText}${liveSrFix}`;\n }, 1e3);\n if (IS_IOS)\n visible.map((opt, index, length) => {\n opt.title = `${index + 1}/${length}`;\n });\n};\nif (IS_BROWSER)\n Object.defineProperty(HTMLInputElement.prototype, \"list\", {\n configurable: true,\n enumerable: true,\n get() {\n return getRoot(this).getElementById(attr(this, \"list\") || \"\");\n }\n });\ncustomElements.define(\"u-datalist\", UHTMLDataListElement);\nvar SPLIT_CHAR = \"\\u2001\".repeat(100);\nvar SPLIT_ATTR = IS_FIREFOX ? \"label\" : \"value\";\nvar FIREFOX_OPTION_CLICK = \"insertReplacementText\";\nvar getDatalistValue = ({\n value\n}) => value.split(SPLIT_CHAR)[0];\nfunction isDatalistClick(event) {\n var _a2;\n const isClick = event instanceof Event && event.type === \"input\" && event.target instanceof HTMLInputElement && (!event.inputType || event.inputType === FIREFOX_OPTION_CLICK);\n if (isClick) {\n const value = event.target.value;\n const ignored = Array.from(((_a2 = event.target.list) == null ? void 0 : _a2.options) || []).some(\n (opt) => opt.value === value && !isInteractiveOption(opt)\n );\n event.target.value = value.split(SPLIT_CHAR)[ignored ? 1 : 0];\n }\n return isClick;\n}\nfunction syncDatalistState(input) {\n var _a2;\n for (const option of ((_a2 = input.list) == null ? void 0 : _a2.children) || [])\n if (option instanceof HTMLOptionElement || option instanceof UHTMLOptionElement) {\n option[SPLIT_ATTR] = `${getDatalistValue(option)}${SPLIT_CHAR}${input.value}`;\n }\n}\n\nexport { UHTMLDataListElement, getDatalistValue, isDatalistClick, syncDatalistState };\n"],"names":["__defProp","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","__defNormalProp","obj","key","value","__spreadValues","a","b","prop","IS_BROWSER","IS_ANDROID","IS_IOS","IS_SAFARI","_a","SAFE_LABELLEDBY","SAFE_MULTISELECTABLE","DISPLAY_BLOCK","FOCUS_OUTLINE","UHTMLElement","attr","el","name","_a2","events","action","element","rest","type","on","off","attachStyle","css","createElement","observers","mutationObserver","options","observer","detail","getRoot","node","root","id","useId","tagName","text","attrs","customElements","instance","createAriaLive","mode","live","attributeTexts","texts","key2","DISABLED","SELECTED","UHTMLOptionElement","IS_PRESS","LIVE_TIMER","LIVE_SR_FIX","LIVE","IS_SAFARI_MAC","EVENTS","TEXTS","UHTMLDataListElement","disconnectInput","_prev","next","inputs","input","setupInput","event","onClick","onFocusIn","onFocusOut","onKeyDown","setupOptions","self","target","isInput","setExpanded","_b","_c","_d","_e","isSingle","option","opt","isInteractiveOption","active","getVisibleOptions","index","open","sanitize","str","hidden","isTyping","isDatalistClick","content","visible","length","liveSrFix","countText","SPLIT_CHAR","FIREFOX_OPTION_CLICK","isClick","ignored"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
var o = typeof window < "u" && typeof window.document < "u" && typeof window.navigator < "u", c = o && /firefox/i.test(navigator.userAgent), w = o && /iPad|iPhone|iPod/.test(navigator.userAgent), m;
|
|
2
|
+
o && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474
|
|
3
|
+
/^Mac/i.test(((m = navigator.userAgentData) == null ? void 0 : m.platform) || navigator.platform);
|
|
4
|
+
var x = typeof HTMLElement > "u" ? class {
|
|
5
|
+
} : HTMLElement;
|
|
6
|
+
function a(e, r, t) {
|
|
7
|
+
var i;
|
|
8
|
+
return t === void 0 ? (i = e.getAttribute(r)) != null ? i : null : (t === null ? e.removeAttribute(r) : e.getAttribute(r) !== t && e.setAttribute(r, t), null);
|
|
9
|
+
}
|
|
10
|
+
var v = (e) => {
|
|
11
|
+
var r;
|
|
12
|
+
const t = ((r = e.getRootNode) == null ? void 0 : r.call(e)) || e.ownerDocument;
|
|
13
|
+
return t instanceof Document || t instanceof ShadowRoot ? t : document;
|
|
14
|
+
}, y = 0, $ = (e) => e ? (e.id || (e.id = `:${e.nodeName.toLowerCase()}${(++y).toString(32)}`), e.id) : "", b = (e, r, t) => {
|
|
15
|
+
const i = document.createElement(e);
|
|
16
|
+
if (r && (i.textContent = r), t) for (const [s, n] of Object.entries(t)) a(i, s, n);
|
|
17
|
+
return i;
|
|
18
|
+
}, A = {
|
|
19
|
+
define: (e, r) => !o || window.customElements.get(e) || window.customElements.define(e, r)
|
|
20
|
+
}, E = (e) => {
|
|
21
|
+
var r;
|
|
22
|
+
const t = v(e), i = a(e, "aria-label") || "";
|
|
23
|
+
return [
|
|
24
|
+
...(((r = a(e, "aria-labelledby")) == null ? void 0 : r.trim().split(/\s+/)) || []).map((n) => t == null ? void 0 : t.querySelector(`[id="${n}"]`)),
|
|
25
|
+
// Get all labelledby elements
|
|
26
|
+
...Array.from(e.labels || [])
|
|
27
|
+
// Get all <label> elements
|
|
28
|
+
].reduce((n, u) => {
|
|
29
|
+
var d;
|
|
30
|
+
return n || ((d = u == null ? void 0 : u.innerText) == null ? void 0 : d.trim()) || "";
|
|
31
|
+
}, i);
|
|
32
|
+
}, l = !1, g = class extends x {
|
|
33
|
+
// Using ES2015 syntax for backwards compatibility
|
|
34
|
+
static get observedAttributes() {
|
|
35
|
+
return ["aria-label", "aria-labelledby", "value", "max"];
|
|
36
|
+
}
|
|
37
|
+
constructor() {
|
|
38
|
+
super(), this.attachShadow({ mode: "open" }).append(
|
|
39
|
+
b("slot", null, { hidden: "" }),
|
|
40
|
+
// Slot hiding content allows legacy browser to display fallback text
|
|
41
|
+
b(
|
|
42
|
+
"style",
|
|
43
|
+
`:host(:not([hidden])) { box-sizing: border-box; border: 1px solid; display: inline-block; height: .5em; width: 10em; overflow: hidden }
|
|
44
|
+
:host::before { content: ''; display: block; height: 100%; background: currentColor; width: var(--percentage, 0%); transition: width .2s }
|
|
45
|
+
:host(:not([value])) { background: linear-gradient(90deg,currentColor 25%, transparent 50%, currentColor 75%) 50%/400% }
|
|
46
|
+
@media (prefers-reduced-motion: no-preference) { :host { animation: indeterminate 2s linear infinite } }
|
|
47
|
+
@keyframes indeterminate { from { background-position-x: 100% } to { background-position-x: 0 } }`
|
|
48
|
+
)
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
connectedCallback() {
|
|
52
|
+
this.attributeChangedCallback();
|
|
53
|
+
}
|
|
54
|
+
attributeChangedCallback() {
|
|
55
|
+
if (l) return;
|
|
56
|
+
l = !0;
|
|
57
|
+
const e = w || c, r = Math.max(0, Math.round(this.position * 100));
|
|
58
|
+
this.style.setProperty("--percentage", `${r}%`);
|
|
59
|
+
let t = E(this);
|
|
60
|
+
if (e && (t = `${t.replace(/\d+%$/, "")} ${r}%`), c) for (const i of this.labels) a(i, "aria-label", t);
|
|
61
|
+
a(this, "aria-busy", `${this.position === -1}`), a(this, "aria-label", t.trim()), a(this, "aria-labelledby", null), a(this, "aria-valuemax", "100"), a(this, "aria-valuemin", "0"), a(this, "aria-valuenow", `${r}`), a(this, "role", e ? "img" : "progressbar"), l = !1;
|
|
62
|
+
}
|
|
63
|
+
get labels() {
|
|
64
|
+
const e = this.closest("label:not([for])"), r = $(this);
|
|
65
|
+
return e && (e.htmlFor = r), v(this).querySelectorAll(
|
|
66
|
+
`label[for="${r}"]`
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
get position() {
|
|
70
|
+
return this.value === null ? -1 : Math.min(this.value / this.max, 1);
|
|
71
|
+
}
|
|
72
|
+
get value() {
|
|
73
|
+
return h(this, "value");
|
|
74
|
+
}
|
|
75
|
+
set value(e) {
|
|
76
|
+
f(this, "value", e);
|
|
77
|
+
}
|
|
78
|
+
get max() {
|
|
79
|
+
return h(this, "max") || 1;
|
|
80
|
+
}
|
|
81
|
+
set max(e) {
|
|
82
|
+
f(this, "max", e);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
g.formAssociated = !0;
|
|
86
|
+
var p = (e) => !Number.isNaN(Number.parseFloat(`${e}`)) && Number.isFinite(Number(e)), h = (e, r) => {
|
|
87
|
+
const t = a(e, r);
|
|
88
|
+
return p(t) ? Math.max(0, Number.parseFloat(t)) : null;
|
|
89
|
+
}, f = (e, r, t) => {
|
|
90
|
+
if (t === null || p(t)) a(e, r, `${t}`);
|
|
91
|
+
else throw new Error(`Failed to set non-numeric '${a}': '${t}'`);
|
|
92
|
+
};
|
|
93
|
+
A.define("u-progress", g);
|
|
94
|
+
export {
|
|
95
|
+
g as UHTMLProgressElement
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=u-progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"u-progress.js","sources":["../../../../../node_modules/@u-elements/u-progress/dist/u-progress.js"],"sourcesContent":["// ../utils.ts\nvar IS_BROWSER = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.navigator !== \"undefined\";\nvar IS_FIREFOX = IS_BROWSER && /firefox/i.test(navigator.userAgent);\nvar IS_IOS = IS_BROWSER && /iPad|iPhone|iPod/.test(navigator.userAgent);\nvar _a;\nIS_BROWSER && // @ts-expect-error Typescript has not implemented userAgentData yet https://stackoverflow.com/a/71392474\n/^Mac/i.test(((_a = navigator.userAgentData) == null ? void 0 : _a.platform) || navigator.platform);\nvar UHTMLElement = typeof HTMLElement === \"undefined\" ? class {\n} : HTMLElement;\nfunction attr(el, name, value) {\n var _a2;\n if (value === void 0) return (_a2 = el.getAttribute(name)) != null ? _a2 : null;\n if (value === null) el.removeAttribute(name);\n else if (el.getAttribute(name) !== value) el.setAttribute(name, value);\n return null;\n}\nvar getRoot = (node) => {\n var _a2;\n const root = ((_a2 = node.getRootNode) == null ? void 0 : _a2.call(node)) || node.ownerDocument;\n return root instanceof Document || root instanceof ShadowRoot ? root : document;\n};\nvar id = 0;\nvar useId = (el) => {\n if (!el) return \"\";\n if (!el.id) el.id = `:${el.nodeName.toLowerCase()}${(++id).toString(32)}`;\n return el.id;\n};\nvar createElement = (tagName, text, attrs) => {\n const el = document.createElement(tagName);\n if (text) el.textContent = text;\n if (attrs) for (const [key, val] of Object.entries(attrs)) attr(el, key, val);\n return el;\n};\nvar customElements = {\n define: (name, instance) => !IS_BROWSER || window.customElements.get(name) || window.customElements.define(name, instance)\n};\nvar getLabel = (el) => {\n var _a2;\n const root = getRoot(el);\n const label = attr(el, \"aria-label\") || \"\";\n const labels = ((_a2 = attr(el, \"aria-labelledby\")) == null ? void 0 : _a2.trim().split(/\\s+/)) || [];\n return [\n ...labels.map((id2) => root == null ? void 0 : root.querySelector(`[id=\"${id2}\"]`)),\n // Get all labelledby elements\n ...Array.from(el.labels || [])\n // Get all <label> elements\n ].reduce((acc, el2) => {\n var _a3;\n return acc || ((_a3 = el2 == null ? void 0 : el2.innerText) == null ? void 0 : _a3.trim()) || \"\";\n }, label);\n};\n\n// u-progress.ts\nvar SKIP_ATTR_CHANGE = false;\nvar UHTMLProgressElement = class extends UHTMLElement {\n // Using ES2015 syntax for backwards compatibility\n static get observedAttributes() {\n return [\"aria-label\", \"aria-labelledby\", \"value\", \"max\"];\n }\n constructor() {\n super();\n this.attachShadow({ mode: \"open\" }).append(\n createElement(\"slot\", null, { hidden: \"\" }),\n // Slot hiding content allows legacy browser to display fallback text\n createElement(\n \"style\",\n `:host(:not([hidden])) { box-sizing: border-box; border: 1px solid; display: inline-block; height: .5em; width: 10em; overflow: hidden }\n :host::before { content: ''; display: block; height: 100%; background: currentColor; width: var(--percentage, 0%); transition: width .2s }\n :host(:not([value])) { background: linear-gradient(90deg,currentColor 25%, transparent 50%, currentColor 75%) 50%/400% }\n @media (prefers-reduced-motion: no-preference) { :host { animation: indeterminate 2s linear infinite } }\n @keyframes indeterminate { from { background-position-x: 100% } to { background-position-x: 0 } }`\n )\n );\n }\n connectedCallback() {\n this.attributeChangedCallback();\n }\n attributeChangedCallback() {\n if (SKIP_ATTR_CHANGE) return;\n SKIP_ATTR_CHANGE = true;\n const roleImage = IS_IOS || IS_FIREFOX;\n const percentage = Math.max(0, Math.round(this.position * 100));\n this.style.setProperty(\"--percentage\", `${percentage}%`);\n let label = getLabel(this);\n if (roleImage) label = `${label.replace(/\\d+%$/, \"\")} ${percentage}%`;\n if (IS_FIREFOX) for (const el of this.labels) attr(el, \"aria-label\", label);\n attr(this, \"aria-busy\", `${this.position === -1}`);\n attr(this, \"aria-label\", label.trim());\n attr(this, \"aria-labelledby\", null);\n attr(this, \"aria-valuemax\", \"100\");\n attr(this, \"aria-valuemin\", \"0\");\n attr(this, \"aria-valuenow\", `${percentage}`);\n attr(this, \"role\", roleImage ? \"img\" : \"progressbar\");\n SKIP_ATTR_CHANGE = false;\n }\n get labels() {\n const label = this.closest(\"label:not([for])\");\n const id2 = useId(this);\n if (label) label.htmlFor = id2;\n const el = getRoot(this).querySelectorAll(\n `label[for=\"${id2}\"]`\n );\n return el;\n }\n get position() {\n return this.value === null ? -1 : Math.min(this.value / this.max, 1);\n }\n get value() {\n return getNumber(this, \"value\");\n }\n set value(value) {\n setNumber(this, \"value\", value);\n }\n get max() {\n return getNumber(this, \"max\") || 1;\n }\n set max(max) {\n setNumber(this, \"max\", max);\n }\n};\n// Prevent Chrome DevTools warning about <label for=\"\"> pointing to <u-progress>\nUHTMLProgressElement.formAssociated = true;\nvar isNumeric = (value) => !Number.isNaN(Number.parseFloat(`${value}`)) && Number.isFinite(Number(value));\nvar getNumber = (el, key) => {\n const value = attr(el, key);\n return isNumeric(value) ? Math.max(0, Number.parseFloat(value)) : null;\n};\nvar setNumber = (el, key, val) => {\n if (val === null || isNumeric(val)) attr(el, key, `${val}`);\n else throw new Error(`Failed to set non-numeric '${attr}': '${val}'`);\n};\ncustomElements.define(\"u-progress\", UHTMLProgressElement);\n\nexport { UHTMLProgressElement };\n"],"names":["IS_BROWSER","IS_FIREFOX","IS_IOS","_a","UHTMLElement","attr","el","name","value","_a2","getRoot","node","root","id","useId","createElement","tagName","text","attrs","key","val","customElements","instance","getLabel","label","id2","acc","el2","_a3","SKIP_ATTR_CHANGE","UHTMLProgressElement","roleImage","percentage","getNumber","setNumber","max","isNumeric"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,49 +1,54 @@
|
|
|
1
|
-
import { UHTMLDataListElement as
|
|
1
|
+
import { UHTMLDataListElement as L } from "../external/@u-elements/u-datalist/dist/u-datalist.js";
|
|
2
2
|
import u from "../styles.module.css.js";
|
|
3
|
-
import {
|
|
4
|
-
const g = u.field.split(" ")[0], P = "--mtds-text-count-over", b = "--mtds-text-count-under", p = u.validation.split(" "),
|
|
5
|
-
function
|
|
3
|
+
import { onLoaded as I, onMutation as T, on as f, QUICK_EVENT as C, isInputLike as m, attr as n, useId as d } from "../utils.js";
|
|
4
|
+
const g = u.field.split(" ")[0], P = "--mtds-text-count-over", b = "--mtds-text-count-under", p = u.validation.split(" "), x = p[0];
|
|
5
|
+
function _(t) {
|
|
6
6
|
for (const e of t) {
|
|
7
|
-
const l = [],
|
|
8
|
-
let
|
|
9
|
-
for (const
|
|
10
|
-
|
|
11
|
-
if (
|
|
12
|
-
for (const
|
|
13
|
-
|
|
7
|
+
const l = [], s = [];
|
|
8
|
+
let o = null, i = null, r = !0;
|
|
9
|
+
for (const a of e.getElementsByTagName("*"))
|
|
10
|
+
a instanceof HTMLLabelElement ? l.push(a) : a instanceof L ? i = a : m(a) ? o = a : a.classList.contains(x) ? (r = n(a, "data-color") === "success" || !a.clientWidth || !a.clientHeight, s.unshift(d(a))) : a instanceof HTMLParagraphElement && s.push(d(a));
|
|
11
|
+
if (o) {
|
|
12
|
+
for (const a of l) a.htmlFor = d(o);
|
|
13
|
+
D(o, i), v(o), h(o), n(o, "aria-describedby", s.join(" ")), n(o, "aria-invalid", `${!r}`);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
function h(t) {
|
|
18
|
-
t instanceof HTMLTextAreaElement && (t.style.setProperty("--mtds-textarea-height", "auto"), t.style.setProperty(
|
|
18
|
+
t instanceof HTMLTextAreaElement && (t.style.setProperty("--mtds-textarea-height", "auto"), t.style.setProperty(
|
|
19
|
+
"--mtds-textarea-height",
|
|
20
|
+
`${t.scrollHeight}px`
|
|
21
|
+
));
|
|
19
22
|
}
|
|
20
|
-
function
|
|
21
|
-
if (
|
|
22
|
-
t.hasAttribute("placeholder") ||
|
|
23
|
-
const l = window.getComputedStyle(e),
|
|
24
|
-
|
|
23
|
+
function D(t, e) {
|
|
24
|
+
if (n(t, "list", e ? d(e) : null), !e) return;
|
|
25
|
+
t.hasAttribute("placeholder") || n(t, "placeholder", "");
|
|
26
|
+
const l = window.getComputedStyle(e), s = t.closest("u-tags"), o = (i) => l.getPropertyValue(`--mtds-text-${i}`);
|
|
27
|
+
n(e, "data-sr-plural", o("datalist-plural")), n(e, "data-sr-singular", o("datalist-singular")), s && (n(s, "data-sr-added", o("tags-added")), n(s, "data-sr-empty", o("tags-empty")), n(s, "data-sr-found", o("tags-found")), n(s, "data-sr-of", o("tags-of")), n(s, "data-sr-remove", o("tags-remove")), n(s, "data-sr-removed", o("tags-removed")));
|
|
25
28
|
}
|
|
26
29
|
function v(t) {
|
|
27
|
-
var
|
|
28
|
-
const e = t == null ? void 0 : t.nextElementSibling, l = e &&
|
|
30
|
+
var s, o;
|
|
31
|
+
const e = t == null ? void 0 : t.nextElementSibling, l = e && n(e, "data-count");
|
|
29
32
|
if (e && l) {
|
|
30
|
-
const
|
|
31
|
-
if (
|
|
32
|
-
|
|
33
|
-
for (const E of p) e.classList.toggle(E,
|
|
33
|
+
const i = Number(l) - t.value.length, r = i < 0, a = n(e, "aria-live") === "polite", c = window.getComputedStyle(e || t), y = ((s = c.getPropertyValue(P)) == null ? void 0 : s.slice(1, -1)) || "", S = ((o = c.getPropertyValue(b)) == null ? void 0 : o.slice(1, -1)) || "";
|
|
34
|
+
if (a !== r) {
|
|
35
|
+
n(e, "aria-live", r ? "polite" : "off");
|
|
36
|
+
for (const E of p) e.classList.toggle(E, r);
|
|
34
37
|
}
|
|
35
|
-
e.textContent = (
|
|
38
|
+
e.textContent = (r ? y : S).replace(
|
|
36
39
|
"%d",
|
|
37
|
-
`${Math.abs(
|
|
40
|
+
`${Math.abs(i)}`
|
|
38
41
|
);
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
|
-
function
|
|
44
|
+
function M({ target: t }) {
|
|
42
45
|
m(t) && (v(t), h(t));
|
|
43
46
|
}
|
|
44
|
-
function
|
|
47
|
+
function V(t) {
|
|
45
48
|
var e, l;
|
|
46
49
|
(l = (e = t.target) == null ? void 0 : e.closest) != null && l.call(e, `.${g}`) && t.preventDefault();
|
|
47
50
|
}
|
|
48
|
-
|
|
51
|
+
I(() => {
|
|
52
|
+
T(document.documentElement, g, _), f(document, "input", M, C), f(document, "invalid", V, !0);
|
|
53
|
+
});
|
|
49
54
|
//# sourceMappingURL=field-observer.js.map
|