@lwc/synthetic-shadow 3.3.2 → 3.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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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"}
|