@stencil/core
Version:
A Compiler for Web Components and Progressive Web Apps
1,482 lines (1,452 loc) • 167 kB
JavaScript
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/testing/platform/index.ts
var index_exports = {};
__export(index_exports, {
Build: () => Build,
Env: () => import_app_data22.Env,
Fragment: () => Fragment,
Host: () => Host,
addHostEventListeners: () => addHostEventListeners,
bootstrapLazy: () => bootstrapLazy,
connectedCallback: () => connectedCallback,
consoleDevError: () => consoleDevError,
consoleDevInfo: () => consoleDevInfo,
consoleDevWarn: () => consoleDevWarn,
consoleError: () => consoleError,
createEvent: () => createEvent,
defineCustomElement: () => defineCustomElement,
disconnectedCallback: () => disconnectedCallback,
flushAll: () => flushAll,
flushLoadModule: () => flushLoadModule,
flushQueue: () => flushQueue,
forceModeUpdate: () => forceModeUpdate,
forceUpdate: () => forceUpdate,
getAssetPath: () => getAssetPath,
getElement: () => getElement,
getHostRef: () => getHostRef,
getMode: () => getMode,
getRenderingRef: () => getRenderingRef,
getValue: () => getValue,
h: () => h,
insertVdomAnnotations: () => insertVdomAnnotations,
isMemberInElement: () => isMemberInElement,
loadModule: () => loadModule,
modeResolutionChain: () => modeResolutionChain,
nextTick: () => nextTick,
parsePropertyValue: () => parsePropertyValue,
plt: () => plt,
postUpdateComponent: () => postUpdateComponent,
proxyComponent: () => proxyComponent,
proxyCustomElement: () => proxyCustomElement,
readTask: () => readTask,
registerComponents: () => registerComponents,
registerHost: () => registerHost,
registerInstance: () => registerInstance,
registerModule: () => registerModule,
render: () => render,
renderVdom: () => renderVdom,
resetPlatform: () => resetPlatform,
setAssetPath: () => setAssetPath,
setErrorHandler: () => setErrorHandler,
setMode: () => setMode,
setNonce: () => setNonce,
setPlatformHelpers: () => setPlatformHelpers,
setPlatformOptions: () => setPlatformOptions,
setSupportsShadowDom: () => setSupportsShadowDom,
setValue: () => setValue,
startAutoApplyChanges: () => startAutoApplyChanges,
stopAutoApplyChanges: () => stopAutoApplyChanges,
styles: () => styles,
supportsConstructableStylesheets: () => supportsConstructableStylesheets,
supportsListenerOptions: () => supportsListenerOptions,
supportsShadow: () => supportsShadow,
win: () => win,
writeTask: () => writeTask
});
module.exports = __toCommonJS(index_exports);
// src/testing/platform/testing-build.ts
var Build = {
isDev: true,
isBrowser: false,
isServer: true,
isTesting: true
};
// src/testing/platform/testing-constants.ts
var styles = /* @__PURE__ */ new Map();
var modeResolutionChain = [];
var cstrs = /* @__PURE__ */ new Map();
var queuedTicks = [];
var queuedWriteTasks = [];
var queuedReadTasks = [];
var moduleLoaded = /* @__PURE__ */ new Map();
var queuedLoadModules = [];
var caughtErrors = [];
// src/testing/platform/testing-host-ref.ts
var getHostRef = (elm) => {
if (elm.__stencil__getHostRef) {
return elm.__stencil__getHostRef();
}
return void 0;
};
var registerInstance = (lazyInstance, hostRef) => {
if (lazyInstance == null || lazyInstance.constructor == null) {
throw new Error(`Invalid component constructor`);
}
if (hostRef == null) {
const Cstr = lazyInstance.constructor;
const tagName = Cstr.COMPILER_META && Cstr.COMPILER_META.tagName ? Cstr.COMPILER_META.tagName : "div";
const elm = document.createElement(tagName);
registerHost(elm, { $flags$: 0, $tagName$: tagName });
hostRef = getHostRef(elm);
}
lazyInstance.__stencil__getHostRef = () => hostRef;
hostRef.$lazyInstance$ = lazyInstance;
};
var registerHost = (elm, cmpMeta) => {
const hostRef = {
$flags$: 0,
$hostElement$: elm,
$cmpMeta$: cmpMeta,
$instanceValues$: /* @__PURE__ */ new Map(),
$renderCount$: 0
};
hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);
hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);
elm["s-p"] = [];
elm["s-rc"] = [];
elm.__stencil__getHostRef = () => hostRef;
};
// src/testing/platform/testing-log.ts
var customError;
var defaultConsoleError = (e) => {
caughtErrors.push(e);
};
var consoleError = (e, el) => (customError || defaultConsoleError)(e, el);
var consoleDevError = (...e) => {
caughtErrors.push(new Error(e.join(", ")));
};
var consoleDevWarn = (...args) => {
const params = args.filter((a) => typeof a === "string" || typeof a === "number" || typeof a === "boolean");
console.warn(...params);
};
var consoleDevInfo = (..._) => {
};
var setErrorHandler = (handler) => customError = handler;
// src/testing/platform/testing-task-queue.ts
function resetTaskQueue() {
queuedTicks.length = 0;
queuedWriteTasks.length = 0;
queuedReadTasks.length = 0;
moduleLoaded.clear();
queuedLoadModules.length = 0;
caughtErrors.length = 0;
}
var nextTick = (cb) => {
queuedTicks.push(cb);
};
function flushTicks() {
return new Promise((resolve, reject) => {
function drain() {
try {
if (queuedTicks.length > 0) {
const writeTasks = queuedTicks.slice();
queuedTicks.length = 0;
let cb;
while (cb = writeTasks.shift()) {
cb(Date.now());
}
}
if (queuedTicks.length > 0) {
process.nextTick(drain);
} else {
resolve();
}
} catch (e) {
reject(`flushTicks: ${e}`);
}
}
process.nextTick(drain);
});
}
function writeTask(cb) {
queuedWriteTasks.push(cb);
}
function readTask(cb) {
queuedReadTasks.push(cb);
}
function flushQueue() {
return new Promise((resolve, reject) => {
async function drain() {
try {
if (queuedReadTasks.length > 0) {
const readTasks = queuedReadTasks.slice();
queuedReadTasks.length = 0;
let cb;
while (cb = readTasks.shift()) {
const result = cb(Date.now());
if (result != null && typeof result.then === "function") {
await result;
}
}
}
if (queuedWriteTasks.length > 0) {
const writeTasks = queuedWriteTasks.slice();
queuedWriteTasks.length = 0;
let cb;
while (cb = writeTasks.shift()) {
const result = cb(Date.now());
if (result != null && typeof result.then === "function") {
await result;
}
}
}
if (queuedReadTasks.length + queuedWriteTasks.length > 0) {
process.nextTick(drain);
} else {
resolve();
}
} catch (e) {
reject(`flushQueue: ${e}`);
}
}
process.nextTick(drain);
});
}
async function flushAll() {
while (queuedTicks.length + queuedLoadModules.length + queuedWriteTasks.length + queuedReadTasks.length > 0) {
await flushTicks();
await flushLoadModule();
await flushQueue();
}
if (caughtErrors.length > 0) {
const err2 = caughtErrors[0];
if (err2 == null) {
throw new Error("Error!");
}
if (typeof err2 === "string") {
throw new Error(err2);
}
throw err2;
}
return new Promise((resolve) => process.nextTick(resolve));
}
function loadModule(cmpMeta, _hostRef, _hmrVersionId) {
return new Promise((resolve) => {
queuedLoadModules.push({
bundleId: cmpMeta.$lazyBundleId$,
resolve: () => resolve(moduleLoaded.get(cmpMeta.$lazyBundleId$))
});
});
}
function flushLoadModule(bundleId) {
return new Promise((resolve, reject) => {
try {
process.nextTick(() => {
if (bundleId != null) {
for (let i2 = 0; i2 < queuedLoadModules.length; i2++) {
if (queuedLoadModules[i2].bundleId === bundleId) {
queuedLoadModules[i2].resolve();
queuedLoadModules.splice(i2, 1);
i2--;
}
}
} else {
let queuedLoadModule;
while (queuedLoadModule = queuedLoadModules.shift()) {
queuedLoadModule.resolve();
}
}
resolve();
});
} catch (e) {
reject(`flushLoadModule: ${e}`);
}
});
}
// src/testing/platform/testing-window.ts
var import_mock_doc = require("../../mock-doc/index.cjs");
var win = (0, import_mock_doc.setupGlobal)(global);
// src/testing/platform/testing-platform.ts
var supportsShadow = true;
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 win.CustomEvent(eventName, opts)
};
var setPlatformHelpers = (helpers) => {
Object.assign(plt, helpers);
};
var supportsListenerOptions = true;
var supportsConstructableStylesheets = false;
var setSupportsShadowDom = (supports) => {
supportsShadow = supports;
};
function resetPlatform(defaults = {}) {
if (win && typeof win.close === "function") {
win.close();
}
styles.clear();
plt.$flags$ = 0;
Object.assign(plt, defaults);
if (plt.$orgLocNodes$ != null) {
plt.$orgLocNodes$.clear();
plt.$orgLocNodes$ = void 0;
}
win.location.href = plt.$resourcesUrl$ = `http://testing.stenciljs.com/`;
resetTaskQueue();
stopAutoApplyChanges();
cstrs.clear();
}
var isAutoApplyingChanges = false;
var autoApplyTimer = void 0;
function stopAutoApplyChanges() {
isAutoApplyingChanges = false;
if (autoApplyTimer) {
clearTimeout(autoApplyTimer);
autoApplyTimer = void 0;
}
}
async function startAutoApplyChanges() {
isAutoApplyingChanges = true;
flushAll().then(() => {
if (isAutoApplyingChanges) {
autoApplyTimer = setTimeout(() => {
startAutoApplyChanges();
}, 100);
}
});
}
var registerComponents = (Cstrs) => {
Cstrs.filter((Cstr) => Cstr.COMPILER_META).forEach((Cstr) => {
cstrs.set(Cstr.COMPILER_META.tagName, Cstr);
});
};
function registerModule(bundleId, Cstr) {
moduleLoaded.set(bundleId, Cstr);
}
var isMemberInElement = (elm, memberName) => {
if (elm != null) {
if (memberName in elm) {
return true;
}
const nodeName = elm.nodeName;
if (nodeName) {
const cstr = cstrs.get(nodeName.toLowerCase());
if (cstr != null && cstr.COMPILER_META != null && cstr.COMPILER_META.properties != null) {
return cstr.COMPILER_META.properties.some((p) => p.name === memberName);
}
}
}
return false;
};
// src/testing/platform/index.ts
var import_app_data22 = require("@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
var import_app_data19 = require("@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/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/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
var import_app_data17 = require("@stencil/core/internal/app-data");
// src/runtime/client-hydrate.ts
var import_app_data5 = require("@stencil/core/internal/app-data");
// src/runtime/dom-extras.ts
var import_app_data2 = require("@stencil/core/internal/app-data");
// src/runtime/slot-polyfill-utils.ts
var import_app_data = require("@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/runtime/slot-polyfill-utils.ts
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 (import_app_data.BUILD.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 = import_app_data2.BUILD.shadowDom ? srcNode.shadowRoot && supportsShadow : false;
const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false);
if (import_app_data2.BUILD.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 (import_app_data2.BUILD.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
var import_app_data3 = require("@stencil/core/internal/app-data");
var i = 0;
var createTime = (fnName, tagName = "") => {
if (import_app_data3.BUILD.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 (import_app_data3.BUILD.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 (import_app_data3.BUILD.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/vdom/h.ts
var import_app_data4 = require("@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 (import_app_data4.BUILD.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 (import_app_data4.BUILD.isDev && nodeName === "input") {
validateInputProperties(vnodeData);
}
if (import_app_data4.BUILD.vdomKey && vnodeData.key) {
key = vnodeData.key;
}
if (import_app_data4.BUILD.slotRelocation && vnodeData.name) {
slotName = vnodeData.name;
}
if (import_app_data4.BUILD.vdomClass) {
const classData = vnodeData.className || vnodeData.class;
if (classData) {
vnodeData.class = typeof classData !== "object" ? classData : Object.keys(classData).filter((k) => classData[k]).join(" ");
}
}
}
if (import_app_data4.BUILD.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 (import_app_data4.BUILD.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 (import_app_data4.BUILD.vdomKey) {
vnode.$key$ = key;
}
if (import_app_data4.BUILD.slotRelocation) {
vnode.$name$ = slotName;
}
return vnode;
};
var newVNode = (tag, text) => {
const vnode = {
$flags$: 0,
$tag$: tag,
$text$: text,
$elm$: null,
$children$: null
};
if (import_app_data4.BUILD.vdomAttribute) {
vnode.$attrs$ = null;
}
if (import_app_data4.BUILD.vdomKey) {
vnode.$key$ = null;
}
if (import_app_data4.BUILD.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;
const endHydrate = createTime("hydrateClient", tagName);
const shadowRoot = hostElm.shadowRoot;
const childRenderNodes = [];
const slotNodes = [];
const slottedNodes = [];
const shadowRootNodes = import_app_data5.BUILD.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;
if (!(memberFlags & 31 /* Prop */)) {
return;
}
const attributeName = metaAttributeName || memberName;
const attrVal = hostElm.getAttribute(attributeName);
if (attrVal !== null) {
const attrPropVal = parsePropertyValue(attrVal, memberFlags);
(_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.set(memberName, attrPropVal);
}
});
let scopeId2;
if (import_app_data5.BUILD.scoped) {
const cmpMeta = hostRef.$cmpMeta$;
if (cmpMeta && cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */ && hostElm["s-sc"]) {
scopeId2 = hostElm["s-sc"];
hostElm.classList.add(scopeId2 + "-h");
} else if (hostElm["s-sc"]) {
delete hostElm["s-sc"];
}
}
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"];
}
}
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 (shadowRoot && orgLocationNode["s-en"] === "") {
orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
}
orgLocationNode.parentNode.removeChild(orgLocationNode);
if (!shadowRoot) {
node["s-oo"] = parseInt(childRenderNode.$nodeId$);
}
}
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 || !shadowRoot) {