@m3e/core 1.0.0-rc.1 → 1.0.0-rc.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/README.md +1 -2
- package/dist/a11y.js +6 -18
- package/dist/a11y.js.map +1 -1
- package/dist/a11y.min.js +5 -5
- package/dist/a11y.min.js.map +1 -1
- package/dist/css-custom-data.json +20 -0
- package/dist/custom-elements.json +3605 -3375
- package/dist/html-custom-data.json +36 -6
- package/dist/index.js +417 -33
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +95 -84
- package/dist/index.min.js.map +1 -1
- package/dist/src/a11y/FocusTrapElement.d.ts +1 -1
- package/dist/src/a11y/FocusTrapElement.d.ts.map +1 -1
- package/dist/src/shared/controllers/PressedController.d.ts +2 -0
- package/dist/src/shared/controllers/PressedController.d.ts.map +1 -1
- package/dist/src/shared/mixins/AttachInternals.d.ts.map +1 -1
- package/dist/src/shared/mixins/Checked.d.ts.map +1 -1
- package/dist/src/shared/mixins/CheckedIndeterminate.d.ts.map +1 -1
- package/dist/src/shared/mixins/ConstraintValidation.d.ts.map +1 -1
- package/dist/src/shared/mixins/Dirty.d.ts.map +1 -1
- package/dist/src/shared/mixins/Disabled.d.ts.map +1 -1
- package/dist/src/shared/mixins/DisabledInteractive.d.ts.map +1 -1
- package/dist/src/shared/mixins/EventAttribute.d.ts.map +1 -1
- package/dist/src/shared/mixins/Focusable.d.ts.map +1 -1
- package/dist/src/shared/mixins/FormAssociated.d.ts.map +1 -1
- package/dist/src/shared/mixins/FormSubmitter.d.ts +4 -1
- package/dist/src/shared/mixins/FormSubmitter.d.ts.map +1 -1
- package/dist/src/shared/mixins/HtmlFor.d.ts.map +1 -1
- package/dist/src/shared/mixins/KeyboardClick.d.ts.map +1 -1
- package/dist/src/shared/mixins/Labelled.d.ts.map +1 -1
- package/dist/src/shared/mixins/LinkButton.d.ts +13 -3
- package/dist/src/shared/mixins/LinkButton.d.ts.map +1 -1
- package/dist/src/shared/mixins/ReadOnly.d.ts.map +1 -1
- package/dist/src/shared/mixins/Required.d.ts.map +1 -1
- package/dist/src/shared/mixins/RequiredConstraintValidation.d.ts.map +1 -1
- package/dist/src/shared/mixins/Role.d.ts.map +1 -1
- package/dist/src/shared/mixins/Selected.d.ts.map +1 -1
- package/dist/src/shared/mixins/Touched.d.ts.map +1 -1
- package/dist/src/shared/mixins/Vertical.d.ts.map +1 -1
- package/dist/src/shared/primitives/CollapsibleElement.d.ts +1 -1
- package/dist/src/shared/primitives/CollapsibleElement.d.ts.map +1 -1
- package/dist/src/shared/primitives/ElevationElement.d.ts +0 -1
- package/dist/src/shared/primitives/ElevationElement.d.ts.map +1 -1
- package/dist/src/shared/primitives/FocusRingElement.d.ts +0 -1
- package/dist/src/shared/primitives/FocusRingElement.d.ts.map +1 -1
- package/dist/src/shared/primitives/PseudoCheckboxElement.d.ts +0 -1
- package/dist/src/shared/primitives/PseudoCheckboxElement.d.ts.map +1 -1
- package/dist/src/shared/primitives/PseudoRadioElement.d.ts +0 -1
- package/dist/src/shared/primitives/PseudoRadioElement.d.ts.map +1 -1
- package/dist/src/shared/primitives/RippleElement.d.ts +0 -1
- package/dist/src/shared/primitives/RippleElement.d.ts.map +1 -1
- package/dist/src/shared/primitives/ScrollContainerElement.d.ts +1 -4
- package/dist/src/shared/primitives/ScrollContainerElement.d.ts.map +1 -1
- package/dist/src/shared/primitives/SlideElement.d.ts +1 -3
- package/dist/src/shared/primitives/SlideElement.d.ts.map +1 -1
- package/dist/src/shared/primitives/StateLayerElement.d.ts +0 -1
- package/dist/src/shared/primitives/StateLayerElement.d.ts.map +1 -1
- package/dist/src/shared/primitives/TextHighlightElement.d.ts +81 -0
- package/dist/src/shared/primitives/TextHighlightElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/TextOverflowElement.d.ts +0 -1
- package/dist/src/shared/primitives/TextOverflowElement.d.ts.map +1 -1
- package/dist/src/shared/primitives/index.d.ts +1 -0
- package/dist/src/shared/primitives/index.d.ts.map +1 -1
- package/dist/src/shared/utils/scrollIntoViewIfNeeded.d.ts +2 -2
- package/dist/src/shared/utils/scrollIntoViewIfNeeded.d.ts.map +1 -1
- package/package.json +1 -1
- package/cem.config.mjs +0 -16
- package/demo/index.html +0 -58
- package/eslint.config.mjs +0 -21
- package/rollup.config.js +0 -132
- package/src/a11y/AriaDescriber.ts +0 -130
- package/src/a11y/FocusTrapElement.ts +0 -136
- package/src/a11y/InteractivityChecker.ts +0 -62
- package/src/a11y/LiveAnnouncer.ts +0 -143
- package/src/a11y/aria-reference.ts +0 -51
- package/src/a11y/index.ts +0 -8
- package/src/a11y/keycodes/KeyCode.ts +0 -128
- package/src/a11y/keycodes/ModifierKeys.ts +0 -5
- package/src/a11y/keycodes/getKeyCode.ts +0 -8
- package/src/a11y/keycodes/hasModifierKey.ts +0 -11
- package/src/a11y/keycodes/index.ts +0 -5
- package/src/a11y/keycodes/isModifierAllowed.ts +0 -12
- package/src/a11y/list-key/FocusKeyManager.ts +0 -25
- package/src/a11y/list-key/ListKeyManager.ts +0 -350
- package/src/a11y/list-key/ListManager.ts +0 -66
- package/src/a11y/list-key/RadioKeyManager.ts +0 -49
- package/src/a11y/list-key/RovingTabIndexManager.ts +0 -56
- package/src/a11y/list-key/SelectionManager.ts +0 -132
- package/src/a11y/list-key/Typeahead.ts +0 -131
- package/src/a11y/list-key/index.ts +0 -7
- package/src/a11y/visuallyHide.ts +0 -18
- package/src/anchoring/AnchorOptions.ts +0 -19
- package/src/anchoring/AnchorPosition.ts +0 -14
- package/src/anchoring/index.ts +0 -3
- package/src/anchoring/positionAnchor.ts +0 -53
- package/src/bidi/Directionality.ts +0 -85
- package/src/bidi/index.ts +0 -1
- package/src/index.ts +0 -1
- package/src/layout/Breakpoint.ts +0 -26
- package/src/layout/BreakpointObserver.ts +0 -44
- package/src/layout/index.ts +0 -2
- package/src/platform/Platform.ts +0 -67
- package/src/platform/index.ts +0 -1
- package/src/shared/controllers/FocusController.ts +0 -60
- package/src/shared/controllers/HoverController.ts +0 -140
- package/src/shared/controllers/IntersectionController.ts +0 -81
- package/src/shared/controllers/LongPressController.ts +0 -87
- package/src/shared/controllers/MonitorControllerBase.ts +0 -99
- package/src/shared/controllers/MutationController.ts +0 -89
- package/src/shared/controllers/PressedController.ts +0 -137
- package/src/shared/controllers/ResizeController.ts +0 -83
- package/src/shared/controllers/ScrollController.ts +0 -100
- package/src/shared/controllers/index.ts +0 -8
- package/src/shared/decorators/debounce.ts +0 -19
- package/src/shared/decorators/index.ts +0 -1
- package/src/shared/directives/index.ts +0 -1
- package/src/shared/directives/safeStyleMap.ts +0 -108
- package/src/shared/index.ts +0 -7
- package/src/shared/mixins/AttachInternals.ts +0 -48
- package/src/shared/mixins/Checked.ts +0 -50
- package/src/shared/mixins/CheckedIndeterminate.ts +0 -47
- package/src/shared/mixins/CheckedOrSelected.ts +0 -36
- package/src/shared/mixins/ConstraintValidation.ts +0 -213
- package/src/shared/mixins/Constructor.ts +0 -2
- package/src/shared/mixins/Dirty.ts +0 -71
- package/src/shared/mixins/Disabled.ts +0 -49
- package/src/shared/mixins/DisabledInteractive.ts +0 -78
- package/src/shared/mixins/EventAttribute.ts +0 -25
- package/src/shared/mixins/Focusable.ts +0 -52
- package/src/shared/mixins/FormAssociated.ts +0 -152
- package/src/shared/mixins/FormSubmitter.ts +0 -123
- package/src/shared/mixins/HtmlFor.ts +0 -89
- package/src/shared/mixins/KeyboardClick.ts +0 -46
- package/src/shared/mixins/Labelled.ts +0 -88
- package/src/shared/mixins/LinkButton.ts +0 -169
- package/src/shared/mixins/ReadOnly.ts +0 -48
- package/src/shared/mixins/Required.ts +0 -50
- package/src/shared/mixins/RequiredConstraintValidation.ts +0 -45
- package/src/shared/mixins/Role.ts +0 -134
- package/src/shared/mixins/Selected.ts +0 -50
- package/src/shared/mixins/Touched.ts +0 -71
- package/src/shared/mixins/Vertical.ts +0 -44
- package/src/shared/mixins/hasKeys.ts +0 -10
- package/src/shared/mixins/index.ts +0 -24
- package/src/shared/primitives/CollapsibleElement.ts +0 -227
- package/src/shared/primitives/ElevationElement.ts +0 -254
- package/src/shared/primitives/ElevationLevel.ts +0 -2
- package/src/shared/primitives/ElevationToken.ts +0 -18
- package/src/shared/primitives/FocusRingElement.ts +0 -199
- package/src/shared/primitives/FocusRingToken.ts +0 -24
- package/src/shared/primitives/PseudoCheckboxElement.ts +0 -116
- package/src/shared/primitives/PseudoRadioElement.ts +0 -83
- package/src/shared/primitives/RippleElement.ts +0 -289
- package/src/shared/primitives/RippleToken.ts +0 -15
- package/src/shared/primitives/ScrollContainerElement.ts +0 -151
- package/src/shared/primitives/ScrollDividers.ts +0 -2
- package/src/shared/primitives/SlideElement.ts +0 -128
- package/src/shared/primitives/StateLayerElement.ts +0 -191
- package/src/shared/primitives/StateLayerToken.ts +0 -16
- package/src/shared/primitives/TextOverflowElement.ts +0 -60
- package/src/shared/primitives/index.ts +0 -12
- package/src/shared/tokens/ColorToken.ts +0 -142
- package/src/shared/tokens/DensityToken.ts +0 -23
- package/src/shared/tokens/DesignToken.ts +0 -35
- package/src/shared/tokens/ElevationToken.ts +0 -115
- package/src/shared/tokens/MotionToken.ts +0 -107
- package/src/shared/tokens/ScrollbarToken.ts +0 -13
- package/src/shared/tokens/ShapeToken.ts +0 -138
- package/src/shared/tokens/StateToken.ts +0 -13
- package/src/shared/tokens/TypescaleToken.ts +0 -230
- package/src/shared/tokens/index.ts +0 -1
- package/src/shared/utils/getTextContent.ts +0 -31
- package/src/shared/utils/guid.ts +0 -11
- package/src/shared/utils/hasAssignedNodes.ts +0 -8
- package/src/shared/utils/index.ts +0 -5
- package/src/shared/utils/prefersReducedMotion.ts +0 -9
- package/src/shared/utils/scrollIntoViewIfNeeded.ts +0 -18
- package/tsconfig.json +0 -9
package/dist/a11y.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a11y.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../src/a11y/keycodes/ModifierKeys.ts","../../src/a11y/keycodes/KeyCode.ts","../../src/a11y/keycodes/getKeyCode.ts","../../src/a11y/keycodes/hasModifierKey.ts","../../src/a11y/keycodes/isModifierAllowed.ts","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/base.js","../../../node_modules/@lit/reactive-element/decorators/query.js","../../src/shared/mixins/hasKeys.ts","../../src/shared/mixins/Disabled.ts","../../src/a11y/list-key/ListManager.ts","../../src/a11y/list-key/Typeahead.ts","../../src/a11y/list-key/ListKeyManager.ts","../../src/a11y/list-key/FocusKeyManager.ts","../../src/shared/mixins/Checked.ts","../../src/shared/mixins/Selected.ts","../../src/shared/mixins/CheckedOrSelected.ts","../../src/a11y/list-key/RovingTabIndexManager.ts","../../src/a11y/list-key/RadioKeyManager.ts","../../src/a11y/list-key/SelectionManager.ts","../../src/a11y/aria-reference.ts","../../src/a11y/visuallyHide.ts","../../src/a11y/AriaDescriber.ts","../../src/shared/mixins/Role.ts","../../src/a11y/InteractivityChecker.ts","../../src/a11y/FocusTrapElement.ts","../../src/a11y/LiveAnnouncer.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","/** Specifies the keyboard modifier keys. */\r\nexport type ModifierKey = \"alt\" | \"shift\" | \"ctrl\" | \"meta\";\r\n\r\n/** The modifier keys. */\r\nexport const ModifierKeys: readonly ModifierKey[] = [\"alt\", \"shift\", \"ctrl\", \"meta\"];\r\n","/** Specifies known key code values. */\r\nexport enum KeyCode {\r\n Backspace = 8,\r\n Tab = 9,\r\n Enter = 13,\r\n Shift = 16,\r\n Ctrl = 17,\r\n Alt = 18,\r\n PauseBreak = 19,\r\n CapsLock = 20,\r\n Escape = 27,\r\n Space = 32,\r\n PageUp = 33,\r\n PageDown = 34,\r\n End = 35,\r\n Home = 36,\r\n\r\n LeftArrow = 37,\r\n UpArrow = 38,\r\n RightArrow = 39,\r\n DownArrow = 40,\r\n\r\n Insert = 45,\r\n Delete = 46,\r\n\r\n Zero = 48,\r\n ClosedParen = Zero,\r\n One = 49,\r\n ExclamationMark = One,\r\n Two = 50,\r\n AtSign = Two,\r\n Three = 51,\r\n PoundSign = Three,\r\n Hash = PoundSign,\r\n Four = 52,\r\n DollarSign = Four,\r\n Five = 53,\r\n PercentSign = Five,\r\n Six = 54,\r\n Caret = Six,\r\n Hat = Caret,\r\n Seven = 55,\r\n Ampersand = Seven,\r\n Eight = 56,\r\n Star = Eight,\r\n Asterik = Star,\r\n Nine = 57,\r\n OpenParen = Nine,\r\n\r\n A = 65,\r\n B = 66,\r\n C = 67,\r\n D = 68,\r\n E = 69,\r\n F = 70,\r\n G = 71,\r\n H = 72,\r\n I = 73,\r\n J = 74,\r\n K = 75,\r\n L = 76,\r\n M = 77,\r\n N = 78,\r\n O = 79,\r\n P = 80,\r\n Q = 81,\r\n R = 82,\r\n S = 83,\r\n T = 84,\r\n U = 85,\r\n V = 86,\r\n W = 87,\r\n X = 88,\r\n Y = 89,\r\n Z = 90,\r\n\r\n LeftWindowKey = 91,\r\n RightWindowKey = 92,\r\n SelectKey = 93,\r\n\r\n Numpad0 = 96,\r\n Numpad1 = 97,\r\n Numpad2 = 98,\r\n Numpad3 = 99,\r\n Numpad4 = 100,\r\n Numpad5 = 101,\r\n Numpad6 = 102,\r\n Numpad7 = 103,\r\n Numpad8 = 104,\r\n Numpad9 = 105,\r\n\r\n Multiply = 106,\r\n Add = 107,\r\n Subtract = 109,\r\n DecimalPoint = 110,\r\n Divide = 111,\r\n\r\n F1 = 112,\r\n F2 = 113,\r\n F3 = 114,\r\n F4 = 115,\r\n F5 = 116,\r\n F6 = 117,\r\n F7 = 118,\r\n F8 = 119,\r\n F9 = 120,\r\n F10 = 121,\r\n F11 = 122,\r\n F12 = 123,\r\n\r\n NumLock = 144,\r\n ScrollLock = 145,\r\n\r\n SemiColon = 186,\r\n Equals = 187,\r\n Comma = 188,\r\n Dash = 189,\r\n Period = 190,\r\n UnderScore = Dash,\r\n PlusSign = Equals,\r\n ForwardSlash = 191,\r\n Tilde = 192,\r\n GraveAccent = Tilde,\r\n\r\n OpenBracket = 219,\r\n ClosedBracket = 221,\r\n Quote = 222,\r\n}\r\n","/**\r\n * Resolves the key code for the specified `KeyboardEvent`.\r\n * @param {KeyboardEvent} e The `KeyboardEvent` for which to resolve the key code.\r\n * @returns {number} The key code for `e`.\r\n */\r\nexport function getKeyCode(e: KeyboardEvent): number {\r\n return e.which || e.charCode || e.keyCode;\r\n}\r\n","import { ModifierKey } from \"./ModifierKeys\";\r\n\r\n/**\r\n * Determines whether a modifier key is pressed.\r\n * @param {KeyboardEvent} e The `KeyboardEvent` to test.\r\n * @param {ModifierKey[]} modifiers The modifier keys to test.\r\n * @returns {boolean} A value indicating whether a modifier key is pressed.\r\n */\r\nexport function hasModifierKey(e: KeyboardEvent, ...modifiers: ModifierKey[]): boolean {\r\n return modifiers.length ? modifiers.some((x) => e[`${x}Key`]) : e.altKey || e.shiftKey || e.ctrlKey || e.metaKey;\r\n}\r\n","import { hasModifierKey } from \"./hasModifierKey\";\r\nimport { ModifierKey, ModifierKeys } from \"./ModifierKeys\";\r\n\r\n/**\r\n * Determines whether the specified modifier keys are allowed.\r\n * @param {KeyboardEvent} e The `KeyboardEvent` to test.\r\n * @param {ModifierKey[]} modifiers The allowed modifier keys.\r\n * @returns {boolean} A value indicating whether `modifiers` are allowed.\r\n */\r\nexport function isModifierAllowed(e: KeyboardEvent, ...modifiers: ModifierKey[]): boolean {\r\n return ModifierKeys.every((x) => !hasModifierKey(e, x) || modifiers.includes(x));\r\n}\r\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","/**\r\n * Determines whether an object has keys for a given type.\r\n * @template T The type to test.\r\n * @param {unknown} value The value to test.\r\n * @param {...keys: Array<keyof T>} keys The keys of `T` to test.\r\n * @returns {boolean} Whether `value` has all `keys`.\r\n */\r\nexport function hasKeys<T extends object>(value: unknown, ...keys: Array<keyof T>): boolean {\r\n return typeof value === \"object\" && value !== null && keys.every((x) => x in value);\r\n}\r\n","import { LitElement, PropertyValues } from \"lit\";\r\nimport { property } from \"lit/decorators.js\";\r\n\r\nimport { Constructor } from \"./Constructor\";\r\nimport { hasKeys } from \"./hasKeys\";\r\n\r\n/** Defines functionality for an element which supports a disabled state. */\r\nexport interface DisabledMixin {\r\n /**\r\n * Whether the element is disabled.\r\n * @default false\r\n */\r\n disabled: boolean;\r\n}\r\n\r\n/**\r\n * Determines whether a value is a `DisabledMixin`.\r\n * @param {unknown} value The value to test.\r\n * @returns {value is DisabledMixin} Whether `value` is a `DisabledMixin`.\r\n */\r\nexport function isDisabledMixin(value: unknown): value is DisabledMixin {\r\n return hasKeys<DisabledMixin>(value, \"disabled\");\r\n}\r\n\r\n/**\r\n * Mixin to augment an element with behavior that supports a disabled state.\r\n * @template T The type of the base class.\r\n * @param {T} base The base class.\r\n * @param {boolean} [reflect=true] Whether the disabled property is reflected as an attribute.\r\n * @returns {Constructor<DisabledMixin> & T} A constructor that implements `DisabledMixin`.\r\n */\r\nexport function Disabled<T extends Constructor<LitElement>>(\r\n base: T,\r\n reflect: boolean = true\r\n): Constructor<DisabledMixin> & T {\r\n abstract class _DisabledMixin extends base implements DisabledMixin {\r\n @property({ type: Boolean, reflect: reflect }) disabled = false;\r\n\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"disabled\") && this.role && this.role !== \"none\" && this.role !== \"presentation\") {\r\n this.ariaDisabled = this.disabled ? \"true\" : null;\r\n }\r\n }\r\n }\r\n\r\n return _DisabledMixin;\r\n}\r\n","/**\r\n * Utility for managing a list of items which supports activation.\r\n * @template T The type of managed item.\r\n */\r\nexport class ListManager<T> {\r\n /** @private */ #items = new Array<T>();\r\n /** @private */ #activeItem: T | null = null;\r\n /** @private */ #onActiveItemChangeCallback?: () => void;\r\n\r\n /** The items being managed. */\r\n get items(): ReadonlyArray<T> {\r\n return this.#items;\r\n }\r\n\r\n /** The active item. */\r\n get activeItem(): T | null {\r\n return this.#activeItem;\r\n }\r\n\r\n /**\r\n * Sets the items to manage.\r\n * @param {Array<T>} items The new items.\r\n * @returns {{ added: ReadonlyArray<T>; removed: ReadonlyArray<T> }} An object specifying added and removed items.\r\n */\r\n setItems(items: Array<T>): { added: ReadonlyArray<T>; removed: ReadonlyArray<T> } {\r\n const removed = this.items.filter((x) => !items.includes(x));\r\n const added = items.filter((x) => !this.items.includes(x));\r\n\r\n this.#items = items;\r\n\r\n if (this.activeItem && !this.items.includes(this.activeItem)) {\r\n this.updateActiveItem(null);\r\n }\r\n\r\n return { added, removed };\r\n }\r\n\r\n /**\r\n * Sets the active item.\r\n * @param {T | null | undefined} item The new active item.\r\n */\r\n setActiveItem(item: T | null | undefined): void {\r\n if (this.activeItem !== item) {\r\n this.updateActiveItem(item);\r\n this.#onActiveItemChangeCallback?.();\r\n }\r\n }\r\n\r\n /**\r\n * Updates the active item.\r\n * @param {T | null | undefined} item The active item.\r\n */\r\n updateActiveItem(item: T | null | undefined): void {\r\n this.#activeItem = item ?? null;\r\n }\r\n\r\n /**\r\n * Configures the list manager with a callback invoked when an item is activated.\r\n * @param {() => void} callback The callback invoked when an item is activated.\r\n * @returns {ListManager<T>} The configured list manager.\r\n */\r\n onActiveItemChange(callback: () => void): this {\r\n this.#onActiveItemChangeCallback = callback;\r\n return this;\r\n }\r\n}\r\n","/**\r\n * Adapted from Angular Material CDK KeyManager\r\n * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/key-manager/typeahead.ts\r\n *\r\n * @license MIT\r\n * Copyright (c) 2025 Google LLC\r\n * See LICENSE file in the project root for full license text.\r\n */\r\n\r\nimport { getKeyCode, KeyCode } from \"../keycodes\";\r\nimport { hasKeys } from \"../../shared/mixins/hasKeys\";\r\n\r\n/** A symbol through which to access an element's textual content used for typeahead search. */\r\nexport const typeaheadLabel = Symbol(\"typeaheadLabel\");\r\n\r\n/** Defines functionality required for an item that supports searching using typeahead. */\r\nexport interface TypeaheadItem {\r\n /** Returns the textual content to search. */\r\n [typeaheadLabel]?(): string;\r\n}\r\n\r\n/**\r\n * Determines whether a value is a `TypeaheadItem`.\r\n * @param {unknown} value The value to test.\r\n * @returns A value indicating whether `value` is an `TypeaheadItem`.\r\n */\r\nexport function isTypeaheadItem(value: unknown): value is TypeaheadItem {\r\n return hasKeys<TypeaheadItem>(value, typeaheadLabel);\r\n}\r\n\r\n/** Encapsulates options used to select items based on typeahead.\r\n * @template T The type of `TypeaheadItem`.\r\n */\r\nexport interface TypeaheadOptions<T extends TypeaheadItem = TypeaheadItem> {\r\n /** The interval, in milliseconds, before searching items. */\r\n debounceInterval?: number;\r\n\r\n /** Function used to determine whether an item should be skipped. */\r\n skipPredicate?: (item: T) => boolean;\r\n\r\n /** Function invoked when an item is selected. */\r\n callback: (item: T) => void;\r\n}\r\n\r\n/**\r\n * Implements typeahead functionality which selects items based on keyboard input.\r\n * @template T The type of `TypeaheadItem`.\r\n */\r\nexport class Typeahead<T extends TypeaheadItem = TypeaheadItem> {\r\n /** @private */ #debounceInterval: number;\r\n /** @private */ #timeoutId = -1;\r\n /** @private */ #callback: (item: T) => void;\r\n /** @private */ #skipPredicate?: (item: T) => boolean;\r\n\r\n /** @private */ #pressedKeys = new Array<string>();\r\n /** @private */ #selectedIndex = -1;\r\n /** @private */ #items: readonly T[] = [];\r\n\r\n /**\r\n * Initializes a new instance of this class.\r\n * @param {TypeaheadOptions<T>} options Options that control typeahead behavior.\r\n */\r\n constructor(options: TypeaheadOptions<T>) {\r\n this.#debounceInterval = options.debounceInterval ?? 200;\r\n this.#callback = options.callback;\r\n this.#skipPredicate = options.skipPredicate;\r\n }\r\n\r\n /** A value indicating whether the user is currently typing. */\r\n get isTyping(): boolean {\r\n return this.#pressedKeys.length > 0;\r\n }\r\n\r\n /**\r\n * Sets the items to search.\r\n * @param {readonly T[]} items The items to search.\r\n */\r\n setItems(items: readonly T[]): void {\r\n this.#items = items;\r\n }\r\n\r\n /**\r\n * Sets the index of the selected item.\r\n * @param {number} index The index of the selected item.\r\n */\r\n setSelectedIndex(index: number): void {\r\n this.#selectedIndex = index;\r\n }\r\n\r\n /** Resets the stored sequence of typed characters. */\r\n reset(): void {\r\n this.#pressedKeys.length = 0;\r\n }\r\n\r\n /**\r\n * Sets the selected item depending on the key event passed in.\r\n * @param {KeyboardEvent} e The keyboard event to be used for determining which element should be active.\r\n */\r\n onKeyDown(e: KeyboardEvent): void {\r\n if (e.key && e.key.length === 1) {\r\n this.#appendKey(e.key);\r\n } else {\r\n const keycode = getKeyCode(e);\r\n if ((keycode >= KeyCode.A && keycode <= KeyCode.Z) || (keycode >= KeyCode.Zero && keycode <= KeyCode.Nine)) {\r\n this.#appendKey(String.fromCharCode(keycode));\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #appendKey(key: string): void {\r\n this.#pressedKeys.push(key.toLocaleUpperCase());\r\n clearTimeout(this.#timeoutId);\r\n this.#timeoutId = setTimeout(() => this.#searchItems(), this.#debounceInterval);\r\n }\r\n\r\n /** @private */\r\n #searchItems(): void {\r\n const term = this.#pressedKeys.join(\"\");\r\n for (let i = 1; i < this.#items.length + 1; i++) {\r\n const index = (this.#selectedIndex + i) % this.#items.length;\r\n const item = this.#items[index];\r\n const label = item[typeaheadLabel]?.().toLocaleUpperCase().trim();\r\n if (!this.#skipPredicate?.(item) && label?.indexOf(term) === 0) {\r\n this.#callback(item);\r\n break;\r\n }\r\n }\r\n this.reset();\r\n }\r\n}\r\n","/**\r\n * Adapted from Angular Material CDK KeyManager\r\n * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/key-manager/list-key-manager.ts\r\n *\r\n * @license MIT\r\n * Copyright (c) 2025 Google LLC\r\n * See LICENSE file in the project root for full license text.\r\n */\r\n\r\nimport { hasModifierKey, isModifierAllowed, ModifierKey } from \"../keycodes\";\r\nimport { isDisabledMixin } from \"../../shared/mixins/Disabled\";\r\n\r\nimport { ListManager } from \"./ListManager\";\r\nimport { Typeahead, TypeaheadItem } from \"./Typeahead\";\r\n\r\n/**\r\n * Utility for managing keyboard events for selectable lists.\r\n * @template T The type of managed item.\r\n */\r\nexport class ListKeyManager<T extends HTMLElement & TypeaheadItem> extends ListManager<T> {\r\n /** @private */ #typeahead?: Typeahead<T>;\r\n\r\n /**\r\n * Whether the active item will wrap to the other end of\r\n * list when there are no more items in the given direction.\r\n * @default false\r\n */\r\n public wrap = false;\r\n\r\n /**\r\n * Whether to activate the first and last items respectively when\r\n * the `HOME` or `END` key is pressed.\r\n * @default false\r\n */\r\n public homeAndEnd = false;\r\n\r\n /**\r\n * Whether to activate every 10th (or configured) first/last item\r\n * in the up/down direction when the `PAGEUP` or `PAGEDOWN` key is pressed.\r\n * @default false\r\n */\r\n public pageUpAndDown = false;\r\n\r\n /**\r\n * The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.\r\n * @default 10\r\n */\r\n public pageDelta = 10;\r\n\r\n /**\r\n * Whether to the list is oriented vertically.\r\n * @default false\r\n */\r\n public vertical = false;\r\n\r\n /** The allowed modifier keys.\r\n * @default []\r\n */\r\n public allowedModifiers: ModifierKey[] = [];\r\n\r\n /**\r\n * A function used to skip items.\r\n * @param {T} item The item to test.\r\n * @returns {boolean} Whether `item` should be skipped.\r\n */\r\n public skipPredicate: (item: T) => boolean = (item) => isDisabledMixin(item) && item.disabled;\r\n\r\n /** @inheritdoc */\r\n override setItems(items: T[]): { added: readonly T[]; removed: readonly T[] } {\r\n this.#typeahead?.setItems(items);\r\n return super.setItems(items);\r\n }\r\n\r\n /** @inheritdoc */\r\n override updateActiveItem(item: T | null | undefined): void {\r\n super.updateActiveItem(item);\r\n if (this.#typeahead) {\r\n this.#typeahead.setSelectedIndex(item ? this.items.indexOf(item) : -1);\r\n }\r\n }\r\n\r\n /**\r\n * Configures the key manager to activate the first and last items respectively when the `HOME` or `END` key is pressed.\r\n * @param {boolean} [enabled = true] Whether to activate the first and last items respectively when\r\n * the `HOME` or `END` key is pressed.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withHomeAndEnd(enabled: boolean = true): this {\r\n this.homeAndEnd = enabled;\r\n return this;\r\n }\r\n\r\n /**\r\n * Configures the key manager to page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.\r\n * @param {boolean} [enabled = true] Whether to activate page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.\r\n * @param {number} [pageDelta=10] The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withPageUpAndDown(enabled: boolean = true, pageDelta: number = 10): this {\r\n this.pageUpAndDown = enabled;\r\n this.pageDelta = pageDelta;\r\n return this;\r\n }\r\n\r\n /**\r\n * Configures wrapping mode, which determines whether the active item will wrap to the other end of list when there are no more items in the given direction.\r\n * @param {boolean} [enabled = true] Whether the active item will wrap to the other end of\r\n * list when there are no more items in the given direction.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withWrap(enabled: boolean = true): this {\r\n this.wrap = enabled;\r\n return this;\r\n }\r\n\r\n /**\r\n * Configures whether to move the selection vertically.\r\n * @param {boolean} [enabled = true] Whether to move selection vertically.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withVerticalOrientation(enabled: boolean = true): this {\r\n this.vertical = enabled;\r\n return this;\r\n }\r\n\r\n /**\r\n * Configured allowed modifier keys.\r\n * @param {ModifierKey[]} modifiers The allowed modifier keys.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withAllowedModifiers(...modifiers: ModifierKey[]): this {\r\n this.allowedModifiers = modifiers;\r\n return this;\r\n }\r\n\r\n /**\r\n * Configures whether typeahead is enabled.\r\n * @param {boolean} [enabled = true] Whether typeahead is enabled.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withTypeahead(enabled: boolean = true): this {\r\n if (enabled) {\r\n this.#typeahead = new Typeahead<T>({ callback: (item) => this.setActiveItem(item) });\r\n } else {\r\n this.#typeahead = undefined;\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Configures a function used to test whether an item should be skipped.\r\n * @param skipPredicate A function used to determine whether an item should be skipped.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withSkipPredicate(skipPredicate: (item: T) => boolean): this {\r\n this.skipPredicate = skipPredicate;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the active item depending on the key event passed in.\r\n * @param {KeyboardEvent} e The keyboard event to be used for determining which element should be active.\r\n */\r\n onKeyDown(e: KeyboardEvent): void {\r\n if (e.defaultPrevented) return;\r\n\r\n const modifierAllowed = isModifierAllowed(e, ...this.allowedModifiers);\r\n\r\n switch (e.key) {\r\n case \"Left\":\r\n case \"ArrowLeft\":\r\n if (modifierAllowed && !this.vertical) {\r\n e.preventDefault();\r\n const prev = this.#findPrevious();\r\n if (prev) {\r\n this.setActiveItem(prev);\r\n }\r\n }\r\n break;\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n if (modifierAllowed) {\r\n e.preventDefault();\r\n const prev = this.#findPrevious();\r\n if (prev) {\r\n this.setActiveItem(prev);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"Right\":\r\n case \"ArrowRight\":\r\n if (modifierAllowed && !this.vertical) {\r\n e.preventDefault();\r\n const next = this.#findNext();\r\n if (next) {\r\n this.setActiveItem(next);\r\n }\r\n }\r\n break;\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n if (modifierAllowed) {\r\n e.preventDefault();\r\n const next = this.#findNext();\r\n if (next) {\r\n this.setActiveItem(next);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"Home\":\r\n if (modifierAllowed && this.homeAndEnd) {\r\n e.preventDefault();\r\n const first = this.#findFirst();\r\n if (first) {\r\n this.setActiveItem(first);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"End\":\r\n if (modifierAllowed && this.homeAndEnd) {\r\n e.preventDefault();\r\n const last = this.#findLast();\r\n if (last) {\r\n this.setActiveItem(last);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"PageUp\":\r\n if (modifierAllowed && this.pageUpAndDown) {\r\n e.preventDefault();\r\n const prev = this.#findPreviousByIndex(\r\n this.activeItem ? Math.max(0, this.items.indexOf(this.activeItem) - this.pageDelta) : 0\r\n );\r\n if (prev) {\r\n this.setActiveItem(prev);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"PageDown\":\r\n if (modifierAllowed && this.pageUpAndDown) {\r\n e.preventDefault();\r\n const next = this.#findNextByIndex(\r\n this.activeItem\r\n ? Math.min(this.items.length - 1, this.items.indexOf(this.activeItem) + this.pageDelta)\r\n : this.items.length - 1\r\n );\r\n if (next) {\r\n this.setActiveItem(next);\r\n }\r\n }\r\n\r\n break;\r\n\r\n default:\r\n if (modifierAllowed || hasModifierKey(e, \"shift\")) {\r\n this.#typeahead?.onKeyDown(e);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #findFirst(): T | null {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i] === this.activeItem) break;\r\n const test = this.items[i];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /** @private */\r\n #findLast(): T | null {\r\n for (let i = this.items.length - 1; i >= 0; i--) {\r\n if (this.items[i] === this.activeItem) break;\r\n const test = this.items[i];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /** @private */\r\n #findNext(): T | null {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i] === this.activeItem) {\r\n for (let j = i + 1; j < this.items.length; j++) {\r\n const test = this.items[j];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return this.wrap ? this.#findFirst() : null;\r\n }\r\n\r\n /** @private */\r\n #findPrevious(): T | null {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i] === this.activeItem) {\r\n for (let j = i - 1; j >= 0; j--) {\r\n const test = this.items[j];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return this.wrap ? this.#findLast() : null;\r\n }\r\n\r\n /** @private */\r\n #findPreviousByIndex(index: number): T | null {\r\n for (let i = index; i >= 0; i--) {\r\n const test = this.items[i];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /** @private */\r\n #findNextByIndex(index: number): T | null {\r\n for (let i = index; i < this.items.length; i++) {\r\n const test = this.items[i];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { ListKeyManager } from \"./ListKeyManager\";\r\n\r\n/**\r\n * Utility for managing keyboard events for selectable lists whose items directly receive focus.\r\n * @template T The type of managed item.\r\n */\r\nexport class FocusKeyManager<T extends HTMLElement> extends ListKeyManager<T> {\r\n /** @private */ #focusOptions?: FocusOptions;\r\n\r\n /** @inheritdoc */\r\n override setActiveItem(item: T | null | undefined): void {\r\n super.setActiveItem(item);\r\n item?.focus(this.#focusOptions);\r\n }\r\n\r\n /**\r\n * Configures the key manager with options used to focus items.\r\n * @param {FocusOptions} options Options used to focus items.\r\n * @returns {FocusKeyManager<T>} The configured key manager.\r\n */\r\n withOptions(options: FocusOptions): this {\r\n this.#focusOptions = options;\r\n return this;\r\n }\r\n}\r\n","import { LitElement, PropertyValues } from \"lit\";\r\nimport { property } from \"lit/decorators.js\";\r\n\r\nimport { Constructor } from \"./Constructor\";\r\nimport { hasKeys } from \"./hasKeys\";\r\n\r\n/** Defines functionality for an element which supports a checked state. */\r\nexport interface CheckedMixin {\r\n /**\r\n * Whether the element is checked.\r\n * @default false\r\n */\r\n checked: boolean;\r\n}\r\n\r\n/**\r\n * Determines whether a value is a `CheckedMixin`.\r\n * @param {unknown} value The value to test.\r\n * @returns Whether `value` is a `CheckedMixin`.\r\n */\r\nexport function isCheckedMixin(value: unknown): value is CheckedMixin {\r\n return hasKeys<CheckedMixin>(value, \"checked\");\r\n}\r\n\r\n/**\r\n * Mixin to augment an element with behavior that supports a checked state.\r\n * @template T The type of the base class.\r\n * @param {T} base The base class.\r\n * @returns {Constructor<CheckedMixin> & T} A constructor that implements `CheckedMixin`.\r\n */\r\nexport function Checked<T extends Constructor<LitElement>>(base: T): Constructor<CheckedMixin> & T {\r\n abstract class _CheckedMixin extends base implements CheckedMixin {\r\n @property({ type: Boolean, reflect: true }) checked = false;\r\n\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"checked\")) {\r\n if (this.role === \"button\") {\r\n this.ariaPressed = `${this.checked}`;\r\n this.ariaChecked = null;\r\n } else if (this.role && this.role !== \"none\" && this.role !== \"presentation\") {\r\n this.ariaChecked = `${this.checked}`;\r\n this.ariaPressed = null;\r\n }\r\n }\r\n }\r\n }\r\n return _CheckedMixin;\r\n}\r\n","import { LitElement, PropertyValues } from \"lit\";\r\nimport { property } from \"lit/decorators.js\";\r\n\r\nimport { Constructor } from \"./Constructor\";\r\nimport { hasKeys } from \"./hasKeys\";\r\n\r\n/** Defines functionality for an element which supports a selected state. */\r\nexport interface SelectedMixin {\r\n /**\r\n * Whether the element is selected.\r\n * @default false\r\n */\r\n selected: boolean;\r\n}\r\n\r\n/**\r\n * Determines whether a value is a `SelectedMixin`.\r\n * @param {unknown} value The value to test.\r\n * @returns Whether `value` is a `SelectedMixin`.\r\n */\r\nexport function isSelectedMixin(value: unknown): value is SelectedMixin {\r\n return hasKeys<SelectedMixin>(value, \"selected\");\r\n}\r\n\r\n/**\r\n * Mixin to augment an element with behavior that supports a selected state.\r\n * @template T The type of the base class.\r\n * @param {T} base The base class.\r\n * @returns {Constructor<SelectedMixin> & T} A constructor that implements `SelectedMixin`.\r\n */\r\nexport function Selected<T extends Constructor<LitElement>>(base: T): Constructor<SelectedMixin> & T {\r\n abstract class _SelectedMixin extends base implements SelectedMixin {\r\n @property({ type: Boolean, reflect: true }) selected = false;\r\n\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"selected\")) {\r\n if (this.role === \"button\") {\r\n this.ariaPressed = `${this.selected}`;\r\n this.ariaSelected = null;\r\n } else if (this.role && this.role !== \"none\" && this.role !== \"presentation\") {\r\n this.ariaSelected = `${this.selected}`;\r\n this.ariaPressed = null;\r\n }\r\n }\r\n }\r\n }\r\n return _SelectedMixin;\r\n}\r\n","import { CheckedMixin, isCheckedMixin } from \"./Checked\";\r\nimport { isSelectedMixin, SelectedMixin } from \"./Selected\";\r\n\r\n/** Defines functionality for an element which supports either a checked or selected state. */\r\nexport type CheckedOrSelectedMixin = CheckedMixin | SelectedMixin;\r\n\r\n/**\r\n * Determines whether a value is a `CheckedOrSelectedMixin`.\r\n * @param {unknown} value The value to test.\r\n * @returns Whether `value` is a `CheckedOrSelectedMixin`.\r\n */\r\nexport function isCheckedOrSelectedMixin(value: unknown): value is CheckedOrSelectedMixin {\r\n return isCheckedMixin(value) || isSelectedMixin(value);\r\n}\r\n\r\n/**\r\n * Determines whether the state of an element is checked or selected.\r\n * @param {CheckedOrSelectedMixin} element The element to test.\r\n * @return {boolean} Whether `element` is checked or selected.\r\n */\r\nexport function isCheckedOrSelected(element: CheckedOrSelectedMixin): boolean {\r\n return (isCheckedMixin(element) && element.checked) || (isSelectedMixin(element) && element.selected);\r\n}\r\n\r\n/**\r\n * Sets the checked or selected state of an element.\r\n * @param {CheckedOrSelectedMixin} element The element for which to set the checked or selected state.\r\n * @param {boolean} checkedOrSelected The checked or selected state.\r\n */\r\nexport function checkOrSelect(element: CheckedOrSelectedMixin, checkedOrSelected: boolean): void {\r\n if (isCheckedMixin(element)) {\r\n element.checked = checkedOrSelected;\r\n } else {\r\n element.selected = checkedOrSelected;\r\n }\r\n}\r\n","import { FocusKeyManager } from \"./FocusKeyManager\";\r\n\r\n/**\r\n * Utility for managing keyboard events and a roving tab index for selectable lists whose items directly receive focus.\r\n * @template T The type of managed item.\r\n */\r\nexport class RovingTabIndexManager<T extends HTMLElement> extends FocusKeyManager<T> {\r\n /** @private */ #disableRovingTabIndex = false;\r\n\r\n /** @inheritdoc */\r\n override updateActiveItem(item: T | null | undefined): void {\r\n super.updateActiveItem(item);\r\n\r\n if (!this.#disableRovingTabIndex) {\r\n item?.setAttribute(\"tabindex\", \"0\");\r\n for (const other of this.items) {\r\n if (other !== item && other.hasAttribute(\"tabindex\")) {\r\n other.setAttribute(\"tabindex\", \"-1\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override setItems(items: T[]): { added: readonly T[]; removed: readonly T[] } {\r\n const result = super.setItems(items);\r\n\r\n if (!this.#disableRovingTabIndex) {\r\n for (const added of result.added) {\r\n if (added !== this.activeItem && !this.skipPredicate(added)) {\r\n added.setAttribute(\"tabindex\", \"-1\");\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Configures whether roving tab index is disabled.\r\n * @param {boolean} [disabled=true] Whether the roving tab index is disabled.\r\n * @returns {RovingTabIndexManager<T>} The configured roving tab index manager.\r\n */\r\n disableRovingTabIndex(disabled: boolean = true): this {\r\n if (disabled !== this.#disableRovingTabIndex) {\r\n this.#disableRovingTabIndex = disabled;\r\n for (const item of this.items) {\r\n if (!this.skipPredicate(item)) {\r\n item?.setAttribute(\"tabindex\", this.#disableRovingTabIndex || item === this.activeItem ? \"0\" : \"-1\");\r\n }\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n}\r\n","import { LitElement } from \"lit\";\r\n\r\nimport { CheckedOrSelectedMixin, isCheckedOrSelected } from \"../../shared/mixins/CheckedOrSelected\";\r\nimport { DisabledMixin } from \"../../shared/mixins/Disabled\";\r\n\r\nimport { RovingTabIndexManager } from \"./RovingTabIndexManager\";\r\n\r\n/**\r\n * Utility for managing keyboard events for selectable lists whose items behave like a radio.\r\n * @template T The type of managed item.\r\n */\r\nexport class RadioKeyManager<\r\n T extends LitElement & DisabledMixin & CheckedOrSelectedMixin\r\n> extends RovingTabIndexManager<T> {\r\n /** @private */ #disabled = false;\r\n\r\n /** A value indicating whether managed items are disabled. */\r\n get disabled(): boolean {\r\n return this.#disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this.#disabled = value;\r\n this.items.forEach((x) => (x.disabled = value));\r\n }\r\n\r\n /** @inheritdoc */\r\n override setItems(items: T[]): { added: readonly T[]; removed: readonly T[] } {\r\n if (this.disabled) {\r\n items.forEach((x) => (x.disabled = true));\r\n }\r\n\r\n const { added, removed } = super.setItems(items);\r\n\r\n if (added.length > 0 || removed.length > 0) {\r\n if (!this.activeItem) {\r\n this.updateActiveItem(added.find((x) => !this.skipPredicate(x)) ?? null);\r\n }\r\n\r\n if (this.activeItem && (this.activeItem.disabled || !isCheckedOrSelected(this.activeItem))) {\r\n const checked = added.find((x) => !this.skipPredicate(x) && isCheckedOrSelected(x));\r\n if (checked) {\r\n this.updateActiveItem(checked);\r\n }\r\n }\r\n }\r\n\r\n return { added, removed };\r\n }\r\n}\r\n","import { LitElement } from \"lit\";\r\n\r\nimport { CheckedOrSelectedMixin, checkOrSelect, isCheckedOrSelected } from \"../../shared/mixins/CheckedOrSelected\";\r\nimport { DisabledMixin } from \"../../shared/mixins/Disabled\";\r\n\r\nimport { RadioKeyManager } from \"./RadioKeyManager\";\r\n\r\n/** A symbol through which to access an element's selection manager. */\r\nexport const selectionManager = Symbol(\"selectionManager\");\r\n\r\n/**\r\n * Utility for managing keyboard events for selectable lists where one or more items can be selected.\r\n * @template T The type of managed item.\r\n */\r\nexport class SelectionManager<\r\n T extends LitElement & DisabledMixin & CheckedOrSelectedMixin\r\n> extends RadioKeyManager<T> {\r\n /** @private */ #onSelectedItemsChangeCallback?: () => void;\r\n /** @private */ #selectedItems = new Array<T>();\r\n /** @private */ #multi = false;\r\n\r\n /** A value indicating whether multiple items can be selected. */\r\n get multi(): boolean {\r\n return this.#multi;\r\n }\r\n set multi(value: boolean) {\r\n this.#multi = value;\r\n this.#enforceSingleSelect(true);\r\n }\r\n\r\n /** The selected items. */\r\n get selectedItems(): readonly T[] {\r\n return this.#selectedItems;\r\n }\r\n\r\n /**\r\n * Selects or deselects the item based on the item's checked or selected state.\r\n * @param {T} item The item whose selection state has changed.\r\n */\r\n notifySelectionChange(item: T): void {\r\n if (this.items.includes(item)) {\r\n if (isCheckedOrSelected(item)) {\r\n this.select(item);\r\n } else {\r\n this.deselect(item);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Deselects the specified item.\r\n * @param {T} item The item to deselect.\r\n */\r\n deselect(item: T): void {\r\n if (this.items.includes(item)) {\r\n if (isCheckedOrSelected(item)) {\r\n checkOrSelect(item, false);\r\n }\r\n\r\n const index = this.#selectedItems.indexOf(item);\r\n if (index >= 0) {\r\n this.#selectedItems.splice(index, 1);\r\n this.#onSelectedItemsChangeCallback?.();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Updates the selected item.\r\n * @param {T | null | undefined} item The selected item.\r\n * @param {boolean} [activate=true] A value indicating whether to activate the item.\r\n */\r\n select(item: T | null | undefined, activate: boolean = true): void {\r\n if (!item || this.items.includes(item)) {\r\n if (!this.multi) {\r\n for (const selected of this.#selectedItems) {\r\n if (selected !== item) {\r\n checkOrSelect(selected, false);\r\n }\r\n }\r\n this.#selectedItems.length = 0;\r\n }\r\n\r\n if (item) {\r\n this.#selectedItems.push(item);\r\n if (!isCheckedOrSelected(item)) {\r\n checkOrSelect(item, true);\r\n }\r\n }\r\n\r\n if (activate) {\r\n this.updateActiveItem(item);\r\n }\r\n\r\n this.#onSelectedItemsChangeCallback?.();\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override setItems(items: T[]): { added: readonly T[]; removed: readonly T[] } {\r\n const { added, removed } = super.setItems(items);\r\n\r\n this.#selectedItems = this.#selectedItems.filter((x) => !removed.includes(x));\r\n this.#selectedItems.push(...added.filter((x) => isCheckedOrSelected(x)));\r\n this.#enforceSingleSelect();\r\n this.#onSelectedItemsChangeCallback?.();\r\n return { added, removed };\r\n }\r\n\r\n /**\r\n * Configures the selection manager with a callback invoked when selected items change.\r\n * @param {() => void} callback The callback invoked when selected items change.\r\n * @returns {SelectionManager<T>} The configured selection manager.\r\n */\r\n onSelectedItemsChange(callback: () => void): this {\r\n this.#onSelectedItemsChangeCallback = callback;\r\n return this;\r\n }\r\n\r\n /** @private */\r\n #enforceSingleSelect(emit = false): void {\r\n if (!this.multi && this.#selectedItems.length > 1) {\r\n for (let i = 1; i < this.#selectedItems.length; i++) {\r\n checkOrSelect(this.#selectedItems[i], false);\r\n }\r\n this.#selectedItems.length = 1;\r\n if (emit) {\r\n this.#onSelectedItemsChangeCallback?.();\r\n }\r\n }\r\n }\r\n}\r\n","/**\r\n * Adapted from Angular Material CDK AriaDescriber\r\n * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/aria-describer/aria-reference.ts\r\n *\r\n * @license MIT\r\n * Copyright (c) 2025 Google LLC\r\n * See LICENSE file in the project root for full license text.\r\n */\r\n\r\n/**\r\n * Gets a list of IDs referenced by an element for the specified ARIA attribute.\r\n * @param {Element} element The element from which to get referenced IDs.\r\n * @param {`aria-${string}`} attribute The ARIA attribute from which to get referenced IDs.\r\n * @returns {string[]} a list of IDs referenced by `element` for `attribute`.\r\n */\r\nexport function getAriaReferenceIds(element: Element, attribute: `aria-${string}`): string[] {\r\n return element.getAttribute(attribute)?.match(/\\S+/g) ?? [];\r\n}\r\n\r\n/**\r\n * Adds an ID to the list of IDs referenced by an element for a given ARIA attribute.\r\n * @param {Element} element The element to which to add a referenced ID.\r\n * @param {`aria-${string}`} attribute The ARIA attribute to which to add an ID.\r\n * @param {string} id The ID to add.\r\n */\r\nexport function addAriaReferencedId(element: Element, attribute: `aria-${string}`, id: string): void {\r\n id = id.trim();\r\n\r\n const ids = getAriaReferenceIds(element, attribute);\r\n if (!ids.some((existingId) => existingId.trim() === id)) {\r\n ids.push(id);\r\n element.setAttribute(attribute, ids.join(\" \"));\r\n }\r\n}\r\n\r\n/**\r\n * Removes an ID from a list of IDs referenced by an element for the specified ARIA attribute.\r\n * @param {Element} element The element from which to remove an ID.\r\n * @param {`aria-${string}`} attribute The ARIA attribute from which to remove an ID.\r\n * @param {string} id The ID to remove.\r\n */\r\nexport function removeAriaReferencedId(element: Element, attribute: `aria-${string}`, id: string): void {\r\n id = id.trim();\r\n const ids = getAriaReferenceIds(element, attribute).filter((val) => val !== id);\r\n\r\n if (ids.length > 0) {\r\n element.setAttribute(attribute, ids.join(\" \"));\r\n } else {\r\n element.removeAttribute(attribute);\r\n }\r\n}\r\n","/**\r\n * Visually hides an element.\r\n * @param {CSSStyleDeclaration} style The style of the element to visually hide.\r\n */\r\nexport function visuallyHide(style: CSSStyleDeclaration): void {\r\n style.position = \"absolute\";\r\n style.appearance = \"none\";\r\n style.visibility = \"hidden\";\r\n style.border = \"0\";\r\n style.outline = \"0\";\r\n style.overflow = \"hidden\";\r\n style.left = \"0\";\r\n style.height = \"1px\";\r\n style.width = \"1px\";\r\n style.margin = \"-1px\";\r\n style.padding = \"0\";\r\n style.whiteSpace = \"nowrap\";\r\n}\r\n","/**\r\n * Adapted from Angular Material CDK ARIA Describer\r\n * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/aria-describer/aria-describer.ts\r\n *\r\n * @license MIT\r\n * Copyright (c) 2025 Google LLC\r\n * See LICENSE file in the project root for full license text.\r\n */\r\n\r\nimport { isServer } from \"lit\";\r\n\r\nimport { addAriaReferencedId, removeAriaReferencedId } from \"./aria-reference\";\r\nimport { visuallyHide } from \"./visuallyHide\";\r\n\r\n/** Utility for generating visually hidden elements that convey descriptive messages using `aria-describedby`. */\r\nexport class M3eAriaDescriber {\r\n /** @private */ static #nextId = 0;\r\n /** @private */ static #messageContainers = new Map<\r\n ParentNode,\r\n {\r\n containerElement: HTMLElement;\r\n messageRegistry: Map<string, { messageElement: Element; count: number }>;\r\n }\r\n >();\r\n\r\n /**\r\n * Adds an `aria-describedby` reference to a hidden element that contains the message.\r\n * @param {Element} element The element for which to provide a visually hidden description.\r\n * @param {string} message The message used to describe `element`.\r\n * @param {string} [role=\"tooltip\"] The ARIA role of the message.\r\n */\r\n static describe(element: Element, message: string, role: string = \"tooltip\"): void {\r\n if (isServer) {\r\n return;\r\n }\r\n\r\n const rootNode = element.getRootNode() as ParentNode;\r\n if (!(rootNode instanceof ShadowRoot || rootNode instanceof Document)) {\r\n return;\r\n }\r\n\r\n let container = this.#messageContainers.get(rootNode);\r\n if (!container) {\r\n container = {\r\n containerElement: this.#createMessageContainer(),\r\n messageRegistry: new Map<string, { messageElement: Element; count: number }>(),\r\n };\r\n\r\n // Append to body if document, otherwise, append as a child of shadow root.\r\n (rootNode instanceof Document ? rootNode.body : rootNode).appendChild(container.containerElement);\r\n this.#messageContainers.set(rootNode, container);\r\n }\r\n\r\n const key = `${role}:${message}`;\r\n let entry = container.messageRegistry.get(key);\r\n if (!entry) {\r\n entry = { messageElement: this.#createMessageElement(message, role), count: 0 };\r\n container.containerElement.appendChild(entry.messageElement);\r\n container.messageRegistry.set(key, entry);\r\n }\r\n\r\n entry.count++;\r\n\r\n addAriaReferencedId(element, \"aria-describedby\", entry.messageElement.id);\r\n }\r\n\r\n /**\r\n * Removes an `aria-describedby` reference to a hidden element that contains the message.\r\n * @param {Element} element The element from which to remove a visually hidden description.\r\n * @param {string} message The message used to describe `element`.\r\n * @param {string} [role=\"tooltip\"] The ARIA role of the message.\r\n */\r\n static removeDescription(element: Element, message: string, role: string = \"tooltip\"): void {\r\n if (isServer) {\r\n return;\r\n }\r\n\r\n const rootNode = element.getRootNode() as ParentNode;\r\n const container = this.#messageContainers.get(rootNode);\r\n if (!container) {\r\n return;\r\n }\r\n\r\n const key = `${role}:${message}`;\r\n const entry = container.messageRegistry.get(key);\r\n if (!entry) {\r\n return;\r\n }\r\n\r\n entry.count--;\r\n removeAriaReferencedId(element, \"aria-describedby\", entry.messageElement.id);\r\n\r\n // If there are no more elements referencing the message, remove it from the DOM.\r\n if (entry.count <= 0) {\r\n entry.messageElement.remove();\r\n container.messageRegistry.delete(key);\r\n }\r\n\r\n // If there are no more registered messages, remove the container from the DOM.\r\n if (container.messageRegistry.size == 0) {\r\n container.containerElement?.remove();\r\n this.#messageContainers.delete(rootNode);\r\n }\r\n }\r\n\r\n /** @private */\r\n static #createMessageContainer(): HTMLElement {\r\n const messageContainer = document.createElement(\"div\");\r\n messageContainer.classList.add(\"m3e-describedby-message-container\");\r\n visuallyHide(messageContainer.style);\r\n return messageContainer;\r\n }\r\n\r\n /** @private */\r\n static #createMessageElement(message: string, role: string): HTMLElement {\r\n const messageElement = document.createElement(\"span\");\r\n messageElement.id = `m3e-describedby-message-${this.#nextId++}`;\r\n messageElement.role = role;\r\n messageElement.ariaAtomic = \"true\";\r\n messageElement.innerText = message.trim();\r\n return messageElement;\r\n }\r\n}\r\n\r\ndeclare global {\r\n /** Utility for generating visually hidden elements that convey descriptive messages using `aria-describedby`. */\r\n var M3eAriaDescriber: M3eAriaDescriber;\r\n}\r\n\r\nglobalThis.M3eAriaDescriber = M3eAriaDescriber;\r\n","import { LitElement } from \"lit\";\r\n\r\nimport { Constructor } from \"./Constructor\";\r\n\r\n/** Specifies valid values for the ARIA `role` attribute. */\r\nexport type ARIARole =\r\n | \"alert\"\r\n | \"alertdialog\"\r\n | \"button\"\r\n | \"checkbox\"\r\n | \"dialog\"\r\n | \"gridcell\"\r\n | \"link\"\r\n | \"log\"\r\n | \"marquee\"\r\n | \"menuitem\"\r\n | \"menuitemcheckbox\"\r\n | \"menuitemradio\"\r\n | \"option\"\r\n | \"progressbar\"\r\n | \"radio\"\r\n | \"scrollbar\"\r\n | \"searchbox\"\r\n | \"slider\"\r\n | \"spinbutton\"\r\n | \"status\"\r\n | \"switch\"\r\n | \"tab\"\r\n | \"tabpanel\"\r\n | \"textbox\"\r\n | \"timer\"\r\n | \"tooltip\"\r\n | \"treeitem\"\r\n | \"combobox\"\r\n | \"grid\"\r\n | \"listbox\"\r\n | \"menu\"\r\n | \"menubar\"\r\n | \"radiogroup\"\r\n | \"tablist\"\r\n | \"tree\"\r\n | \"treegrid\"\r\n | \"application\"\r\n | \"article\"\r\n | \"cell\"\r\n | \"columnheader\"\r\n | \"definition\"\r\n | \"directory\"\r\n | \"document\"\r\n | \"feed\"\r\n | \"figure\"\r\n | \"group\"\r\n | \"heading\"\r\n | \"img\"\r\n | \"list\"\r\n | \"listitem\"\r\n | \"math\"\r\n | \"none\"\r\n | \"note\"\r\n | \"presentation\"\r\n | \"region\"\r\n | \"row\"\r\n | \"rowgroup\"\r\n | \"rowheader\"\r\n | \"separator\"\r\n | \"table\"\r\n | \"term\"\r\n | \"text\"\r\n | \"toolbar\"\r\n | \"banner\"\r\n | \"complementary\"\r\n | \"contentinfo\"\r\n | \"form\"\r\n | \"main\"\r\n | \"navigation\"\r\n | \"region\"\r\n | \"search\"\r\n | \"doc-abstract\"\r\n | \"doc-acknowledgments\"\r\n | \"doc-afterword\"\r\n | \"doc-appendix\"\r\n | \"doc-backlink\"\r\n | \"doc-biblioentry\"\r\n | \"doc-bibliography\"\r\n | \"doc-biblioref\"\r\n | \"doc-chapter\"\r\n | \"doc-colophon\"\r\n | \"doc-conclusion\"\r\n | \"doc-cover\"\r\n | \"doc-credit\"\r\n | \"doc-credits\"\r\n | \"doc-dedication\"\r\n | \"doc-endnote\"\r\n | \"doc-endnotes\"\r\n | \"doc-epigraph\"\r\n | \"doc-epilogue\"\r\n | \"doc-errata\"\r\n | \"doc-example\"\r\n | \"doc-footnote\"\r\n | \"doc-foreword\"\r\n | \"doc-glossary\"\r\n | \"doc-glossref\"\r\n | \"doc-index\"\r\n | \"doc-introduction\"\r\n | \"doc-noteref\"\r\n | \"doc-notice\"\r\n | \"doc-pagebreak\"\r\n | \"doc-pagelist\"\r\n | \"doc-part\"\r\n | \"doc-preface\"\r\n | \"doc-prologue\"\r\n | \"doc-pullquote\"\r\n | \"doc-qna\"\r\n | \"doc-subtitle\"\r\n | \"doc-tip\"\r\n | \"doc-toc\";\r\n\r\n/**\r\n * Mixin to augment an element with an ARIA role.\r\n * @template T The type of the base class.\r\n * @param {T} base The base class.\r\n * @param {ARIARole} role The ARIA role.\r\n * @returns {Constructor & T} A constructor that implements focusable behavior.\r\n */\r\nexport function Role<T extends Constructor<LitElement>>(base: T, role: ARIARole): Constructor & T {\r\n abstract class _RoleMixin extends base {\r\n override connectedCallback(): void {\r\n this.role = this.role || role;\r\n super.connectedCallback();\r\n }\r\n }\r\n\r\n return _RoleMixin;\r\n}\r\n","/** Utility for checking the interactivity of an element, such as whether it is focusable. */\r\nexport class M3eInteractivityChecker {\r\n /**\r\n * Determines whether a given element can receive focus.\r\n * @param {Element} element The element to test.\r\n * @param {readonly Element[]} [parents = undefined] The known parent elements to test. The default value is `undefined`.\r\n * @returns {boolean} Whether `element` can receive focus.\r\n */\r\n static isFocusable(element: Element, parents?: readonly Element[]): boolean {\r\n if (\r\n element.matches(\r\n \":is(button,input,select,textarea,object,:is(a,area)[href],[tabindex],[contenteditable=true]):not(:disabled,[disabled])\"\r\n )\r\n ) {\r\n return !this.#cannotFocusParent(parents);\r\n }\r\n\r\n if (\r\n !element.localName.includes(\"-\") ||\r\n !element.matches(\":not(:disabled,[disabled])\") ||\r\n element.getAttribute(\"aria-disabled\") === \"true\"\r\n ) {\r\n return false;\r\n }\r\n\r\n if (element.shadowRoot?.delegatesFocus) {\r\n return !this.#cannotFocusParent(parents);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n static #cannotFocusParent(parents?: readonly Element[]): boolean {\r\n return parents?.some((x) => x.matches(\":is([aria-hidden='true'],:disabled,[disabled])\")) ?? false;\r\n }\r\n\r\n /**\r\n * Finds interactive elements that descend from the specified element.\r\n * @param {HTMLElement} element The `HTMLElement` to search.\r\n * @returns {HTMLElement[]} The interactive elements that descend from `element`.\r\n */\r\n static findInteractiveElements(element: HTMLElement): HTMLElement[] {\r\n const elements = new Array<HTMLElement>();\r\n const walker = element.ownerDocument.createTreeWalker(element, NodeFilter.SHOW_ELEMENT);\r\n\r\n for (let node = walker.nextNode(); node; node = walker.nextNode()) {\r\n const element = <HTMLElement>walker.currentNode;\r\n if (this.isFocusable(element)) {\r\n elements.push(element);\r\n }\r\n }\r\n\r\n return elements;\r\n }\r\n}\r\n\r\ndeclare global {\r\n /** Utility for checking the interactivity of an element, such as whether it is focusable. */\r\n var M3eInteractivityChecker: M3eInteractivityChecker;\r\n}\r\n\r\nglobalThis.M3eInteractivityChecker = M3eInteractivityChecker;\r\n","import { css, CSSResultGroup, html, LitElement } from \"lit\";\r\nimport { customElement, query } from \"lit/decorators.js\";\r\n\r\nimport { Disabled } from \"../shared/mixins/Disabled\";\r\nimport { Role } from \"../shared/mixins/Role\";\r\n\r\nimport { M3eInteractivityChecker } from \"./InteractivityChecker\";\r\n\r\n/**\r\n * A non-visual element used to trap focus within nested content.\r\n * @tag m3e-focus-trap\r\n *\r\n * @slot - Renders content for which to trap focus.\r\n *\r\n * @attr disabled - Disables the focus trap.\r\n */\r\n@customElement(\"m3e-focus-trap\")\r\nexport class M3eFocusTrapElement extends Disabled(Role(LitElement, \"none\")) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: contents;\r\n }\r\n .trap {\r\n outline: none;\r\n }\r\n `;\r\n\r\n /** @private */ @query(\".trap\") private readonly _firstTrap!: HTMLElement | null;\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n const trap = html`<div\r\n class=\"trap\"\r\n .inert=\"${this.disabled}\"\r\n tabindex=\"0\"\r\n aria-hidden=\"true\"\r\n @focus=\"${this.#onFocus}\"\r\n ></div>`;\r\n return html`${trap}<slot></slot>${trap}`;\r\n }\r\n\r\n /** @private */\r\n #onFocus(e: FocusEvent): void {\r\n const [first, last] = this.#getFirstAndLastFocusableChild();\r\n const isFirst = e?.target === this._firstTrap;\r\n const fromFirst = e.relatedTarget === first;\r\n const fromLast = e.relatedTarget === last;\r\n const fromOutside = !fromFirst && !fromLast;\r\n\r\n if ((!isFirst && fromLast) || (isFirst && fromOutside)) {\r\n first?.focus();\r\n return;\r\n }\r\n if ((isFirst && fromFirst) || (!isFirst && fromOutside)) {\r\n last?.focus();\r\n }\r\n }\r\n\r\n /** @private */\r\n #getFirstAndLastFocusableChild(): [HTMLElement | null, HTMLElement | null] {\r\n let first: HTMLElement | null = null;\r\n let last: HTMLElement | null = null;\r\n\r\n this.#walkTree(this, [], (element, parents) => {\r\n if (\r\n M3eInteractivityChecker.isFocusable(element, parents) &&\r\n element instanceof HTMLElement &&\r\n element.tabIndex >= 0\r\n ) {\r\n first = first ?? element;\r\n last = element;\r\n }\r\n });\r\n\r\n return [first, last];\r\n }\r\n\r\n /** @private */\r\n #walkTree(\r\n root: Element,\r\n parents: readonly Element[],\r\n callback: (element: Element, parents: readonly Element[]) => void\r\n ): void {\r\n parents = [...parents, root];\r\n\r\n for (const node of root.childNodes) {\r\n if (node.nodeType !== Node.ELEMENT_NODE) continue;\r\n const element = <HTMLElement>node;\r\n\r\n callback(element, parents);\r\n\r\n if (element.shadowRoot) {\r\n this.#walkShadowRoot(element, parents, callback);\r\n } else if (element instanceof HTMLSlotElement) {\r\n this.#walkSlot(element, parents, callback);\r\n } else if (element.hasChildNodes()) {\r\n this.#walkTree(element, parents, callback);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #walkShadowRoot(\r\n root: Element,\r\n parents: readonly Element[],\r\n callback: (element: Element, parents: readonly Element[]) => void\r\n ): void {\r\n for (const node of root.shadowRoot?.childNodes ?? []) {\r\n if (node.nodeType !== Node.ELEMENT_NODE) continue;\r\n const element = <HTMLElement>node;\r\n callback(element, parents);\r\n if (!element.hasChildNodes()) continue;\r\n this.#walkTree(element, parents, callback);\r\n }\r\n }\r\n\r\n /** @private */\r\n #walkSlot(\r\n slot: HTMLSlotElement,\r\n parents: readonly Element[],\r\n callback: (element: Element, parents: readonly Element[]) => void\r\n ) {\r\n for (const node of slot.assignedElements()) {\r\n callback(node, parents);\r\n if (!node.hasChildNodes()) continue;\r\n this.#walkTree(node, parents, callback);\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-focus-trap\": M3eFocusTrapElement;\r\n }\r\n}\r\n","/**\r\n * Adapted from Angular Material CDK Live Announcer\r\n * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/live-announcer/live-announcer.ts\r\n *\r\n * @license MIT\r\n * Copyright (c) 2025 Google LLC\r\n * See LICENSE file in the project root for full license text.\r\n */\r\n\r\nimport { isServer } from \"lit\";\r\n\r\nimport { addAriaReferencedId } from \"./aria-reference\";\r\nimport { visuallyHide } from \"./visuallyHide\";\r\n\r\n/** Specifies the possible politeness levels in which to announce messages. */\r\nexport type ARIALivePoliteness = \"off\" | \"polite\" | \"assertive\";\r\n\r\n/** Utility for announcing messages to screen readers. */\r\nexport class M3eLiveAnnouncer {\r\n /** @private */ static #nextId = 0;\r\n /** @private */ static #liveElement?: HTMLElement;\r\n /** @private */ static #previousTimeout: number;\r\n /** @private */ static #currentPromise?: Promise<void>;\r\n /** @private */ static #currentResolve?: () => void;\r\n\r\n /**\r\n * Announces the specified message to screen readers.\r\n * @param {string} message The message to announce.\r\n * @returns {Promise<void>} A `Promise` that resolves when `message` is added to the DOM.\r\n */\r\n static announce(message: string): Promise<void>;\r\n\r\n /**\r\n * Announces the specified message to screen readers.\r\n * @param {string} message The message to announce.\r\n * @param {ARIALivePoliteness | undefined} politeness The politeness in which to announce `message`.\r\n * @returns {Promise<void>} A `Promise` that resolves when `message` is added to the DOM.\r\n */\r\n static announce(message: string, politeness?: ARIALivePoliteness): Promise<void>;\r\n\r\n /**\r\n * Announces the specified message to screen readers.\r\n * @param {string} message The message to announce.\r\n * @param {number | undefined} duration The duration, in milliseconds, after which to clear the announcement. Note\r\n * that this takes effect after the message has been added to the DOM, which can be up to\r\n * 100ms after `announce` has been called.\r\n * @returns {Promise<void>} A `Promise` that resolves when `message` is added to the DOM.\r\n */\r\n static announce(message: string, duration?: number): Promise<void>;\r\n\r\n /**\r\n * Announces the specified message to screen readers.\r\n * @param {string} message The message to announce.\r\n * @param {ARIALivePoliteness | undefined} politeness The politeness in which to announce `message`.\r\n * @param {number | undefined} duration The duration, in milliseconds, after which to clear the announcement. Note\r\n * that this takes effect after the message has been added to the DOM, which can be up to 100ms after `announce` has been called.\r\n * @returns {Promise<void>} A `Promise` that resolves when `message` is added to the DOM.\r\n */\r\n static announce(message: string, politeness?: ARIALivePoliteness, duration?: number): Promise<void>;\r\n\r\n static announce(message: string, ...args: any[]): Promise<void> {\r\n if (isServer) {\r\n return Promise.resolve();\r\n }\r\n\r\n this.#liveElement = this.#liveElement ?? this.#createLiveElement();\r\n\r\n let politeness: ARIALivePoliteness | undefined;\r\n let duration: number | undefined;\r\n\r\n if (args.length === 1 && typeof args[0] === \"number\") {\r\n duration = args[0];\r\n } else {\r\n [politeness, duration] = args;\r\n }\r\n\r\n this.clear();\r\n clearTimeout(this.#previousTimeout);\r\n\r\n this.#liveElement.setAttribute(\"aria-live\", politeness ?? \"polite\");\r\n\r\n for (const modal of document.querySelectorAll(\"m3e-dialog\")) {\r\n addAriaReferencedId(modal, \"aria-owns\", this.#liveElement.id);\r\n }\r\n\r\n this.#currentPromise = this.#currentPromise ?? new Promise((resolve) => (this.#currentResolve = resolve));\r\n clearTimeout(this.#previousTimeout);\r\n\r\n this.#previousTimeout = setTimeout(() => {\r\n if (!this.#liveElement) {\r\n return;\r\n }\r\n\r\n this.#liveElement.textContent = message;\r\n if (duration !== undefined) {\r\n this.#previousTimeout = setTimeout(() => this.clear(), duration);\r\n }\r\n\r\n this.#currentResolve?.();\r\n this.#currentPromise = this.#currentResolve = undefined;\r\n }, 100);\r\n\r\n return this.#currentPromise;\r\n }\r\n\r\n /**\r\n * Clears the current text from the announcer element. Can be used to prevent\r\n * screen readers from reading the text out again while the user is going\r\n * through page landmarks.\r\n */\r\n static clear() {\r\n if (this.#liveElement) {\r\n this.#liveElement.textContent = \"\";\r\n }\r\n }\r\n\r\n /** @private */\r\n static #createLiveElement(): HTMLElement {\r\n const prev = document.getElementsByClassName(\"m3e-live-announcer\");\r\n for (let i = 0; i < prev.length; i++) {\r\n prev[i].remove();\r\n }\r\n\r\n const liveAnnouncer = document.createElement(\"div\");\r\n liveAnnouncer.classList.add(\"m3e-live-announcer\");\r\n liveAnnouncer.setAttribute(\"aria-atomic\", \"true\");\r\n liveAnnouncer.setAttribute(\"aria-live\", \"polite\");\r\n liveAnnouncer.id = `m3e-live-announcer-${this.#nextId++}`;\r\n\r\n visuallyHide(liveAnnouncer.style);\r\n\r\n document.body.append(liveAnnouncer);\r\n\r\n return liveAnnouncer;\r\n }\r\n}\r\n\r\ndeclare global {\r\n /** Utility for announcing messages to screen readers. */\r\n var M3eLiveAnnouncer: M3eLiveAnnouncer;\r\n}\r\n\r\nglobalThis.M3eLiveAnnouncer = M3eLiveAnnouncer;\r\n"],"names":["t","e","o","r","n","c","s","property","_a","query","customElement"],"mappings":"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","x_google_ignoreList":[0,6,7,8,9,10,11]}
|
|
1
|
+
{"version":3,"file":"a11y.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../src/a11y/keycodes/ModifierKeys.ts","../../src/a11y/keycodes/KeyCode.ts","../../src/a11y/keycodes/getKeyCode.ts","../../src/a11y/keycodes/hasModifierKey.ts","../../src/a11y/keycodes/isModifierAllowed.ts","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/base.js","../../../node_modules/@lit/reactive-element/decorators/query.js","../../src/shared/mixins/hasKeys.ts","../../src/shared/mixins/Disabled.ts","../../src/a11y/list-key/ListManager.ts","../../src/a11y/list-key/Typeahead.ts","../../src/a11y/list-key/ListKeyManager.ts","../../src/a11y/list-key/FocusKeyManager.ts","../../src/shared/mixins/Checked.ts","../../src/shared/mixins/Selected.ts","../../src/shared/mixins/CheckedOrSelected.ts","../../src/a11y/list-key/RovingTabIndexManager.ts","../../src/a11y/list-key/RadioKeyManager.ts","../../src/a11y/list-key/SelectionManager.ts","../../src/a11y/aria-reference.ts","../../src/a11y/visuallyHide.ts","../../src/a11y/AriaDescriber.ts","../../src/a11y/InteractivityChecker.ts","../../src/a11y/FocusTrapElement.ts","../../src/a11y/LiveAnnouncer.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","/** Specifies the keyboard modifier keys. */\r\nexport type ModifierKey = \"alt\" | \"shift\" | \"ctrl\" | \"meta\";\r\n\r\n/** The modifier keys. */\r\nexport const ModifierKeys: readonly ModifierKey[] = [\"alt\", \"shift\", \"ctrl\", \"meta\"];\r\n","/** Specifies known key code values. */\r\nexport enum KeyCode {\r\n Backspace = 8,\r\n Tab = 9,\r\n Enter = 13,\r\n Shift = 16,\r\n Ctrl = 17,\r\n Alt = 18,\r\n PauseBreak = 19,\r\n CapsLock = 20,\r\n Escape = 27,\r\n Space = 32,\r\n PageUp = 33,\r\n PageDown = 34,\r\n End = 35,\r\n Home = 36,\r\n\r\n LeftArrow = 37,\r\n UpArrow = 38,\r\n RightArrow = 39,\r\n DownArrow = 40,\r\n\r\n Insert = 45,\r\n Delete = 46,\r\n\r\n Zero = 48,\r\n ClosedParen = Zero,\r\n One = 49,\r\n ExclamationMark = One,\r\n Two = 50,\r\n AtSign = Two,\r\n Three = 51,\r\n PoundSign = Three,\r\n Hash = PoundSign,\r\n Four = 52,\r\n DollarSign = Four,\r\n Five = 53,\r\n PercentSign = Five,\r\n Six = 54,\r\n Caret = Six,\r\n Hat = Caret,\r\n Seven = 55,\r\n Ampersand = Seven,\r\n Eight = 56,\r\n Star = Eight,\r\n Asterik = Star,\r\n Nine = 57,\r\n OpenParen = Nine,\r\n\r\n A = 65,\r\n B = 66,\r\n C = 67,\r\n D = 68,\r\n E = 69,\r\n F = 70,\r\n G = 71,\r\n H = 72,\r\n I = 73,\r\n J = 74,\r\n K = 75,\r\n L = 76,\r\n M = 77,\r\n N = 78,\r\n O = 79,\r\n P = 80,\r\n Q = 81,\r\n R = 82,\r\n S = 83,\r\n T = 84,\r\n U = 85,\r\n V = 86,\r\n W = 87,\r\n X = 88,\r\n Y = 89,\r\n Z = 90,\r\n\r\n LeftWindowKey = 91,\r\n RightWindowKey = 92,\r\n SelectKey = 93,\r\n\r\n Numpad0 = 96,\r\n Numpad1 = 97,\r\n Numpad2 = 98,\r\n Numpad3 = 99,\r\n Numpad4 = 100,\r\n Numpad5 = 101,\r\n Numpad6 = 102,\r\n Numpad7 = 103,\r\n Numpad8 = 104,\r\n Numpad9 = 105,\r\n\r\n Multiply = 106,\r\n Add = 107,\r\n Subtract = 109,\r\n DecimalPoint = 110,\r\n Divide = 111,\r\n\r\n F1 = 112,\r\n F2 = 113,\r\n F3 = 114,\r\n F4 = 115,\r\n F5 = 116,\r\n F6 = 117,\r\n F7 = 118,\r\n F8 = 119,\r\n F9 = 120,\r\n F10 = 121,\r\n F11 = 122,\r\n F12 = 123,\r\n\r\n NumLock = 144,\r\n ScrollLock = 145,\r\n\r\n SemiColon = 186,\r\n Equals = 187,\r\n Comma = 188,\r\n Dash = 189,\r\n Period = 190,\r\n UnderScore = Dash,\r\n PlusSign = Equals,\r\n ForwardSlash = 191,\r\n Tilde = 192,\r\n GraveAccent = Tilde,\r\n\r\n OpenBracket = 219,\r\n ClosedBracket = 221,\r\n Quote = 222,\r\n}\r\n","/**\r\n * Resolves the key code for the specified `KeyboardEvent`.\r\n * @param {KeyboardEvent} e The `KeyboardEvent` for which to resolve the key code.\r\n * @returns {number} The key code for `e`.\r\n */\r\nexport function getKeyCode(e: KeyboardEvent): number {\r\n return e.which || e.charCode || e.keyCode;\r\n}\r\n","import { ModifierKey } from \"./ModifierKeys\";\r\n\r\n/**\r\n * Determines whether a modifier key is pressed.\r\n * @param {KeyboardEvent} e The `KeyboardEvent` to test.\r\n * @param {ModifierKey[]} modifiers The modifier keys to test.\r\n * @returns {boolean} A value indicating whether a modifier key is pressed.\r\n */\r\nexport function hasModifierKey(e: KeyboardEvent, ...modifiers: ModifierKey[]): boolean {\r\n return modifiers.length ? modifiers.some((x) => e[`${x}Key`]) : e.altKey || e.shiftKey || e.ctrlKey || e.metaKey;\r\n}\r\n","import { hasModifierKey } from \"./hasModifierKey\";\r\nimport { ModifierKey, ModifierKeys } from \"./ModifierKeys\";\r\n\r\n/**\r\n * Determines whether the specified modifier keys are allowed.\r\n * @param {KeyboardEvent} e The `KeyboardEvent` to test.\r\n * @param {ModifierKey[]} modifiers The allowed modifier keys.\r\n * @returns {boolean} A value indicating whether `modifiers` are allowed.\r\n */\r\nexport function isModifierAllowed(e: KeyboardEvent, ...modifiers: ModifierKey[]): boolean {\r\n return ModifierKeys.every((x) => !hasModifierKey(e, x) || modifiers.includes(x));\r\n}\r\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer((()=>{customElements.define(t,e)})):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{defaultConverter as t,notEqual as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:t,reflect:!1,hasChanged:e},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","/**\r\n * Determines whether an object has keys for a given type.\r\n * @template T The type to test.\r\n * @param {unknown} value The value to test.\r\n * @param {...keys: Array<keyof T>} keys The keys of `T` to test.\r\n * @returns {boolean} Whether `value` has all `keys`.\r\n */\r\nexport function hasKeys<T extends object>(value: unknown, ...keys: Array<keyof T>): boolean {\r\n return typeof value === \"object\" && value !== null && keys.every((x) => x in value);\r\n}\r\n","import { LitElement, PropertyValues } from \"lit\";\r\nimport { property } from \"lit/decorators.js\";\r\n\r\nimport { Constructor } from \"./Constructor\";\r\nimport { hasKeys } from \"./hasKeys\";\r\n\r\n/** Defines functionality for an element which supports a disabled state. */\r\nexport interface DisabledMixin {\r\n /**\r\n * Whether the element is disabled.\r\n * @default false\r\n */\r\n disabled: boolean;\r\n}\r\n\r\n/**\r\n * Determines whether a value is a `DisabledMixin`.\r\n * @param {unknown} value The value to test.\r\n * @returns {value is DisabledMixin} Whether `value` is a `DisabledMixin`.\r\n */\r\nexport function isDisabledMixin(value: unknown): value is DisabledMixin {\r\n return hasKeys<DisabledMixin>(value, \"disabled\");\r\n}\r\n\r\n/**\r\n * Mixin to augment an element with behavior that supports a disabled state.\r\n * @template T The type of the base class.\r\n * @param {T} base The base class.\r\n * @param {boolean} [reflect=true] Whether the disabled property is reflected as an attribute.\r\n * @returns {Constructor<DisabledMixin> & T} A constructor that implements `DisabledMixin`.\r\n */\r\nexport function Disabled<T extends Constructor<LitElement>>(\r\n base: T,\r\n reflect: boolean = true\r\n): Constructor<DisabledMixin> & T {\r\n abstract class _DisabledMixin extends base implements DisabledMixin {\r\n /**\r\n * Whether the element is disabled.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: reflect }) disabled = false;\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"disabled\") && this.role && this.role !== \"none\" && this.role !== \"presentation\") {\r\n this.ariaDisabled = this.disabled ? \"true\" : null;\r\n }\r\n }\r\n }\r\n\r\n return _DisabledMixin;\r\n}\r\n","/**\r\n * Utility for managing a list of items which supports activation.\r\n * @template T The type of managed item.\r\n */\r\nexport class ListManager<T> {\r\n /** @private */ #items = new Array<T>();\r\n /** @private */ #activeItem: T | null = null;\r\n /** @private */ #onActiveItemChangeCallback?: () => void;\r\n\r\n /** The items being managed. */\r\n get items(): ReadonlyArray<T> {\r\n return this.#items;\r\n }\r\n\r\n /** The active item. */\r\n get activeItem(): T | null {\r\n return this.#activeItem;\r\n }\r\n\r\n /**\r\n * Sets the items to manage.\r\n * @param {Array<T>} items The new items.\r\n * @returns {{ added: ReadonlyArray<T>; removed: ReadonlyArray<T> }} An object specifying added and removed items.\r\n */\r\n setItems(items: Array<T>): { added: ReadonlyArray<T>; removed: ReadonlyArray<T> } {\r\n const removed = this.items.filter((x) => !items.includes(x));\r\n const added = items.filter((x) => !this.items.includes(x));\r\n\r\n this.#items = items;\r\n\r\n if (this.activeItem && !this.items.includes(this.activeItem)) {\r\n this.updateActiveItem(null);\r\n }\r\n\r\n return { added, removed };\r\n }\r\n\r\n /**\r\n * Sets the active item.\r\n * @param {T | null | undefined} item The new active item.\r\n */\r\n setActiveItem(item: T | null | undefined): void {\r\n if (this.activeItem !== item) {\r\n this.updateActiveItem(item);\r\n this.#onActiveItemChangeCallback?.();\r\n }\r\n }\r\n\r\n /**\r\n * Updates the active item.\r\n * @param {T | null | undefined} item The active item.\r\n */\r\n updateActiveItem(item: T | null | undefined): void {\r\n this.#activeItem = item ?? null;\r\n }\r\n\r\n /**\r\n * Configures the list manager with a callback invoked when an item is activated.\r\n * @param {() => void} callback The callback invoked when an item is activated.\r\n * @returns {ListManager<T>} The configured list manager.\r\n */\r\n onActiveItemChange(callback: () => void): this {\r\n this.#onActiveItemChangeCallback = callback;\r\n return this;\r\n }\r\n}\r\n","/**\r\n * Adapted from Angular Material CDK KeyManager\r\n * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/key-manager/typeahead.ts\r\n *\r\n * @license MIT\r\n * Copyright (c) 2025 Google LLC\r\n * See LICENSE file in the project root for full license text.\r\n */\r\n\r\nimport { getKeyCode, KeyCode } from \"../keycodes\";\r\nimport { hasKeys } from \"../../shared/mixins/hasKeys\";\r\n\r\n/** A symbol through which to access an element's textual content used for typeahead search. */\r\nexport const typeaheadLabel = Symbol(\"typeaheadLabel\");\r\n\r\n/** Defines functionality required for an item that supports searching using typeahead. */\r\nexport interface TypeaheadItem {\r\n /** Returns the textual content to search. */\r\n [typeaheadLabel]?(): string;\r\n}\r\n\r\n/**\r\n * Determines whether a value is a `TypeaheadItem`.\r\n * @param {unknown} value The value to test.\r\n * @returns A value indicating whether `value` is an `TypeaheadItem`.\r\n */\r\nexport function isTypeaheadItem(value: unknown): value is TypeaheadItem {\r\n return hasKeys<TypeaheadItem>(value, typeaheadLabel);\r\n}\r\n\r\n/** Encapsulates options used to select items based on typeahead.\r\n * @template T The type of `TypeaheadItem`.\r\n */\r\nexport interface TypeaheadOptions<T extends TypeaheadItem = TypeaheadItem> {\r\n /** The interval, in milliseconds, before searching items. */\r\n debounceInterval?: number;\r\n\r\n /** Function used to determine whether an item should be skipped. */\r\n skipPredicate?: (item: T) => boolean;\r\n\r\n /** Function invoked when an item is selected. */\r\n callback: (item: T) => void;\r\n}\r\n\r\n/**\r\n * Implements typeahead functionality which selects items based on keyboard input.\r\n * @template T The type of `TypeaheadItem`.\r\n */\r\nexport class Typeahead<T extends TypeaheadItem = TypeaheadItem> {\r\n /** @private */ #debounceInterval: number;\r\n /** @private */ #timeoutId = -1;\r\n /** @private */ #callback: (item: T) => void;\r\n /** @private */ #skipPredicate?: (item: T) => boolean;\r\n\r\n /** @private */ #pressedKeys = new Array<string>();\r\n /** @private */ #selectedIndex = -1;\r\n /** @private */ #items: readonly T[] = [];\r\n\r\n /**\r\n * Initializes a new instance of this class.\r\n * @param {TypeaheadOptions<T>} options Options that control typeahead behavior.\r\n */\r\n constructor(options: TypeaheadOptions<T>) {\r\n this.#debounceInterval = options.debounceInterval ?? 200;\r\n this.#callback = options.callback;\r\n this.#skipPredicate = options.skipPredicate;\r\n }\r\n\r\n /** A value indicating whether the user is currently typing. */\r\n get isTyping(): boolean {\r\n return this.#pressedKeys.length > 0;\r\n }\r\n\r\n /**\r\n * Sets the items to search.\r\n * @param {readonly T[]} items The items to search.\r\n */\r\n setItems(items: readonly T[]): void {\r\n this.#items = items;\r\n }\r\n\r\n /**\r\n * Sets the index of the selected item.\r\n * @param {number} index The index of the selected item.\r\n */\r\n setSelectedIndex(index: number): void {\r\n this.#selectedIndex = index;\r\n }\r\n\r\n /** Resets the stored sequence of typed characters. */\r\n reset(): void {\r\n this.#pressedKeys.length = 0;\r\n }\r\n\r\n /**\r\n * Sets the selected item depending on the key event passed in.\r\n * @param {KeyboardEvent} e The keyboard event to be used for determining which element should be active.\r\n */\r\n onKeyDown(e: KeyboardEvent): void {\r\n if (e.key && e.key.length === 1) {\r\n this.#appendKey(e.key);\r\n } else {\r\n const keycode = getKeyCode(e);\r\n if ((keycode >= KeyCode.A && keycode <= KeyCode.Z) || (keycode >= KeyCode.Zero && keycode <= KeyCode.Nine)) {\r\n this.#appendKey(String.fromCharCode(keycode));\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #appendKey(key: string): void {\r\n this.#pressedKeys.push(key.toLocaleUpperCase());\r\n clearTimeout(this.#timeoutId);\r\n this.#timeoutId = setTimeout(() => this.#searchItems(), this.#debounceInterval);\r\n }\r\n\r\n /** @private */\r\n #searchItems(): void {\r\n const term = this.#pressedKeys.join(\"\");\r\n for (let i = 1; i < this.#items.length + 1; i++) {\r\n const index = (this.#selectedIndex + i) % this.#items.length;\r\n const item = this.#items[index];\r\n const label = item[typeaheadLabel]?.().toLocaleUpperCase().trim();\r\n if (!this.#skipPredicate?.(item) && label?.indexOf(term) === 0) {\r\n this.#callback(item);\r\n break;\r\n }\r\n }\r\n this.reset();\r\n }\r\n}\r\n","/**\r\n * Adapted from Angular Material CDK KeyManager\r\n * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/key-manager/list-key-manager.ts\r\n *\r\n * @license MIT\r\n * Copyright (c) 2025 Google LLC\r\n * See LICENSE file in the project root for full license text.\r\n */\r\n\r\nimport { hasModifierKey, isModifierAllowed, ModifierKey } from \"../keycodes\";\r\nimport { isDisabledMixin } from \"../../shared/mixins/Disabled\";\r\n\r\nimport { ListManager } from \"./ListManager\";\r\nimport { Typeahead, TypeaheadItem } from \"./Typeahead\";\r\n\r\n/**\r\n * Utility for managing keyboard events for selectable lists.\r\n * @template T The type of managed item.\r\n */\r\nexport class ListKeyManager<T extends HTMLElement & TypeaheadItem> extends ListManager<T> {\r\n /** @private */ #typeahead?: Typeahead<T>;\r\n\r\n /**\r\n * Whether the active item will wrap to the other end of\r\n * list when there are no more items in the given direction.\r\n * @default false\r\n */\r\n public wrap = false;\r\n\r\n /**\r\n * Whether to activate the first and last items respectively when\r\n * the `HOME` or `END` key is pressed.\r\n * @default false\r\n */\r\n public homeAndEnd = false;\r\n\r\n /**\r\n * Whether to activate every 10th (or configured) first/last item\r\n * in the up/down direction when the `PAGEUP` or `PAGEDOWN` key is pressed.\r\n * @default false\r\n */\r\n public pageUpAndDown = false;\r\n\r\n /**\r\n * The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.\r\n * @default 10\r\n */\r\n public pageDelta = 10;\r\n\r\n /**\r\n * Whether to the list is oriented vertically.\r\n * @default false\r\n */\r\n public vertical = false;\r\n\r\n /** The allowed modifier keys.\r\n * @default []\r\n */\r\n public allowedModifiers: ModifierKey[] = [];\r\n\r\n /**\r\n * A function used to skip items.\r\n * @param {T} item The item to test.\r\n * @returns {boolean} Whether `item` should be skipped.\r\n */\r\n public skipPredicate: (item: T) => boolean = (item) => isDisabledMixin(item) && item.disabled;\r\n\r\n /** @inheritdoc */\r\n override setItems(items: T[]): { added: readonly T[]; removed: readonly T[] } {\r\n this.#typeahead?.setItems(items);\r\n return super.setItems(items);\r\n }\r\n\r\n /** @inheritdoc */\r\n override updateActiveItem(item: T | null | undefined): void {\r\n super.updateActiveItem(item);\r\n if (this.#typeahead) {\r\n this.#typeahead.setSelectedIndex(item ? this.items.indexOf(item) : -1);\r\n }\r\n }\r\n\r\n /**\r\n * Configures the key manager to activate the first and last items respectively when the `HOME` or `END` key is pressed.\r\n * @param {boolean} [enabled = true] Whether to activate the first and last items respectively when\r\n * the `HOME` or `END` key is pressed.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withHomeAndEnd(enabled: boolean = true): this {\r\n this.homeAndEnd = enabled;\r\n return this;\r\n }\r\n\r\n /**\r\n * Configures the key manager to page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.\r\n * @param {boolean} [enabled = true] Whether to activate page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.\r\n * @param {number} [pageDelta=10] The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withPageUpAndDown(enabled: boolean = true, pageDelta: number = 10): this {\r\n this.pageUpAndDown = enabled;\r\n this.pageDelta = pageDelta;\r\n return this;\r\n }\r\n\r\n /**\r\n * Configures wrapping mode, which determines whether the active item will wrap to the other end of list when there are no more items in the given direction.\r\n * @param {boolean} [enabled = true] Whether the active item will wrap to the other end of\r\n * list when there are no more items in the given direction.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withWrap(enabled: boolean = true): this {\r\n this.wrap = enabled;\r\n return this;\r\n }\r\n\r\n /**\r\n * Configures whether to move the selection vertically.\r\n * @param {boolean} [enabled = true] Whether to move selection vertically.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withVerticalOrientation(enabled: boolean = true): this {\r\n this.vertical = enabled;\r\n return this;\r\n }\r\n\r\n /**\r\n * Configured allowed modifier keys.\r\n * @param {ModifierKey[]} modifiers The allowed modifier keys.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withAllowedModifiers(...modifiers: ModifierKey[]): this {\r\n this.allowedModifiers = modifiers;\r\n return this;\r\n }\r\n\r\n /**\r\n * Configures whether typeahead is enabled.\r\n * @param {boolean} [enabled = true] Whether typeahead is enabled.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withTypeahead(enabled: boolean = true): this {\r\n if (enabled) {\r\n this.#typeahead = new Typeahead<T>({ callback: (item) => this.setActiveItem(item) });\r\n } else {\r\n this.#typeahead = undefined;\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Configures a function used to test whether an item should be skipped.\r\n * @param skipPredicate A function used to determine whether an item should be skipped.\r\n * @returns {ListKeyManager<T>} The configured key manager.\r\n */\r\n withSkipPredicate(skipPredicate: (item: T) => boolean): this {\r\n this.skipPredicate = skipPredicate;\r\n return this;\r\n }\r\n\r\n /**\r\n * Sets the active item depending on the key event passed in.\r\n * @param {KeyboardEvent} e The keyboard event to be used for determining which element should be active.\r\n */\r\n onKeyDown(e: KeyboardEvent): void {\r\n if (e.defaultPrevented) return;\r\n\r\n const modifierAllowed = isModifierAllowed(e, ...this.allowedModifiers);\r\n\r\n switch (e.key) {\r\n case \"Left\":\r\n case \"ArrowLeft\":\r\n if (modifierAllowed && !this.vertical) {\r\n e.preventDefault();\r\n const prev = this.#findPrevious();\r\n if (prev) {\r\n this.setActiveItem(prev);\r\n }\r\n }\r\n break;\r\n case \"Up\":\r\n case \"ArrowUp\":\r\n if (modifierAllowed) {\r\n e.preventDefault();\r\n const prev = this.#findPrevious();\r\n if (prev) {\r\n this.setActiveItem(prev);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"Right\":\r\n case \"ArrowRight\":\r\n if (modifierAllowed && !this.vertical) {\r\n e.preventDefault();\r\n const next = this.#findNext();\r\n if (next) {\r\n this.setActiveItem(next);\r\n }\r\n }\r\n break;\r\n\r\n case \"Down\":\r\n case \"ArrowDown\":\r\n if (modifierAllowed) {\r\n e.preventDefault();\r\n const next = this.#findNext();\r\n if (next) {\r\n this.setActiveItem(next);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"Home\":\r\n if (modifierAllowed && this.homeAndEnd) {\r\n e.preventDefault();\r\n const first = this.#findFirst();\r\n if (first) {\r\n this.setActiveItem(first);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"End\":\r\n if (modifierAllowed && this.homeAndEnd) {\r\n e.preventDefault();\r\n const last = this.#findLast();\r\n if (last) {\r\n this.setActiveItem(last);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"PageUp\":\r\n if (modifierAllowed && this.pageUpAndDown) {\r\n e.preventDefault();\r\n const prev = this.#findPreviousByIndex(\r\n this.activeItem ? Math.max(0, this.items.indexOf(this.activeItem) - this.pageDelta) : 0\r\n );\r\n if (prev) {\r\n this.setActiveItem(prev);\r\n }\r\n }\r\n\r\n break;\r\n\r\n case \"PageDown\":\r\n if (modifierAllowed && this.pageUpAndDown) {\r\n e.preventDefault();\r\n const next = this.#findNextByIndex(\r\n this.activeItem\r\n ? Math.min(this.items.length - 1, this.items.indexOf(this.activeItem) + this.pageDelta)\r\n : this.items.length - 1\r\n );\r\n if (next) {\r\n this.setActiveItem(next);\r\n }\r\n }\r\n\r\n break;\r\n\r\n default:\r\n if (modifierAllowed || hasModifierKey(e, \"shift\")) {\r\n this.#typeahead?.onKeyDown(e);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #findFirst(): T | null {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i] === this.activeItem) break;\r\n const test = this.items[i];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /** @private */\r\n #findLast(): T | null {\r\n for (let i = this.items.length - 1; i >= 0; i--) {\r\n if (this.items[i] === this.activeItem) break;\r\n const test = this.items[i];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /** @private */\r\n #findNext(): T | null {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i] === this.activeItem) {\r\n for (let j = i + 1; j < this.items.length; j++) {\r\n const test = this.items[j];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return this.wrap ? this.#findFirst() : null;\r\n }\r\n\r\n /** @private */\r\n #findPrevious(): T | null {\r\n for (let i = 0; i < this.items.length; i++) {\r\n if (this.items[i] === this.activeItem) {\r\n for (let j = i - 1; j >= 0; j--) {\r\n const test = this.items[j];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n return this.wrap ? this.#findLast() : null;\r\n }\r\n\r\n /** @private */\r\n #findPreviousByIndex(index: number): T | null {\r\n for (let i = index; i >= 0; i--) {\r\n const test = this.items[i];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /** @private */\r\n #findNextByIndex(index: number): T | null {\r\n for (let i = index; i < this.items.length; i++) {\r\n const test = this.items[i];\r\n if (!this.skipPredicate(test)) {\r\n return test;\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { ListKeyManager } from \"./ListKeyManager\";\r\n\r\n/**\r\n * Utility for managing keyboard events for selectable lists whose items directly receive focus.\r\n * @template T The type of managed item.\r\n */\r\nexport class FocusKeyManager<T extends HTMLElement> extends ListKeyManager<T> {\r\n /** @private */ #focusOptions?: FocusOptions;\r\n\r\n /** @inheritdoc */\r\n override setActiveItem(item: T | null | undefined): void {\r\n super.setActiveItem(item);\r\n item?.focus(this.#focusOptions);\r\n }\r\n\r\n /**\r\n * Configures the key manager with options used to focus items.\r\n * @param {FocusOptions} options Options used to focus items.\r\n * @returns {FocusKeyManager<T>} The configured key manager.\r\n */\r\n withOptions(options: FocusOptions): this {\r\n this.#focusOptions = options;\r\n return this;\r\n }\r\n}\r\n","import { LitElement, PropertyValues } from \"lit\";\r\nimport { property } from \"lit/decorators.js\";\r\n\r\nimport { Constructor } from \"./Constructor\";\r\nimport { hasKeys } from \"./hasKeys\";\r\n\r\n/** Defines functionality for an element which supports a checked state. */\r\nexport interface CheckedMixin {\r\n /**\r\n * Whether the element is checked.\r\n * @default false\r\n */\r\n checked: boolean;\r\n}\r\n\r\n/**\r\n * Determines whether a value is a `CheckedMixin`.\r\n * @param {unknown} value The value to test.\r\n * @returns Whether `value` is a `CheckedMixin`.\r\n */\r\nexport function isCheckedMixin(value: unknown): value is CheckedMixin {\r\n return hasKeys<CheckedMixin>(value, \"checked\");\r\n}\r\n\r\n/**\r\n * Mixin to augment an element with behavior that supports a checked state.\r\n * @template T The type of the base class.\r\n * @param {T} base The base class.\r\n * @returns {Constructor<CheckedMixin> & T} A constructor that implements `CheckedMixin`.\r\n */\r\nexport function Checked<T extends Constructor<LitElement>>(base: T): Constructor<CheckedMixin> & T {\r\n abstract class _CheckedMixin extends base implements CheckedMixin {\r\n /**\r\n * Whether the element is checked.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) checked = false;\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"checked\")) {\r\n if (this.role === \"button\") {\r\n this.ariaPressed = `${this.checked}`;\r\n this.ariaChecked = null;\r\n } else if (this.role && this.role !== \"none\" && this.role !== \"presentation\") {\r\n this.ariaChecked = `${this.checked}`;\r\n this.ariaPressed = null;\r\n }\r\n }\r\n }\r\n }\r\n return _CheckedMixin;\r\n}\r\n","import { LitElement, PropertyValues } from \"lit\";\r\nimport { property } from \"lit/decorators.js\";\r\n\r\nimport { Constructor } from \"./Constructor\";\r\nimport { hasKeys } from \"./hasKeys\";\r\n\r\n/** Defines functionality for an element which supports a selected state. */\r\nexport interface SelectedMixin {\r\n /**\r\n * Whether the element is selected.\r\n * @default false\r\n */\r\n selected: boolean;\r\n}\r\n\r\n/**\r\n * Determines whether a value is a `SelectedMixin`.\r\n * @param {unknown} value The value to test.\r\n * @returns Whether `value` is a `SelectedMixin`.\r\n */\r\nexport function isSelectedMixin(value: unknown): value is SelectedMixin {\r\n return hasKeys<SelectedMixin>(value, \"selected\");\r\n}\r\n\r\n/**\r\n * Mixin to augment an element with behavior that supports a selected state.\r\n * @template T The type of the base class.\r\n * @param {T} base The base class.\r\n * @returns {Constructor<SelectedMixin> & T} A constructor that implements `SelectedMixin`.\r\n */\r\nexport function Selected<T extends Constructor<LitElement>>(base: T): Constructor<SelectedMixin> & T {\r\n abstract class _SelectedMixin extends base implements SelectedMixin {\r\n /**\r\n * Whether the element is selected.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) selected = false;\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"selected\")) {\r\n if (this.role === \"button\") {\r\n this.ariaPressed = `${this.selected}`;\r\n this.ariaSelected = null;\r\n } else if (this.role && this.role !== \"none\" && this.role !== \"presentation\") {\r\n this.ariaSelected = `${this.selected}`;\r\n this.ariaPressed = null;\r\n }\r\n }\r\n }\r\n }\r\n return _SelectedMixin;\r\n}\r\n","import { CheckedMixin, isCheckedMixin } from \"./Checked\";\r\nimport { isSelectedMixin, SelectedMixin } from \"./Selected\";\r\n\r\n/** Defines functionality for an element which supports either a checked or selected state. */\r\nexport type CheckedOrSelectedMixin = CheckedMixin | SelectedMixin;\r\n\r\n/**\r\n * Determines whether a value is a `CheckedOrSelectedMixin`.\r\n * @param {unknown} value The value to test.\r\n * @returns Whether `value` is a `CheckedOrSelectedMixin`.\r\n */\r\nexport function isCheckedOrSelectedMixin(value: unknown): value is CheckedOrSelectedMixin {\r\n return isCheckedMixin(value) || isSelectedMixin(value);\r\n}\r\n\r\n/**\r\n * Determines whether the state of an element is checked or selected.\r\n * @param {CheckedOrSelectedMixin} element The element to test.\r\n * @return {boolean} Whether `element` is checked or selected.\r\n */\r\nexport function isCheckedOrSelected(element: CheckedOrSelectedMixin): boolean {\r\n return (isCheckedMixin(element) && element.checked) || (isSelectedMixin(element) && element.selected);\r\n}\r\n\r\n/**\r\n * Sets the checked or selected state of an element.\r\n * @param {CheckedOrSelectedMixin} element The element for which to set the checked or selected state.\r\n * @param {boolean} checkedOrSelected The checked or selected state.\r\n */\r\nexport function checkOrSelect(element: CheckedOrSelectedMixin, checkedOrSelected: boolean): void {\r\n if (isCheckedMixin(element)) {\r\n element.checked = checkedOrSelected;\r\n } else {\r\n element.selected = checkedOrSelected;\r\n }\r\n}\r\n","import { FocusKeyManager } from \"./FocusKeyManager\";\r\n\r\n/**\r\n * Utility for managing keyboard events and a roving tab index for selectable lists whose items directly receive focus.\r\n * @template T The type of managed item.\r\n */\r\nexport class RovingTabIndexManager<T extends HTMLElement> extends FocusKeyManager<T> {\r\n /** @private */ #disableRovingTabIndex = false;\r\n\r\n /** @inheritdoc */\r\n override updateActiveItem(item: T | null | undefined): void {\r\n super.updateActiveItem(item);\r\n\r\n if (!this.#disableRovingTabIndex) {\r\n item?.setAttribute(\"tabindex\", \"0\");\r\n for (const other of this.items) {\r\n if (other !== item && other.hasAttribute(\"tabindex\")) {\r\n other.setAttribute(\"tabindex\", \"-1\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override setItems(items: T[]): { added: readonly T[]; removed: readonly T[] } {\r\n const result = super.setItems(items);\r\n\r\n if (!this.#disableRovingTabIndex) {\r\n for (const added of result.added) {\r\n if (added !== this.activeItem && !this.skipPredicate(added)) {\r\n added.setAttribute(\"tabindex\", \"-1\");\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n /**\r\n * Configures whether roving tab index is disabled.\r\n * @param {boolean} [disabled=true] Whether the roving tab index is disabled.\r\n * @returns {RovingTabIndexManager<T>} The configured roving tab index manager.\r\n */\r\n disableRovingTabIndex(disabled: boolean = true): this {\r\n if (disabled !== this.#disableRovingTabIndex) {\r\n this.#disableRovingTabIndex = disabled;\r\n for (const item of this.items) {\r\n if (!this.skipPredicate(item)) {\r\n item?.setAttribute(\"tabindex\", this.#disableRovingTabIndex || item === this.activeItem ? \"0\" : \"-1\");\r\n }\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n}\r\n","import { LitElement } from \"lit\";\r\n\r\nimport { CheckedOrSelectedMixin, isCheckedOrSelected } from \"../../shared/mixins/CheckedOrSelected\";\r\nimport { DisabledMixin } from \"../../shared/mixins/Disabled\";\r\n\r\nimport { RovingTabIndexManager } from \"./RovingTabIndexManager\";\r\n\r\n/**\r\n * Utility for managing keyboard events for selectable lists whose items behave like a radio.\r\n * @template T The type of managed item.\r\n */\r\nexport class RadioKeyManager<\r\n T extends LitElement & DisabledMixin & CheckedOrSelectedMixin\r\n> extends RovingTabIndexManager<T> {\r\n /** @private */ #disabled = false;\r\n\r\n /** A value indicating whether managed items are disabled. */\r\n get disabled(): boolean {\r\n return this.#disabled;\r\n }\r\n set disabled(value: boolean) {\r\n this.#disabled = value;\r\n this.items.forEach((x) => (x.disabled = value));\r\n }\r\n\r\n /** @inheritdoc */\r\n override setItems(items: T[]): { added: readonly T[]; removed: readonly T[] } {\r\n if (this.disabled) {\r\n items.forEach((x) => (x.disabled = true));\r\n }\r\n\r\n const { added, removed } = super.setItems(items);\r\n\r\n if (added.length > 0 || removed.length > 0) {\r\n if (!this.activeItem) {\r\n this.updateActiveItem(added.find((x) => !this.skipPredicate(x)) ?? null);\r\n }\r\n\r\n if (this.activeItem && (this.activeItem.disabled || !isCheckedOrSelected(this.activeItem))) {\r\n const checked = added.find((x) => !this.skipPredicate(x) && isCheckedOrSelected(x));\r\n if (checked) {\r\n this.updateActiveItem(checked);\r\n }\r\n }\r\n }\r\n\r\n return { added, removed };\r\n }\r\n}\r\n","import { LitElement } from \"lit\";\r\n\r\nimport { CheckedOrSelectedMixin, checkOrSelect, isCheckedOrSelected } from \"../../shared/mixins/CheckedOrSelected\";\r\nimport { DisabledMixin } from \"../../shared/mixins/Disabled\";\r\n\r\nimport { RadioKeyManager } from \"./RadioKeyManager\";\r\n\r\n/** A symbol through which to access an element's selection manager. */\r\nexport const selectionManager = Symbol(\"selectionManager\");\r\n\r\n/**\r\n * Utility for managing keyboard events for selectable lists where one or more items can be selected.\r\n * @template T The type of managed item.\r\n */\r\nexport class SelectionManager<\r\n T extends LitElement & DisabledMixin & CheckedOrSelectedMixin\r\n> extends RadioKeyManager<T> {\r\n /** @private */ #onSelectedItemsChangeCallback?: () => void;\r\n /** @private */ #selectedItems = new Array<T>();\r\n /** @private */ #multi = false;\r\n\r\n /** A value indicating whether multiple items can be selected. */\r\n get multi(): boolean {\r\n return this.#multi;\r\n }\r\n set multi(value: boolean) {\r\n this.#multi = value;\r\n this.#enforceSingleSelect(true);\r\n }\r\n\r\n /** The selected items. */\r\n get selectedItems(): readonly T[] {\r\n return this.#selectedItems;\r\n }\r\n\r\n /**\r\n * Selects or deselects the item based on the item's checked or selected state.\r\n * @param {T} item The item whose selection state has changed.\r\n */\r\n notifySelectionChange(item: T): void {\r\n if (this.items.includes(item)) {\r\n if (isCheckedOrSelected(item)) {\r\n this.select(item);\r\n } else {\r\n this.deselect(item);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Deselects the specified item.\r\n * @param {T} item The item to deselect.\r\n */\r\n deselect(item: T): void {\r\n if (this.items.includes(item)) {\r\n if (isCheckedOrSelected(item)) {\r\n checkOrSelect(item, false);\r\n }\r\n\r\n const index = this.#selectedItems.indexOf(item);\r\n if (index >= 0) {\r\n this.#selectedItems.splice(index, 1);\r\n this.#onSelectedItemsChangeCallback?.();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Updates the selected item.\r\n * @param {T | null | undefined} item The selected item.\r\n * @param {boolean} [activate=true] A value indicating whether to activate the item.\r\n */\r\n select(item: T | null | undefined, activate: boolean = true): void {\r\n if (!item || this.items.includes(item)) {\r\n if (!this.multi) {\r\n for (const selected of this.#selectedItems) {\r\n if (selected !== item) {\r\n checkOrSelect(selected, false);\r\n }\r\n }\r\n this.#selectedItems.length = 0;\r\n }\r\n\r\n if (item) {\r\n this.#selectedItems.push(item);\r\n if (!isCheckedOrSelected(item)) {\r\n checkOrSelect(item, true);\r\n }\r\n }\r\n\r\n if (activate) {\r\n this.updateActiveItem(item);\r\n }\r\n\r\n this.#onSelectedItemsChangeCallback?.();\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override setItems(items: T[]): { added: readonly T[]; removed: readonly T[] } {\r\n const { added, removed } = super.setItems(items);\r\n\r\n this.#selectedItems = this.#selectedItems.filter((x) => !removed.includes(x));\r\n this.#selectedItems.push(...added.filter((x) => isCheckedOrSelected(x)));\r\n this.#enforceSingleSelect();\r\n this.#onSelectedItemsChangeCallback?.();\r\n return { added, removed };\r\n }\r\n\r\n /**\r\n * Configures the selection manager with a callback invoked when selected items change.\r\n * @param {() => void} callback The callback invoked when selected items change.\r\n * @returns {SelectionManager<T>} The configured selection manager.\r\n */\r\n onSelectedItemsChange(callback: () => void): this {\r\n this.#onSelectedItemsChangeCallback = callback;\r\n return this;\r\n }\r\n\r\n /** @private */\r\n #enforceSingleSelect(emit = false): void {\r\n if (!this.multi && this.#selectedItems.length > 1) {\r\n for (let i = 1; i < this.#selectedItems.length; i++) {\r\n checkOrSelect(this.#selectedItems[i], false);\r\n }\r\n this.#selectedItems.length = 1;\r\n if (emit) {\r\n this.#onSelectedItemsChangeCallback?.();\r\n }\r\n }\r\n }\r\n}\r\n","/**\r\n * Adapted from Angular Material CDK AriaDescriber\r\n * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/aria-describer/aria-reference.ts\r\n *\r\n * @license MIT\r\n * Copyright (c) 2025 Google LLC\r\n * See LICENSE file in the project root for full license text.\r\n */\r\n\r\n/**\r\n * Gets a list of IDs referenced by an element for the specified ARIA attribute.\r\n * @param {Element} element The element from which to get referenced IDs.\r\n * @param {`aria-${string}`} attribute The ARIA attribute from which to get referenced IDs.\r\n * @returns {string[]} a list of IDs referenced by `element` for `attribute`.\r\n */\r\nexport function getAriaReferenceIds(element: Element, attribute: `aria-${string}`): string[] {\r\n return element.getAttribute(attribute)?.match(/\\S+/g) ?? [];\r\n}\r\n\r\n/**\r\n * Adds an ID to the list of IDs referenced by an element for a given ARIA attribute.\r\n * @param {Element} element The element to which to add a referenced ID.\r\n * @param {`aria-${string}`} attribute The ARIA attribute to which to add an ID.\r\n * @param {string} id The ID to add.\r\n */\r\nexport function addAriaReferencedId(element: Element, attribute: `aria-${string}`, id: string): void {\r\n id = id.trim();\r\n\r\n const ids = getAriaReferenceIds(element, attribute);\r\n if (!ids.some((existingId) => existingId.trim() === id)) {\r\n ids.push(id);\r\n element.setAttribute(attribute, ids.join(\" \"));\r\n }\r\n}\r\n\r\n/**\r\n * Removes an ID from a list of IDs referenced by an element for the specified ARIA attribute.\r\n * @param {Element} element The element from which to remove an ID.\r\n * @param {`aria-${string}`} attribute The ARIA attribute from which to remove an ID.\r\n * @param {string} id The ID to remove.\r\n */\r\nexport function removeAriaReferencedId(element: Element, attribute: `aria-${string}`, id: string): void {\r\n id = id.trim();\r\n const ids = getAriaReferenceIds(element, attribute).filter((val) => val !== id);\r\n\r\n if (ids.length > 0) {\r\n element.setAttribute(attribute, ids.join(\" \"));\r\n } else {\r\n element.removeAttribute(attribute);\r\n }\r\n}\r\n","/**\r\n * Visually hides an element.\r\n * @param {CSSStyleDeclaration} style The style of the element to visually hide.\r\n */\r\nexport function visuallyHide(style: CSSStyleDeclaration): void {\r\n style.position = \"absolute\";\r\n style.appearance = \"none\";\r\n style.visibility = \"hidden\";\r\n style.border = \"0\";\r\n style.outline = \"0\";\r\n style.overflow = \"hidden\";\r\n style.left = \"0\";\r\n style.height = \"1px\";\r\n style.width = \"1px\";\r\n style.margin = \"-1px\";\r\n style.padding = \"0\";\r\n style.whiteSpace = \"nowrap\";\r\n}\r\n","/**\r\n * Adapted from Angular Material CDK ARIA Describer\r\n * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/aria-describer/aria-describer.ts\r\n *\r\n * @license MIT\r\n * Copyright (c) 2025 Google LLC\r\n * See LICENSE file in the project root for full license text.\r\n */\r\n\r\nimport { isServer } from \"lit\";\r\n\r\nimport { addAriaReferencedId, removeAriaReferencedId } from \"./aria-reference\";\r\nimport { visuallyHide } from \"./visuallyHide\";\r\n\r\n/** Utility for generating visually hidden elements that convey descriptive messages using `aria-describedby`. */\r\nexport class M3eAriaDescriber {\r\n /** @private */ static #nextId = 0;\r\n /** @private */ static #messageContainers = new Map<\r\n ParentNode,\r\n {\r\n containerElement: HTMLElement;\r\n messageRegistry: Map<string, { messageElement: Element; count: number }>;\r\n }\r\n >();\r\n\r\n /**\r\n * Adds an `aria-describedby` reference to a hidden element that contains the message.\r\n * @param {Element} element The element for which to provide a visually hidden description.\r\n * @param {string} message The message used to describe `element`.\r\n * @param {string} [role=\"tooltip\"] The ARIA role of the message.\r\n */\r\n static describe(element: Element, message: string, role: string = \"tooltip\"): void {\r\n if (isServer) {\r\n return;\r\n }\r\n\r\n const rootNode = element.getRootNode() as ParentNode;\r\n if (!(rootNode instanceof ShadowRoot || rootNode instanceof Document)) {\r\n return;\r\n }\r\n\r\n let container = this.#messageContainers.get(rootNode);\r\n if (!container) {\r\n container = {\r\n containerElement: this.#createMessageContainer(),\r\n messageRegistry: new Map<string, { messageElement: Element; count: number }>(),\r\n };\r\n\r\n // Append to body if document, otherwise, append as a child of shadow root.\r\n (rootNode instanceof Document ? rootNode.body : rootNode).appendChild(container.containerElement);\r\n this.#messageContainers.set(rootNode, container);\r\n }\r\n\r\n const key = `${role}:${message}`;\r\n let entry = container.messageRegistry.get(key);\r\n if (!entry) {\r\n entry = { messageElement: this.#createMessageElement(message, role), count: 0 };\r\n container.containerElement.appendChild(entry.messageElement);\r\n container.messageRegistry.set(key, entry);\r\n }\r\n\r\n entry.count++;\r\n\r\n addAriaReferencedId(element, \"aria-describedby\", entry.messageElement.id);\r\n }\r\n\r\n /**\r\n * Removes an `aria-describedby` reference to a hidden element that contains the message.\r\n * @param {Element} element The element from which to remove a visually hidden description.\r\n * @param {string} message The message used to describe `element`.\r\n * @param {string} [role=\"tooltip\"] The ARIA role of the message.\r\n */\r\n static removeDescription(element: Element, message: string, role: string = \"tooltip\"): void {\r\n if (isServer) {\r\n return;\r\n }\r\n\r\n const rootNode = element.getRootNode() as ParentNode;\r\n const container = this.#messageContainers.get(rootNode);\r\n if (!container) {\r\n return;\r\n }\r\n\r\n const key = `${role}:${message}`;\r\n const entry = container.messageRegistry.get(key);\r\n if (!entry) {\r\n return;\r\n }\r\n\r\n entry.count--;\r\n removeAriaReferencedId(element, \"aria-describedby\", entry.messageElement.id);\r\n\r\n // If there are no more elements referencing the message, remove it from the DOM.\r\n if (entry.count <= 0) {\r\n entry.messageElement.remove();\r\n container.messageRegistry.delete(key);\r\n }\r\n\r\n // If there are no more registered messages, remove the container from the DOM.\r\n if (container.messageRegistry.size == 0) {\r\n container.containerElement?.remove();\r\n this.#messageContainers.delete(rootNode);\r\n }\r\n }\r\n\r\n /** @private */\r\n static #createMessageContainer(): HTMLElement {\r\n const messageContainer = document.createElement(\"div\");\r\n messageContainer.classList.add(\"m3e-describedby-message-container\");\r\n visuallyHide(messageContainer.style);\r\n return messageContainer;\r\n }\r\n\r\n /** @private */\r\n static #createMessageElement(message: string, role: string): HTMLElement {\r\n const messageElement = document.createElement(\"span\");\r\n messageElement.id = `m3e-describedby-message-${this.#nextId++}`;\r\n messageElement.role = role;\r\n messageElement.ariaAtomic = \"true\";\r\n messageElement.innerText = message.trim();\r\n return messageElement;\r\n }\r\n}\r\n\r\ndeclare global {\r\n /** Utility for generating visually hidden elements that convey descriptive messages using `aria-describedby`. */\r\n var M3eAriaDescriber: M3eAriaDescriber;\r\n}\r\n\r\nglobalThis.M3eAriaDescriber = M3eAriaDescriber;\r\n","/** Utility for checking the interactivity of an element, such as whether it is focusable. */\r\nexport class M3eInteractivityChecker {\r\n /**\r\n * Determines whether a given element can receive focus.\r\n * @param {Element} element The element to test.\r\n * @param {readonly Element[]} [parents = undefined] The known parent elements to test. The default value is `undefined`.\r\n * @returns {boolean} Whether `element` can receive focus.\r\n */\r\n static isFocusable(element: Element, parents?: readonly Element[]): boolean {\r\n if (\r\n element.matches(\r\n \":is(button,input,select,textarea,object,:is(a,area)[href],[tabindex],[contenteditable=true]):not(:disabled,[disabled])\"\r\n )\r\n ) {\r\n return !this.#cannotFocusParent(parents);\r\n }\r\n\r\n if (\r\n !element.localName.includes(\"-\") ||\r\n !element.matches(\":not(:disabled,[disabled])\") ||\r\n element.getAttribute(\"aria-disabled\") === \"true\"\r\n ) {\r\n return false;\r\n }\r\n\r\n if (element.shadowRoot?.delegatesFocus) {\r\n return !this.#cannotFocusParent(parents);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n static #cannotFocusParent(parents?: readonly Element[]): boolean {\r\n return parents?.some((x) => x.matches(\":is([aria-hidden='true'],:disabled,[disabled])\")) ?? false;\r\n }\r\n\r\n /**\r\n * Finds interactive elements that descend from the specified element.\r\n * @param {HTMLElement} element The `HTMLElement` to search.\r\n * @returns {HTMLElement[]} The interactive elements that descend from `element`.\r\n */\r\n static findInteractiveElements(element: HTMLElement): HTMLElement[] {\r\n const elements = new Array<HTMLElement>();\r\n const walker = element.ownerDocument.createTreeWalker(element, NodeFilter.SHOW_ELEMENT);\r\n\r\n for (let node = walker.nextNode(); node; node = walker.nextNode()) {\r\n const element = <HTMLElement>walker.currentNode;\r\n if (this.isFocusable(element)) {\r\n elements.push(element);\r\n }\r\n }\r\n\r\n return elements;\r\n }\r\n}\r\n\r\ndeclare global {\r\n /** Utility for checking the interactivity of an element, such as whether it is focusable. */\r\n var M3eInteractivityChecker: M3eInteractivityChecker;\r\n}\r\n\r\nglobalThis.M3eInteractivityChecker = M3eInteractivityChecker;\r\n","import { css, CSSResultGroup, html, LitElement } from \"lit\";\r\nimport { customElement, query } from \"lit/decorators.js\";\r\n\r\nimport { Disabled } from \"../shared/mixins/Disabled\";\r\n\r\nimport { M3eInteractivityChecker } from \"./InteractivityChecker\";\r\n\r\n/**\r\n * A non-visual element used to trap focus within nested content.\r\n * @tag m3e-focus-trap\r\n *\r\n * @slot - Renders content for which to trap focus.\r\n *\r\n * @attr disabled - Disables the focus trap.\r\n */\r\n@customElement(\"m3e-focus-trap\")\r\nexport class M3eFocusTrapElement extends Disabled(LitElement) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: contents;\r\n }\r\n .trap {\r\n outline: none;\r\n }\r\n `;\r\n\r\n /** @private */ @query(\".trap\") private readonly _firstTrap!: HTMLElement | null;\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n const trap = html`<div\r\n class=\"trap\"\r\n .inert=\"${this.disabled}\"\r\n tabindex=\"0\"\r\n aria-hidden=\"true\"\r\n @focus=\"${this.#onFocus}\"\r\n ></div>`;\r\n return html`${trap}<slot></slot>${trap}`;\r\n }\r\n\r\n /** @private */\r\n #onFocus(e: FocusEvent): void {\r\n const [first, last] = this.#getFirstAndLastFocusableChild();\r\n const isFirst = e?.target === this._firstTrap;\r\n const fromFirst = e.relatedTarget === first;\r\n const fromLast = e.relatedTarget === last;\r\n const fromOutside = !fromFirst && !fromLast;\r\n\r\n if ((!isFirst && fromLast) || (isFirst && fromOutside)) {\r\n first?.focus();\r\n return;\r\n }\r\n if ((isFirst && fromFirst) || (!isFirst && fromOutside)) {\r\n last?.focus();\r\n }\r\n }\r\n\r\n /** @private */\r\n #getFirstAndLastFocusableChild(): [HTMLElement | null, HTMLElement | null] {\r\n let first: HTMLElement | null = null;\r\n let last: HTMLElement | null = null;\r\n\r\n this.#walkTree(this, [], (element, parents) => {\r\n if (\r\n M3eInteractivityChecker.isFocusable(element, parents) &&\r\n element instanceof HTMLElement &&\r\n element.tabIndex >= 0\r\n ) {\r\n first = first ?? element;\r\n last = element;\r\n }\r\n });\r\n\r\n return [first, last];\r\n }\r\n\r\n /** @private */\r\n #walkTree(\r\n root: Element,\r\n parents: readonly Element[],\r\n callback: (element: Element, parents: readonly Element[]) => void\r\n ): void {\r\n parents = [...parents, root];\r\n\r\n for (const node of root.childNodes) {\r\n if (node.nodeType !== Node.ELEMENT_NODE) continue;\r\n const element = <HTMLElement>node;\r\n\r\n callback(element, parents);\r\n\r\n if (element.shadowRoot) {\r\n this.#walkShadowRoot(element, parents, callback);\r\n } else if (element instanceof HTMLSlotElement) {\r\n this.#walkSlot(element, parents, callback);\r\n } else if (element.hasChildNodes()) {\r\n this.#walkTree(element, parents, callback);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #walkShadowRoot(\r\n root: Element,\r\n parents: readonly Element[],\r\n callback: (element: Element, parents: readonly Element[]) => void\r\n ): void {\r\n for (const node of root.shadowRoot?.childNodes ?? []) {\r\n if (node.nodeType !== Node.ELEMENT_NODE) continue;\r\n const element = <HTMLElement>node;\r\n callback(element, parents);\r\n if (!element.hasChildNodes()) continue;\r\n this.#walkTree(element, parents, callback);\r\n }\r\n }\r\n\r\n /** @private */\r\n #walkSlot(\r\n slot: HTMLSlotElement,\r\n parents: readonly Element[],\r\n callback: (element: Element, parents: readonly Element[]) => void\r\n ) {\r\n for (const node of slot.assignedElements()) {\r\n callback(node, parents);\r\n if (!node.hasChildNodes()) continue;\r\n this.#walkTree(node, parents, callback);\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-focus-trap\": M3eFocusTrapElement;\r\n }\r\n}\r\n","/**\r\n * Adapted from Angular Material CDK Live Announcer\r\n * Source: https://github.com/angular/components/blob/main/src/cdk/a11y/live-announcer/live-announcer.ts\r\n *\r\n * @license MIT\r\n * Copyright (c) 2025 Google LLC\r\n * See LICENSE file in the project root for full license text.\r\n */\r\n\r\nimport { isServer } from \"lit\";\r\n\r\nimport { addAriaReferencedId } from \"./aria-reference\";\r\nimport { visuallyHide } from \"./visuallyHide\";\r\n\r\n/** Specifies the possible politeness levels in which to announce messages. */\r\nexport type ARIALivePoliteness = \"off\" | \"polite\" | \"assertive\";\r\n\r\n/** Utility for announcing messages to screen readers. */\r\nexport class M3eLiveAnnouncer {\r\n /** @private */ static #nextId = 0;\r\n /** @private */ static #liveElement?: HTMLElement;\r\n /** @private */ static #previousTimeout: number;\r\n /** @private */ static #currentPromise?: Promise<void>;\r\n /** @private */ static #currentResolve?: () => void;\r\n\r\n /**\r\n * Announces the specified message to screen readers.\r\n * @param {string} message The message to announce.\r\n * @returns {Promise<void>} A `Promise` that resolves when `message` is added to the DOM.\r\n */\r\n static announce(message: string): Promise<void>;\r\n\r\n /**\r\n * Announces the specified message to screen readers.\r\n * @param {string} message The message to announce.\r\n * @param {ARIALivePoliteness | undefined} politeness The politeness in which to announce `message`.\r\n * @returns {Promise<void>} A `Promise` that resolves when `message` is added to the DOM.\r\n */\r\n static announce(message: string, politeness?: ARIALivePoliteness): Promise<void>;\r\n\r\n /**\r\n * Announces the specified message to screen readers.\r\n * @param {string} message The message to announce.\r\n * @param {number | undefined} duration The duration, in milliseconds, after which to clear the announcement. Note\r\n * that this takes effect after the message has been added to the DOM, which can be up to\r\n * 100ms after `announce` has been called.\r\n * @returns {Promise<void>} A `Promise` that resolves when `message` is added to the DOM.\r\n */\r\n static announce(message: string, duration?: number): Promise<void>;\r\n\r\n /**\r\n * Announces the specified message to screen readers.\r\n * @param {string} message The message to announce.\r\n * @param {ARIALivePoliteness | undefined} politeness The politeness in which to announce `message`.\r\n * @param {number | undefined} duration The duration, in milliseconds, after which to clear the announcement. Note\r\n * that this takes effect after the message has been added to the DOM, which can be up to 100ms after `announce` has been called.\r\n * @returns {Promise<void>} A `Promise` that resolves when `message` is added to the DOM.\r\n */\r\n static announce(message: string, politeness?: ARIALivePoliteness, duration?: number): Promise<void>;\r\n\r\n static announce(message: string, ...args: any[]): Promise<void> {\r\n if (isServer) {\r\n return Promise.resolve();\r\n }\r\n\r\n this.#liveElement = this.#liveElement ?? this.#createLiveElement();\r\n\r\n let politeness: ARIALivePoliteness | undefined;\r\n let duration: number | undefined;\r\n\r\n if (args.length === 1 && typeof args[0] === \"number\") {\r\n duration = args[0];\r\n } else {\r\n [politeness, duration] = args;\r\n }\r\n\r\n this.clear();\r\n clearTimeout(this.#previousTimeout);\r\n\r\n this.#liveElement.setAttribute(\"aria-live\", politeness ?? \"polite\");\r\n\r\n for (const modal of document.querySelectorAll(\"m3e-dialog\")) {\r\n addAriaReferencedId(modal, \"aria-owns\", this.#liveElement.id);\r\n }\r\n\r\n this.#currentPromise = this.#currentPromise ?? new Promise((resolve) => (this.#currentResolve = resolve));\r\n clearTimeout(this.#previousTimeout);\r\n\r\n this.#previousTimeout = setTimeout(() => {\r\n if (!this.#liveElement) {\r\n return;\r\n }\r\n\r\n this.#liveElement.textContent = message;\r\n if (duration !== undefined) {\r\n this.#previousTimeout = setTimeout(() => this.clear(), duration);\r\n }\r\n\r\n this.#currentResolve?.();\r\n this.#currentPromise = this.#currentResolve = undefined;\r\n }, 100);\r\n\r\n return this.#currentPromise;\r\n }\r\n\r\n /**\r\n * Clears the current text from the announcer element. Can be used to prevent\r\n * screen readers from reading the text out again while the user is going\r\n * through page landmarks.\r\n */\r\n static clear() {\r\n if (this.#liveElement) {\r\n this.#liveElement.textContent = \"\";\r\n }\r\n }\r\n\r\n /** @private */\r\n static #createLiveElement(): HTMLElement {\r\n const prev = document.getElementsByClassName(\"m3e-live-announcer\");\r\n for (let i = 0; i < prev.length; i++) {\r\n prev[i].remove();\r\n }\r\n\r\n const liveAnnouncer = document.createElement(\"div\");\r\n liveAnnouncer.classList.add(\"m3e-live-announcer\");\r\n liveAnnouncer.setAttribute(\"aria-atomic\", \"true\");\r\n liveAnnouncer.setAttribute(\"aria-live\", \"polite\");\r\n liveAnnouncer.id = `m3e-live-announcer-${this.#nextId++}`;\r\n\r\n visuallyHide(liveAnnouncer.style);\r\n\r\n document.body.append(liveAnnouncer);\r\n\r\n return liveAnnouncer;\r\n }\r\n}\r\n\r\ndeclare global {\r\n /** Utility for announcing messages to screen readers. */\r\n var M3eLiveAnnouncer: M3eLiveAnnouncer;\r\n}\r\n\r\nglobalThis.M3eLiveAnnouncer = M3eLiveAnnouncer;\r\n"],"names":["t","e","o","r","n","c","s","property","_a","query","customElement"],"mappings":"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","x_google_ignoreList":[0,6,7,8,9,10,11]}
|