@lwc/synthetic-shadow 3.3.2 → 3.3.3
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.cjs.js +3 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../shared/dist/index.js","../../features/dist/index.js","../src/env/node.ts","../src/env/element.ts","../src/env/slot.ts","../src/env/dom.ts","../src/env/document.ts","../src/env/window.ts","../src/env/mutation-observer.ts","../src/env/shadow-root.ts","../src/shared/utils.ts","../src/env/event-target.ts","../src/shared/node-ownership.ts","../src/faux-shadow/traverse.ts","../src/3rdparty/polymer/inner-html.ts","../src/3rdparty/polymer/outer-html.ts","../src/3rdparty/polymer/text-content.ts","../src/shared/static-node-list.ts","../src/shared/faux-elements-from-point.ts","../src/shared/static-html-collection.ts","../src/faux-shadow/node.ts","../src/shared/event-target.ts","../src/faux-shadow/events.ts","../src/faux-shadow/shadow-root.ts","../src/3rdparty/polymer/path-composer.ts","../src/3rdparty/polymer/retarget.ts","../src/shared/faux-element-from-point.ts","../src/polyfills/document-shadow/polyfill.ts","../src/polyfills/shadow-root/polyfill.ts","../src/polyfills/custom-event-composed/polyfill.ts","../src/polyfills/clipboard-event-composed/main.ts","../src/polyfills/mutation-observer/polyfill.ts","../src/polyfills/event-target/polyfill.ts","../src/polyfills/event/polyfill.ts","../src/shared/retarget-related-target.ts","../src/polyfills/focus-event/polyfill.ts","../src/polyfills/mouse-event/polyfill.ts","../src/env/text.ts","../src/faux-shadow/slot.ts","../src/faux-shadow/text.ts","../src/faux-shadow/no-patch-utils.ts","../src/faux-shadow/element.ts","../src/faux-shadow/focus.ts","../src/faux-shadow/html-element.ts","../src/faux-shadow/shadow-token.ts","../src/faux-shadow/portal.ts"],"sourcesContent":["/**\n * Copyright (C) 2023 salesforce.com, inc.\n */\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nfunction invariant(value, msg) {\n if (!value) {\n throw new Error(`Invariant Violation: ${msg}`);\n }\n}\nfunction isTrue$1(value, msg) {\n if (!value) {\n throw new Error(`Assert Violation: ${msg}`);\n }\n}\nfunction isFalse$1(value, msg) {\n if (value) {\n throw new Error(`Assert Violation: ${msg}`);\n }\n}\nfunction fail(msg) {\n throw new Error(msg);\n}\n\nvar assert = /*#__PURE__*/Object.freeze({\n __proto__: null,\n fail: fail,\n invariant: invariant,\n isFalse: isFalse$1,\n isTrue: isTrue$1\n});\n\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst { assign, create, defineProperties, defineProperty, freeze, getOwnPropertyDescriptor, getOwnPropertyNames, getPrototypeOf, hasOwnProperty, isFrozen, keys, seal, setPrototypeOf, } = Object;\nconst { isArray } = Array;\nconst { concat: ArrayConcat, copyWithin: ArrayCopyWithin, every: ArrayEvery, fill: ArrayFill, filter: ArrayFilter, find: ArrayFind, findIndex: ArrayFindIndex, includes: ArrayIncludes, indexOf: ArrayIndexOf, join: ArrayJoin, map: ArrayMap, pop: ArrayPop, push: ArrayPush, reduce: ArrayReduce, reverse: ArrayReverse, shift: ArrayShift, slice: ArraySlice, some: ArraySome, sort: ArraySort, splice: ArraySplice, unshift: ArrayUnshift, forEach, } = Array.prototype;\n// The type of the return value of Array.prototype.every is `this is T[]`. However, once this\n// Array method is pulled out of the prototype, the function is now referencing `this` where\n// `this` is meaningless, resulting in a TypeScript compilation error.\n//\n// Exposing this helper function is the closest we can get to preserving the usage patterns\n// of Array.prototype methods used elsewhere in the codebase.\nfunction arrayEvery(arr, predicate) {\n return ArrayEvery.call(arr, predicate);\n}\nconst { fromCharCode: StringFromCharCode } = String;\nconst { charCodeAt: StringCharCodeAt, replace: StringReplace, split: StringSplit, slice: StringSlice, toLowerCase: StringToLowerCase, } = String.prototype;\nfunction isUndefined(obj) {\n return obj === undefined;\n}\nfunction isNull(obj) {\n return obj === null;\n}\nfunction isTrue(obj) {\n return obj === true;\n}\nfunction isFalse(obj) {\n return obj === false;\n}\nfunction isBoolean(obj) {\n return typeof obj === 'boolean';\n}\nfunction isFunction(obj) {\n return typeof obj === 'function';\n}\nfunction isObject(obj) {\n return typeof obj === 'object';\n}\nfunction isString(obj) {\n return typeof obj === 'string';\n}\nfunction isNumber(obj) {\n return typeof obj === 'number';\n}\nfunction noop() {\n /* Do nothing */\n}\nconst OtS = {}.toString;\nfunction toString(obj) {\n if (obj && obj.toString) {\n // Arrays might hold objects with \"null\" prototype So using\n // Array.prototype.toString directly will cause an error Iterate through\n // all the items and handle individually.\n if (isArray(obj)) {\n return ArrayJoin.call(ArrayMap.call(obj, toString), ',');\n }\n return obj.toString();\n }\n else if (typeof obj === 'object') {\n return OtS.call(obj);\n }\n else {\n return obj + '';\n }\n}\nfunction getPropertyDescriptor(o, p) {\n do {\n const d = getOwnPropertyDescriptor(o, p);\n if (!isUndefined(d)) {\n return d;\n }\n o = getPrototypeOf(o);\n } while (o !== null);\n}\n\n/*\n * Copyright (c) 2023, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// These must be updated when the enum is updated.\n// It's a bit annoying to do have to do this manually, but this makes the file tree-shakeable,\n// passing the `verify-treeshakeable.js` test.\nconst LOWEST_API_VERSION = 58 /* APIVersion.V58_244_SUMMER_23 */;\nconst HIGHEST_API_VERSION = 59 /* APIVersion.V59_246_WINTER_24 */;\nconst allVersions = [58 /* APIVersion.V58_244_SUMMER_23 */, 59 /* APIVersion.V59_246_WINTER_24 */];\nconst allVersionsSet = /*@__PURE__@*/ new Set(allVersions);\nfunction getAPIVersionFromNumber(version) {\n if (!isNumber(version)) {\n // if version is unspecified, default to latest\n return HIGHEST_API_VERSION;\n }\n if (allVersionsSet.has(version)) {\n return version;\n }\n if (version < LOWEST_API_VERSION) {\n return LOWEST_API_VERSION;\n }\n // If it's a number, and it's within the bounds of our known versions, then we should find the\n // highest version lower than the requested number.\n // For instance, if we know about versions 1, 2, 5, and 6, and the user requests 3, then we should return 2.\n for (let i = 1; i < allVersions.length; i++) {\n if (allVersions[i] > version) {\n return allVersions[i - 1];\n }\n }\n // version > HIGHEST_API_VERSION, so fall back to highest\n return HIGHEST_API_VERSION;\n}\nfunction isAPIFeatureEnabled(apiVersionFeature, apiVersion) {\n switch (apiVersionFeature) {\n case 0 /* APIFeature.LOWERCASE_SCOPE_TOKENS */:\n case 1 /* APIFeature.TREAT_ALL_PARSE5_ERRORS_AS_ERRORS */:\n return apiVersion >= 59 /* APIVersion.V59_246_WINTER_24 */;\n }\n}\n\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n/**\n * According to the following list, there are 48 aria attributes of which two (ariaDropEffect and\n * ariaGrabbed) are deprecated:\n * https://www.w3.org/TR/wai-aria-1.1/#x6-6-definitions-of-states-and-properties-all-aria-attributes\n *\n * The above list of 46 aria attributes is consistent with the following resources:\n * https://github.com/w3c/aria/pull/708/files#diff-eacf331f0ffc35d4b482f1d15a887d3bR11060\n * https://wicg.github.io/aom/spec/aria-reflection.html\n *\n * NOTE: If you update this list, please update test files that implicitly reference this list!\n * Searching the codebase for `aria-flowto` and `ariaFlowTo` should be good enough to find all usages.\n */\nconst AriaPropertyNames = [\n 'ariaActiveDescendant',\n 'ariaAtomic',\n 'ariaAutoComplete',\n 'ariaBusy',\n 'ariaChecked',\n 'ariaColCount',\n 'ariaColIndex',\n 'ariaColSpan',\n 'ariaControls',\n 'ariaCurrent',\n 'ariaDescribedBy',\n 'ariaDetails',\n 'ariaDisabled',\n 'ariaErrorMessage',\n 'ariaExpanded',\n 'ariaFlowTo',\n 'ariaHasPopup',\n 'ariaHidden',\n 'ariaInvalid',\n 'ariaKeyShortcuts',\n 'ariaLabel',\n 'ariaLabelledBy',\n 'ariaLevel',\n 'ariaLive',\n 'ariaModal',\n 'ariaMultiLine',\n 'ariaMultiSelectable',\n 'ariaOrientation',\n 'ariaOwns',\n 'ariaPlaceholder',\n 'ariaPosInSet',\n 'ariaPressed',\n 'ariaReadOnly',\n 'ariaRelevant',\n 'ariaRequired',\n 'ariaRoleDescription',\n 'ariaRowCount',\n 'ariaRowIndex',\n 'ariaRowSpan',\n 'ariaSelected',\n 'ariaSetSize',\n 'ariaSort',\n 'ariaValueMax',\n 'ariaValueMin',\n 'ariaValueNow',\n 'ariaValueText',\n 'role',\n];\nconst { AriaAttrNameToPropNameMap, AriaPropNameToAttrNameMap } = /*@__PURE__*/ (() => {\n const AriaAttrNameToPropNameMap = create(null);\n const AriaPropNameToAttrNameMap = create(null);\n // Synthetic creation of all AOM property descriptors for Custom Elements\n forEach.call(AriaPropertyNames, (propName) => {\n const attrName = StringToLowerCase.call(StringReplace.call(propName, /^aria/, () => 'aria-'));\n AriaAttrNameToPropNameMap[attrName] = propName;\n AriaPropNameToAttrNameMap[propName] = attrName;\n });\n return { AriaAttrNameToPropNameMap, AriaPropNameToAttrNameMap };\n})();\nfunction isAriaAttribute(attrName) {\n return attrName in AriaAttrNameToPropNameMap;\n}\n// These attributes take either an ID or a list of IDs as values.\n// This includes aria-* attributes as well as the special non-ARIA \"for\" attribute\nconst ID_REFERENCING_ATTRIBUTES_SET = /*@__PURE__*/ new Set([\n 'aria-activedescendant',\n 'aria-controls',\n 'aria-describedby',\n 'aria-details',\n 'aria-errormessage',\n 'aria-flowto',\n 'aria-labelledby',\n 'aria-owns',\n 'for',\n]);\n\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// See browser support for globalThis:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility\n/* istanbul ignore next */\n// @ts-ignore\nconst _globalThis = typeof globalThis === 'object' ? globalThis : window;\n\n/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst KEY__SHADOW_RESOLVER = '$shadowResolver$';\nconst KEY__SHADOW_RESOLVER_PRIVATE = '$$ShadowResolverKey$$';\nconst KEY__SHADOW_STATIC = '$shadowStaticNode$';\nconst KEY__SHADOW_STATIC_PRIVATE = '$shadowStaticNodeKey$';\nconst KEY__SHADOW_TOKEN = '$shadowToken$';\nconst KEY__SHADOW_TOKEN_PRIVATE = '$$ShadowTokenKey$$';\nconst KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';\nconst KEY__SCOPED_CSS = '$scoped$';\nconst KEY__NATIVE_GET_ELEMENT_BY_ID = '$nativeGetElementById$';\nconst KEY__NATIVE_QUERY_SELECTOR_ALL = '$nativeQuerySelectorAll$';\n\n/*\n * Copyright (c) 2022, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\nconst XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace';\nconst SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\nconst MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\nconst XLINK_NAMESPACE = 'http://www.w3.org/1999/xlink';\n\n/*\n * Copyright (c) 2020, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// Void elements are elements that self-close even without an explicit solidus (slash),\n// e.g. `</tagName>` or `<tagName />`. For instance, `<meta>` closes on its own; no need for a slash.\n// These only come from HTML; there are no void elements in the SVG or MathML namespaces.\n// See: https://html.spec.whatwg.org/multipage/syntax.html#syntax-tags\nconst VOID_ELEMENTS = [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'source',\n 'track',\n 'wbr',\n];\n// These elements have been deprecated but preserving their usage for backwards compatibility\n// until we can officially deprecate them from LWC.\n// See: https://html.spec.whatwg.org/multipage/obsolete.html#obsolete-but-conforming-features\nconst DEPRECATED_VOID_ELEMENTS = ['param', 'keygen', 'menuitem'];\nconst VOID_ELEMENTS_SET = /*@__PURE__*/ new Set([...VOID_ELEMENTS, ...DEPRECATED_VOID_ELEMENTS]);\nfunction isVoidElement(name, namespace) {\n return namespace === HTML_NAMESPACE && VOID_ELEMENTS_SET.has(name.toLowerCase());\n}\n\n/*\n * Copyright (c) 2020, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst CAMEL_REGEX = /-([a-z])/g;\n/**\n * Maps boolean attribute name to supported tags: 'boolean attr name' => Set of allowed tag names\n * that supports them.\n */\nconst BOOLEAN_ATTRIBUTES = /*@__PURE__@*/ new Map([\n ['autofocus', /*@__PURE__@*/ new Set(['button', 'input', 'keygen', 'select', 'textarea'])],\n ['autoplay', /*@__PURE__@*/ new Set(['audio', 'video'])],\n ['checked', /*@__PURE__@*/ new Set(['command', 'input'])],\n [\n 'disabled',\n /*@__PURE__@*/ new Set([\n 'button',\n 'command',\n 'fieldset',\n 'input',\n 'keygen',\n 'optgroup',\n 'select',\n 'textarea',\n ]),\n ],\n ['formnovalidate', /*@__PURE__@*/ new Set(['button'])],\n ['hidden', /*@__PURE__@*/ new Set()],\n ['loop', /*@__PURE__@*/ new Set(['audio', 'bgsound', 'marquee', 'video'])],\n ['multiple', /*@__PURE__@*/ new Set(['input', 'select'])],\n ['muted', /*@__PURE__@*/ new Set(['audio', 'video'])],\n ['novalidate', /*@__PURE__@*/ new Set(['form'])],\n ['open', /*@__PURE__@*/ new Set(['details'])],\n ['readonly', /*@__PURE__@*/ new Set(['input', 'textarea'])],\n ['readonly', /*@__PURE__@*/ new Set(['input', 'textarea'])],\n ['required', /*@__PURE__@*/ new Set(['input', 'select', 'textarea'])],\n ['reversed', /*@__PURE__@*/ new Set(['ol'])],\n ['selected', /*@__PURE__@*/ new Set(['option'])],\n]);\nfunction isBooleanAttribute(attrName, tagName) {\n const allowedTagNames = BOOLEAN_ATTRIBUTES.get(attrName);\n return (allowedTagNames !== undefined &&\n (allowedTagNames.size === 0 || allowedTagNames.has(tagName)));\n}\n// This list is based on https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes\nconst GLOBAL_ATTRIBUTE = /*@__PURE__*/ new Set([\n 'accesskey',\n 'autocapitalize',\n 'autofocus',\n 'class',\n 'contenteditable',\n 'contextmenu',\n 'dir',\n 'draggable',\n 'enterkeyhint',\n 'exportparts',\n 'hidden',\n 'id',\n 'inputmode',\n 'is',\n 'itemid',\n 'itemprop',\n 'itemref',\n 'itemscope',\n 'itemtype',\n 'lang',\n 'nonce',\n 'part',\n 'slot',\n 'spellcheck',\n 'style',\n 'tabindex',\n 'title',\n 'translate',\n]);\nfunction isGlobalHtmlAttribute(attrName) {\n return GLOBAL_ATTRIBUTE.has(attrName);\n}\n// These are HTML standard prop/attribute IDL mappings, but are not predictable based on camel/kebab-case conversion\nconst SPECIAL_PROPERTY_ATTRIBUTE_MAPPING = /*@__PURE__@*/ new Map([\n ['accessKey', 'accesskey'],\n ['readOnly', 'readonly'],\n ['tabIndex', 'tabindex'],\n ['bgColor', 'bgcolor'],\n ['colSpan', 'colspan'],\n ['rowSpan', 'rowspan'],\n ['contentEditable', 'contenteditable'],\n ['crossOrigin', 'crossorigin'],\n ['dateTime', 'datetime'],\n ['formAction', 'formaction'],\n ['isMap', 'ismap'],\n ['maxLength', 'maxlength'],\n ['minLength', 'minlength'],\n ['noValidate', 'novalidate'],\n ['useMap', 'usemap'],\n ['htmlFor', 'for'],\n]);\n/**\n * Map associating previously transformed HTML property into HTML attribute.\n */\nconst CACHED_PROPERTY_ATTRIBUTE_MAPPING = /*@__PURE__@*/ new Map();\nfunction htmlPropertyToAttribute(propName) {\n const ariaAttributeName = AriaPropNameToAttrNameMap[propName];\n if (!isUndefined(ariaAttributeName)) {\n return ariaAttributeName;\n }\n const specialAttributeName = SPECIAL_PROPERTY_ATTRIBUTE_MAPPING.get(propName);\n if (!isUndefined(specialAttributeName)) {\n return specialAttributeName;\n }\n const cachedAttributeName = CACHED_PROPERTY_ATTRIBUTE_MAPPING.get(propName);\n if (!isUndefined(cachedAttributeName)) {\n return cachedAttributeName;\n }\n let attributeName = '';\n for (let i = 0, len = propName.length; i < len; i++) {\n const code = StringCharCodeAt.call(propName, i);\n if (code >= 65 && // \"A\"\n code <= 90 // \"Z\"\n ) {\n attributeName += '-' + StringFromCharCode(code + 32);\n }\n else {\n attributeName += StringFromCharCode(code);\n }\n }\n CACHED_PROPERTY_ATTRIBUTE_MAPPING.set(propName, attributeName);\n return attributeName;\n}\n/**\n * Map associating previously transformed kabab-case attributes into camel-case props.\n */\nconst CACHED_KEBAB_CAMEL_MAPPING = /*@__PURE__@*/ new Map();\nfunction kebabCaseToCamelCase(attrName) {\n let result = CACHED_KEBAB_CAMEL_MAPPING.get(attrName);\n if (isUndefined(result)) {\n result = StringReplace.call(attrName, CAMEL_REGEX, (g) => g[1].toUpperCase());\n CACHED_KEBAB_CAMEL_MAPPING.set(attrName, result);\n }\n return result;\n}\n\n/*\n * Copyright (c) 2020, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst ESCAPED_CHARS = {\n '\"': '"',\n \"'\": ''',\n '<': '<',\n '>': '>',\n '&': '&',\n};\nfunction htmlEscape(str, attrMode = false) {\n const searchValue = attrMode ? /[\"&]/g : /[\"'<>&]/g;\n return str.replace(searchValue, (char) => ESCAPED_CHARS[char]);\n}\n\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// Increment whenever the LWC template compiler changes\nconst LWC_VERSION = \"3.3.2\";\nconst LWC_VERSION_COMMENT = `LWC compiler v${LWC_VERSION}`;\nconst LWC_VERSION_COMMENT_REGEX = /\\/\\*LWC compiler v([\\d.]+)\\*\\/\\s*}/;\n\nexport { AriaAttrNameToPropNameMap, AriaPropNameToAttrNameMap, ArrayConcat, ArrayCopyWithin, ArrayFill, ArrayFilter, ArrayFind, ArrayFindIndex, ArrayIncludes, ArrayIndexOf, ArrayJoin, ArrayMap, ArrayPop, ArrayPush, ArrayReduce, ArrayReverse, ArrayShift, ArraySlice, ArraySome, ArraySort, ArraySplice, ArrayUnshift, HIGHEST_API_VERSION, HTML_NAMESPACE, ID_REFERENCING_ATTRIBUTES_SET, KEY__NATIVE_GET_ELEMENT_BY_ID, KEY__NATIVE_QUERY_SELECTOR_ALL, KEY__SCOPED_CSS, KEY__SHADOW_RESOLVER, KEY__SHADOW_RESOLVER_PRIVATE, KEY__SHADOW_STATIC, KEY__SHADOW_STATIC_PRIVATE, KEY__SHADOW_TOKEN, KEY__SHADOW_TOKEN_PRIVATE, KEY__SYNTHETIC_MODE, LOWEST_API_VERSION, LWC_VERSION, LWC_VERSION_COMMENT, LWC_VERSION_COMMENT_REGEX, MATHML_NAMESPACE, SVG_NAMESPACE, StringCharCodeAt, StringFromCharCode, StringReplace, StringSlice, StringSplit, StringToLowerCase, XLINK_NAMESPACE, XML_NAMESPACE, arrayEvery, assert, assign, create, defineProperties, defineProperty, forEach, freeze, getAPIVersionFromNumber, getOwnPropertyDescriptor, getOwnPropertyNames, getPropertyDescriptor, getPrototypeOf, _globalThis as globalThis, hasOwnProperty, htmlEscape, htmlPropertyToAttribute, isAPIFeatureEnabled, isAriaAttribute, isArray, isBoolean, isBooleanAttribute, isFalse, isFrozen, isFunction, isGlobalHtmlAttribute, isNull, isNumber, isObject, isString, isTrue, isUndefined, isVoidElement, kebabCaseToCamelCase, keys, noop, seal, setPrototypeOf, toString };\n/** version: 3.3.2 */\n//# sourceMappingURL=index.js.map\n","/**\n * Copyright (C) 2023 salesforce.com, inc.\n */\nimport { globalThis, create, isBoolean, isUndefined, defineProperty } from '@lwc/shared';\n\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// When deprecating a feature flag, ensure that it is also no longer set in the application. For\n// example, in core, the flag should be removed from LwcPermAndPrefUtilImpl.java\nconst features = {\n DUMMY_TEST_FLAG: null,\n ENABLE_FORCE_NATIVE_SHADOW_MODE_FOR_TEST: null,\n ENABLE_MIXED_SHADOW_MODE: null,\n ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE: null,\n ENABLE_WIRE_SYNC_EMIT: null,\n DISABLE_LIGHT_DOM_UNSCOPED_CSS: null,\n ENABLE_FROZEN_TEMPLATE: null,\n DISABLE_ARIA_REFLECTION_POLYFILL: null,\n};\n// eslint-disable-next-line no-restricted-properties\nif (!globalThis.lwcRuntimeFlags) {\n Object.defineProperty(globalThis, 'lwcRuntimeFlags', { value: create(null) });\n}\n// eslint-disable-next-line no-restricted-properties\nconst flags = globalThis.lwcRuntimeFlags;\n/**\n * Set the value at runtime of a given feature flag. This method only be invoked once per feature\n * flag. It is meant to be used during the app initialization.\n */\nfunction setFeatureFlag(name, value) {\n if (!isBoolean(value)) {\n const message = `Failed to set the value \"${value}\" for the runtime feature flag \"${name}\". Runtime feature flags can only be set to a boolean value.`;\n if (process.env.NODE_ENV !== 'production') {\n throw new TypeError(message);\n }\n else {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n }\n }\n if (isUndefined(features[name])) {\n // eslint-disable-next-line no-console\n console.info(`Attempt to set a value on an unknown feature flag \"${name}\" resulted in a NOOP.`);\n return;\n }\n // This may seem redundant, but `process.env.NODE_ENV === 'test-karma-lwc'` is replaced by Karma tests\n if (process.env.NODE_ENV === 'test-karma-lwc' || process.env.NODE_ENV !== 'production') {\n // Allow the same flag to be set more than once outside of production to enable testing\n flags[name] = value;\n }\n else {\n // Disallow the same flag to be set more than once in production\n const runtimeValue = flags[name];\n if (!isUndefined(runtimeValue)) {\n // eslint-disable-next-line no-console\n console.error(`Failed to set the value \"${value}\" for the runtime feature flag \"${name}\". \"${name}\" has already been set with the value \"${runtimeValue}\".`);\n return;\n }\n defineProperty(flags, name, { value });\n }\n}\n/**\n * Set the value at runtime of a given feature flag. This method should only be used for testing\n * purposes. It is a no-op when invoked in production mode.\n */\nfunction setFeatureFlagForTest(name, value) {\n // This may seem redundant, but `process.env.NODE_ENV === 'test-karma-lwc'` is replaced by Karma tests\n if (process.env.NODE_ENV === 'test-karma-lwc' || process.env.NODE_ENV !== 'production') {\n setFeatureFlag(name, value);\n }\n}\n\nexport { features as default, flags as lwcRuntimeFlags, flags as runtimeFlags, setFeatureFlag, setFeatureFlagForTest };\n/** version: 3.3.2 */\n//# sourceMappingURL=index.js.map\n","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { getOwnPropertyDescriptor, hasOwnProperty } from '@lwc/shared';\n// TODO [#2472]: Remove this workaround when appropriate.\n// eslint-disable-next-line @lwc/lwc-internal/no-global-node\nconst _Node = Node;\nconst nodePrototype = _Node.prototype;\nconst { DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, ELEMENT_NODE, TEXT_NODE, CDATA_SECTION_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, } = _Node;\nconst { appendChild, cloneNode, compareDocumentPosition, insertBefore, removeChild, replaceChild, hasChildNodes, } = nodePrototype;\nconst { contains } = HTMLElement.prototype;\nconst firstChildGetter = getOwnPropertyDescriptor(nodePrototype, 'firstChild').get;\nconst lastChildGetter = getOwnPropertyDescriptor(nodePrototype, 'lastChild').get;\nconst textContentGetter = getOwnPropertyDescriptor(nodePrototype, 'textContent').get;\nconst parentNodeGetter = getOwnPropertyDescriptor(nodePrototype, 'parentNode').get;\nconst ownerDocumentGetter = getOwnPropertyDescriptor(nodePrototype, 'ownerDocument').get;\nconst parentElementGetter = getOwnPropertyDescriptor(nodePrototype, 'parentElement').get;\nconst textContextSetter = getOwnPropertyDescriptor(nodePrototype, 'textContent').set;\nconst childNodesGetter = getOwnPropertyDescriptor(nodePrototype, 'childNodes').get;\nconst isConnected = hasOwnProperty.call(nodePrototype, 'isConnected')\n ? getOwnPropertyDescriptor(nodePrototype, 'isConnected').get\n : function () {\n const doc = ownerDocumentGetter.call(this);\n // IE11\n return (\n // if doc is null, it means `this` is actually a document instance which\n // is always connected\n doc === null ||\n (compareDocumentPosition.call(doc, this) & DOCUMENT_POSITION_CONTAINED_BY) !== 0);\n };\nexport { _Node as Node, \n// Node.prototype\nappendChild, childNodesGetter, cloneNode, compareDocumentPosition, insertBefore, isConnected, parentElementGetter, parentNodeGetter, removeChild, replaceChild, textContextSetter, ownerDocumentGetter, hasChildNodes, contains, firstChildGetter, lastChildGetter, textContentGetter, \n// Node\nDOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, \n// Node Types\nELEMENT_NODE, TEXT_NODE, CDATA_SECTION_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, };\n//# sourceMappingURL=node.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { hasOwnProperty, getOwnPropertyDescriptor } from '@lwc/shared';\nconst { getAttribute, getBoundingClientRect, getElementsByTagName, getElementsByTagNameNS, hasAttribute, querySelector, querySelectorAll, removeAttribute, setAttribute, } = Element.prototype;\nconst attachShadow = hasOwnProperty.call(Element.prototype, 'attachShadow')\n ? Element.prototype.attachShadow\n : () => {\n throw new TypeError('attachShadow() is not supported in current browser. Load the @lwc/synthetic-shadow polyfill and use Lightning Web Components');\n };\nconst childElementCountGetter = getOwnPropertyDescriptor(Element.prototype, 'childElementCount').get;\nconst firstElementChildGetter = getOwnPropertyDescriptor(Element.prototype, 'firstElementChild').get;\nconst lastElementChildGetter = getOwnPropertyDescriptor(Element.prototype, 'lastElementChild').get;\nconst innerTextDescriptor = getOwnPropertyDescriptor(HTMLElement.prototype, 'innerText');\nconst innerTextGetter = innerTextDescriptor\n ? innerTextDescriptor.get\n : null;\nconst innerTextSetter = innerTextDescriptor\n ? innerTextDescriptor.set\n : null;\n// Note: Firefox does not have outerText, https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/outerText\nconst outerTextDescriptor = getOwnPropertyDescriptor(HTMLElement.prototype, 'outerText');\nconst outerTextGetter = outerTextDescriptor\n ? outerTextDescriptor.get\n : null;\nconst outerTextSetter = outerTextDescriptor\n ? outerTextDescriptor.set\n : null;\nconst innerHTMLDescriptor = getOwnPropertyDescriptor(Element.prototype, 'innerHTML');\nconst innerHTMLGetter = innerHTMLDescriptor.get;\nconst innerHTMLSetter = innerHTMLDescriptor.set;\nconst outerHTMLDescriptor = getOwnPropertyDescriptor(Element.prototype, 'outerHTML');\nconst outerHTMLGetter = outerHTMLDescriptor.get;\nconst outerHTMLSetter = outerHTMLDescriptor.set;\nconst tagNameGetter = getOwnPropertyDescriptor(Element.prototype, 'tagName').get;\nconst tabIndexDescriptor = getOwnPropertyDescriptor(HTMLElement.prototype, 'tabIndex');\nconst tabIndexGetter = tabIndexDescriptor.get;\nconst tabIndexSetter = tabIndexDescriptor.set;\nconst matches = Element.prototype.matches;\nconst childrenGetter = getOwnPropertyDescriptor(Element.prototype, 'children').get;\n// for IE11, access from HTMLElement\n// for all other browsers access the method from the parent Element interface\nconst { getElementsByClassName } = HTMLElement.prototype;\nconst shadowRootGetter = hasOwnProperty.call(Element.prototype, 'shadowRoot')\n ? getOwnPropertyDescriptor(Element.prototype, 'shadowRoot').get\n : () => null;\nconst assignedSlotGetter = hasOwnProperty.call(Element.prototype, 'assignedSlot')\n ? getOwnPropertyDescriptor(Element.prototype, 'assignedSlot').get\n : () => null;\nexport { attachShadow, childrenGetter, childElementCountGetter, firstElementChildGetter, getAttribute, getBoundingClientRect, getElementsByClassName, getElementsByTagName, getElementsByTagNameNS, hasAttribute, innerHTMLGetter, innerHTMLSetter, innerTextGetter, innerTextSetter, lastElementChildGetter, matches, outerHTMLGetter, outerHTMLSetter, outerTextGetter, outerTextSetter, querySelector, querySelectorAll, removeAttribute, setAttribute, shadowRootGetter, tagNameGetter, tabIndexGetter, tabIndexSetter, assignedSlotGetter, };\n//# sourceMappingURL=element.js.map","/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nexport const assignedNodes = HTMLSlotElement.prototype.assignedNodes;\nexport const assignedElements = HTMLSlotElement.prototype.assignedElements;\n//# sourceMappingURL=slot.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { getOwnPropertyDescriptor, hasOwnProperty } from '@lwc/shared';\nconst eventTargetGetter = getOwnPropertyDescriptor(Event.prototype, 'target').get;\nconst eventCurrentTargetGetter = getOwnPropertyDescriptor(Event.prototype, 'currentTarget').get;\nconst focusEventRelatedTargetGetter = getOwnPropertyDescriptor(FocusEvent.prototype, 'relatedTarget').get;\n// IE does not implement composedPath() but that's ok because we only use this instead of our\n// composedPath() polyfill when dealing with native shadow DOM components in mixed mode. Defaulting\n// to a NOOP just to be safe, even though this is almost guaranteed to be defined such a scenario.\nconst composedPath = hasOwnProperty.call(Event.prototype, 'composedPath')\n ? Event.prototype.composedPath\n : () => [];\nexport { composedPath, eventTargetGetter, eventCurrentTargetGetter, focusEventRelatedTargetGetter };\n//# sourceMappingURL=dom.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { getOwnPropertyDescriptor } from '@lwc/shared';\nconst DocumentPrototypeActiveElement = getOwnPropertyDescriptor(Document.prototype, 'activeElement').get;\nconst elementFromPoint = Document.prototype.elementFromPoint;\nconst elementsFromPoint = Document.prototype.elementsFromPoint;\n// defaultView can be null when a document has no browsing context. For example, the owner document\n// of a node in a template doesn't have a default view: https://jsfiddle.net/hv9z0q5a/\nconst defaultViewGetter = getOwnPropertyDescriptor(Document.prototype, 'defaultView').get;\nconst { querySelectorAll, getElementById, getElementsByClassName, getElementsByTagName, getElementsByTagNameNS, } = Document.prototype;\n// In Firefox v57 and lower, getElementsByName is defined on HTMLDocument.prototype\n// In all other browsers have the method on Document.prototype\nconst { getElementsByName } = HTMLDocument.prototype;\nexport { elementFromPoint, elementsFromPoint, DocumentPrototypeActiveElement, querySelectorAll, getElementById, getElementsByClassName, getElementsByName, getElementsByTagName, getElementsByTagNameNS, defaultViewGetter, };\n//# sourceMappingURL=document.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst { addEventListener: windowAddEventListener, removeEventListener: windowRemoveEventListener, getComputedStyle: windowGetComputedStyle, getSelection: windowGetSelection, } = window;\nexport { windowAddEventListener, windowGetComputedStyle, windowGetSelection, windowRemoveEventListener, };\n//# sourceMappingURL=window.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// There is code in the polyfills that requires access to the unpatched\n// Mutation Observer constructor, this the code for that.\n// Eventually, the polyfill should uses the patched version, and this file can be removed.\nconst MO = MutationObserver;\nconst MutationObserverObserve = MO.prototype.observe;\nexport { MO as MutationObserver, MutationObserverObserve };\n//# sourceMappingURL=mutation-observer.js.map","/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// Capture the global `ShadowRoot` since synthetic shadow will override it later\nconst NativeShadowRoot = ShadowRoot;\nexport const isInstanceOfNativeShadowRoot = (node) => node instanceof NativeShadowRoot;\n//# sourceMappingURL=shadow-root.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { isUndefined, isTrue } from '@lwc/shared';\nimport { ownerDocumentGetter } from '../env/node';\nimport { defaultViewGetter } from '../env/document';\nimport { getAttribute } from '../env/element';\n// Helpful for tests running with jsdom\nexport function getOwnerDocument(node) {\n const doc = ownerDocumentGetter.call(node);\n // if doc is null, it means `this` is actually a document instance\n return doc === null ? node : doc;\n}\nexport function getOwnerWindow(node) {\n const doc = getOwnerDocument(node);\n const win = defaultViewGetter.call(doc);\n if (win === null) {\n // this method should never be called with a node that is not part\n // of a qualifying connected node.\n throw new TypeError();\n }\n return win;\n}\nlet skipGlobalPatching;\n// Note: we deviate from native shadow here, but are not fixing\n// due to backwards compat: https://github.com/salesforce/lwc/pull/3103\nexport function isGlobalPatchingSkipped(node) {\n // we lazily compute this value instead of doing it during evaluation, this helps\n // for apps that are setting this after the engine code is evaluated.\n if (isUndefined(skipGlobalPatching)) {\n const ownerDocument = getOwnerDocument(node);\n skipGlobalPatching =\n ownerDocument.body &&\n getAttribute.call(ownerDocument.body, 'data-global-patching-bypass') ===\n 'temporary-bypass';\n }\n return isTrue(skipGlobalPatching);\n}\nexport function arrayFromCollection(collection) {\n const size = collection.length;\n const cloned = [];\n if (size > 0) {\n for (let i = 0; i < size; i++) {\n cloned[i] = collection[i];\n }\n }\n return cloned;\n}\n//# sourceMappingURL=utils.js.map","/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nexport const eventTargetPrototype = EventTarget.prototype;\nconst { addEventListener, dispatchEvent, removeEventListener } = eventTargetPrototype;\nexport { addEventListener, dispatchEvent, removeEventListener };\n//# sourceMappingURL=event-target.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperty, isNull, isUndefined } from '@lwc/shared';\nimport { parentNodeGetter } from '../env/node';\nimport { isSyntheticSlotElement } from '../faux-shadow/traverse';\n// Used as a back reference to identify the host element\nconst HostElementKey = '$$HostElementKey$$';\nconst ShadowedNodeKey = '$$ShadowedNodeKey$$';\nfunction fastDefineProperty(node, propName, config) {\n const shadowedNode = node;\n if (process.env.NODE_ENV !== 'production') {\n // in dev, we are more restrictive\n defineProperty(shadowedNode, propName, config);\n }\n else {\n const { value } = config;\n // in prod, we prioritize performance\n shadowedNode[propName] = value;\n }\n}\nexport function setNodeOwnerKey(node, value) {\n fastDefineProperty(node, HostElementKey, { value, configurable: true });\n}\nexport function setNodeKey(node, value) {\n fastDefineProperty(node, ShadowedNodeKey, { value });\n}\nexport function getNodeOwnerKey(node) {\n return node[HostElementKey];\n}\nexport function getNodeNearestOwnerKey(node) {\n let host = node;\n let hostKey;\n // search for the first element with owner identity\n // in case of manually inserted elements and elements slotted from Light DOM\n while (!isNull(host)) {\n hostKey = getNodeOwnerKey(host);\n if (!isUndefined(hostKey)) {\n return hostKey;\n }\n host = parentNodeGetter.call(host);\n if (!isNull(host) && isSyntheticSlotElement(host)) {\n return undefined;\n }\n }\n}\nexport function getNodeKey(node) {\n return node[ShadowedNodeKey];\n}\n/**\n * This function does not traverse up for performance reasons, but is sufficient for most use\n * cases. If we need to traverse up and verify those nodes that don't have owner key, use\n * isNodeDeepShadowed instead.\n */\nexport function isNodeShadowed(node) {\n return !isUndefined(getNodeOwnerKey(node));\n}\n//# sourceMappingURL=node-ownership.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayReduce, ArrayPush, isNull, isUndefined, ArrayFilter } from '@lwc/shared';\nimport { arrayFromCollection } from '../shared/utils';\nimport { getNodeKey, getNodeNearestOwnerKey, isNodeShadowed } from '../shared/node-ownership';\nimport { querySelectorAll } from '../env/element';\nimport { childNodesGetter, parentNodeGetter, compareDocumentPosition, DOCUMENT_POSITION_CONTAINS, parentElementGetter, Node, } from '../env/node';\nimport { getHost, getShadowRoot, getShadowRootResolver, isSyntheticShadowHost, } from './shadow-root';\n// when finding a slot in the DOM, we can fold it if it is contained\n// inside another slot.\nfunction foldSlotElement(slot) {\n let parent = parentElementGetter.call(slot);\n while (!isNull(parent) && isSlotElement(parent)) {\n slot = parent;\n parent = parentElementGetter.call(slot);\n }\n return slot;\n}\nfunction isNodeSlotted(host, node) {\n if (process.env.NODE_ENV !== 'production') {\n if (!(host instanceof HTMLElement)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeSlotted() should be called with a host as the first argument`);\n }\n if (!(node instanceof Node)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeSlotted() should be called with a node as the second argument`);\n }\n if (!(compareDocumentPosition.call(node, host) & DOCUMENT_POSITION_CONTAINS)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeSlotted() should never be called with a node that is not a child node of the given host`);\n }\n }\n const hostKey = getNodeKey(host);\n // this routine assumes that the node is coming from a different shadow (it is not owned by the host)\n // just in case the provided node is not an element\n let currentElement = node instanceof Element ? node : parentElementGetter.call(node);\n while (!isNull(currentElement) && currentElement !== host) {\n const elmOwnerKey = getNodeNearestOwnerKey(currentElement);\n const parent = parentElementGetter.call(currentElement);\n if (elmOwnerKey === hostKey) {\n // we have reached an element inside the host's template, and only if\n // that element is an slot, then the node is considered slotted\n return isSlotElement(currentElement);\n }\n else if (parent === host) {\n return false;\n }\n else if (!isNull(parent) && getNodeNearestOwnerKey(parent) !== elmOwnerKey) {\n // we are crossing a boundary of some sort since the elm and its parent\n // have different owner key. for slotted elements, this is possible\n // if the parent happens to be a slot.\n if (isSlotElement(parent)) {\n /**\n * the slot parent might be allocated inside another slot, think of:\n * <x-root> (<--- root element)\n * <x-parent> (<--- own by x-root)\n * <x-child> (<--- own by x-root)\n * <slot> (<--- own by x-child)\n * <slot> (<--- own by x-parent)\n * <div> (<--- own by x-root)\n *\n * while checking if x-parent has the div slotted, we need to traverse\n * up, but when finding the first slot, we skip that one in favor of the\n * most outer slot parent before jumping into its corresponding host.\n */\n currentElement = getNodeOwner(foldSlotElement(parent));\n if (!isNull(currentElement)) {\n if (currentElement === host) {\n // the slot element is a top level element inside the shadow\n // of a host that was allocated into host in question\n return true;\n }\n else if (getNodeNearestOwnerKey(currentElement) === hostKey) {\n // the slot element is an element inside the shadow\n // of a host that was allocated into host in question\n return true;\n }\n }\n }\n else {\n return false;\n }\n }\n else {\n currentElement = parent;\n }\n }\n return false;\n}\nexport function getNodeOwner(node) {\n if (!(node instanceof Node)) {\n return null;\n }\n const ownerKey = getNodeNearestOwnerKey(node);\n if (isUndefined(ownerKey)) {\n return null;\n }\n let nodeOwner = node;\n // At this point, node is a valid node with owner identity, now we need to find the owner node\n // search for a custom element with a VM that owns the first element with owner identity attached to it\n while (!isNull(nodeOwner) && getNodeKey(nodeOwner) !== ownerKey) {\n nodeOwner = parentNodeGetter.call(nodeOwner);\n }\n if (isNull(nodeOwner)) {\n return null;\n }\n return nodeOwner;\n}\nexport function isSyntheticSlotElement(node) {\n return isSlotElement(node) && isNodeShadowed(node);\n}\nexport function isSlotElement(node) {\n return node instanceof HTMLSlotElement;\n}\nexport function isNodeOwnedBy(owner, node) {\n if (process.env.NODE_ENV !== 'production') {\n if (!(owner instanceof HTMLElement)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeOwnedBy() should be called with an element as the first argument`);\n }\n if (!(node instanceof Node)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeOwnedBy() should be called with a node as the second argument`);\n }\n if (!(compareDocumentPosition.call(node, owner) & DOCUMENT_POSITION_CONTAINS)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeOwnedBy() should never be called with a node that is not a child node of of the given owner`);\n }\n }\n const ownerKey = getNodeNearestOwnerKey(node);\n if (isUndefined(ownerKey)) {\n // in case of root level light DOM element slotting into a synthetic shadow\n const host = parentNodeGetter.call(node);\n if (!isNull(host) && isSyntheticSlotElement(host)) {\n return false;\n }\n // in case of manually inserted elements\n return true;\n }\n return getNodeKey(owner) === ownerKey;\n}\nexport function shadowRootChildNodes(root) {\n const elm = getHost(root);\n return getAllMatches(elm, arrayFromCollection(childNodesGetter.call(elm)));\n}\nexport function getAllSlottedMatches(host, nodeList) {\n const filteredAndPatched = [];\n for (let i = 0, len = nodeList.length; i < len; i += 1) {\n const node = nodeList[i];\n if (!isNodeOwnedBy(host, node) && isNodeSlotted(host, node)) {\n ArrayPush.call(filteredAndPatched, node);\n }\n }\n return filteredAndPatched;\n}\nexport function getFirstSlottedMatch(host, nodeList) {\n for (let i = 0, len = nodeList.length; i < len; i += 1) {\n const node = nodeList[i];\n if (!isNodeOwnedBy(host, node) && isNodeSlotted(host, node)) {\n return node;\n }\n }\n return null;\n}\nexport function getAllMatches(owner, nodeList) {\n const filteredAndPatched = [];\n for (let i = 0, len = nodeList.length; i < len; i += 1) {\n const node = nodeList[i];\n const isOwned = isNodeOwnedBy(owner, node);\n if (isOwned) {\n // Patch querySelector, querySelectorAll, etc\n // if element is owned by VM\n ArrayPush.call(filteredAndPatched, node);\n }\n }\n return filteredAndPatched;\n}\nexport function getFirstMatch(owner, nodeList) {\n for (let i = 0, len = nodeList.length; i < len; i += 1) {\n if (isNodeOwnedBy(owner, nodeList[i])) {\n return nodeList[i];\n }\n }\n return null;\n}\nexport function shadowRootQuerySelector(root, selector) {\n const elm = getHost(root);\n const nodeList = arrayFromCollection(querySelectorAll.call(elm, selector));\n return getFirstMatch(elm, nodeList);\n}\nexport function shadowRootQuerySelectorAll(root, selector) {\n const elm = getHost(root);\n const nodeList = querySelectorAll.call(elm, selector);\n return getAllMatches(elm, arrayFromCollection(nodeList));\n}\nexport function getFilteredChildNodes(node) {\n if (!isSyntheticShadowHost(node) && !isSlotElement(node)) {\n // regular element - fast path\n const children = childNodesGetter.call(node);\n return arrayFromCollection(children);\n }\n if (isSyntheticShadowHost(node)) {\n // we need to get only the nodes that were slotted\n const slots = arrayFromCollection(querySelectorAll.call(node, 'slot'));\n const resolver = getShadowRootResolver(getShadowRoot(node));\n // Typescript is inferring the wrong function type for this particular\n // overloaded method: https://github.com/Microsoft/TypeScript/issues/27972\n // @ts-ignore type-mismatch\n return ArrayReduce.call(slots, (seed, slot) => {\n if (resolver === getShadowRootResolver(slot)) {\n ArrayPush.apply(seed, getFilteredSlotAssignedNodes(slot));\n }\n return seed;\n }, []);\n }\n else {\n // slot element\n const children = arrayFromCollection(childNodesGetter.call(node));\n const resolver = getShadowRootResolver(node);\n return ArrayFilter.call(children, (child) => resolver === getShadowRootResolver(child));\n }\n}\nexport function getFilteredSlotAssignedNodes(slot) {\n const owner = getNodeOwner(slot);\n if (isNull(owner)) {\n return [];\n }\n const childNodes = arrayFromCollection(childNodesGetter.call(slot));\n return ArrayFilter.call(childNodes, (child) => !isNodeShadowed(child) || !isNodeOwnedBy(owner, child));\n}\n//# sourceMappingURL=traverse.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\n// This code is inspired by Polymer ShadyDOM Polyfill\nimport { getFilteredChildNodes } from '../../faux-shadow/traverse';\nimport { getOuterHTML } from './outer-html';\nexport function getInnerHTML(node) {\n let s = '';\n const childNodes = getFilteredChildNodes(node);\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n s += getOuterHTML(childNodes[i]);\n }\n return s;\n}\n//# sourceMappingURL=inner-html.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\n// This code is inspired by Polymer ShadyDOM Polyfill\nimport { tagNameGetter } from '../../env/element';\nimport { ELEMENT_NODE, TEXT_NODE, CDATA_SECTION_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, } from '../../env/node';\nimport { getInnerHTML } from './inner-html';\n// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#escapingString\nconst escapeAttrRegExp = /[&\\u00A0\"]/g;\nconst escapeDataRegExp = /[&\\u00A0<>]/g;\nconst { replace, toLowerCase } = String.prototype;\nfunction escapeReplace(c) {\n switch (c) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n case '\"':\n return '"';\n case '\\u00A0':\n return ' ';\n default:\n return '';\n }\n}\nfunction escapeAttr(s) {\n return replace.call(s, escapeAttrRegExp, escapeReplace);\n}\nfunction escapeData(s) {\n return replace.call(s, escapeDataRegExp, escapeReplace);\n}\n// http://www.whatwg.org/specs/web-apps/current-work/#void-elements\nconst voidElements = new Set([\n 'AREA',\n 'BASE',\n 'BR',\n 'COL',\n 'COMMAND',\n 'EMBED',\n 'HR',\n 'IMG',\n 'INPUT',\n 'KEYGEN',\n 'LINK',\n 'META',\n 'PARAM',\n 'SOURCE',\n 'TRACK',\n 'WBR',\n]);\nconst plaintextParents = new Set([\n 'STYLE',\n 'SCRIPT',\n 'XMP',\n 'IFRAME',\n 'NOEMBED',\n 'NOFRAMES',\n 'PLAINTEXT',\n 'NOSCRIPT',\n]);\nexport function getOuterHTML(node) {\n switch (node.nodeType) {\n case ELEMENT_NODE: {\n const { attributes: attrs } = node;\n const tagName = tagNameGetter.call(node);\n let s = '<' + toLowerCase.call(tagName);\n for (let i = 0, attr; (attr = attrs[i]); i++) {\n s += ' ' + attr.name + '=\"' + escapeAttr(attr.value) + '\"';\n }\n s += '>';\n if (voidElements.has(tagName)) {\n return s;\n }\n return s + getInnerHTML(node) + '</' + toLowerCase.call(tagName) + '>';\n }\n case TEXT_NODE: {\n const { data, parentNode } = node;\n if (parentNode instanceof Element &&\n plaintextParents.has(tagNameGetter.call(parentNode))) {\n return data;\n }\n return escapeData(data);\n }\n case CDATA_SECTION_NODE: {\n return `<!CDATA[[${node.data}]]>`;\n }\n case PROCESSING_INSTRUCTION_NODE: {\n return `<?${node.target} ${node.data}?>`;\n }\n case COMMENT_NODE: {\n return `<!--${node.data}-->`;\n }\n default: {\n // intentionally ignoring unknown node types\n // Note: since this routine is always invoked for childNodes\n // we can safety ignore type 9, 10 and 99 (document, fragment and doctype)\n return '';\n }\n }\n}\n//# sourceMappingURL=outer-html.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\n// This code is inspired by Polymer ShadyDOM Polyfill\nimport { getFilteredChildNodes } from '../../faux-shadow/traverse';\nimport { ELEMENT_NODE, COMMENT_NODE } from '../../env/node';\nexport function getTextContent(node) {\n switch (node.nodeType) {\n case ELEMENT_NODE: {\n const childNodes = getFilteredChildNodes(node);\n let content = '';\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n const currentNode = childNodes[i];\n if (currentNode.nodeType !== COMMENT_NODE) {\n content += getTextContent(currentNode);\n }\n }\n return content;\n }\n default:\n return node.nodeValue;\n }\n}\n//# sourceMappingURL=text-content.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayMap, create, defineProperty, forEach, setPrototypeOf } from '@lwc/shared';\nconst Items = new WeakMap();\nfunction StaticNodeList() {\n throw new TypeError('Illegal constructor');\n}\nStaticNodeList.prototype = create(NodeList.prototype, {\n constructor: {\n writable: true,\n configurable: true,\n value: StaticNodeList,\n },\n item: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(index) {\n return this[index];\n },\n },\n length: {\n enumerable: true,\n configurable: true,\n get() {\n return Items.get(this).length;\n },\n },\n // Iterator protocol\n forEach: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(cb, thisArg) {\n forEach.call(Items.get(this), cb, thisArg);\n },\n },\n entries: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n return ArrayMap.call(Items.get(this), (v, i) => [i, v]);\n },\n },\n keys: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n return ArrayMap.call(Items.get(this), (_v, i) => i);\n },\n },\n values: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n return Items.get(this);\n },\n },\n [Symbol.iterator]: {\n writable: true,\n configurable: true,\n value() {\n let nextIndex = 0;\n return {\n next: () => {\n const items = Items.get(this);\n return nextIndex < items.length\n ? {\n value: items[nextIndex++],\n done: false,\n }\n : {\n done: true,\n };\n },\n };\n },\n },\n [Symbol.toStringTag]: {\n configurable: true,\n get() {\n return 'NodeList';\n },\n },\n // IE11 doesn't support Symbol.toStringTag, in which case we\n // provide the regular toString method.\n toString: {\n writable: true,\n configurable: true,\n value() {\n return '[object NodeList]';\n },\n },\n});\n// prototype inheritance dance\nsetPrototypeOf(StaticNodeList, NodeList);\nexport function createStaticNodeList(items) {\n const nodeList = create(StaticNodeList.prototype);\n Items.set(nodeList, items);\n // setting static indexes\n forEach.call(items, (item, index) => {\n defineProperty(nodeList, index, {\n value: item,\n enumerable: true,\n configurable: true,\n });\n });\n return nodeList;\n}\n//# sourceMappingURL=static-node-list.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayIndexOf, ArrayPush, isNull, isUndefined } from '@lwc/shared';\nimport { elementsFromPoint } from '../env/document';\nimport { isSyntheticSlotElement } from '../faux-shadow/traverse';\n// Walk up the DOM tree, collecting all shadow roots plus the document root\nfunction getAllRootNodes(node) {\n var _a;\n const rootNodes = [];\n let currentRootNode = node.getRootNode();\n while (!isUndefined(currentRootNode)) {\n rootNodes.push(currentRootNode);\n currentRootNode = (_a = currentRootNode.host) === null || _a === void 0 ? void 0 : _a.getRootNode();\n }\n return rootNodes;\n}\n// Keep searching up the host tree until we find an element that is within the immediate shadow root\nconst findAncestorHostInImmediateShadowRoot = (rootNode, targetRootNode) => {\n let host;\n while (!isUndefined((host = rootNode.host))) {\n const thisRootNode = host.getRootNode();\n if (thisRootNode === targetRootNode) {\n return host;\n }\n rootNode = thisRootNode;\n }\n};\nexport function fauxElementsFromPoint(context, doc, left, top) {\n const elements = elementsFromPoint.call(doc, left, top);\n const result = [];\n const rootNodes = getAllRootNodes(context);\n // Filter the elements array to only include those elements that are in this shadow root or in one of its\n // ancestor roots. This matches Chrome and Safari's implementation (but not Firefox's, which only includes\n // elements in the immediate shadow root: https://crbug.com/1207863#c4).\n if (!isNull(elements)) {\n // can be null in IE https://developer.mozilla.org/en-US/docs/Web/API/Document/elementsFromPoint#browser_compatibility\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n if (isSyntheticSlotElement(element)) {\n continue;\n }\n const elementRootNode = element.getRootNode();\n if (ArrayIndexOf.call(rootNodes, elementRootNode) !== -1) {\n ArrayPush.call(result, element);\n continue;\n }\n // In cases where the host element is not visible but its shadow descendants are, then\n // we may get the shadow descendant instead of the host element here. (The\n // browser doesn't know the difference in synthetic shadow DOM.)\n // In native shadow DOM, however, elementsFromPoint would return the host but not\n // the child. So we need to detect if this shadow element's host is accessible from\n // the context's shadow root. Note we also need to be careful not to add the host\n // multiple times.\n const ancestorHost = findAncestorHostInImmediateShadowRoot(elementRootNode, rootNodes[0]);\n if (!isUndefined(ancestorHost) &&\n ArrayIndexOf.call(elements, ancestorHost) === -1 &&\n ArrayIndexOf.call(result, ancestorHost) === -1) {\n ArrayPush.call(result, ancestorHost);\n }\n }\n }\n return result;\n}\n//# sourceMappingURL=faux-elements-from-point.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { create, defineProperty, forEach, setPrototypeOf } from '@lwc/shared';\nimport { getAttribute } from '../env/element';\nconst Items = new WeakMap();\nfunction StaticHTMLCollection() {\n throw new TypeError('Illegal constructor');\n}\nStaticHTMLCollection.prototype = create(HTMLCollection.prototype, {\n constructor: {\n writable: true,\n configurable: true,\n value: StaticHTMLCollection,\n },\n item: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(index) {\n return this[index];\n },\n },\n length: {\n enumerable: true,\n configurable: true,\n get() {\n return Items.get(this).length;\n },\n },\n // https://dom.spec.whatwg.org/#dom-htmlcollection-nameditem-key\n namedItem: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(name) {\n if (name === '') {\n return null;\n }\n const items = Items.get(this);\n for (let i = 0, len = items.length; i < len; i++) {\n const item = items[len];\n if (name === getAttribute.call(item, 'id') ||\n name === getAttribute.call(item, 'name')) {\n return item;\n }\n }\n return null;\n },\n },\n [Symbol.toStringTag]: {\n configurable: true,\n get() {\n return 'HTMLCollection';\n },\n },\n // IE11 doesn't support Symbol.toStringTag, in which case we\n // provide the regular toString method.\n toString: {\n writable: true,\n configurable: true,\n value() {\n return '[object HTMLCollection]';\n },\n },\n});\n// prototype inheritance dance\nsetPrototypeOf(StaticHTMLCollection, HTMLCollection);\nexport function createStaticHTMLCollection(items) {\n const collection = create(StaticHTMLCollection.prototype);\n Items.set(collection, items);\n // setting static indexes\n forEach.call(items, (item, index) => {\n defineProperty(collection, index, {\n value: item,\n enumerable: true,\n configurable: true,\n });\n });\n return collection;\n}\n//# sourceMappingURL=static-html-collection.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperties, defineProperty, getOwnPropertyDescriptor, hasOwnProperty, isNull, isTrue, isUndefined, } from '@lwc/shared';\nimport { Node } from '../env/node';\nimport { parentNodeGetter, textContextSetter, compareDocumentPosition, DOCUMENT_POSITION_CONTAINED_BY, parentNodeGetter as nativeParentNodeGetter, cloneNode as nativeCloneNode, cloneNode, hasChildNodes, contains, parentElementGetter, lastChildGetter, firstChildGetter, textContentGetter, childNodesGetter, isConnected, } from '../env/node';\nimport { getTextContent } from '../3rdparty/polymer/text-content';\nimport { isGlobalPatchingSkipped } from '../shared/utils';\nimport { createStaticNodeList } from '../shared/static-node-list';\nimport { getNodeNearestOwnerKey, getNodeOwnerKey, isNodeShadowed } from '../shared/node-ownership';\nimport { getShadowRoot, isSyntheticShadowHost } from './shadow-root';\nimport { getNodeOwner, isSlotElement, isNodeOwnedBy, getAllMatches, getFilteredChildNodes, isSyntheticSlotElement, } from './traverse';\n/**\n * This method checks whether or not the content of the node is computed\n * based on the light-dom slotting mechanism. This applies to synthetic slot elements\n * and elements with shadow dom attached to them. It doesn't apply to native slot elements\n * because we don't want to patch the children getters for those elements.\n */\nexport function hasMountedChildren(node) {\n return isSyntheticSlotElement(node) || isSyntheticShadowHost(node);\n}\nfunction getShadowParent(node, value) {\n const owner = getNodeOwner(node);\n if (value === owner) {\n // walking up via parent chain might end up in the shadow root element\n return getShadowRoot(owner);\n }\n else if (value instanceof Element) {\n if (getNodeNearestOwnerKey(node) === getNodeNearestOwnerKey(value)) {\n // the element and its parent node belong to the same shadow root\n return value;\n }\n else if (!isNull(owner) && isSlotElement(value)) {\n // slotted elements must be top level childNodes of the slot element\n // where they slotted into, but its shadowed parent is always the\n // owner of the slot.\n const slotOwner = getNodeOwner(value);\n if (!isNull(slotOwner) && isNodeOwnedBy(owner, slotOwner)) {\n // it is a slotted element, and therefore its parent is always going to be the host of the slot\n return slotOwner;\n }\n }\n }\n return null;\n}\nfunction hasChildNodesPatched() {\n return getInternalChildNodes(this).length > 0;\n}\nfunction firstChildGetterPatched() {\n const childNodes = getInternalChildNodes(this);\n return childNodes[0] || null;\n}\nfunction lastChildGetterPatched() {\n const childNodes = getInternalChildNodes(this);\n return childNodes[childNodes.length - 1] || null;\n}\nfunction textContentGetterPatched() {\n return getTextContent(this);\n}\nfunction textContentSetterPatched(value) {\n textContextSetter.call(this, value);\n}\nfunction parentNodeGetterPatched() {\n const value = nativeParentNodeGetter.call(this);\n if (isNull(value)) {\n return value;\n }\n // TODO [#1635]: this needs optimization, maybe implementing it based on this.assignedSlot\n return getShadowParent(this, value);\n}\nfunction parentElementGetterPatched() {\n const value = nativeParentNodeGetter.call(this);\n if (isNull(value)) {\n return null;\n }\n const parentNode = getShadowParent(this, value);\n // it could be that the parentNode is the shadowRoot, in which case\n // we need to return null.\n // TODO [#1635]: this needs optimization, maybe implementing it based on this.assignedSlot\n return parentNode instanceof Element ? parentNode : null;\n}\nfunction compareDocumentPositionPatched(otherNode) {\n if (this === otherNode) {\n return 0;\n }\n else if (this.getRootNode() === otherNode) {\n // \"this\" is in a shadow tree where the shadow root is the \"otherNode\".\n return 10; // Node.DOCUMENT_POSITION_CONTAINS | Node.DOCUMENT_POSITION_PRECEDING\n }\n else if (getNodeOwnerKey(this) !== getNodeOwnerKey(otherNode)) {\n // \"this\" and \"otherNode\" belongs to 2 different shadow tree.\n return 35; // Node.DOCUMENT_POSITION_DISCONNECTED | Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | Node.DOCUMENT_POSITION_PRECEDING\n }\n // Since \"this\" and \"otherNode\" are part of the same shadow tree we can safely rely to the native\n // Node.compareDocumentPosition implementation.\n return compareDocumentPosition.call(this, otherNode);\n}\nfunction containsPatched(otherNode) {\n if (otherNode == null || getNodeOwnerKey(this) !== getNodeOwnerKey(otherNode)) {\n // it is from another shadow\n return false;\n }\n return (compareDocumentPosition.call(this, otherNode) & DOCUMENT_POSITION_CONTAINED_BY) !== 0;\n}\nfunction cloneNodePatched(deep) {\n const clone = nativeCloneNode.call(this, false);\n // Per spec, browsers only care about truthy values\n // Not strict true or false\n if (!deep) {\n return clone;\n }\n const childNodes = getInternalChildNodes(this);\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n clone.appendChild(childNodes[i].cloneNode(true));\n }\n return clone;\n}\n/**\n * This method only applies to elements with a shadow or slots\n */\nfunction childNodesGetterPatched() {\n if (isSyntheticShadowHost(this)) {\n const owner = getNodeOwner(this);\n const childNodes = isNull(owner) ? [] : getAllMatches(owner, getFilteredChildNodes(this));\n return createStaticNodeList(childNodes);\n }\n // nothing to do here since this does not have a synthetic shadow attached to it\n // TODO [#1636]: what about slot elements?\n return childNodesGetter.call(this);\n}\nconst nativeGetRootNode = Node.prototype.getRootNode;\n/**\n * Get the root by climbing up the dom tree, beyond the shadow root\n * If Node.prototype.getRootNode is supported, use it\n * else, assume we are working in non-native shadow mode and climb using parentNode\n */\nconst getDocumentOrRootNode = !isUndefined(nativeGetRootNode)\n ? nativeGetRootNode\n : function () {\n let node = this;\n let nodeParent;\n while (!isNull((nodeParent = parentNodeGetter.call(node)))) {\n node = nodeParent;\n }\n return node;\n };\n/**\n * Get the shadow root\n * getNodeOwner() returns the host element that owns the given node\n * Note: getNodeOwner() returns null when running in native-shadow mode.\n * Fallback to using the native getRootNode() to discover the root node.\n * This is because, it is not possible to inspect the node and decide if it is part\n * of a native shadow or the synthetic shadow.\n * @param {Node} node\n */\nfunction getNearestRoot(node) {\n const ownerNode = getNodeOwner(node);\n if (isNull(ownerNode)) {\n // we hit a wall, either we are in native shadow mode or the node is not in lwc boundary.\n return getDocumentOrRootNode.call(node);\n }\n return getShadowRoot(ownerNode);\n}\n/**\n * If looking for a root node beyond shadow root by calling `node.getRootNode({composed: true})`, use the original `Node.prototype.getRootNode` method\n * to return the root of the dom tree. In IE11 and Edge, Node.prototype.getRootNode is\n * [not supported](https://developer.mozilla.org/en-US/docs/Web/API/Node/getRootNode#Browser_compatibility). The root node is discovered by manually\n * climbing up the dom tree.\n *\n * If looking for a shadow root of a node by calling `node.getRootNode({composed: false})` or `node.getRootNode()`,\n *\n * 1. Try to identify the host element that owns the give node.\n * i. Identify the shadow tree that the node belongs to\n * ii. If the node belongs to a shadow tree created by engine, return the shadowRoot of the host element that owns the shadow tree\n * 2. The host identification logic returns null in two cases:\n * i. The node does not belong to a shadow tree created by engine\n * ii. The engine is running in native shadow dom mode\n * If so, use the original Node.prototype.getRootNode to fetch the root node(or manually climb up the dom tree where getRootNode() is unsupported)\n *\n * _Spec_: https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n **/\nfunction getRootNodePatched(options) {\n const composed = isUndefined(options) ? false : !!options.composed;\n return isTrue(composed) ? getDocumentOrRootNode.call(this, options) : getNearestRoot(this);\n}\n// Non-deep-traversing patches: this descriptor map includes all descriptors that\n// do not give access to nodes beyond the immediate children.\ndefineProperties(Node.prototype, {\n firstChild: {\n get() {\n if (hasMountedChildren(this)) {\n return firstChildGetterPatched.call(this);\n }\n return firstChildGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n lastChild: {\n get() {\n if (hasMountedChildren(this)) {\n return lastChildGetterPatched.call(this);\n }\n return lastChildGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n textContent: {\n get() {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {\n return textContentGetterPatched.call(this);\n }\n return textContentGetter.call(this);\n },\n set: textContentSetterPatched,\n enumerable: true,\n configurable: true,\n },\n parentNode: {\n get() {\n if (isNodeShadowed(this)) {\n return parentNodeGetterPatched.call(this);\n }\n const parentNode = parentNodeGetter.call(this);\n // Handle the case where a top level light DOM element is slotted into a synthetic\n // shadow slot.\n if (!isNull(parentNode) && isSyntheticSlotElement(parentNode)) {\n return getNodeOwner(parentNode);\n }\n return parentNode;\n },\n enumerable: true,\n configurable: true,\n },\n parentElement: {\n get() {\n if (isNodeShadowed(this)) {\n return parentElementGetterPatched.call(this);\n }\n const parentElement = parentElementGetter.call(this);\n // Handle the case where a top level light DOM element is slotted into a synthetic\n // shadow slot.\n if (!isNull(parentElement) && isSyntheticSlotElement(parentElement)) {\n return getNodeOwner(parentElement);\n }\n return parentElement;\n },\n enumerable: true,\n configurable: true,\n },\n childNodes: {\n get() {\n if (hasMountedChildren(this)) {\n return childNodesGetterPatched.call(this);\n }\n return childNodesGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n hasChildNodes: {\n value() {\n if (hasMountedChildren(this)) {\n return hasChildNodesPatched.call(this);\n }\n return hasChildNodes.call(this);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n compareDocumentPosition: {\n value(otherNode) {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (isGlobalPatchingSkipped(this)) {\n return compareDocumentPosition.call(this, otherNode);\n }\n return compareDocumentPositionPatched.call(this, otherNode);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n contains: {\n value(otherNode) {\n // 1. Node.prototype.contains() returns true if otherNode is an inclusive descendant\n // spec: https://dom.spec.whatwg.org/#dom-node-contains\n // 2. This normalizes the behavior of this api across all browsers.\n // In IE11, a disconnected dom element without children invoking contains() on self, returns false\n if (this === otherNode) {\n return true;\n }\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (otherNode == null) {\n return false;\n }\n if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {\n return containsPatched.call(this, otherNode);\n }\n return contains.call(this, otherNode);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n cloneNode: {\n value(deep) {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {\n return cloneNodePatched.call(this, deep);\n }\n return cloneNode.call(this, deep);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n getRootNode: {\n value: getRootNodePatched,\n enumerable: true,\n configurable: true,\n writable: true,\n },\n isConnected: {\n enumerable: true,\n configurable: true,\n get() {\n return isConnected.call(this);\n },\n },\n});\nexport const getInternalChildNodes = function (node) {\n return node.childNodes;\n};\n// IE11 extra patches for wrong prototypes\nif (hasOwnProperty.call(HTMLElement.prototype, 'contains')) {\n defineProperty(HTMLElement.prototype, 'contains', getOwnPropertyDescriptor(Node.prototype, 'contains'));\n}\nif (hasOwnProperty.call(HTMLElement.prototype, 'parentElement')) {\n defineProperty(HTMLElement.prototype, 'parentElement', getOwnPropertyDescriptor(Node.prototype, 'parentElement'));\n}\n//# sourceMappingURL=node.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { assert, isFalse, isFunction, isNull, isObject, isUndefined } from '@lwc/shared';\nimport { eventCurrentTargetGetter } from '../env/dom';\nimport { getActualTarget } from '../faux-shadow/events';\nimport { isSyntheticShadowHost } from '../faux-shadow/shadow-root';\nconst EventListenerMap = new WeakMap();\nconst ComposedPathMap = new WeakMap();\nfunction isEventListenerOrEventListenerObject(fnOrObj) {\n return (isFunction(fnOrObj) ||\n (isObject(fnOrObj) &&\n !isNull(fnOrObj) &&\n isFunction(fnOrObj.handleEvent)));\n}\nexport function shouldInvokeListener(event, target, currentTarget) {\n // Subsequent logic assumes that `currentTarget` must be contained in the composed path for the listener to be\n // invoked, but this is not always the case. `composedPath()` will sometimes return an empty array, even when the\n // listener should be invoked (e.g., a disconnected instance of EventTarget, an instance of XMLHttpRequest, etc).\n if (target === currentTarget) {\n return true;\n }\n let composedPath = ComposedPathMap.get(event);\n if (isUndefined(composedPath)) {\n composedPath = event.composedPath();\n ComposedPathMap.set(event, composedPath);\n }\n return composedPath.includes(currentTarget);\n}\nexport function getEventListenerWrapper(fnOrObj) {\n if (!isEventListenerOrEventListenerObject(fnOrObj)) {\n return fnOrObj;\n }\n let wrapperFn = EventListenerMap.get(fnOrObj);\n if (isUndefined(wrapperFn)) {\n wrapperFn = function (event) {\n // This function is invoked from an event listener and currentTarget is always defined.\n const currentTarget = eventCurrentTargetGetter.call(event);\n if (process.env.NODE_ENV !== 'production') {\n assert.invariant(isFalse(isSyntheticShadowHost(currentTarget)), 'This routine should not be used to wrap event listeners for host elements and shadow roots.');\n }\n const actualTarget = getActualTarget(event);\n if (!shouldInvokeListener(event, actualTarget, currentTarget)) {\n return;\n }\n return isFunction(fnOrObj)\n ? fnOrObj.call(this, event)\n : fnOrObj.handleEvent && fnOrObj.handleEvent(event);\n };\n EventListenerMap.set(fnOrObj, wrapperFn);\n }\n return wrapperFn;\n}\n//# sourceMappingURL=event-target.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFindIndex, ArrayPush, ArraySlice, ArraySplice, create, defineProperty, forEach, isFalse, isFunction, isUndefined, toString, } from '@lwc/shared';\nimport { isInstanceOfNativeShadowRoot } from '../env/shadow-root';\nimport { eventCurrentTargetGetter, eventTargetGetter } from '../env/dom';\nimport { addEventListener, removeEventListener } from '../env/event-target';\nimport { shouldInvokeListener } from '../shared/event-target';\nimport { eventToShadowRootMap, getHost, getShadowRoot } from './shadow-root';\nexport const eventToContextMap = new WeakMap();\nfunction getEventHandler(listener) {\n if (isFunction(listener)) {\n return listener;\n }\n else {\n return listener.handleEvent;\n }\n}\nfunction isEventListenerOrEventListenerObject(listener) {\n return isFunction(listener) || isFunction(listener === null || listener === void 0 ? void 0 : listener.handleEvent);\n}\nconst customElementToWrappedListeners = new WeakMap();\nfunction getEventMap(elm) {\n let listenerInfo = customElementToWrappedListeners.get(elm);\n if (isUndefined(listenerInfo)) {\n listenerInfo = create(null);\n customElementToWrappedListeners.set(elm, listenerInfo);\n }\n return listenerInfo;\n}\n/**\n * Events dispatched on shadow roots actually end up being dispatched on their hosts. This means that the event.target\n * property of events dispatched on shadow roots always resolve to their host. This function understands this\n * abstraction and properly returns a reference to the shadow root when appropriate.\n */\nexport function getActualTarget(event) {\n var _a;\n return (_a = eventToShadowRootMap.get(event)) !== null && _a !== void 0 ? _a : eventTargetGetter.call(event);\n}\nconst shadowRootEventListenerMap = new WeakMap();\nfunction getManagedShadowRootListener(listener) {\n if (!isEventListenerOrEventListenerObject(listener)) {\n throw new TypeError(); // avoiding problems with non-valid listeners\n }\n let managedListener = shadowRootEventListenerMap.get(listener);\n if (isUndefined(managedListener)) {\n managedListener = {\n identity: listener,\n placement: 1 /* EventListenerContext.SHADOW_ROOT_LISTENER */,\n handleEvent(event) {\n // currentTarget is always defined inside an event listener\n let currentTarget = eventCurrentTargetGetter.call(event);\n // If currentTarget is not an instance of a native shadow root then we're dealing with a\n // host element whose synthetic shadow root must be accessed via getShadowRoot().\n if (!isInstanceOfNativeShadowRoot(currentTarget)) {\n currentTarget = getShadowRoot(currentTarget);\n }\n const actualTarget = getActualTarget(event);\n if (shouldInvokeListener(event, actualTarget, currentTarget)) {\n getEventHandler(listener).call(currentTarget, event);\n }\n },\n };\n shadowRootEventListenerMap.set(listener, managedListener);\n }\n return managedListener;\n}\nconst customElementEventListenerMap = new WeakMap();\nfunction getManagedCustomElementListener(listener) {\n if (!isEventListenerOrEventListenerObject(listener)) {\n throw new TypeError(); // avoiding problems with non-valid listeners\n }\n let managedListener = customElementEventListenerMap.get(listener);\n if (isUndefined(managedListener)) {\n managedListener = {\n identity: listener,\n placement: 0 /* EventListenerContext.CUSTOM_ELEMENT_LISTENER */,\n handleEvent(event) {\n // currentTarget is always defined inside an event listener\n const currentTarget = eventCurrentTargetGetter.call(event);\n const actualTarget = getActualTarget(event);\n if (shouldInvokeListener(event, actualTarget, currentTarget)) {\n getEventHandler(listener).call(currentTarget, event);\n }\n },\n };\n customElementEventListenerMap.set(listener, managedListener);\n }\n return managedListener;\n}\nfunction indexOfManagedListener(listeners, listener) {\n return ArrayFindIndex.call(listeners, (l) => l.identity === listener.identity);\n}\nfunction domListener(evt) {\n let immediatePropagationStopped = false;\n let propagationStopped = false;\n const { type, stopImmediatePropagation, stopPropagation } = evt;\n // currentTarget is always defined\n const currentTarget = eventCurrentTargetGetter.call(evt);\n const listenerMap = getEventMap(currentTarget);\n const listeners = listenerMap[type]; // it must have listeners at this point\n defineProperty(evt, 'stopImmediatePropagation', {\n value() {\n immediatePropagationStopped = true;\n stopImmediatePropagation.call(evt);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n });\n defineProperty(evt, 'stopPropagation', {\n value() {\n propagationStopped = true;\n stopPropagation.call(evt);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n });\n // in case a listener adds or removes other listeners during invocation\n const bookkeeping = ArraySlice.call(listeners);\n function invokeListenersByPlacement(placement) {\n forEach.call(bookkeeping, (listener) => {\n if (isFalse(immediatePropagationStopped) && listener.placement === placement) {\n // making sure that the listener was not removed from the original listener queue\n if (indexOfManagedListener(listeners, listener) !== -1) {\n // all handlers on the custom element should be called with undefined 'this'\n listener.handleEvent.call(undefined, evt);\n }\n }\n });\n }\n eventToContextMap.set(evt, 1 /* EventListenerContext.SHADOW_ROOT_LISTENER */);\n invokeListenersByPlacement(1 /* EventListenerContext.SHADOW_ROOT_LISTENER */);\n if (isFalse(immediatePropagationStopped) && isFalse(propagationStopped)) {\n // doing the second iteration only if the first one didn't interrupt the event propagation\n eventToContextMap.set(evt, 0 /* EventListenerContext.CUSTOM_ELEMENT_LISTENER */);\n invokeListenersByPlacement(0 /* EventListenerContext.CUSTOM_ELEMENT_LISTENER */);\n }\n eventToContextMap.set(evt, 2 /* EventListenerContext.UNKNOWN_LISTENER */);\n}\nfunction attachDOMListener(elm, type, managedListener) {\n const listenerMap = getEventMap(elm);\n let listeners = listenerMap[type];\n if (isUndefined(listeners)) {\n listeners = listenerMap[type] = [];\n }\n // Prevent identical listeners from subscribing to the same event type.\n // TODO [#1824]: Options will also play a factor in deduping if we introduce options support\n if (indexOfManagedListener(listeners, managedListener) !== -1) {\n return;\n }\n // only add to DOM if there is no other listener on the same placement yet\n if (listeners.length === 0) {\n addEventListener.call(elm, type, domListener);\n }\n ArrayPush.call(listeners, managedListener);\n}\nfunction detachDOMListener(elm, type, managedListener) {\n const listenerMap = getEventMap(elm);\n let index;\n let listeners;\n if (!isUndefined((listeners = listenerMap[type])) &&\n (index = indexOfManagedListener(listeners, managedListener)) !== -1) {\n ArraySplice.call(listeners, index, 1);\n // only remove from DOM if there is no other listener on the same placement\n if (listeners.length === 0) {\n removeEventListener.call(elm, type, domListener);\n }\n }\n}\nexport function addCustomElementEventListener(type, listener, _options) {\n if (process.env.NODE_ENV !== 'production') {\n if (!isEventListenerOrEventListenerObject(listener)) {\n throw new TypeError(`Invalid second argument for Element.addEventListener() in ${toString(this)} for event \"${type}\". Expected EventListener or EventListenerObject but received ${listener}.`);\n }\n }\n if (isEventListenerOrEventListenerObject(listener)) {\n const managedListener = getManagedCustomElementListener(listener);\n attachDOMListener(this, type, managedListener);\n }\n}\nexport function removeCustomElementEventListener(type, listener, _options) {\n if (isEventListenerOrEventListenerObject(listener)) {\n const managedListener = getManagedCustomElementListener(listener);\n detachDOMListener(this, type, managedListener);\n }\n}\nexport function addShadowRootEventListener(sr, type, listener, _options) {\n if (process.env.NODE_ENV !== 'production') {\n if (!isEventListenerOrEventListenerObject(listener)) {\n throw new TypeError(`Invalid second argument for ShadowRoot.addEventListener() in ${toString(sr)} for event \"${type}\". Expected EventListener or EventListenerObject but received ${listener}.`);\n }\n }\n if (isEventListenerOrEventListenerObject(listener)) {\n const elm = getHost(sr);\n const managedListener = getManagedShadowRootListener(listener);\n attachDOMListener(elm, type, managedListener);\n }\n}\nexport function removeShadowRootEventListener(sr, type, listener, _options) {\n if (isEventListenerOrEventListenerObject(listener)) {\n const elm = getHost(sr);\n const managedListener = getManagedShadowRootListener(listener);\n detachDOMListener(elm, type, managedListener);\n }\n}\n//# sourceMappingURL=events.js.map","/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFilter, assign, create, defineProperty, globalThis, isNull, isTrue, isUndefined, KEY__SHADOW_RESOLVER, KEY__SHADOW_RESOLVER_PRIVATE, KEY__NATIVE_GET_ELEMENT_BY_ID, KEY__NATIVE_QUERY_SELECTOR_ALL, setPrototypeOf, getPrototypeOf, isObject, } from '@lwc/shared';\nimport { innerHTMLSetter } from '../env/element';\nimport { dispatchEvent } from '../env/event-target';\nimport { DocumentPrototypeActiveElement, getElementById, querySelectorAll } from '../env/document';\nimport { isInstanceOfNativeShadowRoot } from '../env/shadow-root';\nimport { compareDocumentPosition, DOCUMENT_POSITION_CONTAINED_BY, parentElementGetter, textContextSetter, isConnected, removeChild, insertBefore, replaceChild, appendChild, COMMENT_NODE, Node, } from '../env/node';\nimport { getOuterHTML } from '../3rdparty/polymer/outer-html';\nimport { getTextContent } from '../3rdparty/polymer/text-content';\nimport { getOwnerDocument } from '../shared/utils';\nimport { createStaticNodeList } from '../shared/static-node-list';\nimport { setNodeKey, setNodeOwnerKey } from '../shared/node-ownership';\nimport { fauxElementFromPoint } from '../shared/faux-element-from-point';\nimport { fauxElementsFromPoint } from '../shared/faux-elements-from-point';\nimport { createStaticHTMLCollection } from '../shared/static-html-collection';\nimport { getInternalChildNodes } from './node';\nimport { addShadowRootEventListener, removeShadowRootEventListener } from './events';\nimport { shadowRootQuerySelector, shadowRootQuerySelectorAll, shadowRootChildNodes, isNodeOwnedBy, isSlotElement, } from './traverse';\nconst InternalSlot = new WeakMap();\nconst { createDocumentFragment } = document;\nexport function hasInternalSlot(root) {\n return InternalSlot.has(root);\n}\nfunction getInternalSlot(root) {\n const record = InternalSlot.get(root);\n if (isUndefined(record)) {\n throw new TypeError();\n }\n return record;\n}\ndefineProperty(Node.prototype, KEY__SHADOW_RESOLVER, {\n set(fn) {\n if (isUndefined(fn))\n return;\n this[KEY__SHADOW_RESOLVER_PRIVATE] = fn;\n // TODO [#1164]: temporary propagation of the key\n setNodeOwnerKey(this, fn.nodeKey);\n },\n get() {\n return this[KEY__SHADOW_RESOLVER_PRIVATE];\n },\n configurable: true,\n enumerable: true,\n});\n// The isUndefined check is because two copies of synthetic shadow may be loaded on the same page, and this\n// would throw an error if we tried to redefine it. Plus the whole point is to expose the native method.\nif (isUndefined(globalThis[KEY__NATIVE_GET_ELEMENT_BY_ID])) {\n defineProperty(globalThis, KEY__NATIVE_GET_ELEMENT_BY_ID, {\n value: getElementById,\n configurable: true,\n });\n}\n// See note above.\nif (isUndefined(globalThis[KEY__NATIVE_QUERY_SELECTOR_ALL])) {\n defineProperty(globalThis, KEY__NATIVE_QUERY_SELECTOR_ALL, {\n value: querySelectorAll,\n configurable: true,\n });\n}\nexport function getShadowRootResolver(node) {\n return node[KEY__SHADOW_RESOLVER];\n}\nexport function setShadowRootResolver(node, fn) {\n node[KEY__SHADOW_RESOLVER] = fn;\n}\nexport function isDelegatingFocus(host) {\n return getInternalSlot(host).delegatesFocus;\n}\nexport function getHost(root) {\n return getInternalSlot(root).host;\n}\nexport function getShadowRoot(elm) {\n return getInternalSlot(elm).shadowRoot;\n}\n// Intentionally adding `Node` here in addition to `Element` since this check is harmless for nodes\n// and we can avoid having to cast the type before calling this method in a few places.\nexport function isSyntheticShadowHost(node) {\n const shadowRootRecord = InternalSlot.get(node);\n return !isUndefined(shadowRootRecord) && node === shadowRootRecord.host;\n}\nexport function isSyntheticShadowRoot(node) {\n const shadowRootRecord = InternalSlot.get(node);\n return !isUndefined(shadowRootRecord) && node === shadowRootRecord.shadowRoot;\n}\nlet uid = 0;\nexport function attachShadow(elm, options) {\n if (InternalSlot.has(elm)) {\n throw new Error(`Failed to execute 'attachShadow' on 'Element': Shadow root cannot be created on a host which already hosts a shadow tree.`);\n }\n const { mode, delegatesFocus } = options;\n // creating a real fragment for shadowRoot instance\n const doc = getOwnerDocument(elm);\n const sr = createDocumentFragment.call(doc);\n // creating shadow internal record\n const record = {\n mode,\n delegatesFocus: !!delegatesFocus,\n host: elm,\n shadowRoot: sr,\n };\n InternalSlot.set(sr, record);\n InternalSlot.set(elm, record);\n const shadowResolver = () => sr;\n const x = (shadowResolver.nodeKey = uid++);\n setNodeKey(elm, x);\n setShadowRootResolver(sr, shadowResolver);\n // correcting the proto chain\n setPrototypeOf(sr, SyntheticShadowRoot.prototype);\n return sr;\n}\nconst SyntheticShadowRootDescriptors = {\n constructor: {\n writable: true,\n configurable: true,\n value: SyntheticShadowRoot,\n },\n toString: {\n writable: true,\n configurable: true,\n value() {\n return `[object ShadowRoot]`;\n },\n },\n synthetic: {\n writable: false,\n enumerable: false,\n configurable: false,\n value: true,\n },\n};\nconst ShadowRootDescriptors = {\n activeElement: {\n enumerable: true,\n configurable: true,\n get() {\n const host = getHost(this);\n const doc = getOwnerDocument(host);\n const activeElement = DocumentPrototypeActiveElement.call(doc);\n if (isNull(activeElement)) {\n return activeElement;\n }\n if ((compareDocumentPosition.call(host, activeElement) &\n DOCUMENT_POSITION_CONTAINED_BY) ===\n 0) {\n return null;\n }\n // activeElement must be child of the host and owned by it\n let node = activeElement;\n while (!isNodeOwnedBy(host, node)) {\n // parentElement is always an element because we are talking up the tree knowing\n // that it is a child of the host.\n node = parentElementGetter.call(node);\n }\n // If we have a slot element here that means that we were dealing\n // with an element that was passed to one of our slots. In this\n // case, activeElement returns null.\n if (isSlotElement(node)) {\n return null;\n }\n return node;\n },\n },\n delegatesFocus: {\n configurable: true,\n get() {\n return getInternalSlot(this).delegatesFocus;\n },\n },\n elementFromPoint: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(left, top) {\n const host = getHost(this);\n const doc = getOwnerDocument(host);\n return fauxElementFromPoint(this, doc, left, top);\n },\n },\n elementsFromPoint: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(left, top) {\n const host = getHost(this);\n const doc = getOwnerDocument(host);\n return fauxElementsFromPoint(this, doc, left, top);\n },\n },\n getSelection: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n throw new Error('Disallowed method \"getSelection\" on ShadowRoot.');\n },\n },\n host: {\n enumerable: true,\n configurable: true,\n get() {\n return getHost(this);\n },\n },\n mode: {\n configurable: true,\n get() {\n return getInternalSlot(this).mode;\n },\n },\n styleSheets: {\n enumerable: true,\n configurable: true,\n get() {\n throw new Error();\n },\n },\n};\nexport const eventToShadowRootMap = new WeakMap();\nconst NodePatchDescriptors = {\n insertBefore: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(newChild, refChild) {\n insertBefore.call(getHost(this), newChild, refChild);\n return newChild;\n },\n },\n removeChild: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(oldChild) {\n removeChild.call(getHost(this), oldChild);\n return oldChild;\n },\n },\n appendChild: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(newChild) {\n appendChild.call(getHost(this), newChild);\n return newChild;\n },\n },\n replaceChild: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(newChild, oldChild) {\n replaceChild.call(getHost(this), newChild, oldChild);\n return oldChild;\n },\n },\n addEventListener: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(type, listener, options) {\n addShadowRootEventListener(this, type, listener, options);\n },\n },\n dispatchEvent: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(evt) {\n eventToShadowRootMap.set(evt, this);\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n return dispatchEvent.apply(getHost(this), arguments);\n },\n },\n removeEventListener: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(type, listener, options) {\n removeShadowRootEventListener(this, type, listener, options);\n },\n },\n baseURI: {\n enumerable: true,\n configurable: true,\n get() {\n return getHost(this).baseURI;\n },\n },\n childNodes: {\n enumerable: true,\n configurable: true,\n get() {\n return createStaticNodeList(shadowRootChildNodes(this));\n },\n },\n cloneNode: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n throw new Error('Disallowed method \"cloneNode\" on ShadowRoot.');\n },\n },\n compareDocumentPosition: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(otherNode) {\n const host = getHost(this);\n if (this === otherNode) {\n // \"this\" and \"otherNode\" are the same shadow root.\n return 0;\n }\n else if (this.contains(otherNode)) {\n // \"otherNode\" belongs to the shadow tree where \"this\" is the shadow root.\n return 20; // Node.DOCUMENT_POSITION_CONTAINED_BY | Node.DOCUMENT_POSITION_FOLLOWING\n }\n else if (compareDocumentPosition.call(host, otherNode) & DOCUMENT_POSITION_CONTAINED_BY) {\n // \"otherNode\" is in a different shadow tree contained by the shadow tree where \"this\" is the shadow root.\n return 37; // Node.DOCUMENT_POSITION_DISCONNECTED | Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\n }\n else {\n // \"otherNode\" is in a different shadow tree that is not contained by the shadow tree where \"this\" is the shadow root.\n return 35; // Node.DOCUMENT_POSITION_DISCONNECTED | Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\n }\n },\n },\n contains: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(otherNode) {\n if (this === otherNode) {\n return true;\n }\n const host = getHost(this);\n // must be child of the host and owned by it.\n return ((compareDocumentPosition.call(host, otherNode) & DOCUMENT_POSITION_CONTAINED_BY) !==\n 0 && isNodeOwnedBy(host, otherNode));\n },\n },\n firstChild: {\n enumerable: true,\n configurable: true,\n get() {\n const childNodes = getInternalChildNodes(this);\n return childNodes[0] || null;\n },\n },\n lastChild: {\n enumerable: true,\n configurable: true,\n get() {\n const childNodes = getInternalChildNodes(this);\n return childNodes[childNodes.length - 1] || null;\n },\n },\n hasChildNodes: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n const childNodes = getInternalChildNodes(this);\n return childNodes.length > 0;\n },\n },\n isConnected: {\n enumerable: true,\n configurable: true,\n get() {\n return isConnected.call(getHost(this));\n },\n },\n nextSibling: {\n enumerable: true,\n configurable: true,\n get() {\n return null;\n },\n },\n previousSibling: {\n enumerable: true,\n configurable: true,\n get() {\n return null;\n },\n },\n nodeName: {\n enumerable: true,\n configurable: true,\n get() {\n return '#document-fragment';\n },\n },\n nodeType: {\n enumerable: true,\n configurable: true,\n get() {\n return 11; // Node.DOCUMENT_FRAGMENT_NODE\n },\n },\n nodeValue: {\n enumerable: true,\n configurable: true,\n get() {\n return null;\n },\n },\n ownerDocument: {\n enumerable: true,\n configurable: true,\n get() {\n return getHost(this).ownerDocument;\n },\n },\n parentElement: {\n enumerable: true,\n configurable: true,\n get() {\n return null;\n },\n },\n parentNode: {\n enumerable: true,\n configurable: true,\n get() {\n return null;\n },\n },\n textContent: {\n enumerable: true,\n configurable: true,\n get() {\n const childNodes = getInternalChildNodes(this);\n let textContent = '';\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n const currentNode = childNodes[i];\n if (currentNode.nodeType !== COMMENT_NODE) {\n textContent += getTextContent(currentNode);\n }\n }\n return textContent;\n },\n set(v) {\n const host = getHost(this);\n textContextSetter.call(host, v);\n },\n },\n // Since the synthetic shadow root is a detached DocumentFragment, short-circuit the getRootNode behavior\n getRootNode: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(options) {\n return !isUndefined(options) && isTrue(options.composed)\n ? getHost(this).getRootNode(options)\n : this;\n },\n },\n};\nconst ElementPatchDescriptors = {\n innerHTML: {\n enumerable: true,\n configurable: true,\n get() {\n const childNodes = getInternalChildNodes(this);\n let innerHTML = '';\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n innerHTML += getOuterHTML(childNodes[i]);\n }\n return innerHTML;\n },\n set(v) {\n const host = getHost(this);\n innerHTMLSetter.call(host, v);\n },\n },\n};\nconst ParentNodePatchDescriptors = {\n childElementCount: {\n enumerable: true,\n configurable: true,\n get() {\n return this.children.length;\n },\n },\n children: {\n enumerable: true,\n configurable: true,\n get() {\n return createStaticHTMLCollection(ArrayFilter.call(shadowRootChildNodes(this), (elm) => elm instanceof Element));\n },\n },\n firstElementChild: {\n enumerable: true,\n configurable: true,\n get() {\n return this.children[0] || null;\n },\n },\n lastElementChild: {\n enumerable: true,\n configurable: true,\n get() {\n const { children } = this;\n return children.item(children.length - 1) || null;\n },\n },\n getElementById: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n throw new Error('Disallowed method \"getElementById\" on ShadowRoot.');\n },\n },\n querySelector: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(selectors) {\n return shadowRootQuerySelector(this, selectors);\n },\n },\n querySelectorAll: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(selectors) {\n return createStaticNodeList(shadowRootQuerySelectorAll(this, selectors));\n },\n },\n};\nassign(SyntheticShadowRootDescriptors, NodePatchDescriptors, ParentNodePatchDescriptors, ElementPatchDescriptors, ShadowRootDescriptors);\nexport function SyntheticShadowRoot() {\n throw new TypeError('Illegal constructor');\n}\nSyntheticShadowRoot.prototype = create(DocumentFragment.prototype, SyntheticShadowRootDescriptors);\n// `this.shadowRoot instanceof ShadowRoot` should evaluate to true even for synthetic shadow\ndefineProperty(SyntheticShadowRoot, Symbol.hasInstance, {\n value: function (object) {\n // Technically we should walk up the entire prototype chain, but with SyntheticShadowRoot\n // it's reasonable to assume that no one is doing any deep subclasses here.\n return (isObject(object) &&\n !isNull(object) &&\n (isInstanceOfNativeShadowRoot(object) ||\n getPrototypeOf(object) === SyntheticShadowRoot.prototype));\n },\n});\n//# sourceMappingURL=shadow-root.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\nimport { isNull } from '@lwc/shared';\nimport { getOwnerDocument } from '../../shared/utils';\nimport { Node } from '../../env/node';\nimport { isInstanceOfNativeShadowRoot } from '../../env/shadow-root';\nimport { isSyntheticShadowRoot } from '../../faux-shadow/shadow-root';\nexport function pathComposer(startNode, composed) {\n const composedPath = [];\n let startRoot;\n if (startNode instanceof Window) {\n startRoot = startNode;\n }\n else if (startNode instanceof Node) {\n startRoot = startNode.getRootNode();\n }\n else {\n return composedPath;\n }\n let current = startNode;\n while (!isNull(current)) {\n composedPath.push(current);\n if (current instanceof Element || current instanceof Text) {\n const assignedSlot = current.assignedSlot;\n if (!isNull(assignedSlot)) {\n current = assignedSlot;\n }\n else {\n current = current.parentNode;\n }\n }\n else if ((isSyntheticShadowRoot(current) || isInstanceOfNativeShadowRoot(current)) &&\n (composed || current !== startRoot)) {\n current = current.host;\n }\n else if (current instanceof Node) {\n current = current.parentNode;\n }\n else {\n // could be Window\n current = null;\n }\n }\n let doc;\n if (startNode instanceof Window) {\n doc = startNode.document;\n }\n else {\n doc = getOwnerDocument(startNode);\n }\n // event composedPath includes window when startNode's ownerRoot is document\n if (composedPath[composedPath.length - 1] === doc) {\n composedPath.push(window);\n }\n return composedPath;\n}\n//# sourceMappingURL=path-composer.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { isNull, isUndefined } from '@lwc/shared';\nimport { pathComposer } from './path-composer';\nimport { isSyntheticShadowRoot } from './../../faux-shadow/shadow-root';\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\nexport function retarget(refNode, path) {\n if (isNull(refNode)) {\n return null;\n }\n // If ANCESTOR's root is not a shadow root or ANCESTOR's root is BASE's\n // shadow-including inclusive ancestor, return ANCESTOR.\n const refNodePath = pathComposer(refNode, true);\n const p$ = path;\n for (let i = 0, ancestor, lastRoot, root, rootIdx; i < p$.length; i++) {\n ancestor = p$[i];\n root = ancestor instanceof Window ? ancestor : ancestor.getRootNode();\n if (root !== lastRoot) {\n rootIdx = refNodePath.indexOf(root);\n lastRoot = root;\n }\n if (!isSyntheticShadowRoot(root) || (!isUndefined(rootIdx) && rootIdx > -1)) {\n return ancestor;\n }\n }\n return null;\n}\n//# sourceMappingURL=retarget.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { isNull } from '@lwc/shared';\nimport { elementFromPoint } from '../env/document';\nimport { retarget } from '../3rdparty/polymer/retarget';\nimport { pathComposer } from '../3rdparty/polymer/path-composer';\nexport function fauxElementFromPoint(context, doc, left, top) {\n const element = elementFromPoint.call(doc, left, top);\n if (isNull(element)) {\n return element;\n }\n return retarget(context, pathComposer(element, true));\n}\n//# sourceMappingURL=faux-element-from-point.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFilter, ArrayFind, ArraySlice, defineProperty, getOwnPropertyDescriptor, isNull, isUndefined, } from '@lwc/shared';\nimport { DocumentPrototypeActiveElement, getElementById as documentGetElementById, getElementsByClassName as documentGetElementsByClassName, getElementsByName, getElementsByTagName as documentGetElementsByTagName, getElementsByTagNameNS as documentGetElementsByTagNameNS, querySelectorAll as documentQuerySelectorAll, } from '../../env/document';\nimport { parentElementGetter } from '../../env/node';\nimport { fauxElementFromPoint } from '../../shared/faux-element-from-point';\nimport { getNodeOwnerKey } from '../../shared/node-ownership';\nimport { createStaticNodeList } from '../../shared/static-node-list';\nimport { createStaticHTMLCollection } from '../../shared/static-html-collection';\nimport { arrayFromCollection, isGlobalPatchingSkipped } from '../../shared/utils';\nimport { fauxElementsFromPoint } from '../../shared/faux-elements-from-point';\nfunction elemFromPoint(left, top) {\n return fauxElementFromPoint(this, this, left, top);\n}\nDocument.prototype.elementFromPoint = elemFromPoint;\nfunction elemsFromPoint(left, top) {\n return fauxElementsFromPoint(this, this, left, top);\n}\nDocument.prototype.elementsFromPoint = elemsFromPoint;\n// Go until we reach to top of the LWC tree\ndefineProperty(Document.prototype, 'activeElement', {\n get() {\n let node = DocumentPrototypeActiveElement.call(this);\n if (isNull(node)) {\n return node;\n }\n while (!isUndefined(getNodeOwnerKey(node))) {\n node = parentElementGetter.call(node);\n if (isNull(node)) {\n return null;\n }\n }\n if (node.tagName === 'HTML') {\n // IE 11. Active element should never be html element\n node = this.body;\n }\n return node;\n },\n enumerable: true,\n configurable: true,\n});\n// The following patched methods hide shadowed elements from global\n// traversing mechanisms. They are simplified for performance reasons to\n// filter by ownership and do not account for slotted elements. This\n// compromise is fine for our synthetic shadow dom because root elements\n// cannot have slotted elements.\n// Another compromise here is that all these traversing methods will return\n// static HTMLCollection or static NodeList. We decided that this compromise\n// is not a big problem considering the amount of code that is relying on\n// the liveliness of these results are rare.\ndefineProperty(Document.prototype, 'getElementById', {\n value() {\n const elm = documentGetElementById.apply(this, ArraySlice.call(arguments));\n if (isNull(elm)) {\n return null;\n }\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm) ? elm : null;\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(Document.prototype, 'querySelector', {\n value() {\n const elements = arrayFromCollection(documentQuerySelectorAll.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFind.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return !isUndefined(filtered) ? filtered : null;\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(Document.prototype, 'querySelectorAll', {\n value() {\n const elements = arrayFromCollection(documentQuerySelectorAll.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFilter.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return createStaticNodeList(filtered);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(Document.prototype, 'getElementsByClassName', {\n value() {\n const elements = arrayFromCollection(documentGetElementsByClassName.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFilter.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return createStaticHTMLCollection(filtered);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(Document.prototype, 'getElementsByTagName', {\n value() {\n const elements = arrayFromCollection(documentGetElementsByTagName.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFilter.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return createStaticHTMLCollection(filtered);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(Document.prototype, 'getElementsByTagNameNS', {\n value() {\n const elements = arrayFromCollection(documentGetElementsByTagNameNS.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFilter.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return createStaticHTMLCollection(filtered);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(\n// In Firefox v57 and lower, getElementsByName is defined on HTMLDocument.prototype\ngetOwnPropertyDescriptor(HTMLDocument.prototype, 'getElementsByName')\n ? HTMLDocument.prototype\n : Document.prototype, 'getElementsByName', {\n value() {\n const elements = arrayFromCollection(getElementsByName.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFilter.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return createStaticNodeList(filtered);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { SyntheticShadowRoot } from '../../faux-shadow/shadow-root';\nObject.defineProperty(window, 'ShadowRoot', {\n value: SyntheticShadowRoot,\n configurable: true,\n writable: true,\n});\n//# sourceMappingURL=polyfill.js.map","\"use strict\";\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst CustomEventConstructor = CustomEvent;\nfunction PatchedCustomEvent(type, eventInitDict) {\n const event = new CustomEventConstructor(type, eventInitDict);\n const isComposed = !!(eventInitDict && eventInitDict.composed);\n Object.defineProperties(event, {\n composed: {\n get() {\n return isComposed;\n },\n configurable: true,\n enumerable: true,\n },\n });\n return event;\n}\nPatchedCustomEvent.prototype = CustomEventConstructor.prototype;\nwindow.CustomEvent = PatchedCustomEvent;\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { assign, create, defineProperties } from '@lwc/shared';\n// Note that ClipboardEvent is undefined in Jest/jsdom\n// See: https://github.com/jsdom/jsdom/issues/1568\nif (typeof ClipboardEvent !== 'undefined') {\n const isComposedType = assign(create(null), {\n copy: 1,\n cut: 1,\n paste: 1,\n });\n // Patch the prototype to override the composed property on user-agent dispatched events\n defineProperties(ClipboardEvent.prototype, {\n composed: {\n get() {\n const { type } = this;\n return isComposedType[type] === 1;\n },\n configurable: true,\n enumerable: true,\n },\n });\n}\n//# sourceMappingURL=main.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayIndexOf, ArrayPush, ArrayReduce, ArraySplice, create, defineProperties, defineProperty, forEach, isNull, isUndefined, } from '@lwc/shared';\nimport { isSyntheticShadowRoot } from '../../faux-shadow/shadow-root';\nimport { getNodeKey, getNodeNearestOwnerKey } from '../../shared/node-ownership';\nconst OriginalMutationObserver = MutationObserver;\nconst { disconnect: originalDisconnect, observe: originalObserve, takeRecords: originalTakeRecords, } = OriginalMutationObserver.prototype;\n// Internal fields to maintain relationships\nconst wrapperLookupField = '$$lwcObserverCallbackWrapper$$';\nconst observerLookupField = '$$lwcNodeObservers$$';\nconst observerToNodesMap = new WeakMap();\nfunction getNodeObservers(node) {\n return node[observerLookupField];\n}\nfunction setNodeObservers(node, observers) {\n node[observerLookupField] = observers;\n}\n/**\n * Retarget the mutation record's target value to its shadowRoot\n * @param {MutationRecord} originalRecord\n */\nfunction retargetMutationRecord(originalRecord) {\n const { addedNodes, removedNodes, target, type } = originalRecord;\n const retargetedRecord = create(MutationRecord.prototype);\n defineProperties(retargetedRecord, {\n addedNodes: {\n get() {\n return addedNodes;\n },\n enumerable: true,\n configurable: true,\n },\n removedNodes: {\n get() {\n return removedNodes;\n },\n enumerable: true,\n configurable: true,\n },\n type: {\n get() {\n return type;\n },\n enumerable: true,\n configurable: true,\n },\n target: {\n get() {\n return target.shadowRoot;\n },\n enumerable: true,\n configurable: true,\n },\n });\n return retargetedRecord;\n}\n/**\n * Utility to identify if a target node is being observed by the given observer\n * Start at the current node, if the observer is registered to observe the current node, the mutation qualifies\n * @param {MutationObserver} observer\n * @param {Node} target\n */\nfunction isQualifiedObserver(observer, target) {\n let parentNode = target;\n while (!isNull(parentNode)) {\n const parentNodeObservers = getNodeObservers(parentNode);\n if (!isUndefined(parentNodeObservers) &&\n (parentNodeObservers[0] === observer || // perf optimization to check for the first item is a match\n ArrayIndexOf.call(parentNodeObservers, observer) !== -1)) {\n return true;\n }\n parentNode = parentNode.parentNode;\n }\n return false;\n}\n/**\n * This function provides a shadow dom compliant filtered view of mutation records for a given observer.\n *\n * The key logic here is to determine if a given observer has been registered to observe any nodes\n * between the target node of a mutation record to the target's root node.\n * This function also retargets records when mutations occur directly under the shadow root\n * @param {MutationRecords[]} mutations\n * @param {MutationObserver} observer\n */\nfunction filterMutationRecords(mutations, observer) {\n return ArrayReduce.call(mutations, (filteredSet, record) => {\n const { target, addedNodes, removedNodes, type } = record;\n // If target is an lwc host,\n // Determine if the mutations affected the host or the shadowRoot\n // Mutations affecting host: changes to slot content\n // Mutations affecting shadowRoot: changes to template content\n if (type === 'childList' && !isUndefined(getNodeKey(target))) {\n // In case of added nodes, we can climb up the tree and determine eligibility\n if (addedNodes.length > 0) {\n // Optimization: Peek in and test one node to decide if the MutationRecord qualifies\n // The remaining nodes in this MutationRecord will have the same ownerKey\n const sampleNode = addedNodes[0];\n if (isQualifiedObserver(observer, sampleNode)) {\n // If the target was being observed, then return record as-is\n // this will be the case for slot content\n const nodeObservers = getNodeObservers(target);\n if (nodeObservers &&\n (nodeObservers[0] === observer ||\n ArrayIndexOf.call(nodeObservers, observer) !== -1)) {\n ArrayPush.call(filteredSet, record);\n }\n else {\n // else, must be observing the shadowRoot\n ArrayPush.call(filteredSet, retargetMutationRecord(record));\n }\n }\n }\n else {\n // In the case of removed nodes, climbing the tree is not an option as the nodes are disconnected\n // We can only check if either the host or shadow root was observed and qualify the record\n const shadowRoot = target.shadowRoot;\n const sampleNode = removedNodes[0];\n if (getNodeNearestOwnerKey(target) === getNodeNearestOwnerKey(sampleNode) && // trickery: sampleNode is slot content\n isQualifiedObserver(observer, target) // use target as a close enough reference to climb up\n ) {\n ArrayPush.call(filteredSet, record);\n }\n else if (shadowRoot) {\n const shadowRootObservers = getNodeObservers(shadowRoot);\n if (shadowRootObservers &&\n (shadowRootObservers[0] === observer ||\n ArrayIndexOf.call(shadowRootObservers, observer) !== -1)) {\n ArrayPush.call(filteredSet, retargetMutationRecord(record));\n }\n }\n }\n }\n else {\n // Mutation happened under a root node(shadow root or document) and the decision is straighforward\n // Ascend the tree starting from target and check if observer is qualified\n if (isQualifiedObserver(observer, target)) {\n ArrayPush.call(filteredSet, record);\n }\n }\n return filteredSet;\n }, []);\n}\nfunction getWrappedCallback(callback) {\n let wrappedCallback = callback[wrapperLookupField];\n if (isUndefined(wrappedCallback)) {\n wrappedCallback = callback[wrapperLookupField] = (mutations, observer) => {\n // Filter mutation records\n const filteredRecords = filterMutationRecords(mutations, observer);\n // If not records are eligible for the observer, do not invoke callback\n if (filteredRecords.length === 0) {\n return;\n }\n callback.call(observer, filteredRecords, observer);\n };\n }\n return wrappedCallback;\n}\n/**\n * Patched MutationObserver constructor.\n * 1. Wrap the callback to filter out MutationRecords based on dom ownership\n * 2. Add a property field to track all observed targets of the observer instance\n * @param {MutationCallback} callback\n */\nfunction PatchedMutationObserver(callback) {\n const wrappedCallback = getWrappedCallback(callback);\n const observer = new OriginalMutationObserver(wrappedCallback);\n return observer;\n}\nfunction patchedDisconnect() {\n originalDisconnect.call(this);\n // Clear the node to observer reference which is a strong references\n const observedNodes = observerToNodesMap.get(this);\n if (!isUndefined(observedNodes)) {\n forEach.call(observedNodes, (observedNode) => {\n const observers = observedNode[observerLookupField];\n if (!isUndefined(observers)) {\n const index = ArrayIndexOf.call(observers, this);\n if (index !== -1) {\n ArraySplice.call(observers, index, 1);\n }\n }\n });\n observedNodes.length = 0;\n }\n}\n/**\n * A single mutation observer can observe multiple nodes(target).\n * Maintain a list of all targets that the observer chooses to observe\n * @param {Node} target\n * @param {Object} options\n */\nfunction patchedObserve(target, options) {\n let targetObservers = getNodeObservers(target);\n // Maintain a list of all observers that want to observe a node\n if (isUndefined(targetObservers)) {\n targetObservers = [];\n setNodeObservers(target, targetObservers);\n }\n // Same observer trying to observe the same node\n if (ArrayIndexOf.call(targetObservers, this) === -1) {\n ArrayPush.call(targetObservers, this);\n } // else There is more bookkeeping to do here https://dom.spec.whatwg.org/#dom-mutationobserver-observe Step #7\n // SyntheticShadowRoot instances are not actually a part of the DOM so observe the host instead.\n if (isSyntheticShadowRoot(target)) {\n target = target.host;\n }\n // maintain a list of all nodes observed by this observer\n if (observerToNodesMap.has(this)) {\n const observedNodes = observerToNodesMap.get(this);\n if (ArrayIndexOf.call(observedNodes, target) === -1) {\n ArrayPush.call(observedNodes, target);\n }\n }\n else {\n observerToNodesMap.set(this, [target]);\n }\n return originalObserve.call(this, target, options);\n}\n/**\n * Patch the takeRecords() api to filter MutationRecords based on the observed targets\n */\nfunction patchedTakeRecords() {\n return filterMutationRecords(originalTakeRecords.call(this), this);\n}\nPatchedMutationObserver.prototype = OriginalMutationObserver.prototype;\nPatchedMutationObserver.prototype.disconnect = patchedDisconnect;\nPatchedMutationObserver.prototype.observe = patchedObserve;\nPatchedMutationObserver.prototype.takeRecords = patchedTakeRecords;\ndefineProperty(window, 'MutationObserver', {\n value: PatchedMutationObserver,\n configurable: true,\n writable: true,\n});\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArraySlice, defineProperties } from '@lwc/shared';\nimport { addEventListener as nativeAddEventListener, eventTargetPrototype, removeEventListener as nativeRemoveEventListener, } from '../../env/event-target';\nimport { addCustomElementEventListener, removeCustomElementEventListener, } from '../../faux-shadow/events';\nimport { isSyntheticShadowHost } from '../../faux-shadow/shadow-root';\nimport { getEventListenerWrapper } from '../../shared/event-target';\nfunction patchedAddEventListener(type, listener, optionsOrCapture) {\n if (isSyntheticShadowHost(this)) {\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n return addCustomElementEventListener.apply(this, arguments);\n }\n if (arguments.length < 2) {\n // Slow path, unlikely to be called frequently. We expect modern browsers to throw:\n // https://googlechrome.github.io/samples/event-listeners-mandatory-arguments/\n const args = ArraySlice.call(arguments);\n if (args.length > 1) {\n args[1] = getEventListenerWrapper(args[1]);\n }\n // Ignore types because we're passing through to native method\n // @ts-ignore type-mismatch\n return nativeAddEventListener.apply(this, args);\n }\n // Fast path. This function is optimized to avoid ArraySlice because addEventListener is called\n // very frequently, and it provides a measurable perf boost to avoid so much array cloning.\n const wrappedListener = getEventListenerWrapper(listener);\n // The third argument is optional, so passing in `undefined` for `optionsOrCapture` gives capture=false\n return nativeAddEventListener.call(this, type, wrappedListener, optionsOrCapture);\n}\nfunction patchedRemoveEventListener(_type, _listener, _optionsOrCapture) {\n if (isSyntheticShadowHost(this)) {\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n return removeCustomElementEventListener.apply(this, arguments);\n }\n const args = ArraySlice.call(arguments);\n if (arguments.length > 1) {\n args[1] = getEventListenerWrapper(args[1]);\n }\n // Ignore types because we're passing through to native method\n // @ts-ignore type-mismatch\n nativeRemoveEventListener.apply(this, args);\n // Account for listeners that were added before this polyfill was applied\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n nativeRemoveEventListener.apply(this, arguments);\n}\ndefineProperties(eventTargetPrototype, {\n addEventListener: {\n value: patchedAddEventListener,\n enumerable: true,\n writable: true,\n configurable: true,\n },\n removeEventListener: {\n value: patchedRemoveEventListener,\n enumerable: true,\n writable: true,\n configurable: true,\n },\n});\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperties, isNull, isUndefined } from '@lwc/shared';\nimport { pathComposer } from '../../3rdparty/polymer/path-composer';\nimport { retarget } from '../../3rdparty/polymer/retarget';\nimport { composedPath as originalComposedPath, eventTargetGetter, eventCurrentTargetGetter, } from '../../env/dom';\nimport { Node } from '../../env/node';\nimport { eventToShadowRootMap, getShadowRoot, hasInternalSlot, isSyntheticShadowHost, } from '../../faux-shadow/shadow-root';\nimport { eventToContextMap } from '../../faux-shadow/events';\nimport { getNodeOwnerKey } from '../../shared/node-ownership';\nimport { getOwnerDocument } from '../../shared/utils';\nfunction patchedCurrentTargetGetter() {\n const currentTarget = eventCurrentTargetGetter.call(this);\n if (isNull(currentTarget)) {\n return null;\n }\n if (eventToContextMap.get(this) === 1 /* EventListenerContext.SHADOW_ROOT_LISTENER */) {\n return getShadowRoot(currentTarget);\n }\n return currentTarget;\n}\nfunction patchedTargetGetter() {\n const originalTarget = eventTargetGetter.call(this);\n if (!(originalTarget instanceof Node)) {\n return originalTarget;\n }\n const doc = getOwnerDocument(originalTarget);\n const composedPath = pathComposer(originalTarget, this.composed);\n const originalCurrentTarget = eventCurrentTargetGetter.call(this);\n // Handle cases where the currentTarget is null (for async events), and when an event has been\n // added to Window\n if (!(originalCurrentTarget instanceof Node)) {\n // TODO [#1511]: Special escape hatch to support legacy behavior. Should be fixed.\n // If the event's target is being accessed async and originalTarget is not a keyed element, do not retarget\n if (isNull(originalCurrentTarget) && isUndefined(getNodeOwnerKey(originalTarget))) {\n return originalTarget;\n }\n return retarget(doc, composedPath);\n }\n else if (originalCurrentTarget === doc || originalCurrentTarget === doc.body) {\n // TODO [#1530]: If currentTarget is document or document.body (Third party libraries that have global event listeners)\n // and the originalTarget is not a keyed element, do not retarget\n if (isUndefined(getNodeOwnerKey(originalTarget))) {\n return originalTarget;\n }\n return retarget(doc, composedPath);\n }\n let actualCurrentTarget = originalCurrentTarget;\n let actualPath = composedPath;\n // Address the possibility that `currentTarget` is a shadow root\n if (isSyntheticShadowHost(originalCurrentTarget)) {\n const context = eventToContextMap.get(this);\n if (context === 1 /* EventListenerContext.SHADOW_ROOT_LISTENER */) {\n actualCurrentTarget = getShadowRoot(originalCurrentTarget);\n }\n }\n // Address the possibility that `target` is a shadow root\n if (isSyntheticShadowHost(originalTarget) && eventToShadowRootMap.has(this)) {\n actualPath = pathComposer(getShadowRoot(originalTarget), this.composed);\n }\n return retarget(actualCurrentTarget, actualPath);\n}\nfunction patchedComposedPathValue() {\n const originalTarget = eventTargetGetter.call(this);\n // Account for events with targets that are not instances of Node (e.g., when a readystatechange\n // handler is listening on an instance of XMLHttpRequest).\n if (!(originalTarget instanceof Node)) {\n return [];\n }\n // If the original target is inside a native shadow root, then just call the native\n // composePath() method. The event is already retargeted and this causes our composedPath()\n // polyfill to compute the wrong value. This is only an issue when you have a native web\n // component inside an LWC component (see test in same commit) but this scenario is unlikely\n // because we don't yet support that. Workaround specifically for W-9846457. Mixed mode solution\n // will likely be more involved.\n const hasShadowRoot = Boolean(originalTarget.shadowRoot);\n const hasSyntheticShadowRootAttached = hasInternalSlot(originalTarget);\n if (hasShadowRoot && !hasSyntheticShadowRootAttached) {\n return originalComposedPath.call(this);\n }\n const originalCurrentTarget = eventCurrentTargetGetter.call(this);\n // If the event has completed propagation, the composedPath should be an empty array.\n if (isNull(originalCurrentTarget)) {\n return [];\n }\n // Address the possibility that `target` is a shadow root\n let actualTarget = originalTarget;\n if (isSyntheticShadowHost(originalTarget) && eventToShadowRootMap.has(this)) {\n actualTarget = getShadowRoot(originalTarget);\n }\n return pathComposer(actualTarget, this.composed);\n}\ndefineProperties(Event.prototype, {\n target: {\n get: patchedTargetGetter,\n enumerable: true,\n configurable: true,\n },\n currentTarget: {\n get: patchedCurrentTargetGetter,\n enumerable: true,\n configurable: true,\n },\n composedPath: {\n value: patchedComposedPathValue,\n writable: true,\n enumerable: true,\n configurable: true,\n },\n // Non-standard but widely supported for backwards-compatibility\n srcElement: {\n get: patchedTargetGetter,\n enumerable: true,\n configurable: true,\n },\n // Non-standard but implemented in Chrome and continues to exist for backwards-compatibility\n // https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/dom/events/event.idl;l=58?q=event.idl&ss=chromium\n path: {\n get: patchedComposedPathValue,\n enumerable: true,\n configurable: true,\n },\n});\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperty, getOwnPropertyDescriptor, isNull } from '@lwc/shared';\nimport { pathComposer } from '../3rdparty/polymer/path-composer';\nimport { retarget } from '../3rdparty/polymer/retarget';\nimport { eventCurrentTargetGetter } from '../env/dom';\nimport { Node } from '../env/node';\nimport { isNodeShadowed } from '../shared/node-ownership';\nimport { getOwnerDocument } from '../shared/utils';\nexport function retargetRelatedTarget(Ctor) {\n const relatedTargetGetter = getOwnPropertyDescriptor(Ctor.prototype, 'relatedTarget')\n .get;\n defineProperty(Ctor.prototype, 'relatedTarget', {\n get() {\n const relatedTarget = relatedTargetGetter.call(this);\n if (isNull(relatedTarget)) {\n return null;\n }\n if (!(relatedTarget instanceof Node) || !isNodeShadowed(relatedTarget)) {\n return relatedTarget;\n }\n let pointOfReference = eventCurrentTargetGetter.call(this);\n if (isNull(pointOfReference)) {\n pointOfReference = getOwnerDocument(relatedTarget);\n }\n return retarget(pointOfReference, pathComposer(relatedTarget, true));\n },\n enumerable: true,\n configurable: true,\n });\n}\n//# sourceMappingURL=retarget-related-target.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { retargetRelatedTarget } from '../../shared/retarget-related-target';\nretargetRelatedTarget(FocusEvent);\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { retargetRelatedTarget } from '../../shared/retarget-related-target';\nretargetRelatedTarget(MouseEvent);\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2021, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { hasOwnProperty, getOwnPropertyDescriptor } from '@lwc/shared';\nexport const assignedSlotGetter = hasOwnProperty.call(Text.prototype, 'assignedSlot')\n ? getOwnPropertyDescriptor(Text.prototype, 'assignedSlot').get\n : () => null;\n//# sourceMappingURL=text.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { assert, defineProperties, ArrayFilter, ArrayIndexOf, ArrayPush, ArrayReduce, ArraySlice, forEach, isNull, isTrue, isUndefined, } from '@lwc/shared';\nimport { getAttribute, setAttribute, assignedSlotGetter as originalElementAssignedSlotGetter, shadowRootGetter, } from '../env/element';\nimport { assignedSlotGetter as originalTextAssignedSlotGetter } from '../env/text';\nimport { dispatchEvent } from '../env/event-target';\nimport { MutationObserverObserve, MutationObserver } from '../env/mutation-observer';\nimport { childNodesGetter, parentNodeGetter } from '../env/node';\nimport { assignedNodes as originalAssignedNodes, assignedElements as originalAssignedElements, } from '../env/slot';\nimport { isInstanceOfNativeShadowRoot } from '../env/shadow-root';\nimport { isSlotElement, getNodeOwner, getAllMatches, getFilteredChildNodes, getFilteredSlotAssignedNodes, } from '../faux-shadow/traverse';\nimport { getNodeOwnerKey, isNodeShadowed } from '../shared/node-ownership';\nimport { createStaticNodeList } from '../shared/static-node-list';\nimport { arrayFromCollection } from '../shared/utils';\n// We can use a single observer without having to worry about leaking because\n// \"Registered observers in a node’s registered observer list have a weak\n// reference to the node.\"\n// https://dom.spec.whatwg.org/#garbage-collection\nlet observer;\nconst observerConfig = { childList: true };\nconst SlotChangeKey = new WeakMap();\nfunction initSlotObserver() {\n return new MutationObserver((mutations) => {\n const slots = [];\n forEach.call(mutations, (mutation) => {\n if (process.env.NODE_ENV !== 'production') {\n assert.invariant(mutation.type === 'childList', `Invalid mutation type: ${mutation.type}. This mutation handler for slots should only handle \"childList\" mutations.`);\n }\n const { target: slot } = mutation;\n if (ArrayIndexOf.call(slots, slot) === -1) {\n ArrayPush.call(slots, slot);\n dispatchEvent.call(slot, new CustomEvent('slotchange'));\n }\n });\n });\n}\nfunction getFilteredSlotFlattenNodes(slot) {\n const childNodes = arrayFromCollection(childNodesGetter.call(slot));\n // Typescript is inferring the wrong function type for this particular\n // overloaded method: https://github.com/Microsoft/TypeScript/issues/27972\n // @ts-ignore type-mismatch\n return ArrayReduce.call(childNodes, (seed, child) => {\n if (child instanceof Element && isSlotElement(child)) {\n ArrayPush.apply(seed, getFilteredSlotFlattenNodes(child));\n }\n else {\n ArrayPush.call(seed, child);\n }\n return seed;\n }, []);\n}\nexport function assignedSlotGetterPatched() {\n const parentNode = parentNodeGetter.call(this);\n // use original assignedSlot if parent has a native shdow root\n if (parentNode instanceof Element) {\n const sr = shadowRootGetter.call(parentNode);\n if (isInstanceOfNativeShadowRoot(sr)) {\n if (this instanceof Text) {\n return originalTextAssignedSlotGetter.call(this);\n }\n return originalElementAssignedSlotGetter.call(this);\n }\n }\n /**\n * The node is assigned to a slot if:\n * - it has a parent and its parent is a slot element\n * - and if the slot owner key is different than the node owner key.\n *\n * When the slot and the slotted node are 2 different shadow trees, the owner keys will be\n * different. When the slot is in a shadow tree and the slotted content is a light DOM node,\n * the light DOM node doesn't have an owner key and therefor the slot owner key will be\n * different than the node owner key (always `undefined`).\n */\n if (!isNull(parentNode) &&\n isSlotElement(parentNode) &&\n getNodeOwnerKey(parentNode) !== getNodeOwnerKey(this)) {\n return parentNode;\n }\n return null;\n}\ndefineProperties(HTMLSlotElement.prototype, {\n addEventListener: {\n value(type, listener, options) {\n // super.addEventListener - but that doesn't work with typescript\n HTMLElement.prototype.addEventListener.call(this, type, listener, options);\n if (type === 'slotchange' && !SlotChangeKey.get(this)) {\n SlotChangeKey.set(this, true);\n if (!observer) {\n observer = initSlotObserver();\n }\n MutationObserverObserve.call(observer, this, observerConfig);\n }\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n assignedElements: {\n value(options) {\n if (isNodeShadowed(this)) {\n const flatten = !isUndefined(options) && isTrue(options.flatten);\n const nodes = flatten\n ? getFilteredSlotFlattenNodes(this)\n : getFilteredSlotAssignedNodes(this);\n return ArrayFilter.call(nodes, (node) => node instanceof Element);\n }\n else {\n return originalAssignedElements.apply(this, ArraySlice.call(arguments));\n }\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n assignedNodes: {\n value(options) {\n if (isNodeShadowed(this)) {\n const flatten = !isUndefined(options) && isTrue(options.flatten);\n return flatten\n ? getFilteredSlotFlattenNodes(this)\n : getFilteredSlotAssignedNodes(this);\n }\n else {\n return originalAssignedNodes.apply(this, ArraySlice.call(arguments));\n }\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n name: {\n get() {\n const name = getAttribute.call(this, 'name');\n return isNull(name) ? '' : name;\n },\n set(value) {\n setAttribute.call(this, 'name', value);\n },\n enumerable: true,\n configurable: true,\n },\n childNodes: {\n get() {\n if (isNodeShadowed(this)) {\n const owner = getNodeOwner(this);\n const childNodes = isNull(owner)\n ? []\n : getAllMatches(owner, getFilteredChildNodes(this));\n return createStaticNodeList(childNodes);\n }\n return childNodesGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n});\n//# sourceMappingURL=slot.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperties } from '@lwc/shared';\nimport { assignedSlotGetterPatched } from './slot';\n// Non-deep-traversing patches: this descriptor map includes all descriptors that\n// do not five access to nodes beyond the immediate children.\ndefineProperties(Text.prototype, {\n assignedSlot: {\n get: assignedSlotGetterPatched,\n enumerable: true,\n configurable: true,\n },\n});\n//# sourceMappingURL=text.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFilter, ArraySlice, isNull, isUndefined } from '@lwc/shared';\nimport { getNodeKey, getNodeNearestOwnerKey, getNodeOwnerKey } from '../shared/node-ownership';\nimport { isGlobalPatchingSkipped } from '../shared/utils';\nimport { isSyntheticShadowHost } from './shadow-root';\nimport { getAllMatches, getNodeOwner, getAllSlottedMatches } from './traverse';\n/**\n * This methods filters out elements that are not in the same shadow root of context.\n * It does not enforce shadow dom semantics if $context is not managed by LWC\n */\nexport function getNonPatchedFilteredArrayOfNodes(context, unfilteredNodes) {\n let filtered;\n const ownerKey = getNodeOwnerKey(context);\n // a node inside a shadow.\n if (!isUndefined(ownerKey)) {\n if (isSyntheticShadowHost(context)) {\n // element with shadowRoot attached\n const owner = getNodeOwner(context);\n if (isNull(owner)) {\n filtered = [];\n }\n else if (getNodeKey(context)) {\n // it is a custom element, and we should then filter by slotted elements\n filtered = getAllSlottedMatches(context, unfilteredNodes);\n }\n else {\n // regular element, we should then filter by ownership\n filtered = getAllMatches(owner, unfilteredNodes);\n }\n }\n else {\n // context is handled by lwc, using getNodeNearestOwnerKey to include manually inserted elements in the same shadow.\n filtered = ArrayFilter.call(unfilteredNodes, (elm) => getNodeNearestOwnerKey(elm) === ownerKey);\n }\n }\n else if (context instanceof HTMLBodyElement) {\n // `context` is document.body which is already patched.\n filtered = ArrayFilter.call(unfilteredNodes, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(context));\n }\n else {\n // `context` is outside the lwc boundary, return unfiltered list.\n filtered = ArraySlice.call(unfilteredNodes);\n }\n return filtered;\n}\n//# sourceMappingURL=no-patch-utils.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFilter, ArrayFind, ArraySlice, defineProperties, defineProperty, getOwnPropertyDescriptor, hasOwnProperty, isNull, isUndefined, KEY__SYNTHETIC_MODE, } from '@lwc/shared';\nimport { attachShadow as originalAttachShadow, childrenGetter, childElementCountGetter, firstElementChildGetter, getElementsByClassName as elementGetElementsByClassName, getElementsByTagName as elementGetElementsByTagName, getElementsByTagNameNS as elementGetElementsByTagNameNS, innerHTMLGetter, innerHTMLSetter, lastElementChildGetter, outerHTMLSetter, outerHTMLGetter, querySelectorAll as elementQuerySelectorAll, shadowRootGetter as originalShadowRootGetter, } from '../env/element';\nimport { getOuterHTML } from '../3rdparty/polymer/outer-html';\nimport { createStaticNodeList } from '../shared/static-node-list';\nimport { createStaticHTMLCollection } from '../shared/static-html-collection';\nimport { arrayFromCollection, isGlobalPatchingSkipped } from '../shared/utils';\nimport { getNodeKey, getNodeNearestOwnerKey, getNodeOwnerKey, isNodeShadowed, } from '../shared/node-ownership';\nimport { assignedSlotGetterPatched } from './slot';\nimport { getInternalChildNodes, hasMountedChildren } from './node';\nimport { getNonPatchedFilteredArrayOfNodes } from './no-patch-utils';\nimport { attachShadow, getShadowRoot, isSyntheticShadowHost } from './shadow-root';\nimport { getNodeOwner, getAllMatches, getFilteredChildNodes, getFirstMatch, getAllSlottedMatches, getFirstSlottedMatch, } from './traverse';\nfunction innerHTMLGetterPatched() {\n const childNodes = getInternalChildNodes(this);\n let innerHTML = '';\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n innerHTML += getOuterHTML(childNodes[i]);\n }\n return innerHTML;\n}\nfunction outerHTMLGetterPatched() {\n return getOuterHTML(this);\n}\nfunction attachShadowPatched(options) {\n // To retain native behavior of the API, provide synthetic shadowRoot only when specified\n if (options[KEY__SYNTHETIC_MODE]) {\n return attachShadow(this, options);\n }\n return originalAttachShadow.call(this, options);\n}\nfunction shadowRootGetterPatched() {\n if (isSyntheticShadowHost(this)) {\n const shadow = getShadowRoot(this);\n if (shadow.mode === 'open') {\n return shadow;\n }\n }\n return originalShadowRootGetter.call(this);\n}\nfunction childrenGetterPatched() {\n const owner = getNodeOwner(this);\n const childNodes = isNull(owner) ? [] : getAllMatches(owner, getFilteredChildNodes(this));\n return createStaticHTMLCollection(ArrayFilter.call(childNodes, (node) => node instanceof Element));\n}\nfunction childElementCountGetterPatched() {\n return this.children.length;\n}\nfunction firstElementChildGetterPatched() {\n return this.children[0] || null;\n}\nfunction lastElementChildGetterPatched() {\n const { children } = this;\n return children.item(children.length - 1) || null;\n}\n// Non-deep-traversing patches: this descriptor map includes all descriptors that\n// do not five access to nodes beyond the immediate children.\ndefineProperties(Element.prototype, {\n innerHTML: {\n get() {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {\n return innerHTMLGetterPatched.call(this);\n }\n return innerHTMLGetter.call(this);\n },\n set(v) {\n innerHTMLSetter.call(this, v);\n },\n enumerable: true,\n configurable: true,\n },\n outerHTML: {\n get() {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {\n return outerHTMLGetterPatched.call(this);\n }\n return outerHTMLGetter.call(this);\n },\n set(v) {\n outerHTMLSetter.call(this, v);\n },\n enumerable: true,\n configurable: true,\n },\n attachShadow: {\n value: attachShadowPatched,\n enumerable: true,\n writable: true,\n configurable: true,\n },\n shadowRoot: {\n get: shadowRootGetterPatched,\n enumerable: true,\n configurable: true,\n },\n // patched in HTMLElement if exists (IE11 is the one off here)\n children: {\n get() {\n if (hasMountedChildren(this)) {\n return childrenGetterPatched.call(this);\n }\n return childrenGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n childElementCount: {\n get() {\n if (hasMountedChildren(this)) {\n return childElementCountGetterPatched.call(this);\n }\n return childElementCountGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n firstElementChild: {\n get() {\n if (hasMountedChildren(this)) {\n return firstElementChildGetterPatched.call(this);\n }\n return firstElementChildGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n lastElementChild: {\n get() {\n if (hasMountedChildren(this)) {\n return lastElementChildGetterPatched.call(this);\n }\n return lastElementChildGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n assignedSlot: {\n get: assignedSlotGetterPatched,\n enumerable: true,\n configurable: true,\n },\n});\n// IE11 extra patches for wrong prototypes\nif (hasOwnProperty.call(HTMLElement.prototype, 'innerHTML')) {\n defineProperty(HTMLElement.prototype, 'innerHTML', getOwnPropertyDescriptor(Element.prototype, 'innerHTML'));\n}\nif (hasOwnProperty.call(HTMLElement.prototype, 'outerHTML')) {\n defineProperty(HTMLElement.prototype, 'outerHTML', getOwnPropertyDescriptor(Element.prototype, 'outerHTML'));\n}\nif (hasOwnProperty.call(HTMLElement.prototype, 'children')) {\n defineProperty(HTMLElement.prototype, 'children', getOwnPropertyDescriptor(Element.prototype, 'children'));\n}\n// Deep-traversing patches from this point on:\nfunction querySelectorPatched() {\n const nodeList = arrayFromCollection(elementQuerySelectorAll.apply(this, ArraySlice.call(arguments)));\n if (isSyntheticShadowHost(this)) {\n // element with shadowRoot attached\n const owner = getNodeOwner(this);\n if (!isUndefined(getNodeKey(this))) {\n // it is a custom element, and we should then filter by slotted elements\n return getFirstSlottedMatch(this, nodeList);\n }\n else if (isNull(owner)) {\n return null;\n }\n else {\n // regular element, we should then filter by ownership\n return getFirstMatch(owner, nodeList);\n }\n }\n else if (isNodeShadowed(this)) {\n // element inside a shadowRoot\n const ownerKey = getNodeOwnerKey(this);\n if (!isUndefined(ownerKey)) {\n // `this` is handled by lwc, using getNodeNearestOwnerKey to include manually inserted elements in the same shadow.\n const elm = ArrayFind.call(nodeList, (elm) => getNodeNearestOwnerKey(elm) === ownerKey);\n return isUndefined(elm) ? null : elm;\n }\n else {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n // `this` is a manually inserted element inside a shadowRoot, return the first element.\n return nodeList.length === 0 ? null : nodeList[0];\n }\n }\n else {\n if (!(this instanceof HTMLBodyElement)) {\n const elm = nodeList[0];\n return isUndefined(elm) ? null : elm;\n }\n // element belonging to the document\n const elm = ArrayFind.call(nodeList, (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(this));\n return isUndefined(elm) ? null : elm;\n }\n}\nfunction getFilteredArrayOfNodes(context, unfilteredNodes) {\n let filtered;\n if (isSyntheticShadowHost(context)) {\n // element with shadowRoot attached\n const owner = getNodeOwner(context);\n if (!isUndefined(getNodeKey(context))) {\n // it is a custom element, and we should then filter by slotted elements\n filtered = getAllSlottedMatches(context, unfilteredNodes);\n }\n else if (isNull(owner)) {\n filtered = [];\n }\n else {\n // regular element, we should then filter by ownership\n filtered = getAllMatches(owner, unfilteredNodes);\n }\n }\n else if (isNodeShadowed(context)) {\n // element inside a shadowRoot\n const ownerKey = getNodeOwnerKey(context);\n if (!isUndefined(ownerKey)) {\n // context is handled by lwc, using getNodeNearestOwnerKey to include manually inserted elements in the same shadow.\n filtered = ArrayFilter.call(unfilteredNodes, (elm) => getNodeNearestOwnerKey(elm) === ownerKey);\n }\n else {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n // context is manually inserted without lwc:dom-manual, return everything\n filtered = ArraySlice.call(unfilteredNodes);\n }\n }\n else {\n if (context instanceof HTMLBodyElement) {\n // `context` is document.body or element belonging to the document with the patch enabled\n filtered = ArrayFilter.call(unfilteredNodes, (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(context));\n }\n else {\n // `context` is outside the lwc boundary and patch is not enabled.\n filtered = ArraySlice.call(unfilteredNodes);\n }\n }\n return filtered;\n}\n// The following patched methods hide shadowed elements from global\n// traversing mechanisms. They are simplified for performance reasons to\n// filter by ownership and do not account for slotted elements. This\n// compromise is fine for our synthetic shadow dom because root elements\n// cannot have slotted elements.\n// Another compromise here is that all these traversing methods will return\n// static HTMLCollection or static NodeList. We decided that this compromise\n// is not a big problem considering the amount of code that is relying on\n// the liveliness of these results are rare.\ndefineProperties(Element.prototype, {\n querySelector: {\n value: querySelectorPatched,\n writable: true,\n enumerable: true,\n configurable: true,\n },\n querySelectorAll: {\n value() {\n const nodeList = arrayFromCollection(elementQuerySelectorAll.apply(this, ArraySlice.call(arguments)));\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n const filteredResults = getFilteredArrayOfNodes(this, nodeList);\n return createStaticNodeList(filteredResults);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n});\n// The following APIs are used directly by Jest internally so we avoid patching them during testing.\nif (process.env.NODE_ENV !== 'test') {\n defineProperties(Element.prototype, {\n getElementsByClassName: {\n value() {\n const elements = arrayFromCollection(elementGetElementsByClassName.apply(this, ArraySlice.call(arguments)));\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n getElementsByTagName: {\n value() {\n const elements = arrayFromCollection(elementGetElementsByTagName.apply(this, ArraySlice.call(arguments)));\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n getElementsByTagNameNS: {\n value() {\n const elements = arrayFromCollection(elementGetElementsByTagNameNS.apply(this, ArraySlice.call(arguments)));\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n });\n}\n// IE11 extra patches for wrong prototypes\nif (hasOwnProperty.call(HTMLElement.prototype, 'getElementsByClassName')) {\n defineProperty(HTMLElement.prototype, 'getElementsByClassName', getOwnPropertyDescriptor(Element.prototype, 'getElementsByClassName'));\n}\n//# sourceMappingURL=element.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFind, ArrayIndexOf, ArrayReverse, ArraySlice, assert, isNull, isUndefined, toString, } from '@lwc/shared';\nimport { addEventListener, removeEventListener } from '../env/event-target';\nimport { windowAddEventListener, windowRemoveEventListener } from '../env/window';\nimport { DocumentPrototypeActiveElement, querySelectorAll as documentQuerySelectorAll, } from '../env/document';\nimport { eventCurrentTargetGetter, eventTargetGetter, focusEventRelatedTargetGetter, } from '../env/dom';\nimport { matches, querySelector, querySelectorAll, getBoundingClientRect, tabIndexGetter, tagNameGetter, getAttribute, hasAttribute, } from '../env/element';\nimport { compareDocumentPosition, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, } from '../env/node';\nimport { arrayFromCollection, getOwnerDocument, getOwnerWindow } from '../shared/utils';\nimport { isDelegatingFocus, isSyntheticShadowHost } from './shadow-root';\nconst FocusableSelector = `\n [contenteditable],\n [tabindex],\n a[href],\n area[href],\n audio[controls],\n button,\n iframe,\n input,\n select,\n textarea,\n video[controls]\n`;\nconst formElementTagNames = new Set(['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA']);\nfunction filterSequentiallyFocusableElements(elements) {\n return elements.filter((element) => {\n if (hasAttribute.call(element, 'tabindex')) {\n // Even though LWC only supports tabindex values of 0 or -1,\n // passing through elements with tabindex=\"0\" is a tighter criteria\n // than filtering out elements based on tabindex=\"-1\".\n return getAttribute.call(element, 'tabindex') === '0';\n }\n if (formElementTagNames.has(tagNameGetter.call(element))) {\n return !hasAttribute.call(element, 'disabled');\n }\n return true;\n });\n}\nconst DidAddMouseEventListeners = new WeakMap();\n// Due to browser differences, it is impossible to know what is focusable until\n// we actually try to focus it. We need to refactor our focus delegation logic\n// to verify whether or not the target was actually focused instead of trying\n// to predict focusability like we do here.\nfunction isVisible(element) {\n const { width, height } = getBoundingClientRect.call(element);\n const noZeroSize = width > 0 || height > 0;\n // The area element can be 0x0 and focusable. Hardcoding this is not ideal\n // but it will minimize changes in the current behavior.\n const isAreaElement = element.tagName === 'AREA';\n return (noZeroSize || isAreaElement) && getComputedStyle(element).visibility !== 'hidden';\n}\n// This function based on https://allyjs.io/data-tables/focusable.html\n// It won't catch everything, but should be good enough\n// There are a lot of edge cases here that we can't realistically handle\n// Determines if a particular element is tabbable, as opposed to simply focusable\nfunction isTabbable(element) {\n if (isSyntheticShadowHost(element) && isDelegatingFocus(element)) {\n return false;\n }\n return matches.call(element, FocusableSelector) && isVisible(element);\n}\nexport function hostElementFocus() {\n const _rootNode = this.getRootNode();\n if (_rootNode === this) {\n // We invoke the focus() method even if the host is disconnected in order to eliminate\n // observable differences for component authors between synthetic and native.\n const focusable = querySelector.call(this, FocusableSelector);\n if (!isNull(focusable)) {\n // @ts-ignore type-mismatch\n focusable.focus.apply(focusable, arguments);\n }\n return;\n }\n // If the root node is not the host element then it's either the document or a shadow root.\n const rootNode = _rootNode;\n if (rootNode.activeElement === this) {\n // The focused element should not change if the focus method is invoked\n // on the shadow-including ancestor of the currently focused element.\n return;\n }\n const focusables = arrayFromCollection(querySelectorAll.call(this, FocusableSelector));\n let didFocus = false;\n while (!didFocus && focusables.length !== 0) {\n const focusable = focusables.shift();\n // @ts-ignore type-mismatch\n focusable.focus.apply(focusable, arguments);\n // Get the root node of the current focusable in case it was slotted.\n const currentRootNode = focusable.getRootNode();\n didFocus = currentRootNode.activeElement === focusable;\n }\n}\nfunction getTabbableSegments(host) {\n const doc = getOwnerDocument(host);\n const all = filterSequentiallyFocusableElements(arrayFromCollection(documentQuerySelectorAll.call(doc, FocusableSelector)));\n const inner = filterSequentiallyFocusableElements(arrayFromCollection(querySelectorAll.call(host, FocusableSelector)));\n if (process.env.NODE_ENV !== 'production') {\n assert.invariant(getAttribute.call(host, 'tabindex') === '-1' || isDelegatingFocus(host), `The focusin event is only relevant when the tabIndex property is -1 on the host.`);\n }\n const firstChild = inner[0];\n const lastChild = inner[inner.length - 1];\n const hostIndex = ArrayIndexOf.call(all, host);\n // Host element can show up in our \"previous\" section if its tabindex is 0\n // We want to filter that out here\n const firstChildIndex = hostIndex > -1 ? hostIndex : ArrayIndexOf.call(all, firstChild);\n // Account for an empty inner list\n const lastChildIndex = inner.length === 0 ? firstChildIndex + 1 : ArrayIndexOf.call(all, lastChild) + 1;\n const prev = ArraySlice.call(all, 0, firstChildIndex);\n const next = ArraySlice.call(all, lastChildIndex);\n return {\n prev,\n inner,\n next,\n };\n}\nexport function getActiveElement(host) {\n const doc = getOwnerDocument(host);\n const activeElement = DocumentPrototypeActiveElement.call(doc);\n if (isNull(activeElement)) {\n return activeElement;\n }\n // activeElement must be child of the host and owned by it\n return (compareDocumentPosition.call(host, activeElement) & DOCUMENT_POSITION_CONTAINED_BY) !==\n 0\n ? activeElement\n : null;\n}\nfunction relatedTargetPosition(host, relatedTarget) {\n // assert: target must be child of host\n const pos = compareDocumentPosition.call(host, relatedTarget);\n if (pos & DOCUMENT_POSITION_CONTAINED_BY) {\n // focus remains inside the host\n return 0;\n }\n else if (pos & DOCUMENT_POSITION_PRECEDING) {\n // focus is coming from above\n return 1;\n }\n else if (pos & DOCUMENT_POSITION_FOLLOWING) {\n // focus is coming from below\n return 2;\n }\n // we don't know what's going on.\n return -1;\n}\nfunction muteEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction muteFocusEventsDuringExecution(win, func) {\n windowAddEventListener.call(win, 'focusin', muteEvent, true);\n windowAddEventListener.call(win, 'focusout', muteEvent, true);\n func();\n windowRemoveEventListener.call(win, 'focusin', muteEvent, true);\n windowRemoveEventListener.call(win, 'focusout', muteEvent, true);\n}\nfunction focusOnNextOrBlur(segment, target, relatedTarget) {\n const win = getOwnerWindow(relatedTarget);\n const next = getNextTabbable(segment, relatedTarget);\n if (isNull(next)) {\n // nothing to focus on, blur to invalidate the operation\n muteFocusEventsDuringExecution(win, () => {\n target.blur();\n });\n }\n else {\n muteFocusEventsDuringExecution(win, () => {\n next.focus();\n });\n }\n}\nlet letBrowserHandleFocus = false;\nexport function disableKeyboardFocusNavigationRoutines() {\n letBrowserHandleFocus = true;\n}\nexport function enableKeyboardFocusNavigationRoutines() {\n letBrowserHandleFocus = false;\n}\nexport function isKeyboardFocusNavigationRoutineEnabled() {\n return !letBrowserHandleFocus;\n}\nfunction skipHostHandler(event) {\n if (letBrowserHandleFocus) {\n return;\n }\n const host = eventCurrentTargetGetter.call(event);\n const target = eventTargetGetter.call(event);\n // If the host delegating focus with tabindex=0 is not the target, we know\n // that the event was dispatched on a descendant node of the host. This\n // means the focus is coming from below and we don't need to do anything.\n if (host !== target) {\n // Focus is coming from above\n return;\n }\n const relatedTarget = focusEventRelatedTargetGetter.call(event);\n if (isNull(relatedTarget)) {\n // If relatedTarget is null, the user is most likely tabbing into the document from the\n // browser chrome. We could probably deduce whether focus is coming in from the top or the\n // bottom by comparing the position of the target to all tabbable elements. This is an edge\n // case and only comes up if the custom element is the first or last tabbable element in the\n // document.\n return;\n }\n const segments = getTabbableSegments(host);\n const position = relatedTargetPosition(host, relatedTarget);\n if (position === 1) {\n // Focus is coming from above\n const findTabbableElms = isTabbableFrom.bind(null, host.getRootNode());\n const first = ArrayFind.call(segments.inner, findTabbableElms);\n if (!isUndefined(first)) {\n const win = getOwnerWindow(first);\n muteFocusEventsDuringExecution(win, () => {\n first.focus();\n });\n }\n else {\n focusOnNextOrBlur(segments.next, target, relatedTarget);\n }\n }\n else if (host === target) {\n // Host is receiving focus from below, either from its shadow or from a sibling\n focusOnNextOrBlur(ArrayReverse.call(segments.prev), target, relatedTarget);\n }\n}\nfunction skipShadowHandler(event) {\n if (letBrowserHandleFocus) {\n return;\n }\n const relatedTarget = focusEventRelatedTargetGetter.call(event);\n if (isNull(relatedTarget)) {\n // If relatedTarget is null, the user is most likely tabbing into the document from the\n // browser chrome. We could probably deduce whether focus is coming in from the top or the\n // bottom by comparing the position of the target to all tabbable elements. This is an edge\n // case and only comes up if the custom element is the first or last tabbable element in the\n // document.\n return;\n }\n const host = eventCurrentTargetGetter.call(event);\n const segments = getTabbableSegments(host);\n if (ArrayIndexOf.call(segments.inner, relatedTarget) !== -1) {\n // If relatedTarget is contained by the host's subtree we can assume that the user is\n // tabbing between elements inside of the shadow. Do nothing.\n return;\n }\n const target = eventTargetGetter.call(event);\n // Determine where the focus is coming from (Tab or Shift+Tab)\n const position = relatedTargetPosition(host, relatedTarget);\n if (position === 1) {\n // Focus is coming from above\n focusOnNextOrBlur(segments.next, target, relatedTarget);\n }\n if (position === 2) {\n // Focus is coming from below\n focusOnNextOrBlur(ArrayReverse.call(segments.prev), target, relatedTarget);\n }\n}\n// Use this function to determine whether you can start from one root and end up\n// at another element via tabbing.\nfunction isTabbableFrom(fromRoot, toElm) {\n if (!isTabbable(toElm)) {\n return false;\n }\n const ownerDocument = getOwnerDocument(toElm);\n let root = toElm.getRootNode();\n while (root !== ownerDocument && root !== fromRoot) {\n const sr = root;\n const host = sr.host;\n if (getAttribute.call(host, 'tabindex') === '-1') {\n return false;\n }\n root = host && host.getRootNode();\n }\n return true;\n}\nfunction getNextTabbable(tabbables, relatedTarget) {\n const len = tabbables.length;\n if (len > 0) {\n for (let i = 0; i < len; i += 1) {\n const next = tabbables[i];\n if (isTabbableFrom(relatedTarget.getRootNode(), next)) {\n return next;\n }\n }\n }\n return null;\n}\n// Skips the host element\nexport function handleFocus(elm) {\n if (process.env.NODE_ENV !== 'production') {\n assert.invariant(isDelegatingFocus(elm), `Invalid attempt to handle focus event for ${toString(elm)}. ${toString(elm)} should have delegates focus true, but is not delegating focus`);\n }\n bindDocumentMousedownMouseupHandlers(elm);\n // Unbind any focusin listeners we may have going on\n ignoreFocusIn(elm);\n addEventListener.call(elm, 'focusin', skipHostHandler, true);\n}\nexport function ignoreFocus(elm) {\n removeEventListener.call(elm, 'focusin', skipHostHandler, true);\n}\nfunction bindDocumentMousedownMouseupHandlers(elm) {\n const ownerDocument = getOwnerDocument(elm);\n if (!DidAddMouseEventListeners.get(ownerDocument)) {\n DidAddMouseEventListeners.set(ownerDocument, true);\n addEventListener.call(ownerDocument, 'mousedown', disableKeyboardFocusNavigationRoutines, true);\n addEventListener.call(ownerDocument, 'mouseup', () => {\n // We schedule this as an async task in the mouseup handler (as\n // opposed to the mousedown handler) because we want to guarantee\n // that it will never run before the focusin handler:\n //\n // Click form element | Click form element label\n // ==================================================\n // mousedown | mousedown\n // FOCUSIN | mousedown-setTimeout\n // mousedown-setTimeout | mouseup\n // mouseup | FOCUSIN\n // mouseup-setTimeout | mouseup-setTimeout\n setTimeout(enableKeyboardFocusNavigationRoutines);\n }, true);\n // [W-7824445] If the element is draggable, the mousedown event is dispatched before the\n // element is starting to be dragged, which disable the keyboard focus navigation routine.\n // But by specification, the mouseup event is never dispatched once the element is dropped.\n //\n // For all draggable element, we need to add an event listener to re-enable the keyboard\n // navigation routine after dragging starts.\n addEventListener.call(ownerDocument, 'dragstart', enableKeyboardFocusNavigationRoutines, true);\n }\n}\n// Skips the shadow tree\nexport function handleFocusIn(elm) {\n if (process.env.NODE_ENV !== 'production') {\n assert.invariant(tabIndexGetter.call(elm) === -1, `Invalid attempt to handle focus in ${toString(elm)}. ${toString(elm)} should have tabIndex -1, but has tabIndex ${tabIndexGetter.call(elm)}`);\n }\n bindDocumentMousedownMouseupHandlers(elm);\n // Unbind any focus listeners we may have going on\n ignoreFocus(elm);\n // This focusin listener is to catch focusin events from keyboard interactions\n // A better solution would perhaps be to listen for keydown events, but\n // the keydown event happens on whatever element already has focus (or no element\n // at all in the case of the location bar. So, instead we have to assume that focusin\n // without a mousedown means keyboard navigation\n addEventListener.call(elm, 'focusin', skipShadowHandler, true);\n}\nexport function ignoreFocusIn(elm) {\n removeEventListener.call(elm, 'focusin', skipShadowHandler, true);\n}\n//# sourceMappingURL=focus.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { isNull, isFalse, defineProperties, defineProperty } from '@lwc/shared';\nimport { hasAttribute, innerTextGetter, innerTextSetter, outerTextGetter, outerTextSetter, tabIndexGetter, tabIndexSetter, } from '../env/element';\nimport { isDelegatingFocus, isSyntheticShadowHost } from './shadow-root';\nimport { disableKeyboardFocusNavigationRoutines, enableKeyboardFocusNavigationRoutines, getActiveElement, handleFocus, handleFocusIn, hostElementFocus, ignoreFocus, ignoreFocusIn, isKeyboardFocusNavigationRoutineEnabled, } from './focus';\nconst { blur, focus } = HTMLElement.prototype;\n/**\n * This method only applies to elements with a shadow attached to them\n */\nfunction tabIndexGetterPatched() {\n if (isDelegatingFocus(this) && isFalse(hasAttribute.call(this, 'tabindex'))) {\n // this covers the case where the default tabindex should be 0 because the\n // custom element is delegating its focus\n return 0;\n }\n return tabIndexGetter.call(this);\n}\n/**\n * This method only applies to elements with a shadow attached to them\n */\nfunction tabIndexSetterPatched(value) {\n // This tabIndex setter might be confusing unless it is understood that HTML\n // elements have default tabIndex property values. Natively focusable elements have\n // a default tabIndex value of 0 and all other elements have a default tabIndex\n // value of -1. For example, the tabIndex property value is -1 for both <x-foo> and\n // <x-foo tabindex=\"-1\">, but our delegatesFocus polyfill should only kick in for\n // the latter case when the value of the tabindex attribute is -1.\n const delegatesFocus = isDelegatingFocus(this);\n // Record the state of things before invoking component setter.\n const prevValue = tabIndexGetter.call(this);\n const prevHasAttr = hasAttribute.call(this, 'tabindex');\n tabIndexSetter.call(this, value);\n // Record the state of things after invoking component setter.\n const currValue = tabIndexGetter.call(this);\n const currHasAttr = hasAttribute.call(this, 'tabindex');\n const didValueChange = prevValue !== currValue;\n // If the tabindex attribute is initially rendered, we can assume that this setter has\n // previously executed and a listener has been added. We must remove that listener if\n // the tabIndex property value has changed or if the component no longer renders a\n // tabindex attribute.\n if (prevHasAttr && (didValueChange || isFalse(currHasAttr))) {\n if (prevValue === -1) {\n ignoreFocusIn(this);\n }\n if (prevValue === 0 && delegatesFocus) {\n ignoreFocus(this);\n }\n }\n // If a tabindex attribute was not rendered after invoking its setter, it means the\n // component is taking control. Do nothing.\n if (isFalse(currHasAttr)) {\n return;\n }\n // If the tabindex attribute is initially rendered, we can assume that this setter has\n // previously executed and a listener has been added. If the tabindex attribute is still\n // rendered after invoking the setter AND the tabIndex property value has not changed,\n // we don't need to do any work.\n if (prevHasAttr && currHasAttr && isFalse(didValueChange)) {\n return;\n }\n // At this point we know that a tabindex attribute was rendered after invoking the\n // setter and that either:\n // 1) This is the first time this setter is being invoked.\n // 2) This is not the first time this setter is being invoked and the value is changing.\n // We need to add the appropriate listeners in either case.\n if (currValue === -1) {\n // Add the magic to skip the shadow tree\n handleFocusIn(this);\n }\n if (currValue === 0 && delegatesFocus) {\n // Add the magic to skip the host element\n handleFocus(this);\n }\n}\n/**\n * This method only applies to elements with a shadow attached to them\n */\nfunction blurPatched() {\n if (isDelegatingFocus(this)) {\n const currentActiveElement = getActiveElement(this);\n if (!isNull(currentActiveElement)) {\n // if there is an active element, blur it (intentionally using the dot notation in case the user defines the blur routine)\n currentActiveElement.blur();\n return;\n }\n }\n return blur.call(this);\n}\nfunction focusPatched() {\n // Save enabled state\n const originallyEnabled = isKeyboardFocusNavigationRoutineEnabled();\n // Change state by disabling if originally enabled\n if (originallyEnabled) {\n disableKeyboardFocusNavigationRoutines();\n }\n if (isSyntheticShadowHost(this) && isDelegatingFocus(this)) {\n hostElementFocus.call(this);\n return;\n }\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n focus.apply(this, arguments);\n // Restore state by enabling if originally enabled\n if (originallyEnabled) {\n enableKeyboardFocusNavigationRoutines();\n }\n}\n// Non-deep-traversing patches: this descriptor map includes all descriptors that\n// do not five access to nodes beyond the immediate children.\ndefineProperties(HTMLElement.prototype, {\n tabIndex: {\n get() {\n if (isSyntheticShadowHost(this)) {\n return tabIndexGetterPatched.call(this);\n }\n return tabIndexGetter.call(this);\n },\n set(v) {\n if (isSyntheticShadowHost(this)) {\n return tabIndexSetterPatched.call(this, v);\n }\n return tabIndexSetter.call(this, v);\n },\n enumerable: true,\n configurable: true,\n },\n blur: {\n value() {\n if (isSyntheticShadowHost(this)) {\n return blurPatched.call(this);\n }\n blur.call(this);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n focus: {\n value() {\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n focusPatched.apply(this, arguments);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n});\n// Note: In JSDOM innerText is not implemented: https://github.com/jsdom/jsdom/issues/1245\nif (innerTextGetter !== null && innerTextSetter !== null) {\n defineProperty(HTMLElement.prototype, 'innerText', {\n get() {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return innerTextGetter.call(this);\n },\n set(v) {\n innerTextSetter.call(this, v);\n },\n enumerable: true,\n configurable: true,\n });\n}\n// Note: Firefox does not have outerText, https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/outerText\nif (outerTextGetter !== null && outerTextSetter !== null) {\n // From https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/outerText :\n // HTMLElement.outerText is a non-standard property. As a getter, it returns the same value as Node.innerText.\n // As a setter, it removes the current node and replaces it with the given text.\n defineProperty(HTMLElement.prototype, 'outerText', {\n get() {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return outerTextGetter.call(this);\n },\n set(v) {\n // Invoking the `outerText` setter on a host element should trigger its disconnection, but until we merge node reactions, it will not work.\n // We could reimplement the outerText setter in JavaScript ([blink implementation](https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/html/html_element.cc;l=841-879;drc=6e8b402a6231405b753919029c9027404325ea00;bpv=0;bpt=1))\n // but the benefits don't worth the efforts.\n outerTextSetter.call(this, v);\n },\n enumerable: true,\n configurable: true,\n });\n}\n//# sourceMappingURL=html-element.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperty, isUndefined, KEY__SHADOW_TOKEN, KEY__SHADOW_TOKEN_PRIVATE, KEY__SHADOW_STATIC, KEY__SHADOW_STATIC_PRIVATE, KEY__SHADOW_RESOLVER, } from '@lwc/shared';\nimport { setAttribute, removeAttribute } from '../env/element';\nimport { childNodesGetter } from '../env/node';\nexport function getShadowToken(node) {\n return node[KEY__SHADOW_TOKEN];\n}\nexport function setShadowToken(node, shadowToken) {\n node[KEY__SHADOW_TOKEN] = shadowToken;\n}\n/**\n * Patching Element.prototype.$shadowToken$ to mark elements a portal:\n *\n * - we use a property to allow engines to set a custom attribute that should be\n * placed into the element to sandbox the css rules defined for the template.\n *\n * - this custom attribute must be unique.\n *\n **/\ndefineProperty(Element.prototype, KEY__SHADOW_TOKEN, {\n set(shadowToken) {\n const oldShadowToken = this[KEY__SHADOW_TOKEN_PRIVATE];\n if (!isUndefined(oldShadowToken) && oldShadowToken !== shadowToken) {\n removeAttribute.call(this, oldShadowToken);\n }\n if (!isUndefined(shadowToken)) {\n setAttribute.call(this, shadowToken, '');\n }\n this[KEY__SHADOW_TOKEN_PRIVATE] = shadowToken;\n },\n get() {\n return this[KEY__SHADOW_TOKEN_PRIVATE];\n },\n configurable: true,\n});\nfunction recursivelySetShadowResolver(node, fn) {\n node[KEY__SHADOW_RESOLVER] = fn;\n const childNodes = childNodesGetter.call(node);\n for (let i = 0, n = childNodes.length; i < n; i++) {\n recursivelySetShadowResolver(childNodes[i], fn);\n }\n}\ndefineProperty(Element.prototype, KEY__SHADOW_STATIC, {\n set(v) {\n // Marking an element as static will propagate the shadow resolver to the children.\n if (v) {\n const fn = this[KEY__SHADOW_RESOLVER];\n recursivelySetShadowResolver(this, fn);\n }\n this[KEY__SHADOW_STATIC_PRIVATE] = v;\n },\n get() {\n return this[KEY__SHADOW_STATIC_PRIVATE];\n },\n configurable: true,\n});\n//# sourceMappingURL=shadow-token.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { isUndefined, forEach, defineProperty, isTrue } from '@lwc/shared';\nimport { childNodesGetter, compareDocumentPosition, Node } from '../env/node';\nimport { MutationObserver, MutationObserverObserve } from '../env/mutation-observer';\nimport { getShadowRootResolver, isSyntheticShadowHost, setShadowRootResolver, } from './shadow-root';\nimport { setShadowToken, getShadowToken } from './shadow-token';\nconst DomManualPrivateKey = '$$DomManualKey$$';\n// Resolver function used when a node is removed from within a portal\nconst DocumentResolverFn = function () { };\n// We can use a single observer without having to worry about leaking because\n// \"Registered observers in a node’s registered observer list have a weak\n// reference to the node.\"\n// https://dom.spec.whatwg.org/#garbage-collection\nlet portalObserver;\nconst portalObserverConfig = {\n childList: true,\n};\nfunction adoptChildNode(node, fn, shadowToken) {\n const previousNodeShadowResolver = getShadowRootResolver(node);\n if (previousNodeShadowResolver === fn) {\n return; // nothing to do here, it is already correctly patched\n }\n setShadowRootResolver(node, fn);\n if (node instanceof Element) {\n setShadowToken(node, shadowToken);\n if (isSyntheticShadowHost(node)) {\n // Root LWC elements can't get content slotted into them, therefore we don't observe their children.\n return;\n }\n if (isUndefined(previousNodeShadowResolver)) {\n // we only care about Element without shadowResolver (no MO.observe has been called)\n MutationObserverObserve.call(portalObserver, node, portalObserverConfig);\n }\n // recursively patching all children as well\n const childNodes = childNodesGetter.call(node);\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n adoptChildNode(childNodes[i], fn, shadowToken);\n }\n }\n}\nfunction initPortalObserver() {\n return new MutationObserver((mutations) => {\n forEach.call(mutations, (mutation) => {\n /**\n * This routine will process all nodes added or removed from elm (which is marked as a portal)\n * When adding a node to the portal element, we should add the ownership.\n * When removing a node from the portal element, this ownership should be removed.\n *\n * There is some special cases in which MutationObserver may call with stacked mutations (the same node\n * will be in addedNodes and removedNodes) or with false positives (a node that is removed and re-appended\n * in the same tick) for those cases, we cover by checking that the node is contained\n * (or not in the case of removal) by the element.\n */\n const { target: elm, addedNodes, removedNodes } = mutation;\n // the target of the mutation should always have a ShadowRootResolver attached to it\n const fn = getShadowRootResolver(elm);\n const shadowToken = getShadowToken(elm);\n // Process removals first to handle the case where an element is removed and reinserted\n for (let i = 0, len = removedNodes.length; i < len; i += 1) {\n const node = removedNodes[i];\n if (!(compareDocumentPosition.call(elm, node) & Node.DOCUMENT_POSITION_CONTAINED_BY)) {\n adoptChildNode(node, DocumentResolverFn, undefined);\n }\n }\n for (let i = 0, len = addedNodes.length; i < len; i += 1) {\n const node = addedNodes[i];\n if (compareDocumentPosition.call(elm, node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n adoptChildNode(node, fn, shadowToken);\n }\n }\n });\n });\n}\nfunction markElementAsPortal(elm) {\n if (isUndefined(portalObserver)) {\n portalObserver = initPortalObserver();\n }\n if (isUndefined(getShadowRootResolver(elm))) {\n // only an element from a within a shadowRoot should be used here\n throw new Error(`Invalid Element`);\n }\n // install mutation observer for portals\n MutationObserverObserve.call(portalObserver, elm, portalObserverConfig);\n // TODO [#1253]: optimization to synchronously adopt new child nodes added\n // to this elm, we can do that by patching the most common operations\n // on the node itself\n}\n/**\n * Patching Element.prototype.$domManual$ to mark elements as portal:\n *\n * - we use a property to allow engines to signal that a particular element in\n * a shadow supports manual insertion of child nodes.\n *\n * - this signal comes as a boolean value, and we use it to install the MO instance\n * onto the element, to propagate the $ownerKey$ and $shadowToken$ to all new\n * child nodes.\n *\n * - at the moment, there is no way to undo this operation, once the element is\n * marked as $domManual$, setting it to false does nothing.\n *\n **/\n// TODO [#1306]: rename this to $observerConnection$\ndefineProperty(Element.prototype, '$domManual$', {\n set(v) {\n this[DomManualPrivateKey] = v;\n if (isTrue(v)) {\n markElementAsPortal(this);\n }\n },\n get() {\n return this[DomManualPrivateKey];\n },\n configurable: true,\n});\n//# sourceMappingURL=portal.js.map"],"names":["globalThis","getElementsByTagName","getElementsByTagNameNS","querySelectorAll","attachShadow","getElementsByClassName","assignedSlotGetter","Node","Items","nativeParentNodeGetter","nativeCloneNode","isEventListenerOrEventListenerObject","documentGetElementById","documentQuerySelectorAll","documentGetElementsByClassName","documentGetElementsByTagName","documentGetElementsByTagNameNS","nativeAddEventListener","nativeRemoveEventListener","originalComposedPath","MutationObserver","originalTextAssignedSlotGetter","originalElementAssignedSlotGetter","originalAssignedElements","originalAssignedNodes","originalAttachShadow","originalShadowRootGetter","elementQuerySelectorAll","elementGetElementsByClassName","elementGetElementsByTagName","elementGetElementsByTagNameNS"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.js","sources":["../../shared/dist/index.js","../../features/dist/index.js","../src/env/node.ts","../src/env/element.ts","../src/env/slot.ts","../src/env/dom.ts","../src/env/document.ts","../src/env/window.ts","../src/env/mutation-observer.ts","../src/env/shadow-root.ts","../src/shared/utils.ts","../src/env/event-target.ts","../src/shared/node-ownership.ts","../src/faux-shadow/traverse.ts","../src/3rdparty/polymer/inner-html.ts","../src/3rdparty/polymer/outer-html.ts","../src/3rdparty/polymer/text-content.ts","../src/shared/static-node-list.ts","../src/shared/faux-elements-from-point.ts","../src/shared/static-html-collection.ts","../src/faux-shadow/node.ts","../src/shared/event-target.ts","../src/faux-shadow/events.ts","../src/faux-shadow/shadow-root.ts","../src/3rdparty/polymer/path-composer.ts","../src/3rdparty/polymer/retarget.ts","../src/shared/faux-element-from-point.ts","../src/polyfills/document-shadow/polyfill.ts","../src/polyfills/shadow-root/polyfill.ts","../src/polyfills/custom-event-composed/polyfill.ts","../src/polyfills/clipboard-event-composed/main.ts","../src/polyfills/mutation-observer/polyfill.ts","../src/polyfills/event-target/polyfill.ts","../src/polyfills/event/polyfill.ts","../src/shared/retarget-related-target.ts","../src/polyfills/focus-event/polyfill.ts","../src/polyfills/mouse-event/polyfill.ts","../src/env/text.ts","../src/faux-shadow/slot.ts","../src/faux-shadow/text.ts","../src/faux-shadow/no-patch-utils.ts","../src/faux-shadow/element.ts","../src/faux-shadow/focus.ts","../src/faux-shadow/html-element.ts","../src/faux-shadow/shadow-token.ts","../src/faux-shadow/portal.ts"],"sourcesContent":["/**\n * Copyright (C) 2023 salesforce.com, inc.\n */\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nfunction invariant(value, msg) {\n if (!value) {\n throw new Error(`Invariant Violation: ${msg}`);\n }\n}\nfunction isTrue$1(value, msg) {\n if (!value) {\n throw new Error(`Assert Violation: ${msg}`);\n }\n}\nfunction isFalse$1(value, msg) {\n if (value) {\n throw new Error(`Assert Violation: ${msg}`);\n }\n}\nfunction fail(msg) {\n throw new Error(msg);\n}\n\nvar assert = /*#__PURE__*/Object.freeze({\n __proto__: null,\n fail: fail,\n invariant: invariant,\n isFalse: isFalse$1,\n isTrue: isTrue$1\n});\n\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst { assign, create, defineProperties, defineProperty, freeze, getOwnPropertyDescriptor, getOwnPropertyNames, getPrototypeOf, hasOwnProperty, isFrozen, keys, seal, setPrototypeOf, } = Object;\nconst { isArray } = Array;\nconst { concat: ArrayConcat, copyWithin: ArrayCopyWithin, every: ArrayEvery, fill: ArrayFill, filter: ArrayFilter, find: ArrayFind, findIndex: ArrayFindIndex, includes: ArrayIncludes, indexOf: ArrayIndexOf, join: ArrayJoin, map: ArrayMap, pop: ArrayPop, push: ArrayPush, reduce: ArrayReduce, reverse: ArrayReverse, shift: ArrayShift, slice: ArraySlice, some: ArraySome, sort: ArraySort, splice: ArraySplice, unshift: ArrayUnshift, forEach, } = Array.prototype;\n// The type of the return value of Array.prototype.every is `this is T[]`. However, once this\n// Array method is pulled out of the prototype, the function is now referencing `this` where\n// `this` is meaningless, resulting in a TypeScript compilation error.\n//\n// Exposing this helper function is the closest we can get to preserving the usage patterns\n// of Array.prototype methods used elsewhere in the codebase.\nfunction arrayEvery(arr, predicate) {\n return ArrayEvery.call(arr, predicate);\n}\nconst { fromCharCode: StringFromCharCode } = String;\nconst { charCodeAt: StringCharCodeAt, replace: StringReplace, split: StringSplit, slice: StringSlice, toLowerCase: StringToLowerCase, } = String.prototype;\nfunction isUndefined(obj) {\n return obj === undefined;\n}\nfunction isNull(obj) {\n return obj === null;\n}\nfunction isTrue(obj) {\n return obj === true;\n}\nfunction isFalse(obj) {\n return obj === false;\n}\nfunction isBoolean(obj) {\n return typeof obj === 'boolean';\n}\nfunction isFunction(obj) {\n return typeof obj === 'function';\n}\nfunction isObject(obj) {\n return typeof obj === 'object';\n}\nfunction isString(obj) {\n return typeof obj === 'string';\n}\nfunction isNumber(obj) {\n return typeof obj === 'number';\n}\nfunction noop() {\n /* Do nothing */\n}\nconst OtS = {}.toString;\nfunction toString(obj) {\n if (obj && obj.toString) {\n // Arrays might hold objects with \"null\" prototype So using\n // Array.prototype.toString directly will cause an error Iterate through\n // all the items and handle individually.\n if (isArray(obj)) {\n return ArrayJoin.call(ArrayMap.call(obj, toString), ',');\n }\n return obj.toString();\n }\n else if (typeof obj === 'object') {\n return OtS.call(obj);\n }\n else {\n return obj + '';\n }\n}\nfunction getPropertyDescriptor(o, p) {\n do {\n const d = getOwnPropertyDescriptor(o, p);\n if (!isUndefined(d)) {\n return d;\n }\n o = getPrototypeOf(o);\n } while (o !== null);\n}\n\n/*\n * Copyright (c) 2023, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// These must be updated when the enum is updated.\n// It's a bit annoying to do have to do this manually, but this makes the file tree-shakeable,\n// passing the `verify-treeshakeable.js` test.\nconst LOWEST_API_VERSION = 58 /* APIVersion.V58_244_SUMMER_23 */;\nconst HIGHEST_API_VERSION = 59 /* APIVersion.V59_246_WINTER_24 */;\nconst allVersions = [58 /* APIVersion.V58_244_SUMMER_23 */, 59 /* APIVersion.V59_246_WINTER_24 */];\nconst allVersionsSet = /*@__PURE__@*/ new Set(allVersions);\nfunction getAPIVersionFromNumber(version) {\n if (!isNumber(version)) {\n // if version is unspecified, default to latest\n return HIGHEST_API_VERSION;\n }\n if (allVersionsSet.has(version)) {\n return version;\n }\n if (version < LOWEST_API_VERSION) {\n return LOWEST_API_VERSION;\n }\n // If it's a number, and it's within the bounds of our known versions, then we should find the\n // highest version lower than the requested number.\n // For instance, if we know about versions 1, 2, 5, and 6, and the user requests 3, then we should return 2.\n for (let i = 1; i < allVersions.length; i++) {\n if (allVersions[i] > version) {\n return allVersions[i - 1];\n }\n }\n // version > HIGHEST_API_VERSION, so fall back to highest\n return HIGHEST_API_VERSION;\n}\nfunction isAPIFeatureEnabled(apiVersionFeature, apiVersion) {\n switch (apiVersionFeature) {\n case 0 /* APIFeature.LOWERCASE_SCOPE_TOKENS */:\n case 1 /* APIFeature.TREAT_ALL_PARSE5_ERRORS_AS_ERRORS */:\n return apiVersion >= 59 /* APIVersion.V59_246_WINTER_24 */;\n }\n}\n\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n/**\n * According to the following list, there are 48 aria attributes of which two (ariaDropEffect and\n * ariaGrabbed) are deprecated:\n * https://www.w3.org/TR/wai-aria-1.1/#x6-6-definitions-of-states-and-properties-all-aria-attributes\n *\n * The above list of 46 aria attributes is consistent with the following resources:\n * https://github.com/w3c/aria/pull/708/files#diff-eacf331f0ffc35d4b482f1d15a887d3bR11060\n * https://wicg.github.io/aom/spec/aria-reflection.html\n *\n * NOTE: If you update this list, please update test files that implicitly reference this list!\n * Searching the codebase for `aria-flowto` and `ariaFlowTo` should be good enough to find all usages.\n */\nconst AriaPropertyNames = [\n 'ariaActiveDescendant',\n 'ariaAtomic',\n 'ariaAutoComplete',\n 'ariaBusy',\n 'ariaChecked',\n 'ariaColCount',\n 'ariaColIndex',\n 'ariaColSpan',\n 'ariaControls',\n 'ariaCurrent',\n 'ariaDescribedBy',\n 'ariaDetails',\n 'ariaDisabled',\n 'ariaErrorMessage',\n 'ariaExpanded',\n 'ariaFlowTo',\n 'ariaHasPopup',\n 'ariaHidden',\n 'ariaInvalid',\n 'ariaKeyShortcuts',\n 'ariaLabel',\n 'ariaLabelledBy',\n 'ariaLevel',\n 'ariaLive',\n 'ariaModal',\n 'ariaMultiLine',\n 'ariaMultiSelectable',\n 'ariaOrientation',\n 'ariaOwns',\n 'ariaPlaceholder',\n 'ariaPosInSet',\n 'ariaPressed',\n 'ariaReadOnly',\n 'ariaRelevant',\n 'ariaRequired',\n 'ariaRoleDescription',\n 'ariaRowCount',\n 'ariaRowIndex',\n 'ariaRowSpan',\n 'ariaSelected',\n 'ariaSetSize',\n 'ariaSort',\n 'ariaValueMax',\n 'ariaValueMin',\n 'ariaValueNow',\n 'ariaValueText',\n 'role',\n];\nconst { AriaAttrNameToPropNameMap, AriaPropNameToAttrNameMap } = /*@__PURE__*/ (() => {\n const AriaAttrNameToPropNameMap = create(null);\n const AriaPropNameToAttrNameMap = create(null);\n // Synthetic creation of all AOM property descriptors for Custom Elements\n forEach.call(AriaPropertyNames, (propName) => {\n const attrName = StringToLowerCase.call(StringReplace.call(propName, /^aria/, () => 'aria-'));\n AriaAttrNameToPropNameMap[attrName] = propName;\n AriaPropNameToAttrNameMap[propName] = attrName;\n });\n return { AriaAttrNameToPropNameMap, AriaPropNameToAttrNameMap };\n})();\nfunction isAriaAttribute(attrName) {\n return attrName in AriaAttrNameToPropNameMap;\n}\n// These attributes take either an ID or a list of IDs as values.\n// This includes aria-* attributes as well as the special non-ARIA \"for\" attribute\nconst ID_REFERENCING_ATTRIBUTES_SET = /*@__PURE__*/ new Set([\n 'aria-activedescendant',\n 'aria-controls',\n 'aria-describedby',\n 'aria-details',\n 'aria-errormessage',\n 'aria-flowto',\n 'aria-labelledby',\n 'aria-owns',\n 'for',\n]);\n\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// See browser support for globalThis:\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis#browser_compatibility\n/* istanbul ignore next */\n// @ts-ignore\nconst _globalThis = typeof globalThis === 'object' ? globalThis : window;\n\n/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst KEY__SHADOW_RESOLVER = '$shadowResolver$';\nconst KEY__SHADOW_RESOLVER_PRIVATE = '$$ShadowResolverKey$$';\nconst KEY__SHADOW_STATIC = '$shadowStaticNode$';\nconst KEY__SHADOW_STATIC_PRIVATE = '$shadowStaticNodeKey$';\nconst KEY__SHADOW_TOKEN = '$shadowToken$';\nconst KEY__SHADOW_TOKEN_PRIVATE = '$$ShadowTokenKey$$';\nconst KEY__SYNTHETIC_MODE = '$$lwc-synthetic-mode';\nconst KEY__SCOPED_CSS = '$scoped$';\nconst KEY__NATIVE_GET_ELEMENT_BY_ID = '$nativeGetElementById$';\nconst KEY__NATIVE_QUERY_SELECTOR_ALL = '$nativeQuerySelectorAll$';\n\n/*\n * Copyright (c) 2022, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\nconst XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace';\nconst SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\nconst MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\nconst XLINK_NAMESPACE = 'http://www.w3.org/1999/xlink';\n\n/*\n * Copyright (c) 2020, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// Void elements are elements that self-close even without an explicit solidus (slash),\n// e.g. `</tagName>` or `<tagName />`. For instance, `<meta>` closes on its own; no need for a slash.\n// These only come from HTML; there are no void elements in the SVG or MathML namespaces.\n// See: https://html.spec.whatwg.org/multipage/syntax.html#syntax-tags\nconst VOID_ELEMENTS = [\n 'area',\n 'base',\n 'br',\n 'col',\n 'embed',\n 'hr',\n 'img',\n 'input',\n 'link',\n 'meta',\n 'source',\n 'track',\n 'wbr',\n];\n// These elements have been deprecated but preserving their usage for backwards compatibility\n// until we can officially deprecate them from LWC.\n// See: https://html.spec.whatwg.org/multipage/obsolete.html#obsolete-but-conforming-features\nconst DEPRECATED_VOID_ELEMENTS = ['param', 'keygen', 'menuitem'];\nconst VOID_ELEMENTS_SET = /*@__PURE__*/ new Set([...VOID_ELEMENTS, ...DEPRECATED_VOID_ELEMENTS]);\nfunction isVoidElement(name, namespace) {\n return namespace === HTML_NAMESPACE && VOID_ELEMENTS_SET.has(name.toLowerCase());\n}\n\n/*\n * Copyright (c) 2020, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst CAMEL_REGEX = /-([a-z])/g;\n/**\n * Maps boolean attribute name to supported tags: 'boolean attr name' => Set of allowed tag names\n * that supports them.\n */\nconst BOOLEAN_ATTRIBUTES = /*@__PURE__@*/ new Map([\n ['autofocus', /*@__PURE__@*/ new Set(['button', 'input', 'keygen', 'select', 'textarea'])],\n ['autoplay', /*@__PURE__@*/ new Set(['audio', 'video'])],\n ['checked', /*@__PURE__@*/ new Set(['command', 'input'])],\n [\n 'disabled',\n /*@__PURE__@*/ new Set([\n 'button',\n 'command',\n 'fieldset',\n 'input',\n 'keygen',\n 'optgroup',\n 'select',\n 'textarea',\n ]),\n ],\n ['formnovalidate', /*@__PURE__@*/ new Set(['button'])],\n ['hidden', /*@__PURE__@*/ new Set()],\n ['loop', /*@__PURE__@*/ new Set(['audio', 'bgsound', 'marquee', 'video'])],\n ['multiple', /*@__PURE__@*/ new Set(['input', 'select'])],\n ['muted', /*@__PURE__@*/ new Set(['audio', 'video'])],\n ['novalidate', /*@__PURE__@*/ new Set(['form'])],\n ['open', /*@__PURE__@*/ new Set(['details'])],\n ['readonly', /*@__PURE__@*/ new Set(['input', 'textarea'])],\n ['readonly', /*@__PURE__@*/ new Set(['input', 'textarea'])],\n ['required', /*@__PURE__@*/ new Set(['input', 'select', 'textarea'])],\n ['reversed', /*@__PURE__@*/ new Set(['ol'])],\n ['selected', /*@__PURE__@*/ new Set(['option'])],\n]);\nfunction isBooleanAttribute(attrName, tagName) {\n const allowedTagNames = BOOLEAN_ATTRIBUTES.get(attrName);\n return (allowedTagNames !== undefined &&\n (allowedTagNames.size === 0 || allowedTagNames.has(tagName)));\n}\n// This list is based on https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes\nconst GLOBAL_ATTRIBUTE = /*@__PURE__*/ new Set([\n 'accesskey',\n 'autocapitalize',\n 'autofocus',\n 'class',\n 'contenteditable',\n 'contextmenu',\n 'dir',\n 'draggable',\n 'enterkeyhint',\n 'exportparts',\n 'hidden',\n 'id',\n 'inputmode',\n 'is',\n 'itemid',\n 'itemprop',\n 'itemref',\n 'itemscope',\n 'itemtype',\n 'lang',\n 'nonce',\n 'part',\n 'slot',\n 'spellcheck',\n 'style',\n 'tabindex',\n 'title',\n 'translate',\n]);\nfunction isGlobalHtmlAttribute(attrName) {\n return GLOBAL_ATTRIBUTE.has(attrName);\n}\n// These are HTML standard prop/attribute IDL mappings, but are not predictable based on camel/kebab-case conversion\nconst SPECIAL_PROPERTY_ATTRIBUTE_MAPPING = /*@__PURE__@*/ new Map([\n ['accessKey', 'accesskey'],\n ['readOnly', 'readonly'],\n ['tabIndex', 'tabindex'],\n ['bgColor', 'bgcolor'],\n ['colSpan', 'colspan'],\n ['rowSpan', 'rowspan'],\n ['contentEditable', 'contenteditable'],\n ['crossOrigin', 'crossorigin'],\n ['dateTime', 'datetime'],\n ['formAction', 'formaction'],\n ['isMap', 'ismap'],\n ['maxLength', 'maxlength'],\n ['minLength', 'minlength'],\n ['noValidate', 'novalidate'],\n ['useMap', 'usemap'],\n ['htmlFor', 'for'],\n]);\n/**\n * Map associating previously transformed HTML property into HTML attribute.\n */\nconst CACHED_PROPERTY_ATTRIBUTE_MAPPING = /*@__PURE__@*/ new Map();\nfunction htmlPropertyToAttribute(propName) {\n const ariaAttributeName = AriaPropNameToAttrNameMap[propName];\n if (!isUndefined(ariaAttributeName)) {\n return ariaAttributeName;\n }\n const specialAttributeName = SPECIAL_PROPERTY_ATTRIBUTE_MAPPING.get(propName);\n if (!isUndefined(specialAttributeName)) {\n return specialAttributeName;\n }\n const cachedAttributeName = CACHED_PROPERTY_ATTRIBUTE_MAPPING.get(propName);\n if (!isUndefined(cachedAttributeName)) {\n return cachedAttributeName;\n }\n let attributeName = '';\n for (let i = 0, len = propName.length; i < len; i++) {\n const code = StringCharCodeAt.call(propName, i);\n if (code >= 65 && // \"A\"\n code <= 90 // \"Z\"\n ) {\n attributeName += '-' + StringFromCharCode(code + 32);\n }\n else {\n attributeName += StringFromCharCode(code);\n }\n }\n CACHED_PROPERTY_ATTRIBUTE_MAPPING.set(propName, attributeName);\n return attributeName;\n}\n/**\n * Map associating previously transformed kabab-case attributes into camel-case props.\n */\nconst CACHED_KEBAB_CAMEL_MAPPING = /*@__PURE__@*/ new Map();\nfunction kebabCaseToCamelCase(attrName) {\n let result = CACHED_KEBAB_CAMEL_MAPPING.get(attrName);\n if (isUndefined(result)) {\n result = StringReplace.call(attrName, CAMEL_REGEX, (g) => g[1].toUpperCase());\n CACHED_KEBAB_CAMEL_MAPPING.set(attrName, result);\n }\n return result;\n}\n\n/*\n * Copyright (c) 2020, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst ESCAPED_CHARS = {\n '\"': '"',\n \"'\": ''',\n '<': '<',\n '>': '>',\n '&': '&',\n};\nfunction htmlEscape(str, attrMode = false) {\n const searchValue = attrMode ? /[\"&]/g : /[\"'<>&]/g;\n return str.replace(searchValue, (char) => ESCAPED_CHARS[char]);\n}\n\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// Increment whenever the LWC template compiler changes\nconst LWC_VERSION = \"3.3.3\";\nconst LWC_VERSION_COMMENT = `LWC compiler v${LWC_VERSION}`;\nconst LWC_VERSION_COMMENT_REGEX = /\\/\\*LWC compiler v([\\d.]+)\\*\\/\\s*}/;\n\nexport { AriaAttrNameToPropNameMap, AriaPropNameToAttrNameMap, ArrayConcat, ArrayCopyWithin, ArrayFill, ArrayFilter, ArrayFind, ArrayFindIndex, ArrayIncludes, ArrayIndexOf, ArrayJoin, ArrayMap, ArrayPop, ArrayPush, ArrayReduce, ArrayReverse, ArrayShift, ArraySlice, ArraySome, ArraySort, ArraySplice, ArrayUnshift, HIGHEST_API_VERSION, HTML_NAMESPACE, ID_REFERENCING_ATTRIBUTES_SET, KEY__NATIVE_GET_ELEMENT_BY_ID, KEY__NATIVE_QUERY_SELECTOR_ALL, KEY__SCOPED_CSS, KEY__SHADOW_RESOLVER, KEY__SHADOW_RESOLVER_PRIVATE, KEY__SHADOW_STATIC, KEY__SHADOW_STATIC_PRIVATE, KEY__SHADOW_TOKEN, KEY__SHADOW_TOKEN_PRIVATE, KEY__SYNTHETIC_MODE, LOWEST_API_VERSION, LWC_VERSION, LWC_VERSION_COMMENT, LWC_VERSION_COMMENT_REGEX, MATHML_NAMESPACE, SVG_NAMESPACE, StringCharCodeAt, StringFromCharCode, StringReplace, StringSlice, StringSplit, StringToLowerCase, XLINK_NAMESPACE, XML_NAMESPACE, arrayEvery, assert, assign, create, defineProperties, defineProperty, forEach, freeze, getAPIVersionFromNumber, getOwnPropertyDescriptor, getOwnPropertyNames, getPropertyDescriptor, getPrototypeOf, _globalThis as globalThis, hasOwnProperty, htmlEscape, htmlPropertyToAttribute, isAPIFeatureEnabled, isAriaAttribute, isArray, isBoolean, isBooleanAttribute, isFalse, isFrozen, isFunction, isGlobalHtmlAttribute, isNull, isNumber, isObject, isString, isTrue, isUndefined, isVoidElement, kebabCaseToCamelCase, keys, noop, seal, setPrototypeOf, toString };\n/** version: 3.3.3 */\n//# sourceMappingURL=index.js.map\n","/**\n * Copyright (C) 2023 salesforce.com, inc.\n */\nimport { globalThis, create, isBoolean, isUndefined, defineProperty } from '@lwc/shared';\n\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// When deprecating a feature flag, ensure that it is also no longer set in the application. For\n// example, in core, the flag should be removed from LwcPermAndPrefUtilImpl.java\nconst features = {\n DUMMY_TEST_FLAG: null,\n ENABLE_FORCE_NATIVE_SHADOW_MODE_FOR_TEST: null,\n ENABLE_MIXED_SHADOW_MODE: null,\n ENABLE_NATIVE_CUSTOM_ELEMENT_LIFECYCLE: null,\n ENABLE_WIRE_SYNC_EMIT: null,\n DISABLE_LIGHT_DOM_UNSCOPED_CSS: null,\n ENABLE_FROZEN_TEMPLATE: null,\n DISABLE_ARIA_REFLECTION_POLYFILL: null,\n};\n// eslint-disable-next-line no-restricted-properties\nif (!globalThis.lwcRuntimeFlags) {\n Object.defineProperty(globalThis, 'lwcRuntimeFlags', { value: create(null) });\n}\n// eslint-disable-next-line no-restricted-properties\nconst flags = globalThis.lwcRuntimeFlags;\n/**\n * Set the value at runtime of a given feature flag. This method only be invoked once per feature\n * flag. It is meant to be used during the app initialization.\n */\nfunction setFeatureFlag(name, value) {\n if (!isBoolean(value)) {\n const message = `Failed to set the value \"${value}\" for the runtime feature flag \"${name}\". Runtime feature flags can only be set to a boolean value.`;\n if (process.env.NODE_ENV !== 'production') {\n throw new TypeError(message);\n }\n else {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n }\n }\n if (isUndefined(features[name])) {\n // eslint-disable-next-line no-console\n console.info(`Attempt to set a value on an unknown feature flag \"${name}\" resulted in a NOOP.`);\n return;\n }\n // This may seem redundant, but `process.env.NODE_ENV === 'test-karma-lwc'` is replaced by Karma tests\n if (process.env.NODE_ENV === 'test-karma-lwc' || process.env.NODE_ENV !== 'production') {\n // Allow the same flag to be set more than once outside of production to enable testing\n flags[name] = value;\n }\n else {\n // Disallow the same flag to be set more than once in production\n const runtimeValue = flags[name];\n if (!isUndefined(runtimeValue)) {\n // eslint-disable-next-line no-console\n console.error(`Failed to set the value \"${value}\" for the runtime feature flag \"${name}\". \"${name}\" has already been set with the value \"${runtimeValue}\".`);\n return;\n }\n defineProperty(flags, name, { value });\n }\n}\n/**\n * Set the value at runtime of a given feature flag. This method should only be used for testing\n * purposes. It is a no-op when invoked in production mode.\n */\nfunction setFeatureFlagForTest(name, value) {\n // This may seem redundant, but `process.env.NODE_ENV === 'test-karma-lwc'` is replaced by Karma tests\n if (process.env.NODE_ENV === 'test-karma-lwc' || process.env.NODE_ENV !== 'production') {\n setFeatureFlag(name, value);\n }\n}\n\nexport { features as default, flags as lwcRuntimeFlags, flags as runtimeFlags, setFeatureFlag, setFeatureFlagForTest };\n/** version: 3.3.3 */\n//# sourceMappingURL=index.js.map\n","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { getOwnPropertyDescriptor, hasOwnProperty } from '@lwc/shared';\n// TODO [#2472]: Remove this workaround when appropriate.\n// eslint-disable-next-line @lwc/lwc-internal/no-global-node\nconst _Node = Node;\nconst nodePrototype = _Node.prototype;\nconst { DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, ELEMENT_NODE, TEXT_NODE, CDATA_SECTION_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, } = _Node;\nconst { appendChild, cloneNode, compareDocumentPosition, insertBefore, removeChild, replaceChild, hasChildNodes, } = nodePrototype;\nconst { contains } = HTMLElement.prototype;\nconst firstChildGetter = getOwnPropertyDescriptor(nodePrototype, 'firstChild').get;\nconst lastChildGetter = getOwnPropertyDescriptor(nodePrototype, 'lastChild').get;\nconst textContentGetter = getOwnPropertyDescriptor(nodePrototype, 'textContent').get;\nconst parentNodeGetter = getOwnPropertyDescriptor(nodePrototype, 'parentNode').get;\nconst ownerDocumentGetter = getOwnPropertyDescriptor(nodePrototype, 'ownerDocument').get;\nconst parentElementGetter = getOwnPropertyDescriptor(nodePrototype, 'parentElement').get;\nconst textContextSetter = getOwnPropertyDescriptor(nodePrototype, 'textContent').set;\nconst childNodesGetter = getOwnPropertyDescriptor(nodePrototype, 'childNodes').get;\nconst isConnected = hasOwnProperty.call(nodePrototype, 'isConnected')\n ? getOwnPropertyDescriptor(nodePrototype, 'isConnected').get\n : function () {\n const doc = ownerDocumentGetter.call(this);\n // IE11\n return (\n // if doc is null, it means `this` is actually a document instance which\n // is always connected\n doc === null ||\n (compareDocumentPosition.call(doc, this) & DOCUMENT_POSITION_CONTAINED_BY) !== 0);\n };\nexport { _Node as Node, \n// Node.prototype\nappendChild, childNodesGetter, cloneNode, compareDocumentPosition, insertBefore, isConnected, parentElementGetter, parentNodeGetter, removeChild, replaceChild, textContextSetter, ownerDocumentGetter, hasChildNodes, contains, firstChildGetter, lastChildGetter, textContentGetter, \n// Node\nDOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, \n// Node Types\nELEMENT_NODE, TEXT_NODE, CDATA_SECTION_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, };\n//# sourceMappingURL=node.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { hasOwnProperty, getOwnPropertyDescriptor } from '@lwc/shared';\nconst { getAttribute, getBoundingClientRect, getElementsByTagName, getElementsByTagNameNS, hasAttribute, querySelector, querySelectorAll, removeAttribute, setAttribute, } = Element.prototype;\nconst attachShadow = hasOwnProperty.call(Element.prototype, 'attachShadow')\n ? Element.prototype.attachShadow\n : () => {\n throw new TypeError('attachShadow() is not supported in current browser. Load the @lwc/synthetic-shadow polyfill and use Lightning Web Components');\n };\nconst childElementCountGetter = getOwnPropertyDescriptor(Element.prototype, 'childElementCount').get;\nconst firstElementChildGetter = getOwnPropertyDescriptor(Element.prototype, 'firstElementChild').get;\nconst lastElementChildGetter = getOwnPropertyDescriptor(Element.prototype, 'lastElementChild').get;\nconst innerTextDescriptor = getOwnPropertyDescriptor(HTMLElement.prototype, 'innerText');\nconst innerTextGetter = innerTextDescriptor\n ? innerTextDescriptor.get\n : null;\nconst innerTextSetter = innerTextDescriptor\n ? innerTextDescriptor.set\n : null;\n// Note: Firefox does not have outerText, https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/outerText\nconst outerTextDescriptor = getOwnPropertyDescriptor(HTMLElement.prototype, 'outerText');\nconst outerTextGetter = outerTextDescriptor\n ? outerTextDescriptor.get\n : null;\nconst outerTextSetter = outerTextDescriptor\n ? outerTextDescriptor.set\n : null;\nconst innerHTMLDescriptor = getOwnPropertyDescriptor(Element.prototype, 'innerHTML');\nconst innerHTMLGetter = innerHTMLDescriptor.get;\nconst innerHTMLSetter = innerHTMLDescriptor.set;\nconst outerHTMLDescriptor = getOwnPropertyDescriptor(Element.prototype, 'outerHTML');\nconst outerHTMLGetter = outerHTMLDescriptor.get;\nconst outerHTMLSetter = outerHTMLDescriptor.set;\nconst tagNameGetter = getOwnPropertyDescriptor(Element.prototype, 'tagName').get;\nconst tabIndexDescriptor = getOwnPropertyDescriptor(HTMLElement.prototype, 'tabIndex');\nconst tabIndexGetter = tabIndexDescriptor.get;\nconst tabIndexSetter = tabIndexDescriptor.set;\nconst matches = Element.prototype.matches;\nconst childrenGetter = getOwnPropertyDescriptor(Element.prototype, 'children').get;\n// for IE11, access from HTMLElement\n// for all other browsers access the method from the parent Element interface\nconst { getElementsByClassName } = HTMLElement.prototype;\nconst shadowRootGetter = hasOwnProperty.call(Element.prototype, 'shadowRoot')\n ? getOwnPropertyDescriptor(Element.prototype, 'shadowRoot').get\n : () => null;\nconst assignedSlotGetter = hasOwnProperty.call(Element.prototype, 'assignedSlot')\n ? getOwnPropertyDescriptor(Element.prototype, 'assignedSlot').get\n : () => null;\nexport { attachShadow, childrenGetter, childElementCountGetter, firstElementChildGetter, getAttribute, getBoundingClientRect, getElementsByClassName, getElementsByTagName, getElementsByTagNameNS, hasAttribute, innerHTMLGetter, innerHTMLSetter, innerTextGetter, innerTextSetter, lastElementChildGetter, matches, outerHTMLGetter, outerHTMLSetter, outerTextGetter, outerTextSetter, querySelector, querySelectorAll, removeAttribute, setAttribute, shadowRootGetter, tagNameGetter, tabIndexGetter, tabIndexSetter, assignedSlotGetter, };\n//# sourceMappingURL=element.js.map","/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nexport const assignedNodes = HTMLSlotElement.prototype.assignedNodes;\nexport const assignedElements = HTMLSlotElement.prototype.assignedElements;\n//# sourceMappingURL=slot.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { getOwnPropertyDescriptor, hasOwnProperty } from '@lwc/shared';\nconst eventTargetGetter = getOwnPropertyDescriptor(Event.prototype, 'target').get;\nconst eventCurrentTargetGetter = getOwnPropertyDescriptor(Event.prototype, 'currentTarget').get;\nconst focusEventRelatedTargetGetter = getOwnPropertyDescriptor(FocusEvent.prototype, 'relatedTarget').get;\n// IE does not implement composedPath() but that's ok because we only use this instead of our\n// composedPath() polyfill when dealing with native shadow DOM components in mixed mode. Defaulting\n// to a NOOP just to be safe, even though this is almost guaranteed to be defined such a scenario.\nconst composedPath = hasOwnProperty.call(Event.prototype, 'composedPath')\n ? Event.prototype.composedPath\n : () => [];\nexport { composedPath, eventTargetGetter, eventCurrentTargetGetter, focusEventRelatedTargetGetter };\n//# sourceMappingURL=dom.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { getOwnPropertyDescriptor } from '@lwc/shared';\nconst DocumentPrototypeActiveElement = getOwnPropertyDescriptor(Document.prototype, 'activeElement').get;\nconst elementFromPoint = Document.prototype.elementFromPoint;\nconst elementsFromPoint = Document.prototype.elementsFromPoint;\n// defaultView can be null when a document has no browsing context. For example, the owner document\n// of a node in a template doesn't have a default view: https://jsfiddle.net/hv9z0q5a/\nconst defaultViewGetter = getOwnPropertyDescriptor(Document.prototype, 'defaultView').get;\nconst { querySelectorAll, getElementById, getElementsByClassName, getElementsByTagName, getElementsByTagNameNS, } = Document.prototype;\n// In Firefox v57 and lower, getElementsByName is defined on HTMLDocument.prototype\n// In all other browsers have the method on Document.prototype\nconst { getElementsByName } = HTMLDocument.prototype;\nexport { elementFromPoint, elementsFromPoint, DocumentPrototypeActiveElement, querySelectorAll, getElementById, getElementsByClassName, getElementsByName, getElementsByTagName, getElementsByTagNameNS, defaultViewGetter, };\n//# sourceMappingURL=document.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst { addEventListener: windowAddEventListener, removeEventListener: windowRemoveEventListener, getComputedStyle: windowGetComputedStyle, getSelection: windowGetSelection, } = window;\nexport { windowAddEventListener, windowGetComputedStyle, windowGetSelection, windowRemoveEventListener, };\n//# sourceMappingURL=window.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// There is code in the polyfills that requires access to the unpatched\n// Mutation Observer constructor, this the code for that.\n// Eventually, the polyfill should uses the patched version, and this file can be removed.\nconst MO = MutationObserver;\nconst MutationObserverObserve = MO.prototype.observe;\nexport { MO as MutationObserver, MutationObserverObserve };\n//# sourceMappingURL=mutation-observer.js.map","/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n// Capture the global `ShadowRoot` since synthetic shadow will override it later\nconst NativeShadowRoot = ShadowRoot;\nexport const isInstanceOfNativeShadowRoot = (node) => node instanceof NativeShadowRoot;\n//# sourceMappingURL=shadow-root.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { isUndefined, isTrue } from '@lwc/shared';\nimport { ownerDocumentGetter } from '../env/node';\nimport { defaultViewGetter } from '../env/document';\nimport { getAttribute } from '../env/element';\n// Helpful for tests running with jsdom\nexport function getOwnerDocument(node) {\n const doc = ownerDocumentGetter.call(node);\n // if doc is null, it means `this` is actually a document instance\n return doc === null ? node : doc;\n}\nexport function getOwnerWindow(node) {\n const doc = getOwnerDocument(node);\n const win = defaultViewGetter.call(doc);\n if (win === null) {\n // this method should never be called with a node that is not part\n // of a qualifying connected node.\n throw new TypeError();\n }\n return win;\n}\nlet skipGlobalPatching;\n// Note: we deviate from native shadow here, but are not fixing\n// due to backwards compat: https://github.com/salesforce/lwc/pull/3103\nexport function isGlobalPatchingSkipped(node) {\n // we lazily compute this value instead of doing it during evaluation, this helps\n // for apps that are setting this after the engine code is evaluated.\n if (isUndefined(skipGlobalPatching)) {\n const ownerDocument = getOwnerDocument(node);\n skipGlobalPatching =\n ownerDocument.body &&\n getAttribute.call(ownerDocument.body, 'data-global-patching-bypass') ===\n 'temporary-bypass';\n }\n return isTrue(skipGlobalPatching);\n}\nexport function arrayFromCollection(collection) {\n const size = collection.length;\n const cloned = [];\n if (size > 0) {\n for (let i = 0; i < size; i++) {\n cloned[i] = collection[i];\n }\n }\n return cloned;\n}\n//# sourceMappingURL=utils.js.map","/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nexport const eventTargetPrototype = EventTarget.prototype;\nconst { addEventListener, dispatchEvent, removeEventListener } = eventTargetPrototype;\nexport { addEventListener, dispatchEvent, removeEventListener };\n//# sourceMappingURL=event-target.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperty, isNull, isUndefined } from '@lwc/shared';\nimport { parentNodeGetter } from '../env/node';\nimport { isSyntheticSlotElement } from '../faux-shadow/traverse';\n// Used as a back reference to identify the host element\nconst HostElementKey = '$$HostElementKey$$';\nconst ShadowedNodeKey = '$$ShadowedNodeKey$$';\nfunction fastDefineProperty(node, propName, config) {\n const shadowedNode = node;\n if (process.env.NODE_ENV !== 'production') {\n // in dev, we are more restrictive\n defineProperty(shadowedNode, propName, config);\n }\n else {\n const { value } = config;\n // in prod, we prioritize performance\n shadowedNode[propName] = value;\n }\n}\nexport function setNodeOwnerKey(node, value) {\n fastDefineProperty(node, HostElementKey, { value, configurable: true });\n}\nexport function setNodeKey(node, value) {\n fastDefineProperty(node, ShadowedNodeKey, { value });\n}\nexport function getNodeOwnerKey(node) {\n return node[HostElementKey];\n}\nexport function getNodeNearestOwnerKey(node) {\n let host = node;\n let hostKey;\n // search for the first element with owner identity\n // in case of manually inserted elements and elements slotted from Light DOM\n while (!isNull(host)) {\n hostKey = getNodeOwnerKey(host);\n if (!isUndefined(hostKey)) {\n return hostKey;\n }\n host = parentNodeGetter.call(host);\n if (!isNull(host) && isSyntheticSlotElement(host)) {\n return undefined;\n }\n }\n}\nexport function getNodeKey(node) {\n return node[ShadowedNodeKey];\n}\n/**\n * This function does not traverse up for performance reasons, but is sufficient for most use\n * cases. If we need to traverse up and verify those nodes that don't have owner key, use\n * isNodeDeepShadowed instead.\n */\nexport function isNodeShadowed(node) {\n return !isUndefined(getNodeOwnerKey(node));\n}\n//# sourceMappingURL=node-ownership.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayReduce, ArrayPush, isNull, isUndefined, ArrayFilter } from '@lwc/shared';\nimport { arrayFromCollection } from '../shared/utils';\nimport { getNodeKey, getNodeNearestOwnerKey, isNodeShadowed } from '../shared/node-ownership';\nimport { querySelectorAll } from '../env/element';\nimport { childNodesGetter, parentNodeGetter, compareDocumentPosition, DOCUMENT_POSITION_CONTAINS, parentElementGetter, Node, } from '../env/node';\nimport { getHost, getShadowRoot, getShadowRootResolver, isSyntheticShadowHost, } from './shadow-root';\n// when finding a slot in the DOM, we can fold it if it is contained\n// inside another slot.\nfunction foldSlotElement(slot) {\n let parent = parentElementGetter.call(slot);\n while (!isNull(parent) && isSlotElement(parent)) {\n slot = parent;\n parent = parentElementGetter.call(slot);\n }\n return slot;\n}\nfunction isNodeSlotted(host, node) {\n if (process.env.NODE_ENV !== 'production') {\n if (!(host instanceof HTMLElement)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeSlotted() should be called with a host as the first argument`);\n }\n if (!(node instanceof Node)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeSlotted() should be called with a node as the second argument`);\n }\n if (!(compareDocumentPosition.call(node, host) & DOCUMENT_POSITION_CONTAINS)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeSlotted() should never be called with a node that is not a child node of the given host`);\n }\n }\n const hostKey = getNodeKey(host);\n // this routine assumes that the node is coming from a different shadow (it is not owned by the host)\n // just in case the provided node is not an element\n let currentElement = node instanceof Element ? node : parentElementGetter.call(node);\n while (!isNull(currentElement) && currentElement !== host) {\n const elmOwnerKey = getNodeNearestOwnerKey(currentElement);\n const parent = parentElementGetter.call(currentElement);\n if (elmOwnerKey === hostKey) {\n // we have reached an element inside the host's template, and only if\n // that element is an slot, then the node is considered slotted\n return isSlotElement(currentElement);\n }\n else if (parent === host) {\n return false;\n }\n else if (!isNull(parent) && getNodeNearestOwnerKey(parent) !== elmOwnerKey) {\n // we are crossing a boundary of some sort since the elm and its parent\n // have different owner key. for slotted elements, this is possible\n // if the parent happens to be a slot.\n if (isSlotElement(parent)) {\n /**\n * the slot parent might be allocated inside another slot, think of:\n * <x-root> (<--- root element)\n * <x-parent> (<--- own by x-root)\n * <x-child> (<--- own by x-root)\n * <slot> (<--- own by x-child)\n * <slot> (<--- own by x-parent)\n * <div> (<--- own by x-root)\n *\n * while checking if x-parent has the div slotted, we need to traverse\n * up, but when finding the first slot, we skip that one in favor of the\n * most outer slot parent before jumping into its corresponding host.\n */\n currentElement = getNodeOwner(foldSlotElement(parent));\n if (!isNull(currentElement)) {\n if (currentElement === host) {\n // the slot element is a top level element inside the shadow\n // of a host that was allocated into host in question\n return true;\n }\n else if (getNodeNearestOwnerKey(currentElement) === hostKey) {\n // the slot element is an element inside the shadow\n // of a host that was allocated into host in question\n return true;\n }\n }\n }\n else {\n return false;\n }\n }\n else {\n currentElement = parent;\n }\n }\n return false;\n}\nexport function getNodeOwner(node) {\n if (!(node instanceof Node)) {\n return null;\n }\n const ownerKey = getNodeNearestOwnerKey(node);\n if (isUndefined(ownerKey)) {\n return null;\n }\n let nodeOwner = node;\n // At this point, node is a valid node with owner identity, now we need to find the owner node\n // search for a custom element with a VM that owns the first element with owner identity attached to it\n while (!isNull(nodeOwner) && getNodeKey(nodeOwner) !== ownerKey) {\n nodeOwner = parentNodeGetter.call(nodeOwner);\n }\n if (isNull(nodeOwner)) {\n return null;\n }\n return nodeOwner;\n}\nexport function isSyntheticSlotElement(node) {\n return isSlotElement(node) && isNodeShadowed(node);\n}\nexport function isSlotElement(node) {\n return node instanceof HTMLSlotElement;\n}\nexport function isNodeOwnedBy(owner, node) {\n if (process.env.NODE_ENV !== 'production') {\n if (!(owner instanceof HTMLElement)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeOwnedBy() should be called with an element as the first argument`);\n }\n if (!(node instanceof Node)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeOwnedBy() should be called with a node as the second argument`);\n }\n if (!(compareDocumentPosition.call(node, owner) & DOCUMENT_POSITION_CONTAINS)) {\n // eslint-disable-next-line no-console\n console.error(`isNodeOwnedBy() should never be called with a node that is not a child node of of the given owner`);\n }\n }\n const ownerKey = getNodeNearestOwnerKey(node);\n if (isUndefined(ownerKey)) {\n // in case of root level light DOM element slotting into a synthetic shadow\n const host = parentNodeGetter.call(node);\n if (!isNull(host) && isSyntheticSlotElement(host)) {\n return false;\n }\n // in case of manually inserted elements\n return true;\n }\n return getNodeKey(owner) === ownerKey;\n}\nexport function shadowRootChildNodes(root) {\n const elm = getHost(root);\n return getAllMatches(elm, arrayFromCollection(childNodesGetter.call(elm)));\n}\nexport function getAllSlottedMatches(host, nodeList) {\n const filteredAndPatched = [];\n for (let i = 0, len = nodeList.length; i < len; i += 1) {\n const node = nodeList[i];\n if (!isNodeOwnedBy(host, node) && isNodeSlotted(host, node)) {\n ArrayPush.call(filteredAndPatched, node);\n }\n }\n return filteredAndPatched;\n}\nexport function getFirstSlottedMatch(host, nodeList) {\n for (let i = 0, len = nodeList.length; i < len; i += 1) {\n const node = nodeList[i];\n if (!isNodeOwnedBy(host, node) && isNodeSlotted(host, node)) {\n return node;\n }\n }\n return null;\n}\nexport function getAllMatches(owner, nodeList) {\n const filteredAndPatched = [];\n for (let i = 0, len = nodeList.length; i < len; i += 1) {\n const node = nodeList[i];\n const isOwned = isNodeOwnedBy(owner, node);\n if (isOwned) {\n // Patch querySelector, querySelectorAll, etc\n // if element is owned by VM\n ArrayPush.call(filteredAndPatched, node);\n }\n }\n return filteredAndPatched;\n}\nexport function getFirstMatch(owner, nodeList) {\n for (let i = 0, len = nodeList.length; i < len; i += 1) {\n if (isNodeOwnedBy(owner, nodeList[i])) {\n return nodeList[i];\n }\n }\n return null;\n}\nexport function shadowRootQuerySelector(root, selector) {\n const elm = getHost(root);\n const nodeList = arrayFromCollection(querySelectorAll.call(elm, selector));\n return getFirstMatch(elm, nodeList);\n}\nexport function shadowRootQuerySelectorAll(root, selector) {\n const elm = getHost(root);\n const nodeList = querySelectorAll.call(elm, selector);\n return getAllMatches(elm, arrayFromCollection(nodeList));\n}\nexport function getFilteredChildNodes(node) {\n if (!isSyntheticShadowHost(node) && !isSlotElement(node)) {\n // regular element - fast path\n const children = childNodesGetter.call(node);\n return arrayFromCollection(children);\n }\n if (isSyntheticShadowHost(node)) {\n // we need to get only the nodes that were slotted\n const slots = arrayFromCollection(querySelectorAll.call(node, 'slot'));\n const resolver = getShadowRootResolver(getShadowRoot(node));\n // Typescript is inferring the wrong function type for this particular\n // overloaded method: https://github.com/Microsoft/TypeScript/issues/27972\n // @ts-ignore type-mismatch\n return ArrayReduce.call(slots, (seed, slot) => {\n if (resolver === getShadowRootResolver(slot)) {\n ArrayPush.apply(seed, getFilteredSlotAssignedNodes(slot));\n }\n return seed;\n }, []);\n }\n else {\n // slot element\n const children = arrayFromCollection(childNodesGetter.call(node));\n const resolver = getShadowRootResolver(node);\n return ArrayFilter.call(children, (child) => resolver === getShadowRootResolver(child));\n }\n}\nexport function getFilteredSlotAssignedNodes(slot) {\n const owner = getNodeOwner(slot);\n if (isNull(owner)) {\n return [];\n }\n const childNodes = arrayFromCollection(childNodesGetter.call(slot));\n return ArrayFilter.call(childNodes, (child) => !isNodeShadowed(child) || !isNodeOwnedBy(owner, child));\n}\n//# sourceMappingURL=traverse.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\n// This code is inspired by Polymer ShadyDOM Polyfill\nimport { getFilteredChildNodes } from '../../faux-shadow/traverse';\nimport { getOuterHTML } from './outer-html';\nexport function getInnerHTML(node) {\n let s = '';\n const childNodes = getFilteredChildNodes(node);\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n s += getOuterHTML(childNodes[i]);\n }\n return s;\n}\n//# sourceMappingURL=inner-html.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\n// This code is inspired by Polymer ShadyDOM Polyfill\nimport { tagNameGetter } from '../../env/element';\nimport { ELEMENT_NODE, TEXT_NODE, CDATA_SECTION_NODE, PROCESSING_INSTRUCTION_NODE, COMMENT_NODE, } from '../../env/node';\nimport { getInnerHTML } from './inner-html';\n// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#escapingString\nconst escapeAttrRegExp = /[&\\u00A0\"]/g;\nconst escapeDataRegExp = /[&\\u00A0<>]/g;\nconst { replace, toLowerCase } = String.prototype;\nfunction escapeReplace(c) {\n switch (c) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n case '\"':\n return '"';\n case '\\u00A0':\n return ' ';\n default:\n return '';\n }\n}\nfunction escapeAttr(s) {\n return replace.call(s, escapeAttrRegExp, escapeReplace);\n}\nfunction escapeData(s) {\n return replace.call(s, escapeDataRegExp, escapeReplace);\n}\n// http://www.whatwg.org/specs/web-apps/current-work/#void-elements\nconst voidElements = new Set([\n 'AREA',\n 'BASE',\n 'BR',\n 'COL',\n 'COMMAND',\n 'EMBED',\n 'HR',\n 'IMG',\n 'INPUT',\n 'KEYGEN',\n 'LINK',\n 'META',\n 'PARAM',\n 'SOURCE',\n 'TRACK',\n 'WBR',\n]);\nconst plaintextParents = new Set([\n 'STYLE',\n 'SCRIPT',\n 'XMP',\n 'IFRAME',\n 'NOEMBED',\n 'NOFRAMES',\n 'PLAINTEXT',\n 'NOSCRIPT',\n]);\nexport function getOuterHTML(node) {\n switch (node.nodeType) {\n case ELEMENT_NODE: {\n const { attributes: attrs } = node;\n const tagName = tagNameGetter.call(node);\n let s = '<' + toLowerCase.call(tagName);\n for (let i = 0, attr; (attr = attrs[i]); i++) {\n s += ' ' + attr.name + '=\"' + escapeAttr(attr.value) + '\"';\n }\n s += '>';\n if (voidElements.has(tagName)) {\n return s;\n }\n return s + getInnerHTML(node) + '</' + toLowerCase.call(tagName) + '>';\n }\n case TEXT_NODE: {\n const { data, parentNode } = node;\n if (parentNode instanceof Element &&\n plaintextParents.has(tagNameGetter.call(parentNode))) {\n return data;\n }\n return escapeData(data);\n }\n case CDATA_SECTION_NODE: {\n return `<!CDATA[[${node.data}]]>`;\n }\n case PROCESSING_INSTRUCTION_NODE: {\n return `<?${node.target} ${node.data}?>`;\n }\n case COMMENT_NODE: {\n return `<!--${node.data}-->`;\n }\n default: {\n // intentionally ignoring unknown node types\n // Note: since this routine is always invoked for childNodes\n // we can safety ignore type 9, 10 and 99 (document, fragment and doctype)\n return '';\n }\n }\n}\n//# sourceMappingURL=outer-html.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\n// This code is inspired by Polymer ShadyDOM Polyfill\nimport { getFilteredChildNodes } from '../../faux-shadow/traverse';\nimport { ELEMENT_NODE, COMMENT_NODE } from '../../env/node';\nexport function getTextContent(node) {\n switch (node.nodeType) {\n case ELEMENT_NODE: {\n const childNodes = getFilteredChildNodes(node);\n let content = '';\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n const currentNode = childNodes[i];\n if (currentNode.nodeType !== COMMENT_NODE) {\n content += getTextContent(currentNode);\n }\n }\n return content;\n }\n default:\n return node.nodeValue;\n }\n}\n//# sourceMappingURL=text-content.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayMap, create, defineProperty, forEach, setPrototypeOf } from '@lwc/shared';\nconst Items = new WeakMap();\nfunction StaticNodeList() {\n throw new TypeError('Illegal constructor');\n}\nStaticNodeList.prototype = create(NodeList.prototype, {\n constructor: {\n writable: true,\n configurable: true,\n value: StaticNodeList,\n },\n item: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(index) {\n return this[index];\n },\n },\n length: {\n enumerable: true,\n configurable: true,\n get() {\n return Items.get(this).length;\n },\n },\n // Iterator protocol\n forEach: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(cb, thisArg) {\n forEach.call(Items.get(this), cb, thisArg);\n },\n },\n entries: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n return ArrayMap.call(Items.get(this), (v, i) => [i, v]);\n },\n },\n keys: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n return ArrayMap.call(Items.get(this), (_v, i) => i);\n },\n },\n values: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n return Items.get(this);\n },\n },\n [Symbol.iterator]: {\n writable: true,\n configurable: true,\n value() {\n let nextIndex = 0;\n return {\n next: () => {\n const items = Items.get(this);\n return nextIndex < items.length\n ? {\n value: items[nextIndex++],\n done: false,\n }\n : {\n done: true,\n };\n },\n };\n },\n },\n [Symbol.toStringTag]: {\n configurable: true,\n get() {\n return 'NodeList';\n },\n },\n // IE11 doesn't support Symbol.toStringTag, in which case we\n // provide the regular toString method.\n toString: {\n writable: true,\n configurable: true,\n value() {\n return '[object NodeList]';\n },\n },\n});\n// prototype inheritance dance\nsetPrototypeOf(StaticNodeList, NodeList);\nexport function createStaticNodeList(items) {\n const nodeList = create(StaticNodeList.prototype);\n Items.set(nodeList, items);\n // setting static indexes\n forEach.call(items, (item, index) => {\n defineProperty(nodeList, index, {\n value: item,\n enumerable: true,\n configurable: true,\n });\n });\n return nodeList;\n}\n//# sourceMappingURL=static-node-list.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayIndexOf, ArrayPush, isNull, isUndefined } from '@lwc/shared';\nimport { elementsFromPoint } from '../env/document';\nimport { isSyntheticSlotElement } from '../faux-shadow/traverse';\n// Walk up the DOM tree, collecting all shadow roots plus the document root\nfunction getAllRootNodes(node) {\n var _a;\n const rootNodes = [];\n let currentRootNode = node.getRootNode();\n while (!isUndefined(currentRootNode)) {\n rootNodes.push(currentRootNode);\n currentRootNode = (_a = currentRootNode.host) === null || _a === void 0 ? void 0 : _a.getRootNode();\n }\n return rootNodes;\n}\n// Keep searching up the host tree until we find an element that is within the immediate shadow root\nconst findAncestorHostInImmediateShadowRoot = (rootNode, targetRootNode) => {\n let host;\n while (!isUndefined((host = rootNode.host))) {\n const thisRootNode = host.getRootNode();\n if (thisRootNode === targetRootNode) {\n return host;\n }\n rootNode = thisRootNode;\n }\n};\nexport function fauxElementsFromPoint(context, doc, left, top) {\n const elements = elementsFromPoint.call(doc, left, top);\n const result = [];\n const rootNodes = getAllRootNodes(context);\n // Filter the elements array to only include those elements that are in this shadow root or in one of its\n // ancestor roots. This matches Chrome and Safari's implementation (but not Firefox's, which only includes\n // elements in the immediate shadow root: https://crbug.com/1207863#c4).\n if (!isNull(elements)) {\n // can be null in IE https://developer.mozilla.org/en-US/docs/Web/API/Document/elementsFromPoint#browser_compatibility\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n if (isSyntheticSlotElement(element)) {\n continue;\n }\n const elementRootNode = element.getRootNode();\n if (ArrayIndexOf.call(rootNodes, elementRootNode) !== -1) {\n ArrayPush.call(result, element);\n continue;\n }\n // In cases where the host element is not visible but its shadow descendants are, then\n // we may get the shadow descendant instead of the host element here. (The\n // browser doesn't know the difference in synthetic shadow DOM.)\n // In native shadow DOM, however, elementsFromPoint would return the host but not\n // the child. So we need to detect if this shadow element's host is accessible from\n // the context's shadow root. Note we also need to be careful not to add the host\n // multiple times.\n const ancestorHost = findAncestorHostInImmediateShadowRoot(elementRootNode, rootNodes[0]);\n if (!isUndefined(ancestorHost) &&\n ArrayIndexOf.call(elements, ancestorHost) === -1 &&\n ArrayIndexOf.call(result, ancestorHost) === -1) {\n ArrayPush.call(result, ancestorHost);\n }\n }\n }\n return result;\n}\n//# sourceMappingURL=faux-elements-from-point.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { create, defineProperty, forEach, setPrototypeOf } from '@lwc/shared';\nimport { getAttribute } from '../env/element';\nconst Items = new WeakMap();\nfunction StaticHTMLCollection() {\n throw new TypeError('Illegal constructor');\n}\nStaticHTMLCollection.prototype = create(HTMLCollection.prototype, {\n constructor: {\n writable: true,\n configurable: true,\n value: StaticHTMLCollection,\n },\n item: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(index) {\n return this[index];\n },\n },\n length: {\n enumerable: true,\n configurable: true,\n get() {\n return Items.get(this).length;\n },\n },\n // https://dom.spec.whatwg.org/#dom-htmlcollection-nameditem-key\n namedItem: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(name) {\n if (name === '') {\n return null;\n }\n const items = Items.get(this);\n for (let i = 0, len = items.length; i < len; i++) {\n const item = items[len];\n if (name === getAttribute.call(item, 'id') ||\n name === getAttribute.call(item, 'name')) {\n return item;\n }\n }\n return null;\n },\n },\n [Symbol.toStringTag]: {\n configurable: true,\n get() {\n return 'HTMLCollection';\n },\n },\n // IE11 doesn't support Symbol.toStringTag, in which case we\n // provide the regular toString method.\n toString: {\n writable: true,\n configurable: true,\n value() {\n return '[object HTMLCollection]';\n },\n },\n});\n// prototype inheritance dance\nsetPrototypeOf(StaticHTMLCollection, HTMLCollection);\nexport function createStaticHTMLCollection(items) {\n const collection = create(StaticHTMLCollection.prototype);\n Items.set(collection, items);\n // setting static indexes\n forEach.call(items, (item, index) => {\n defineProperty(collection, index, {\n value: item,\n enumerable: true,\n configurable: true,\n });\n });\n return collection;\n}\n//# sourceMappingURL=static-html-collection.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperties, defineProperty, getOwnPropertyDescriptor, hasOwnProperty, isNull, isTrue, isUndefined, } from '@lwc/shared';\nimport { Node } from '../env/node';\nimport { parentNodeGetter, textContextSetter, compareDocumentPosition, DOCUMENT_POSITION_CONTAINED_BY, parentNodeGetter as nativeParentNodeGetter, cloneNode as nativeCloneNode, cloneNode, hasChildNodes, contains, parentElementGetter, lastChildGetter, firstChildGetter, textContentGetter, childNodesGetter, isConnected, } from '../env/node';\nimport { getTextContent } from '../3rdparty/polymer/text-content';\nimport { isGlobalPatchingSkipped } from '../shared/utils';\nimport { createStaticNodeList } from '../shared/static-node-list';\nimport { getNodeNearestOwnerKey, getNodeOwnerKey, isNodeShadowed } from '../shared/node-ownership';\nimport { getShadowRoot, isSyntheticShadowHost } from './shadow-root';\nimport { getNodeOwner, isSlotElement, isNodeOwnedBy, getAllMatches, getFilteredChildNodes, isSyntheticSlotElement, } from './traverse';\n/**\n * This method checks whether or not the content of the node is computed\n * based on the light-dom slotting mechanism. This applies to synthetic slot elements\n * and elements with shadow dom attached to them. It doesn't apply to native slot elements\n * because we don't want to patch the children getters for those elements.\n */\nexport function hasMountedChildren(node) {\n return isSyntheticSlotElement(node) || isSyntheticShadowHost(node);\n}\nfunction getShadowParent(node, value) {\n const owner = getNodeOwner(node);\n if (value === owner) {\n // walking up via parent chain might end up in the shadow root element\n return getShadowRoot(owner);\n }\n else if (value instanceof Element) {\n if (getNodeNearestOwnerKey(node) === getNodeNearestOwnerKey(value)) {\n // the element and its parent node belong to the same shadow root\n return value;\n }\n else if (!isNull(owner) && isSlotElement(value)) {\n // slotted elements must be top level childNodes of the slot element\n // where they slotted into, but its shadowed parent is always the\n // owner of the slot.\n const slotOwner = getNodeOwner(value);\n if (!isNull(slotOwner) && isNodeOwnedBy(owner, slotOwner)) {\n // it is a slotted element, and therefore its parent is always going to be the host of the slot\n return slotOwner;\n }\n }\n }\n return null;\n}\nfunction hasChildNodesPatched() {\n return getInternalChildNodes(this).length > 0;\n}\nfunction firstChildGetterPatched() {\n const childNodes = getInternalChildNodes(this);\n return childNodes[0] || null;\n}\nfunction lastChildGetterPatched() {\n const childNodes = getInternalChildNodes(this);\n return childNodes[childNodes.length - 1] || null;\n}\nfunction textContentGetterPatched() {\n return getTextContent(this);\n}\nfunction textContentSetterPatched(value) {\n textContextSetter.call(this, value);\n}\nfunction parentNodeGetterPatched() {\n const value = nativeParentNodeGetter.call(this);\n if (isNull(value)) {\n return value;\n }\n // TODO [#1635]: this needs optimization, maybe implementing it based on this.assignedSlot\n return getShadowParent(this, value);\n}\nfunction parentElementGetterPatched() {\n const value = nativeParentNodeGetter.call(this);\n if (isNull(value)) {\n return null;\n }\n const parentNode = getShadowParent(this, value);\n // it could be that the parentNode is the shadowRoot, in which case\n // we need to return null.\n // TODO [#1635]: this needs optimization, maybe implementing it based on this.assignedSlot\n return parentNode instanceof Element ? parentNode : null;\n}\nfunction compareDocumentPositionPatched(otherNode) {\n if (this === otherNode) {\n return 0;\n }\n else if (this.getRootNode() === otherNode) {\n // \"this\" is in a shadow tree where the shadow root is the \"otherNode\".\n return 10; // Node.DOCUMENT_POSITION_CONTAINS | Node.DOCUMENT_POSITION_PRECEDING\n }\n else if (getNodeOwnerKey(this) !== getNodeOwnerKey(otherNode)) {\n // \"this\" and \"otherNode\" belongs to 2 different shadow tree.\n return 35; // Node.DOCUMENT_POSITION_DISCONNECTED | Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | Node.DOCUMENT_POSITION_PRECEDING\n }\n // Since \"this\" and \"otherNode\" are part of the same shadow tree we can safely rely to the native\n // Node.compareDocumentPosition implementation.\n return compareDocumentPosition.call(this, otherNode);\n}\nfunction containsPatched(otherNode) {\n if (otherNode == null || getNodeOwnerKey(this) !== getNodeOwnerKey(otherNode)) {\n // it is from another shadow\n return false;\n }\n return (compareDocumentPosition.call(this, otherNode) & DOCUMENT_POSITION_CONTAINED_BY) !== 0;\n}\nfunction cloneNodePatched(deep) {\n const clone = nativeCloneNode.call(this, false);\n // Per spec, browsers only care about truthy values\n // Not strict true or false\n if (!deep) {\n return clone;\n }\n const childNodes = getInternalChildNodes(this);\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n clone.appendChild(childNodes[i].cloneNode(true));\n }\n return clone;\n}\n/**\n * This method only applies to elements with a shadow or slots\n */\nfunction childNodesGetterPatched() {\n if (isSyntheticShadowHost(this)) {\n const owner = getNodeOwner(this);\n const childNodes = isNull(owner) ? [] : getAllMatches(owner, getFilteredChildNodes(this));\n return createStaticNodeList(childNodes);\n }\n // nothing to do here since this does not have a synthetic shadow attached to it\n // TODO [#1636]: what about slot elements?\n return childNodesGetter.call(this);\n}\nconst nativeGetRootNode = Node.prototype.getRootNode;\n/**\n * Get the root by climbing up the dom tree, beyond the shadow root\n * If Node.prototype.getRootNode is supported, use it\n * else, assume we are working in non-native shadow mode and climb using parentNode\n */\nconst getDocumentOrRootNode = !isUndefined(nativeGetRootNode)\n ? nativeGetRootNode\n : function () {\n let node = this;\n let nodeParent;\n while (!isNull((nodeParent = parentNodeGetter.call(node)))) {\n node = nodeParent;\n }\n return node;\n };\n/**\n * Get the shadow root\n * getNodeOwner() returns the host element that owns the given node\n * Note: getNodeOwner() returns null when running in native-shadow mode.\n * Fallback to using the native getRootNode() to discover the root node.\n * This is because, it is not possible to inspect the node and decide if it is part\n * of a native shadow or the synthetic shadow.\n * @param {Node} node\n */\nfunction getNearestRoot(node) {\n const ownerNode = getNodeOwner(node);\n if (isNull(ownerNode)) {\n // we hit a wall, either we are in native shadow mode or the node is not in lwc boundary.\n return getDocumentOrRootNode.call(node);\n }\n return getShadowRoot(ownerNode);\n}\n/**\n * If looking for a root node beyond shadow root by calling `node.getRootNode({composed: true})`, use the original `Node.prototype.getRootNode` method\n * to return the root of the dom tree. In IE11 and Edge, Node.prototype.getRootNode is\n * [not supported](https://developer.mozilla.org/en-US/docs/Web/API/Node/getRootNode#Browser_compatibility). The root node is discovered by manually\n * climbing up the dom tree.\n *\n * If looking for a shadow root of a node by calling `node.getRootNode({composed: false})` or `node.getRootNode()`,\n *\n * 1. Try to identify the host element that owns the give node.\n * i. Identify the shadow tree that the node belongs to\n * ii. If the node belongs to a shadow tree created by engine, return the shadowRoot of the host element that owns the shadow tree\n * 2. The host identification logic returns null in two cases:\n * i. The node does not belong to a shadow tree created by engine\n * ii. The engine is running in native shadow dom mode\n * If so, use the original Node.prototype.getRootNode to fetch the root node(or manually climb up the dom tree where getRootNode() is unsupported)\n *\n * _Spec_: https://dom.spec.whatwg.org/#dom-node-getrootnode\n *\n **/\nfunction getRootNodePatched(options) {\n const composed = isUndefined(options) ? false : !!options.composed;\n return isTrue(composed) ? getDocumentOrRootNode.call(this, options) : getNearestRoot(this);\n}\n// Non-deep-traversing patches: this descriptor map includes all descriptors that\n// do not give access to nodes beyond the immediate children.\ndefineProperties(Node.prototype, {\n firstChild: {\n get() {\n if (hasMountedChildren(this)) {\n return firstChildGetterPatched.call(this);\n }\n return firstChildGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n lastChild: {\n get() {\n if (hasMountedChildren(this)) {\n return lastChildGetterPatched.call(this);\n }\n return lastChildGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n textContent: {\n get() {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {\n return textContentGetterPatched.call(this);\n }\n return textContentGetter.call(this);\n },\n set: textContentSetterPatched,\n enumerable: true,\n configurable: true,\n },\n parentNode: {\n get() {\n if (isNodeShadowed(this)) {\n return parentNodeGetterPatched.call(this);\n }\n const parentNode = parentNodeGetter.call(this);\n // Handle the case where a top level light DOM element is slotted into a synthetic\n // shadow slot.\n if (!isNull(parentNode) && isSyntheticSlotElement(parentNode)) {\n return getNodeOwner(parentNode);\n }\n return parentNode;\n },\n enumerable: true,\n configurable: true,\n },\n parentElement: {\n get() {\n if (isNodeShadowed(this)) {\n return parentElementGetterPatched.call(this);\n }\n const parentElement = parentElementGetter.call(this);\n // Handle the case where a top level light DOM element is slotted into a synthetic\n // shadow slot.\n if (!isNull(parentElement) && isSyntheticSlotElement(parentElement)) {\n return getNodeOwner(parentElement);\n }\n return parentElement;\n },\n enumerable: true,\n configurable: true,\n },\n childNodes: {\n get() {\n if (hasMountedChildren(this)) {\n return childNodesGetterPatched.call(this);\n }\n return childNodesGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n hasChildNodes: {\n value() {\n if (hasMountedChildren(this)) {\n return hasChildNodesPatched.call(this);\n }\n return hasChildNodes.call(this);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n compareDocumentPosition: {\n value(otherNode) {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (isGlobalPatchingSkipped(this)) {\n return compareDocumentPosition.call(this, otherNode);\n }\n return compareDocumentPositionPatched.call(this, otherNode);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n contains: {\n value(otherNode) {\n // 1. Node.prototype.contains() returns true if otherNode is an inclusive descendant\n // spec: https://dom.spec.whatwg.org/#dom-node-contains\n // 2. This normalizes the behavior of this api across all browsers.\n // In IE11, a disconnected dom element without children invoking contains() on self, returns false\n if (this === otherNode) {\n return true;\n }\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (otherNode == null) {\n return false;\n }\n if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {\n return containsPatched.call(this, otherNode);\n }\n return contains.call(this, otherNode);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n cloneNode: {\n value(deep) {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {\n return cloneNodePatched.call(this, deep);\n }\n return cloneNode.call(this, deep);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n getRootNode: {\n value: getRootNodePatched,\n enumerable: true,\n configurable: true,\n writable: true,\n },\n isConnected: {\n enumerable: true,\n configurable: true,\n get() {\n return isConnected.call(this);\n },\n },\n});\nexport const getInternalChildNodes = function (node) {\n return node.childNodes;\n};\n// IE11 extra patches for wrong prototypes\nif (hasOwnProperty.call(HTMLElement.prototype, 'contains')) {\n defineProperty(HTMLElement.prototype, 'contains', getOwnPropertyDescriptor(Node.prototype, 'contains'));\n}\nif (hasOwnProperty.call(HTMLElement.prototype, 'parentElement')) {\n defineProperty(HTMLElement.prototype, 'parentElement', getOwnPropertyDescriptor(Node.prototype, 'parentElement'));\n}\n//# sourceMappingURL=node.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { assert, isFalse, isFunction, isNull, isObject, isUndefined } from '@lwc/shared';\nimport { eventCurrentTargetGetter } from '../env/dom';\nimport { getActualTarget } from '../faux-shadow/events';\nimport { isSyntheticShadowHost } from '../faux-shadow/shadow-root';\nconst EventListenerMap = new WeakMap();\nconst ComposedPathMap = new WeakMap();\nfunction isEventListenerOrEventListenerObject(fnOrObj) {\n return (isFunction(fnOrObj) ||\n (isObject(fnOrObj) &&\n !isNull(fnOrObj) &&\n isFunction(fnOrObj.handleEvent)));\n}\nexport function shouldInvokeListener(event, target, currentTarget) {\n // Subsequent logic assumes that `currentTarget` must be contained in the composed path for the listener to be\n // invoked, but this is not always the case. `composedPath()` will sometimes return an empty array, even when the\n // listener should be invoked (e.g., a disconnected instance of EventTarget, an instance of XMLHttpRequest, etc).\n if (target === currentTarget) {\n return true;\n }\n let composedPath = ComposedPathMap.get(event);\n if (isUndefined(composedPath)) {\n composedPath = event.composedPath();\n ComposedPathMap.set(event, composedPath);\n }\n return composedPath.includes(currentTarget);\n}\nexport function getEventListenerWrapper(fnOrObj) {\n if (!isEventListenerOrEventListenerObject(fnOrObj)) {\n return fnOrObj;\n }\n let wrapperFn = EventListenerMap.get(fnOrObj);\n if (isUndefined(wrapperFn)) {\n wrapperFn = function (event) {\n // This function is invoked from an event listener and currentTarget is always defined.\n const currentTarget = eventCurrentTargetGetter.call(event);\n if (process.env.NODE_ENV !== 'production') {\n assert.invariant(isFalse(isSyntheticShadowHost(currentTarget)), 'This routine should not be used to wrap event listeners for host elements and shadow roots.');\n }\n const actualTarget = getActualTarget(event);\n if (!shouldInvokeListener(event, actualTarget, currentTarget)) {\n return;\n }\n return isFunction(fnOrObj)\n ? fnOrObj.call(this, event)\n : fnOrObj.handleEvent && fnOrObj.handleEvent(event);\n };\n EventListenerMap.set(fnOrObj, wrapperFn);\n }\n return wrapperFn;\n}\n//# sourceMappingURL=event-target.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFindIndex, ArrayPush, ArraySlice, ArraySplice, create, defineProperty, forEach, isFalse, isFunction, isUndefined, toString, } from '@lwc/shared';\nimport { isInstanceOfNativeShadowRoot } from '../env/shadow-root';\nimport { eventCurrentTargetGetter, eventTargetGetter } from '../env/dom';\nimport { addEventListener, removeEventListener } from '../env/event-target';\nimport { shouldInvokeListener } from '../shared/event-target';\nimport { eventToShadowRootMap, getHost, getShadowRoot } from './shadow-root';\nexport const eventToContextMap = new WeakMap();\nfunction getEventHandler(listener) {\n if (isFunction(listener)) {\n return listener;\n }\n else {\n return listener.handleEvent;\n }\n}\nfunction isEventListenerOrEventListenerObject(listener) {\n return isFunction(listener) || isFunction(listener === null || listener === void 0 ? void 0 : listener.handleEvent);\n}\nconst customElementToWrappedListeners = new WeakMap();\nfunction getEventMap(elm) {\n let listenerInfo = customElementToWrappedListeners.get(elm);\n if (isUndefined(listenerInfo)) {\n listenerInfo = create(null);\n customElementToWrappedListeners.set(elm, listenerInfo);\n }\n return listenerInfo;\n}\n/**\n * Events dispatched on shadow roots actually end up being dispatched on their hosts. This means that the event.target\n * property of events dispatched on shadow roots always resolve to their host. This function understands this\n * abstraction and properly returns a reference to the shadow root when appropriate.\n */\nexport function getActualTarget(event) {\n var _a;\n return (_a = eventToShadowRootMap.get(event)) !== null && _a !== void 0 ? _a : eventTargetGetter.call(event);\n}\nconst shadowRootEventListenerMap = new WeakMap();\nfunction getManagedShadowRootListener(listener) {\n if (!isEventListenerOrEventListenerObject(listener)) {\n throw new TypeError(); // avoiding problems with non-valid listeners\n }\n let managedListener = shadowRootEventListenerMap.get(listener);\n if (isUndefined(managedListener)) {\n managedListener = {\n identity: listener,\n placement: 1 /* EventListenerContext.SHADOW_ROOT_LISTENER */,\n handleEvent(event) {\n // currentTarget is always defined inside an event listener\n let currentTarget = eventCurrentTargetGetter.call(event);\n // If currentTarget is not an instance of a native shadow root then we're dealing with a\n // host element whose synthetic shadow root must be accessed via getShadowRoot().\n if (!isInstanceOfNativeShadowRoot(currentTarget)) {\n currentTarget = getShadowRoot(currentTarget);\n }\n const actualTarget = getActualTarget(event);\n if (shouldInvokeListener(event, actualTarget, currentTarget)) {\n getEventHandler(listener).call(currentTarget, event);\n }\n },\n };\n shadowRootEventListenerMap.set(listener, managedListener);\n }\n return managedListener;\n}\nconst customElementEventListenerMap = new WeakMap();\nfunction getManagedCustomElementListener(listener) {\n if (!isEventListenerOrEventListenerObject(listener)) {\n throw new TypeError(); // avoiding problems with non-valid listeners\n }\n let managedListener = customElementEventListenerMap.get(listener);\n if (isUndefined(managedListener)) {\n managedListener = {\n identity: listener,\n placement: 0 /* EventListenerContext.CUSTOM_ELEMENT_LISTENER */,\n handleEvent(event) {\n // currentTarget is always defined inside an event listener\n const currentTarget = eventCurrentTargetGetter.call(event);\n const actualTarget = getActualTarget(event);\n if (shouldInvokeListener(event, actualTarget, currentTarget)) {\n getEventHandler(listener).call(currentTarget, event);\n }\n },\n };\n customElementEventListenerMap.set(listener, managedListener);\n }\n return managedListener;\n}\nfunction indexOfManagedListener(listeners, listener) {\n return ArrayFindIndex.call(listeners, (l) => l.identity === listener.identity);\n}\nfunction domListener(evt) {\n let immediatePropagationStopped = false;\n let propagationStopped = false;\n const { type, stopImmediatePropagation, stopPropagation } = evt;\n // currentTarget is always defined\n const currentTarget = eventCurrentTargetGetter.call(evt);\n const listenerMap = getEventMap(currentTarget);\n const listeners = listenerMap[type]; // it must have listeners at this point\n defineProperty(evt, 'stopImmediatePropagation', {\n value() {\n immediatePropagationStopped = true;\n stopImmediatePropagation.call(evt);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n });\n defineProperty(evt, 'stopPropagation', {\n value() {\n propagationStopped = true;\n stopPropagation.call(evt);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n });\n // in case a listener adds or removes other listeners during invocation\n const bookkeeping = ArraySlice.call(listeners);\n function invokeListenersByPlacement(placement) {\n forEach.call(bookkeeping, (listener) => {\n if (isFalse(immediatePropagationStopped) && listener.placement === placement) {\n // making sure that the listener was not removed from the original listener queue\n if (indexOfManagedListener(listeners, listener) !== -1) {\n // all handlers on the custom element should be called with undefined 'this'\n listener.handleEvent.call(undefined, evt);\n }\n }\n });\n }\n eventToContextMap.set(evt, 1 /* EventListenerContext.SHADOW_ROOT_LISTENER */);\n invokeListenersByPlacement(1 /* EventListenerContext.SHADOW_ROOT_LISTENER */);\n if (isFalse(immediatePropagationStopped) && isFalse(propagationStopped)) {\n // doing the second iteration only if the first one didn't interrupt the event propagation\n eventToContextMap.set(evt, 0 /* EventListenerContext.CUSTOM_ELEMENT_LISTENER */);\n invokeListenersByPlacement(0 /* EventListenerContext.CUSTOM_ELEMENT_LISTENER */);\n }\n eventToContextMap.set(evt, 2 /* EventListenerContext.UNKNOWN_LISTENER */);\n}\nfunction attachDOMListener(elm, type, managedListener) {\n const listenerMap = getEventMap(elm);\n let listeners = listenerMap[type];\n if (isUndefined(listeners)) {\n listeners = listenerMap[type] = [];\n }\n // Prevent identical listeners from subscribing to the same event type.\n // TODO [#1824]: Options will also play a factor in deduping if we introduce options support\n if (indexOfManagedListener(listeners, managedListener) !== -1) {\n return;\n }\n // only add to DOM if there is no other listener on the same placement yet\n if (listeners.length === 0) {\n addEventListener.call(elm, type, domListener);\n }\n ArrayPush.call(listeners, managedListener);\n}\nfunction detachDOMListener(elm, type, managedListener) {\n const listenerMap = getEventMap(elm);\n let index;\n let listeners;\n if (!isUndefined((listeners = listenerMap[type])) &&\n (index = indexOfManagedListener(listeners, managedListener)) !== -1) {\n ArraySplice.call(listeners, index, 1);\n // only remove from DOM if there is no other listener on the same placement\n if (listeners.length === 0) {\n removeEventListener.call(elm, type, domListener);\n }\n }\n}\nexport function addCustomElementEventListener(type, listener, _options) {\n if (process.env.NODE_ENV !== 'production') {\n if (!isEventListenerOrEventListenerObject(listener)) {\n throw new TypeError(`Invalid second argument for Element.addEventListener() in ${toString(this)} for event \"${type}\". Expected EventListener or EventListenerObject but received ${listener}.`);\n }\n }\n if (isEventListenerOrEventListenerObject(listener)) {\n const managedListener = getManagedCustomElementListener(listener);\n attachDOMListener(this, type, managedListener);\n }\n}\nexport function removeCustomElementEventListener(type, listener, _options) {\n if (isEventListenerOrEventListenerObject(listener)) {\n const managedListener = getManagedCustomElementListener(listener);\n detachDOMListener(this, type, managedListener);\n }\n}\nexport function addShadowRootEventListener(sr, type, listener, _options) {\n if (process.env.NODE_ENV !== 'production') {\n if (!isEventListenerOrEventListenerObject(listener)) {\n throw new TypeError(`Invalid second argument for ShadowRoot.addEventListener() in ${toString(sr)} for event \"${type}\". Expected EventListener or EventListenerObject but received ${listener}.`);\n }\n }\n if (isEventListenerOrEventListenerObject(listener)) {\n const elm = getHost(sr);\n const managedListener = getManagedShadowRootListener(listener);\n attachDOMListener(elm, type, managedListener);\n }\n}\nexport function removeShadowRootEventListener(sr, type, listener, _options) {\n if (isEventListenerOrEventListenerObject(listener)) {\n const elm = getHost(sr);\n const managedListener = getManagedShadowRootListener(listener);\n detachDOMListener(elm, type, managedListener);\n }\n}\n//# sourceMappingURL=events.js.map","/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFilter, assign, create, defineProperty, globalThis, isNull, isTrue, isUndefined, KEY__SHADOW_RESOLVER, KEY__SHADOW_RESOLVER_PRIVATE, KEY__NATIVE_GET_ELEMENT_BY_ID, KEY__NATIVE_QUERY_SELECTOR_ALL, setPrototypeOf, getPrototypeOf, isObject, } from '@lwc/shared';\nimport { innerHTMLSetter } from '../env/element';\nimport { dispatchEvent } from '../env/event-target';\nimport { DocumentPrototypeActiveElement, getElementById, querySelectorAll } from '../env/document';\nimport { isInstanceOfNativeShadowRoot } from '../env/shadow-root';\nimport { compareDocumentPosition, DOCUMENT_POSITION_CONTAINED_BY, parentElementGetter, textContextSetter, isConnected, removeChild, insertBefore, replaceChild, appendChild, COMMENT_NODE, Node, } from '../env/node';\nimport { getOuterHTML } from '../3rdparty/polymer/outer-html';\nimport { getTextContent } from '../3rdparty/polymer/text-content';\nimport { getOwnerDocument } from '../shared/utils';\nimport { createStaticNodeList } from '../shared/static-node-list';\nimport { setNodeKey, setNodeOwnerKey } from '../shared/node-ownership';\nimport { fauxElementFromPoint } from '../shared/faux-element-from-point';\nimport { fauxElementsFromPoint } from '../shared/faux-elements-from-point';\nimport { createStaticHTMLCollection } from '../shared/static-html-collection';\nimport { getInternalChildNodes } from './node';\nimport { addShadowRootEventListener, removeShadowRootEventListener } from './events';\nimport { shadowRootQuerySelector, shadowRootQuerySelectorAll, shadowRootChildNodes, isNodeOwnedBy, isSlotElement, } from './traverse';\nconst InternalSlot = new WeakMap();\nconst { createDocumentFragment } = document;\nexport function hasInternalSlot(root) {\n return InternalSlot.has(root);\n}\nfunction getInternalSlot(root) {\n const record = InternalSlot.get(root);\n if (isUndefined(record)) {\n throw new TypeError();\n }\n return record;\n}\ndefineProperty(Node.prototype, KEY__SHADOW_RESOLVER, {\n set(fn) {\n if (isUndefined(fn))\n return;\n this[KEY__SHADOW_RESOLVER_PRIVATE] = fn;\n // TODO [#1164]: temporary propagation of the key\n setNodeOwnerKey(this, fn.nodeKey);\n },\n get() {\n return this[KEY__SHADOW_RESOLVER_PRIVATE];\n },\n configurable: true,\n enumerable: true,\n});\n// The isUndefined check is because two copies of synthetic shadow may be loaded on the same page, and this\n// would throw an error if we tried to redefine it. Plus the whole point is to expose the native method.\nif (isUndefined(globalThis[KEY__NATIVE_GET_ELEMENT_BY_ID])) {\n defineProperty(globalThis, KEY__NATIVE_GET_ELEMENT_BY_ID, {\n value: getElementById,\n configurable: true,\n });\n}\n// See note above.\nif (isUndefined(globalThis[KEY__NATIVE_QUERY_SELECTOR_ALL])) {\n defineProperty(globalThis, KEY__NATIVE_QUERY_SELECTOR_ALL, {\n value: querySelectorAll,\n configurable: true,\n });\n}\nexport function getShadowRootResolver(node) {\n return node[KEY__SHADOW_RESOLVER];\n}\nexport function setShadowRootResolver(node, fn) {\n node[KEY__SHADOW_RESOLVER] = fn;\n}\nexport function isDelegatingFocus(host) {\n return getInternalSlot(host).delegatesFocus;\n}\nexport function getHost(root) {\n return getInternalSlot(root).host;\n}\nexport function getShadowRoot(elm) {\n return getInternalSlot(elm).shadowRoot;\n}\n// Intentionally adding `Node` here in addition to `Element` since this check is harmless for nodes\n// and we can avoid having to cast the type before calling this method in a few places.\nexport function isSyntheticShadowHost(node) {\n const shadowRootRecord = InternalSlot.get(node);\n return !isUndefined(shadowRootRecord) && node === shadowRootRecord.host;\n}\nexport function isSyntheticShadowRoot(node) {\n const shadowRootRecord = InternalSlot.get(node);\n return !isUndefined(shadowRootRecord) && node === shadowRootRecord.shadowRoot;\n}\nlet uid = 0;\nexport function attachShadow(elm, options) {\n if (InternalSlot.has(elm)) {\n throw new Error(`Failed to execute 'attachShadow' on 'Element': Shadow root cannot be created on a host which already hosts a shadow tree.`);\n }\n const { mode, delegatesFocus } = options;\n // creating a real fragment for shadowRoot instance\n const doc = getOwnerDocument(elm);\n const sr = createDocumentFragment.call(doc);\n // creating shadow internal record\n const record = {\n mode,\n delegatesFocus: !!delegatesFocus,\n host: elm,\n shadowRoot: sr,\n };\n InternalSlot.set(sr, record);\n InternalSlot.set(elm, record);\n const shadowResolver = () => sr;\n const x = (shadowResolver.nodeKey = uid++);\n setNodeKey(elm, x);\n setShadowRootResolver(sr, shadowResolver);\n // correcting the proto chain\n setPrototypeOf(sr, SyntheticShadowRoot.prototype);\n return sr;\n}\nconst SyntheticShadowRootDescriptors = {\n constructor: {\n writable: true,\n configurable: true,\n value: SyntheticShadowRoot,\n },\n toString: {\n writable: true,\n configurable: true,\n value() {\n return `[object ShadowRoot]`;\n },\n },\n synthetic: {\n writable: false,\n enumerable: false,\n configurable: false,\n value: true,\n },\n};\nconst ShadowRootDescriptors = {\n activeElement: {\n enumerable: true,\n configurable: true,\n get() {\n const host = getHost(this);\n const doc = getOwnerDocument(host);\n const activeElement = DocumentPrototypeActiveElement.call(doc);\n if (isNull(activeElement)) {\n return activeElement;\n }\n if ((compareDocumentPosition.call(host, activeElement) &\n DOCUMENT_POSITION_CONTAINED_BY) ===\n 0) {\n return null;\n }\n // activeElement must be child of the host and owned by it\n let node = activeElement;\n while (!isNodeOwnedBy(host, node)) {\n // parentElement is always an element because we are talking up the tree knowing\n // that it is a child of the host.\n node = parentElementGetter.call(node);\n }\n // If we have a slot element here that means that we were dealing\n // with an element that was passed to one of our slots. In this\n // case, activeElement returns null.\n if (isSlotElement(node)) {\n return null;\n }\n return node;\n },\n },\n delegatesFocus: {\n configurable: true,\n get() {\n return getInternalSlot(this).delegatesFocus;\n },\n },\n elementFromPoint: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(left, top) {\n const host = getHost(this);\n const doc = getOwnerDocument(host);\n return fauxElementFromPoint(this, doc, left, top);\n },\n },\n elementsFromPoint: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(left, top) {\n const host = getHost(this);\n const doc = getOwnerDocument(host);\n return fauxElementsFromPoint(this, doc, left, top);\n },\n },\n getSelection: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n throw new Error('Disallowed method \"getSelection\" on ShadowRoot.');\n },\n },\n host: {\n enumerable: true,\n configurable: true,\n get() {\n return getHost(this);\n },\n },\n mode: {\n configurable: true,\n get() {\n return getInternalSlot(this).mode;\n },\n },\n styleSheets: {\n enumerable: true,\n configurable: true,\n get() {\n throw new Error();\n },\n },\n};\nexport const eventToShadowRootMap = new WeakMap();\nconst NodePatchDescriptors = {\n insertBefore: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(newChild, refChild) {\n insertBefore.call(getHost(this), newChild, refChild);\n return newChild;\n },\n },\n removeChild: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(oldChild) {\n removeChild.call(getHost(this), oldChild);\n return oldChild;\n },\n },\n appendChild: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(newChild) {\n appendChild.call(getHost(this), newChild);\n return newChild;\n },\n },\n replaceChild: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(newChild, oldChild) {\n replaceChild.call(getHost(this), newChild, oldChild);\n return oldChild;\n },\n },\n addEventListener: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(type, listener, options) {\n addShadowRootEventListener(this, type, listener, options);\n },\n },\n dispatchEvent: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(evt) {\n eventToShadowRootMap.set(evt, this);\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n return dispatchEvent.apply(getHost(this), arguments);\n },\n },\n removeEventListener: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(type, listener, options) {\n removeShadowRootEventListener(this, type, listener, options);\n },\n },\n baseURI: {\n enumerable: true,\n configurable: true,\n get() {\n return getHost(this).baseURI;\n },\n },\n childNodes: {\n enumerable: true,\n configurable: true,\n get() {\n return createStaticNodeList(shadowRootChildNodes(this));\n },\n },\n cloneNode: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n throw new Error('Disallowed method \"cloneNode\" on ShadowRoot.');\n },\n },\n compareDocumentPosition: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(otherNode) {\n const host = getHost(this);\n if (this === otherNode) {\n // \"this\" and \"otherNode\" are the same shadow root.\n return 0;\n }\n else if (this.contains(otherNode)) {\n // \"otherNode\" belongs to the shadow tree where \"this\" is the shadow root.\n return 20; // Node.DOCUMENT_POSITION_CONTAINED_BY | Node.DOCUMENT_POSITION_FOLLOWING\n }\n else if (compareDocumentPosition.call(host, otherNode) & DOCUMENT_POSITION_CONTAINED_BY) {\n // \"otherNode\" is in a different shadow tree contained by the shadow tree where \"this\" is the shadow root.\n return 37; // Node.DOCUMENT_POSITION_DISCONNECTED | Node.DOCUMENT_POSITION_FOLLOWING | Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\n }\n else {\n // \"otherNode\" is in a different shadow tree that is not contained by the shadow tree where \"this\" is the shadow root.\n return 35; // Node.DOCUMENT_POSITION_DISCONNECTED | Node.DOCUMENT_POSITION_PRECEDING | Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC\n }\n },\n },\n contains: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(otherNode) {\n if (this === otherNode) {\n return true;\n }\n const host = getHost(this);\n // must be child of the host and owned by it.\n return ((compareDocumentPosition.call(host, otherNode) & DOCUMENT_POSITION_CONTAINED_BY) !==\n 0 && isNodeOwnedBy(host, otherNode));\n },\n },\n firstChild: {\n enumerable: true,\n configurable: true,\n get() {\n const childNodes = getInternalChildNodes(this);\n return childNodes[0] || null;\n },\n },\n lastChild: {\n enumerable: true,\n configurable: true,\n get() {\n const childNodes = getInternalChildNodes(this);\n return childNodes[childNodes.length - 1] || null;\n },\n },\n hasChildNodes: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n const childNodes = getInternalChildNodes(this);\n return childNodes.length > 0;\n },\n },\n isConnected: {\n enumerable: true,\n configurable: true,\n get() {\n return isConnected.call(getHost(this));\n },\n },\n nextSibling: {\n enumerable: true,\n configurable: true,\n get() {\n return null;\n },\n },\n previousSibling: {\n enumerable: true,\n configurable: true,\n get() {\n return null;\n },\n },\n nodeName: {\n enumerable: true,\n configurable: true,\n get() {\n return '#document-fragment';\n },\n },\n nodeType: {\n enumerable: true,\n configurable: true,\n get() {\n return 11; // Node.DOCUMENT_FRAGMENT_NODE\n },\n },\n nodeValue: {\n enumerable: true,\n configurable: true,\n get() {\n return null;\n },\n },\n ownerDocument: {\n enumerable: true,\n configurable: true,\n get() {\n return getHost(this).ownerDocument;\n },\n },\n parentElement: {\n enumerable: true,\n configurable: true,\n get() {\n return null;\n },\n },\n parentNode: {\n enumerable: true,\n configurable: true,\n get() {\n return null;\n },\n },\n textContent: {\n enumerable: true,\n configurable: true,\n get() {\n const childNodes = getInternalChildNodes(this);\n let textContent = '';\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n const currentNode = childNodes[i];\n if (currentNode.nodeType !== COMMENT_NODE) {\n textContent += getTextContent(currentNode);\n }\n }\n return textContent;\n },\n set(v) {\n const host = getHost(this);\n textContextSetter.call(host, v);\n },\n },\n // Since the synthetic shadow root is a detached DocumentFragment, short-circuit the getRootNode behavior\n getRootNode: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(options) {\n return !isUndefined(options) && isTrue(options.composed)\n ? getHost(this).getRootNode(options)\n : this;\n },\n },\n};\nconst ElementPatchDescriptors = {\n innerHTML: {\n enumerable: true,\n configurable: true,\n get() {\n const childNodes = getInternalChildNodes(this);\n let innerHTML = '';\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n innerHTML += getOuterHTML(childNodes[i]);\n }\n return innerHTML;\n },\n set(v) {\n const host = getHost(this);\n innerHTMLSetter.call(host, v);\n },\n },\n};\nconst ParentNodePatchDescriptors = {\n childElementCount: {\n enumerable: true,\n configurable: true,\n get() {\n return this.children.length;\n },\n },\n children: {\n enumerable: true,\n configurable: true,\n get() {\n return createStaticHTMLCollection(ArrayFilter.call(shadowRootChildNodes(this), (elm) => elm instanceof Element));\n },\n },\n firstElementChild: {\n enumerable: true,\n configurable: true,\n get() {\n return this.children[0] || null;\n },\n },\n lastElementChild: {\n enumerable: true,\n configurable: true,\n get() {\n const { children } = this;\n return children.item(children.length - 1) || null;\n },\n },\n getElementById: {\n writable: true,\n enumerable: true,\n configurable: true,\n value() {\n throw new Error('Disallowed method \"getElementById\" on ShadowRoot.');\n },\n },\n querySelector: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(selectors) {\n return shadowRootQuerySelector(this, selectors);\n },\n },\n querySelectorAll: {\n writable: true,\n enumerable: true,\n configurable: true,\n value(selectors) {\n return createStaticNodeList(shadowRootQuerySelectorAll(this, selectors));\n },\n },\n};\nassign(SyntheticShadowRootDescriptors, NodePatchDescriptors, ParentNodePatchDescriptors, ElementPatchDescriptors, ShadowRootDescriptors);\nexport function SyntheticShadowRoot() {\n throw new TypeError('Illegal constructor');\n}\nSyntheticShadowRoot.prototype = create(DocumentFragment.prototype, SyntheticShadowRootDescriptors);\n// `this.shadowRoot instanceof ShadowRoot` should evaluate to true even for synthetic shadow\ndefineProperty(SyntheticShadowRoot, Symbol.hasInstance, {\n value: function (object) {\n // Technically we should walk up the entire prototype chain, but with SyntheticShadowRoot\n // it's reasonable to assume that no one is doing any deep subclasses here.\n return (isObject(object) &&\n !isNull(object) &&\n (isInstanceOfNativeShadowRoot(object) ||\n getPrototypeOf(object) === SyntheticShadowRoot.prototype));\n },\n});\n//# sourceMappingURL=shadow-root.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\nimport { isNull } from '@lwc/shared';\nimport { getOwnerDocument } from '../../shared/utils';\nimport { Node } from '../../env/node';\nimport { isInstanceOfNativeShadowRoot } from '../../env/shadow-root';\nimport { isSyntheticShadowRoot } from '../../faux-shadow/shadow-root';\nexport function pathComposer(startNode, composed) {\n const composedPath = [];\n let startRoot;\n if (startNode instanceof Window) {\n startRoot = startNode;\n }\n else if (startNode instanceof Node) {\n startRoot = startNode.getRootNode();\n }\n else {\n return composedPath;\n }\n let current = startNode;\n while (!isNull(current)) {\n composedPath.push(current);\n if (current instanceof Element || current instanceof Text) {\n const assignedSlot = current.assignedSlot;\n if (!isNull(assignedSlot)) {\n current = assignedSlot;\n }\n else {\n current = current.parentNode;\n }\n }\n else if ((isSyntheticShadowRoot(current) || isInstanceOfNativeShadowRoot(current)) &&\n (composed || current !== startRoot)) {\n current = current.host;\n }\n else if (current instanceof Node) {\n current = current.parentNode;\n }\n else {\n // could be Window\n current = null;\n }\n }\n let doc;\n if (startNode instanceof Window) {\n doc = startNode.document;\n }\n else {\n doc = getOwnerDocument(startNode);\n }\n // event composedPath includes window when startNode's ownerRoot is document\n if (composedPath[composedPath.length - 1] === doc) {\n composedPath.push(window);\n }\n return composedPath;\n}\n//# sourceMappingURL=path-composer.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { isNull, isUndefined } from '@lwc/shared';\nimport { pathComposer } from './path-composer';\nimport { isSyntheticShadowRoot } from './../../faux-shadow/shadow-root';\n/**\n@license\nCopyright (c) 2016 The Polymer Project Authors. All rights reserved.\nThis code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\nThe complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\nThe complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\nCode distributed by Google as part of the polymer project is also\nsubject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\nexport function retarget(refNode, path) {\n if (isNull(refNode)) {\n return null;\n }\n // If ANCESTOR's root is not a shadow root or ANCESTOR's root is BASE's\n // shadow-including inclusive ancestor, return ANCESTOR.\n const refNodePath = pathComposer(refNode, true);\n const p$ = path;\n for (let i = 0, ancestor, lastRoot, root, rootIdx; i < p$.length; i++) {\n ancestor = p$[i];\n root = ancestor instanceof Window ? ancestor : ancestor.getRootNode();\n if (root !== lastRoot) {\n rootIdx = refNodePath.indexOf(root);\n lastRoot = root;\n }\n if (!isSyntheticShadowRoot(root) || (!isUndefined(rootIdx) && rootIdx > -1)) {\n return ancestor;\n }\n }\n return null;\n}\n//# sourceMappingURL=retarget.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { isNull } from '@lwc/shared';\nimport { elementFromPoint } from '../env/document';\nimport { retarget } from '../3rdparty/polymer/retarget';\nimport { pathComposer } from '../3rdparty/polymer/path-composer';\nexport function fauxElementFromPoint(context, doc, left, top) {\n const element = elementFromPoint.call(doc, left, top);\n if (isNull(element)) {\n return element;\n }\n return retarget(context, pathComposer(element, true));\n}\n//# sourceMappingURL=faux-element-from-point.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFilter, ArrayFind, ArraySlice, defineProperty, getOwnPropertyDescriptor, isNull, isUndefined, } from '@lwc/shared';\nimport { DocumentPrototypeActiveElement, getElementById as documentGetElementById, getElementsByClassName as documentGetElementsByClassName, getElementsByName, getElementsByTagName as documentGetElementsByTagName, getElementsByTagNameNS as documentGetElementsByTagNameNS, querySelectorAll as documentQuerySelectorAll, } from '../../env/document';\nimport { parentElementGetter } from '../../env/node';\nimport { fauxElementFromPoint } from '../../shared/faux-element-from-point';\nimport { getNodeOwnerKey } from '../../shared/node-ownership';\nimport { createStaticNodeList } from '../../shared/static-node-list';\nimport { createStaticHTMLCollection } from '../../shared/static-html-collection';\nimport { arrayFromCollection, isGlobalPatchingSkipped } from '../../shared/utils';\nimport { fauxElementsFromPoint } from '../../shared/faux-elements-from-point';\nfunction elemFromPoint(left, top) {\n return fauxElementFromPoint(this, this, left, top);\n}\nDocument.prototype.elementFromPoint = elemFromPoint;\nfunction elemsFromPoint(left, top) {\n return fauxElementsFromPoint(this, this, left, top);\n}\nDocument.prototype.elementsFromPoint = elemsFromPoint;\n// Go until we reach to top of the LWC tree\ndefineProperty(Document.prototype, 'activeElement', {\n get() {\n let node = DocumentPrototypeActiveElement.call(this);\n if (isNull(node)) {\n return node;\n }\n while (!isUndefined(getNodeOwnerKey(node))) {\n node = parentElementGetter.call(node);\n if (isNull(node)) {\n return null;\n }\n }\n if (node.tagName === 'HTML') {\n // IE 11. Active element should never be html element\n node = this.body;\n }\n return node;\n },\n enumerable: true,\n configurable: true,\n});\n// The following patched methods hide shadowed elements from global\n// traversing mechanisms. They are simplified for performance reasons to\n// filter by ownership and do not account for slotted elements. This\n// compromise is fine for our synthetic shadow dom because root elements\n// cannot have slotted elements.\n// Another compromise here is that all these traversing methods will return\n// static HTMLCollection or static NodeList. We decided that this compromise\n// is not a big problem considering the amount of code that is relying on\n// the liveliness of these results are rare.\ndefineProperty(Document.prototype, 'getElementById', {\n value() {\n const elm = documentGetElementById.apply(this, ArraySlice.call(arguments));\n if (isNull(elm)) {\n return null;\n }\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm) ? elm : null;\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(Document.prototype, 'querySelector', {\n value() {\n const elements = arrayFromCollection(documentQuerySelectorAll.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFind.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return !isUndefined(filtered) ? filtered : null;\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(Document.prototype, 'querySelectorAll', {\n value() {\n const elements = arrayFromCollection(documentQuerySelectorAll.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFilter.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return createStaticNodeList(filtered);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(Document.prototype, 'getElementsByClassName', {\n value() {\n const elements = arrayFromCollection(documentGetElementsByClassName.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFilter.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return createStaticHTMLCollection(filtered);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(Document.prototype, 'getElementsByTagName', {\n value() {\n const elements = arrayFromCollection(documentGetElementsByTagName.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFilter.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return createStaticHTMLCollection(filtered);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(Document.prototype, 'getElementsByTagNameNS', {\n value() {\n const elements = arrayFromCollection(documentGetElementsByTagNameNS.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFilter.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return createStaticHTMLCollection(filtered);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\ndefineProperty(\n// In Firefox v57 and lower, getElementsByName is defined on HTMLDocument.prototype\ngetOwnPropertyDescriptor(HTMLDocument.prototype, 'getElementsByName')\n ? HTMLDocument.prototype\n : Document.prototype, 'getElementsByName', {\n value() {\n const elements = arrayFromCollection(getElementsByName.apply(this, ArraySlice.call(arguments)));\n const filtered = ArrayFilter.call(elements, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(elm));\n return createStaticNodeList(filtered);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n});\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { SyntheticShadowRoot } from '../../faux-shadow/shadow-root';\nObject.defineProperty(window, 'ShadowRoot', {\n value: SyntheticShadowRoot,\n configurable: true,\n writable: true,\n});\n//# sourceMappingURL=polyfill.js.map","\"use strict\";\n/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nconst CustomEventConstructor = CustomEvent;\nfunction PatchedCustomEvent(type, eventInitDict) {\n const event = new CustomEventConstructor(type, eventInitDict);\n const isComposed = !!(eventInitDict && eventInitDict.composed);\n Object.defineProperties(event, {\n composed: {\n get() {\n return isComposed;\n },\n configurable: true,\n enumerable: true,\n },\n });\n return event;\n}\nPatchedCustomEvent.prototype = CustomEventConstructor.prototype;\nwindow.CustomEvent = PatchedCustomEvent;\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2023, Salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { assign, create, defineProperties } from '@lwc/shared';\n// Note that ClipboardEvent is undefined in Jest/jsdom\n// See: https://github.com/jsdom/jsdom/issues/1568\nif (typeof ClipboardEvent !== 'undefined') {\n const isComposedType = assign(create(null), {\n copy: 1,\n cut: 1,\n paste: 1,\n });\n // Patch the prototype to override the composed property on user-agent dispatched events\n defineProperties(ClipboardEvent.prototype, {\n composed: {\n get() {\n const { type } = this;\n return isComposedType[type] === 1;\n },\n configurable: true,\n enumerable: true,\n },\n });\n}\n//# sourceMappingURL=main.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayIndexOf, ArrayPush, ArrayReduce, ArraySplice, create, defineProperties, defineProperty, forEach, isNull, isUndefined, } from '@lwc/shared';\nimport { isSyntheticShadowRoot } from '../../faux-shadow/shadow-root';\nimport { getNodeKey, getNodeNearestOwnerKey } from '../../shared/node-ownership';\nconst OriginalMutationObserver = MutationObserver;\nconst { disconnect: originalDisconnect, observe: originalObserve, takeRecords: originalTakeRecords, } = OriginalMutationObserver.prototype;\n// Internal fields to maintain relationships\nconst wrapperLookupField = '$$lwcObserverCallbackWrapper$$';\nconst observerLookupField = '$$lwcNodeObservers$$';\nconst observerToNodesMap = new WeakMap();\nfunction getNodeObservers(node) {\n return node[observerLookupField];\n}\nfunction setNodeObservers(node, observers) {\n node[observerLookupField] = observers;\n}\n/**\n * Retarget the mutation record's target value to its shadowRoot\n * @param {MutationRecord} originalRecord\n */\nfunction retargetMutationRecord(originalRecord) {\n const { addedNodes, removedNodes, target, type } = originalRecord;\n const retargetedRecord = create(MutationRecord.prototype);\n defineProperties(retargetedRecord, {\n addedNodes: {\n get() {\n return addedNodes;\n },\n enumerable: true,\n configurable: true,\n },\n removedNodes: {\n get() {\n return removedNodes;\n },\n enumerable: true,\n configurable: true,\n },\n type: {\n get() {\n return type;\n },\n enumerable: true,\n configurable: true,\n },\n target: {\n get() {\n return target.shadowRoot;\n },\n enumerable: true,\n configurable: true,\n },\n });\n return retargetedRecord;\n}\n/**\n * Utility to identify if a target node is being observed by the given observer\n * Start at the current node, if the observer is registered to observe the current node, the mutation qualifies\n * @param {MutationObserver} observer\n * @param {Node} target\n */\nfunction isQualifiedObserver(observer, target) {\n let parentNode = target;\n while (!isNull(parentNode)) {\n const parentNodeObservers = getNodeObservers(parentNode);\n if (!isUndefined(parentNodeObservers) &&\n (parentNodeObservers[0] === observer || // perf optimization to check for the first item is a match\n ArrayIndexOf.call(parentNodeObservers, observer) !== -1)) {\n return true;\n }\n parentNode = parentNode.parentNode;\n }\n return false;\n}\n/**\n * This function provides a shadow dom compliant filtered view of mutation records for a given observer.\n *\n * The key logic here is to determine if a given observer has been registered to observe any nodes\n * between the target node of a mutation record to the target's root node.\n * This function also retargets records when mutations occur directly under the shadow root\n * @param {MutationRecords[]} mutations\n * @param {MutationObserver} observer\n */\nfunction filterMutationRecords(mutations, observer) {\n return ArrayReduce.call(mutations, (filteredSet, record) => {\n const { target, addedNodes, removedNodes, type } = record;\n // If target is an lwc host,\n // Determine if the mutations affected the host or the shadowRoot\n // Mutations affecting host: changes to slot content\n // Mutations affecting shadowRoot: changes to template content\n if (type === 'childList' && !isUndefined(getNodeKey(target))) {\n // In case of added nodes, we can climb up the tree and determine eligibility\n if (addedNodes.length > 0) {\n // Optimization: Peek in and test one node to decide if the MutationRecord qualifies\n // The remaining nodes in this MutationRecord will have the same ownerKey\n const sampleNode = addedNodes[0];\n if (isQualifiedObserver(observer, sampleNode)) {\n // If the target was being observed, then return record as-is\n // this will be the case for slot content\n const nodeObservers = getNodeObservers(target);\n if (nodeObservers &&\n (nodeObservers[0] === observer ||\n ArrayIndexOf.call(nodeObservers, observer) !== -1)) {\n ArrayPush.call(filteredSet, record);\n }\n else {\n // else, must be observing the shadowRoot\n ArrayPush.call(filteredSet, retargetMutationRecord(record));\n }\n }\n }\n else {\n // In the case of removed nodes, climbing the tree is not an option as the nodes are disconnected\n // We can only check if either the host or shadow root was observed and qualify the record\n const shadowRoot = target.shadowRoot;\n const sampleNode = removedNodes[0];\n if (getNodeNearestOwnerKey(target) === getNodeNearestOwnerKey(sampleNode) && // trickery: sampleNode is slot content\n isQualifiedObserver(observer, target) // use target as a close enough reference to climb up\n ) {\n ArrayPush.call(filteredSet, record);\n }\n else if (shadowRoot) {\n const shadowRootObservers = getNodeObservers(shadowRoot);\n if (shadowRootObservers &&\n (shadowRootObservers[0] === observer ||\n ArrayIndexOf.call(shadowRootObservers, observer) !== -1)) {\n ArrayPush.call(filteredSet, retargetMutationRecord(record));\n }\n }\n }\n }\n else {\n // Mutation happened under a root node(shadow root or document) and the decision is straighforward\n // Ascend the tree starting from target and check if observer is qualified\n if (isQualifiedObserver(observer, target)) {\n ArrayPush.call(filteredSet, record);\n }\n }\n return filteredSet;\n }, []);\n}\nfunction getWrappedCallback(callback) {\n let wrappedCallback = callback[wrapperLookupField];\n if (isUndefined(wrappedCallback)) {\n wrappedCallback = callback[wrapperLookupField] = (mutations, observer) => {\n // Filter mutation records\n const filteredRecords = filterMutationRecords(mutations, observer);\n // If not records are eligible for the observer, do not invoke callback\n if (filteredRecords.length === 0) {\n return;\n }\n callback.call(observer, filteredRecords, observer);\n };\n }\n return wrappedCallback;\n}\n/**\n * Patched MutationObserver constructor.\n * 1. Wrap the callback to filter out MutationRecords based on dom ownership\n * 2. Add a property field to track all observed targets of the observer instance\n * @param {MutationCallback} callback\n */\nfunction PatchedMutationObserver(callback) {\n const wrappedCallback = getWrappedCallback(callback);\n const observer = new OriginalMutationObserver(wrappedCallback);\n return observer;\n}\nfunction patchedDisconnect() {\n originalDisconnect.call(this);\n // Clear the node to observer reference which is a strong references\n const observedNodes = observerToNodesMap.get(this);\n if (!isUndefined(observedNodes)) {\n forEach.call(observedNodes, (observedNode) => {\n const observers = observedNode[observerLookupField];\n if (!isUndefined(observers)) {\n const index = ArrayIndexOf.call(observers, this);\n if (index !== -1) {\n ArraySplice.call(observers, index, 1);\n }\n }\n });\n observedNodes.length = 0;\n }\n}\n/**\n * A single mutation observer can observe multiple nodes(target).\n * Maintain a list of all targets that the observer chooses to observe\n * @param {Node} target\n * @param {Object} options\n */\nfunction patchedObserve(target, options) {\n let targetObservers = getNodeObservers(target);\n // Maintain a list of all observers that want to observe a node\n if (isUndefined(targetObservers)) {\n targetObservers = [];\n setNodeObservers(target, targetObservers);\n }\n // Same observer trying to observe the same node\n if (ArrayIndexOf.call(targetObservers, this) === -1) {\n ArrayPush.call(targetObservers, this);\n } // else There is more bookkeeping to do here https://dom.spec.whatwg.org/#dom-mutationobserver-observe Step #7\n // SyntheticShadowRoot instances are not actually a part of the DOM so observe the host instead.\n if (isSyntheticShadowRoot(target)) {\n target = target.host;\n }\n // maintain a list of all nodes observed by this observer\n if (observerToNodesMap.has(this)) {\n const observedNodes = observerToNodesMap.get(this);\n if (ArrayIndexOf.call(observedNodes, target) === -1) {\n ArrayPush.call(observedNodes, target);\n }\n }\n else {\n observerToNodesMap.set(this, [target]);\n }\n return originalObserve.call(this, target, options);\n}\n/**\n * Patch the takeRecords() api to filter MutationRecords based on the observed targets\n */\nfunction patchedTakeRecords() {\n return filterMutationRecords(originalTakeRecords.call(this), this);\n}\nPatchedMutationObserver.prototype = OriginalMutationObserver.prototype;\nPatchedMutationObserver.prototype.disconnect = patchedDisconnect;\nPatchedMutationObserver.prototype.observe = patchedObserve;\nPatchedMutationObserver.prototype.takeRecords = patchedTakeRecords;\ndefineProperty(window, 'MutationObserver', {\n value: PatchedMutationObserver,\n configurable: true,\n writable: true,\n});\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArraySlice, defineProperties } from '@lwc/shared';\nimport { addEventListener as nativeAddEventListener, eventTargetPrototype, removeEventListener as nativeRemoveEventListener, } from '../../env/event-target';\nimport { addCustomElementEventListener, removeCustomElementEventListener, } from '../../faux-shadow/events';\nimport { isSyntheticShadowHost } from '../../faux-shadow/shadow-root';\nimport { getEventListenerWrapper } from '../../shared/event-target';\nfunction patchedAddEventListener(type, listener, optionsOrCapture) {\n if (isSyntheticShadowHost(this)) {\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n return addCustomElementEventListener.apply(this, arguments);\n }\n if (arguments.length < 2) {\n // Slow path, unlikely to be called frequently. We expect modern browsers to throw:\n // https://googlechrome.github.io/samples/event-listeners-mandatory-arguments/\n const args = ArraySlice.call(arguments);\n if (args.length > 1) {\n args[1] = getEventListenerWrapper(args[1]);\n }\n // Ignore types because we're passing through to native method\n // @ts-ignore type-mismatch\n return nativeAddEventListener.apply(this, args);\n }\n // Fast path. This function is optimized to avoid ArraySlice because addEventListener is called\n // very frequently, and it provides a measurable perf boost to avoid so much array cloning.\n const wrappedListener = getEventListenerWrapper(listener);\n // The third argument is optional, so passing in `undefined` for `optionsOrCapture` gives capture=false\n return nativeAddEventListener.call(this, type, wrappedListener, optionsOrCapture);\n}\nfunction patchedRemoveEventListener(_type, _listener, _optionsOrCapture) {\n if (isSyntheticShadowHost(this)) {\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n return removeCustomElementEventListener.apply(this, arguments);\n }\n const args = ArraySlice.call(arguments);\n if (arguments.length > 1) {\n args[1] = getEventListenerWrapper(args[1]);\n }\n // Ignore types because we're passing through to native method\n // @ts-ignore type-mismatch\n nativeRemoveEventListener.apply(this, args);\n // Account for listeners that were added before this polyfill was applied\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n nativeRemoveEventListener.apply(this, arguments);\n}\ndefineProperties(eventTargetPrototype, {\n addEventListener: {\n value: patchedAddEventListener,\n enumerable: true,\n writable: true,\n configurable: true,\n },\n removeEventListener: {\n value: patchedRemoveEventListener,\n enumerable: true,\n writable: true,\n configurable: true,\n },\n});\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperties, isNull, isUndefined } from '@lwc/shared';\nimport { pathComposer } from '../../3rdparty/polymer/path-composer';\nimport { retarget } from '../../3rdparty/polymer/retarget';\nimport { composedPath as originalComposedPath, eventTargetGetter, eventCurrentTargetGetter, } from '../../env/dom';\nimport { Node } from '../../env/node';\nimport { eventToShadowRootMap, getShadowRoot, hasInternalSlot, isSyntheticShadowHost, } from '../../faux-shadow/shadow-root';\nimport { eventToContextMap } from '../../faux-shadow/events';\nimport { getNodeOwnerKey } from '../../shared/node-ownership';\nimport { getOwnerDocument } from '../../shared/utils';\nfunction patchedCurrentTargetGetter() {\n const currentTarget = eventCurrentTargetGetter.call(this);\n if (isNull(currentTarget)) {\n return null;\n }\n if (eventToContextMap.get(this) === 1 /* EventListenerContext.SHADOW_ROOT_LISTENER */) {\n return getShadowRoot(currentTarget);\n }\n return currentTarget;\n}\nfunction patchedTargetGetter() {\n const originalTarget = eventTargetGetter.call(this);\n if (!(originalTarget instanceof Node)) {\n return originalTarget;\n }\n const doc = getOwnerDocument(originalTarget);\n const composedPath = pathComposer(originalTarget, this.composed);\n const originalCurrentTarget = eventCurrentTargetGetter.call(this);\n // Handle cases where the currentTarget is null (for async events), and when an event has been\n // added to Window\n if (!(originalCurrentTarget instanceof Node)) {\n // TODO [#1511]: Special escape hatch to support legacy behavior. Should be fixed.\n // If the event's target is being accessed async and originalTarget is not a keyed element, do not retarget\n if (isNull(originalCurrentTarget) && isUndefined(getNodeOwnerKey(originalTarget))) {\n return originalTarget;\n }\n return retarget(doc, composedPath);\n }\n else if (originalCurrentTarget === doc || originalCurrentTarget === doc.body) {\n // TODO [#1530]: If currentTarget is document or document.body (Third party libraries that have global event listeners)\n // and the originalTarget is not a keyed element, do not retarget\n if (isUndefined(getNodeOwnerKey(originalTarget))) {\n return originalTarget;\n }\n return retarget(doc, composedPath);\n }\n let actualCurrentTarget = originalCurrentTarget;\n let actualPath = composedPath;\n // Address the possibility that `currentTarget` is a shadow root\n if (isSyntheticShadowHost(originalCurrentTarget)) {\n const context = eventToContextMap.get(this);\n if (context === 1 /* EventListenerContext.SHADOW_ROOT_LISTENER */) {\n actualCurrentTarget = getShadowRoot(originalCurrentTarget);\n }\n }\n // Address the possibility that `target` is a shadow root\n if (isSyntheticShadowHost(originalTarget) && eventToShadowRootMap.has(this)) {\n actualPath = pathComposer(getShadowRoot(originalTarget), this.composed);\n }\n return retarget(actualCurrentTarget, actualPath);\n}\nfunction patchedComposedPathValue() {\n const originalTarget = eventTargetGetter.call(this);\n // Account for events with targets that are not instances of Node (e.g., when a readystatechange\n // handler is listening on an instance of XMLHttpRequest).\n if (!(originalTarget instanceof Node)) {\n return [];\n }\n // If the original target is inside a native shadow root, then just call the native\n // composePath() method. The event is already retargeted and this causes our composedPath()\n // polyfill to compute the wrong value. This is only an issue when you have a native web\n // component inside an LWC component (see test in same commit) but this scenario is unlikely\n // because we don't yet support that. Workaround specifically for W-9846457. Mixed mode solution\n // will likely be more involved.\n const hasShadowRoot = Boolean(originalTarget.shadowRoot);\n const hasSyntheticShadowRootAttached = hasInternalSlot(originalTarget);\n if (hasShadowRoot && !hasSyntheticShadowRootAttached) {\n return originalComposedPath.call(this);\n }\n const originalCurrentTarget = eventCurrentTargetGetter.call(this);\n // If the event has completed propagation, the composedPath should be an empty array.\n if (isNull(originalCurrentTarget)) {\n return [];\n }\n // Address the possibility that `target` is a shadow root\n let actualTarget = originalTarget;\n if (isSyntheticShadowHost(originalTarget) && eventToShadowRootMap.has(this)) {\n actualTarget = getShadowRoot(originalTarget);\n }\n return pathComposer(actualTarget, this.composed);\n}\ndefineProperties(Event.prototype, {\n target: {\n get: patchedTargetGetter,\n enumerable: true,\n configurable: true,\n },\n currentTarget: {\n get: patchedCurrentTargetGetter,\n enumerable: true,\n configurable: true,\n },\n composedPath: {\n value: patchedComposedPathValue,\n writable: true,\n enumerable: true,\n configurable: true,\n },\n // Non-standard but widely supported for backwards-compatibility\n srcElement: {\n get: patchedTargetGetter,\n enumerable: true,\n configurable: true,\n },\n // Non-standard but implemented in Chrome and continues to exist for backwards-compatibility\n // https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/dom/events/event.idl;l=58?q=event.idl&ss=chromium\n path: {\n get: patchedComposedPathValue,\n enumerable: true,\n configurable: true,\n },\n});\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperty, getOwnPropertyDescriptor, isNull } from '@lwc/shared';\nimport { pathComposer } from '../3rdparty/polymer/path-composer';\nimport { retarget } from '../3rdparty/polymer/retarget';\nimport { eventCurrentTargetGetter } from '../env/dom';\nimport { Node } from '../env/node';\nimport { isNodeShadowed } from '../shared/node-ownership';\nimport { getOwnerDocument } from '../shared/utils';\nexport function retargetRelatedTarget(Ctor) {\n const relatedTargetGetter = getOwnPropertyDescriptor(Ctor.prototype, 'relatedTarget')\n .get;\n defineProperty(Ctor.prototype, 'relatedTarget', {\n get() {\n const relatedTarget = relatedTargetGetter.call(this);\n if (isNull(relatedTarget)) {\n return null;\n }\n if (!(relatedTarget instanceof Node) || !isNodeShadowed(relatedTarget)) {\n return relatedTarget;\n }\n let pointOfReference = eventCurrentTargetGetter.call(this);\n if (isNull(pointOfReference)) {\n pointOfReference = getOwnerDocument(relatedTarget);\n }\n return retarget(pointOfReference, pathComposer(relatedTarget, true));\n },\n enumerable: true,\n configurable: true,\n });\n}\n//# sourceMappingURL=retarget-related-target.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { retargetRelatedTarget } from '../../shared/retarget-related-target';\nretargetRelatedTarget(FocusEvent);\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { retargetRelatedTarget } from '../../shared/retarget-related-target';\nretargetRelatedTarget(MouseEvent);\n//# sourceMappingURL=polyfill.js.map","/*\n * Copyright (c) 2021, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { hasOwnProperty, getOwnPropertyDescriptor } from '@lwc/shared';\nexport const assignedSlotGetter = hasOwnProperty.call(Text.prototype, 'assignedSlot')\n ? getOwnPropertyDescriptor(Text.prototype, 'assignedSlot').get\n : () => null;\n//# sourceMappingURL=text.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { assert, defineProperties, ArrayFilter, ArrayIndexOf, ArrayPush, ArrayReduce, ArraySlice, forEach, isNull, isTrue, isUndefined, } from '@lwc/shared';\nimport { getAttribute, setAttribute, assignedSlotGetter as originalElementAssignedSlotGetter, shadowRootGetter, } from '../env/element';\nimport { assignedSlotGetter as originalTextAssignedSlotGetter } from '../env/text';\nimport { dispatchEvent } from '../env/event-target';\nimport { MutationObserverObserve, MutationObserver } from '../env/mutation-observer';\nimport { childNodesGetter, parentNodeGetter } from '../env/node';\nimport { assignedNodes as originalAssignedNodes, assignedElements as originalAssignedElements, } from '../env/slot';\nimport { isInstanceOfNativeShadowRoot } from '../env/shadow-root';\nimport { isSlotElement, getNodeOwner, getAllMatches, getFilteredChildNodes, getFilteredSlotAssignedNodes, } from '../faux-shadow/traverse';\nimport { getNodeOwnerKey, isNodeShadowed } from '../shared/node-ownership';\nimport { createStaticNodeList } from '../shared/static-node-list';\nimport { arrayFromCollection } from '../shared/utils';\n// We can use a single observer without having to worry about leaking because\n// \"Registered observers in a node’s registered observer list have a weak\n// reference to the node.\"\n// https://dom.spec.whatwg.org/#garbage-collection\nlet observer;\nconst observerConfig = { childList: true };\nconst SlotChangeKey = new WeakMap();\nfunction initSlotObserver() {\n return new MutationObserver((mutations) => {\n const slots = [];\n forEach.call(mutations, (mutation) => {\n if (process.env.NODE_ENV !== 'production') {\n assert.invariant(mutation.type === 'childList', `Invalid mutation type: ${mutation.type}. This mutation handler for slots should only handle \"childList\" mutations.`);\n }\n const { target: slot } = mutation;\n if (ArrayIndexOf.call(slots, slot) === -1) {\n ArrayPush.call(slots, slot);\n dispatchEvent.call(slot, new CustomEvent('slotchange'));\n }\n });\n });\n}\nfunction getFilteredSlotFlattenNodes(slot) {\n const childNodes = arrayFromCollection(childNodesGetter.call(slot));\n // Typescript is inferring the wrong function type for this particular\n // overloaded method: https://github.com/Microsoft/TypeScript/issues/27972\n // @ts-ignore type-mismatch\n return ArrayReduce.call(childNodes, (seed, child) => {\n if (child instanceof Element && isSlotElement(child)) {\n ArrayPush.apply(seed, getFilteredSlotFlattenNodes(child));\n }\n else {\n ArrayPush.call(seed, child);\n }\n return seed;\n }, []);\n}\nexport function assignedSlotGetterPatched() {\n const parentNode = parentNodeGetter.call(this);\n // use original assignedSlot if parent has a native shdow root\n if (parentNode instanceof Element) {\n const sr = shadowRootGetter.call(parentNode);\n if (isInstanceOfNativeShadowRoot(sr)) {\n if (this instanceof Text) {\n return originalTextAssignedSlotGetter.call(this);\n }\n return originalElementAssignedSlotGetter.call(this);\n }\n }\n /**\n * The node is assigned to a slot if:\n * - it has a parent and its parent is a slot element\n * - and if the slot owner key is different than the node owner key.\n *\n * When the slot and the slotted node are 2 different shadow trees, the owner keys will be\n * different. When the slot is in a shadow tree and the slotted content is a light DOM node,\n * the light DOM node doesn't have an owner key and therefor the slot owner key will be\n * different than the node owner key (always `undefined`).\n */\n if (!isNull(parentNode) &&\n isSlotElement(parentNode) &&\n getNodeOwnerKey(parentNode) !== getNodeOwnerKey(this)) {\n return parentNode;\n }\n return null;\n}\ndefineProperties(HTMLSlotElement.prototype, {\n addEventListener: {\n value(type, listener, options) {\n // super.addEventListener - but that doesn't work with typescript\n HTMLElement.prototype.addEventListener.call(this, type, listener, options);\n if (type === 'slotchange' && !SlotChangeKey.get(this)) {\n SlotChangeKey.set(this, true);\n if (!observer) {\n observer = initSlotObserver();\n }\n MutationObserverObserve.call(observer, this, observerConfig);\n }\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n assignedElements: {\n value(options) {\n if (isNodeShadowed(this)) {\n const flatten = !isUndefined(options) && isTrue(options.flatten);\n const nodes = flatten\n ? getFilteredSlotFlattenNodes(this)\n : getFilteredSlotAssignedNodes(this);\n return ArrayFilter.call(nodes, (node) => node instanceof Element);\n }\n else {\n return originalAssignedElements.apply(this, ArraySlice.call(arguments));\n }\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n assignedNodes: {\n value(options) {\n if (isNodeShadowed(this)) {\n const flatten = !isUndefined(options) && isTrue(options.flatten);\n return flatten\n ? getFilteredSlotFlattenNodes(this)\n : getFilteredSlotAssignedNodes(this);\n }\n else {\n return originalAssignedNodes.apply(this, ArraySlice.call(arguments));\n }\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n name: {\n get() {\n const name = getAttribute.call(this, 'name');\n return isNull(name) ? '' : name;\n },\n set(value) {\n setAttribute.call(this, 'name', value);\n },\n enumerable: true,\n configurable: true,\n },\n childNodes: {\n get() {\n if (isNodeShadowed(this)) {\n const owner = getNodeOwner(this);\n const childNodes = isNull(owner)\n ? []\n : getAllMatches(owner, getFilteredChildNodes(this));\n return createStaticNodeList(childNodes);\n }\n return childNodesGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n});\n//# sourceMappingURL=slot.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperties } from '@lwc/shared';\nimport { assignedSlotGetterPatched } from './slot';\n// Non-deep-traversing patches: this descriptor map includes all descriptors that\n// do not five access to nodes beyond the immediate children.\ndefineProperties(Text.prototype, {\n assignedSlot: {\n get: assignedSlotGetterPatched,\n enumerable: true,\n configurable: true,\n },\n});\n//# sourceMappingURL=text.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFilter, ArraySlice, isNull, isUndefined } from '@lwc/shared';\nimport { getNodeKey, getNodeNearestOwnerKey, getNodeOwnerKey } from '../shared/node-ownership';\nimport { isGlobalPatchingSkipped } from '../shared/utils';\nimport { isSyntheticShadowHost } from './shadow-root';\nimport { getAllMatches, getNodeOwner, getAllSlottedMatches } from './traverse';\n/**\n * This methods filters out elements that are not in the same shadow root of context.\n * It does not enforce shadow dom semantics if $context is not managed by LWC\n */\nexport function getNonPatchedFilteredArrayOfNodes(context, unfilteredNodes) {\n let filtered;\n const ownerKey = getNodeOwnerKey(context);\n // a node inside a shadow.\n if (!isUndefined(ownerKey)) {\n if (isSyntheticShadowHost(context)) {\n // element with shadowRoot attached\n const owner = getNodeOwner(context);\n if (isNull(owner)) {\n filtered = [];\n }\n else if (getNodeKey(context)) {\n // it is a custom element, and we should then filter by slotted elements\n filtered = getAllSlottedMatches(context, unfilteredNodes);\n }\n else {\n // regular element, we should then filter by ownership\n filtered = getAllMatches(owner, unfilteredNodes);\n }\n }\n else {\n // context is handled by lwc, using getNodeNearestOwnerKey to include manually inserted elements in the same shadow.\n filtered = ArrayFilter.call(unfilteredNodes, (elm) => getNodeNearestOwnerKey(elm) === ownerKey);\n }\n }\n else if (context instanceof HTMLBodyElement) {\n // `context` is document.body which is already patched.\n filtered = ArrayFilter.call(unfilteredNodes, \n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(context));\n }\n else {\n // `context` is outside the lwc boundary, return unfiltered list.\n filtered = ArraySlice.call(unfilteredNodes);\n }\n return filtered;\n}\n//# sourceMappingURL=no-patch-utils.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFilter, ArrayFind, ArraySlice, defineProperties, defineProperty, getOwnPropertyDescriptor, hasOwnProperty, isNull, isUndefined, KEY__SYNTHETIC_MODE, } from '@lwc/shared';\nimport { attachShadow as originalAttachShadow, childrenGetter, childElementCountGetter, firstElementChildGetter, getElementsByClassName as elementGetElementsByClassName, getElementsByTagName as elementGetElementsByTagName, getElementsByTagNameNS as elementGetElementsByTagNameNS, innerHTMLGetter, innerHTMLSetter, lastElementChildGetter, outerHTMLSetter, outerHTMLGetter, querySelectorAll as elementQuerySelectorAll, shadowRootGetter as originalShadowRootGetter, } from '../env/element';\nimport { getOuterHTML } from '../3rdparty/polymer/outer-html';\nimport { createStaticNodeList } from '../shared/static-node-list';\nimport { createStaticHTMLCollection } from '../shared/static-html-collection';\nimport { arrayFromCollection, isGlobalPatchingSkipped } from '../shared/utils';\nimport { getNodeKey, getNodeNearestOwnerKey, getNodeOwnerKey, isNodeShadowed, } from '../shared/node-ownership';\nimport { assignedSlotGetterPatched } from './slot';\nimport { getInternalChildNodes, hasMountedChildren } from './node';\nimport { getNonPatchedFilteredArrayOfNodes } from './no-patch-utils';\nimport { attachShadow, getShadowRoot, isSyntheticShadowHost } from './shadow-root';\nimport { getNodeOwner, getAllMatches, getFilteredChildNodes, getFirstMatch, getAllSlottedMatches, getFirstSlottedMatch, } from './traverse';\nfunction innerHTMLGetterPatched() {\n const childNodes = getInternalChildNodes(this);\n let innerHTML = '';\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n innerHTML += getOuterHTML(childNodes[i]);\n }\n return innerHTML;\n}\nfunction outerHTMLGetterPatched() {\n return getOuterHTML(this);\n}\nfunction attachShadowPatched(options) {\n // To retain native behavior of the API, provide synthetic shadowRoot only when specified\n if (options[KEY__SYNTHETIC_MODE]) {\n return attachShadow(this, options);\n }\n return originalAttachShadow.call(this, options);\n}\nfunction shadowRootGetterPatched() {\n if (isSyntheticShadowHost(this)) {\n const shadow = getShadowRoot(this);\n if (shadow.mode === 'open') {\n return shadow;\n }\n }\n return originalShadowRootGetter.call(this);\n}\nfunction childrenGetterPatched() {\n const owner = getNodeOwner(this);\n const childNodes = isNull(owner) ? [] : getAllMatches(owner, getFilteredChildNodes(this));\n return createStaticHTMLCollection(ArrayFilter.call(childNodes, (node) => node instanceof Element));\n}\nfunction childElementCountGetterPatched() {\n return this.children.length;\n}\nfunction firstElementChildGetterPatched() {\n return this.children[0] || null;\n}\nfunction lastElementChildGetterPatched() {\n const { children } = this;\n return children.item(children.length - 1) || null;\n}\n// Non-deep-traversing patches: this descriptor map includes all descriptors that\n// do not five access to nodes beyond the immediate children.\ndefineProperties(Element.prototype, {\n innerHTML: {\n get() {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {\n return innerHTMLGetterPatched.call(this);\n }\n return innerHTMLGetter.call(this);\n },\n set(v) {\n innerHTMLSetter.call(this, v);\n },\n enumerable: true,\n configurable: true,\n },\n outerHTML: {\n get() {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n if (isNodeShadowed(this) || isSyntheticShadowHost(this)) {\n return outerHTMLGetterPatched.call(this);\n }\n return outerHTMLGetter.call(this);\n },\n set(v) {\n outerHTMLSetter.call(this, v);\n },\n enumerable: true,\n configurable: true,\n },\n attachShadow: {\n value: attachShadowPatched,\n enumerable: true,\n writable: true,\n configurable: true,\n },\n shadowRoot: {\n get: shadowRootGetterPatched,\n enumerable: true,\n configurable: true,\n },\n // patched in HTMLElement if exists (IE11 is the one off here)\n children: {\n get() {\n if (hasMountedChildren(this)) {\n return childrenGetterPatched.call(this);\n }\n return childrenGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n childElementCount: {\n get() {\n if (hasMountedChildren(this)) {\n return childElementCountGetterPatched.call(this);\n }\n return childElementCountGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n firstElementChild: {\n get() {\n if (hasMountedChildren(this)) {\n return firstElementChildGetterPatched.call(this);\n }\n return firstElementChildGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n lastElementChild: {\n get() {\n if (hasMountedChildren(this)) {\n return lastElementChildGetterPatched.call(this);\n }\n return lastElementChildGetter.call(this);\n },\n enumerable: true,\n configurable: true,\n },\n assignedSlot: {\n get: assignedSlotGetterPatched,\n enumerable: true,\n configurable: true,\n },\n});\n// IE11 extra patches for wrong prototypes\nif (hasOwnProperty.call(HTMLElement.prototype, 'innerHTML')) {\n defineProperty(HTMLElement.prototype, 'innerHTML', getOwnPropertyDescriptor(Element.prototype, 'innerHTML'));\n}\nif (hasOwnProperty.call(HTMLElement.prototype, 'outerHTML')) {\n defineProperty(HTMLElement.prototype, 'outerHTML', getOwnPropertyDescriptor(Element.prototype, 'outerHTML'));\n}\nif (hasOwnProperty.call(HTMLElement.prototype, 'children')) {\n defineProperty(HTMLElement.prototype, 'children', getOwnPropertyDescriptor(Element.prototype, 'children'));\n}\n// Deep-traversing patches from this point on:\nfunction querySelectorPatched() {\n const nodeList = arrayFromCollection(elementQuerySelectorAll.apply(this, ArraySlice.call(arguments)));\n if (isSyntheticShadowHost(this)) {\n // element with shadowRoot attached\n const owner = getNodeOwner(this);\n if (!isUndefined(getNodeKey(this))) {\n // it is a custom element, and we should then filter by slotted elements\n return getFirstSlottedMatch(this, nodeList);\n }\n else if (isNull(owner)) {\n return null;\n }\n else {\n // regular element, we should then filter by ownership\n return getFirstMatch(owner, nodeList);\n }\n }\n else if (isNodeShadowed(this)) {\n // element inside a shadowRoot\n const ownerKey = getNodeOwnerKey(this);\n if (!isUndefined(ownerKey)) {\n // `this` is handled by lwc, using getNodeNearestOwnerKey to include manually inserted elements in the same shadow.\n const elm = ArrayFind.call(nodeList, (elm) => getNodeNearestOwnerKey(elm) === ownerKey);\n return isUndefined(elm) ? null : elm;\n }\n else {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n // `this` is a manually inserted element inside a shadowRoot, return the first element.\n return nodeList.length === 0 ? null : nodeList[0];\n }\n }\n else {\n if (!(this instanceof HTMLBodyElement)) {\n const elm = nodeList[0];\n return isUndefined(elm) ? null : elm;\n }\n // element belonging to the document\n const elm = ArrayFind.call(nodeList, (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(this));\n return isUndefined(elm) ? null : elm;\n }\n}\nfunction getFilteredArrayOfNodes(context, unfilteredNodes) {\n let filtered;\n if (isSyntheticShadowHost(context)) {\n // element with shadowRoot attached\n const owner = getNodeOwner(context);\n if (!isUndefined(getNodeKey(context))) {\n // it is a custom element, and we should then filter by slotted elements\n filtered = getAllSlottedMatches(context, unfilteredNodes);\n }\n else if (isNull(owner)) {\n filtered = [];\n }\n else {\n // regular element, we should then filter by ownership\n filtered = getAllMatches(owner, unfilteredNodes);\n }\n }\n else if (isNodeShadowed(context)) {\n // element inside a shadowRoot\n const ownerKey = getNodeOwnerKey(context);\n if (!isUndefined(ownerKey)) {\n // context is handled by lwc, using getNodeNearestOwnerKey to include manually inserted elements in the same shadow.\n filtered = ArrayFilter.call(unfilteredNodes, (elm) => getNodeNearestOwnerKey(elm) === ownerKey);\n }\n else {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n // context is manually inserted without lwc:dom-manual, return everything\n filtered = ArraySlice.call(unfilteredNodes);\n }\n }\n else {\n if (context instanceof HTMLBodyElement) {\n // `context` is document.body or element belonging to the document with the patch enabled\n filtered = ArrayFilter.call(unfilteredNodes, (elm) => isUndefined(getNodeOwnerKey(elm)) || isGlobalPatchingSkipped(context));\n }\n else {\n // `context` is outside the lwc boundary and patch is not enabled.\n filtered = ArraySlice.call(unfilteredNodes);\n }\n }\n return filtered;\n}\n// The following patched methods hide shadowed elements from global\n// traversing mechanisms. They are simplified for performance reasons to\n// filter by ownership and do not account for slotted elements. This\n// compromise is fine for our synthetic shadow dom because root elements\n// cannot have slotted elements.\n// Another compromise here is that all these traversing methods will return\n// static HTMLCollection or static NodeList. We decided that this compromise\n// is not a big problem considering the amount of code that is relying on\n// the liveliness of these results are rare.\ndefineProperties(Element.prototype, {\n querySelector: {\n value: querySelectorPatched,\n writable: true,\n enumerable: true,\n configurable: true,\n },\n querySelectorAll: {\n value() {\n const nodeList = arrayFromCollection(elementQuerySelectorAll.apply(this, ArraySlice.call(arguments)));\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n const filteredResults = getFilteredArrayOfNodes(this, nodeList);\n return createStaticNodeList(filteredResults);\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n});\n// The following APIs are used directly by Jest internally so we avoid patching them during testing.\nif (process.env.NODE_ENV !== 'test') {\n defineProperties(Element.prototype, {\n getElementsByClassName: {\n value() {\n const elements = arrayFromCollection(elementGetElementsByClassName.apply(this, ArraySlice.call(arguments)));\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n getElementsByTagName: {\n value() {\n const elements = arrayFromCollection(elementGetElementsByTagName.apply(this, ArraySlice.call(arguments)));\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n getElementsByTagNameNS: {\n value() {\n const elements = arrayFromCollection(elementGetElementsByTagNameNS.apply(this, ArraySlice.call(arguments)));\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return createStaticHTMLCollection(getNonPatchedFilteredArrayOfNodes(this, elements));\n },\n writable: true,\n enumerable: true,\n configurable: true,\n },\n });\n}\n// IE11 extra patches for wrong prototypes\nif (hasOwnProperty.call(HTMLElement.prototype, 'getElementsByClassName')) {\n defineProperty(HTMLElement.prototype, 'getElementsByClassName', getOwnPropertyDescriptor(Element.prototype, 'getElementsByClassName'));\n}\n//# sourceMappingURL=element.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { ArrayFind, ArrayIndexOf, ArrayReverse, ArraySlice, assert, isNull, isUndefined, toString, } from '@lwc/shared';\nimport { addEventListener, removeEventListener } from '../env/event-target';\nimport { windowAddEventListener, windowRemoveEventListener } from '../env/window';\nimport { DocumentPrototypeActiveElement, querySelectorAll as documentQuerySelectorAll, } from '../env/document';\nimport { eventCurrentTargetGetter, eventTargetGetter, focusEventRelatedTargetGetter, } from '../env/dom';\nimport { matches, querySelector, querySelectorAll, getBoundingClientRect, tabIndexGetter, tagNameGetter, getAttribute, hasAttribute, } from '../env/element';\nimport { compareDocumentPosition, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_PRECEDING, DOCUMENT_POSITION_FOLLOWING, } from '../env/node';\nimport { arrayFromCollection, getOwnerDocument, getOwnerWindow } from '../shared/utils';\nimport { isDelegatingFocus, isSyntheticShadowHost } from './shadow-root';\nconst FocusableSelector = `\n [contenteditable],\n [tabindex],\n a[href],\n area[href],\n audio[controls],\n button,\n iframe,\n input,\n select,\n textarea,\n video[controls]\n`;\nconst formElementTagNames = new Set(['BUTTON', 'INPUT', 'SELECT', 'TEXTAREA']);\nfunction filterSequentiallyFocusableElements(elements) {\n return elements.filter((element) => {\n if (hasAttribute.call(element, 'tabindex')) {\n // Even though LWC only supports tabindex values of 0 or -1,\n // passing through elements with tabindex=\"0\" is a tighter criteria\n // than filtering out elements based on tabindex=\"-1\".\n return getAttribute.call(element, 'tabindex') === '0';\n }\n if (formElementTagNames.has(tagNameGetter.call(element))) {\n return !hasAttribute.call(element, 'disabled');\n }\n return true;\n });\n}\nconst DidAddMouseEventListeners = new WeakMap();\n// Due to browser differences, it is impossible to know what is focusable until\n// we actually try to focus it. We need to refactor our focus delegation logic\n// to verify whether or not the target was actually focused instead of trying\n// to predict focusability like we do here.\nfunction isVisible(element) {\n const { width, height } = getBoundingClientRect.call(element);\n const noZeroSize = width > 0 || height > 0;\n // The area element can be 0x0 and focusable. Hardcoding this is not ideal\n // but it will minimize changes in the current behavior.\n const isAreaElement = element.tagName === 'AREA';\n return (noZeroSize || isAreaElement) && getComputedStyle(element).visibility !== 'hidden';\n}\n// This function based on https://allyjs.io/data-tables/focusable.html\n// It won't catch everything, but should be good enough\n// There are a lot of edge cases here that we can't realistically handle\n// Determines if a particular element is tabbable, as opposed to simply focusable\nfunction isTabbable(element) {\n if (isSyntheticShadowHost(element) && isDelegatingFocus(element)) {\n return false;\n }\n return matches.call(element, FocusableSelector) && isVisible(element);\n}\nexport function hostElementFocus() {\n const _rootNode = this.getRootNode();\n if (_rootNode === this) {\n // We invoke the focus() method even if the host is disconnected in order to eliminate\n // observable differences for component authors between synthetic and native.\n const focusable = querySelector.call(this, FocusableSelector);\n if (!isNull(focusable)) {\n // @ts-ignore type-mismatch\n focusable.focus.apply(focusable, arguments);\n }\n return;\n }\n // If the root node is not the host element then it's either the document or a shadow root.\n const rootNode = _rootNode;\n if (rootNode.activeElement === this) {\n // The focused element should not change if the focus method is invoked\n // on the shadow-including ancestor of the currently focused element.\n return;\n }\n const focusables = arrayFromCollection(querySelectorAll.call(this, FocusableSelector));\n let didFocus = false;\n while (!didFocus && focusables.length !== 0) {\n const focusable = focusables.shift();\n // @ts-ignore type-mismatch\n focusable.focus.apply(focusable, arguments);\n // Get the root node of the current focusable in case it was slotted.\n const currentRootNode = focusable.getRootNode();\n didFocus = currentRootNode.activeElement === focusable;\n }\n}\nfunction getTabbableSegments(host) {\n const doc = getOwnerDocument(host);\n const all = filterSequentiallyFocusableElements(arrayFromCollection(documentQuerySelectorAll.call(doc, FocusableSelector)));\n const inner = filterSequentiallyFocusableElements(arrayFromCollection(querySelectorAll.call(host, FocusableSelector)));\n if (process.env.NODE_ENV !== 'production') {\n assert.invariant(getAttribute.call(host, 'tabindex') === '-1' || isDelegatingFocus(host), `The focusin event is only relevant when the tabIndex property is -1 on the host.`);\n }\n const firstChild = inner[0];\n const lastChild = inner[inner.length - 1];\n const hostIndex = ArrayIndexOf.call(all, host);\n // Host element can show up in our \"previous\" section if its tabindex is 0\n // We want to filter that out here\n const firstChildIndex = hostIndex > -1 ? hostIndex : ArrayIndexOf.call(all, firstChild);\n // Account for an empty inner list\n const lastChildIndex = inner.length === 0 ? firstChildIndex + 1 : ArrayIndexOf.call(all, lastChild) + 1;\n const prev = ArraySlice.call(all, 0, firstChildIndex);\n const next = ArraySlice.call(all, lastChildIndex);\n return {\n prev,\n inner,\n next,\n };\n}\nexport function getActiveElement(host) {\n const doc = getOwnerDocument(host);\n const activeElement = DocumentPrototypeActiveElement.call(doc);\n if (isNull(activeElement)) {\n return activeElement;\n }\n // activeElement must be child of the host and owned by it\n return (compareDocumentPosition.call(host, activeElement) & DOCUMENT_POSITION_CONTAINED_BY) !==\n 0\n ? activeElement\n : null;\n}\nfunction relatedTargetPosition(host, relatedTarget) {\n // assert: target must be child of host\n const pos = compareDocumentPosition.call(host, relatedTarget);\n if (pos & DOCUMENT_POSITION_CONTAINED_BY) {\n // focus remains inside the host\n return 0;\n }\n else if (pos & DOCUMENT_POSITION_PRECEDING) {\n // focus is coming from above\n return 1;\n }\n else if (pos & DOCUMENT_POSITION_FOLLOWING) {\n // focus is coming from below\n return 2;\n }\n // we don't know what's going on.\n return -1;\n}\nfunction muteEvent(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nfunction muteFocusEventsDuringExecution(win, func) {\n windowAddEventListener.call(win, 'focusin', muteEvent, true);\n windowAddEventListener.call(win, 'focusout', muteEvent, true);\n func();\n windowRemoveEventListener.call(win, 'focusin', muteEvent, true);\n windowRemoveEventListener.call(win, 'focusout', muteEvent, true);\n}\nfunction focusOnNextOrBlur(segment, target, relatedTarget) {\n const win = getOwnerWindow(relatedTarget);\n const next = getNextTabbable(segment, relatedTarget);\n if (isNull(next)) {\n // nothing to focus on, blur to invalidate the operation\n muteFocusEventsDuringExecution(win, () => {\n target.blur();\n });\n }\n else {\n muteFocusEventsDuringExecution(win, () => {\n next.focus();\n });\n }\n}\nlet letBrowserHandleFocus = false;\nexport function disableKeyboardFocusNavigationRoutines() {\n letBrowserHandleFocus = true;\n}\nexport function enableKeyboardFocusNavigationRoutines() {\n letBrowserHandleFocus = false;\n}\nexport function isKeyboardFocusNavigationRoutineEnabled() {\n return !letBrowserHandleFocus;\n}\nfunction skipHostHandler(event) {\n if (letBrowserHandleFocus) {\n return;\n }\n const host = eventCurrentTargetGetter.call(event);\n const target = eventTargetGetter.call(event);\n // If the host delegating focus with tabindex=0 is not the target, we know\n // that the event was dispatched on a descendant node of the host. This\n // means the focus is coming from below and we don't need to do anything.\n if (host !== target) {\n // Focus is coming from above\n return;\n }\n const relatedTarget = focusEventRelatedTargetGetter.call(event);\n if (isNull(relatedTarget)) {\n // If relatedTarget is null, the user is most likely tabbing into the document from the\n // browser chrome. We could probably deduce whether focus is coming in from the top or the\n // bottom by comparing the position of the target to all tabbable elements. This is an edge\n // case and only comes up if the custom element is the first or last tabbable element in the\n // document.\n return;\n }\n const segments = getTabbableSegments(host);\n const position = relatedTargetPosition(host, relatedTarget);\n if (position === 1) {\n // Focus is coming from above\n const findTabbableElms = isTabbableFrom.bind(null, host.getRootNode());\n const first = ArrayFind.call(segments.inner, findTabbableElms);\n if (!isUndefined(first)) {\n const win = getOwnerWindow(first);\n muteFocusEventsDuringExecution(win, () => {\n first.focus();\n });\n }\n else {\n focusOnNextOrBlur(segments.next, target, relatedTarget);\n }\n }\n else if (host === target) {\n // Host is receiving focus from below, either from its shadow or from a sibling\n focusOnNextOrBlur(ArrayReverse.call(segments.prev), target, relatedTarget);\n }\n}\nfunction skipShadowHandler(event) {\n if (letBrowserHandleFocus) {\n return;\n }\n const relatedTarget = focusEventRelatedTargetGetter.call(event);\n if (isNull(relatedTarget)) {\n // If relatedTarget is null, the user is most likely tabbing into the document from the\n // browser chrome. We could probably deduce whether focus is coming in from the top or the\n // bottom by comparing the position of the target to all tabbable elements. This is an edge\n // case and only comes up if the custom element is the first or last tabbable element in the\n // document.\n return;\n }\n const host = eventCurrentTargetGetter.call(event);\n const segments = getTabbableSegments(host);\n if (ArrayIndexOf.call(segments.inner, relatedTarget) !== -1) {\n // If relatedTarget is contained by the host's subtree we can assume that the user is\n // tabbing between elements inside of the shadow. Do nothing.\n return;\n }\n const target = eventTargetGetter.call(event);\n // Determine where the focus is coming from (Tab or Shift+Tab)\n const position = relatedTargetPosition(host, relatedTarget);\n if (position === 1) {\n // Focus is coming from above\n focusOnNextOrBlur(segments.next, target, relatedTarget);\n }\n if (position === 2) {\n // Focus is coming from below\n focusOnNextOrBlur(ArrayReverse.call(segments.prev), target, relatedTarget);\n }\n}\n// Use this function to determine whether you can start from one root and end up\n// at another element via tabbing.\nfunction isTabbableFrom(fromRoot, toElm) {\n if (!isTabbable(toElm)) {\n return false;\n }\n const ownerDocument = getOwnerDocument(toElm);\n let root = toElm.getRootNode();\n while (root !== ownerDocument && root !== fromRoot) {\n const sr = root;\n const host = sr.host;\n if (getAttribute.call(host, 'tabindex') === '-1') {\n return false;\n }\n root = host && host.getRootNode();\n }\n return true;\n}\nfunction getNextTabbable(tabbables, relatedTarget) {\n const len = tabbables.length;\n if (len > 0) {\n for (let i = 0; i < len; i += 1) {\n const next = tabbables[i];\n if (isTabbableFrom(relatedTarget.getRootNode(), next)) {\n return next;\n }\n }\n }\n return null;\n}\n// Skips the host element\nexport function handleFocus(elm) {\n if (process.env.NODE_ENV !== 'production') {\n assert.invariant(isDelegatingFocus(elm), `Invalid attempt to handle focus event for ${toString(elm)}. ${toString(elm)} should have delegates focus true, but is not delegating focus`);\n }\n bindDocumentMousedownMouseupHandlers(elm);\n // Unbind any focusin listeners we may have going on\n ignoreFocusIn(elm);\n addEventListener.call(elm, 'focusin', skipHostHandler, true);\n}\nexport function ignoreFocus(elm) {\n removeEventListener.call(elm, 'focusin', skipHostHandler, true);\n}\nfunction bindDocumentMousedownMouseupHandlers(elm) {\n const ownerDocument = getOwnerDocument(elm);\n if (!DidAddMouseEventListeners.get(ownerDocument)) {\n DidAddMouseEventListeners.set(ownerDocument, true);\n addEventListener.call(ownerDocument, 'mousedown', disableKeyboardFocusNavigationRoutines, true);\n addEventListener.call(ownerDocument, 'mouseup', () => {\n // We schedule this as an async task in the mouseup handler (as\n // opposed to the mousedown handler) because we want to guarantee\n // that it will never run before the focusin handler:\n //\n // Click form element | Click form element label\n // ==================================================\n // mousedown | mousedown\n // FOCUSIN | mousedown-setTimeout\n // mousedown-setTimeout | mouseup\n // mouseup | FOCUSIN\n // mouseup-setTimeout | mouseup-setTimeout\n setTimeout(enableKeyboardFocusNavigationRoutines);\n }, true);\n // [W-7824445] If the element is draggable, the mousedown event is dispatched before the\n // element is starting to be dragged, which disable the keyboard focus navigation routine.\n // But by specification, the mouseup event is never dispatched once the element is dropped.\n //\n // For all draggable element, we need to add an event listener to re-enable the keyboard\n // navigation routine after dragging starts.\n addEventListener.call(ownerDocument, 'dragstart', enableKeyboardFocusNavigationRoutines, true);\n }\n}\n// Skips the shadow tree\nexport function handleFocusIn(elm) {\n if (process.env.NODE_ENV !== 'production') {\n assert.invariant(tabIndexGetter.call(elm) === -1, `Invalid attempt to handle focus in ${toString(elm)}. ${toString(elm)} should have tabIndex -1, but has tabIndex ${tabIndexGetter.call(elm)}`);\n }\n bindDocumentMousedownMouseupHandlers(elm);\n // Unbind any focus listeners we may have going on\n ignoreFocus(elm);\n // This focusin listener is to catch focusin events from keyboard interactions\n // A better solution would perhaps be to listen for keydown events, but\n // the keydown event happens on whatever element already has focus (or no element\n // at all in the case of the location bar. So, instead we have to assume that focusin\n // without a mousedown means keyboard navigation\n addEventListener.call(elm, 'focusin', skipShadowHandler, true);\n}\nexport function ignoreFocusIn(elm) {\n removeEventListener.call(elm, 'focusin', skipShadowHandler, true);\n}\n//# sourceMappingURL=focus.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { isNull, isFalse, defineProperties, defineProperty } from '@lwc/shared';\nimport { hasAttribute, innerTextGetter, innerTextSetter, outerTextGetter, outerTextSetter, tabIndexGetter, tabIndexSetter, } from '../env/element';\nimport { isDelegatingFocus, isSyntheticShadowHost } from './shadow-root';\nimport { disableKeyboardFocusNavigationRoutines, enableKeyboardFocusNavigationRoutines, getActiveElement, handleFocus, handleFocusIn, hostElementFocus, ignoreFocus, ignoreFocusIn, isKeyboardFocusNavigationRoutineEnabled, } from './focus';\nconst { blur, focus } = HTMLElement.prototype;\n/**\n * This method only applies to elements with a shadow attached to them\n */\nfunction tabIndexGetterPatched() {\n if (isDelegatingFocus(this) && isFalse(hasAttribute.call(this, 'tabindex'))) {\n // this covers the case where the default tabindex should be 0 because the\n // custom element is delegating its focus\n return 0;\n }\n return tabIndexGetter.call(this);\n}\n/**\n * This method only applies to elements with a shadow attached to them\n */\nfunction tabIndexSetterPatched(value) {\n // This tabIndex setter might be confusing unless it is understood that HTML\n // elements have default tabIndex property values. Natively focusable elements have\n // a default tabIndex value of 0 and all other elements have a default tabIndex\n // value of -1. For example, the tabIndex property value is -1 for both <x-foo> and\n // <x-foo tabindex=\"-1\">, but our delegatesFocus polyfill should only kick in for\n // the latter case when the value of the tabindex attribute is -1.\n const delegatesFocus = isDelegatingFocus(this);\n // Record the state of things before invoking component setter.\n const prevValue = tabIndexGetter.call(this);\n const prevHasAttr = hasAttribute.call(this, 'tabindex');\n tabIndexSetter.call(this, value);\n // Record the state of things after invoking component setter.\n const currValue = tabIndexGetter.call(this);\n const currHasAttr = hasAttribute.call(this, 'tabindex');\n const didValueChange = prevValue !== currValue;\n // If the tabindex attribute is initially rendered, we can assume that this setter has\n // previously executed and a listener has been added. We must remove that listener if\n // the tabIndex property value has changed or if the component no longer renders a\n // tabindex attribute.\n if (prevHasAttr && (didValueChange || isFalse(currHasAttr))) {\n if (prevValue === -1) {\n ignoreFocusIn(this);\n }\n if (prevValue === 0 && delegatesFocus) {\n ignoreFocus(this);\n }\n }\n // If a tabindex attribute was not rendered after invoking its setter, it means the\n // component is taking control. Do nothing.\n if (isFalse(currHasAttr)) {\n return;\n }\n // If the tabindex attribute is initially rendered, we can assume that this setter has\n // previously executed and a listener has been added. If the tabindex attribute is still\n // rendered after invoking the setter AND the tabIndex property value has not changed,\n // we don't need to do any work.\n if (prevHasAttr && currHasAttr && isFalse(didValueChange)) {\n return;\n }\n // At this point we know that a tabindex attribute was rendered after invoking the\n // setter and that either:\n // 1) This is the first time this setter is being invoked.\n // 2) This is not the first time this setter is being invoked and the value is changing.\n // We need to add the appropriate listeners in either case.\n if (currValue === -1) {\n // Add the magic to skip the shadow tree\n handleFocusIn(this);\n }\n if (currValue === 0 && delegatesFocus) {\n // Add the magic to skip the host element\n handleFocus(this);\n }\n}\n/**\n * This method only applies to elements with a shadow attached to them\n */\nfunction blurPatched() {\n if (isDelegatingFocus(this)) {\n const currentActiveElement = getActiveElement(this);\n if (!isNull(currentActiveElement)) {\n // if there is an active element, blur it (intentionally using the dot notation in case the user defines the blur routine)\n currentActiveElement.blur();\n return;\n }\n }\n return blur.call(this);\n}\nfunction focusPatched() {\n // Save enabled state\n const originallyEnabled = isKeyboardFocusNavigationRoutineEnabled();\n // Change state by disabling if originally enabled\n if (originallyEnabled) {\n disableKeyboardFocusNavigationRoutines();\n }\n if (isSyntheticShadowHost(this) && isDelegatingFocus(this)) {\n hostElementFocus.call(this);\n return;\n }\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n focus.apply(this, arguments);\n // Restore state by enabling if originally enabled\n if (originallyEnabled) {\n enableKeyboardFocusNavigationRoutines();\n }\n}\n// Non-deep-traversing patches: this descriptor map includes all descriptors that\n// do not five access to nodes beyond the immediate children.\ndefineProperties(HTMLElement.prototype, {\n tabIndex: {\n get() {\n if (isSyntheticShadowHost(this)) {\n return tabIndexGetterPatched.call(this);\n }\n return tabIndexGetter.call(this);\n },\n set(v) {\n if (isSyntheticShadowHost(this)) {\n return tabIndexSetterPatched.call(this, v);\n }\n return tabIndexSetter.call(this, v);\n },\n enumerable: true,\n configurable: true,\n },\n blur: {\n value() {\n if (isSyntheticShadowHost(this)) {\n return blurPatched.call(this);\n }\n blur.call(this);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n focus: {\n value() {\n // Typescript does not like it when you treat the `arguments` object as an array\n // @ts-ignore type-mismatch\n focusPatched.apply(this, arguments);\n },\n enumerable: true,\n writable: true,\n configurable: true,\n },\n});\n// Note: In JSDOM innerText is not implemented: https://github.com/jsdom/jsdom/issues/1245\nif (innerTextGetter !== null && innerTextSetter !== null) {\n defineProperty(HTMLElement.prototype, 'innerText', {\n get() {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return innerTextGetter.call(this);\n },\n set(v) {\n innerTextSetter.call(this, v);\n },\n enumerable: true,\n configurable: true,\n });\n}\n// Note: Firefox does not have outerText, https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/outerText\nif (outerTextGetter !== null && outerTextSetter !== null) {\n // From https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/outerText :\n // HTMLElement.outerText is a non-standard property. As a getter, it returns the same value as Node.innerText.\n // As a setter, it removes the current node and replaces it with the given text.\n defineProperty(HTMLElement.prototype, 'outerText', {\n get() {\n // Note: we deviate from native shadow here, but are not fixing\n // due to backwards compat: https://github.com/salesforce/lwc/pull/3103\n return outerTextGetter.call(this);\n },\n set(v) {\n // Invoking the `outerText` setter on a host element should trigger its disconnection, but until we merge node reactions, it will not work.\n // We could reimplement the outerText setter in JavaScript ([blink implementation](https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/html/html_element.cc;l=841-879;drc=6e8b402a6231405b753919029c9027404325ea00;bpv=0;bpt=1))\n // but the benefits don't worth the efforts.\n outerTextSetter.call(this, v);\n },\n enumerable: true,\n configurable: true,\n });\n}\n//# sourceMappingURL=html-element.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { defineProperty, isUndefined, KEY__SHADOW_TOKEN, KEY__SHADOW_TOKEN_PRIVATE, KEY__SHADOW_STATIC, KEY__SHADOW_STATIC_PRIVATE, KEY__SHADOW_RESOLVER, } from '@lwc/shared';\nimport { setAttribute, removeAttribute } from '../env/element';\nimport { childNodesGetter } from '../env/node';\nexport function getShadowToken(node) {\n return node[KEY__SHADOW_TOKEN];\n}\nexport function setShadowToken(node, shadowToken) {\n node[KEY__SHADOW_TOKEN] = shadowToken;\n}\n/**\n * Patching Element.prototype.$shadowToken$ to mark elements a portal:\n *\n * - we use a property to allow engines to set a custom attribute that should be\n * placed into the element to sandbox the css rules defined for the template.\n *\n * - this custom attribute must be unique.\n *\n **/\ndefineProperty(Element.prototype, KEY__SHADOW_TOKEN, {\n set(shadowToken) {\n const oldShadowToken = this[KEY__SHADOW_TOKEN_PRIVATE];\n if (!isUndefined(oldShadowToken) && oldShadowToken !== shadowToken) {\n removeAttribute.call(this, oldShadowToken);\n }\n if (!isUndefined(shadowToken)) {\n setAttribute.call(this, shadowToken, '');\n }\n this[KEY__SHADOW_TOKEN_PRIVATE] = shadowToken;\n },\n get() {\n return this[KEY__SHADOW_TOKEN_PRIVATE];\n },\n configurable: true,\n});\nfunction recursivelySetShadowResolver(node, fn) {\n node[KEY__SHADOW_RESOLVER] = fn;\n const childNodes = childNodesGetter.call(node);\n for (let i = 0, n = childNodes.length; i < n; i++) {\n recursivelySetShadowResolver(childNodes[i], fn);\n }\n}\ndefineProperty(Element.prototype, KEY__SHADOW_STATIC, {\n set(v) {\n // Marking an element as static will propagate the shadow resolver to the children.\n if (v) {\n const fn = this[KEY__SHADOW_RESOLVER];\n recursivelySetShadowResolver(this, fn);\n }\n this[KEY__SHADOW_STATIC_PRIVATE] = v;\n },\n get() {\n return this[KEY__SHADOW_STATIC_PRIVATE];\n },\n configurable: true,\n});\n//# sourceMappingURL=shadow-token.js.map","/*\n * Copyright (c) 2018, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: MIT\n * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT\n */\nimport { isUndefined, forEach, defineProperty, isTrue } from '@lwc/shared';\nimport { childNodesGetter, compareDocumentPosition, Node } from '../env/node';\nimport { MutationObserver, MutationObserverObserve } from '../env/mutation-observer';\nimport { getShadowRootResolver, isSyntheticShadowHost, setShadowRootResolver, } from './shadow-root';\nimport { setShadowToken, getShadowToken } from './shadow-token';\nconst DomManualPrivateKey = '$$DomManualKey$$';\n// Resolver function used when a node is removed from within a portal\nconst DocumentResolverFn = function () { };\n// We can use a single observer without having to worry about leaking because\n// \"Registered observers in a node’s registered observer list have a weak\n// reference to the node.\"\n// https://dom.spec.whatwg.org/#garbage-collection\nlet portalObserver;\nconst portalObserverConfig = {\n childList: true,\n};\nfunction adoptChildNode(node, fn, shadowToken) {\n const previousNodeShadowResolver = getShadowRootResolver(node);\n if (previousNodeShadowResolver === fn) {\n return; // nothing to do here, it is already correctly patched\n }\n setShadowRootResolver(node, fn);\n if (node instanceof Element) {\n setShadowToken(node, shadowToken);\n if (isSyntheticShadowHost(node)) {\n // Root LWC elements can't get content slotted into them, therefore we don't observe their children.\n return;\n }\n if (isUndefined(previousNodeShadowResolver)) {\n // we only care about Element without shadowResolver (no MO.observe has been called)\n MutationObserverObserve.call(portalObserver, node, portalObserverConfig);\n }\n // recursively patching all children as well\n const childNodes = childNodesGetter.call(node);\n for (let i = 0, len = childNodes.length; i < len; i += 1) {\n adoptChildNode(childNodes[i], fn, shadowToken);\n }\n }\n}\nfunction initPortalObserver() {\n return new MutationObserver((mutations) => {\n forEach.call(mutations, (mutation) => {\n /**\n * This routine will process all nodes added or removed from elm (which is marked as a portal)\n * When adding a node to the portal element, we should add the ownership.\n * When removing a node from the portal element, this ownership should be removed.\n *\n * There is some special cases in which MutationObserver may call with stacked mutations (the same node\n * will be in addedNodes and removedNodes) or with false positives (a node that is removed and re-appended\n * in the same tick) for those cases, we cover by checking that the node is contained\n * (or not in the case of removal) by the element.\n */\n const { target: elm, addedNodes, removedNodes } = mutation;\n // the target of the mutation should always have a ShadowRootResolver attached to it\n const fn = getShadowRootResolver(elm);\n const shadowToken = getShadowToken(elm);\n // Process removals first to handle the case where an element is removed and reinserted\n for (let i = 0, len = removedNodes.length; i < len; i += 1) {\n const node = removedNodes[i];\n if (!(compareDocumentPosition.call(elm, node) & Node.DOCUMENT_POSITION_CONTAINED_BY)) {\n adoptChildNode(node, DocumentResolverFn, undefined);\n }\n }\n for (let i = 0, len = addedNodes.length; i < len; i += 1) {\n const node = addedNodes[i];\n if (compareDocumentPosition.call(elm, node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n adoptChildNode(node, fn, shadowToken);\n }\n }\n });\n });\n}\nfunction markElementAsPortal(elm) {\n if (isUndefined(portalObserver)) {\n portalObserver = initPortalObserver();\n }\n if (isUndefined(getShadowRootResolver(elm))) {\n // only an element from a within a shadowRoot should be used here\n throw new Error(`Invalid Element`);\n }\n // install mutation observer for portals\n MutationObserverObserve.call(portalObserver, elm, portalObserverConfig);\n // TODO [#1253]: optimization to synchronously adopt new child nodes added\n // to this elm, we can do that by patching the most common operations\n // on the node itself\n}\n/**\n * Patching Element.prototype.$domManual$ to mark elements as portal:\n *\n * - we use a property to allow engines to signal that a particular element in\n * a shadow supports manual insertion of child nodes.\n *\n * - this signal comes as a boolean value, and we use it to install the MO instance\n * onto the element, to propagate the $ownerKey$ and $shadowToken$ to all new\n * child nodes.\n *\n * - at the moment, there is no way to undo this operation, once the element is\n * marked as $domManual$, setting it to false does nothing.\n *\n **/\n// TODO [#1306]: rename this to $observerConnection$\ndefineProperty(Element.prototype, '$domManual$', {\n set(v) {\n this[DomManualPrivateKey] = v;\n if (isTrue(v)) {\n markElementAsPortal(this);\n }\n },\n get() {\n return this[DomManualPrivateKey];\n },\n configurable: true,\n});\n//# sourceMappingURL=portal.js.map"],"names":["globalThis","getElementsByTagName","getElementsByTagNameNS","querySelectorAll","attachShadow","getElementsByClassName","assignedSlotGetter","Node","Items","nativeParentNodeGetter","nativeCloneNode","isEventListenerOrEventListenerObject","documentGetElementById","documentQuerySelectorAll","documentGetElementsByClassName","documentGetElementsByTagName","documentGetElementsByTagNameNS","nativeAddEventListener","nativeRemoveEventListener","originalComposedPath","MutationObserver","originalTextAssignedSlotGetter","originalElementAssignedSlotGetter","originalAssignedElements","originalAssignedNodes","originalAttachShadow","originalShadowRootGetter","elementQuerySelectorAll","elementGetElementsByClassName","elementGetElementsByTagName","elementGetElementsByTagNameNS"],"mappings":"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"}
|