UNPKG

@postnord/web-components

Version:
1,325 lines (1,308 loc) 105 kB
/*! * Built with Stencil * By PostNord. */ 'use strict'; function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } const NAMESPACE = 'postnord-web-components'; const BUILD = /* postnord-web-components */ { hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, shadowDom: false, slotRelocation: true, updatable: true}; /* Stencil Client Platform v4.38.1 | 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/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 ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) { const ogValue = instance[memberName]; const ogDescriptor = getPropertyDescriptor(Object.getPrototypeOf(instance), memberName) || Object.getOwnPropertyDescriptor(instance, memberName); if (ogDescriptor) { 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; } }); }; function getPropertyDescriptor(obj, memberName) { while (obj) { const desc = Object.getOwnPropertyDescriptor(obj, memberName); if (desc == null ? void 0 : desc.get) return desc; obj = Object.getPrototypeOf(obj); } return void 0; } // src/client/client-host-ref.ts var getHostRef = (ref) => { if (ref.__stencil__getHostRef) { return ref.__stencil__getHostRef(); } return void 0; }; var registerInstance = (lazyInstance, hostRef) => { if (!hostRef) return; lazyInstance.__stencil__getHostRef = () => hostRef; hostRef.$lazyInstance$ = lazyInstance; { reWireGetterSetter(lazyInstance, hostRef); } }; var registerHost = (hostElement, cmpMeta) => { const hostRef = { $flags$: 0, $hostElement$: hostElement, $cmpMeta$: cmpMeta, $instanceValues$: /* @__PURE__ */ new Map(), $serializerValues$: /* @__PURE__ */ new Map() }; { hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r); } { hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r); hostElement["s-p"] = []; hostElement["s-rc"] = []; } { hostRef.$fetchedCbList$ = []; } const ref = hostRef; hostElement.__stencil__getHostRef = () => ref; return ref; }; var isMemberInElement = (elm, memberName) => memberName in elm; var consoleError = (e, el) => (0, console.error)(e, el); // src/client/client-load-module.ts var cmpModules = /* @__PURE__ */ new Map(); var loadModule = (cmpMeta, hostRef, hmrVersionId) => { const exportName = cmpMeta.$tagName$.replace(/-/g, "_"); const bundleId = cmpMeta.$lazyBundleId$; if (!bundleId) { return void 0; } const module = cmpModules.get(bundleId) ; if (module) { return module[exportName]; } if (!hmrVersionId || !BUILD.hotModuleReplacement) { const processMod = importedModule => { cmpModules.set(bundleId, importedModule); return importedModule[exportName]; } switch(bundleId) { case 'pn-accordion.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-accordion.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-accordion-row.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-accordion-row.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-button-dropdown.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-button-dropdown.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-card.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-card.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-checkbox.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-checkbox.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-choice-chip.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-choice-chip.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-fieldset.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-fieldset.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-header.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-header.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-page-nav.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-page-nav.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-page-nav-dropdown-item.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-page-nav-dropdown-item.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-page-nav-item.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-page-nav-item.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-progress-indicator.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-progress-indicator.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-progress-indicator-step.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-progress-indicator-step.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-radio-button.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-radio-button.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-read-only-button.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-read-only-button.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-segment.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-segment.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-segmented-control.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-segmented-control.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-tab.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-tab.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-table.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-table.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-textarea.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-textarea.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-tile.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-tile.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-toggle-switch.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-toggle-switch.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-progress-bar.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-progress-bar.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-select.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-select.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-illustration.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-illustration.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-text-link.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-text-link.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-action-menu.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-action-menu.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-modal.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-modal.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-multiselect.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-multiselect.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-ocr-search.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-ocr-search.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-pagination.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-pagination.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-progress-stepper.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-progress-stepper.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-tablist.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-tablist.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-tooltip.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-tooltip.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-zipcode-search.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-zipcode-search.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-icon_2.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-icon_2.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-footer.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-footer.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-toast.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-toast.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-button_2.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-button_2.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-counter.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-counter.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-input.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-input.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-search-field.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-search-field.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-file-upload.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-file-upload.cjs.entry.js')); }).then(processMod, consoleError); case 'pn-date-picker.cjs': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require( /* webpackMode: "lazy" */ './pn-date-picker.cjs.entry.js')); }).then(processMod, consoleError); } } return (function (t) { return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(t)); }); })( /* @vite-ignore */ /* webpackInclude: /\.entry\.js$/ */ /* webpackExclude: /\.system\.entry\.js$/ */ /* webpackMode: "lazy" */ `./${bundleId}.entry.js${""}` ).then( (importedModule) => { { cmpModules.set(bundleId, importedModule); } return importedModule[exportName]; }, (e) => { consoleError(e, hostRef.$hostElement$); } ); }; // src/client/client-style.ts var styles = /* @__PURE__ */ new Map(); // 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 SLOT_FB_CSS = "slot-fb{display:contents}slot-fb[hidden]{display:none}"; var XLINK_NS = "http://www.w3.org/1999/xlink"; 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 supportsShadow = BUILD.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 = /* @__PURE__ */ (() => { try { new CSSStyleSheet(); return typeof new CSSStyleSheet().replaceSync === "function"; } catch (e) { } return false; })() ; var supportsMutableAdoptedStyleSheets = supportsConstructableStylesheets ? /* @__PURE__ */ (() => !!win.document && Object.getOwnPropertyDescriptor(win.document.adoptedStyleSheets, "length").writable)() : false; var queuePending = false; var queueDomReads = []; var queueDomWrites = []; 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 flush = () => { consume(queueDomReads); { consume(queueDomWrites); if (queuePending = queueDomReads.length > 0) { plt.raf(flush); } } }; var nextTick = (cb) => promiseResolve().then(cb); var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true); 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)))); } 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)) { slottedNodes.push(childNode); } 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 = internalCall(parent, "appendChild"); if (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); } var patchCloneNode = (HostElementPrototype) => { const orgCloneNode = HostElementPrototype.cloneNode; HostElementPrototype.cloneNode = function(deep) { const srcNode = this; const clonedNode = orgCloneNode.call(srcNode, false); if (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) { { clonedNode.appendChild(slotted.cloneNode(true)); } } if (nonStencilNode) { clonedNode.appendChild(childNodes[i2].cloneNode(true)); } } } return clonedNode; }; }; 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 validElementPatches = ["children", "nextElementSibling", "previousElementSibling"]; var validNodesPatches = [ "childNodes", "firstChild", "lastChild", "nextSibling", "previousSibling", "textContent", "parentNode" ]; function patchHostOriginalAccessor(accessorName, node) { if (!globalThis.Node || !globalThis.Element) { return; } 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); } } var createTime = (fnName, tagName = "") => { { return () => { return; }; } }; var uniqueTime = (key, measureText) => { { return () => { return; }; } }; 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); const style = styles.get(scopeId2); if (!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 (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 (!(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); if (supportsMutableAdoptedStyleSheets) { styleContainerNode.adoptedStyleSheets.unshift(stylesheet); } else { styleContainerNode.adoptedStyleSheets = [stylesheet, ...styleContainerNode.adoptedStyleSheets]; } } 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 (!styleContainerNode.adoptedStyleSheets.includes(style)) { if (supportsMutableAdoptedStyleSheets) { styleContainerNode.adoptedStyleSheets.push(style); } else { styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style]; } } } return scopeId2; }; var attachStyles = (hostRef) => { const cmpMeta = hostRef.$cmpMeta$; const elm = hostRef.$hostElement$; const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$); addStyle( elm.getRootNode(), cmpMeta); endAttachStyles(); }; var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$); 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); } if (simple && lastSimple) { vNodeChildren[vNodeChildren.length - 1].$text$ += child; } else { vNodeChildren.push(simple ? newVNode(null, child) : child); } lastSimple = simple; } } }; walk(children); if (vnodeData) { if (vnodeData.key) { key = vnodeData.key; } if (vnodeData.name) { slotName = vnodeData.name; } { const classData = vnodeData.className || vnodeData.class; if (classData) { vnodeData.class = typeof classData !== "object" ? classData : Object.keys(classData).filter((k) => classData[k]).join(" "); } } } if (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; } { vnode.$key$ = key; } { vnode.$name$ = slotName; } return vnode; }; var newVNode = (tag, text) => { const vnode = { $flags$: 0, $tag$: tag, $text$: text, $elm$: null, $children$: null }; { vnode.$attrs$ = null; } { vnode.$key$ = null; } { 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; }; // 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 = null; const vnode = newVNode(tagName, null); vnode.$elm$ = hostElm; if (win.document && (!plt.$orgLocNodes$ || !plt.$orgLocNodes$.size)) { initializeDocumentHydrate(win.document.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map()); } hostElm[HYDRATE_ID] = hostId; hostElm.removeAttribute(HYDRATE_ID); hostRef.$vnode$ = clientHydrate( vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId, slottedNodes ); let crIndex = 0; const crLength = childRenderNodes.length; let childRenderNode; for (crIndex; crIndex < crLength; crIndex++) { childRenderNode = childRenderNodes[crIndex]; const orgLocationId = childRenderNode.$hostId$ + "." + childRenderNode.$nodeId$; const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId); const node = childRenderNode.$elm$; if (!shadowRoot) { node["s-hn"] = tagName.toUpperCase(); if (childRenderNode.$tag$ === "slot") { node["s-cr"] = hostElm["s-cr"]; } } else if (((_a = childRenderNode.$tag$) == null ? void 0 : _a.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) { const cmpMeta = getHostRef(childRenderNode.$elm$); if (cmpMeta) { const scopeId3 = getScopeId( cmpMeta.$cmpMeta$); const styleSheet = win.document.querySelector(`style[sty-id="${scopeId3}"]`); if (styleSheet) { hostElm.shadowRoot.append(styleSheet.cloneNode(true)); } } } if (childRenderNode.$tag$ === "slot") { childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null; if (childRenderNode.$children$) { childRenderNode.$flags$ |= 2 /* isSlotFallback */; if (!childRenderNode.$elm$.childNodes.length) { childRenderNode.$children$.forEach((c) => { childRenderNode.$elm$.appendChild(c.$elm$); }); } } else { childRenderNode.$flags$ |= 1 /* isSlotReference */; } } if (orgLocationNode && orgLocationNode.isConnected) { if (orgLocationNode.parentElement.shadowRoot && orgLocationNode["s-en"] === "") { orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling); } orgLocationNode.parentNode.removeChild(orgLocationNode); if (!shadowRoot) { node["s-oo"] = parseInt(childRenderNode.$nodeId$); } } if (orgLocationNode && !orgLocationNode["s-id"]) { plt.$orgLocNodes$.delete(orgLocationId); } } const hosts = []; const snLen = slottedNodes.length; let snIndex = 0; let slotGroup; let snGroupIdx; let snGroupLen; let slottedItem; for (snIndex; snIndex < snLen; snIndex++) { slotGroup = slottedNodes[snIndex]; if (!slotGroup || !slotGroup.length) continue; snGroupLen = slotGroup.length; snGroupIdx = 0; for (snGroupIdx; snGroupIdx < snGroupLen; snGroupIdx++) { slottedItem = slotGroup[snGroupIdx]; if (!hosts[slottedItem.hostId]) { hosts[slottedItem.hostId] = plt.$orgLocNodes$.get(slottedItem.hostId); } if (!hosts[slottedItem.hostId]) continue; const hostEle = hosts[slottedItem.hostId]; if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) { hostEle.appendChild(slottedItem.node); } if (!hostEle.shadowRoot || !shadowRoot) { if (!slottedItem.slot["s-cr"]) { slottedItem.slot["s-cr"] = hostEle["s-cr"]; if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) { slottedItem.slot["s-cr"] = hostEle; } else { slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0]; } } addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]); if (((_b = slottedItem.node.parentElement) == null ? void 0 : _b.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) { slottedItem.node.removeAttribute("slot"); } } } } hostRef.$hostElement$ = hostElm; endHydrate(); }; var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId, slottedNodes = []) => { let childNodeType; let childIdSplt; let childVNode; let i2; if (node.nodeType === 1 /* ElementNode */) { childNodeType = node.getAttribute(HYDRATE_CHILD_ID); if (childNodeType) { childIdSplt = childNodeType.split("."); if (childIdSplt[0] === hostId || childIdSplt[0] === "0") { childVNode = createSimpleVNode({ $flags$: 0, $hostId$: childIdSplt[0], $nodeId$: childIdSplt[1], $depth$: childIdSplt[2], $index$: childIdSplt[3], $tag$: node.tagName.toLowerCase(), $elm$: node, // If we don't add the initial classes to the VNode, the first `vdom-render.ts` patch // won't try to reconcile them. Classes set on the node will be blown away. $attrs$: { class: node.className || "" } }); childRenderNodes.push(childVNode); node.removeAttribute(HYDRATE_CHILD_ID); if (!parentVNode.$children$) { parentVNode.$children$ = []; } const slotName = childVNode.$elm$.getAttribute("s-sn"); if (typeof slotName === "string") { if (childVNode.$tag$ === "slot-fb") { addSlot( slotName, childIdSplt[2], childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes ); } childVNode.$elm$["s-sn"] = slotName; childVNode.$elm$.removeAttribute("s-sn"); } if (childVNode.$index$ !== void 0) { parentVNode.$children$[childVNode.$index$] = childVNode; } parentVNode = childVNode; } } if (node.shadowRoot) { for (i2 = node.shadowRoot.childNodes.length - 1; i2 >= 0; i2--) { clientHydrate( parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.shadowRoot.childNodes[i2], hostId, slottedNodes ); } } const nonShadowNodes = node.__childNodes || node.childNodes; for (i2 = nonShadowNodes.length - 1; i2 >= 0; i2--) { clientHydrate( parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, nonShadowNodes[i2], hostId, slottedNodes ); } } else if (node.nodeType === 8 /* CommentNode */) { childIdSplt = node.nodeValue.split("."); if (childIdSplt[1] === hostId || childIdSplt[1] === "0") { childNodeType = childIdSplt[0]; childVNode = createSimpleVNode({ $hostId$: childIdSplt[1], $nodeId$: childIdSplt[2], $depth$: childIdSplt[3], $index$: childIdSplt[4] || "0", $elm$: node, $attrs$: null, $children$: null, $key$: null, $name$: null, $tag$: null, $text$: null }); if (childNodeType === TEXT_NODE_ID) { childVNode.$elm$ = findCorrespondingNode(node, 3 /* TextNode */); if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) { childVNode.$text$ = childVNode.$elm$.textContent; childRenderNodes.push(childVNode); node.remove(); if (hostId === childVNode.$hostId$) { if (!parentVNode.$children$) { parentVNode.$children$ = []; } parentVNode.$children$[childVNode.$index$] = childVNode; } } } else if (childNodeType === COMMENT_NODE_ID) { childVNode.$elm$ = findCorrespondingNode(node, 8 /* CommentNode */); if (childVNode.$elm$ && childVNode.$elm$.nodeType === 8 /* CommentNode */) { childRenderNodes.push(childVNode); node.remove(); } } else if (childVNode.$hostId$ === hostId) { if (childNodeType === SLOT_NODE_ID) { const slotName = node["s-sn"] = childIdSplt[5] || ""; addSlot( slotName, childIdSplt[2], childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes ); }