UNPKG

@govbr-ds/webcomponents

Version:

Biblioteca de Web Components baseado no GovBR-DS

1,407 lines (1,381 loc) 3.38 MB
/*! * Construído por SERPRO * © https://serpro.gov.br/ - MIT License. */ 'use strict'; var stream = require('stream'); const modeResolutionChain = []; function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResults, $stencilAfterHydrate, $stencilHydrateResolve) { var globalThis = $stencilWindow; var self = $stencilWindow; var top = $stencilWindow; var parent = $stencilWindow; var addEventListener = $stencilWindow.addEventListener.bind($stencilWindow); var alert = $stencilWindow.alert.bind($stencilWindow); var blur = $stencilWindow.blur.bind($stencilWindow); var cancelAnimationFrame = $stencilWindow.cancelAnimationFrame.bind($stencilWindow); var cancelIdleCallback = $stencilWindow.cancelIdleCallback.bind($stencilWindow); var clearInterval = $stencilWindow.clearInterval.bind($stencilWindow); var clearTimeout = $stencilWindow.clearTimeout.bind($stencilWindow); var close = () => {}; var confirm = $stencilWindow.confirm.bind($stencilWindow); var dispatchEvent = $stencilWindow.dispatchEvent.bind($stencilWindow); var focus = $stencilWindow.focus.bind($stencilWindow); var getComputedStyle = $stencilWindow.getComputedStyle.bind($stencilWindow); var matchMedia = $stencilWindow.matchMedia.bind($stencilWindow); var open = $stencilWindow.open.bind($stencilWindow); var prompt = $stencilWindow.prompt.bind($stencilWindow); var removeEventListener = $stencilWindow.removeEventListener.bind($stencilWindow); var requestAnimationFrame = $stencilWindow.requestAnimationFrame.bind($stencilWindow); var requestIdleCallback = $stencilWindow.requestIdleCallback.bind($stencilWindow); var setInterval = $stencilWindow.setInterval.bind($stencilWindow); var setTimeout = $stencilWindow.setTimeout.bind($stencilWindow); var CharacterData = $stencilWindow.CharacterData; var CSS = $stencilWindow.CSS; var CustomEvent = $stencilWindow.CustomEvent; var Document = $stencilWindow.Document; var ShadowRoot = $stencilWindow.ShadowRoot; var DocumentFragment = $stencilWindow.DocumentFragment; var DocumentType = $stencilWindow.DocumentType; var DOMTokenList = $stencilWindow.DOMTokenList; var Element = $stencilWindow.Element; var Event = $stencilWindow.Event; var HTMLAnchorElement = $stencilWindow.HTMLAnchorElement; var HTMLBaseElement = $stencilWindow.HTMLBaseElement; var HTMLButtonElement = $stencilWindow.HTMLButtonElement; var HTMLCanvasElement = $stencilWindow.HTMLCanvasElement; var HTMLElement = $stencilWindow.HTMLElement; var HTMLFormElement = $stencilWindow.HTMLFormElement; var HTMLImageElement = $stencilWindow.HTMLImageElement; var HTMLInputElement = $stencilWindow.HTMLInputElement; var HTMLLinkElement = $stencilWindow.HTMLLinkElement; var HTMLMetaElement = $stencilWindow.HTMLMetaElement; var HTMLScriptElement = $stencilWindow.HTMLScriptElement; var HTMLStyleElement = $stencilWindow.HTMLStyleElement; var HTMLTemplateElement = $stencilWindow.HTMLTemplateElement; var HTMLTitleElement = $stencilWindow.HTMLTitleElement; var IntersectionObserver = $stencilWindow.IntersectionObserver; var ResizeObserver = $stencilWindow.ResizeObserver; var KeyboardEvent = $stencilWindow.KeyboardEvent; var MouseEvent = $stencilWindow.MouseEvent; var Node = $stencilWindow.Node; var NodeList = $stencilWindow.NodeList; var URL = $stencilWindow.URL; var console = $stencilWindow.console; var customElements = $stencilWindow.customElements; var history = $stencilWindow.history; var localStorage = $stencilWindow.localStorage; var location = $stencilWindow.location; var navigator = $stencilWindow.navigator; var performance = $stencilWindow.performance; var sessionStorage = $stencilWindow.sessionStorage; var devicePixelRatio = $stencilWindow.devicePixelRatio; var innerHeight = $stencilWindow.innerHeight; var innerWidth = $stencilWindow.innerWidth; var origin = $stencilWindow.origin; var pageXOffset = $stencilWindow.pageXOffset; var pageYOffset = $stencilWindow.pageYOffset; var screen = $stencilWindow.screen; var screenLeft = $stencilWindow.screenLeft; var screenTop = $stencilWindow.screenTop; var screenX = $stencilWindow.screenX; var screenY = $stencilWindow.screenY; var scrollX = $stencilWindow.scrollX; var scrollY = $stencilWindow.scrollY; var exports = {}; var fetch, FetchError, Headers, Request, Response; if (typeof $stencilWindow.fetch === 'function') { fetch = $stencilWindow.fetch; } else { fetch = $stencilWindow.fetch = function() { throw new Error('fetch() is not implemented'); }; } if (typeof $stencilWindow.FetchError === 'function') { FetchError = $stencilWindow.FetchError; } else { FetchError = $stencilWindow.FetchError = class FetchError { constructor() { throw new Error('FetchError is not implemented'); } }; } if (typeof $stencilWindow.Headers === 'function') { Headers = $stencilWindow.Headers; } else { Headers = $stencilWindow.Headers = class Headers { constructor() { throw new Error('Headers is not implemented'); } }; } if (typeof $stencilWindow.Request === 'function') { Request = $stencilWindow.Request; } else { Request = $stencilWindow.Request = class Request { constructor() { throw new Error('Request is not implemented'); } }; } if (typeof $stencilWindow.Response === 'function') { Response = $stencilWindow.Response; } else { Response = $stencilWindow.Response = class Response { constructor() { throw new Error('Response is not implemented'); } }; } function hydrateAppClosure($stencilWindow) { const window = $stencilWindow; const document = $stencilWindow.document; /*hydrateAppClosure start*/ const NAMESPACE = 'webcomponents'; const BUILD = /* webcomponents */ { hydratedSelectorName: "hydrated", slotRelocation: true, updatable: true}; /* Stencil Hydrate Platform v4.28.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/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 = 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; } }); }; 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/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/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 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"; // 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)) { 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); } 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 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) => { const endHydrate = createTime("hydrateClient", tagName); const shadowRoot = hostElm.shadowRoot; const childRenderNodes = []; const slotNodes = []; const slottedNodes = []; const shadowRootNodes = shadowRoot ? [] : 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"]; } } 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) { 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 (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) { hostEle.appendChild(slottedItem.node); } } } if (shadowRoot && !shadowRoot.childNodes.length) { let rnIdex = 0; const rnLen = shadowRootNodes.length; if (rnLen) { for (rnIdex; rnIdex < rnLen; rnIdex++) { shadowRoot.appendChild(shadowRootNodes[rnIdex]); } Array.from(hostElm.childNodes).forEach((node) => { if (typeof node["s-sn"] !== "string") { if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) { node.removeAttribute("hidden"); } else if (node.nodeType === 8 /* CommentNode */ || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) { node.parentNode.removeChild(node); } } }); } } plt.$orgLocNodes$.delete(hostElm["s-id"]); 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 (shadowRootNodes && childVNode.$depth$ === "0") { shadowRootNodes[childVNode.$index$] = childVNode.$elm$; } } } 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; } if (shadowRootNodes && childVNode.$depth$ === "0") { shadowRootNodes[childVNode.$index$] = childVNode.$elm$; } } } 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 ); } else if (childNodeType === CONTENT_REF_ID) { if (shadowRootNodes) { node.remove(); } else { hostElm["s-cr"] = node; node["s-cn"] = true; } } } } } else if (parentVNode && parentVNode.$tag$ === "style") { const vnode = newVNode(null, node.textContent); vnode.$elm$ = node; vnode.$index$ = "0"; parentVNode.$children$ = [vnode]; } else { if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) { node.remove(); } } return parentVNode; }; var initializeDocumentHydrate = (node, orgLocNodes) => { if (node.nodeType === 1 /* ElementNode */) { const componentId = node[HYDRATE_ID] || node.getAttribute(HYDRATE_ID); if (componentId) { orgLocNodes.set(componentId, node); } let i2 = 0; if (node.shadowRoot) { for (; i2 < node.shadowRoot.childNodes.length; i2++) { initializeDocumentHydrate(node.shadowRoot.childNodes[i2], orgLocNodes); } } const nonShadowNodes = node.__childNodes || node.childNodes; for (i2 = 0; i2 < nonShadowNodes.length; i2++) { initializeDocumentHydrate(nonShadowNodes[i2], orgLocNodes); } } else if (node.nodeType === 8 /* CommentNode */) { const childIdSplt = node.nodeValue.split("."); if (childIdSplt[0] === ORG_LOCATION_ID) { orgLocNodes.set(childIdSplt[1] + "." + childIdSplt[2], node); node.nodeValue = ""; node["s-en"] = childIdSplt[3]; } } }; var createSimpleVNode = (vnode) => { const defaultVNode = { $flags$: 0, $hostId$: null, $nodeId$: null, $depth$: null, $index$: "0", $elm$: null, $attrs$: null, $children$: null, $key$: null, $name$: null, $tag$: null, $text$: null }; return { ...defaultVNode, ...vnode }; }; function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNodes, slotNodes, shadowRootNodes, slottedNodes) { node["s-sr"] = true; childVNode.$name$ = slotName || null; childVNode.$tag$ = "slot"; const parentNodeId = (parentVNode == null ? void 0 : parentVNode.$elm$) ? parentVNode.$elm$["s-id"] || parentVNode.$elm$.getAttribute("s-id") : ""; if (shadowRootNodes && win.document) { const slot = childVNode.$elm$ = win.document.createElement(childVNode.$tag$); if (childVNode.$name$) { childVNode.$elm$.setAttribute("name", slotName); } if (parentNodeId && parentNodeId !== childVNode.$hostId$) { parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]); } else { node.parentNode.insertBefore(childVNode.$elm$, node); } addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$); node.remove(); if (childVNode.$depth$ === "0") { shadowRootNodes[childVNode.$index$] = childVNode.$elm$; } } else { const slot = childVNode.$elm$; const shouldMove = parentNodeId && parentNodeId !== childVNode.$hostId$ && parentVNode.$elm$.shadowRoot; addSlottedNodes(slottedNodes, slotId, slotName, node, shouldMove ? parentNodeId : childVNode.$hostId$); patchSlotNode(node); if (shouldMove) { parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]); } childRenderNodes.push(childVNode); } slotNodes.push(childVNode); if (!parentVNode.$children$) { parentVNode.$children$ = []; } parentVNode.$children$[childVNode.$index$] = childVNode; } var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => { let slottedNode = slotNode.nextSibling; slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || []; while (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ && slottedNode.nodeValue.indexOf(".") !== 1 || slottedNode.nodeType === 3 /* TextNode */))) { slottedNode["s-sn"] = slotName; slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId }); slottedNode = slottedNode.nextSibling; } }; var findCorrespondingNode = (node, type) => { let sibling = node; do { sibling = sibling.nextSibling; } while (sibling && (sibling.nodeType !== type || !sibling.nodeValue)); return sibling; }; // src/utils/shadow-css.ts /** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license * * This file is a port of shadowCSS from `webcomponents.js` to TypeScript. * https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js * https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts */ var safeSelector = (selector) => { const placeholders = []; let index = 0; selector = selector.replace(/(\[[^\]]*\])/g, (_, keep) => { const replaceBy = `__ph-${index}__`; placeholders.push(keep); index++; return replaceBy; }); const content = selector.replace(/(:nth-[-\w]+)(\([^)]+\))/g, (_, pseudo, exp) => { const replaceBy = `__ph-${index}__`; placeholders.push(exp); index++; return pseudo + replaceBy; }); const ss = { content, placeholders }; return ss; }; var restoreSafeSelector = (placeholders, content) => { return content.replace(/__ph-(\d+)__/g, (_, index) => placeholders[+index]); }; var _polyfillHost = "-shadowcsshost"; var _polyfillSlotted = "-shadowcssslotted"; var _polyfillHostContext = "-shadowcsscontext"; var _parenSuffix = ")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)"; var _cssColonHostRe = new RegExp("(" + _polyfillHost + _parenSuffix, "gim"); var _cssColonHostContextRe = new RegExp("(" + _polyfillHostContext + _parenSuffix, "gim"); var _cssColonSlottedRe = new RegExp("(" + _polyfillSlotted + _parenSuffix, "gim"); var _polyfillHostNoCombinator = _polyfillHost + "-no-combinator"; var _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/; var _shadowDOMSelectorsRe = [/::shadow/g, /::content/g]; var _selectorReSuffix = "([>\\s~+[.,{:][\\s\\S]*)?$"; var _polyfillHostRe = /-shadowcsshost/gim; var createSupportsRuleRe = (selector) => new RegExp(`((?<!(^@supports(.*)))|(?<={.*))(${selector}\\b)`, "gim"); var _colonSlottedRe = createSupportsRuleRe("::slotted"); var _colonHostRe = createSupportsRuleRe(":host"); var _colonHostContextRe = createSupportsRuleRe(":host-context"); var _commentRe = /\/\*\s*[\s\S]*?\*\//g; var stripComments = (input) => { return input.replace(_commentRe, ""); }; var _commentWithHashRe = /\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g; var extractCommentsWithHash = (input) => { return input.match(_commentWithHashRe) || []; }; var _ruleRe = /(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g; var _curlyRe = /([{}])/g; var _selectorPartsRe = /(^.*?[^\\])??((:+)(.*)|$)/; var OPEN_CURLY = "{"; var CLOSE_CURLY = "}"; var BLOCK_PLACEHOLDER = "%BLOCK%"; var processRules = (input, ruleCallback) => { const inputWithEscapedBlocks = escapeBlocks(input); let nextBlockIndex = 0; return inputWithEscapedBlocks.escapedString.replace(_ruleRe, (...m) => { const selector = m[2]; let content = ""; let suffix = m[4]; let contentPrefix = ""; if (suffix && suffix.startsWith("{" + BLOCK_PLACEHOLDER)) { content = inputWithEscapedBlocks.blocks[nextBlockIndex++]; suffix = suffix.substring(BLOCK_PLACEHOLDER.length + 1); contentPrefix = "{"; } const cssRule = { selector, content }; const rule = ruleCallback(cssRule); return `${m[1]}${rule.selector}${m[3]}${contentPrefix}${rule.content}${suffix}`; }); }; var escapeBlocks = (input) => { const inputParts = input.split(_curlyRe); const resultParts = []; const escapedBlocks = []; let bracketCount = 0; let currentBlockParts = []; for (let partIndex = 0; partIndex < inputParts.length; partIndex++) { const part = inputParts[partIndex]; if (part === CLOSE_CURLY) { bracketCount--; } if (bracketCount > 0) { currentBlockParts.push(part); } else { if (currentBlockParts.length > 0) { escapedBlocks.push(currentBlockParts.join("")); resultParts.push(BLOCK_PLACEHOLDER); currentBlockParts = []; } resultParts.push(part); } if (part === OPEN_CURLY) { bracketCount++; } } if (currentBlockParts.length > 0) { escapedBlocks.push(currentBlockParts.join("")); resultParts.push(BLOCK_PLACEHOLDER); } const strEscapedBlocks = { escapedString: resultParts.join(""), blocks: escapedBlocks }; return strEscapedBlocks; }; var insertPolyfillHostInCssText = (cssText) => { cssText = cssText.replace(_colonHostContextRe, `$1${_polyfillHostContext}`).replace(_colonHostRe, `$1${_polyfillHost}`).replace(_colonSlottedRe, `$1${_polyfillSlotted}`); return cssText; }; var convertColonRule = (cssText, regExp, partReplacer) => { return cssText.replace(regExp, (...m) => { if (m[2]) { const parts = m[2].split(","); const r = []; for (let i2 = 0; i2 < parts.length; i2++) { const p = parts[i2].trim(); if (!p) break; r.push(partReplacer(_polyfillHostNoCombinator, p, m[3])); } return r.join(","); } else { return _polyfillHostNoCombinator + m[3]; } }); }; var colonHostPartReplacer = (host, part, suffix) => { return host + part.replace(_polyfillHost, "") + suffix; }; var convertColonHost = (cssText) => { return convertColonRule(cssText, _cssColonHostRe, colonHostPartReplacer); }; var colonHostContextPartReplacer = (host, part, suffix) => { if (part.indexOf(_polyfillHost) > -1) { return colonHostPartReplacer(host, part, suffix); } else { return host + part + suffix + ", " + part + " " + host + suffix; } }; var convertColonSlotted = (cssText, slotScopeId) => { const slotClass = "." + slotScopeId + " > "; const selectors = []; cssText = cssText.replace(_cssColonSlottedRe, (...m) => { if (m[2]) { const compound = m[2].trim(); const suffix = m[3]; const slottedSelector = slotClass + compound + suffix; let prefixSelector = ""; for (let i2 = m[4] - 1; i2 >= 0; i2--) { const char = m[5][i2]; if (char === "}" || char === ",") { break; } prefixSelector = char + prefixSelector; } const orgSelector = (prefixSelector + slottedSelector).trim(); const addedSelector = `${prefixSelector.trimEnd()}${slottedSelector.trim()}`.trim(); if (orgSelector !== addedSelector) { const updatedSelector = `${addedSelector}, ${orgSelector}`; selectors.push({ orgSelector, updatedSelector }); } return slottedSelector; } else { return _polyfillHostNoCombinator + m[3]; } }); return { selectors, cssText }; }; var convertColonHostContext = (cssText) => { return convertColonRule(cssText, _cssColonHostContextRe, colonHostContextPartReplacer); }; var convertShadowDOMSelectors = (cssText) => { return _shadowDOMSelectorsRe.reduce((result, pattern) => result.replace(pattern, " "), cssText); }; var makeScopeMatcher = (scopeSelector2) => { const lre = /\[/g; const rre = /\]/g; scopeSelector2 = scopeSelector2.replace(lre, "\\[").replace(rre, "\\]"); return new RegExp("^(" + scopeSelector2 + ")" + _selectorReSuffix, "m"); }; var selectorNeedsScoping = (selector, scopeSelector2) => { const re = makeScopeMatcher(scopeSelector2); return !re.test(selector); }; var injectScopingSelector = (selector, scopingSelector) => { return selector.replace(_selectorPartsRe, (_, before = "", _colonGroup, colon = "", after = "") => { return before + scopingSelector + colon + after; }); }; var applySimpleSelectorScope = (selector, scopeSelector2, hostSelector) => { _polyfillHostRe.lastIndex = 0; if (_polyfillHostRe.test(selector)) { const replaceBy = `.${hostSelector}`; return selector.replace(_polyfillHostNoCombinatorRe, (_, selector2) => injectScopingSelector(selector2, replaceBy)).replace(_polyfillHostRe, replaceBy + " "); } return scopeSelector2 + " " + selector; }; var applyStrictSelectorScope = (selector, scopeSelector2, hostSelector) => { const isRe = /\[is=([^\]]*)\]/g; scopeSelector2 = scopeSelector2.replace(isRe, (_, ...parts) => parts[0]); const className = "." + scopeSelector2; const _scopeSelectorPart = (p) => { let scopedP = p.trim(); if (!scopedP) { return ""; } if (p.indexOf(_polyfillHostNoCombinator) > -1) { scopedP = applySimpleSelectorScope(p, scopeSelector2, hostSelector); } else { const t = p.replace(_polyfillHostRe, ""); if (t.length > 0) { scopedP = injectScopingSelector(t, className); } } return scopedP; }; const safeContent = safeSelector(selector); selector = safeContent.content; let scopedSelector = ""; let startIndex = 0; let res; const sep = /( |>|\+|~(?!=))\s*/g; const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1; let shouldScope = !hasHost; while ((res = sep.exec(selector)) !== null) { const separator = res[1]; const part2 = selector.slice(startIndex, res.index).trim(); shouldScope = shouldScope || part2.indexOf(_polyfillHostNoCombinator) > -1; const scopedPart = shouldScope ? _scopeSelectorPart(part2) : part2; scopedSelector += `${scopedPart} ${separator} `; startIndex = sep.lastIndex; } const part = selector.substring(startIndex); shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1; scopedSelector += shouldScope ? _scopeSelectorPart(part) : part; return restoreSafeSelector(safeContent.placeholders, scopedSelector); }; var scopeSelector = (selector, scopeSelectorText, hostSelector, slotSelector) => { return selector.split(",").map((shallowPart) => { if (slotSelector && shallowPart.indexOf("." + slotSelector) > -1) { return shallowPart.trim(); } if (selectorNeedsScoping(shallowPart, scopeSelectorText)) { return applyStrictSelectorScope(shallowPart, scopeSelectorText, hostSelector).trim(); } else { return shallowPart.trim(); } }).join(", "); }; var scopeSelectors = (cssText, scopeSelectorText, hostSelector, slotSelector, commentOriginalSelector) => { return processRules(cssText, (rule) => { let selector = rule.selector; let content = rule.content; if (rule.selector[0] !== "@") { selector = scopeSelector(rule.selector, scopeSelectorText, hostSelector, slotSelector); } else if (rule.selector.startsWith("@media") || rule.selector.startsWith("@supports") || rule.selector.startsWith("@page") || rule.selector.startsWith("@document")) { content = scopeSelectors(rule.content, scopeSelectorText, hostSelector, slotSelector); } const cssRule = { selector: selector.replace(/\s{2,}/g, " ").trim(), content }; return cssRule; }); }; var scopeCssText = (cssText, scopeId2, hostScopeId, slotScopeId, commentOriginalSelector) => { cssText = insertPolyfillHostInCssText(cssText); cssText = convertColonHost(cssText); cssText = convertColonHostContext(cssText); const slotted = convertColonSlotted(cssText, slotScopeId); cssText = slotted.cssText; cssText = convertShadowDOMSelectors(cssText); if (scopeId2) { cssText = scopeSelectors(cssText, scopeId2, hostScopeId, slotScopeId); } cssText = replaceShadowCssHost(cssText, hostScopeId); cssText = cssText.replace(/>\s*\*\s+([^{, ]+)/gm, " $1 "); return { cssText: cssText.trim(), // We need to replace the shadow CSS host string in each of these selectors since we created // them prior to the replacement happening in the components CSS text. slottedSelectors: slotted.selectors.map((ref) => ({ orgSelector: replaceShadowCssHost(ref.orgSelector, hostScopeId), updatedSelector: replaceShadowCssHost(ref.updatedSelector, hostScopeId) })) }; }; var replaceShadowCssHost = (cssText, hostScopeId) => { return cssText.replace(/-shadowcsshost-no-combinator/g, `.${hostScopeId}`); }; var scopeCss = (cssText, scopeId2, commentOriginalSelector) => { const hostScopeId = scopeId2 + "-h"; const slotScopeId = scopeId2 + "-s"; const commentsWithHash = extractCommentsWithHash(cssText); cssText = stripComments(cssText); const orgSelectors = []; { const processCommentedSelector = (rule) => { const placeholder = `/*!@___${orgSelectors.length}___*/`; const comment = `/*!@${rule.selector}*/`; orgSelectors.push({ placeholder, comment }); rule.selector = placeholder + rule.selector; return rule; }; cssText = processRules(cssText, (rule) => { if (rule.selector[0] !== "@") { return processCommentedSelector(rule); } else if (rule.selector.startsWith("@media") || rule.selector.startsWith("@supports") || rule.selector.startsWith("@page") || rule.selector.startsWith("@document")) { rule.content = processRules(rule.content, processCommentedSelector); return rule; } return rule; }); } const scoped = scopeCssText(cssText, scopeId2, hostScopeId, slotScopeId); cssText = [scoped.cssText, ...commentsWithHash].join("\n"); { orgSelectors.forEach(({ placeholder, comment }) => { cssText = cssText.replace(placeholder, comment); }); } scoped.slottedSelectors.forEach((slottedSelector) => { const regex = new RegExp(escapeRegExpSpecialCharacters(slottedSelector.orgSelector), "g"); cssText = cssText.replace(regex, slottedSelector.updatedSelector); }); return cssText; }; var parsePropertyValue = (propValue, propType) => { if (propValue != null && !isComplexType(propValue)) { if (propType & 4 /* Boolean */) { return propValue === "false" ? false : propValue === "" || !!propValue; } if (propType & 2 /* Number */) { return parseFloat(propValue); } if (propType & 1 /* String */) { return String(propValue); } return propValue; } return propValue; }; var getElement = (ref) => getHostRef(ref).$hostElement$ ; // src/runtime/event-emitter.ts var createEvent = (ref, name, flags) => { const elm = getElement(ref); return { emit: (detail) => { return emitEvent(elm, name, { bubbles: true, composed: true, cancelable: true, detail }); } }; }; var emitEvent = (elm, name, opts) => { const ev = plt.ce(name, opts); elm.dispatchEvent(ev); return ev; }; var rootAppliedStyles = /* @__PURE__ */ new WeakMap(); var registerStyle = (scopeId2, cssText, allowCS) => { let style = styles.get(scopeId2); { 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 = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || 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$ & 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) { { 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); } } } } 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( elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta); if ((flags & 10 /* needsScopedEncapsulation */ && flags & 2 /* scopedCssEncapsulation */ || flags & 128 /* shadowNeedsScopedCss */)) { elm["s-sc"] = scopeId2; elm.classList.add(scopeId2 + "-h"); } endAttachStyles(); }; var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$); var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => { if (oldValue === newValue) { return; } let isProp = isMemberInElement(elm, memberName); let ln = memberName.toLowerCase(); if (memberName === "class") { const classList = elm.classList; const oldClasses = parseClassList(oldValue); let newClasses = parseClassList(newValue); if (elm["s-si"] && initialRender) { newClasses.push(elm["s-si"]); oldClasses.forEach((c) => { if (c.startsWith(elm["s-si"])) newClasses.push(c); }); newClasses = [...new Set(newClasses)]; classList.add(...newClasses); } else { classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c))); classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c))); } } else if (memberName === "style") { { for (const prop in oldValue) { if (!newValue || newValue[prop] == null) { { elm.style[prop] = ""; } } } } for (const prop in newValue) { if (!oldValue || newValue[prop] !== oldValue[prop]) { { elm.style[prop] = newValue[prop]; } } } } else if (memberName === "key") ; else if (memberName === "ref") { if (newValue) { newValue(elm); } } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") { if (memberName[2] === "-") { memberName = memberName.slice(3); } else if (isMemberInElement(win, ln)) { memberName = ln.slice(2); } else { memberName = ln[2] + memberName.slice(3); } if (oldValue || newValue) { const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX); memberName = memberName.replace(CAPTURE_EVENT_REGEX, ""); if (oldValue) { plt.rel(elm