UNPKG

@stencil/core

Version:

A Compiler for Web Components and Progressive Web Apps

1,444 lines (1,408 loc) • 164 kB
/* Stencil Client Platform v4.35.2 | MIT Licensed | https://stenciljs.com */ var __defProp = Object.defineProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; // src/client/client-build.ts import { BUILD } from "@stencil/core/internal/app-data"; var Build = { isDev: BUILD.isDev ? true : false, isBrowser: true, isServer: false, isTesting: BUILD.isTesting ? true : false }; // src/client/client-host-ref.ts import { BUILD as BUILD3 } from "@stencil/core/internal/app-data"; // src/utils/es2022-rewire-class-members.ts import { BUILD as BUILD2 } from "@stencil/core/internal/app-data"; // src/utils/constants.ts var SVG_NS = "http://www.w3.org/2000/svg"; var HTML_NS = "http://www.w3.org/1999/xhtml"; var PrimitiveType = /* @__PURE__ */ ((PrimitiveType2) => { PrimitiveType2["Undefined"] = "undefined"; PrimitiveType2["Null"] = "null"; PrimitiveType2["String"] = "string"; PrimitiveType2["Number"] = "number"; PrimitiveType2["SpecialNumber"] = "number"; PrimitiveType2["Boolean"] = "boolean"; PrimitiveType2["BigInt"] = "bigint"; return PrimitiveType2; })(PrimitiveType || {}); var NonPrimitiveType = /* @__PURE__ */ ((NonPrimitiveType2) => { NonPrimitiveType2["Array"] = "array"; NonPrimitiveType2["Date"] = "date"; NonPrimitiveType2["Map"] = "map"; NonPrimitiveType2["Object"] = "object"; NonPrimitiveType2["RegularExpression"] = "regexp"; NonPrimitiveType2["Set"] = "set"; NonPrimitiveType2["Channel"] = "channel"; NonPrimitiveType2["Symbol"] = "symbol"; return NonPrimitiveType2; })(NonPrimitiveType || {}); var TYPE_CONSTANT = "type"; var VALUE_CONSTANT = "value"; var SERIALIZED_PREFIX = "serialized:"; // src/utils/es2022-rewire-class-members.ts var reWireGetterSetter = (instance, hostRef) => { var _a; const cmpMeta = hostRef.$cmpMeta$; const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {}); members.map(([memberName, [memberFlags]]) => { if ((BUILD2.state || BUILD2.prop) && (memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) { const ogValue = instance[memberName]; const ogDescriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(instance), memberName); Object.defineProperty(instance, memberName, { get() { return ogDescriptor.get.call(this); }, set(newValue) { ogDescriptor.set.call(this, newValue); }, configurable: true, enumerable: true }); instance[memberName] = hostRef.$instanceValues$.has(memberName) ? hostRef.$instanceValues$.get(memberName) : ogValue; } }); }; // src/client/client-host-ref.ts var getHostRef = (ref) => { if (ref.__stencil__getHostRef) { return ref.__stencil__getHostRef(); } return void 0; }; var registerInstance = (lazyInstance, hostRef) => { lazyInstance.__stencil__getHostRef = () => hostRef; hostRef.$lazyInstance$ = lazyInstance; if (BUILD3.modernPropertyDecls && (BUILD3.state || BUILD3.prop)) { reWireGetterSetter(lazyInstance, hostRef); } }; var registerHost = (hostElement, cmpMeta) => { const hostRef = { $flags$: 0, $hostElement$: hostElement, $cmpMeta$: cmpMeta, $instanceValues$: /* @__PURE__ */ new Map() }; if (BUILD3.isDev) { hostRef.$renderCount$ = 0; } if (BUILD3.method && BUILD3.lazyLoad) { hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r); } if (BUILD3.asyncLoading) { hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r); hostElement["s-p"] = []; hostElement["s-rc"] = []; } const ref = hostRef; hostElement.__stencil__getHostRef = () => ref; if (!BUILD3.lazyLoad && BUILD3.modernPropertyDecls && (BUILD3.state || BUILD3.prop)) { reWireGetterSetter(hostElement, hostRef); } return ref; }; var isMemberInElement = (elm, memberName) => memberName in elm; // src/client/client-load-module.ts import { BUILD as BUILD5 } from "@stencil/core/internal/app-data"; // src/client/client-log.ts import { BUILD as BUILD4 } from "@stencil/core/internal/app-data"; var customError; var consoleError = (e, el) => (customError || console.error)(e, el); var STENCIL_DEV_MODE = BUILD4.isTesting ? ["STENCIL:"] : [ "%cstencil", "color: white;background:#4c47ff;font-weight: bold; font-size:10px; padding:2px 6px; border-radius: 5px" ]; var consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m); var consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m); var consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m); var setErrorHandler = (handler) => customError = handler; // src/client/client-load-module.ts var cmpModules = /* @__PURE__ */ new Map(); var MODULE_IMPORT_PREFIX = "./"; var loadModule = (cmpMeta, hostRef, hmrVersionId) => { const exportName = cmpMeta.$tagName$.replace(/-/g, "_"); const bundleId = cmpMeta.$lazyBundleId$; if (BUILD5.isDev && typeof bundleId !== "string") { consoleDevError( `Trying to lazily load component <${cmpMeta.$tagName$}> with style mode "${hostRef.$modeName$}", but it does not exist.` ); return void 0; } else if (!bundleId) { return void 0; } const module = !BUILD5.hotModuleReplacement ? cmpModules.get(bundleId) : false; if (module) { return module[exportName]; } /*!__STENCIL_STATIC_IMPORT_SWITCH__*/ return import( /* @vite-ignore */ /* webpackInclude: /\.entry\.js$/ */ /* webpackExclude: /\.system\.entry\.js$/ */ /* webpackMode: "lazy" */ `./${bundleId}.entry.js${BUILD5.hotModuleReplacement && hmrVersionId ? "?s-hmr=" + hmrVersionId : ""}` ).then( (importedModule) => { if (!BUILD5.hotModuleReplacement) { cmpModules.set(bundleId, importedModule); } return importedModule[exportName]; }, (e) => { consoleError(e, hostRef.$hostElement$); } ); }; // src/client/client-style.ts var styles = /* @__PURE__ */ new Map(); var modeResolutionChain = []; var setScopedSSR = (_opts) => { }; var needsScopedSSR = () => false; // src/client/client-task-queue.ts import { BUILD as BUILD7 } from "@stencil/core/internal/app-data"; // src/runtime/runtime-constants.ts var CONTENT_REF_ID = "r"; var ORG_LOCATION_ID = "o"; var SLOT_NODE_ID = "s"; var TEXT_NODE_ID = "t"; var COMMENT_NODE_ID = "c"; var HYDRATE_ID = "s-id"; var HYDRATED_STYLE_ID = "sty-id"; var HYDRATE_CHILD_ID = "c-id"; var HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}"; var STENCIL_DOC_DATA = "_stencilDocData"; var DEFAULT_DOC_DATA = { hostIds: 0, rootLevelIds: 0, staticComponents: /* @__PURE__ */ new Set() }; var SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}"; var XLINK_NS = "http://www.w3.org/1999/xlink"; var FORM_ASSOCIATED_CUSTOM_ELEMENT_CALLBACKS = [ "formAssociatedCallback", "formResetCallback", "formDisabledCallback", "formStateRestoreCallback" ]; // src/client/client-window.ts import { BUILD as BUILD6 } from "@stencil/core/internal/app-data"; var win = typeof window !== "undefined" ? window : {}; var H = win.HTMLElement || class { }; var plt = { $flags$: 0, $resourcesUrl$: "", jmp: (h2) => h2(), raf: (h2) => requestAnimationFrame(h2), ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts), rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts), ce: (eventName, opts) => new CustomEvent(eventName, opts) }; var setPlatformHelpers = (helpers) => { Object.assign(plt, helpers); }; var supportsShadow = BUILD6.shadowDom; var supportsListenerOptions = /* @__PURE__ */ (() => { var _a; let supportsListenerOptions2 = false; try { (_a = win.document) == null ? void 0 : _a.addEventListener( "e", null, Object.defineProperty({}, "passive", { get() { supportsListenerOptions2 = true; } }) ); } catch (e) { } return supportsListenerOptions2; })(); var promiseResolve = (v) => Promise.resolve(v); var supportsConstructableStylesheets = BUILD6.constructableCSS ? /* @__PURE__ */ (() => { try { new CSSStyleSheet(); return typeof new CSSStyleSheet().replaceSync === "function"; } catch (e) { } return false; })() : false; // src/client/client-task-queue.ts var queueCongestion = 0; var queuePending = false; var queueDomReads = []; var queueDomWrites = []; var queueDomWritesLow = []; var queueTask = (queue, write) => (cb) => { queue.push(cb); if (!queuePending) { queuePending = true; if (write && plt.$flags$ & 4 /* queueSync */) { nextTick(flush); } else { plt.raf(flush); } } }; var consume = (queue) => { for (let i2 = 0; i2 < queue.length; i2++) { try { queue[i2](performance.now()); } catch (e) { consoleError(e); } } queue.length = 0; }; var consumeTimeout = (queue, timeout) => { let i2 = 0; let ts = 0; while (i2 < queue.length && (ts = performance.now()) < timeout) { try { queue[i2++](ts); } catch (e) { consoleError(e); } } if (i2 === queue.length) { queue.length = 0; } else if (i2 !== 0) { queue.splice(0, i2); } }; var flush = () => { if (BUILD7.asyncQueue) { queueCongestion++; } consume(queueDomReads); if (BUILD7.asyncQueue) { const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */ ? performance.now() + 14 * Math.ceil(queueCongestion * (1 / 10)) : Infinity; consumeTimeout(queueDomWrites, timeout); consumeTimeout(queueDomWritesLow, timeout); if (queueDomWrites.length > 0) { queueDomWritesLow.push(...queueDomWrites); queueDomWrites.length = 0; } if (queuePending = queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length > 0) { plt.raf(flush); } else { queueCongestion = 0; } } else { consume(queueDomWrites); if (queuePending = queueDomReads.length > 0) { plt.raf(flush); } } }; var nextTick = (cb) => promiseResolve().then(cb); var readTask = /* @__PURE__ */ queueTask(queueDomReads, false); var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true); // src/client/index.ts import { BUILD as BUILD30, Env, NAMESPACE as NAMESPACE2 } from "@stencil/core/internal/app-data"; // src/runtime/asset-path.ts var getAssetPath = (path) => { const assetUrl = new URL(path, plt.$resourcesUrl$); return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname; }; var setAssetPath = (path) => plt.$resourcesUrl$ = path; // src/runtime/bootstrap-custom-element.ts import { BUILD as BUILD27 } from "@stencil/core/internal/app-data"; // src/utils/helpers.ts var isDef = (v) => v != null && v !== void 0; var isComplexType = (o) => { o = typeof o; return o === "object" || o === "function"; }; // src/utils/query-nonce-meta-tag-content.ts function queryNonceMetaTagContent(doc) { var _a, _b, _c; return (_c = (_b = (_a = doc.head) == null ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) == null ? void 0 : _b.getAttribute("content")) != null ? _c : void 0; } // src/utils/regular-expression.ts var escapeRegExpSpecialCharacters = (text) => { return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); }; // src/utils/remote-value.ts var RemoteValue = class _RemoteValue { /** * Deserializes a LocalValue serialized object back to its original JavaScript representation * * @param serialized The serialized LocalValue object * @returns The original JavaScript value/object */ static fromLocalValue(serialized) { const type = serialized[TYPE_CONSTANT]; const value = VALUE_CONSTANT in serialized ? serialized[VALUE_CONSTANT] : void 0; switch (type) { case "string" /* String */: return value; case "boolean" /* Boolean */: return value; case "bigint" /* BigInt */: return BigInt(value); case "undefined" /* Undefined */: return void 0; case "null" /* Null */: return null; case "number" /* Number */: if (value === "NaN") return NaN; if (value === "-0") return -0; if (value === "Infinity") return Infinity; if (value === "-Infinity") return -Infinity; return value; case "array" /* Array */: return value.map((item) => _RemoteValue.fromLocalValue(item)); case "date" /* Date */: return new Date(value); case "map" /* Map */: const map2 = /* @__PURE__ */ new Map(); for (const [key, val] of value) { const deserializedKey = typeof key === "object" && key !== null ? _RemoteValue.fromLocalValue(key) : key; const deserializedValue = _RemoteValue.fromLocalValue(val); map2.set(deserializedKey, deserializedValue); } return map2; case "object" /* Object */: const obj = {}; for (const [key, val] of value) { obj[key] = _RemoteValue.fromLocalValue(val); } return obj; case "regexp" /* RegularExpression */: const { pattern, flags } = value; return new RegExp(pattern, flags); case "set" /* Set */: const set = /* @__PURE__ */ new Set(); for (const item of value) { set.add(_RemoteValue.fromLocalValue(item)); } return set; case "symbol" /* Symbol */: return Symbol(value); default: throw new Error(`Unsupported type: ${type}`); } } /** * Utility method to deserialize multiple LocalValues at once * * @param serializedValues Array of serialized LocalValue objects * @returns Array of deserialized JavaScript values */ static fromLocalValueArray(serializedValues) { return serializedValues.map((value) => _RemoteValue.fromLocalValue(value)); } /** * Verifies if the given object matches the structure of a serialized LocalValue * * @param obj Object to verify * @returns boolean indicating if the object has LocalValue structure */ static isLocalValueObject(obj) { if (typeof obj !== "object" || obj === null) { return false; } if (!obj.hasOwnProperty(TYPE_CONSTANT)) { return false; } const type = obj[TYPE_CONSTANT]; const hasTypeProperty = Object.values({ ...PrimitiveType, ...NonPrimitiveType }).includes(type); if (!hasTypeProperty) { return false; } if (type !== "null" /* Null */ && type !== "undefined" /* Undefined */) { return obj.hasOwnProperty(VALUE_CONSTANT); } return true; } }; // src/utils/result.ts var result_exports = {}; __export(result_exports, { err: () => err, map: () => map, ok: () => ok, unwrap: () => unwrap, unwrapErr: () => unwrapErr }); var ok = (value) => ({ isOk: true, isErr: false, value }); var err = (value) => ({ isOk: false, isErr: true, value }); function map(result, fn) { if (result.isOk) { const val = fn(result.value); if (val instanceof Promise) { return val.then((newVal) => ok(newVal)); } else { return ok(val); } } if (result.isErr) { const value = result.value; return err(value); } throw "should never get here"; } var unwrap = (result) => { if (result.isOk) { return result.value; } else { throw result.value; } }; var unwrapErr = (result) => { if (result.isErr) { return result.value; } else { throw result.value; } }; // src/utils/serialize.ts function deserializeProperty(value) { if (typeof value !== "string" || !value.startsWith(SERIALIZED_PREFIX)) { return value; } return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length)))); } // src/utils/shadow-root.ts import { BUILD as BUILD8 } from "@stencil/core/internal/app-data"; import { globalStyles } from "@stencil/core/internal/app-globals"; // src/utils/style.ts function createStyleSheetIfNeededAndSupported(styles2) { if (!styles2 || !supportsConstructableStylesheets) return void 0; const sheet = new CSSStyleSheet(); sheet.replaceSync(styles2); return sheet; } // src/utils/shadow-root.ts var globalStyleSheet; function createShadowRoot(cmpMeta) { var _a; const shadowRoot = BUILD8.shadowDelegatesFocus ? this.attachShadow({ mode: "open", delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */) }) : this.attachShadow({ mode: "open" }); if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported(globalStyles)) != null ? _a : null; if (globalStyleSheet) shadowRoot.adoptedStyleSheets.push(globalStyleSheet); } // src/utils/util.ts var lowerPathParam = (fn) => (p) => fn(p.toLowerCase()); var isDtsFile = lowerPathParam((p) => p.endsWith(".d.ts") || p.endsWith(".d.mts") || p.endsWith(".d.cts")); var isTsFile = lowerPathParam( (p) => !isDtsFile(p) && (p.endsWith(".ts") || p.endsWith(".mts") || p.endsWith(".cts")) ); var isTsxFile = lowerPathParam( (p) => p.endsWith(".tsx") || p.endsWith(".mtsx") || p.endsWith(".ctsx") ); var isJsxFile = lowerPathParam( (p) => p.endsWith(".jsx") || p.endsWith(".mjsx") || p.endsWith(".cjsx") ); var isJsFile = lowerPathParam((p) => p.endsWith(".js") || p.endsWith(".mjs") || p.endsWith(".cjs")); // src/runtime/connected-callback.ts import { BUILD as BUILD25 } from "@stencil/core/internal/app-data"; // src/runtime/client-hydrate.ts import { BUILD as BUILD14 } from "@stencil/core/internal/app-data"; // src/runtime/dom-extras.ts import { BUILD as BUILD10 } from "@stencil/core/internal/app-data"; // src/runtime/slot-polyfill-utils.ts import { BUILD as BUILD9 } from "@stencil/core/internal/app-data"; var updateFallbackSlotVisibility = (elm) => { const childNodes = internalCall(elm, "childNodes"); if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") { getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => { if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") { if (getSlotChildSiblings(slotNode, getSlotName(slotNode), false).length) { slotNode.hidden = true; } else { slotNode.hidden = false; } } }); } let i2 = 0; for (i2 = 0; i2 < childNodes.length; i2++) { const childNode = childNodes[i2]; if (childNode.nodeType === 1 /* ElementNode */ && internalCall(childNode, "childNodes").length) { updateFallbackSlotVisibility(childNode); } } }; var getSlottedChildNodes = (childNodes) => { const result = []; for (let i2 = 0; i2 < childNodes.length; i2++) { const slottedNode = childNodes[i2]["s-nr"] || void 0; if (slottedNode && slottedNode.isConnected) { result.push(slottedNode); } } return result; }; function getHostSlotNodes(childNodes, hostName, slotName) { let i2 = 0; let slottedNodes = []; let childNode; for (; i2 < childNodes.length; i2++) { childNode = childNodes[i2]; if (childNode["s-sr"] && (!hostName || childNode["s-hn"] === hostName) && (slotName === void 0 || getSlotName(childNode) === slotName)) { slottedNodes.push(childNode); if (typeof slotName !== "undefined") return slottedNodes; } slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)]; } return slottedNodes; } var getSlotChildSiblings = (slot, slotName, includeSlot = true) => { const childNodes = []; if (includeSlot && slot["s-sr"] || !slot["s-sr"]) childNodes.push(slot); let node = slot; while (node = node.nextSibling) { if (getSlotName(node) === slotName && (includeSlot || !node["s-sr"])) childNodes.push(node); } return childNodes; }; var isNodeLocatedInSlot = (nodeToRelocate, slotName) => { if (nodeToRelocate.nodeType === 1 /* ElementNode */) { if (nodeToRelocate.getAttribute("slot") === null && slotName === "") { return true; } if (nodeToRelocate.getAttribute("slot") === slotName) { return true; } return false; } if (nodeToRelocate["s-sn"] === slotName) { return true; } return slotName === ""; }; var addSlotRelocateNode = (newChild, slotNode, prepend, position) => { if (newChild["s-ol"] && newChild["s-ol"].isConnected) { return; } const slottedNodeLocation = document.createTextNode(""); slottedNodeLocation["s-nr"] = newChild; if (!slotNode["s-cr"] || !slotNode["s-cr"].parentNode) return; const parent = slotNode["s-cr"].parentNode; const appendMethod = prepend ? internalCall(parent, "prepend") : internalCall(parent, "appendChild"); if (BUILD9.hydrateClientSide && typeof position !== "undefined") { slottedNodeLocation["s-oo"] = position; const childNodes = internalCall(parent, "childNodes"); const slotRelocateNodes = [slottedNodeLocation]; childNodes.forEach((n) => { if (n["s-nr"]) slotRelocateNodes.push(n); }); slotRelocateNodes.sort((a, b) => { if (!a["s-oo"] || a["s-oo"] < (b["s-oo"] || 0)) return -1; else if (!b["s-oo"] || b["s-oo"] < a["s-oo"]) return 1; return 0; }); slotRelocateNodes.forEach((n) => appendMethod.call(parent, n)); } else { appendMethod.call(parent, slottedNodeLocation); } newChild["s-ol"] = slottedNodeLocation; newChild["s-sh"] = slotNode["s-hn"]; }; var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0; function patchSlotNode(node) { if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return; const assignedFactory = (elementsOnly) => (function(opts) { const toReturn = []; const slotName = this["s-sn"]; if (opts == null ? void 0 : opts.flatten) { console.error(` Flattening is not supported for Stencil non-shadow slots. You can use \`.childNodes\` to nested slot fallback content. If you have a particular use case, please open an issue on the Stencil repo. `); } const parent = this["s-cr"].parentElement; const slottedNodes = parent.__childNodes ? parent.childNodes : getSlottedChildNodes(parent.childNodes); slottedNodes.forEach((n) => { if (slotName === getSlotName(n)) { toReturn.push(n); } }); if (elementsOnly) { return toReturn.filter((n) => n.nodeType === 1 /* ElementNode */); } return toReturn; }).bind(node); node.assignedElements = assignedFactory(true); node.assignedNodes = assignedFactory(false); } function dispatchSlotChangeEvent(elm) { elm.dispatchEvent(new CustomEvent("slotchange", { bubbles: false, cancelable: false, composed: false })); } function findSlotFromSlottedNode(slottedNode, parentHost) { var _a; parentHost = parentHost || ((_a = slottedNode["s-ol"]) == null ? void 0 : _a.parentElement); if (!parentHost) return { slotNode: null, slotName: "" }; const slotName = slottedNode["s-sn"] = getSlotName(slottedNode) || ""; const childNodes = internalCall(parentHost, "childNodes"); const slotNode = getHostSlotNodes(childNodes, parentHost.tagName, slotName)[0]; return { slotNode, slotName }; } // src/runtime/dom-extras.ts var patchPseudoShadowDom = (hostElementPrototype) => { patchCloneNode(hostElementPrototype); patchSlotAppendChild(hostElementPrototype); patchSlotAppend(hostElementPrototype); patchSlotPrepend(hostElementPrototype); patchSlotInsertAdjacentElement(hostElementPrototype); patchSlotInsertAdjacentHTML(hostElementPrototype); patchSlotInsertAdjacentText(hostElementPrototype); patchInsertBefore(hostElementPrototype); patchTextContent(hostElementPrototype); patchChildSlotNodes(hostElementPrototype); patchSlotRemoveChild(hostElementPrototype); }; var patchCloneNode = (HostElementPrototype) => { const orgCloneNode = HostElementPrototype.cloneNode; HostElementPrototype.cloneNode = function(deep) { const srcNode = this; const isShadowDom = BUILD10.shadowDom ? srcNode.shadowRoot && supportsShadow : false; const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false); if (BUILD10.slot && !isShadowDom && deep) { let i2 = 0; let slotted, nonStencilNode; const stencilPrivates = [ "s-id", "s-cr", "s-lr", "s-rc", "s-sc", "s-p", "s-cn", "s-sr", "s-sn", "s-hn", "s-ol", "s-nr", "s-si", "s-rf", "s-scs" ]; const childNodes = this.__childNodes || this.childNodes; for (; i2 < childNodes.length; i2++) { slotted = childNodes[i2]["s-nr"]; nonStencilNode = stencilPrivates.every((privateField) => !childNodes[i2][privateField]); if (slotted) { if (BUILD10.appendChildSlotFix && clonedNode.__appendChild) { clonedNode.__appendChild(slotted.cloneNode(true)); } else { clonedNode.appendChild(slotted.cloneNode(true)); } } if (nonStencilNode) { clonedNode.appendChild(childNodes[i2].cloneNode(true)); } } } return clonedNode; }; }; var patchSlotAppendChild = (HostElementPrototype) => { HostElementPrototype.__appendChild = HostElementPrototype.appendChild; HostElementPrototype.appendChild = function(newChild) { const { slotName, slotNode } = findSlotFromSlottedNode(newChild, this); if (slotNode) { addSlotRelocateNode(newChild, slotNode); const slotChildNodes = getSlotChildSiblings(slotNode, slotName); const appendAfter = slotChildNodes[slotChildNodes.length - 1]; const parent = internalCall(appendAfter, "parentNode"); const insertedNode = internalCall(parent, "insertBefore")(newChild, appendAfter.nextSibling); dispatchSlotChangeEvent(slotNode); updateFallbackSlotVisibility(this); return insertedNode; } return this.__appendChild(newChild); }; }; var patchSlotRemoveChild = (ElementPrototype) => { ElementPrototype.__removeChild = ElementPrototype.removeChild; ElementPrototype.removeChild = function(toRemove) { if (toRemove && typeof toRemove["s-sn"] !== "undefined") { const childNodes = this.__childNodes || this.childNodes; const slotNode = getHostSlotNodes(childNodes, this.tagName, toRemove["s-sn"]); if (slotNode && toRemove.isConnected) { toRemove.remove(); updateFallbackSlotVisibility(this); return; } } return this.__removeChild(toRemove); }; }; var patchSlotPrepend = (HostElementPrototype) => { HostElementPrototype.__prepend = HostElementPrototype.prepend; HostElementPrototype.prepend = function(...newChildren) { newChildren.forEach((newChild) => { if (typeof newChild === "string") { newChild = this.ownerDocument.createTextNode(newChild); } const slotName = (newChild["s-sn"] = getSlotName(newChild)) || ""; const childNodes = internalCall(this, "childNodes"); const slotNode = getHostSlotNodes(childNodes, this.tagName, slotName)[0]; if (slotNode) { addSlotRelocateNode(newChild, slotNode, true); const slotChildNodes = getSlotChildSiblings(slotNode, slotName); const appendAfter = slotChildNodes[0]; const parent = internalCall(appendAfter, "parentNode"); const toReturn = internalCall(parent, "insertBefore")(newChild, internalCall(appendAfter, "nextSibling")); dispatchSlotChangeEvent(slotNode); return toReturn; } if (newChild.nodeType === 1 && !!newChild.getAttribute("slot")) { newChild.hidden = true; } return HostElementPrototype.__prepend(newChild); }); }; }; var patchSlotAppend = (HostElementPrototype) => { HostElementPrototype.__append = HostElementPrototype.append; HostElementPrototype.append = function(...newChildren) { newChildren.forEach((newChild) => { if (typeof newChild === "string") { newChild = this.ownerDocument.createTextNode(newChild); } this.appendChild(newChild); }); }; }; var patchSlotInsertAdjacentHTML = (HostElementPrototype) => { const originalInsertAdjacentHtml = HostElementPrototype.insertAdjacentHTML; HostElementPrototype.insertAdjacentHTML = function(position, text) { if (position !== "afterbegin" && position !== "beforeend") { return originalInsertAdjacentHtml.call(this, position, text); } const container = this.ownerDocument.createElement("_"); let node; container.innerHTML = text; if (position === "afterbegin") { while (node = container.firstChild) { this.prepend(node); } } else if (position === "beforeend") { while (node = container.firstChild) { this.append(node); } } }; }; var patchSlotInsertAdjacentText = (HostElementPrototype) => { HostElementPrototype.insertAdjacentText = function(position, text) { this.insertAdjacentHTML(position, text); }; }; var patchInsertBefore = (HostElementPrototype) => { const eleProto = HostElementPrototype; if (eleProto.__insertBefore) return; eleProto.__insertBefore = HostElementPrototype.insertBefore; HostElementPrototype.insertBefore = function(newChild, currentChild) { const { slotName, slotNode } = findSlotFromSlottedNode(newChild, this); const slottedNodes = this.__childNodes ? this.childNodes : getSlottedChildNodes(this.childNodes); if (slotNode) { let found = false; slottedNodes.forEach((childNode) => { if (childNode === currentChild || currentChild === null) { found = true; if (currentChild === null || slotName !== currentChild["s-sn"]) { this.appendChild(newChild); return; } if (slotName === currentChild["s-sn"]) { addSlotRelocateNode(newChild, slotNode); const parent = internalCall(currentChild, "parentNode"); internalCall(parent, "insertBefore")(newChild, currentChild); dispatchSlotChangeEvent(slotNode); } return; } }); if (found) return newChild; } const parentNode = currentChild == null ? void 0 : currentChild.__parentNode; if (parentNode && !this.isSameNode(parentNode)) { return this.appendChild(newChild); } return this.__insertBefore(newChild, currentChild); }; }; var patchSlotInsertAdjacentElement = (HostElementPrototype) => { const originalInsertAdjacentElement = HostElementPrototype.insertAdjacentElement; HostElementPrototype.insertAdjacentElement = function(position, element) { if (position !== "afterbegin" && position !== "beforeend") { return originalInsertAdjacentElement.call(this, position, element); } if (position === "afterbegin") { this.prepend(element); return element; } else if (position === "beforeend") { this.append(element); return element; } return element; }; }; var patchTextContent = (hostElementPrototype) => { patchHostOriginalAccessor("textContent", hostElementPrototype); Object.defineProperty(hostElementPrototype, "textContent", { get: function() { let text = ""; const childNodes = this.__childNodes ? this.childNodes : getSlottedChildNodes(this.childNodes); childNodes.forEach((node) => text += node.textContent || ""); return text; }, set: function(value) { const childNodes = this.__childNodes ? this.childNodes : getSlottedChildNodes(this.childNodes); childNodes.forEach((node) => { if (node["s-ol"]) node["s-ol"].remove(); node.remove(); }); this.insertAdjacentHTML("beforeend", value); } }); }; var patchChildSlotNodes = (elm) => { class FakeNodeList extends Array { item(n) { return this[n]; } } patchHostOriginalAccessor("children", elm); Object.defineProperty(elm, "children", { get() { return this.childNodes.filter((n) => n.nodeType === 1); } }); Object.defineProperty(elm, "childElementCount", { get() { return this.children.length; } }); patchHostOriginalAccessor("firstChild", elm); Object.defineProperty(elm, "firstChild", { get() { return this.childNodes[0]; } }); patchHostOriginalAccessor("lastChild", elm); Object.defineProperty(elm, "lastChild", { get() { return this.childNodes[this.childNodes.length - 1]; } }); patchHostOriginalAccessor("childNodes", elm); Object.defineProperty(elm, "childNodes", { get() { const result = new FakeNodeList(); result.push(...getSlottedChildNodes(this.__childNodes)); return result; } }); }; var patchSlottedNode = (node) => { if (!node || node.__nextSibling !== void 0 || !globalThis.Node) return; patchNextSibling(node); patchPreviousSibling(node); patchParentNode(node); if (node.nodeType === Node.ELEMENT_NODE) { patchNextElementSibling(node); patchPreviousElementSibling(node); } }; var patchNextSibling = (node) => { if (!node || node.__nextSibling) return; patchHostOriginalAccessor("nextSibling", node); Object.defineProperty(node, "nextSibling", { get: function() { var _a; const parentNodes = (_a = this["s-ol"]) == null ? void 0 : _a.parentNode.childNodes; const index = parentNodes == null ? void 0 : parentNodes.indexOf(this); if (parentNodes && index > -1) { return parentNodes[index + 1]; } return this.__nextSibling; } }); }; var patchNextElementSibling = (element) => { if (!element || element.__nextElementSibling) return; patchHostOriginalAccessor("nextElementSibling", element); Object.defineProperty(element, "nextElementSibling", { get: function() { var _a; const parentEles = (_a = this["s-ol"]) == null ? void 0 : _a.parentNode.children; const index = parentEles == null ? void 0 : parentEles.indexOf(this); if (parentEles && index > -1) { return parentEles[index + 1]; } return this.__nextElementSibling; } }); }; var patchPreviousSibling = (node) => { if (!node || node.__previousSibling) return; patchHostOriginalAccessor("previousSibling", node); Object.defineProperty(node, "previousSibling", { get: function() { var _a; const parentNodes = (_a = this["s-ol"]) == null ? void 0 : _a.parentNode.childNodes; const index = parentNodes == null ? void 0 : parentNodes.indexOf(this); if (parentNodes && index > -1) { return parentNodes[index - 1]; } return this.__previousSibling; } }); }; var patchPreviousElementSibling = (element) => { if (!element || element.__previousElementSibling) return; patchHostOriginalAccessor("previousElementSibling", element); Object.defineProperty(element, "previousElementSibling", { get: function() { var _a; const parentNodes = (_a = this["s-ol"]) == null ? void 0 : _a.parentNode.children; const index = parentNodes == null ? void 0 : parentNodes.indexOf(this); if (parentNodes && index > -1) { return parentNodes[index - 1]; } return this.__previousElementSibling; } }); }; var patchParentNode = (node) => { if (!node || node.__parentNode) return; patchHostOriginalAccessor("parentNode", node); Object.defineProperty(node, "parentNode", { get: function() { var _a; return ((_a = this["s-ol"]) == null ? void 0 : _a.parentNode) || this.__parentNode; }, set: function(value) { this.__parentNode = value; } }); }; var validElementPatches = ["children", "nextElementSibling", "previousElementSibling"]; var validNodesPatches = [ "childNodes", "firstChild", "lastChild", "nextSibling", "previousSibling", "textContent", "parentNode" ]; function patchHostOriginalAccessor(accessorName, node) { let accessor; if (validElementPatches.includes(accessorName)) { accessor = Object.getOwnPropertyDescriptor(Element.prototype, accessorName); } else if (validNodesPatches.includes(accessorName)) { accessor = Object.getOwnPropertyDescriptor(Node.prototype, accessorName); } if (!accessor) { accessor = Object.getOwnPropertyDescriptor(node, accessorName); } if (accessor) Object.defineProperty(node, "__" + accessorName, accessor); } function internalCall(node, method) { if ("__" + method in node) { const toReturn = node["__" + method]; if (typeof toReturn !== "function") return toReturn; return toReturn.bind(node); } else { if (typeof node[method] !== "function") return node[method]; return node[method].bind(node); } } // src/runtime/profile.ts import { BUILD as BUILD11 } from "@stencil/core/internal/app-data"; var i = 0; var createTime = (fnName, tagName = "") => { if (BUILD11.profile && performance.mark) { const key = `st:${fnName}:${tagName}:${i++}`; performance.mark(key); return () => performance.measure(`[Stencil] ${fnName}() <${tagName}>`, key); } else { return () => { return; }; } }; var uniqueTime = (key, measureText) => { if (BUILD11.profile && performance.mark) { if (performance.getEntriesByName(key, "mark").length === 0) { performance.mark(key); } return () => { if (performance.getEntriesByName(measureText, "measure").length === 0) { performance.measure(measureText, key); } }; } else { return () => { return; }; } }; var inspect = (ref) => { const hostRef = getHostRef(ref); if (!hostRef) { return void 0; } const flags = hostRef.$flags$; const hostElement = hostRef.$hostElement$; return { renderCount: hostRef.$renderCount$, flags: { hasRendered: !!(flags & 2 /* hasRendered */), hasConnected: !!(flags & 1 /* hasConnected */), isWaitingForChildren: !!(flags & 4 /* isWaitingForChildren */), isConstructingInstance: !!(flags & 8 /* isConstructingInstance */), isQueuedForUpdate: !!(flags & 16 /* isQueuedForUpdate */), hasInitializedComponent: !!(flags & 32 /* hasInitializedComponent */), hasLoadedComponent: !!(flags & 64 /* hasLoadedComponent */), isWatchReady: !!(flags & 128 /* isWatchReady */), isListenReady: !!(flags & 256 /* isListenReady */), needsRerender: !!(flags & 512 /* needsRerender */) }, instanceValues: hostRef.$instanceValues$, ancestorComponent: hostRef.$ancestorComponent$, hostElement, lazyInstance: hostRef.$lazyInstance$, vnode: hostRef.$vnode$, modeName: hostRef.$modeName$, onReadyPromise: hostRef.$onReadyPromise$, onReadyResolve: hostRef.$onReadyResolve$, onInstancePromise: hostRef.$onInstancePromise$, onInstanceResolve: hostRef.$onInstanceResolve$, onRenderResolve: hostRef.$onRenderResolve$, queuedListeners: hostRef.$queuedListeners$, rmListeners: hostRef.$rmListeners$, ["s-id"]: hostElement["s-id"], ["s-cr"]: hostElement["s-cr"], ["s-lr"]: hostElement["s-lr"], ["s-p"]: hostElement["s-p"], ["s-rc"]: hostElement["s-rc"], ["s-sc"]: hostElement["s-sc"] }; }; var installDevTools = () => { if (BUILD11.devTools) { const stencil = win.stencil = win.stencil || {}; const originalInspect = stencil.inspect; stencil.inspect = (ref) => { let result = inspect(ref); if (!result && typeof originalInspect === "function") { result = originalInspect(ref); } return result; }; } }; // src/runtime/styles.ts import { BUILD as BUILD12 } from "@stencil/core/internal/app-data"; var rootAppliedStyles = /* @__PURE__ */ new WeakMap(); var registerStyle = (scopeId2, cssText, allowCS) => { let style = styles.get(scopeId2); if (supportsConstructableStylesheets && allowCS) { style = style || new CSSStyleSheet(); if (typeof style === "string") { style = cssText; } else { style.replaceSync(cssText); } } else { style = cssText; } styles.set(scopeId2, style); }; var addStyle = (styleContainerNode, cmpMeta, mode) => { var _a; const scopeId2 = getScopeId(cmpMeta, mode); const style = styles.get(scopeId2); if (!BUILD12.attachStyles || !win.document) { return scopeId2; } styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document; if (style) { if (typeof style === "string") { styleContainerNode = styleContainerNode.head || styleContainerNode; let appliedStyles = rootAppliedStyles.get(styleContainerNode); let styleElm; if (!appliedStyles) { rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set()); } if (!appliedStyles.has(scopeId2)) { if (BUILD12.hydrateClientSide && styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) { styleElm.innerHTML = style; } else { styleElm = win.document.createElement("style"); styleElm.innerHTML = style; const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document); if (nonce != null) { styleElm.setAttribute("nonce", nonce); } if ((BUILD12.hydrateServerSide || BUILD12.hotModuleReplacement) && (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */ || cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */)) { styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2); } if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) { if (styleContainerNode.nodeName === "HEAD") { const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]"); const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style"); styleContainerNode.insertBefore( styleElm, (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null ); } else if ("host" in styleContainerNode) { if (supportsConstructableStylesheets) { const stylesheet = new CSSStyleSheet(); stylesheet.replaceSync(style); styleContainerNode.adoptedStyleSheets.unshift(stylesheet); } else { const existingStyleContainer = styleContainerNode.querySelector("style"); if (existingStyleContainer) { existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML; } else { styleContainerNode.prepend(styleElm); } } } else { styleContainerNode.append(styleElm); } } if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) { styleContainerNode.insertBefore(styleElm, null); } } if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) { styleElm.innerHTML += SLOT_FB_CSS; } if (appliedStyles) { appliedStyles.add(scopeId2); } } } else if (BUILD12.constructableCSS && !styleContainerNode.adoptedStyleSheets.includes(style)) { styleContainerNode.adoptedStyleSheets.push(style); } } return scopeId2; }; var attachStyles = (hostRef) => { const cmpMeta = hostRef.$cmpMeta$; const elm = hostRef.$hostElement$; const flags = cmpMeta.$flags$; const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$); const scopeId2 = addStyle( BUILD12.shadowDom && supportsShadow && elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta, hostRef.$modeName$ ); if ((BUILD12.shadowDom || BUILD12.scoped) && BUILD12.cssAnnotations && flags & 10 /* needsScopedEncapsulation */) { elm["s-sc"] = scopeId2; elm.classList.add(scopeId2 + "-h"); } endAttachStyles(); }; var getScopeId = (cmp, mode) => "sc-" + (BUILD12.mode && mode && cmp.$flags$ & 32 /* hasMode */ ? cmp.$tagName$ + "-" + mode : cmp.$tagName$); var convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, "$1{"); var hydrateScopedToShadow = () => { if (!win.document) { return; } const styles2 = win.document.querySelectorAll(`[${HYDRATED_STYLE_ID}]`); let i2 = 0; for (; i2 < styles2.length; i2++) { registerStyle(styles2[i2].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles2[i2].innerHTML), true); } }; // src/runtime/vdom/h.ts import { BUILD as BUILD13 } from "@stencil/core/internal/app-data"; var h = (nodeName, vnodeData, ...children) => { let child = null; let key = null; let slotName = null; let simple = false; let lastSimple = false; const vNodeChildren = []; const walk = (c) => { for (let i2 = 0; i2 < c.length; i2++) { child = c[i2]; if (Array.isArray(child)) { walk(child); } else if (child != null && typeof child !== "boolean") { if (simple = typeof nodeName !== "function" && !isComplexType(child)) { child = String(child); } else if (BUILD13.isDev && typeof nodeName !== "function" && child.$flags$ === void 0) { consoleDevError(`vNode passed as children has unexpected type. Make sure it's using the correct h() function. Empty objects can also be the cause, look for JSX comments that became objects.`); } if (simple && lastSimple) { vNodeChildren[vNodeChildren.length - 1].$text$ += child; } else { vNodeChildren.push(simple ? newVNode(null, child) : child); } lastSimple = simple; } } }; walk(children); if (vnodeData) { if (BUILD13.isDev && nodeName === "input") { validateInputProperties(vnodeData); } if (BUILD13.vdomKey && vnodeData.key) { key = vnodeData.key; } if (BUILD13.slotRelocation && vnodeData.name) { slotName = vnodeData.name; } if (BUILD13.vdomClass) { const classData = vnodeData.className || vnodeData.class; if (classData) { vnodeData.class = typeof classData !== "object" ? classData : Object.keys(classData).filter((k) => classData[k]).join(" "); } } } if (BUILD13.isDev && vNodeChildren.some(isHost)) { consoleDevError(`The <Host> must be the single root component. Make sure: - You are NOT using hostData() and <Host> in the same component. - <Host> is used once, and it's the single root component of the render() function.`); } if (BUILD13.vdomFunctional && typeof nodeName === "function") { return nodeName( vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils ); } const vnode = newVNode(nodeName, null); vnode.$attrs$ = vnodeData; if (vNodeChildren.length > 0) { vnode.$children$ = vNodeChildren; } if (BUILD13.vdomKey) { vnode.$key$ = key; } if (BUILD13.slotRelocation) { vnode.$name$ = slotName; } return vnode; }; var newVNode = (tag, text) => { const vnode = { $flags$: 0, $tag$: tag, $text$: text, $elm$: null, $children$: null }; if (BUILD13.vdomAttribute) { vnode.$attrs$ = null; } if (BUILD13.vdomKey) { vnode.$key$ = null; } if (BUILD13.slotRelocation) { vnode.$name$ = null; } return vnode; }; var Host = {}; var isHost = (node) => node && node.$tag$ === Host; var vdomFnUtils = { forEach: (children, cb) => children.map(convertToPublic).forEach(cb), map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate) }; var convertToPublic = (node) => ({ vattrs: node.$attrs$, vchildren: node.$children$, vkey: node.$key$, vname: node.$name$, vtag: node.$tag$, vtext: node.$text$ }); var convertToPrivate = (node) => { if (typeof node.vtag === "function") { const vnodeData = { ...node.vattrs }; if (node.vkey) { vnodeData.key = node.vkey; } if (node.vname) { vnodeData.name = node.vname; } return h(node.vtag, vnodeData, ...node.vchildren || []); } const vnode = newVNode(node.vtag, node.vtext); vnode.$attrs$ = node.vattrs; vnode.$children$ = node.vchildren; vnode.$key$ = node.vkey; vnode.$name$ = node.vname; return vnode; }; var validateInputProperties = (inputElm) => { const props = Object.keys(inputElm); const value = props.indexOf("value"); if (value === -1) { return; } const typeIndex = props.indexOf("type"); const minIndex = props.indexOf("min"); const maxIndex = props.indexOf("max"); const stepIndex = props.indexOf("step"); if (value < typeIndex || value < minIndex || value < maxIndex || value < stepIndex) { consoleDevWarn(`The "value" prop of <input> should be set after "min", "max", "type" and "step"`); } }; // src/runtime/client-hydrate.ts var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => { var _a, _b; const endHydrate = createTime("hydrateClient", tagName); const shadowRoot = hostElm.shadowRoot; const childRenderNodes = []; const slotNodes = []; const slottedNodes = []; const shadowRootNodes = BUILD14.shadowDom && shadowRoot ? [] : null; const vnode = newVNode(tagName, null); vnode.$elm$ = hostElm; const members = Object.entries(((_a = hostRef.$cmpMeta$) == null ? void 0 : _a.$members$) || {}); members.forEach(([memberName, [memberFlags, metaAttributeName]]) => { var _a2, _b2; if (!(memberFlags & 31 /* Prop */)) { return; } const attributeName = metaAttributeName || memberName; const attrVal = hostElm.getAttribute(attributeName); if (attrVal !== null) { const attrPropVal = parsePropertyValue( attrVal, memberFlags, BUILD14.formAssociated && !!(((_a2 = hostRef.$cmpMeta$) == null ? void 0 : _a2.$flags$) & 64 /* formAssociated */) ); (_b2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _b2.set(memberName, attrPropVal); } }); let scopeId2; if (BUILD14.scoped) { const cmpMeta = hostRef.$cmpMeta$; if (cmpMeta && cmpMeta.$flags$ & 10 /* ne