@mgdis/mg-components 6.7.0 → 6.8.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/README.md +1 -1
- package/dist/cjs/index-1a5a1081.js +2 -2
- package/dist/cjs/{index-b7923724.js → index-234e834a.js} +75 -39
- package/dist/cjs/index-234e834a.js.map +1 -0
- package/dist/cjs/{index.es-903492c5.js → index.es-b90f74d4.js} +2 -2
- package/dist/cjs/index.es-b90f74d4.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{mg-action-more_36.cjs.entry.js → mg-action-more_37.cjs.entry.js} +477 -91
- package/dist/cjs/mg-action-more_37.cjs.entry.js.map +1 -0
- package/dist/cjs/mg-alert.cjs.entry.js +2 -2
- package/dist/cjs/mg-components.cjs.js +1 -1
- package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +2 -2
- package/dist/cjs/mg-loader.cjs.entry.js +3 -3
- package/dist/cjs/mg-loader.cjs.entry.js.map +1 -1
- package/dist/cjs/mg-progress.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/atoms/mg-button/mg-button.js +10 -10
- package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
- package/dist/collection/components/atoms/mg-icon/mg-icon.js +21 -6
- package/dist/collection/components/atoms/mg-icon/mg-icon.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js +2 -2
- package/dist/collection/components/molecules/inputs/mg-input-checkbox/mg-input-checkbox-paginated/mg-input-checkbox-paginated.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.conf.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +46 -19
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +57 -28
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js +7 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.conf.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +43 -12
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js.map +1 -1
- package/dist/collection/components/molecules/mg-loader/mg-loader.js +1 -1
- package/dist/collection/components/molecules/mg-loader/mg-loader.js.map +1 -1
- package/dist/collection/components/molecules/mg-table/mg-table.conf.js +13 -0
- package/dist/collection/components/molecules/mg-table/mg-table.conf.js.map +1 -0
- package/dist/collection/components/molecules/mg-table/mg-table.js +364 -0
- package/dist/collection/components/molecules/mg-table/mg-table.js.map +1 -0
- package/dist/collection/locales/en/messages.json +33 -16
- package/dist/collection/locales/fr/messages.json +36 -19
- package/dist/components/index.es.js +1 -1
- package/dist/components/index.es.js.map +1 -1
- package/dist/components/index2.js +73 -37
- package/dist/components/index2.js.map +1 -1
- package/dist/components/mg-button2.js +10 -10
- package/dist/components/mg-button2.js.map +1 -1
- package/dist/components/mg-icon2.js +21 -6
- package/dist/components/mg-icon2.js.map +1 -1
- package/dist/components/mg-input-checkbox-paginated2.js +2 -2
- package/dist/components/mg-input-checkbox-paginated2.js.map +1 -1
- package/dist/components/mg-input-date.js +47 -19
- package/dist/components/mg-input-date.js.map +1 -1
- package/dist/components/mg-input-numeric.js +58 -29
- package/dist/components/mg-input-numeric.js.map +1 -1
- package/dist/components/mg-input-text2.js +50 -14
- package/dist/components/mg-input-text2.js.map +1 -1
- package/dist/components/mg-loader.js +1 -1
- package/dist/components/mg-loader.js.map +1 -1
- package/dist/components/mg-table.d.ts +11 -0
- package/dist/components/mg-table.js +320 -0
- package/dist/components/mg-table.js.map +1 -0
- package/dist/esm/index-5059254f.js +2 -2
- package/dist/esm/{index-a58f8b91.js → index-544778a7.js} +75 -39
- package/dist/esm/index-544778a7.js.map +1 -0
- package/dist/esm/{index.es-b80b758c.js → index.es-517b1bf2.js} +2 -2
- package/dist/esm/index.es-517b1bf2.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{mg-action-more_36.entry.js → mg-action-more_37.entry.js} +477 -92
- package/dist/esm/mg-action-more_37.entry.js.map +1 -0
- package/dist/esm/mg-alert.entry.js +2 -2
- package/dist/esm/mg-components.js +1 -1
- package/dist/esm/mg-input-rich-text-editor.entry.js +2 -2
- package/dist/esm/mg-loader.entry.js +3 -3
- package/dist/esm/mg-loader.entry.js.map +1 -1
- package/dist/esm/mg-progress.entry.js +1 -1
- package/dist/mg-components/locales/en/messages.json +33 -16
- package/dist/mg-components/locales/fr/messages.json +36 -19
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/mg-components.esm.js.map +1 -1
- package/dist/mg-components/{p-3c6710be.js → p-12a1edee.js} +2 -2
- package/dist/mg-components/p-12a1edee.js.map +1 -0
- package/dist/mg-components/p-9bc53279.js +2 -0
- package/dist/mg-components/{p-ac8a5083.js.map → p-9bc53279.js.map} +1 -1
- package/dist/mg-components/{p-bc6ec847.entry.js → p-ad98f3d8.entry.js} +2 -2
- package/dist/mg-components/p-ad98f3d8.entry.js.map +1 -0
- package/dist/mg-components/{p-2a633b29.entry.js → p-c10433db.entry.js} +2 -2
- package/dist/mg-components/{p-f2e6e7ae.entry.js → p-c67e4934.entry.js} +2 -2
- package/dist/mg-components/p-f72efb64.entry.js +2 -0
- package/dist/mg-components/p-f72efb64.entry.js.map +1 -0
- package/dist/mg-components/{p-361cc090.entry.js → p-fd4a7980.entry.js} +2 -2
- package/dist/types/components/atoms/mg-button/mg-button.d.ts +1 -1
- package/dist/types/components/molecules/inputs/mg-input-date/mg-input-date.conf.d.ts +1 -0
- package/dist/types/components/molecules/inputs/mg-input-numeric/mg-input-numeric.d.ts +6 -5
- package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.conf.d.ts +4 -2
- package/dist/types/components/molecules/inputs/mg-input-text/mg-input-text.d.ts +8 -2
- package/dist/types/components/molecules/mg-table/mg-table.conf.d.ts +19 -0
- package/dist/types/components/molecules/mg-table/mg-table.d.ts +58 -0
- package/dist/types/components.d.ts +39 -0
- package/ide/intellij/web-types.json +69 -5
- package/ide/vscode/html-custom-data.json +85 -1
- package/package.json +22 -22
- package/dist/cjs/index-b7923724.js.map +0 -1
- package/dist/cjs/index.es-903492c5.js.map +0 -1
- package/dist/cjs/mg-action-more_36.cjs.entry.js.map +0 -1
- package/dist/esm/index-a58f8b91.js.map +0 -1
- package/dist/esm/index.es-b80b758c.js.map +0 -1
- package/dist/esm/mg-action-more_36.entry.js.map +0 -1
- package/dist/mg-components/p-3afebdab.entry.js +0 -2
- package/dist/mg-components/p-3afebdab.entry.js.map +0 -1
- package/dist/mg-components/p-3c6710be.js.map +0 -1
- package/dist/mg-components/p-ac8a5083.js +0 -2
- package/dist/mg-components/p-bc6ec847.entry.js.map +0 -1
- /package/dist/mg-components/{p-2a633b29.entry.js.map → p-c10433db.entry.js.map} +0 -0
- /package/dist/mg-components/{p-f2e6e7ae.entry.js.map → p-c67e4934.entry.js.map} +0 -0
- /package/dist/mg-components/{p-361cc090.entry.js.map → p-fd4a7980.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index.es.js","mappings":"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","names":[],"sources":["../stencil-helpers/dist/index.es.js"],"sourcesContent":["var he = Object.defineProperty;\nvar W = (e) => {\n throw TypeError(e);\n};\nvar ve = (e, t, s) => t in e ? he(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s;\nvar p = (e, t, s) => ve(e, typeof t != \"symbol\" ? t + \"\" : t, s), ye = (e, t, s) => t.has(e) || W(\"Cannot \" + s);\nvar x = (e, t, s) => (ye(e, t, \"read from private field\"), s ? s.call(e) : t.get(e)), B = (e, t, s) => t.has(e) ? W(\"Cannot add the same private member more than once\") : t instanceof WeakSet ? t.add(e) : t.set(e, s);\nconst Ge = (e = \"\", t = 10) => {\n const s = new Uint8Array(t);\n crypto.getRandomValues(s);\n const r = Array.from(s).map((n) => n.toString(16).padStart(2, \"0\")).join(\"\").slice(0, t);\n return e !== \"\" ? `${e}-${r}` : r;\n}, Xe = (e) => me(e) && /^([a-z][a-z0-9]*)(-[a-z0-9]+)*$/.exec(e) !== null;\nclass Ze {\n constructor(t = []) {\n /**\n * Available classes\n */\n p(this, \"classes\");\n /**\n * Add class\n * @param className - class name to add\n */\n p(this, \"add\", (t) => {\n this.has(t) || this.classes.push(t);\n });\n /**\n * Delete class\n * @param className - class name to delete\n */\n p(this, \"delete\", (t) => {\n const s = this.classes.indexOf(t);\n s > -1 && this.classes.splice(s, 1);\n });\n /**\n * Check if class exist in list\n * @param className - class name to check\n * @returns class name is in the list\n */\n p(this, \"has\", (t) => this.classes.includes(t));\n /**\n * Join classes seperated by spaces\n * @returns joined values\n */\n p(this, \"join\", () => this.classes.join(\" \"));\n this.classes = t;\n }\n}\nconst Je = (e) => Array.isArray(e) && e.every((t) => typeof t == \"string\"), Ke = (e, t) => t.includes(e == null ? void 0 : e.tagName.toLowerCase()), Qe = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]), [identifier], mg-button', Ye = (e) => {\n const t = Y(e), s = V(e);\n return [e, ...t, ...s];\n}, Y = (e, t = []) => {\n if (e.self !== e.top)\n try {\n const s = e.parent;\n return s ? (t.push(s), Y(s, t)) : t;\n } catch (s) {\n return console.error(\"Different hosts between iframes:\", s), t;\n }\n return t;\n}, V = (e, t = []) => {\n if (e.frames.length > 0)\n for (const s of Array.from(e.frames))\n t.push(s), V(s, t);\n return t;\n}, me = (e) => typeof e == \"string\" && e.trim() !== \"\", Ve = (e) => typeof e == \"object\" ? JSON.stringify(e) : `${e}`, et = (e) => typeof e == \"number\" && !Number.isNaN(e), tt = (e) => typeof e == \"string\" ? e.toLocaleLowerCase().normalize(\"NFD\").replaceAll(/[\\u0300-\\u036f]/g, \"\") : e, st = async (e) => e();\nvar C = {\n updatable: !0,\n slotRelocation: !0,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n experimentalSlotFixes: !1\n}, be = Object.defineProperty, Se = (e, t) => {\n for (var s in t)\n be(e, s, { get: t[s], enumerable: !0 });\n}, ke = \"http://www.w3.org/2000/svg\", xe = \"http://www.w3.org/1999/xhtml\", G = (e, t) => t in e, X = \"http://www.w3.org/1999/xlink\", ee = typeof window < \"u\" ? window : {}, L = ee.document || { head: {} }, _ = {\n $flags$: 0,\n $resourcesUrl$: \"\",\n jmp: (e) => e(),\n raf: (e) => requestAnimationFrame(e),\n ael: (e, t, s, r) => e.addEventListener(t, s, r),\n rel: (e, t, s, r) => e.removeEventListener(t, s, r),\n ce: (e, t) => new CustomEvent(e, t)\n}, Te = (e) => e != null && e !== void 0, te = (e) => (e = typeof e, e === \"object\" || e === \"function\"), _e = {};\nSe(_e, {\n err: () => se,\n map: () => Ee,\n ok: () => P,\n unwrap: () => Ae,\n unwrapErr: () => je\n});\nvar P = (e) => ({\n isOk: !0,\n isErr: !1,\n value: e\n}), se = (e) => ({\n isOk: !1,\n isErr: !0,\n value: e\n});\nfunction Ee(e, t) {\n if (e.isOk) {\n const s = t(e.value);\n return s instanceof Promise ? s.then((r) => P(r)) : P(s);\n }\n if (e.isErr) {\n const s = e.value;\n return se(s);\n }\n throw \"should never get here\";\n}\nvar Ae = (e) => {\n if (e.isOk)\n return e.value;\n throw e.value;\n}, je = (e) => {\n if (e.isErr)\n return e.value;\n throw e.value;\n}, re = (e) => {\n const t = e.__childNodes || e.childNodes;\n e.tagName && e.tagName.includes(\"-\") && e[\"s-cr\"] && e.tagName !== \"SLOT-FB\" && ne(t, e.tagName).forEach((s) => {\n var r;\n s.nodeType === 1 && s.tagName === \"SLOT-FB\" && ((r = Oe(s, s[\"s-sn\"], !1)) != null && r.length ? s.hidden = !0 : s.hidden = !1);\n });\n for (const s of t)\n s.nodeType === 1 && (s.__childNodes || s.childNodes).length && re(s);\n};\nfunction ne(e, t, s) {\n let r = 0, n = [], i;\n for (; r < e.length; r++)\n i = e[r], i[\"s-sr\"] && i[\"s-hn\"] === t && s === void 0 && n.push(i), n = [...n, ...ne(i.childNodes, t, s)];\n return n;\n}\nvar Oe = (e, t, s = !0) => {\n const r = [];\n for ((s && e[\"s-sr\"] || !e[\"s-sr\"]) && r.push(e); (e = e.nextSibling) && e[\"s-sn\"] === t; )\n r.push(e);\n return r;\n}, Z = (e, t) => e.nodeType === 1 ? e.getAttribute(\"slot\") === null && t === \"\" || e.getAttribute(\"slot\") === t : e[\"s-sn\"] === t ? !0 : t === \"\", Re = (e, t, ...s) => {\n let r = null, n = null, i = null, o = !1, f = !1;\n const c = [], $ = (l) => {\n for (let d = 0; d < l.length; d++)\n r = l[d], Array.isArray(r) ? $(r) : r != null && typeof r != \"boolean\" && ((o = !te(r)) && (r = String(r)), o && f ? c[c.length - 1].$text$ += r : c.push(o ? w(null, r) : r), f = o);\n };\n $(s);\n const u = w(e, null);\n return u.$attrs$ = t, c.length > 0 && (u.$children$ = c), u.$key$ = n, u.$name$ = i, u;\n}, w = (e, t) => {\n const s = {\n $flags$: 0,\n $tag$: e,\n $text$: t,\n $elm$: null,\n $children$: null\n };\n return s.$attrs$ = null, s.$key$ = null, s.$name$ = null, s;\n}, Le = {}, Me = (e) => e && e.$tag$ === Le, J = (e, t, s, r, n, i, o) => {\n if (s !== r) {\n let f = G(e, t), c = t.toLowerCase();\n if (t === \"class\") {\n const $ = e.classList, u = K(s);\n let l = K(r);\n $.remove(...u.filter((d) => d && !l.includes(d))), $.add(...l.filter((d) => d && !u.includes(d)));\n } else if (t === \"style\") {\n for (const $ in s)\n (!r || r[$] == null) && ($.includes(\"-\") ? e.style.removeProperty($) : e.style[$] = \"\");\n for (const $ in r)\n (!s || r[$] !== s[$]) && ($.includes(\"-\") ? e.style.setProperty($, r[$]) : e.style[$] = r[$]);\n } else if (t !== \"key\") if (t === \"ref\")\n r && r(e);\n else if (!e.__lookupSetter__(t) && t[0] === \"o\" && t[1] === \"n\") {\n if (t[2] === \"-\" ? t = t.slice(3) : G(ee, c) ? t = c.slice(2) : t = c[2] + t.slice(3), s || r) {\n const $ = t.endsWith(ie);\n t = t.replace(Ne, \"\"), s && _.rel(e, t, s, $), r && _.ael(e, t, r, $);\n }\n } else {\n const $ = te(r);\n if ((f || $ && r !== null) && !n)\n try {\n if (e.tagName.includes(\"-\"))\n e[t] !== r && (e[t] = r);\n else {\n const l = r ?? \"\";\n t === \"list\" ? f = !1 : (s == null || e[t] != l) && (typeof e.__lookupSetter__(t) == \"function\" ? e[t] = l : e.setAttribute(t, l));\n }\n } catch {\n }\n let u = !1;\n c !== (c = c.replace(/^xlink\\:?/, \"\")) && (t = c, u = !0), r == null || r === !1 ? (r !== !1 || e.getAttribute(t) === \"\") && (u ? e.removeAttributeNS(X, t) : e.removeAttribute(t)) : (!f || i & 4 || n) && !$ && (r = r === !0 ? \"\" : r, u ? e.setAttributeNS(X, t, r) : e.setAttribute(t, r));\n }\n }\n}, Fe = /\\s/, K = (e) => (typeof e == \"object\" && e && \"baseVal\" in e && (e = e.baseVal), !e || typeof e != \"string\" ? [] : e.split(Fe)), ie = \"Capture\", Ne = new RegExp(ie + \"$\"), oe = (e, t, s, r) => {\n const n = t.$elm$.nodeType === 11 && t.$elm$.host ? t.$elm$.host : t.$elm$, i = e && e.$attrs$ || {}, o = t.$attrs$ || {};\n for (const f of Q(Object.keys(i)))\n f in o || J(\n n,\n f,\n i[f],\n void 0,\n s,\n t.$flags$\n );\n for (const f of Q(Object.keys(o)))\n J(\n n,\n f,\n i[f],\n o[f],\n s,\n t.$flags$\n );\n};\nfunction Q(e) {\n return e.includes(\"ref\") ? (\n // we need to sort these to ensure that `'ref'` is the last attr\n [...e.filter((t) => t !== \"ref\"), \"ref\"]\n ) : (\n // no need to sort, return the original array\n e\n );\n}\nvar M, F, E, N = !1, H = !1, I = !1, v = !1, D = (e, t, s) => {\n var r;\n const n = t.$children$[s];\n let i = 0, o, f, c;\n if (N || (I = !0, n.$tag$ === \"slot\" && (n.$flags$ |= n.$children$ ? (\n // slot element has fallback content\n // still create an element that \"mocks\" the slot element\n 2\n ) : (\n // slot element does not have fallback content\n // create an html comment we'll use to always reference\n // where actual slot content should sit next to\n 1\n ))), n.$text$ !== null)\n o = n.$elm$ = L.createTextNode(n.$text$);\n else if (n.$flags$ & 1)\n o = n.$elm$ = L.createTextNode(\"\");\n else {\n if (v || (v = n.$tag$ === \"svg\"), o = n.$elm$ = L.createElementNS(\n v ? ke : xe,\n !N && C.slotRelocation && n.$flags$ & 2 ? \"slot-fb\" : n.$tag$\n ), v && n.$tag$ === \"foreignObject\" && (v = !1), oe(null, n, v), Te(M) && o[\"s-si\"] !== M && o.classList.add(o[\"s-si\"] = M), n.$children$)\n for (i = 0; i < n.$children$.length; ++i)\n f = D(e, n, i), f && o.appendChild(f);\n n.$tag$ === \"svg\" ? v = !1 : o.tagName === \"foreignObject\" && (v = !0);\n }\n return o[\"s-hn\"] = E, n.$flags$ & 3 && (o[\"s-sr\"] = !0, o[\"s-cr\"] = F, o[\"s-sn\"] = n.$name$ || \"\", o[\"s-rf\"] = (r = n.$attrs$) == null ? void 0 : r.ref, c = e && e.$children$ && e.$children$[s], c && c.$tag$ === n.$tag$ && e.$elm$ && A(e.$elm$, !1), $e(F, o, t.$elm$, e == null ? void 0 : e.$elm$)), o;\n}, A = (e, t) => {\n _.$flags$ |= 1;\n const s = Array.from(e.__childNodes || e.childNodes);\n e[\"s-sr\"] && C.experimentalSlotFixes;\n for (let r = s.length - 1; r >= 0; r--) {\n const n = s[r];\n n[\"s-hn\"] !== E && n[\"s-ol\"] && (k(j(n).parentNode, n, j(n)), n[\"s-ol\"].remove(), n[\"s-ol\"] = void 0, n[\"s-sh\"] = void 0, I = !0), t && A(n, t);\n }\n _.$flags$ &= -2;\n}, le = (e, t, s, r, n, i) => {\n let o = e[\"s-cr\"] && e[\"s-cr\"].parentNode || e, f;\n for (o.shadowRoot && o.tagName === E && (o = o.shadowRoot); n <= i; ++n)\n r[n] && (f = D(null, s, n), f && (r[n].$elm$ = f, k(o, f, j(t))));\n}, ae = (e, t, s) => {\n for (let r = t; r <= s; ++r) {\n const n = e[r];\n if (n) {\n const i = n.$elm$;\n fe(n), i && (H = !0, i[\"s-ol\"] ? i[\"s-ol\"].remove() : A(i, !0), i.remove());\n }\n }\n}, He = (e, t, s, r, n = !1) => {\n let i = 0, o = 0, f = 0, c = 0, $ = t.length - 1, u = t[0], l = t[$], d = r.length - 1, a = r[0], g = r[d], m, y;\n for (; i <= $ && o <= d; )\n if (u == null)\n u = t[++i];\n else if (l == null)\n l = t[--$];\n else if (a == null)\n a = r[++o];\n else if (g == null)\n g = r[--d];\n else if (R(u, a, n))\n T(u, a, n), u = t[++i], a = r[++o];\n else if (R(l, g, n))\n T(l, g, n), l = t[--$], g = r[--d];\n else if (R(u, g, n))\n (u.$tag$ === \"slot\" || g.$tag$ === \"slot\") && A(u.$elm$.parentNode, !1), T(u, g, n), k(e, u.$elm$, l.$elm$.nextSibling), u = t[++i], g = r[--d];\n else if (R(l, a, n))\n (u.$tag$ === \"slot\" || g.$tag$ === \"slot\") && A(l.$elm$.parentNode, !1), T(l, a, n), k(e, l.$elm$, u.$elm$), l = t[--$], a = r[++o];\n else {\n for (f = -1, c = i; c <= $; ++c)\n if (t[c] && t[c].$key$ !== null && t[c].$key$ === a.$key$) {\n f = c;\n break;\n }\n f >= 0 ? (y = t[f], y.$tag$ !== a.$tag$ ? m = D(t && t[o], s, f) : (T(y, a, n), t[f] = void 0, m = y.$elm$), a = r[++o]) : (m = D(t && t[o], s, o), a = r[++o]), m && k(\n j(u.$elm$).parentNode,\n m,\n j(u.$elm$)\n );\n }\n i > $ ? le(\n e,\n r[d + 1] == null ? null : r[d + 1].$elm$,\n s,\n r,\n o,\n d\n ) : o > d && ae(t, i, $);\n}, R = (e, t, s = !1) => e.$tag$ === t.$tag$ ? e.$tag$ === \"slot\" ? e.$name$ === t.$name$ : s ? (s && !e.$key$ && t.$key$ && (e.$key$ = t.$key$), !0) : e.$key$ === t.$key$ : !1, j = (e) => e && e[\"s-ol\"] || e, T = (e, t, s = !1) => {\n const r = t.$elm$ = e.$elm$, n = e.$children$, i = t.$children$, o = t.$tag$, f = t.$text$;\n let c;\n f === null ? (v = o === \"svg\" ? !0 : o === \"foreignObject\" ? !1 : v, o === \"slot\" && !N || oe(e, t, v), n !== null && i !== null ? He(r, n, t, i, s) : i !== null ? (e.$text$ !== null && (r.textContent = \"\"), le(r, null, t, i, 0, i.length - 1)) : (\n // don't do this on initial render as it can cause non-hydrated content to be removed\n !s && C.updatable && n !== null && ae(n, 0, n.length - 1)\n ), v && o === \"svg\" && (v = !1)) : (c = r[\"s-cr\"]) ? c.parentNode.textContent = f : e.$text$ !== f && (r.data = f);\n}, b = [], ce = (e) => {\n let t, s, r;\n const n = e.__childNodes || e.childNodes;\n for (const i of n) {\n if (i[\"s-sr\"] && (t = i[\"s-cr\"]) && t.parentNode) {\n s = t.parentNode.__childNodes || t.parentNode.childNodes;\n const o = i[\"s-sn\"];\n for (r = s.length - 1; r >= 0; r--)\n if (t = s[r], !t[\"s-cn\"] && !t[\"s-nr\"] && t[\"s-hn\"] !== i[\"s-hn\"])\n if (Z(t, o)) {\n let f = b.find((c) => c.$nodeToRelocate$ === t);\n H = !0, t[\"s-sn\"] = t[\"s-sn\"] || o, f ? (f.$nodeToRelocate$[\"s-sh\"] = i[\"s-hn\"], f.$slotRefNode$ = i) : (t[\"s-sh\"] = i[\"s-hn\"], b.push({\n $slotRefNode$: i,\n $nodeToRelocate$: t\n })), t[\"s-sr\"] && b.map((c) => {\n Z(c.$nodeToRelocate$, t[\"s-sn\"]) && (f = b.find(($) => $.$nodeToRelocate$ === t), f && !c.$slotRefNode$ && (c.$slotRefNode$ = f.$slotRefNode$));\n });\n } else b.some((f) => f.$nodeToRelocate$ === t) || b.push({\n $nodeToRelocate$: t\n });\n }\n i.nodeType === 1 && ce(i);\n }\n}, fe = (e) => {\n e.$attrs$ && e.$attrs$.ref && e.$attrs$.ref(null), e.$children$ && e.$children$.map(fe);\n}, k = (e, t, s) => (typeof t[\"s-sn\"] == \"string\" && t[\"s-sr\"] && t[\"s-cr\"] && $e(t[\"s-cr\"], t, e, t.parentElement), e == null ? void 0 : e.insertBefore(t, s));\nfunction $e(e, t, s, r) {\n var n;\n let i;\n if (e && typeof t[\"s-sn\"] == \"string\" && t[\"s-sr\"] && e.parentNode && e.parentNode[\"s-sc\"] && (i = t[\"s-si\"] || e.parentNode[\"s-sc\"])) {\n const o = t[\"s-sn\"], f = t[\"s-hn\"];\n if ((n = s.classList) == null || n.add(i + \"-s\"), r && r.classList.contains(i + \"-s\")) {\n let c = (r.__childNodes || r.childNodes)[0], $ = !1;\n for (; c; ) {\n if (c[\"s-sn\"] !== o && c[\"s-hn\"] === f && c[\"s-sr\"]) {\n $ = !0;\n break;\n }\n c = c.nextSibling;\n }\n $ || r.classList.remove(i + \"-s\");\n }\n }\n}\nvar De = (e, t, s = !1) => {\n var r, n, i, o, f;\n const c = e.$hostElement$, $ = e.$cmpMeta$, u = e.$vnode$ || w(null, null), l = Me(t) ? t : Re(null, null, t);\n if (E = c.tagName, $.$attrsToReflect$ && (l.$attrs$ = l.$attrs$ || {}, $.$attrsToReflect$.map(\n ([d, a]) => l.$attrs$[a] = c[d]\n )), s && l.$attrs$)\n for (const d of Object.keys(l.$attrs$))\n c.hasAttribute(d) && ![\"key\", \"ref\", \"style\", \"class\"].includes(d) && (l.$attrs$[d] = c[d]);\n l.$tag$ = null, l.$flags$ |= 4, e.$vnode$ = l, l.$elm$ = u.$elm$ = c.shadowRoot || c, M = c[\"s-sc\"], N = ($.$flags$ & 1) !== 0, F = c[\"s-cr\"], H = !1, T(u, l, s);\n {\n if (_.$flags$ |= 1, I) {\n ce(l.$elm$);\n for (const d of b) {\n const a = d.$nodeToRelocate$;\n if (!a[\"s-ol\"]) {\n const g = L.createTextNode(\"\");\n g[\"s-nr\"] = a, k(a.parentNode, a[\"s-ol\"] = g, a);\n }\n }\n for (const d of b) {\n const a = d.$nodeToRelocate$, g = d.$slotRefNode$;\n if (g) {\n const m = g.parentNode;\n let y = g.nextSibling;\n {\n let O = (r = a[\"s-ol\"]) == null ? void 0 : r.previousSibling;\n for (; O; ) {\n let h = (n = O[\"s-nr\"]) != null ? n : null;\n if (h && h[\"s-sn\"] === a[\"s-sn\"] && m === (h.__parentNode || h.parentNode)) {\n for (h = h.nextSibling; h === a || h != null && h[\"s-sr\"]; )\n h = h == null ? void 0 : h.nextSibling;\n if (!h || !h[\"s-nr\"]) {\n y = h;\n break;\n }\n }\n O = O.previousSibling;\n }\n }\n const ge = a.__parentNode || a.parentNode, pe = a.__nextSibling || a.nextSibling;\n (!y && m !== ge || pe !== y) && a !== y && (!a[\"s-hn\"] && a[\"s-ol\"] && (a[\"s-hn\"] = a[\"s-ol\"].parentNode.nodeName), k(m, a, y), a.nodeType === 1 && a.tagName !== \"SLOT-FB\" && (a.hidden = (i = a[\"s-ih\"]) != null ? i : !1)), a && typeof g[\"s-rf\"] == \"function\" && g[\"s-rf\"](a);\n } else\n a.nodeType === 1 && (s && (a[\"s-ih\"] = (o = a.hidden) != null ? o : !1), a.hidden = !0);\n }\n }\n H && re(l.$elm$), _.$flags$ &= -2, b.length = 0;\n }\n if (C.experimentalScopedSlotChanges && $.$flags$ & 2) {\n const d = l.$elm$.__childNodes || l.$elm$.childNodes;\n for (const a of d)\n a[\"s-hn\"] !== E && !a[\"s-sh\"] && (s && a[\"s-ih\"] == null && (a[\"s-ih\"] = (f = a.hidden) != null ? f : !1), a.hidden = !0);\n }\n F = void 0;\n};\nconst Ue = (e, t, s) => {\n [null, void 0, \"\", !1].includes(s) || [\"innerHTML\", \"style\"].includes(t) || e.setAttribute(t, [\"object\", \"function\"].includes(typeof s) ? \"/!\\\\ Object props are not rendered in the code example\" : s);\n}, ue = (e, t, s, r, n) => {\n if (t && typeof t == \"string\") {\n const i = document.createElement(t);\n Object.keys(s || {}).forEach((o) => {\n Ue(i, o, s[o]);\n }), r == null || r.forEach((o) => {\n ue(i, o.$tag$, o.$attrs$, o.$children$, o.$text$);\n }), s != null && s.innerHTML && (i.innerHTML = s.innerHTML), e.appendChild(i);\n }\n n && (e.innerHTML = n);\n}, rt = (e, t) => {\n const s = {};\n if (typeof e != \"object\")\n throw new Error(\"filterArgs - args isn't an object.\");\n for (const r in e)\n if (!r.startsWith(\"slot\")) {\n const n = e[r], i = r.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n (!t || !Object.keys(t).includes(r) || t[r] !== n) && (s[i] = n);\n }\n return s;\n}, nt = (e, t) => {\n var r, n;\n const s = document.getElementById(\"storybook-root\");\n if (s !== null)\n return (n = document.querySelector(\"[lang]\")) == null || n.setAttribute(\"lang\", ((r = t.globals) == null ? void 0 : r.locale) || \"en\"), De(\n {\n $cmpMeta$: {\n $flags$: 0,\n $tagName$: s.tagName\n },\n $hostElement$: s\n },\n e(t)\n ), s.children[s.children.length - 1];\n}, it = ({ $tag$: e, $attrs$: t, $children$: s, $text$: r }) => {\n const n = document.createElement(\"div\");\n return ue(n, e, t, s, r), n.innerHTML;\n}, U = (e, t) => {\n if (!t)\n return;\n const s = t.split(\"/\");\n return `${e}${s.slice(2, s.length - 1).join(\"-\")}--docs`;\n};\nvar S, q;\nclass ot {\n constructor(t) {\n /**\n * JsonDocs\n */\n p(this, \"jsonDoc\");\n /**\n * Get component data from the jsonDoc\n * @param tagName - tag name we want to get the data from\n * @returns component data\n */\n B(this, S, (t) => this.jsonDoc.components.find((s) => s.tag === t));\n /**\n * Get the control for the given prop\n * Based on https://storybook.js.org/docs/api/arg-types#controltype\n * @param prop - prop to get control for\n * @returns control type and options if applicable\n */\n B(this, q, (t) => {\n const s = t.type.replace(/\"([^\"]+)\"/g, \"$1\").replace(/\\s/g, \"\").replace(/\\(.*?\\)/g, (r) => r.replace(/\\|/g, \" OR \")).split(\"|\").map((r) => r.trim().replace(/ OR /g, \"|\"));\n return t.type === \"string\" ? { control: { type: \"text\" } } : t.type === \"number\" ? { control: { type: \"number\" } } : t.type === \"boolean\" ? { control: { type: \"boolean\" } } : t.type.startsWith(\"{\") && t.type.endsWith(\"}\") ? { control: { type: \"object\" } } : s.length > 1 ? s.includes(\"string\") ? { control: { type: \"text\" } } : s.every((r) => r == null ? void 0 : r.includes(\"[]\")) ? { control: { type: \"object\" } } : (s.unshift(void 0), { control: { type: \"select\" }, options: s }) : { control: { type: \"object\" } };\n });\n /**\n * Extract component arg types from the component data\n * @param tagName - tag name we want to extract the arg types from\n * @returns component arg types\n */\n p(this, \"extractArgTypes\", (t) => {\n const s = x(this, S).call(this, t), r = s == null ? void 0 : s.props.reduce((u, l) => {\n const { control: d, options: a } = x(this, q).call(this, l);\n return {\n ...u,\n [l.name]: {\n name: l.attr || l.name,\n description: l.docs,\n type: { required: l.required },\n table: {\n category: \"props\",\n type: { summary: l.type },\n defaultValue: { summary: l.default }\n },\n control: d,\n options: a\n }\n };\n }, {}), n = s == null ? void 0 : s.events.reduce(\n (u, l) => ({\n ...u,\n [l.event]: {\n name: l.event,\n description: l.docs,\n table: {\n category: \"events\",\n type: { summary: l.detail }\n }\n }\n }),\n {}\n ), i = s == null ? void 0 : s.methods.reduce(\n (u, l) => ({\n ...u,\n [l.name]: {\n name: l.name,\n description: l.docs,\n table: {\n category: \"methods\",\n type: { summary: l.signature }\n }\n }\n }),\n {}\n ), o = s == null ? void 0 : s.slots.reduce(\n (u, l) => ({\n ...u,\n [l.name]: {\n name: l.name !== \"\" ? l.name : \"default\",\n // default slot are unnamed\n description: l.docs,\n table: {\n category: \"slots\",\n type: { summary: void 0 }\n }\n }\n }),\n {}\n ), f = s == null ? void 0 : s.styles.reduce(\n (u, l) => ({\n ...u,\n [l.name]: {\n name: l.name,\n description: l.docs,\n table: {\n category: \"custom properties\",\n type: { summary: void 0 }\n }\n }\n }),\n {}\n ), c = s == null ? void 0 : s.dependencies.reduce((u, l) => {\n const d = x(this, S).call(this, l);\n return {\n ...u,\n [l]: {\n name: l,\n description: `<a href=\"./?path=/docs/${U(\"\", d == null ? void 0 : d.filePath)}\">View Component Documentation</a>`,\n table: {\n category: \"depends on\",\n type: { summary: void 0 }\n }\n }\n };\n }, {}), $ = s == null ? void 0 : s.dependents.reduce((u, l) => {\n const d = x(this, S).call(this, l);\n return {\n ...u,\n [l]: {\n name: l,\n description: `<a href=\"./?path=/docs/${U(\"\", d == null ? void 0 : d.filePath)}\">View Component Documentation</a>`,\n table: {\n category: \"used by\",\n type: { summary: void 0 }\n }\n }\n };\n }, {});\n return {\n ...r,\n ...n,\n ...i,\n ...o,\n ...f,\n ...c,\n ...$\n };\n });\n /**\n * Extract component description from the component data\n * @param tagName - tag name we want to extract the description from\n * @returns component description\n */\n p(this, \"extractComponentDescription\", (t) => {\n const s = x(this, S).call(this, t);\n return (s == null ? void 0 : s.readme) || (s == null ? void 0 : s.docs);\n });\n this.jsonDoc = t;\n }\n}\nS = new WeakMap(), q = new WeakMap();\nconst qe = (e, t) => {\n if (t)\n return `${e}${t}`;\n}, de = (e) => {\n let t = e.overview ? `${e.overview}\n\n` : \"\";\n const s = e.props.filter(({ attr: n }) => n !== void 0);\n s.length && (t += `Attributes:\n`, t += s.map(({ attr: n, docs: i }) => `- \\`${n}\\`: ${i}\n`).join(\"\"), t += `\n`);\n const r = e.props.filter(({ attr: n }) => n === void 0);\n return r.length && (t += `Properties:\n`, t += r.map(({ name: n, docs: i }) => `- \\`${n}\\`: ${i}\n`).join(\"\"), t += `\n`), e.methods.length && (t += `Methods:\n`, t += e.methods.map(({ name: n, docs: i }) => `- \\`${n}\\`: ${i}\n`).join(\"\"), t += `\n`), e.events.length && (t += `Events:\n`, t += e.events.map(({ event: n, docs: i }) => `- \\`${n}\\`: ${i}\n`).join(\"\"), t += `\n`), e.listeners.length && (t += `Listeners:\n`, t += e.listeners.map(({ event: n }) => `- \\`${n}\\`\n`).join(\"\"), t += `\n`), e.slots.length && (t += `Slots:\n`, t += e.slots.map(({ name: n, docs: i }) => `- \\`${n}\\`: ${i}\n`).join(\"\"), t += `\n`), t;\n}, z = (e) => `${e.docs}\n\nType: \\`${e.type}\\``, lt = (e, t, s, r) => ({\n $schema: \"https://json.schemastore.org/web-types\",\n name: e,\n version: t,\n \"description-markup\": \"markdown\",\n contributions: {\n html: {\n elements: s.components.map((n) => {\n const i = U(r, n.filePath);\n return {\n name: n.tag,\n description: de(n),\n \"doc-url\": i,\n attributes: n.props.filter((o) => o.attr).map((o) => ({\n name: o.attr,\n description: z(o),\n \"doc-url\": i,\n value: {\n type: o.type,\n default: o.default,\n required: o.required\n }\n })),\n js: {\n properties: n.props.map((o) => ({\n name: o.name,\n description: z(o),\n \"doc-url\": i,\n value: {\n type: o.type,\n default: o.default,\n required: o.required\n }\n })),\n events: n.events.map((o) => ({\n name: o.event,\n description: o.docs\n }))\n },\n css: {\n properties: n.styles.map((o) => ({\n name: o.name,\n description: o.docs\n }))\n }\n };\n })\n }\n }\n}), Ce = (e, t, s) => [\n { name: \"Storybook\", url: U(e, s) },\n { name: \"Sources\", url: qe(t, s) }\n], Be = (e) => {\n if (!e.values.some(({ value: t }) => t === void 0))\n return e.values.map(({ value: t }) => ({ name: t }));\n}, at = (e, t, s) => ({\n version: 1.1,\n tags: e.components.map((r) => {\n const n = Ce(t, s, r.filePath);\n return {\n name: r.tag,\n description: de(r),\n attributes: r.props.map((i) => ({\n name: i.attr || i.name,\n description: z(i),\n values: Be(i),\n references: n\n })),\n references: n\n };\n }),\n globalAttributes: [],\n valueSets: []\n}), ct = (e) => ({\n version: 1.1,\n properties: e.components.flatMap(\n (t) => t.styles.map((s) => ({\n name: s.name,\n description: s.docs\n }))\n )\n}), ft = (e) => {\n const t = { value: \"2023\", pattern: \"yyyy\" }, s = { value: \"12\", pattern: \"mm\" }, r = { value: \"24\", pattern: \"dd\" };\n return ze([t.value, s.value, r.value].join(\"-\"), e, { timeZone: \"UTC\" }).replace(t.value, t.pattern).replace(s.value, s.pattern).replace(r.value, r.pattern);\n}, $t = (e) => e.toISOString().split(\"T\")[0], Pe = (e, t, s) => {\n const r = e.closest(\"[lang]\"), n = Intl.NumberFormat.supportedLocalesOf(r == null ? void 0 : r.lang), i = n.length > 0 && typeof n[0] == \"string\" ? n[0] : navigator.language || s, o = i.split(\"-\").shift();\n return Object.keys(t).length === 0 ? {\n locale: i,\n messages: { lang: s }\n } : {\n locale: i,\n messages: t[o] || t[s] || { lang: s }\n };\n}, ut = (e, t, s) => new Intl.NumberFormat(t, { style: \"currency\", currency: s }).format(e), dt = (e, t, s = 0) => new Intl.NumberFormat(t, { minimumFractionDigits: s }).format(s > 0 ? Number(e == null ? void 0 : e.toFixed(s)) : e), gt = (e, t, s = 0) => new Intl.NumberFormat(t, {\n style: \"percent\",\n minimumFractionDigits: s,\n maximumFractionDigits: s\n}).format(e), pt = (e, t, s, r = \"short\", n = 0) => new Intl.NumberFormat(t, {\n style: \"unit\",\n unit: s,\n unitDisplay: r,\n minimumFractionDigits: n,\n maximumFractionDigits: n\n}).format(e), we = /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$/, ze = (e, t, s) => typeof e != \"string\" || e === \"\" || !we.test(e) ? \"\" : new Intl.DateTimeFormat(t, s).format(new Date(e)), ht = (e, t) => (s) => Pe(s, e, t), vt = ({ disconnect: e, observe: t, takeRecords: s }) => {\n class r {\n constructor(i) {\n /**\n *\n */\n p(this, \"disconnect\", e);\n /**\n *\n */\n p(this, \"observe\", t);\n /**\n *\n */\n p(this, \"takeRecords\", s);\n /**\n *\n */\n p(this, \"cb\");\n this.cb = i;\n }\n }\n return [window, global].forEach((n) => {\n Object.defineProperty(n, \"MutationObserver\", {\n writable: !0,\n configurable: !0,\n value: r\n });\n }), r;\n}, yt = ({ disconnect: e, observe: t }) => {\n class s {\n constructor(n) {\n /**\n *\n */\n p(this, \"disconnect\", e);\n /**\n *\n */\n p(this, \"observe\", t);\n /**\n *\n */\n p(this, \"unobserve\");\n /**\n *\n */\n p(this, \"cb\");\n this.cb = n;\n }\n }\n return [window, global].forEach((r) => {\n Object.defineProperty(r, \"ResizeObserver\", {\n writable: !0,\n configurable: !0,\n value: s\n });\n }), s;\n};\nclass Ie extends Event {\n constructor() {\n super(...arguments);\n /**\n *\n */\n p(this, \"detail\");\n }\n // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nconst mt = () => {\n class e extends Ie {\n }\n return [window, global].forEach((t) => {\n Object.defineProperty(t, \"SubmitEvent\", {\n writable: !0,\n configurable: !0,\n value: e\n });\n }), e;\n}, bt = (e) => {\n const t = (s) => (setTimeout(s, 1), e(), 0);\n return [window, global].forEach((s) => {\n Object.defineProperty(s, \"requestAnimationFrame\", {\n writable: !0,\n configurable: !0,\n value: t\n });\n }), t;\n};\nexport {\n Ze as ClassList,\n ot as StorybookPreview,\n Je as allItemsAreString,\n tt as cleanString,\n Ge as createID,\n we as dateRegExp,\n $t as dateToString,\n ht as defineLocales,\n rt as filterArgs,\n Qe as focusableElements,\n ft as getLocaleDatePattern,\n Y as getParentWindows,\n it as getStoryHTML,\n U as getStorybookUrl,\n Ye as getWindows,\n Ke as isTagName,\n et as isValidNumber,\n me as isValidString,\n Xe as isValideID,\n ut as localeCurrency,\n ze as localeDate,\n dt as localeNumber,\n gt as localePercent,\n pt as localeUnit,\n st as nextTick,\n bt as setUpRequestAnimationFrameMock,\n vt as setupMutationObserverMock,\n yt as setupResizeObserverMock,\n mt as setupSubmitEventMock,\n nt as stencilWrapper,\n Ve as toString,\n ct as vsCodeCssGenerator,\n at as vsCodeGenerator,\n lt as webTypesGenerator\n};\n//# sourceMappingURL=index.es.js.map\n"],"version":3}
|
|
1
|
+
{"file":"index.es.js","mappings":"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","names":[],"sources":["../stencil-helpers/dist/index.es.js"],"sourcesContent":["var he = Object.defineProperty;\nvar W = (e) => {\n throw TypeError(e);\n};\nvar ve = (e, t, s) => t in e ? he(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s;\nvar p = (e, t, s) => ve(e, typeof t != \"symbol\" ? t + \"\" : t, s), ye = (e, t, s) => t.has(e) || W(\"Cannot \" + s);\nvar x = (e, t, s) => (ye(e, t, \"read from private field\"), s ? s.call(e) : t.get(e)), B = (e, t, s) => t.has(e) ? W(\"Cannot add the same private member more than once\") : t instanceof WeakSet ? t.add(e) : t.set(e, s);\nconst Ge = (e = \"\", t = 10) => {\n const s = new Uint8Array(t);\n crypto.getRandomValues(s);\n const r = Array.from(s).map((n) => n.toString(16).padStart(2, \"0\")).join(\"\").slice(0, t);\n return e !== \"\" ? `${e}-${r}` : r;\n}, Xe = (e) => me(e) && /^([a-z][a-z0-9]*)(-[a-z0-9]+)*$/.exec(e) !== null;\nclass Ze {\n constructor(t = []) {\n /**\n * Available classes\n */\n p(this, \"classes\");\n /**\n * Add class\n * @param className - class name to add\n */\n p(this, \"add\", (t) => {\n this.has(t) || this.classes.push(t);\n });\n /**\n * Delete class\n * @param className - class name to delete\n */\n p(this, \"delete\", (t) => {\n const s = this.classes.indexOf(t);\n s > -1 && this.classes.splice(s, 1);\n });\n /**\n * Check if class exist in list\n * @param className - class name to check\n * @returns class name is in the list\n */\n p(this, \"has\", (t) => this.classes.includes(t));\n /**\n * Join classes seperated by spaces\n * @returns joined values\n */\n p(this, \"join\", () => this.classes.join(\" \"));\n this.classes = t;\n }\n}\nconst Je = (e) => Array.isArray(e) && e.every((t) => typeof t == \"string\"), Ke = (e, t) => t.includes(e == null ? void 0 : e.tagName.toLowerCase()), Qe = 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]), [identifier], mg-button', Ye = (e) => {\n const t = Y(e), s = V(e);\n return [e, ...t, ...s];\n}, Y = (e, t = []) => {\n if (e.self !== e.top)\n try {\n const s = e.parent;\n return s ? (t.push(s), Y(s, t)) : t;\n } catch (s) {\n return console.error(\"Different hosts between iframes:\", s), t;\n }\n return t;\n}, V = (e, t = []) => {\n if (e.frames.length > 0)\n for (const s of Array.from(e.frames))\n t.push(s), V(s, t);\n return t;\n}, me = (e) => typeof e == \"string\" && e.trim() !== \"\", Ve = (e) => typeof e == \"object\" ? JSON.stringify(e) : `${e}`, et = (e) => typeof e == \"number\" && !Number.isNaN(e), tt = (e) => typeof e == \"string\" ? e.toLocaleLowerCase().normalize(\"NFD\").replaceAll(/[\\u0300-\\u036f]/g, \"\") : e, st = async (e) => e();\nvar C = {\n updatable: !0,\n slotRelocation: !0,\n // TODO(STENCIL-914): remove this option when `experimentalSlotFixes` is the default behavior\n experimentalSlotFixes: !1\n}, be = Object.defineProperty, Se = (e, t) => {\n for (var s in t)\n be(e, s, { get: t[s], enumerable: !0 });\n}, ke = \"http://www.w3.org/2000/svg\", xe = \"http://www.w3.org/1999/xhtml\", G = (e, t) => t in e, X = \"http://www.w3.org/1999/xlink\", ee = typeof window < \"u\" ? window : {}, R = ee.document || { head: {} }, _ = {\n $flags$: 0,\n $resourcesUrl$: \"\",\n jmp: (e) => e(),\n raf: (e) => requestAnimationFrame(e),\n ael: (e, t, s, r) => e.addEventListener(t, s, r),\n rel: (e, t, s, r) => e.removeEventListener(t, s, r),\n ce: (e, t) => new CustomEvent(e, t)\n}, Te = (e) => e != null && e !== void 0, te = (e) => (e = typeof e, e === \"object\" || e === \"function\"), _e = {};\nSe(_e, {\n err: () => se,\n map: () => Ee,\n ok: () => P,\n unwrap: () => Ae,\n unwrapErr: () => je\n});\nvar P = (e) => ({\n isOk: !0,\n isErr: !1,\n value: e\n}), se = (e) => ({\n isOk: !1,\n isErr: !0,\n value: e\n});\nfunction Ee(e, t) {\n if (e.isOk) {\n const s = t(e.value);\n return s instanceof Promise ? s.then((r) => P(r)) : P(s);\n }\n if (e.isErr) {\n const s = e.value;\n return se(s);\n }\n throw \"should never get here\";\n}\nvar Ae = (e) => {\n if (e.isOk)\n return e.value;\n throw e.value;\n}, je = (e) => {\n if (e.isErr)\n return e.value;\n throw e.value;\n}, re = (e) => {\n const t = e.__childNodes || e.childNodes;\n e.tagName && e.tagName.includes(\"-\") && e[\"s-cr\"] && e.tagName !== \"SLOT-FB\" && ne(t, e.tagName).forEach((s) => {\n var r;\n s.nodeType === 1 && s.tagName === \"SLOT-FB\" && ((r = Oe(s, s[\"s-sn\"], !1)) != null && r.length ? s.hidden = !0 : s.hidden = !1);\n });\n for (const s of t)\n s.nodeType === 1 && (s.__childNodes || s.childNodes).length && re(s);\n};\nfunction ne(e, t, s) {\n let r = 0, n = [], i;\n for (; r < e.length; r++)\n i = e[r], i[\"s-sr\"] && i[\"s-hn\"] === t && s === void 0 && n.push(i), n = [...n, ...ne(i.childNodes, t, s)];\n return n;\n}\nvar Oe = (e, t, s = !0) => {\n const r = [];\n for ((s && e[\"s-sr\"] || !e[\"s-sr\"]) && r.push(e); (e = e.nextSibling) && e[\"s-sn\"] === t; )\n r.push(e);\n return r;\n}, Z = (e, t) => e.nodeType === 1 ? e.getAttribute(\"slot\") === null && t === \"\" || e.getAttribute(\"slot\") === t : e[\"s-sn\"] === t ? !0 : t === \"\", Le = (e, t, ...s) => {\n let r = null, n = null, i = null, o = !1, f = !1;\n const c = [], $ = (l) => {\n for (let d = 0; d < l.length; d++)\n r = l[d], Array.isArray(r) ? $(r) : r != null && typeof r != \"boolean\" && ((o = !te(r)) && (r = String(r)), o && f ? c[c.length - 1].$text$ += r : c.push(o ? w(null, r) : r), f = o);\n };\n $(s);\n const u = w(e, null);\n return u.$attrs$ = t, c.length > 0 && (u.$children$ = c), u.$key$ = n, u.$name$ = i, u;\n}, w = (e, t) => {\n const s = {\n $flags$: 0,\n $tag$: e,\n $text$: t,\n $elm$: null,\n $children$: null\n };\n return s.$attrs$ = null, s.$key$ = null, s.$name$ = null, s;\n}, Re = {}, Me = (e) => e && e.$tag$ === Re, J = (e, t, s, r, n, i, o) => {\n if (s !== r) {\n let f = G(e, t), c = t.toLowerCase();\n if (t === \"class\") {\n const $ = e.classList, u = K(s);\n let l = K(r);\n $.remove(...u.filter((d) => d && !l.includes(d))), $.add(...l.filter((d) => d && !u.includes(d)));\n } else if (t === \"style\") {\n for (const $ in s)\n (!r || r[$] == null) && ($.includes(\"-\") ? e.style.removeProperty($) : e.style[$] = \"\");\n for (const $ in r)\n (!s || r[$] !== s[$]) && ($.includes(\"-\") ? e.style.setProperty($, r[$]) : e.style[$] = r[$]);\n } else if (t !== \"key\") if (t === \"ref\")\n r && r(e);\n else if (!e.__lookupSetter__(t) && t[0] === \"o\" && t[1] === \"n\") {\n if (t[2] === \"-\" ? t = t.slice(3) : G(ee, c) ? t = c.slice(2) : t = c[2] + t.slice(3), s || r) {\n const $ = t.endsWith(ie);\n t = t.replace(Fe, \"\"), s && _.rel(e, t, s, $), r && _.ael(e, t, r, $);\n }\n } else {\n const $ = te(r);\n if ((f || $ && r !== null) && !n)\n try {\n if (e.tagName.includes(\"-\"))\n e[t] !== r && (e[t] = r);\n else {\n const l = r ?? \"\";\n t === \"list\" ? f = !1 : (s == null || e[t] != l) && (typeof e.__lookupSetter__(t) == \"function\" ? e[t] = l : e.setAttribute(t, l));\n }\n } catch {\n }\n let u = !1;\n c !== (c = c.replace(/^xlink\\:?/, \"\")) && (t = c, u = !0), r == null || r === !1 ? (r !== !1 || e.getAttribute(t) === \"\") && (u ? e.removeAttributeNS(X, t) : e.removeAttribute(t)) : (!f || i & 4 || n) && !$ && (r = r === !0 ? \"\" : r, u ? e.setAttributeNS(X, t, r) : e.setAttribute(t, r));\n }\n }\n}, Ne = /\\s/, K = (e) => (typeof e == \"object\" && e && \"baseVal\" in e && (e = e.baseVal), !e || typeof e != \"string\" ? [] : e.split(Ne)), ie = \"Capture\", Fe = new RegExp(ie + \"$\"), oe = (e, t, s, r) => {\n const n = t.$elm$.nodeType === 11 && t.$elm$.host ? t.$elm$.host : t.$elm$, i = e && e.$attrs$ || {}, o = t.$attrs$ || {};\n for (const f of Q(Object.keys(i)))\n f in o || J(\n n,\n f,\n i[f],\n void 0,\n s,\n t.$flags$\n );\n for (const f of Q(Object.keys(o)))\n J(\n n,\n f,\n i[f],\n o[f],\n s,\n t.$flags$\n );\n};\nfunction Q(e) {\n return e.includes(\"ref\") ? (\n // we need to sort these to ensure that `'ref'` is the last attr\n [...e.filter((t) => t !== \"ref\"), \"ref\"]\n ) : (\n // no need to sort, return the original array\n e\n );\n}\nvar M, N, E, F = !1, H = !1, I = !1, v = !1, D = (e, t, s) => {\n var r;\n const n = t.$children$[s];\n let i = 0, o, f, c;\n if (F || (I = !0, n.$tag$ === \"slot\" && (n.$flags$ |= n.$children$ ? (\n // slot element has fallback content\n // still create an element that \"mocks\" the slot element\n 2\n ) : (\n // slot element does not have fallback content\n // create an html comment we'll use to always reference\n // where actual slot content should sit next to\n 1\n ))), n.$text$ !== null)\n o = n.$elm$ = R.createTextNode(n.$text$);\n else if (n.$flags$ & 1)\n o = n.$elm$ = R.createTextNode(\"\");\n else {\n if (v || (v = n.$tag$ === \"svg\"), o = n.$elm$ = R.createElementNS(\n v ? ke : xe,\n !F && C.slotRelocation && n.$flags$ & 2 ? \"slot-fb\" : n.$tag$\n ), v && n.$tag$ === \"foreignObject\" && (v = !1), oe(null, n, v), Te(M) && o[\"s-si\"] !== M && o.classList.add(o[\"s-si\"] = M), n.$children$)\n for (i = 0; i < n.$children$.length; ++i)\n f = D(e, n, i), f && o.appendChild(f);\n n.$tag$ === \"svg\" ? v = !1 : o.tagName === \"foreignObject\" && (v = !0);\n }\n return o[\"s-hn\"] = E, n.$flags$ & 3 && (o[\"s-sr\"] = !0, o[\"s-cr\"] = N, o[\"s-sn\"] = n.$name$ || \"\", o[\"s-rf\"] = (r = n.$attrs$) == null ? void 0 : r.ref, c = e && e.$children$ && e.$children$[s], c && c.$tag$ === n.$tag$ && e.$elm$ && A(e.$elm$, !1), $e(N, o, t.$elm$, e == null ? void 0 : e.$elm$)), o;\n}, A = (e, t) => {\n _.$flags$ |= 1;\n const s = Array.from(e.__childNodes || e.childNodes);\n e[\"s-sr\"] && C.experimentalSlotFixes;\n for (let r = s.length - 1; r >= 0; r--) {\n const n = s[r];\n n[\"s-hn\"] !== E && n[\"s-ol\"] && (k(j(n).parentNode, n, j(n)), n[\"s-ol\"].remove(), n[\"s-ol\"] = void 0, n[\"s-sh\"] = void 0, I = !0), t && A(n, t);\n }\n _.$flags$ &= -2;\n}, le = (e, t, s, r, n, i) => {\n let o = e[\"s-cr\"] && e[\"s-cr\"].parentNode || e, f;\n for (o.shadowRoot && o.tagName === E && (o = o.shadowRoot); n <= i; ++n)\n r[n] && (f = D(null, s, n), f && (r[n].$elm$ = f, k(o, f, j(t))));\n}, ae = (e, t, s) => {\n for (let r = t; r <= s; ++r) {\n const n = e[r];\n if (n) {\n const i = n.$elm$;\n fe(n), i && (H = !0, i[\"s-ol\"] ? i[\"s-ol\"].remove() : A(i, !0), i.remove());\n }\n }\n}, He = (e, t, s, r, n = !1) => {\n let i = 0, o = 0, f = 0, c = 0, $ = t.length - 1, u = t[0], l = t[$], d = r.length - 1, a = r[0], g = r[d], m, y;\n for (; i <= $ && o <= d; )\n if (u == null)\n u = t[++i];\n else if (l == null)\n l = t[--$];\n else if (a == null)\n a = r[++o];\n else if (g == null)\n g = r[--d];\n else if (L(u, a, n))\n T(u, a, n), u = t[++i], a = r[++o];\n else if (L(l, g, n))\n T(l, g, n), l = t[--$], g = r[--d];\n else if (L(u, g, n))\n (u.$tag$ === \"slot\" || g.$tag$ === \"slot\") && A(u.$elm$.parentNode, !1), T(u, g, n), k(e, u.$elm$, l.$elm$.nextSibling), u = t[++i], g = r[--d];\n else if (L(l, a, n))\n (u.$tag$ === \"slot\" || g.$tag$ === \"slot\") && A(l.$elm$.parentNode, !1), T(l, a, n), k(e, l.$elm$, u.$elm$), l = t[--$], a = r[++o];\n else {\n for (f = -1, c = i; c <= $; ++c)\n if (t[c] && t[c].$key$ !== null && t[c].$key$ === a.$key$) {\n f = c;\n break;\n }\n f >= 0 ? (y = t[f], y.$tag$ !== a.$tag$ ? m = D(t && t[o], s, f) : (T(y, a, n), t[f] = void 0, m = y.$elm$), a = r[++o]) : (m = D(t && t[o], s, o), a = r[++o]), m && k(\n j(u.$elm$).parentNode,\n m,\n j(u.$elm$)\n );\n }\n i > $ ? le(\n e,\n r[d + 1] == null ? null : r[d + 1].$elm$,\n s,\n r,\n o,\n d\n ) : o > d && ae(t, i, $);\n}, L = (e, t, s = !1) => e.$tag$ === t.$tag$ ? e.$tag$ === \"slot\" ? e.$name$ === t.$name$ : s ? (s && !e.$key$ && t.$key$ && (e.$key$ = t.$key$), !0) : e.$key$ === t.$key$ : !1, j = (e) => e && e[\"s-ol\"] || e, T = (e, t, s = !1) => {\n const r = t.$elm$ = e.$elm$, n = e.$children$, i = t.$children$, o = t.$tag$, f = t.$text$;\n let c;\n f === null ? (v = o === \"svg\" ? !0 : o === \"foreignObject\" ? !1 : v, o === \"slot\" && !F || oe(e, t, v), n !== null && i !== null ? He(r, n, t, i, s) : i !== null ? (e.$text$ !== null && (r.textContent = \"\"), le(r, null, t, i, 0, i.length - 1)) : (\n // don't do this on initial render as it can cause non-hydrated content to be removed\n !s && C.updatable && n !== null && ae(n, 0, n.length - 1)\n ), v && o === \"svg\" && (v = !1)) : (c = r[\"s-cr\"]) ? c.parentNode.textContent = f : e.$text$ !== f && (r.data = f);\n}, b = [], ce = (e) => {\n let t, s, r;\n const n = e.__childNodes || e.childNodes;\n for (const i of n) {\n if (i[\"s-sr\"] && (t = i[\"s-cr\"]) && t.parentNode) {\n s = t.parentNode.__childNodes || t.parentNode.childNodes;\n const o = i[\"s-sn\"];\n for (r = s.length - 1; r >= 0; r--)\n if (t = s[r], !t[\"s-cn\"] && !t[\"s-nr\"] && t[\"s-hn\"] !== i[\"s-hn\"])\n if (Z(t, o)) {\n let f = b.find((c) => c.$nodeToRelocate$ === t);\n H = !0, t[\"s-sn\"] = t[\"s-sn\"] || o, f ? (f.$nodeToRelocate$[\"s-sh\"] = i[\"s-hn\"], f.$slotRefNode$ = i) : (t[\"s-sh\"] = i[\"s-hn\"], b.push({\n $slotRefNode$: i,\n $nodeToRelocate$: t\n })), t[\"s-sr\"] && b.map((c) => {\n Z(c.$nodeToRelocate$, t[\"s-sn\"]) && (f = b.find(($) => $.$nodeToRelocate$ === t), f && !c.$slotRefNode$ && (c.$slotRefNode$ = f.$slotRefNode$));\n });\n } else b.some((f) => f.$nodeToRelocate$ === t) || b.push({\n $nodeToRelocate$: t\n });\n }\n i.nodeType === 1 && ce(i);\n }\n}, fe = (e) => {\n e.$attrs$ && e.$attrs$.ref && e.$attrs$.ref(null), e.$children$ && e.$children$.map(fe);\n}, k = (e, t, s) => (typeof t[\"s-sn\"] == \"string\" && t[\"s-sr\"] && t[\"s-cr\"] && $e(t[\"s-cr\"], t, e, t.parentElement), e == null ? void 0 : e.insertBefore(t, s));\nfunction $e(e, t, s, r) {\n var n;\n let i;\n if (e && typeof t[\"s-sn\"] == \"string\" && t[\"s-sr\"] && e.parentNode && e.parentNode[\"s-sc\"] && (i = t[\"s-si\"] || e.parentNode[\"s-sc\"])) {\n const o = t[\"s-sn\"], f = t[\"s-hn\"];\n if ((n = s.classList) == null || n.add(i + \"-s\"), r && r.classList.contains(i + \"-s\")) {\n let c = (r.__childNodes || r.childNodes)[0], $ = !1;\n for (; c; ) {\n if (c[\"s-sn\"] !== o && c[\"s-hn\"] === f && c[\"s-sr\"]) {\n $ = !0;\n break;\n }\n c = c.nextSibling;\n }\n $ || r.classList.remove(i + \"-s\");\n }\n }\n}\nvar De = (e, t, s = !1) => {\n var r, n, i, o, f;\n const c = e.$hostElement$, $ = e.$cmpMeta$, u = e.$vnode$ || w(null, null), l = Me(t) ? t : Le(null, null, t);\n if (E = c.tagName, $.$attrsToReflect$ && (l.$attrs$ = l.$attrs$ || {}, $.$attrsToReflect$.map(\n ([d, a]) => l.$attrs$[a] = c[d]\n )), s && l.$attrs$)\n for (const d of Object.keys(l.$attrs$))\n c.hasAttribute(d) && ![\"key\", \"ref\", \"style\", \"class\"].includes(d) && (l.$attrs$[d] = c[d]);\n l.$tag$ = null, l.$flags$ |= 4, e.$vnode$ = l, l.$elm$ = u.$elm$ = c.shadowRoot || c, M = c[\"s-sc\"], F = ($.$flags$ & 1) !== 0, N = c[\"s-cr\"], H = !1, T(u, l, s);\n {\n if (_.$flags$ |= 1, I) {\n ce(l.$elm$);\n for (const d of b) {\n const a = d.$nodeToRelocate$;\n if (!a[\"s-ol\"]) {\n const g = R.createTextNode(\"\");\n g[\"s-nr\"] = a, k(a.parentNode, a[\"s-ol\"] = g, a);\n }\n }\n for (const d of b) {\n const a = d.$nodeToRelocate$, g = d.$slotRefNode$;\n if (g) {\n const m = g.parentNode;\n let y = g.nextSibling;\n {\n let O = (r = a[\"s-ol\"]) == null ? void 0 : r.previousSibling;\n for (; O; ) {\n let h = (n = O[\"s-nr\"]) != null ? n : null;\n if (h && h[\"s-sn\"] === a[\"s-sn\"] && m === (h.__parentNode || h.parentNode)) {\n for (h = h.nextSibling; h === a || h != null && h[\"s-sr\"]; )\n h = h == null ? void 0 : h.nextSibling;\n if (!h || !h[\"s-nr\"]) {\n y = h;\n break;\n }\n }\n O = O.previousSibling;\n }\n }\n const ge = a.__parentNode || a.parentNode, pe = a.__nextSibling || a.nextSibling;\n (!y && m !== ge || pe !== y) && a !== y && (!a[\"s-hn\"] && a[\"s-ol\"] && (a[\"s-hn\"] = a[\"s-ol\"].parentNode.nodeName), k(m, a, y), a.nodeType === 1 && a.tagName !== \"SLOT-FB\" && (a.hidden = (i = a[\"s-ih\"]) != null ? i : !1)), a && typeof g[\"s-rf\"] == \"function\" && g[\"s-rf\"](a);\n } else\n a.nodeType === 1 && (s && (a[\"s-ih\"] = (o = a.hidden) != null ? o : !1), a.hidden = !0);\n }\n }\n H && re(l.$elm$), _.$flags$ &= -2, b.length = 0;\n }\n if (C.experimentalScopedSlotChanges && $.$flags$ & 2) {\n const d = l.$elm$.__childNodes || l.$elm$.childNodes;\n for (const a of d)\n a[\"s-hn\"] !== E && !a[\"s-sh\"] && (s && a[\"s-ih\"] == null && (a[\"s-ih\"] = (f = a.hidden) != null ? f : !1), a.hidden = !0);\n }\n N = void 0;\n};\nconst Ue = (e, t, s) => {\n [null, void 0, \"\", !1].includes(s) || [\"innerHTML\", \"style\"].includes(t) || e.setAttribute(t, [\"object\", \"function\"].includes(typeof s) ? \"/!\\\\ Object props are not rendered in the code example\" : s);\n}, ue = (e, t, s, r, n) => {\n if (t && typeof t == \"string\") {\n const i = document.createElement(t);\n Object.keys(s || {}).forEach((o) => {\n Ue(i, o, s[o]);\n }), r == null || r.forEach((o) => {\n ue(i, o.$tag$, o.$attrs$, o.$children$, o.$text$);\n }), s != null && s.innerHTML && (i.innerHTML = s.innerHTML), e.appendChild(i);\n }\n n && (e.innerHTML = n);\n}, rt = (e, t) => {\n const s = {};\n if (typeof e != \"object\")\n throw new Error(\"filterArgs - args isn't an object.\");\n for (const r in e)\n if (!r.startsWith(\"slot\")) {\n const n = e[r], i = r.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n (!t || !Object.keys(t).includes(r) || t[r] !== n) && (s[i] = n);\n }\n return s;\n}, nt = (e, t) => {\n var r, n;\n const s = document.getElementById(\"storybook-root\");\n if (s !== null)\n return (n = document.querySelector(\"[lang]\")) == null || n.setAttribute(\"lang\", ((r = t.globals) == null ? void 0 : r.locale) || \"en\"), De(\n {\n $cmpMeta$: {\n $flags$: 0,\n $tagName$: s.tagName\n },\n $hostElement$: s\n },\n e(t)\n ), s.children[s.children.length - 1];\n}, it = ({ $tag$: e, $attrs$: t, $children$: s, $text$: r }) => {\n const n = document.createElement(\"div\");\n return ue(n, e, t, s, r), n.innerHTML;\n}, U = (e, t) => {\n if (!t)\n return;\n const s = t.split(\"/\");\n return `${e}${s.slice(2, s.length - 1).join(\"-\")}--docs`;\n};\nvar S, q;\nclass ot {\n constructor(t) {\n /**\n * JsonDocs\n */\n p(this, \"jsonDoc\");\n /**\n * Get component data from the jsonDoc\n * @param tagName - tag name we want to get the data from\n * @returns component data\n */\n B(this, S, (t) => this.jsonDoc.components.find((s) => s.tag === t));\n /**\n * Get the control for the given prop\n * Based on https://storybook.js.org/docs/api/arg-types#controltype\n * @param prop - prop to get control for\n * @returns control type and options if applicable\n */\n B(this, q, (t) => {\n const s = t.type.replace(/\"([^\"]+)\"/g, \"$1\").replace(/\\s/g, \"\").replace(/\\(.*?\\)/g, (r) => r.replace(/\\|/g, \" OR \")).split(\"|\").map((r) => r.trim().replace(/ OR /g, \"|\"));\n return t.type === \"string\" ? { control: { type: \"text\" } } : t.type === \"number\" ? { control: { type: \"number\" } } : t.type === \"boolean\" ? { control: { type: \"boolean\" } } : t.type.startsWith(\"{\") && t.type.endsWith(\"}\") ? { control: { type: \"object\" } } : s.length > 1 ? s.includes(\"string\") ? { control: { type: \"text\" } } : s.every((r) => r == null ? void 0 : r.includes(\"[]\")) ? { control: { type: \"object\" } } : (s.unshift(void 0), { control: { type: \"select\" }, options: s }) : { control: { type: \"object\" } };\n });\n /**\n * Extract component arg types from the component data\n * @param tagName - tag name we want to extract the arg types from\n * @returns component arg types\n */\n p(this, \"extractArgTypes\", (t) => {\n const s = x(this, S).call(this, t), r = s == null ? void 0 : s.props.reduce((u, l) => {\n const { control: d, options: a } = x(this, q).call(this, l);\n return {\n ...u,\n [l.name]: {\n name: l.attr || l.name,\n description: l.docs,\n type: { required: l.required },\n table: {\n category: \"props\",\n type: { summary: l.type },\n defaultValue: { summary: l.default }\n },\n control: d,\n options: a\n }\n };\n }, {}), n = s == null ? void 0 : s.events.reduce(\n (u, l) => ({\n ...u,\n [l.event]: {\n name: l.event,\n description: l.docs,\n table: {\n category: \"events\",\n type: { summary: l.detail }\n }\n }\n }),\n {}\n ), i = s == null ? void 0 : s.methods.reduce(\n (u, l) => ({\n ...u,\n [l.name]: {\n name: l.name,\n description: l.docs,\n table: {\n category: \"methods\",\n type: { summary: l.signature }\n }\n }\n }),\n {}\n ), o = s == null ? void 0 : s.slots.reduce(\n (u, l) => ({\n ...u,\n [l.name]: {\n name: l.name !== \"\" ? l.name : \"default\",\n // default slot are unnamed\n description: l.docs,\n table: {\n category: \"slots\",\n type: { summary: void 0 }\n }\n }\n }),\n {}\n ), f = s == null ? void 0 : s.styles.reduce(\n (u, l) => ({\n ...u,\n [l.name]: {\n name: l.name,\n description: l.docs,\n table: {\n category: \"custom properties\",\n type: { summary: void 0 }\n }\n }\n }),\n {}\n ), c = s == null ? void 0 : s.dependencies.reduce((u, l) => {\n const d = x(this, S).call(this, l);\n return {\n ...u,\n [l]: {\n name: l,\n description: `<a href=\"./?path=/docs/${U(\"\", d == null ? void 0 : d.filePath)}\">View Component Documentation</a>`,\n table: {\n category: \"depends on\",\n type: { summary: void 0 }\n }\n }\n };\n }, {}), $ = s == null ? void 0 : s.dependents.reduce((u, l) => {\n const d = x(this, S).call(this, l);\n return {\n ...u,\n [l]: {\n name: l,\n description: `<a href=\"./?path=/docs/${U(\"\", d == null ? void 0 : d.filePath)}\">View Component Documentation</a>`,\n table: {\n category: \"used by\",\n type: { summary: void 0 }\n }\n }\n };\n }, {});\n return {\n ...r,\n ...n,\n ...i,\n ...o,\n ...f,\n ...c,\n ...$\n };\n });\n /**\n * Extract component description from the component data\n * @param tagName - tag name we want to extract the description from\n * @returns component description\n */\n p(this, \"extractComponentDescription\", (t) => {\n const s = x(this, S).call(this, t);\n return (s == null ? void 0 : s.readme) || (s == null ? void 0 : s.docs);\n });\n this.jsonDoc = t;\n }\n}\nS = new WeakMap(), q = new WeakMap();\nconst qe = (e, t) => {\n if (t)\n return `${e}${t}`;\n}, de = (e) => {\n let t = e.overview ? `${e.overview}\n\n` : \"\";\n const s = e.props.filter(({ attr: n }) => n !== void 0);\n s.length && (t += `Attributes:\n`, t += s.map(({ attr: n, docs: i }) => `- \\`${n}\\`: ${i}\n`).join(\"\"), t += `\n`);\n const r = e.props.filter(({ attr: n }) => n === void 0);\n return r.length && (t += `Properties:\n`, t += r.map(({ name: n, docs: i }) => `- \\`${n}\\`: ${i}\n`).join(\"\"), t += `\n`), e.methods.length && (t += `Methods:\n`, t += e.methods.map(({ name: n, docs: i }) => `- \\`${n}\\`: ${i}\n`).join(\"\"), t += `\n`), e.events.length && (t += `Events:\n`, t += e.events.map(({ event: n, docs: i }) => `- \\`${n}\\`: ${i}\n`).join(\"\"), t += `\n`), e.listeners.length && (t += `Listeners:\n`, t += e.listeners.map(({ event: n }) => `- \\`${n}\\`\n`).join(\"\"), t += `\n`), e.slots.length && (t += `Slots:\n`, t += e.slots.map(({ name: n, docs: i }) => `- \\`${n}\\`: ${i}\n`).join(\"\"), t += `\n`), t;\n}, z = (e) => `${e.docs}\n\nType: \\`${e.type}\\``, lt = (e, t, s, r) => ({\n $schema: \"https://json.schemastore.org/web-types\",\n name: e,\n version: t,\n \"description-markup\": \"markdown\",\n contributions: {\n html: {\n elements: s.components.map((n) => {\n const i = U(r, n.filePath);\n return {\n name: n.tag,\n description: de(n),\n \"doc-url\": i,\n attributes: n.props.filter((o) => o.attr).map((o) => ({\n name: o.attr,\n description: z(o),\n \"doc-url\": i,\n value: {\n type: o.type,\n default: o.default,\n required: o.required\n }\n })),\n js: {\n properties: n.props.map((o) => ({\n name: o.name,\n description: z(o),\n \"doc-url\": i,\n value: {\n type: o.type,\n default: o.default,\n required: o.required\n }\n })),\n events: n.events.map((o) => ({\n name: o.event,\n description: o.docs\n }))\n },\n css: {\n properties: n.styles.map((o) => ({\n name: o.name,\n description: o.docs\n }))\n }\n };\n })\n }\n }\n}), Ce = (e, t, s) => [\n { name: \"Storybook\", url: U(e, s) },\n { name: \"Sources\", url: qe(t, s) }\n], Be = (e) => {\n if (!e.values.some(({ value: t }) => t === void 0))\n return e.values.map(({ value: t }) => ({ name: t }));\n}, at = (e, t, s) => ({\n version: 1.1,\n tags: e.components.map((r) => {\n const n = Ce(t, s, r.filePath);\n return {\n name: r.tag,\n description: de(r),\n attributes: r.props.map((i) => ({\n name: i.attr || i.name,\n description: z(i),\n values: Be(i),\n references: n\n })),\n references: n\n };\n }),\n globalAttributes: [],\n valueSets: []\n}), ct = (e) => ({\n version: 1.1,\n properties: e.components.flatMap(\n (t) => t.styles.map((s) => ({\n name: s.name,\n description: s.docs\n }))\n )\n}), ft = (e) => {\n const t = { value: \"2023\", pattern: \"yyyy\" }, s = { value: \"12\", pattern: \"mm\" }, r = { value: \"24\", pattern: \"dd\" };\n return ze([t.value, s.value, r.value].join(\"-\"), e, { timeZone: \"UTC\" }).replace(t.value, t.pattern).replace(s.value, s.pattern).replace(r.value, r.pattern);\n}, $t = (e) => e.toISOString().split(\"T\")[0], Pe = (e, t, s) => {\n const r = e.closest(\"[lang]\"), n = Intl.NumberFormat.supportedLocalesOf(r == null ? void 0 : r.lang), i = n.length > 0 && typeof n[0] == \"string\" ? n[0] : navigator.language || s, o = i.split(\"-\").shift();\n return Object.keys(t).length === 0 ? {\n locale: i,\n messages: { lang: s }\n } : {\n locale: i,\n messages: t[o] || t[s] || { lang: s }\n };\n}, ut = (e, t, s) => new Intl.NumberFormat(t, { style: \"currency\", currency: s }).format(e), dt = (e, t, s = 0) => new Intl.NumberFormat(t, { minimumFractionDigits: s }).format(Number(e)), gt = (e, t, s = 0) => new Intl.NumberFormat(t, {\n style: \"percent\",\n minimumFractionDigits: s,\n maximumFractionDigits: s\n}).format(e), pt = (e, t, s, r = \"short\", n = 0) => new Intl.NumberFormat(t, {\n style: \"unit\",\n unit: s,\n unitDisplay: r,\n minimumFractionDigits: n,\n maximumFractionDigits: n\n}).format(e), we = /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$/, ze = (e, t, s) => typeof e != \"string\" || e === \"\" || !we.test(e) ? \"\" : new Intl.DateTimeFormat(t, s).format(new Date(e)), ht = (e, t) => (s) => Pe(s, e, t), vt = ({ disconnect: e, observe: t, takeRecords: s }) => {\n class r {\n constructor(i) {\n /**\n *\n */\n p(this, \"disconnect\", e);\n /**\n *\n */\n p(this, \"observe\", t);\n /**\n *\n */\n p(this, \"takeRecords\", s);\n /**\n *\n */\n p(this, \"cb\");\n this.cb = i;\n }\n }\n return [window, global].forEach((n) => {\n Object.defineProperty(n, \"MutationObserver\", {\n writable: !0,\n configurable: !0,\n value: r\n });\n }), r;\n}, yt = ({ disconnect: e, observe: t }) => {\n class s {\n constructor(n) {\n /**\n *\n */\n p(this, \"disconnect\", e);\n /**\n *\n */\n p(this, \"observe\", t);\n /**\n *\n */\n p(this, \"unobserve\");\n /**\n *\n */\n p(this, \"cb\");\n this.cb = n;\n }\n }\n return [window, global].forEach((r) => {\n Object.defineProperty(r, \"ResizeObserver\", {\n writable: !0,\n configurable: !0,\n value: s\n });\n }), s;\n};\nclass Ie extends Event {\n constructor() {\n super(...arguments);\n /**\n *\n */\n p(this, \"detail\");\n }\n // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nconst mt = () => {\n class e extends Ie {\n }\n return [window, global].forEach((t) => {\n Object.defineProperty(t, \"SubmitEvent\", {\n writable: !0,\n configurable: !0,\n value: e\n });\n }), e;\n}, bt = (e) => {\n const t = (s) => (setTimeout(s, 1), e(), 0);\n return [window, global].forEach((s) => {\n Object.defineProperty(s, \"requestAnimationFrame\", {\n writable: !0,\n configurable: !0,\n value: t\n });\n }), t;\n};\nexport {\n Ze as ClassList,\n ot as StorybookPreview,\n Je as allItemsAreString,\n tt as cleanString,\n Ge as createID,\n we as dateRegExp,\n $t as dateToString,\n ht as defineLocales,\n rt as filterArgs,\n Qe as focusableElements,\n ft as getLocaleDatePattern,\n Y as getParentWindows,\n it as getStoryHTML,\n U as getStorybookUrl,\n Ye as getWindows,\n Ke as isTagName,\n et as isValidNumber,\n me as isValidString,\n Xe as isValideID,\n ut as localeCurrency,\n ze as localeDate,\n dt as localeNumber,\n gt as localePercent,\n pt as localeUnit,\n st as nextTick,\n bt as setUpRequestAnimationFrameMock,\n vt as setupMutationObserverMock,\n yt as setupResizeObserverMock,\n mt as setupSubmitEventMock,\n nt as stencilWrapper,\n Ve as toString,\n ct as vsCodeCssGenerator,\n at as vsCodeGenerator,\n lt as webTypesGenerator\n};\n//# sourceMappingURL=index.es.js.map\n"],"version":3}
|
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
import { h as ht } from './index.es.js';
|
|
2
2
|
|
|
3
3
|
const errors$1 = {
|
|
4
|
-
required: "This field is required."
|
|
5
|
-
date: {
|
|
6
|
-
badInput: "The date is incorrect, the format must be {pattern}",
|
|
7
|
-
min: "The date cannot be earlier than {min}",
|
|
8
|
-
max: "The date cannot be later than {max}",
|
|
9
|
-
minMax: "The date must be between {min} and {max}"
|
|
10
|
-
},
|
|
11
|
-
numeric: {
|
|
12
|
-
min: "The value cannot be less than {min}",
|
|
13
|
-
max: "The value cannot be greater than {max}",
|
|
14
|
-
minMax: "The value must be between {min} and {max}"
|
|
15
|
-
}
|
|
4
|
+
required: "This field is required."
|
|
16
5
|
};
|
|
17
6
|
const nbCharLeft$1 = "{counter} characters left.";
|
|
18
7
|
const input$1 = {
|
|
@@ -33,29 +22,54 @@ const input$1 = {
|
|
|
33
22
|
sections: {
|
|
34
23
|
selected: {
|
|
35
24
|
title: "Selected",
|
|
36
|
-
|
|
25
|
+
titlePlural: "Selected",
|
|
37
26
|
action: "Unselect all",
|
|
38
27
|
tooltip: "Unselect all current search results"
|
|
39
28
|
},
|
|
40
29
|
notSelected: {
|
|
41
30
|
title: "Not selected",
|
|
42
|
-
|
|
31
|
+
titlePlural: "Not selected",
|
|
43
32
|
action: "Select all",
|
|
44
33
|
tooltip: "Select all current search results"
|
|
45
34
|
}
|
|
46
35
|
}
|
|
47
36
|
},
|
|
48
37
|
date: {
|
|
49
|
-
helpText: "Expected format: {pattern} (ex: {date})",
|
|
50
38
|
pattern: {
|
|
51
39
|
dd: "dd",
|
|
52
40
|
mm: "mm",
|
|
53
41
|
yyyy: "yyyy"
|
|
42
|
+
},
|
|
43
|
+
helpText: {
|
|
44
|
+
expectedFormat: "Expected format: {pattern} (ex: {date})",
|
|
45
|
+
min: "The date must be after {min}",
|
|
46
|
+
max: "The date must be before {max}",
|
|
47
|
+
minMax: "The date must be between {min} and {max}"
|
|
48
|
+
},
|
|
49
|
+
error: {
|
|
50
|
+
badInput: "The date is incorrect, the format must be {pattern} (ex: {date})"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
numeric: {
|
|
54
|
+
helpText: {
|
|
55
|
+
min: "The value must be greater than {min}",
|
|
56
|
+
max: "The value must be less than {max}",
|
|
57
|
+
minMax: "The value must be between {min} and {max}"
|
|
54
58
|
}
|
|
55
59
|
},
|
|
56
60
|
password: {
|
|
57
61
|
display: "Display password value",
|
|
58
62
|
hide: "Hide password value"
|
|
63
|
+
},
|
|
64
|
+
text: {
|
|
65
|
+
helpText: {
|
|
66
|
+
email: "Expected format: name@example.com",
|
|
67
|
+
emails: "Expected format: first@example.com, second@example.com",
|
|
68
|
+
url: "Expected format: https://example.com"
|
|
69
|
+
},
|
|
70
|
+
errors: {
|
|
71
|
+
typeMismatch: "The value is incorrect."
|
|
72
|
+
}
|
|
59
73
|
}
|
|
60
74
|
};
|
|
61
75
|
const form$1 = {
|
|
@@ -102,7 +116,10 @@ const actionMore$1 = {
|
|
|
102
116
|
label: "Actions"
|
|
103
117
|
};
|
|
104
118
|
const loader$1 = {
|
|
105
|
-
|
|
119
|
+
inProgress: "Loading in progress…"
|
|
120
|
+
};
|
|
121
|
+
const table$1 = {
|
|
122
|
+
sortableCaption: "(column headers with buttons are sortable)"
|
|
106
123
|
};
|
|
107
124
|
const en = {
|
|
108
125
|
errors: errors$1,
|
|
@@ -118,22 +135,12 @@ const en = {
|
|
|
118
135
|
menuItem: menuItem$1,
|
|
119
136
|
itemMore: itemMore$1,
|
|
120
137
|
actionMore: actionMore$1,
|
|
121
|
-
loader: loader$1
|
|
138
|
+
loader: loader$1,
|
|
139
|
+
table: table$1
|
|
122
140
|
};
|
|
123
141
|
|
|
124
142
|
const errors = {
|
|
125
|
-
required: "Ce champ est obligatoire."
|
|
126
|
-
date: {
|
|
127
|
-
badInput: "La date est incorrecte, le format doit être du type {pattern}",
|
|
128
|
-
min: "La date ne peut pas être antérieure au {min}",
|
|
129
|
-
max: "La date ne peut pas être postérieure au {max}",
|
|
130
|
-
minMax: "La date doit être comprise entre le {min} et le {max}"
|
|
131
|
-
},
|
|
132
|
-
numeric: {
|
|
133
|
-
min: "La valeur ne peut pas être inférieure à {min}",
|
|
134
|
-
max: "La valeur ne peut pas être supérieure à {max}",
|
|
135
|
-
minMax: "La valeur doit être comprise entre {min} et {max}"
|
|
136
|
-
}
|
|
143
|
+
required: "Ce champ est obligatoire."
|
|
137
144
|
};
|
|
138
145
|
const nbCharLeft = "{counter} caractères disponibles.";
|
|
139
146
|
const input = {
|
|
@@ -141,42 +148,67 @@ const input = {
|
|
|
141
148
|
placeholder: "Sélectionnez une valeur"
|
|
142
149
|
},
|
|
143
150
|
checkbox: {
|
|
144
|
-
selectedValues: "{nb} valeurs
|
|
145
|
-
selectedValue: "{nb} valeur
|
|
151
|
+
selectedValues: "{nb} valeurs sélectionnées",
|
|
152
|
+
selectedValue: "{nb} valeur sélectionnée",
|
|
146
153
|
editButton: "Modifier",
|
|
147
154
|
selectButton: "Sélectionner des valeurs",
|
|
148
155
|
showButton: "Voir",
|
|
149
156
|
label: "Saisissez une valeur",
|
|
150
157
|
result: "résultat",
|
|
151
158
|
results: "résultats",
|
|
152
|
-
searchResults: "
|
|
159
|
+
searchResults: "Liste de résultat(s) de la recherche.",
|
|
153
160
|
noResult: "Aucun résultat.",
|
|
154
161
|
sections: {
|
|
155
162
|
selected: {
|
|
156
163
|
title: "Sélectionné",
|
|
157
|
-
|
|
164
|
+
titlePlural: "Sélectionnés",
|
|
158
165
|
action: "Tout désélectionner",
|
|
159
166
|
tooltip: "Désélectionne tous les résultats de la recherche en cours"
|
|
160
167
|
},
|
|
161
168
|
notSelected: {
|
|
162
169
|
title: "Non sélectionné",
|
|
163
|
-
|
|
170
|
+
titlePlural: "Non sélectionnés",
|
|
164
171
|
action: "Tout sélectionner",
|
|
165
172
|
tooltip: "Sélectionne tous les résultats de la recherche en cours"
|
|
166
173
|
}
|
|
167
174
|
}
|
|
168
175
|
},
|
|
169
176
|
date: {
|
|
170
|
-
helpText: "Format attendu : {pattern} (ex : {date})",
|
|
171
177
|
pattern: {
|
|
172
178
|
dd: "jj",
|
|
173
179
|
mm: "mm",
|
|
174
180
|
yyyy: "aaaa"
|
|
181
|
+
},
|
|
182
|
+
helpText: {
|
|
183
|
+
expectedFormat: "Format attendu : {pattern} (ex : {date})",
|
|
184
|
+
min: "La date doit être postérieure au {min}",
|
|
185
|
+
max: "La date doit être antérieure au {max}",
|
|
186
|
+
minMax: "La date doit être comprise entre le {min} et le {max}"
|
|
187
|
+
},
|
|
188
|
+
error: {
|
|
189
|
+
badInput: "La date est incorrecte, le format doit être du type {pattern} (ex : {date})"
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
numeric: {
|
|
193
|
+
helpText: {
|
|
194
|
+
min: "La valeur doit être supérieure à {min}",
|
|
195
|
+
max: "La valeur doit être inférieure à {max}",
|
|
196
|
+
minMax: "La valeur doit être comprise entre {min} et {max}"
|
|
175
197
|
}
|
|
176
198
|
},
|
|
177
199
|
password: {
|
|
178
200
|
display: "Afficher le mot de passe",
|
|
179
201
|
hide: "Masquer le mot de passe"
|
|
202
|
+
},
|
|
203
|
+
text: {
|
|
204
|
+
helpText: {
|
|
205
|
+
email: "Format attendu : nom@exemple.fr",
|
|
206
|
+
emails: "Format attendu : premier@exemple.fr, second@exemple.fr",
|
|
207
|
+
url: "Format attendu : https://exemple.fr"
|
|
208
|
+
},
|
|
209
|
+
errors: {
|
|
210
|
+
typeMismatch: "La valeur est incorrecte."
|
|
211
|
+
}
|
|
180
212
|
}
|
|
181
213
|
};
|
|
182
214
|
const form = {
|
|
@@ -223,7 +255,10 @@ const actionMore = {
|
|
|
223
255
|
label: "Actions"
|
|
224
256
|
};
|
|
225
257
|
const loader = {
|
|
226
|
-
|
|
258
|
+
inProgress: "Chargement en cours…"
|
|
259
|
+
};
|
|
260
|
+
const table = {
|
|
261
|
+
sortableCaption: "(les en-têtes de colonnes avec des boutons peuvent être triés)"
|
|
227
262
|
};
|
|
228
263
|
const fr = {
|
|
229
264
|
errors: errors,
|
|
@@ -239,7 +274,8 @@ const fr = {
|
|
|
239
274
|
menuItem: menuItem,
|
|
240
275
|
itemMore: itemMore,
|
|
241
276
|
actionMore: actionMore,
|
|
242
|
-
loader: loader
|
|
277
|
+
loader: loader,
|
|
278
|
+
table: table
|
|
243
279
|
};
|
|
244
280
|
|
|
245
281
|
const defaultLocale = 'en';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index2.js","mappings":"
|
|
1
|
+
{"file":"index2.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,QAAQ,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAE5B;;;;;MAKa,WAAW,GAAGA,EAAa,CAAC,QAAQ,EAAE,aAAa;;;;","names":["defineLocales"],"sources":["src/locales/index.ts"],"sourcesContent":["import en from './en/messages.json';\nimport fr from './fr/messages.json';\nimport { defineLocales } from '@mgdis/stencil-helpers';\n\nconst defaultLocale = 'en';\nconst messages = { en, fr };\n\n/**\n * Get Intl object\n * @param element - element we need to get the language\n * @returns messages object\n */\nexport const initLocales = defineLocales(messages, defaultLocale);\n"],"version":3}
|
|
@@ -101,7 +101,7 @@ const MgButton = /*@__PURE__*/ proxyCustomElement(class MgButton extends HTMLEle
|
|
|
101
101
|
this.setIconSize = () => {
|
|
102
102
|
var _a, _b;
|
|
103
103
|
if (this.size === 'medium') {
|
|
104
|
-
(_a = this.element.querySelector('mg-icon')) === null || _a === void 0 ? void 0 : _a.removeAttribute('size');
|
|
104
|
+
(_a = this.element.querySelector('mg-icon[size]')) === null || _a === void 0 ? void 0 : _a.removeAttribute('size');
|
|
105
105
|
}
|
|
106
106
|
else if (this.isIcon) {
|
|
107
107
|
(_b = this.element.querySelector('mg-icon')) === null || _b === void 0 ? void 0 : _b.setAttribute('size', this.size);
|
|
@@ -167,7 +167,13 @@ const MgButton = /*@__PURE__*/ proxyCustomElement(class MgButton extends HTMLEle
|
|
|
167
167
|
// emit value update
|
|
168
168
|
this.disabledChange.emit(isDisabled);
|
|
169
169
|
}
|
|
170
|
-
watchIsIcon() {
|
|
170
|
+
watchIsIcon(newValue) {
|
|
171
|
+
if (newValue) {
|
|
172
|
+
this.classCollection.add(`mg-c-button--icon`);
|
|
173
|
+
if (!me(this.label)) {
|
|
174
|
+
throw new Error(`<mg-button> prop "label" is mandatory when prop "isIcon" is set to true.`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
171
177
|
this.setIconSize();
|
|
172
178
|
}
|
|
173
179
|
loadingHandler(newValue) {
|
|
@@ -186,13 +192,7 @@ const MgButton = /*@__PURE__*/ proxyCustomElement(class MgButton extends HTMLEle
|
|
|
186
192
|
this.validateVariant(this.variant);
|
|
187
193
|
this.validateFullWidth(this.fullWidth);
|
|
188
194
|
this.validateSize(this.size);
|
|
189
|
-
this.watchIsIcon();
|
|
190
|
-
if (this.isIcon) {
|
|
191
|
-
this.classCollection.add(`mg-c-button--icon`);
|
|
192
|
-
if (!me(this.label)) {
|
|
193
|
-
throw new Error(`<mg-button> prop "label" is mandatory when prop "isIcon" is set to true.`);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
195
|
+
this.watchIsIcon(this.isIcon);
|
|
196
196
|
// Store the onclick fn
|
|
197
197
|
this.onClickElementFn = this.element.onclick;
|
|
198
198
|
this.disabledHandler(this.disabled);
|
|
@@ -218,7 +218,7 @@ const MgButton = /*@__PURE__*/ proxyCustomElement(class MgButton extends HTMLEle
|
|
|
218
218
|
*/
|
|
219
219
|
render() {
|
|
220
220
|
var _a;
|
|
221
|
-
return (h(Host, { key: '
|
|
221
|
+
return (h(Host, { key: 'bb6328d9245f36de9f6f3d503b16961fc34206fc', role: "button", tabIndex: 0, type: this.type, form: this.form, "full-width": this.fullWidth, "aria-label": this.label, "aria-disabled": (_a = this.disabled) === null || _a === void 0 ? void 0 : _a.toString(), onClick: this.handleClick, onKeyup: this.handleKeyup, onKeydown: this.handleKeydown }, h("div", { key: '9c7c1adfb0c6752d745bfb0b407f6be65c08b82a', class: this.classCollection.join() }, this.loading && h("mg-icon", { key: '0d6471de739aa33ec60e69aab941c73eadefab54', icon: "loader", spin: true }), h("div", { key: 'cecf5647a5dcb0538e514abf47bc09ab1efcfc9c', class: "mg-c-button__content" }, h("slot", { key: '15a6d2e63e6ec4668697bf74f2271432598faf06' })))));
|
|
222
222
|
}
|
|
223
223
|
get element() { return this; }
|
|
224
224
|
static get watchers() { return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"mg-button2.js","mappings":"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","names":["ClassList","toString","isValidString","nextTick"],"sources":["src/components/atoms/mg-button/mg-button.conf.ts","../styles/dist/components/mg-button.css?tag=mg-button&encapsulation=shadow","src/components/atoms/mg-button/mg-button.tsx"],"sourcesContent":["import type { Variant, Size } from '../../../types';\n\n/**\n * List of all possibles sizes\n */\nexport const sizes = ['medium', 'large'] as const;\n\n/**\n * SizeType type from button sizes\n */\nexport type SizeType = Size & (typeof sizes)[number];\n\n/**\n * List of all possibles variants\n */\nexport const variants = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'] as const;\n\n/**\n * VariantType type from button variants\n */\nexport type VariantType = Variant & (typeof variants)[number];\n\n/**\n * List of all possibles button types\n */\nexport const buttonTypes = ['button', 'submit', 'reset'] as const;\n\n/**\n * ButtonType type from buttonTypes\n */\nexport type ButtonType = (typeof buttonTypes)[number];\n","/*!\n * @prop --mg-c-button-border-radius: Defines the border radius of the button. The default value is `--mg-b-size-radius`.\n * @prop --mg-c-button-border-top-width: Defines the top border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-right-width: Defines the right border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-bottom-width: Defines the bottom border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-left-width: Defines the left border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-radius-top-left: Defines the top left border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-border-radius-top-right: Defines the top right border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-border-radius-bottom-right: Defines the bottom right border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-border-radius-bottom-left: Defines the bottom left border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-font-weight: Defines the font weight of the button. Unset by default, fallback on `normal`.\n * @prop --mg-c-button-icon-border-radius: Defines the border radius of the button in icon mode. The default value is `--mg-b-size-min-height`.\n */:host{display:inline-block;max-width:100%;vertical-align:middle}:host(:hover) .mg-c-button--flat:not(.mg-c-button--disabled){background:color-mix(in srgb, var(--mg-b-color-dark), transparent 90%)}:host([full-width]){display:block}:host([disabled]),:host([aria-disabled=true]){pointer-events:none}.mg-c-button.mg-c-button--primary{/*!\n * @prop --mg-c-button-color-background-primary: Defines the background color for the primary variant button.\n * @prop --mg-c-button-color-border-primary: Defines the border color for the primary variant button.\n * @prop --mg-c-button-color-gradient-primary: Defines the gradient color for the primary variant button.\n * @prop --mg-c-button-color-text-primary: Defines the font color for the primary variant button.\n */border-color:var(--mg-c-button-color-border-primary);background:linear-gradient(to bottom, var(--mg-c-button-color-background-primary), var(--mg-c-button-color-gradient-primary));color:var(--mg-c-button-color-text-primary)}:host(:hover) .mg-c-button.mg-c-button--primary:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-primary)}.mg-c-button.mg-c-button--secondary{/*!\n * @prop --mg-c-button-color-background-secondary: Defines the background color for the secondary variant button.\n * @prop --mg-c-button-color-border-secondary: Defines the border color for the secondary variant button.\n * @prop --mg-c-button-color-gradient-secondary: Defines the gradient color for the secondary variant button.\n * @prop --mg-c-button-color-text-secondary: Defines the font color for the secondary variant button.\n */border-color:var(--mg-c-button-color-border-secondary);background:linear-gradient(to bottom, var(--mg-c-button-color-background-secondary), var(--mg-c-button-color-gradient-secondary));color:var(--mg-c-button-color-text-secondary)}:host(:hover) .mg-c-button.mg-c-button--secondary:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-secondary)}.mg-c-button.mg-c-button--danger{/*!\n * @prop --mg-c-button-color-background-danger: Defines the background color for the danger variant button.\n * @prop --mg-c-button-color-border-danger: Defines the border color for the danger variant button.\n * @prop --mg-c-button-color-gradient-danger: Defines the gradient color for the danger variant button.\n * @prop --mg-c-button-color-text-danger: Defines the font color for the danger variant button.\n */border-color:var(--mg-c-button-color-border-danger);background:linear-gradient(to bottom, var(--mg-c-button-color-background-danger), var(--mg-c-button-color-gradient-danger));color:var(--mg-c-button-color-text-danger)}:host(:hover) .mg-c-button.mg-c-button--danger:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-danger)}.mg-c-button.mg-c-button--info{/*!\n * @prop --mg-c-button-color-background-info: Defines the background color for the info variant button.\n * @prop --mg-c-button-color-border-info: Defines the border color for the info variant button.\n * @prop --mg-c-button-color-gradient-info: Defines the gradient color for the info variant button.\n * @prop --mg-c-button-color-text-info: Defines the font color for the info variant button.\n */border-color:var(--mg-c-button-color-border-info);background:linear-gradient(to bottom, var(--mg-c-button-color-background-info), var(--mg-c-button-color-gradient-info));color:var(--mg-c-button-color-text-info)}:host(:hover) .mg-c-button.mg-c-button--info:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-info)}.mg-c-button.mg-c-button--success{/*!\n * @prop --mg-c-button-color-background-success: Defines the background color for the success variant button.\n * @prop --mg-c-button-color-border-success: Defines the border color for the success variant button.\n * @prop --mg-c-button-color-gradient-success: Defines the gradient color for the success variant button.\n * @prop --mg-c-button-color-text-success: Defines the font color for the success variant button.\n */border-color:var(--mg-c-button-color-border-success);background:linear-gradient(to bottom, var(--mg-c-button-color-background-success), var(--mg-c-button-color-gradient-success));color:var(--mg-c-button-color-text-success)}:host(:hover) .mg-c-button.mg-c-button--success:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-success)}.mg-c-button.mg-c-button--warning{/*!\n * @prop --mg-c-button-color-background-warning: Defines the background color for the warning variant button.\n * @prop --mg-c-button-color-border-warning: Defines the border color for the warning variant button.\n * @prop --mg-c-button-color-gradient-warning: Defines the gradient color for the warning variant button.\n * @prop --mg-c-button-color-text-warning: Defines the font color for the warning variant button.\n */border-color:var(--mg-c-button-color-border-warning);background:linear-gradient(to bottom, var(--mg-c-button-color-background-warning), var(--mg-c-button-color-gradient-warning));color:var(--mg-c-button-color-text-warning)}:host(:hover) .mg-c-button.mg-c-button--warning:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-warning)}.mg-c-button.mg-c-button--danger-alt{/*!\n * @prop --mg-c-button-color-background-danger-alt: Defines the background color for the danger-alt variant button.\n * @prop --mg-c-button-color-border-danger-alt: Defines the border color for the danger-alt variant button.\n * @prop --mg-c-button-color-gradient-danger-alt: Defines the gradient color for the danger-alt variant button.\n * @prop --mg-c-button-color-text-danger-alt: Defines the font color for the danger-alt variant button.\n */border-color:var(--mg-c-button-color-border-danger-alt);background:linear-gradient(to bottom, var(--mg-c-button-color-background-danger-alt), var(--mg-c-button-color-gradient-danger-alt));color:var(--mg-c-button-color-text-danger-alt)}:host(:hover) .mg-c-button.mg-c-button--danger-alt:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-danger-alt)}.mg-c-button{position:relative;display:inline-flex;min-height:var(--mg-b-size-min-height);box-sizing:border-box;align-items:center;padding:calc((var(--mg-b-size-min-height) - 2*var(--mg-b-size-border) - var(--mg-b-font-size)*var(--mg-b-line-height))/2) var(--mg-b-size-12);border-width:var(--mg-c-button-border-top-width, var(--mg-b-size-border)) var(--mg-c-button-border-right-width, var(--mg-b-size-border)) var(--mg-c-button-border-bottom-width, var(--mg-b-size-border)) var(--mg-c-button-border-left-width, var(--mg-b-size-border));border-style:solid;border-radius:var(--mg-c-button-border-radius-top-left, var(--mg-c-button-border-radius)) var(--mg-c-button-border-radius-top-right, var(--mg-c-button-border-radius)) var(--mg-c-button-border-radius-bottom-right, var(--mg-c-button-border-radius)) var(--mg-c-button-border-radius-bottom-left, var(--mg-c-button-border-radius));background-image:none;column-gap:var(--mg-b-size-8);cursor:pointer;touch-action:manipulation;font-family:inherit;font-size:var(--mg-b-font-size);font-weight:var(--mg-c-button-font-weight, normal);text-align:left;text-decoration:none}.mg-c-button slot,.mg-c-button ::slotted(*:not(mg-icon)){font-family:inherit;font-size:var(--mg-b-font-size);font-weight:var(--mg-c-button-font-weight, normal);text-align:left;text-decoration:none;display:flex;align-items:center;column-gap:var(--mg-b-size-8)}.mg-c-button mg-icon:only-child,.mg-c-button ::slotted(mg-icon){display:inline-flex;flex-shrink:0;margin:auto 0;line-height:1}.mg-c-button.mg-c-button--disabled{cursor:default;opacity:var(--mg-b-opacity-element-disabled)}.mg-c-button.mg-c-button--flat{border:none;background:none}.mg-c-button.mg-c-button--link{min-height:unset;padding:unset;border:unset;border-radius:unset;background:unset;text-decoration:underline}.mg-c-button.mg-c-button--link slot{font-weight:600}.mg-c-button.mg-c-button--link:hover{text-decoration:none}.mg-c-button.mg-c-button--large{padding:calc(var(--mg-b-size-12) - var(--mg-b-size-border)) calc(var(--mg-b-size-24) - var(--mg-b-size-border))}.mg-c-button.mg-c-button--large:not(.mg-c-button--icon){line-height:var(--mg-b-size-24)}.mg-c-button.mg-c-button--large:not(.mg-c-button--icon) slot,.mg-c-button.mg-c-button--large:not(.mg-c-button--icon) ::slotted(*){font-size:var(--mg-b-size-16)}.mg-c-button.mg-c-button--icon{width:var(--mg-b-size-min-height);height:var(--mg-b-size-min-height);justify-content:center;padding:0;border-radius:var(--mg-c-button-border-radius-top-left, var(--mg-c-button-icon-border-radius)) var(--mg-c-button-border-radius-top-right, var(--mg-c-button-icon-border-radius)) var(--mg-c-button-border-radius-bottom-right, var(--mg-c-button-icon-border-radius)) var(--mg-c-button-border-radius-bottom-left, var(--mg-c-button-icon-border-radius));font-size:var(--mg-b-font-size);line-height:var(--mg-b-font-size)}.mg-c-button.mg-c-button--icon.mg-c-button--large{width:unset;height:unset;padding:calc(var(--mg-b-size-12) - var(--mg-b-size-border))}.mg-c-button.mg-c-button--icon.mg-c-button--large ::slotted(*){min-width:var(--mg-b-size-24);min-height:var(--mg-b-size-24);align-items:center;justify-content:center}.mg-c-button.mg-c-button--full-width{display:flex;justify-content:center}.mg-c-button.mg-c-button--loading>mg-icon:first-of-type{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.mg-c-button.mg-c-button--loading .mg-c-button__content{opacity:0}:host(:focus-visible){outline:0}:host(:focus-visible) .mg-c-button{outline-color:-webkit-focus-ring-color;outline-style:auto;outline-width:.2rem}/*# sourceMappingURL=mg-button.css.map */\n","import { Component, Element, h, Prop, State, Watch, Host, EventEmitter, Event } from '@stencil/core';\nimport { variants, VariantType, ButtonType, SizeType, sizes } from './mg-button.conf';\nimport { ClassList, isValidString, nextTick, toString } from '@mgdis/stencil-helpers';\n\n/**\n * @slot - Button content\n */\n@Component({\n tag: 'mg-button',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-button.css',\n shadow: true,\n})\nexport class MgButton {\n /************\n * Internal *\n ************/\n\n private onClickElementFn = null;\n private readonly classDisabled = 'mg-c-button--disabled';\n private readonly classLoading = 'mg-c-button--loading';\n private readonly classFullWidth = 'mg-c-button--full-width';\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgButtonElement;\n\n /**\n * Define button variant\n */\n @Prop({ mutable: true }) variant: VariantType = variants[0]; // Primary\n @Watch('variant')\n validateVariant(newValue: VariantType, oldValue?: VariantType): void {\n // validate new value\n if (!variants.includes(newValue)) {\n if ((newValue as string) === '') {\n // Reactive framework like VUE render with `\"\"` when prop is update to undefined\n this.variant = variants[0];\n return;\n }\n throw new Error(`<mg-button> prop \"variant\" must be one of: ${variants.join(', ')}. Passed value: ${toString(newValue)}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-c-button--${oldValue}`);\n }\n this.classCollection.add(`mg-c-button--${newValue}`);\n }\n }\n\n /**\n * aria-label\n * In case button text is not explicit enough\n */\n @Prop() label?: string;\n\n /**\n * Define button type\n */\n @Prop() type?: ButtonType;\n\n /**\n * Define button size\n */\n @Prop() size: SizeType = sizes[0]; // medium\n @Watch('size')\n validateSize(newValue: MgButton['size'], oldValue?: MgButton['size']): void {\n // validate new value\n if (!sizes.includes(newValue)) {\n throw new Error(`<mg-button> prop \"size\" must be one of: ${sizes.join(', ')}. Passed value: ${toString(newValue)}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-c-button--${oldValue}`);\n }\n this.classCollection.add(`mg-c-button--${newValue}`);\n this.setIconSize();\n }\n }\n\n /**\n * Set button to full-width\n */\n @Prop() fullWidth = false;\n @Watch('fullWidth')\n validateFullWidth(newValue: MgButton['fullWidth']): void {\n if (newValue && this.isIcon) {\n throw new Error('<mg-button> prop \"fullWidth\" cannot be used with prop \"isIcon\".');\n } else if (newValue) {\n this.classCollection.add(this.classFullWidth);\n } else {\n this.classCollection.delete(this.classFullWidth);\n }\n }\n\n /**\n * Define form id to attach button with.\n * If this attribute is not set, the `<button>` is associated with its ancestor `<form>` element.\n */\n @Prop() form?: string;\n\n /**\n * Disable button\n */\n @Prop({ mutable: true }) disabled?: boolean;\n @Watch('disabled')\n disabledHandler(isDisabled: MgButton['disabled']): void {\n // Remove loading when enable\n // Will be set back onclick\n if (!isDisabled && this.disableOnClick) {\n this.loading = false;\n }\n // Manage if onclick\n this.element.onclick = isDisabled ? undefined : this.onClickElementFn;\n\n // apply style\n if (isDisabled) {\n this.classCollection.add(this.classDisabled);\n } else {\n this.classCollection.delete(this.classDisabled);\n }\n\n // emit value update\n this.disabledChange.emit(isDisabled);\n }\n /**\n * Define if button is round.\n * Used for icon button.\n */\n @Prop() isIcon = false;\n @Watch('isIcon')\n watchIsIcon(): void {\n this.setIconSize();\n }\n\n /**\n * Option to set input disable on click, in order to prevent multi-click.\n * Parent component have to remove the attribute 'disabled' when the process ends.\n */\n @Prop() disableOnClick = false;\n\n /**\n * Define if button is loading, default to false.\n * Trigger when button is clicked or key-up ['enter', 'space], then value change to true.\n * It's required to reset to false when action/promise in parent is done to stop the loading state\n */\n @State() loading = false;\n @Watch('loading')\n loadingHandler(newValue: MgButton['loading']): void {\n // we add loading style if it newvalue is true else we remove it\n if (newValue) {\n this.classCollection.add(this.classLoading);\n } else {\n this.classCollection.delete(this.classLoading);\n }\n }\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-button']);\n\n /**\n * Emmited event when disabled change\n */\n @Event({ eventName: 'disabled-change' }) disabledChange: EventEmitter<HTMLMgButtonElement['disabled']>;\n\n /**\n * Trigger actions onClick event\n * @param event - click event\n */\n private handleClick = (event: MouseEvent): void => {\n if (this.disabled) event.stopPropagation();\n // Used to prevent multi-click.\n else if (this.disableOnClick) {\n this.loading = true;\n this.disabled = true;\n }\n };\n\n /**\n * Handle onKeydown event\n * @param event - keyboard event\n */\n private handleKeydown = (event: KeyboardEvent): void => {\n if (!this.disabled && event.key === ' ') {\n event.preventDefault();\n } else if (!this.disabled && ['Enter', 'NumpadEnter', 'Space'].includes(event.key)) {\n event.preventDefault();\n this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n }\n };\n\n /**\n * Handle onKeyup event\n * @param event - keyboard event\n */\n private handleKeyup = (event: KeyboardEvent): void => {\n if (!this.disabled && event.key === ' ') {\n event.preventDefault();\n this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n }\n };\n\n /**\n * Set child `<mg-icon>` element `size` prop to follow the current `size` prop\n */\n private setIconSize = (): void => {\n if (this.size === 'medium') {\n this.element.querySelector('mg-icon')?.removeAttribute('size');\n } else if (this.isIcon) {\n this.element.querySelector('mg-icon')?.setAttribute('size', this.size);\n }\n };\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.validateVariant(this.variant);\n this.validateFullWidth(this.fullWidth);\n this.validateSize(this.size);\n this.watchIsIcon();\n if (this.isIcon) {\n this.classCollection.add(`mg-c-button--icon`);\n if (!isValidString(this.label)) {\n throw new Error(`<mg-button> prop \"label\" is mandatory when prop \"isIcon\" is set to true.`);\n }\n }\n // Store the onclick fn\n this.onClickElementFn = this.element.onclick;\n this.disabledHandler(this.disabled);\n }\n\n /**\n * Add listners\n */\n componentDidLoad(): void {\n nextTick(() => {\n const closestForm = this.element.closest('form') || this.element.closest('mg-form')?.shadowRoot.querySelector('form');\n // submit buttons should trigger form submition;\n if (closestForm && ['submit', undefined].includes(this.type)) {\n this.element.addEventListener('click', () => {\n closestForm.dispatchEvent(new SubmitEvent('submit', { bubbles: true, cancelable: true }));\n });\n }\n });\n }\n\n /**\n * Render component\n * @returns html element\n */\n render(): HTMLElement {\n return (\n <Host\n role=\"button\"\n tabIndex={0}\n type={this.type}\n form={this.form}\n full-width={this.fullWidth}\n aria-label={this.label}\n aria-disabled={this.disabled?.toString()}\n onClick={this.handleClick}\n onKeyup={this.handleKeyup}\n onKeydown={this.handleKeydown}\n >\n <div class={this.classCollection.join()}>\n {this.loading && <mg-icon icon=\"loader\" spin></mg-icon>}\n <div class=\"mg-c-button__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"mg-button2.js","mappings":"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","names":["ClassList","toString","isValidString","nextTick"],"sources":["src/components/atoms/mg-button/mg-button.conf.ts","../styles/dist/components/mg-button.css?tag=mg-button&encapsulation=shadow","src/components/atoms/mg-button/mg-button.tsx"],"sourcesContent":["import type { Variant, Size } from '../../../types';\n\n/**\n * List of all possibles sizes\n */\nexport const sizes = ['medium', 'large'] as const;\n\n/**\n * SizeType type from button sizes\n */\nexport type SizeType = Size & (typeof sizes)[number];\n\n/**\n * List of all possibles variants\n */\nexport const variants = ['primary', 'secondary', 'danger', 'danger-alt', 'info', 'flat', 'success', 'link'] as const;\n\n/**\n * VariantType type from button variants\n */\nexport type VariantType = Variant & (typeof variants)[number];\n\n/**\n * List of all possibles button types\n */\nexport const buttonTypes = ['button', 'submit', 'reset'] as const;\n\n/**\n * ButtonType type from buttonTypes\n */\nexport type ButtonType = (typeof buttonTypes)[number];\n","/*!\n * @prop --mg-c-button-border-radius: Defines the border radius of the button. The default value is `--mg-b-size-radius`.\n * @prop --mg-c-button-border-top-width: Defines the top border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-right-width: Defines the right border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-bottom-width: Defines the bottom border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-left-width: Defines the left border width of the button. Unset by default, fallback on `--mg-b-size-border`.\n * @prop --mg-c-button-border-radius-top-left: Defines the top left border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-border-radius-top-right: Defines the top right border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-border-radius-bottom-right: Defines the bottom right border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-border-radius-bottom-left: Defines the bottom left border radius of the button. Unset by default, fallback on `--mg-c-button-border-radius`.\n * @prop --mg-c-button-font-weight: Defines the font weight of the button. Unset by default, fallback on `normal`.\n * @prop --mg-c-button-icon-border-radius: Defines the border radius of the button in icon mode. The default value is `--mg-b-size-min-height`.\n */:host{display:inline-block;max-width:100%;vertical-align:middle}:host(:hover) .mg-c-button--flat:not(.mg-c-button--disabled){background:color-mix(in srgb, var(--mg-b-color-dark), transparent 90%)}:host([full-width]){display:block}:host([disabled]),:host([aria-disabled=true]){pointer-events:none}.mg-c-button.mg-c-button--primary{/*!\n * @prop --mg-c-button-color-background-primary: Defines the background color for the primary variant button.\n * @prop --mg-c-button-color-border-primary: Defines the border color for the primary variant button.\n * @prop --mg-c-button-color-gradient-primary: Defines the gradient color for the primary variant button.\n * @prop --mg-c-button-color-text-primary: Defines the font color for the primary variant button.\n */border-color:var(--mg-c-button-color-border-primary);background:linear-gradient(to bottom, var(--mg-c-button-color-background-primary), var(--mg-c-button-color-gradient-primary));color:var(--mg-c-button-color-text-primary)}:host(:hover) .mg-c-button.mg-c-button--primary:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-primary)}.mg-c-button.mg-c-button--secondary{/*!\n * @prop --mg-c-button-color-background-secondary: Defines the background color for the secondary variant button.\n * @prop --mg-c-button-color-border-secondary: Defines the border color for the secondary variant button.\n * @prop --mg-c-button-color-gradient-secondary: Defines the gradient color for the secondary variant button.\n * @prop --mg-c-button-color-text-secondary: Defines the font color for the secondary variant button.\n */border-color:var(--mg-c-button-color-border-secondary);background:linear-gradient(to bottom, var(--mg-c-button-color-background-secondary), var(--mg-c-button-color-gradient-secondary));color:var(--mg-c-button-color-text-secondary)}:host(:hover) .mg-c-button.mg-c-button--secondary:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-secondary)}.mg-c-button.mg-c-button--danger{/*!\n * @prop --mg-c-button-color-background-danger: Defines the background color for the danger variant button.\n * @prop --mg-c-button-color-border-danger: Defines the border color for the danger variant button.\n * @prop --mg-c-button-color-gradient-danger: Defines the gradient color for the danger variant button.\n * @prop --mg-c-button-color-text-danger: Defines the font color for the danger variant button.\n */border-color:var(--mg-c-button-color-border-danger);background:linear-gradient(to bottom, var(--mg-c-button-color-background-danger), var(--mg-c-button-color-gradient-danger));color:var(--mg-c-button-color-text-danger)}:host(:hover) .mg-c-button.mg-c-button--danger:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-danger)}.mg-c-button.mg-c-button--info{/*!\n * @prop --mg-c-button-color-background-info: Defines the background color for the info variant button.\n * @prop --mg-c-button-color-border-info: Defines the border color for the info variant button.\n * @prop --mg-c-button-color-gradient-info: Defines the gradient color for the info variant button.\n * @prop --mg-c-button-color-text-info: Defines the font color for the info variant button.\n */border-color:var(--mg-c-button-color-border-info);background:linear-gradient(to bottom, var(--mg-c-button-color-background-info), var(--mg-c-button-color-gradient-info));color:var(--mg-c-button-color-text-info)}:host(:hover) .mg-c-button.mg-c-button--info:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-info)}.mg-c-button.mg-c-button--success{/*!\n * @prop --mg-c-button-color-background-success: Defines the background color for the success variant button.\n * @prop --mg-c-button-color-border-success: Defines the border color for the success variant button.\n * @prop --mg-c-button-color-gradient-success: Defines the gradient color for the success variant button.\n * @prop --mg-c-button-color-text-success: Defines the font color for the success variant button.\n */border-color:var(--mg-c-button-color-border-success);background:linear-gradient(to bottom, var(--mg-c-button-color-background-success), var(--mg-c-button-color-gradient-success));color:var(--mg-c-button-color-text-success)}:host(:hover) .mg-c-button.mg-c-button--success:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-success)}.mg-c-button.mg-c-button--warning{/*!\n * @prop --mg-c-button-color-background-warning: Defines the background color for the warning variant button.\n * @prop --mg-c-button-color-border-warning: Defines the border color for the warning variant button.\n * @prop --mg-c-button-color-gradient-warning: Defines the gradient color for the warning variant button.\n * @prop --mg-c-button-color-text-warning: Defines the font color for the warning variant button.\n */border-color:var(--mg-c-button-color-border-warning);background:linear-gradient(to bottom, var(--mg-c-button-color-background-warning), var(--mg-c-button-color-gradient-warning));color:var(--mg-c-button-color-text-warning)}:host(:hover) .mg-c-button.mg-c-button--warning:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-warning)}.mg-c-button.mg-c-button--danger-alt{/*!\n * @prop --mg-c-button-color-background-danger-alt: Defines the background color for the danger-alt variant button.\n * @prop --mg-c-button-color-border-danger-alt: Defines the border color for the danger-alt variant button.\n * @prop --mg-c-button-color-gradient-danger-alt: Defines the gradient color for the danger-alt variant button.\n * @prop --mg-c-button-color-text-danger-alt: Defines the font color for the danger-alt variant button.\n */border-color:var(--mg-c-button-color-border-danger-alt);background:linear-gradient(to bottom, var(--mg-c-button-color-background-danger-alt), var(--mg-c-button-color-gradient-danger-alt));color:var(--mg-c-button-color-text-danger-alt)}:host(:hover) .mg-c-button.mg-c-button--danger-alt:not(.mg-c-button--disabled){background:var(--mg-c-button-color-background-danger-alt)}.mg-c-button{position:relative;display:inline-flex;min-height:var(--mg-b-size-min-height);box-sizing:border-box;align-items:center;padding:calc((var(--mg-b-size-min-height) - 2*var(--mg-b-size-border) - var(--mg-b-font-size)*var(--mg-b-line-height))/2) var(--mg-b-size-12);border-width:var(--mg-c-button-border-top-width, var(--mg-b-size-border)) var(--mg-c-button-border-right-width, var(--mg-b-size-border)) var(--mg-c-button-border-bottom-width, var(--mg-b-size-border)) var(--mg-c-button-border-left-width, var(--mg-b-size-border));border-style:solid;border-radius:var(--mg-c-button-border-radius-top-left, var(--mg-c-button-border-radius)) var(--mg-c-button-border-radius-top-right, var(--mg-c-button-border-radius)) var(--mg-c-button-border-radius-bottom-right, var(--mg-c-button-border-radius)) var(--mg-c-button-border-radius-bottom-left, var(--mg-c-button-border-radius));background-image:none;column-gap:var(--mg-b-size-8);cursor:pointer;touch-action:manipulation;font-family:inherit;font-size:var(--mg-b-font-size);font-weight:var(--mg-c-button-font-weight, normal);text-align:left;text-decoration:none}.mg-c-button slot,.mg-c-button ::slotted(*:not(mg-icon)){font-family:inherit;font-size:var(--mg-b-font-size);font-weight:var(--mg-c-button-font-weight, normal);text-align:left;text-decoration:none;display:flex;align-items:center;column-gap:var(--mg-b-size-8)}.mg-c-button mg-icon:only-child,.mg-c-button ::slotted(mg-icon){display:inline-flex;flex-shrink:0;margin:auto 0;line-height:1}.mg-c-button.mg-c-button--disabled{cursor:default;opacity:var(--mg-b-opacity-element-disabled)}.mg-c-button.mg-c-button--flat{border:none;background:none}.mg-c-button.mg-c-button--link{min-height:unset;padding:unset;border:unset;border-radius:unset;background:unset;text-decoration:underline}.mg-c-button.mg-c-button--link slot{font-weight:600}.mg-c-button.mg-c-button--link:hover{text-decoration:none}.mg-c-button.mg-c-button--large{padding:calc(var(--mg-b-size-12) - var(--mg-b-size-border)) calc(var(--mg-b-size-24) - var(--mg-b-size-border))}.mg-c-button.mg-c-button--large:not(.mg-c-button--icon){line-height:var(--mg-b-size-24)}.mg-c-button.mg-c-button--large:not(.mg-c-button--icon) slot,.mg-c-button.mg-c-button--large:not(.mg-c-button--icon) ::slotted(*){font-size:var(--mg-b-size-16)}.mg-c-button.mg-c-button--icon{width:var(--mg-b-size-min-height);height:var(--mg-b-size-min-height);justify-content:center;padding:0;border-radius:var(--mg-c-button-border-radius-top-left, var(--mg-c-button-icon-border-radius)) var(--mg-c-button-border-radius-top-right, var(--mg-c-button-icon-border-radius)) var(--mg-c-button-border-radius-bottom-right, var(--mg-c-button-icon-border-radius)) var(--mg-c-button-border-radius-bottom-left, var(--mg-c-button-icon-border-radius));font-size:var(--mg-b-font-size);line-height:var(--mg-b-font-size)}.mg-c-button.mg-c-button--icon.mg-c-button--large{width:unset;height:unset;padding:calc(var(--mg-b-size-12) - var(--mg-b-size-border))}.mg-c-button.mg-c-button--icon.mg-c-button--large ::slotted(*){min-width:var(--mg-b-size-24);min-height:var(--mg-b-size-24);align-items:center;justify-content:center}.mg-c-button.mg-c-button--full-width{display:flex;justify-content:center}.mg-c-button.mg-c-button--loading>mg-icon:first-of-type{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.mg-c-button.mg-c-button--loading .mg-c-button__content{opacity:0}:host(:focus-visible){outline:0}:host(:focus-visible) .mg-c-button{outline-color:-webkit-focus-ring-color;outline-style:auto;outline-width:.2rem}/*# sourceMappingURL=mg-button.css.map */\n","import { Component, Element, h, Prop, State, Watch, Host, EventEmitter, Event } from '@stencil/core';\nimport { variants, VariantType, ButtonType, SizeType, sizes } from './mg-button.conf';\nimport { ClassList, isValidString, nextTick, toString } from '@mgdis/stencil-helpers';\n\n/**\n * @slot - Button content\n */\n@Component({\n tag: 'mg-button',\n styleUrl: '../../../../node_modules/@mgdis/styles/dist/components/mg-button.css',\n shadow: true,\n})\nexport class MgButton {\n /************\n * Internal *\n ************/\n\n private onClickElementFn = null;\n private readonly classDisabled = 'mg-c-button--disabled';\n private readonly classLoading = 'mg-c-button--loading';\n private readonly classFullWidth = 'mg-c-button--full-width';\n\n /**************\n * Decorators *\n **************/\n\n /**\n * Get component DOM element\n */\n @Element() element: HTMLMgButtonElement;\n\n /**\n * Define button variant\n */\n @Prop({ mutable: true }) variant: VariantType = variants[0]; // Primary\n @Watch('variant')\n validateVariant(newValue: VariantType, oldValue?: VariantType): void {\n // validate new value\n if (!variants.includes(newValue)) {\n if ((newValue as string) === '') {\n // Reactive framework like VUE render with `\"\"` when prop is update to undefined\n this.variant = variants[0];\n return;\n }\n throw new Error(`<mg-button> prop \"variant\" must be one of: ${variants.join(', ')}. Passed value: ${toString(newValue)}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-c-button--${oldValue}`);\n }\n this.classCollection.add(`mg-c-button--${newValue}`);\n }\n }\n\n /**\n * aria-label\n * In case button text is not explicit enough\n */\n @Prop() label?: string;\n\n /**\n * Define button type\n */\n @Prop() type?: ButtonType;\n\n /**\n * Define button size\n */\n @Prop() size: SizeType = sizes[0]; // medium\n @Watch('size')\n validateSize(newValue: MgButton['size'], oldValue?: MgButton['size']): void {\n // validate new value\n if (!sizes.includes(newValue)) {\n throw new Error(`<mg-button> prop \"size\" must be one of: ${sizes.join(', ')}. Passed value: ${toString(newValue)}.`);\n } else {\n if (oldValue !== undefined) {\n this.classCollection.delete(`mg-c-button--${oldValue}`);\n }\n this.classCollection.add(`mg-c-button--${newValue}`);\n this.setIconSize();\n }\n }\n\n /**\n * Set button to full-width\n */\n @Prop() fullWidth = false;\n @Watch('fullWidth')\n validateFullWidth(newValue: MgButton['fullWidth']): void {\n if (newValue && this.isIcon) {\n throw new Error('<mg-button> prop \"fullWidth\" cannot be used with prop \"isIcon\".');\n } else if (newValue) {\n this.classCollection.add(this.classFullWidth);\n } else {\n this.classCollection.delete(this.classFullWidth);\n }\n }\n\n /**\n * Define form id to attach button with.\n * If this attribute is not set, the `<button>` is associated with its ancestor `<form>` element.\n */\n @Prop() form?: string;\n\n /**\n * Disable button\n */\n @Prop({ mutable: true }) disabled?: boolean;\n @Watch('disabled')\n disabledHandler(isDisabled: MgButton['disabled']): void {\n // Remove loading when enable\n // Will be set back onclick\n if (!isDisabled && this.disableOnClick) {\n this.loading = false;\n }\n // Manage if onclick\n this.element.onclick = isDisabled ? undefined : this.onClickElementFn;\n\n // apply style\n if (isDisabled) {\n this.classCollection.add(this.classDisabled);\n } else {\n this.classCollection.delete(this.classDisabled);\n }\n\n // emit value update\n this.disabledChange.emit(isDisabled);\n }\n /**\n * Define if button is round.\n * Used for icon button.\n */\n @Prop() isIcon = false;\n @Watch('isIcon')\n watchIsIcon(newValue: boolean): void {\n if (newValue) {\n this.classCollection.add(`mg-c-button--icon`);\n if (!isValidString(this.label)) {\n throw new Error(`<mg-button> prop \"label\" is mandatory when prop \"isIcon\" is set to true.`);\n }\n }\n this.setIconSize();\n }\n\n /**\n * Option to set input disable on click, in order to prevent multi-click.\n * Parent component have to remove the attribute 'disabled' when the process ends.\n */\n @Prop() disableOnClick = false;\n\n /**\n * Define if button is loading, default to false.\n * Trigger when button is clicked or key-up ['enter', 'space], then value change to true.\n * It's required to reset to false when action/promise in parent is done to stop the loading state\n */\n @State() loading = false;\n @Watch('loading')\n loadingHandler(newValue: MgButton['loading']): void {\n // we add loading style if it newvalue is true else we remove it\n if (newValue) {\n this.classCollection.add(this.classLoading);\n } else {\n this.classCollection.delete(this.classLoading);\n }\n }\n\n /**\n * Component classes\n */\n @State() classCollection: ClassList = new ClassList(['mg-c-button']);\n\n /**\n * Emmited event when disabled change\n */\n @Event({ eventName: 'disabled-change' }) disabledChange: EventEmitter<HTMLMgButtonElement['disabled']>;\n\n /**\n * Trigger actions onClick event\n * @param event - click event\n */\n private handleClick = (event: MouseEvent): void => {\n if (this.disabled) event.stopPropagation();\n // Used to prevent multi-click.\n else if (this.disableOnClick) {\n this.loading = true;\n this.disabled = true;\n }\n };\n\n /**\n * Handle onKeydown event\n * @param event - keyboard event\n */\n private handleKeydown = (event: KeyboardEvent): void => {\n if (!this.disabled && event.key === ' ') {\n event.preventDefault();\n } else if (!this.disabled && ['Enter', 'NumpadEnter', 'Space'].includes(event.key)) {\n event.preventDefault();\n this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n }\n };\n\n /**\n * Handle onKeyup event\n * @param event - keyboard event\n */\n private handleKeyup = (event: KeyboardEvent): void => {\n if (!this.disabled && event.key === ' ') {\n event.preventDefault();\n this.element.dispatchEvent(new MouseEvent('click', { bubbles: true }));\n }\n };\n\n /**\n * Set child `<mg-icon>` element `size` prop to follow the current `size` prop\n */\n private setIconSize = (): void => {\n if (this.size === 'medium') {\n this.element.querySelector('mg-icon[size]')?.removeAttribute('size');\n } else if (this.isIcon) {\n this.element.querySelector('mg-icon')?.setAttribute('size', this.size);\n }\n };\n\n /**\n * Check if props are well configured on init\n */\n componentWillLoad(): void {\n this.validateVariant(this.variant);\n this.validateFullWidth(this.fullWidth);\n this.validateSize(this.size);\n this.watchIsIcon(this.isIcon);\n\n // Store the onclick fn\n this.onClickElementFn = this.element.onclick;\n this.disabledHandler(this.disabled);\n }\n\n /**\n * Add listners\n */\n componentDidLoad(): void {\n nextTick(() => {\n const closestForm = this.element.closest('form') || this.element.closest('mg-form')?.shadowRoot.querySelector('form');\n // submit buttons should trigger form submition;\n if (closestForm && ['submit', undefined].includes(this.type)) {\n this.element.addEventListener('click', () => {\n closestForm.dispatchEvent(new SubmitEvent('submit', { bubbles: true, cancelable: true }));\n });\n }\n });\n }\n\n /**\n * Render component\n * @returns html element\n */\n render(): HTMLElement {\n return (\n <Host\n role=\"button\"\n tabIndex={0}\n type={this.type}\n form={this.form}\n full-width={this.fullWidth}\n aria-label={this.label}\n aria-disabled={this.disabled?.toString()}\n onClick={this.handleClick}\n onKeyup={this.handleKeyup}\n onKeydown={this.handleKeydown}\n >\n <div class={this.classCollection.join()}>\n {this.loading && <mg-icon icon=\"loader\" spin></mg-icon>}\n <div class=\"mg-c-button__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|