@m3e/nav-menu 1.0.6 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../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/state.js","../../../node_modules/@lit/reactive-element/decorators/base.js","../../../node_modules/@lit/reactive-element/decorators/query.js","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-html/directives/if-defined.js","../../src/NavMenuItemElement.ts","../../src/NavMenuElement.ts","../../src/NavMenuItemGroupElement.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","/**\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","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.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","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */\r\nimport { css, CSSResultGroup, html, LitElement, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { customElement, property, query, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nimport {\r\n AttachInternals,\r\n DesignToken,\r\n Disabled,\r\n EventAttribute,\r\n hasAssignedNodes,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n Role,\r\n Selected,\r\n} from \"@m3e/core\";\r\n\r\nimport { selectionManager } from \"@m3e/core/a11y\";\r\n\r\nimport type { M3eNavMenuElement } from \"./NavMenuElement\";\r\n\r\n/**\r\n * An expandable item, selectable item within a navigation menu.\r\n *\r\n * @description\r\n * The `m3e-nav-menu-item` component represents an expandable, selectable item within a navigation menu.\r\n * It supports nested child items, selection, disabled and indeterminate states, and emits events for\r\n * open/close transitions. The component is highly customizable via slots and CSS custom properties, and\r\n * is designed for accessible, keyboard-navigable menu structures.\r\n *\r\n *\r\n * @example\r\n * The following example illustrates a navigation menu with a top-level group of menu items.\r\n * ```html\r\n * <m3e-nav-menu>\r\n * <m3e-nav-menu-item-group>\r\n * <m3e-heading slot=\"label\" variant=\"label\" size=\"large\">Mail</m3e-heading>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"mail\"></m3e-icon>\r\n * <span slot=\"label\">Inbox</span>\r\n * <span slot=\"badge\">24</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"send\"></m3e-icon>\r\n * <span slot=\"label\">Outbox</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"favorite\"></m3e-icon>\r\n * <span slot=\"label\">Favorites</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"delete\"></m3e-icon>\r\n * <span slot=\"label\">Trash</span>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu-item-group>\r\n * </m3e-nav-menu>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates a multilevel navigation menu.\r\n * ```html\r\n * <m3e-nav-menu>\r\n * <m3e-nav-menu-item open>\r\n * <m3e-icon slot=\"icon\" name=\"rocket_launch\"></m3e-icon>\r\n * <span slot=\"label\">Getting Started</span>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"widgets\"></m3e-icon>\r\n * <span slot=\"label\">Overview</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"package_2\"></m3e-icon>\r\n * <span slot=\"label\">Installation</span>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <span slot=\"label\">Actions</span>\r\n * <m3e-nav-menu-item><span slot=\"label\">Button</span></m3e-nav-menu-item>\r\n * <m3e-nav-menu-item><span slot=\"label\">Icon</span></m3e-nav-menu-item>\r\n * <m3e-nav-menu-item><span slot=\"label\">Icon Button</span></m3e-nav-menu-item>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu>\r\n * ```\r\n *\r\n * @tag m3e-nav-menu-item\r\n *\r\n * @slot - Renders the nested child items.\r\n * @slot label - Renders the label of the item.\r\n * @slot icon - Renders the icon of the item.\r\n * @slot badge - Renders the badge of the item.\r\n * @slot selected-icon - Renders the icon of the item when selected.\r\n * @slot toggle-icon - Renders the toggle icon.\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr indeterminate - Whether the element's selected / checked state is indeterminate.\r\n * @attr open - Whether the item is expanded.\r\n * @attr selected - Whether the item is selected.\r\n *\r\n * @fires opening - Emitted when the item begins to open.\r\n * @fires opened - Emitted when the item has opened.\r\n * @fires closing - Emitted when the item begins to close.\r\n * @fires closed - Emitted when the item has closed.\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-nav-menu-item-font-size - Font size for the item label.\r\n * @cssprop --m3e-nav-menu-item-font-weight - Font weight for the item label.\r\n * @cssprop --m3e-nav-menu-item-line-height - Line height for the item label.\r\n * @cssprop --m3e-nav-menu-item-tracking - Letter spacing for the item label.\r\n * @cssprop --m3e-nav-menu-item-padding - Inline padding for the item.\r\n * @cssprop --m3e-nav-menu-item-height - Height of the item.\r\n * @cssprop --m3e-nav-menu-item-spacing - Spacing between icon and label.\r\n * @cssprop --m3e-nav-menu-item-shape - Border radius of the item and focus ring.\r\n * @cssprop --m3e-nav-menu-item-icon-size - Size of the icon.\r\n * @cssprop --m3e-nav-menu-item-inset - Indentation for nested items.\r\n * @cssprop --m3e-nav-menu-item-label-color - Text color for the item label.\r\n * @cssprop --m3e-nav-menu-item-selected-label-color - Text color for selected item label.\r\n * @cssprop --m3e-nav-menu-item-selected-container-color - Background color for selected item.\r\n * @cssprop --m3e-nav-menu-item-selected-container-focus-color - Focus color for selected item container.\r\n * @cssprop --m3e-nav-menu-item-selected-container-hover-color - Hover color for selected item container.\r\n * @cssprop --m3e-nav-menu-item-selected-ripple-color - Ripple color for selected item.\r\n * @cssprop --m3e-nav-menu-item-unselected-container-focus-color - Focus color for unselected item container.\r\n * @cssprop --m3e-nav-menu-item-unselected-container-hover-color - Hover color for unselected item container.\r\n * @cssprop --m3e-nav-menu-item-unselected-ripple-color - Ripple color for unselected item.\r\n * @cssprop --m3e-nav-menu-item-open-container-color - Background color for open item with children.\r\n * @cssprop --m3e-nav-menu-item-open-container-focus-color - Focus color for open item container.\r\n * @cssprop --m3e-nav-menu-item-open-container-hover-color - Hover color for open item container.\r\n * @cssprop --m3e-nav-menu-item-open-ripple-color - Ripple color for open item.\r\n * @cssprop --m3e-nav-menu-item-disabled-color - Text color for disabled item.\r\n * @cssprop --m3e-nav-menu-item-disabled-color-opacity - Opacity for disabled item text color.\r\n * @cssprop --m3e-nav-menu-item-badge-font-size - Font size for badge slot.\r\n * @cssprop --m3e-nav-menu-item-badge-font-weight - Font weight for badge slot.\r\n * @cssprop --m3e-nav-menu-item-badge-line-height - Line height for badge slot.\r\n * @cssprop --m3e-nav-menu-item-badge-tracking - Letter spacing for badge slot.\r\n * @cssprop --m3e-nav-menu-divider-margin - Margin for divider elements.\r\n * @cssprop --m3e-nav-menu-item-vertical-inset - Vertical margin for first/last child items.\r\n */\r\n@customElement(\"m3e-nav-menu-item\")\r\nexport class M3eNavMenuItemElement extends Selected(\r\n Disabled(\r\n EventAttribute(AttachInternals(Role(LitElement, \"treeitem\"), true), \"opening\", \"opened\", \"closing\", \"closed\")\r\n )\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: block;\r\n flex: none;\r\n outline: none;\r\n user-select: none;\r\n position: relative;\r\n font-size: var(--m3e-nav-menu-item-font-size, ${DesignToken.typescale.standard.label.large.fontSize});\r\n font-weight: var(--m3e-nav-menu-item-font-weight, ${DesignToken.typescale.standard.label.large.fontWeight});\r\n line-height: var(--m3e-nav-menu-item-line-height, ${DesignToken.typescale.standard.label.large.lineHeight});\r\n letter-spacing: var(--m3e-nav-menu-item-tracking, ${DesignToken.typescale.standard.label.large.tracking});\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n .base {\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n padding-inline: var(--m3e-nav-menu-item-padding, 1.5rem);\r\n height: calc(var(--m3e-nav-menu-item-height, 3.5rem) + ${DesignToken.density.calc(-3)});\r\n column-gap: var(--m3e-nav-menu-item-spacing, 0.75rem);\r\n transition: ${unsafeCSS(\r\n `color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`\r\n )};\r\n }\r\n .base,\r\n .focus-ring {\r\n border-radius: var(--m3e-nav-menu-item-shape, ${DesignToken.shape.corner.full});\r\n }\r\n .label {\r\n flex: 1 1 auto;\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n overflow: hidden;\r\n vertical-align: middle;\r\n }\r\n .icon,\r\n .toggle {\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n vertical-align: middle;\r\n }\r\n ::slotted([slot=\"badge\"]) {\r\n flex: none;\r\n position: relative;\r\n font-size: var(--m3e-nav-menu-item-badge-font-size, ${DesignToken.typescale.standard.label.large.fontSize});\r\n font-weight: var(--m3e-nav-menu-item-badge-font-weight, ${DesignToken.typescale.standard.label.large.fontWeight});\r\n line-height: var(--m3e-nav-menu-item-badge-line-height, ${DesignToken.typescale.standard.label.large.lineHeight});\r\n letter-spacing: var(--m3e-nav-menu-item-badge-tracking, ${DesignToken.typescale.standard.label.large.tracking});\r\n }\r\n .toggle {\r\n transition: ${unsafeCSS(`transform var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})\r\n ${DesignToken.motion.easing.standard}`)};\r\n }\r\n :host(:not(.-with-icon)) .icon {\r\n display: none;\r\n }\r\n .icon {\r\n margin-inline-start: -0.5rem;\r\n }\r\n .toggle {\r\n margin-inline-end: -0.5rem;\r\n }\r\n .group {\r\n padding-inline-start: var(--m3e-nav-menu-item-inset, 1rem);\r\n }\r\n :host([open]) .toggle {\r\n transform: rotate(180deg);\r\n }\r\n :host(:not(.-has-items)) .toggle,\r\n :host(:not(.-has-items)) .group {\r\n display: none;\r\n }\r\n ::slotted([slot=\"selected-icon\"]),\r\n ::slotted([slot=\"icon\"]),\r\n ::slotted([slot=\"toggle-icon\"]),\r\n .toggle-icon {\r\n vertical-align: middle;\r\n width: 1em;\r\n height: 1em;\r\n font-size: var(--m3e-nav-menu-item-icon-size, 1.5rem);\r\n }\r\n :host(:not(:disabled)) .base {\r\n cursor: pointer;\r\n }\r\n :host(:not(:disabled)) .base {\r\n color: var(--m3e-nav-menu-item-label-color, ${DesignToken.color.onSurfaceVariant});\r\n }\r\n :host(:disabled) .base {\r\n color: color-mix(\r\n in srgb,\r\n var(--m3e-nav-menu-item-disabled-color, ${DesignToken.color.onSurface})\r\n var(--m3e-nav-menu-item-disabled-color-opacity, 38%),\r\n transparent\r\n );\r\n }\r\n :host([selected]:not(.-has-items):not(:disabled)) .base {\r\n color: var(--m3e-nav-menu-item-selected-label-color, ${DesignToken.color.onSecondaryContainer});\r\n background-color: var(--m3e-nav-menu-item-selected-container-color, ${DesignToken.color.secondaryContainer});\r\n --m3e-state-layer-focus-color: var(\r\n --m3e-nav-menu-item-selected-container-focus-color,\r\n ${DesignToken.color.onSecondaryContainer}\r\n );\r\n --m3e-state-layer-hover-color: var(\r\n --m3e-nav-menu-item-selected-container-hover-color,\r\n ${DesignToken.color.onSecondaryContainer}\r\n );\r\n --m3e-ripple-color: var(--m3e-nav-menu-item-selected-ripple-color, ${DesignToken.color.onSecondaryContainer});\r\n }\r\n :host(:not([selected]):not(.-has-items):not(:disabled)) .base {\r\n --m3e-state-layer-focus-color: var(\r\n --m3e-nav-menu-item-unselected-container-focus-color,\r\n ${DesignToken.color.onSurface}\r\n );\r\n --m3e-state-layer-hover-color: var(\r\n --m3e-nav-menu-item-unselected-container-hover-color,\r\n ${DesignToken.color.onSurface}\r\n );\r\n --m3e-ripple-color: var(--m3e-nav-menu-item-unselected-ripple-color, ${DesignToken.color.onSurface});\r\n }\r\n .state-layer {\r\n margin-inline: auto;\r\n }\r\n :host([selected].-has-items:not(:disabled)) .base {\r\n background-color: var(--m3e-nav-menu-item-open-container-color, ${DesignToken.color.surfaceContainerHighest});\r\n --m3e-state-layer-focus-color: var(\r\n --m3e-nav-menu-item-open-container-focus-color,\r\n ${DesignToken.color.onSurface}\r\n );\r\n --m3e-state-layer-hover-color: var(\r\n --m3e-nav-menu-item-open-container-hover-color,\r\n ${DesignToken.color.onSurface}\r\n );\r\n --m3e-ripple-color: var(--m3e-nav-menu-item-open-ripple-color, ${DesignToken.color.onSurface});\r\n }\r\n ::slotted(a[slot=\"label\"]) {\r\n all: unset;\r\n }\r\n ::slotted(m3e-divider) {\r\n margin-block: var(--m3e-nav-menu-divider-margin, 0.25rem);\r\n }\r\n ::slotted(m3e-nav-menu-item:first-of-type) {\r\n margin-block-start: var(--m3e-nav-menu-item-vertical-inset, 0.25rem);\r\n }\r\n ::slotted(m3e-nav-menu-item:last-of-type) {\r\n margin-block-end: var(--m3e-nav-menu-item-vertical-inset, 0.25rem);\r\n }\r\n @media (prefers-reduced-motion) {\r\n .base,\r\n .toggle,\r\n .state-layer {\r\n transition: none !important;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n .base,\r\n .state-layer {\r\n transition: none !important;\r\n }\r\n\r\n :host(:disabled) .base {\r\n color: GrayText;\r\n }\r\n :host(:not([selected]):not(:disabled)) .base {\r\n color: ButtonText;\r\n }\r\n :host([selected]:not(.-has-items):not(:disabled)) .base {\r\n forced-color-adjust: none;\r\n color: ButtonFace;\r\n background-color: ButtonText;\r\n }\r\n :host([selected].-has-items:not(:disabled)) .base {\r\n background-color: unset;\r\n color: ButtonText;\r\n }\r\n }\r\n `;\r\n\r\n /** @internal */ @query(\".state-layer\") readonly stateLayer?: M3eStateLayerElement;\r\n /** @internal */ @query(\".focus-ring\") readonly focusRing?: M3eFocusRingElement;\r\n /** @internal */ @query(\".ripple\") readonly ripple?: M3eRippleElement;\r\n /** @private */ @query(\".base\") private readonly _base?: HTMLElement;\r\n\r\n /** @private */ @state() private _hasChildItems = false;\r\n\r\n /** @private */ #items: M3eNavMenuItemElement[] = [];\r\n /** @private */ #menu: M3eNavMenuElement | null = null;\r\n /** @private */ #path = new Array<M3eNavMenuItemElement>();\r\n /** @private */ #link: HTMLAnchorElement | null = null;\r\n\r\n /**\r\n * Whether the item is expanded.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) open = false;\r\n\r\n /** A reference to the nested `HTMLAnchorElement`. */\r\n get link(): HTMLAnchorElement | null {\r\n return this.#link;\r\n }\r\n\r\n /** A reference to the element used to present the label of the item. */\r\n get label(): HTMLElement | null {\r\n return this._base ?? null;\r\n }\r\n\r\n /** Whether the item is visible. */\r\n get visible(): boolean {\r\n return !this.#path.some((x) => !x.open);\r\n }\r\n\r\n /** The full path of the item, starting with the top-most ancestor, including this item. */\r\n get path(): ReadonlyArray<M3eNavMenuItemElement> {\r\n return [...this.#path, this];\r\n }\r\n\r\n /** Whether the item has child items. */\r\n get hasChildItems(): boolean {\r\n return this._hasChildItems;\r\n }\r\n\r\n /** The parenting item. */\r\n get parentItem(): M3eNavMenuItemElement | null {\r\n return this.#path[this.#path.length - 1] ?? null;\r\n }\r\n\r\n /** The items that immediately descend from this item. */\r\n get childItems(): readonly M3eNavMenuItemElement[] {\r\n return this.#items;\r\n }\r\n\r\n /** The one-based level of the item. */\r\n get level(): number {\r\n return this.#path.length + 1;\r\n }\r\n\r\n /**\r\n * Expands this item, and optionally, all descendants.\r\n * @param {boolean} [descendants=false] Whether to expand all descendants.\r\n */\r\n expand(descendants: boolean = false): void {\r\n if (this.hasChildItems) {\r\n this.open = true;\r\n if (descendants) {\r\n this.childItems.forEach((x) => x.expand(true));\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Collapses this item, and optionally, all descendants.\r\n * @param {boolean} [descendants=false] Whether to expand all descendants.\r\n */\r\n collapse(descendants: boolean = false): void {\r\n if (this.hasChildItems) {\r\n this.open = false;\r\n if (descendants) {\r\n this.childItems.forEach((x) => x.collapse(true));\r\n }\r\n }\r\n }\r\n\r\n /** Toggles the expanded state of the item. */\r\n toggle(): void {\r\n if (this.hasChildItems) {\r\n this.open = !this.open;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.#path.length = 0;\r\n for (\r\n let item = this.parentElement?.closest(\"m3e-nav-menu-item\");\r\n item;\r\n item = item.parentElement?.closest(\"m3e-nav-menu-item\")\r\n ) {\r\n this.#path.push(item);\r\n }\r\n this.#path.reverse();\r\n\r\n this.style.setProperty(\"--_nav-menu-item-level\", `${this.level}`);\r\n this.#menu = this.closest(\"m3e-nav-menu\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this.#path.length = 0;\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"selected\")) {\r\n // Remove aria-selected and just use aria-current.\r\n this.ariaSelected = null;\r\n this.ariaCurrent = this.hasChildItems ? null : `${this.selected}`;\r\n for (const icon of this.querySelectorAll(\":scope > m3e-icon[slot]\")) {\r\n icon.toggleAttribute(\"filled\", this.selected);\r\n }\r\n\r\n this.#path.forEach((x) => (x.selected = this.selected));\r\n if (this.selected && !this.hasChildItems) {\r\n this.closest(\"m3e-nav-menu\")?.[selectionManager].notifySelectionChange(this);\r\n }\r\n }\r\n\r\n if (changedProperties.has(\"open\") || changedProperties.has(\"_hasChildItems\")) {\r\n this.ariaExpanded = this._hasChildItems ? `${this.open}` : null;\r\n }\r\n\r\n if ((changedProperties.has(\"_hasChildItems\") && this.disabled) || changedProperties.has(\"disabled\")) {\r\n this.#items.forEach((x) => (x.disabled = this.disabled));\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n const base = this._base;\r\n if (base) {\r\n [this.focusRing, this.stateLayer, this.ripple].forEach((x) => x?.attach(base));\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\" @click=\"${this.#handleClick}\">\r\n <m3e-state-layer class=\"state-layer\" ?disabled=\"${this.disabled}\"></m3e-state-layer>\r\n <m3e-focus-ring class=\"focus-ring\" inward ?disabled=\"${this.disabled}\"></m3e-focus-ring>\r\n <m3e-ripple class=\"ripple\" ?disabled=\"${this.disabled}\"></m3e-ripple>\r\n <div class=\"icon\" aria-hidden=\"true\">${this.#renderIcon()}</div>\r\n <div class=\"label\">\r\n <slot name=\"label\" @slotchange=\"${this.#handleSlotChange}\"></slot>\r\n </div>\r\n <slot name=\"badge\"></slot>\r\n <div aria-hidden=\"true\" class=\"toggle\">\r\n <slot name=\"toggle-icon\">\r\n <svg class=\"toggle-icon\" viewBox=\"0 -960 960 960\" fill=\"currentColor\">\r\n <path d=\"M480-360 280-560h400L480-360Z\" />\r\n </svg>\r\n </slot>\r\n </div>\r\n </div>\r\n <m3e-collapsible\r\n class=\"group\"\r\n role=\"group\"\r\n aria-hidden=\"${ifDefined(this._hasChildItems ? undefined : \"true\")}\"\r\n ?open=\"${this._hasChildItems && this.open}\"\r\n @opening=\"${this.#handleCollapsibleEvent}\"\r\n @opened=\"${this.#handleCollapsibleEvent}\"\r\n @closing=\"${this.#handleCollapsibleEvent}\"\r\n @closed=\"${this.#handleCollapsibleEvent}\"\r\n >\r\n <slot @slotchange=\"${this.#handleItemSlotChange}\"></slot>\r\n </m3e-collapsible>`;\r\n }\r\n\r\n /** @private */\r\n #renderIcon(): unknown {\r\n const icon = html`<slot name=\"icon\" @slotchange=\"${this.#handleIconSlotChange}\"></slot>`;\r\n return this.selected && !this.hasChildItems\r\n ? html`<slot name=\"selected-icon\" @slotchange=\"${this.#handleIconSlotChange}\">${icon}</slot>`\r\n : icon;\r\n }\r\n\r\n /** @private */\r\n #handleIconSlotChange(e: Event) {\r\n this.classList.toggle(\"-with-icon\", hasAssignedNodes(<HTMLSlotElement>e.target));\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(e: Event): void {\r\n this.#link =\r\n (<HTMLSlotElement>e.target).assignedElements({ flatten: true }).find((x) => x instanceof HTMLAnchorElement) ??\r\n null;\r\n\r\n this.#link?.setAttribute(\"tabindex\", \"-1\");\r\n }\r\n\r\n /** @private */\r\n #handleItemSlotChange(e: Event): void {\r\n this.#items = (<HTMLSlotElement>e.target)\r\n .assignedElements({ flatten: true })\r\n .filter((x) => x instanceof M3eNavMenuItemElement);\r\n\r\n const hadChildItems = this._hasChildItems;\r\n this._hasChildItems = this.#items.length > 0;\r\n this.classList.toggle(\"-has-items\", this._hasChildItems);\r\n\r\n if (hadChildItems || this._hasChildItems) {\r\n this.selected = this.#items.some((x) => x.selected);\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleClick(): void {\r\n if (this.disabled) return;\r\n\r\n this.#menu?.[selectionManager].setActiveItem(this);\r\n if (!this._hasChildItems) {\r\n this.#menu?.[selectionManager].select(this);\r\n this.#path.forEach((x) => (x.selected = this.selected));\r\n this.#link?.click();\r\n\r\n const drawerContainer = this.closest(\"m3e-drawer-container\");\r\n if (drawerContainer) {\r\n const drawer = this.closest(\"[slot='start']\") ?? this.closest(\"[slot='end')\");\r\n if (\r\n drawer &&\r\n (drawerContainer.classList.contains(`-${drawer.slot}-push`) ||\r\n drawerContainer.classList.contains(`-${drawer.slot}-over`))\r\n ) {\r\n setTimeout(() => drawerContainer.removeAttribute(drawer.slot), 300);\r\n }\r\n }\r\n } else {\r\n this.toggle();\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleCollapsibleEvent(e: Event): void {\r\n e.stopPropagation();\r\n this.dispatchEvent(new Event(e.type, { bubbles: true }));\r\n }\r\n}\r\n\r\ninterface M3eNavMenuItemElementEventMap extends HTMLElementEventMap {\r\n opening: Event;\r\n opened: Event;\r\n closing: Event;\r\n closed: Event;\r\n}\r\n\r\nexport interface M3eNavMenuItemElement {\r\n addEventListener<K extends keyof M3eNavMenuItemElementEventMap>(\r\n type: K,\r\n listener: (this: M3eNavMenuItemElement, ev: M3eNavMenuItemElementEventMap[K]) => void,\r\n options?: boolean | AddEventListenerOptions\r\n ): void;\r\n\r\n addEventListener(\r\n type: string,\r\n listener: EventListenerOrEventListenerObject,\r\n options?: boolean | AddEventListenerOptions\r\n ): void;\r\n\r\n removeEventListener<K extends keyof M3eNavMenuItemElementEventMap>(\r\n type: K,\r\n listener: (this: M3eNavMenuItemElement, ev: M3eNavMenuItemElementEventMap[K]) => void,\r\n options?: boolean | EventListenerOptions\r\n ): void;\r\n\r\n removeEventListener(\r\n type: string,\r\n listener: EventListenerOrEventListenerObject,\r\n options?: boolean | EventListenerOptions\r\n ): void;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-nav-menu-item\": M3eNavMenuItemElement;\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, LitElement } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\n\r\nimport { DesignToken, FocusController, PressedController, Role, scrollIntoViewIfNeeded } from \"@m3e/core\";\r\nimport { SelectionManager, selectionManager } from \"@m3e/core/a11y\";\r\n\r\nimport { M3eNavMenuItemElement } from \"./NavMenuItemElement\";\r\n\r\n/**\r\n * A hierarchical menu, typically used on larger devices, that allows a user to switch between views.\r\n *\r\n * @description\r\n * The `m3e-nav-menu` component provides a hierarchical, accessible navigation menu supporting\r\n * nested expandable items, keyboard navigation, and focus management. It is highly customizable\r\n * via slots and CSS custom properties, and is designed for use in sidebars, navigation drawers,\r\n * and complex menu structures.\r\n *\r\n * @example\r\n * The following example illustrates a navigation menu with a top-level group of menu items.\r\n * ```html\r\n * <m3e-nav-menu>\r\n * <m3e-nav-menu-item-group>\r\n * <m3e-heading slot=\"label\" variant=\"label\" size=\"large\">Mail</m3e-heading>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"mail\"></m3e-icon>\r\n * <span slot=\"label\">Inbox</span>\r\n * <span slot=\"badge\">24</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"send\"></m3e-icon>\r\n * <span slot=\"label\">Outbox</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"favorite\"></m3e-icon>\r\n * <span slot=\"label\">Favorites</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"delete\"></m3e-icon>\r\n * <span slot=\"label\">Trash</span>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu-item-group>\r\n * </m3e-nav-menu>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates a multilevel navigation menu.\r\n * ```html\r\n * <m3e-nav-menu>\r\n * <m3e-nav-menu-item open>\r\n * <m3e-icon slot=\"icon\" name=\"rocket_launch\"></m3e-icon>\r\n * <span slot=\"label\">Getting Started</span>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"widgets\"></m3e-icon>\r\n * <span slot=\"label\">Overview</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"package_2\"></m3e-icon>\r\n * <span slot=\"label\">Installation</span>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <span slot=\"label\">Actions</span>\r\n * <m3e-nav-menu-item><span slot=\"label\">Button</span></m3e-nav-menu-item>\r\n * <m3e-nav-menu-item><span slot=\"label\">Icon</span></m3e-nav-menu-item>\r\n * <m3e-nav-menu-item><span slot=\"label\">Icon Button</span></m3e-nav-menu-item>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu>\r\n * ```\r\n *\r\n * @tag m3e-nav-menu\r\n *\r\n * @slot - Renders the items of the menu.\r\n *\r\n * @cssprop --m3e-nav-menu-padding-top - Top padding for the menu.\r\n * @cssprop --m3e-nav-menu-padding-bottom - Bottom padding for the menu.\r\n * @cssprop --m3e-nav-menu-padding-left - Left padding for the menu.\r\n * @cssprop --m3e-nav-menu-padding-right - Right padding for the menu.\r\n * @cssprop --m3e-nav-menu-divider-margin - Margin for divider elements in the menu.\r\n * @cssprop --m3e-nav-menu-scrollbar-width - Width of the menu scrollbar.\r\n * @cssprop --m3e-nav-menu-scrollbar-color - Color of the menu scrollbar.\r\n */\r\n@customElement(\"m3e-nav-menu\")\r\nexport class M3eNavMenuElement extends Role(LitElement, \"tree\") {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: flex;\r\n flex-direction: column;\r\n outline: none;\r\n overflow-y: auto;\r\n overflow-x: hidden;\r\n position: relative;\r\n min-height: 0;\r\n padding-block-start: var(--m3e-nav-menu-padding-top, 0.5rem);\r\n padding-block-end: var(--m3e-nav-menu-padding-bottom, 0.5rem);\r\n padding-inline-start: var(--m3e-nav-menu-padding-left, 0.75rem);\r\n padding-inline-end: var(--m3e-nav-menu-padding-right, 0.75rem);\r\n scrollbar-width: ${DesignToken.scrollbar.width};\r\n scrollbar-color: ${DesignToken.scrollbar.color};\r\n }\r\n ::slotted(m3e-divider) {\r\n margin-block: var(--m3e-nav-menu-divider-margin, 0.25rem);\r\n flex: none;\r\n }\r\n `;\r\n\r\n /** @private */ private static __nextId = 0;\r\n /** @private */ #ignoreFocusVisible = false;\r\n /** @private */ #ignoreFocus = false;\r\n\r\n /** @private */\r\n readonly [selectionManager] = new SelectionManager<M3eNavMenuItemElement>()\r\n .withVerticalOrientation()\r\n .withHomeAndEnd()\r\n .withTypeahead()\r\n .withSkipPredicate((x) => x.disabled || !x.visible)\r\n .disableRovingTabIndex()\r\n .onActiveItemChange(() => {\r\n if (this[selectionManager].activeItem) {\r\n this.#activateItem(this[selectionManager].activeItem);\r\n }\r\n })\r\n .onSelectedItemsChange(() => {\r\n const selected = this.selected;\r\n for (const item of this.items) {\r\n if (item !== selected) {\r\n this.#updateItemFocusVisible(item, false, false);\r\n }\r\n }\r\n\r\n if (selected?.label) {\r\n scrollIntoViewIfNeeded(selected.label, this, { block: \"start\", behavior: \"smooth\" });\r\n }\r\n });\r\n\r\n /** @private */ readonly #keyDownHandler = (e: KeyboardEvent) => this.#handleKeyDown(e);\r\n /** @private */ readonly #keyUpHandler = (e: KeyboardEvent) => this.#handleKeyUp(e);\r\n /** @private */ readonly #pointerDownHandler = (e: Event) => this.#handlePointerDown(e);\r\n\r\n constructor() {\r\n super();\r\n\r\n new PressedController(this, { callback: (pressed) => (this.#ignoreFocus = pressed) });\r\n new FocusController(this, {\r\n callback: () => {\r\n if (!this.#ignoreFocus) {\r\n this.#updateFocusVisible();\r\n }\r\n },\r\n });\r\n }\r\n\r\n /** The selected item of the menu. */\r\n get selected(): M3eNavMenuItemElement | null {\r\n return this[selectionManager].selectedItems[0] ?? null;\r\n }\r\n\r\n /** All the items of the menu. */\r\n get items(): readonly M3eNavMenuItemElement[] {\r\n return this[selectionManager].items;\r\n }\r\n\r\n /**\r\n * Expands the specified items, or all items if no items are provided.\r\n * @param {M3eNavMenuItemElement | undefined} items The items to expand.\r\n */\r\n expand(items?: M3eNavMenuItemElement[]): void {\r\n (items ?? this[selectionManager].items).forEach((x) => x.expand());\r\n }\r\n\r\n /**\r\n * Collapses the specified items, or all items if no items are provided.\r\n * @param {M3eNavMenuItemElement | undefined} items The items to collapse.\r\n */\r\n collapse(items?: M3eNavMenuItemElement[]): void {\r\n (items ?? this[selectionManager].items).forEach((x) => x.collapse());\r\n\r\n const activeItem = this[selectionManager].activeItem;\r\n if (activeItem && !activeItem.visible) {\r\n for (let parent = activeItem.parentItem; parent; parent = parent.parentItem) {\r\n if (parent.visible) {\r\n this[selectionManager].setActiveItem(parent);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.setAttribute(\"tabindex\", \"0\");\r\n\r\n this.addEventListener(\"keydown\", this.#keyDownHandler);\r\n this.addEventListener(\"keyup\", this.#keyUpHandler);\r\n this.addEventListener(\"pointerdown\", this.#pointerDownHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.removeEventListener(\"keydown\", this.#keyDownHandler);\r\n this.removeEventListener(\"keyup\", this.#keyUpHandler);\r\n this.removeEventListener(\"pointerdown\", this.#pointerDownHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<slot @slotchange=\"${this.#handleSlotChange}\"></slot>`;\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(): void {\r\n for (const divider of this.querySelectorAll(\"m3e-divider\")) {\r\n divider.ariaHidden = \"true\";\r\n }\r\n const { added } = this[selectionManager].setItems([...this.querySelectorAll(\"m3e-nav-menu-item\")]);\r\n for (const item of added) {\r\n item.id = item.id || `m3e-nav-menu-item-${M3eNavMenuElement.__nextId++}`;\r\n }\r\n if (this[selectionManager].activeItem) {\r\n this.setAttribute(\"aria-activedescendant\", this[selectionManager].activeItem.id);\r\n this.#updateFocusVisible();\r\n } else {\r\n this.removeAttribute(\"aria-activedescendant\");\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n this.#ignoreFocusVisible = false;\r\n this.#updateFocusVisible();\r\n\r\n const item = this[selectionManager].activeItem;\r\n if (e.defaultPrevented || !item || item.disabled) return;\r\n\r\n switch (e.key) {\r\n case \"Enter\":\r\n case \" \":\r\n e.preventDefault();\r\n\r\n if (e.key === \" \" && item.ripple && !item.ripple.visible) {\r\n item.ripple.show(0, 0, true);\r\n }\r\n\r\n if (item.hasChildItems) {\r\n item.toggle();\r\n } else if (!item.selected) {\r\n this[selectionManager].select(item);\r\n item.link?.click();\r\n }\r\n break;\r\n\r\n case \"*\":\r\n e.preventDefault();\r\n item.expand(true);\r\n break;\r\n\r\n case \"Left\":\r\n case \"ArrowLeft\":\r\n e.preventDefault();\r\n if (item.hasChildItems && item.open) {\r\n item.collapse();\r\n } else {\r\n const parent = item.parentItem;\r\n if (parent) {\r\n parent.collapse();\r\n this[selectionManager].setActiveItem(parent);\r\n }\r\n }\r\n break;\r\n\r\n case \"Right\":\r\n case \"ArrowRight\":\r\n if (item.hasChildItems) {\r\n if (!item.open) {\r\n e.preventDefault();\r\n item.expand();\r\n } else {\r\n try {\r\n this[selectionManager].vertical = false;\r\n this[selectionManager].onKeyDown(e);\r\n } finally {\r\n this[selectionManager].vertical = true;\r\n }\r\n }\r\n } else {\r\n e.preventDefault();\r\n }\r\n break;\r\n\r\n default:\r\n this[selectionManager].onKeyDown(e);\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyUp(e: KeyboardEvent): void {\r\n const item = this[selectionManager].activeItem;\r\n if (!e.defaultPrevented && item && !item.disabled && e.key === \" \") {\r\n item.ripple?.hide();\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerDown(e: Event): void {\r\n if (!e.defaultPrevented && !this.#ignoreFocusVisible) {\r\n this.#ignoreFocusVisible = true;\r\n\r\n const item = e\r\n .composedPath()\r\n .reverse()\r\n .find((x) => x instanceof M3eNavMenuItemElement);\r\n\r\n if (item && !item.disabled) {\r\n this.#updateItemFocusVisible(item, true, false);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #activateItem(item: M3eNavMenuItemElement): void {\r\n this.setAttribute(\"aria-activedescendant\", item.id);\r\n if (item.label) {\r\n scrollIntoViewIfNeeded(item.label, this, { block: \"nearest\", behavior: \"smooth\" });\r\n }\r\n this.#updateFocusVisible();\r\n }\r\n\r\n /** @private */\r\n #updateFocusVisible(): void {\r\n const focused = this.matches(\":focus\") || this.matches(\":focus-within\");\r\n const focusVisible = !this.#ignoreFocusVisible && this.matches(\":focus-visible\");\r\n this[selectionManager].items.forEach((x) => {\r\n const active = x === this[selectionManager].activeItem;\r\n this.#updateItemFocusVisible(x, active && focused, active && focusVisible);\r\n });\r\n }\r\n\r\n /** @private */\r\n #updateItemFocusVisible(item: M3eNavMenuItemElement, focused: boolean, focusVisible: boolean): void {\r\n if (focused && focusVisible) {\r\n item.stateLayer?.show(\"focused\");\r\n } else {\r\n item.stateLayer?.hide(\"focused\");\r\n }\r\n if (focusVisible) {\r\n item.focusRing?.show();\r\n } else {\r\n item.focusRing?.hide();\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-nav-menu\": M3eNavMenuElement;\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, LitElement } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\n\r\nimport { Role } from \"@m3e/core\";\r\n\r\n/**\r\n * A top-level semantic grouping of items in a navigation menu.\r\n *\r\n * @description\r\n * The `m3e-nav-menu-item-group` is a top-level semantic grouping of items in a navigation menu.\r\n * It encapsulates related items under a shared heading or label, supporting visual hierarchy and accessibility.\r\n *\r\n * @example\r\n * The following example illustrates a navigation menu with a top-level group of menu items.\r\n * ```html\r\n * <m3e-nav-menu>\r\n * <m3e-nav-menu-item-group>\r\n * <m3e-heading slot=\"label\" variant=\"label\" size=\"large\">Mail</m3e-heading>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"mail\"></m3e-icon>\r\n * <span slot=\"label\">Inbox</span>\r\n * <span slot=\"badge\">24</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"send\"></m3e-icon>\r\n * <span slot=\"label\">Outbox</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"favorite\"></m3e-icon>\r\n * <span slot=\"label\">Favorites</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"delete\"></m3e-icon>\r\n * <span slot=\"label\">Trash</span>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu-item-group>\r\n * </m3e-nav-menu>\r\n * ```\r\n *\r\n * @tag m3e-nav-menu-item-group\r\n *\r\n * @slot - Renders the items of the group.\r\n * @slot label - Renders the label of the group.\r\n *\r\n * @cssprop --m3e-nav-menu-item-group-label-inset - Insets the label from the start edge of the group.\r\n * @cssprop --m3e-nav-menu-item-group-label-space - Vertical spacing around the group's label.\r\n */\r\n@customElement(\"m3e-nav-menu-item-group\")\r\nexport class M3eNavMenuItemGroupElement extends Role(LitElement, \"group\") {\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 ::slotted([slot=\"label\"]) {\r\n margin-inline-start: var(--m3e-nav-menu-item-group-label-inset, 1rem);\r\n margin-block-end: var(--m3e-nav-menu-item-group-label-space, 1rem);\r\n flex: none;\r\n }\r\n :host(.-divided) ::slotted([slot=\"label\"]) {\r\n margin-block-start: calc(\r\n var(--m3e-nav-menu-item-group-label-space, 1rem) - var(--m3e-nav-menu-divider-margin, 0.25rem)\r\n );\r\n }\r\n :host(:not(.-divided)) ::slotted([slot=\"label\"]) {\r\n margin-block-start: var(--m3e-nav-menu-item-group-label-space, 1rem);\r\n }\r\n `;\r\n\r\n /** @private */ private static __nextId = 0;\r\n /** @private */ #labelId = `m3e-nav-menu-item-group-label-${M3eNavMenuItemGroupElement.__nextId++}`;\r\n /** @private */ #label?: Element;\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n this.classList.toggle(\"-divided\", this.previousElementSibling?.tagName === \"M3E-DIVIDER\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this.classList.remove(\"-divided\");\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<slot name=\"label\" @slotchange=\"${this.#handleLabelSlotChange}\"></slot><slot></slot>`;\r\n }\r\n\r\n /** @private */\r\n #handleLabelSlotChange(e: Event): void {\r\n const label = (e.target as HTMLSlotElement).assignedElements({ flatten: true })[0];\r\n if (label !== this.#label) {\r\n // If the label is changed and its id matched the reversed id,\r\n // clear the id in the event the element is moved elsewhere in the DOM.\r\n\r\n if (this.#label?.id === this.#labelId) {\r\n this.#label.id = \"\";\r\n }\r\n\r\n this.#label = label;\r\n\r\n if (this.#label) {\r\n this.#label.role = \"none\";\r\n this.#label.id = this.#label.id || this.#labelId;\r\n this.setAttribute(\"aria-labelledby\", this.#label.id);\r\n } else {\r\n this.removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-nav-menu-item-group\": M3eNavMenuItemGroupElement;\r\n }\r\n}\r\n"],"names":["t","e","s","o","r","n","S","c","i","h","a","l","p","d","u","f","ifDefined","query","state","property","customElement"],"mappings":"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AC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../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/state.js","../../../node_modules/@lit/reactive-element/decorators/base.js","../../../node_modules/@lit/reactive-element/decorators/query.js","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-html/directives/if-defined.js","../../src/NavMenuItemElement.ts","../../src/NavMenuElement.ts","../../src/NavMenuItemGroupElement.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","/**\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","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.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","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */\r\nimport { css, CSSResultGroup, html, LitElement, PropertyValues, unsafeCSS } from \"lit\";\r\nimport { customElement, property, query, state } from \"lit/decorators.js\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\n\r\nimport {\r\n AttachInternals,\r\n DesignToken,\r\n Disabled,\r\n EventAttribute,\r\n hasAssignedNodes,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n Role,\r\n Selected,\r\n} from \"@m3e/core\";\r\n\r\nimport { selectionManager } from \"@m3e/core/a11y\";\r\n\r\nimport type { M3eNavMenuElement } from \"./NavMenuElement\";\r\n\r\n/**\r\n * An expandable item, selectable item within a navigation menu.\r\n *\r\n * @description\r\n * The `m3e-nav-menu-item` component represents an expandable, selectable item within a navigation menu.\r\n * It supports nested child items, selection, disabled and indeterminate states, and emits events for\r\n * open/close transitions. The component is highly customizable via slots and CSS custom properties, and\r\n * is designed for accessible, keyboard-navigable menu structures.\r\n *\r\n *\r\n * @example\r\n * The following example illustrates a navigation menu with a top-level group of menu items.\r\n * ```html\r\n * <m3e-nav-menu>\r\n * <m3e-nav-menu-item-group>\r\n * <m3e-heading slot=\"label\" variant=\"label\" size=\"large\">Mail</m3e-heading>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"mail\"></m3e-icon>\r\n * <span slot=\"label\">Inbox</span>\r\n * <span slot=\"badge\">24</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"send\"></m3e-icon>\r\n * <span slot=\"label\">Outbox</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"favorite\"></m3e-icon>\r\n * <span slot=\"label\">Favorites</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"delete\"></m3e-icon>\r\n * <span slot=\"label\">Trash</span>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu-item-group>\r\n * </m3e-nav-menu>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates a multilevel navigation menu.\r\n * ```html\r\n * <m3e-nav-menu>\r\n * <m3e-nav-menu-item open>\r\n * <m3e-icon slot=\"icon\" name=\"rocket_launch\"></m3e-icon>\r\n * <span slot=\"label\">Getting Started</span>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"widgets\"></m3e-icon>\r\n * <span slot=\"label\">Overview</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"package_2\"></m3e-icon>\r\n * <span slot=\"label\">Installation</span>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <span slot=\"label\">Actions</span>\r\n * <m3e-nav-menu-item><span slot=\"label\">Button</span></m3e-nav-menu-item>\r\n * <m3e-nav-menu-item><span slot=\"label\">Icon</span></m3e-nav-menu-item>\r\n * <m3e-nav-menu-item><span slot=\"label\">Icon Button</span></m3e-nav-menu-item>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu>\r\n * ```\r\n *\r\n * @tag m3e-nav-menu-item\r\n *\r\n * @slot - Renders the nested child items.\r\n * @slot label - Renders the label of the item.\r\n * @slot icon - Renders the icon of the item.\r\n * @slot badge - Renders the badge of the item.\r\n * @slot selected-icon - Renders the icon of the item when selected.\r\n * @slot toggle-icon - Renders the toggle icon.\r\n *\r\n * @attr disabled - Whether the element is disabled.\r\n * @attr indeterminate - Whether the element's selected / checked state is indeterminate.\r\n * @attr open - Whether the item is expanded.\r\n * @attr selected - Whether the item is selected.\r\n *\r\n * @fires opening - Emitted when the item begins to open.\r\n * @fires opened - Emitted when the item has opened.\r\n * @fires closing - Emitted when the item begins to close.\r\n * @fires closed - Emitted when the item has closed.\r\n * @fires click - Emitted when the element is clicked.\r\n *\r\n * @cssprop --m3e-nav-menu-item-font-size - Font size for the item label.\r\n * @cssprop --m3e-nav-menu-item-font-weight - Font weight for the item label.\r\n * @cssprop --m3e-nav-menu-item-line-height - Line height for the item label.\r\n * @cssprop --m3e-nav-menu-item-tracking - Letter spacing for the item label.\r\n * @cssprop --m3e-nav-menu-item-padding - Inline padding for the item.\r\n * @cssprop --m3e-nav-menu-item-height - Height of the item.\r\n * @cssprop --m3e-nav-menu-item-spacing - Spacing between icon and label.\r\n * @cssprop --m3e-nav-menu-item-shape - Border radius of the item and focus ring.\r\n * @cssprop --m3e-nav-menu-item-icon-size - Size of the icon.\r\n * @cssprop --m3e-nav-menu-item-inset - Indentation for nested items.\r\n * @cssprop --m3e-nav-menu-item-label-color - Text color for the item label.\r\n * @cssprop --m3e-nav-menu-item-selected-label-color - Text color for selected item label.\r\n * @cssprop --m3e-nav-menu-item-selected-container-color - Background color for selected item.\r\n * @cssprop --m3e-nav-menu-item-selected-container-focus-color - Focus color for selected item container.\r\n * @cssprop --m3e-nav-menu-item-selected-container-hover-color - Hover color for selected item container.\r\n * @cssprop --m3e-nav-menu-item-selected-ripple-color - Ripple color for selected item.\r\n * @cssprop --m3e-nav-menu-item-unselected-container-focus-color - Focus color for unselected item container.\r\n * @cssprop --m3e-nav-menu-item-unselected-container-hover-color - Hover color for unselected item container.\r\n * @cssprop --m3e-nav-menu-item-unselected-ripple-color - Ripple color for unselected item.\r\n * @cssprop --m3e-nav-menu-item-open-container-color - Background color for open item with children.\r\n * @cssprop --m3e-nav-menu-item-open-container-focus-color - Focus color for open item container.\r\n * @cssprop --m3e-nav-menu-item-open-container-hover-color - Hover color for open item container.\r\n * @cssprop --m3e-nav-menu-item-open-ripple-color - Ripple color for open item.\r\n * @cssprop --m3e-nav-menu-item-disabled-color - Text color for disabled item.\r\n * @cssprop --m3e-nav-menu-item-disabled-color-opacity - Opacity for disabled item text color.\r\n * @cssprop --m3e-nav-menu-item-badge-font-size - Font size for badge slot.\r\n * @cssprop --m3e-nav-menu-item-badge-font-weight - Font weight for badge slot.\r\n * @cssprop --m3e-nav-menu-item-badge-line-height - Line height for badge slot.\r\n * @cssprop --m3e-nav-menu-item-badge-tracking - Letter spacing for badge slot.\r\n * @cssprop --m3e-nav-menu-divider-margin - Margin for divider elements.\r\n * @cssprop --m3e-nav-menu-item-vertical-inset - Vertical margin for first/last child items.\r\n */\r\n@customElement(\"m3e-nav-menu-item\")\r\nexport class M3eNavMenuItemElement extends Selected(\r\n Disabled(\r\n EventAttribute(AttachInternals(Role(LitElement, \"treeitem\"), true), \"opening\", \"opened\", \"closing\", \"closed\")\r\n )\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: block;\r\n flex: none;\r\n outline: none;\r\n user-select: none;\r\n position: relative;\r\n font-size: var(--m3e-nav-menu-item-font-size, ${DesignToken.typescale.standard.label.large.fontSize});\r\n font-weight: var(--m3e-nav-menu-item-font-weight, ${DesignToken.typescale.standard.label.large.fontWeight});\r\n line-height: var(--m3e-nav-menu-item-line-height, ${DesignToken.typescale.standard.label.large.lineHeight});\r\n letter-spacing: var(--m3e-nav-menu-item-tracking, ${DesignToken.typescale.standard.label.large.tracking});\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n .base {\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n padding-inline: var(--m3e-nav-menu-item-padding, 1.5rem);\r\n height: calc(var(--m3e-nav-menu-item-height, 3.5rem) + ${DesignToken.density.calc(-3)});\r\n column-gap: var(--m3e-nav-menu-item-spacing, 0.75rem);\r\n transition: ${unsafeCSS(\r\n `color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`\r\n )};\r\n }\r\n .base,\r\n .focus-ring {\r\n border-radius: var(--m3e-nav-menu-item-shape, ${DesignToken.shape.corner.full});\r\n }\r\n .label {\r\n flex: 1 1 auto;\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n overflow: hidden;\r\n vertical-align: middle;\r\n }\r\n .icon,\r\n .toggle {\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: relative;\r\n vertical-align: middle;\r\n }\r\n ::slotted([slot=\"badge\"]) {\r\n flex: none;\r\n position: relative;\r\n font-size: var(--m3e-nav-menu-item-badge-font-size, ${DesignToken.typescale.standard.label.large.fontSize});\r\n font-weight: var(--m3e-nav-menu-item-badge-font-weight, ${DesignToken.typescale.standard.label.large.fontWeight});\r\n line-height: var(--m3e-nav-menu-item-badge-line-height, ${DesignToken.typescale.standard.label.large.lineHeight});\r\n letter-spacing: var(--m3e-nav-menu-item-badge-tracking, ${DesignToken.typescale.standard.label.large.tracking});\r\n }\r\n .toggle {\r\n transition: ${unsafeCSS(`transform var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})\r\n ${DesignToken.motion.easing.standard}`)};\r\n }\r\n :host(:not(.-with-icon)) .icon {\r\n display: none;\r\n }\r\n .icon {\r\n margin-inline-start: -0.5rem;\r\n }\r\n .toggle {\r\n margin-inline-end: -0.5rem;\r\n }\r\n .group {\r\n padding-inline-start: var(--m3e-nav-menu-item-inset, 1rem);\r\n }\r\n :host([open]) .toggle {\r\n transform: rotate(180deg);\r\n }\r\n :host(:not(.-has-items)) .toggle,\r\n :host(:not(.-has-items)) .group {\r\n display: none;\r\n }\r\n ::slotted([slot=\"selected-icon\"]),\r\n ::slotted([slot=\"icon\"]),\r\n ::slotted([slot=\"toggle-icon\"]),\r\n .toggle-icon {\r\n vertical-align: middle;\r\n width: 1em;\r\n height: 1em;\r\n font-size: var(--m3e-nav-menu-item-icon-size, 1.5rem);\r\n }\r\n :host(:not(:disabled)) .base {\r\n cursor: pointer;\r\n }\r\n :host(:not(:disabled)) .base {\r\n color: var(--m3e-nav-menu-item-label-color, ${DesignToken.color.onSurfaceVariant});\r\n }\r\n :host(:disabled) .base {\r\n color: color-mix(\r\n in srgb,\r\n var(--m3e-nav-menu-item-disabled-color, ${DesignToken.color.onSurface})\r\n var(--m3e-nav-menu-item-disabled-color-opacity, 38%),\r\n transparent\r\n );\r\n }\r\n :host([selected]:not(.-has-items):not(:disabled)) .base {\r\n color: var(--m3e-nav-menu-item-selected-label-color, ${DesignToken.color.onSecondaryContainer});\r\n background-color: var(--m3e-nav-menu-item-selected-container-color, ${DesignToken.color.secondaryContainer});\r\n --m3e-state-layer-focus-color: var(\r\n --m3e-nav-menu-item-selected-container-focus-color,\r\n ${DesignToken.color.onSecondaryContainer}\r\n );\r\n --m3e-state-layer-hover-color: var(\r\n --m3e-nav-menu-item-selected-container-hover-color,\r\n ${DesignToken.color.onSecondaryContainer}\r\n );\r\n --m3e-ripple-color: var(--m3e-nav-menu-item-selected-ripple-color, ${DesignToken.color.onSecondaryContainer});\r\n }\r\n :host(:not([selected]):not(.-has-items):not(:disabled)) .base {\r\n --m3e-state-layer-focus-color: var(\r\n --m3e-nav-menu-item-unselected-container-focus-color,\r\n ${DesignToken.color.onSurface}\r\n );\r\n --m3e-state-layer-hover-color: var(\r\n --m3e-nav-menu-item-unselected-container-hover-color,\r\n ${DesignToken.color.onSurface}\r\n );\r\n --m3e-ripple-color: var(--m3e-nav-menu-item-unselected-ripple-color, ${DesignToken.color.onSurface});\r\n }\r\n .state-layer {\r\n margin-inline: auto;\r\n }\r\n :host([selected].-has-items:not(:disabled)) .base {\r\n background-color: var(--m3e-nav-menu-item-open-container-color, ${DesignToken.color.surfaceContainerHighest});\r\n --m3e-state-layer-focus-color: var(\r\n --m3e-nav-menu-item-open-container-focus-color,\r\n ${DesignToken.color.onSurface}\r\n );\r\n --m3e-state-layer-hover-color: var(\r\n --m3e-nav-menu-item-open-container-hover-color,\r\n ${DesignToken.color.onSurface}\r\n );\r\n --m3e-ripple-color: var(--m3e-nav-menu-item-open-ripple-color, ${DesignToken.color.onSurface});\r\n }\r\n ::slotted(a[slot=\"label\"]) {\r\n all: unset;\r\n }\r\n ::slotted(m3e-divider) {\r\n margin-block: var(--m3e-nav-menu-divider-margin, 0.25rem);\r\n }\r\n ::slotted(m3e-nav-menu-item:first-of-type) {\r\n margin-block-start: var(--m3e-nav-menu-item-vertical-inset, 0.25rem);\r\n }\r\n ::slotted(m3e-nav-menu-item:last-of-type) {\r\n margin-block-end: var(--m3e-nav-menu-item-vertical-inset, 0.25rem);\r\n }\r\n @media (prefers-reduced-motion) {\r\n .base,\r\n .toggle,\r\n .state-layer {\r\n transition: none !important;\r\n }\r\n }\r\n @media (forced-colors: active) {\r\n .base,\r\n .state-layer {\r\n transition: none !important;\r\n }\r\n\r\n :host(:disabled) .base {\r\n color: GrayText;\r\n }\r\n :host(:not([selected]):not(:disabled)) .base {\r\n color: ButtonText;\r\n }\r\n :host([selected]:not(.-has-items):not(:disabled)) .base {\r\n forced-color-adjust: none;\r\n color: ButtonFace;\r\n background-color: ButtonText;\r\n }\r\n :host([selected].-has-items:not(:disabled)) .base {\r\n background-color: unset;\r\n color: ButtonText;\r\n }\r\n }\r\n `;\r\n\r\n /** @internal */ @query(\".state-layer\") readonly stateLayer?: M3eStateLayerElement;\r\n /** @internal */ @query(\".focus-ring\") readonly focusRing?: M3eFocusRingElement;\r\n /** @internal */ @query(\".ripple\") readonly ripple?: M3eRippleElement;\r\n /** @private */ @query(\".base\") private readonly _base?: HTMLElement;\r\n\r\n /** @private */ @state() private _hasChildItems = false;\r\n\r\n /** @private */ #items: M3eNavMenuItemElement[] = [];\r\n /** @private */ #menu: M3eNavMenuElement | null = null;\r\n /** @private */ #path = new Array<M3eNavMenuItemElement>();\r\n /** @private */ #link: HTMLAnchorElement | null = null;\r\n\r\n /**\r\n * Whether the item is expanded.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) open = false;\r\n\r\n /** A reference to the nested `HTMLAnchorElement`. */\r\n get link(): HTMLAnchorElement | null {\r\n return this.#link;\r\n }\r\n\r\n /** A reference to the element used to present the label of the item. */\r\n get label(): HTMLElement | null {\r\n return this._base ?? null;\r\n }\r\n\r\n /** Whether the item is visible. */\r\n get visible(): boolean {\r\n return !this.#path.some((x) => !x.open);\r\n }\r\n\r\n /** The full path of the item, starting with the top-most ancestor, including this item. */\r\n get path(): ReadonlyArray<M3eNavMenuItemElement> {\r\n return [...this.#path, this];\r\n }\r\n\r\n /** Whether the item has child items. */\r\n get hasChildItems(): boolean {\r\n return this._hasChildItems;\r\n }\r\n\r\n /** The parenting item. */\r\n get parentItem(): M3eNavMenuItemElement | null {\r\n return this.#path[this.#path.length - 1] ?? null;\r\n }\r\n\r\n /** The items that immediately descend from this item. */\r\n get childItems(): readonly M3eNavMenuItemElement[] {\r\n return this.#items;\r\n }\r\n\r\n /** The one-based level of the item. */\r\n get level(): number {\r\n return this.#path.length + 1;\r\n }\r\n\r\n /**\r\n * Expands this item, and optionally, all descendants.\r\n * @param {boolean} [descendants=false] Whether to expand all descendants.\r\n */\r\n expand(descendants: boolean = false): void {\r\n if (this.hasChildItems) {\r\n this.open = true;\r\n if (descendants) {\r\n this.childItems.forEach((x) => x.expand(true));\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Collapses this item, and optionally, all descendants.\r\n * @param {boolean} [descendants=false] Whether to expand all descendants.\r\n */\r\n collapse(descendants: boolean = false): void {\r\n if (this.hasChildItems) {\r\n this.open = false;\r\n if (descendants) {\r\n this.childItems.forEach((x) => x.collapse(true));\r\n }\r\n }\r\n }\r\n\r\n /** Toggles the expanded state of the item. */\r\n toggle(): void {\r\n if (this.hasChildItems) {\r\n this.open = !this.open;\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.#path.length = 0;\r\n for (\r\n let item = this.parentElement?.closest(\"m3e-nav-menu-item\");\r\n item;\r\n item = item.parentElement?.closest(\"m3e-nav-menu-item\")\r\n ) {\r\n this.#path.push(item);\r\n }\r\n this.#path.reverse();\r\n\r\n this.style.setProperty(\"--_nav-menu-item-level\", `${this.level}`);\r\n this.#menu = this.closest(\"m3e-nav-menu\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this.#path.length = 0;\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues): void {\r\n super.update(changedProperties);\r\n\r\n if (changedProperties.has(\"selected\")) {\r\n // Remove aria-selected and just use aria-current.\r\n this.ariaSelected = null;\r\n this.ariaCurrent = this.hasChildItems ? null : `${this.selected}`;\r\n for (const icon of this.querySelectorAll(\":scope > m3e-icon[slot]\")) {\r\n icon.toggleAttribute(\"filled\", this.selected);\r\n }\r\n\r\n this.#path.forEach((x) => (x.selected = this.selected));\r\n if (this.selected && !this.hasChildItems) {\r\n this.closest(\"m3e-nav-menu\")?.[selectionManager].notifySelectionChange(this);\r\n }\r\n }\r\n\r\n if (changedProperties.has(\"open\") || changedProperties.has(\"_hasChildItems\")) {\r\n this.ariaExpanded = this._hasChildItems ? `${this.open}` : null;\r\n }\r\n\r\n if ((changedProperties.has(\"_hasChildItems\") && this.disabled) || changedProperties.has(\"disabled\")) {\r\n this.#items.forEach((x) => (x.disabled = this.disabled));\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n const base = this._base;\r\n if (base) {\r\n [this.focusRing, this.stateLayer, this.ripple].forEach((x) => x?.attach(base));\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\" @click=\"${this.#handleClick}\">\r\n <m3e-state-layer class=\"state-layer\" ?disabled=\"${this.disabled}\"></m3e-state-layer>\r\n <m3e-focus-ring class=\"focus-ring\" inward ?disabled=\"${this.disabled}\"></m3e-focus-ring>\r\n <m3e-ripple class=\"ripple\" ?disabled=\"${this.disabled}\"></m3e-ripple>\r\n <div class=\"icon\" aria-hidden=\"true\">${this.#renderIcon()}</div>\r\n <div class=\"label\">\r\n <slot name=\"label\" @slotchange=\"${this.#handleSlotChange}\"></slot>\r\n </div>\r\n <slot name=\"badge\"></slot>\r\n <div aria-hidden=\"true\" class=\"toggle\">\r\n <slot name=\"toggle-icon\">\r\n <svg class=\"toggle-icon\" viewBox=\"0 -960 960 960\" fill=\"currentColor\">\r\n <path d=\"M480-360 280-560h400L480-360Z\" />\r\n </svg>\r\n </slot>\r\n </div>\r\n </div>\r\n <m3e-collapsible\r\n class=\"group\"\r\n role=\"group\"\r\n aria-hidden=\"${ifDefined(this._hasChildItems ? undefined : \"true\")}\"\r\n ?open=\"${this._hasChildItems && this.open}\"\r\n @opening=\"${this.#handleCollapsibleEvent}\"\r\n @opened=\"${this.#handleCollapsibleEvent}\"\r\n @closing=\"${this.#handleCollapsibleEvent}\"\r\n @closed=\"${this.#handleCollapsibleEvent}\"\r\n >\r\n <slot @slotchange=\"${this.#handleItemSlotChange}\"></slot>\r\n </m3e-collapsible>`;\r\n }\r\n\r\n /** @private */\r\n #renderIcon(): unknown {\r\n const icon = html`<slot name=\"icon\" @slotchange=\"${this.#handleIconSlotChange}\"></slot>`;\r\n return this.selected && !this.hasChildItems\r\n ? html`<slot name=\"selected-icon\" @slotchange=\"${this.#handleIconSlotChange}\">${icon}</slot>`\r\n : icon;\r\n }\r\n\r\n /** @private */\r\n #handleIconSlotChange(e: Event) {\r\n this.classList.toggle(\"-with-icon\", hasAssignedNodes(<HTMLSlotElement>e.target));\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(e: Event): void {\r\n this.#link =\r\n (<HTMLSlotElement>e.target).assignedElements({ flatten: true }).find((x) => x instanceof HTMLAnchorElement) ??\r\n null;\r\n\r\n this.#link?.setAttribute(\"tabindex\", \"-1\");\r\n }\r\n\r\n /** @private */\r\n #handleItemSlotChange(e: Event): void {\r\n this.#items = (<HTMLSlotElement>e.target)\r\n .assignedElements({ flatten: true })\r\n .filter((x) => x instanceof M3eNavMenuItemElement);\r\n\r\n const hadChildItems = this._hasChildItems;\r\n this._hasChildItems = this.#items.length > 0;\r\n this.classList.toggle(\"-has-items\", this._hasChildItems);\r\n\r\n if (hadChildItems || this._hasChildItems) {\r\n this.selected = this.#items.some((x) => x.selected);\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleClick(): void {\r\n if (this.disabled) return;\r\n\r\n this.#menu?.[selectionManager].setActiveItem(this);\r\n if (!this._hasChildItems) {\r\n this.#menu?.[selectionManager].select(this);\r\n this.#path.forEach((x) => (x.selected = this.selected));\r\n this.#link?.click();\r\n\r\n const drawerContainer = this.closest(\"m3e-drawer-container\");\r\n if (drawerContainer) {\r\n const drawer = this.closest(\"[slot='start']\") ?? this.closest(\"[slot='end')\");\r\n if (\r\n drawer &&\r\n (drawerContainer.classList.contains(`-${drawer.slot}-push`) ||\r\n drawerContainer.classList.contains(`-${drawer.slot}-over`))\r\n ) {\r\n setTimeout(() => drawerContainer.removeAttribute(drawer.slot), 300);\r\n }\r\n }\r\n } else {\r\n this.toggle();\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleCollapsibleEvent(e: Event): void {\r\n e.stopPropagation();\r\n this.dispatchEvent(new Event(e.type, { bubbles: true }));\r\n }\r\n}\r\n\r\ninterface M3eNavMenuItemElementEventMap extends HTMLElementEventMap {\r\n opening: Event;\r\n opened: Event;\r\n closing: Event;\r\n closed: Event;\r\n}\r\n\r\nexport interface M3eNavMenuItemElement {\r\n addEventListener<K extends keyof M3eNavMenuItemElementEventMap>(\r\n type: K,\r\n listener: (this: M3eNavMenuItemElement, ev: M3eNavMenuItemElementEventMap[K]) => void,\r\n options?: boolean | AddEventListenerOptions\r\n ): void;\r\n\r\n addEventListener(\r\n type: string,\r\n listener: EventListenerOrEventListenerObject,\r\n options?: boolean | AddEventListenerOptions\r\n ): void;\r\n\r\n removeEventListener<K extends keyof M3eNavMenuItemElementEventMap>(\r\n type: K,\r\n listener: (this: M3eNavMenuItemElement, ev: M3eNavMenuItemElementEventMap[K]) => void,\r\n options?: boolean | EventListenerOptions\r\n ): void;\r\n\r\n removeEventListener(\r\n type: string,\r\n listener: EventListenerOrEventListenerObject,\r\n options?: boolean | EventListenerOptions\r\n ): void;\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-nav-menu-item\": M3eNavMenuItemElement;\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, LitElement } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\n\r\nimport { DesignToken, FocusController, PressedController, Role, scrollIntoViewIfNeeded } from \"@m3e/core\";\r\nimport { SelectionManager, selectionManager } from \"@m3e/core/a11y\";\r\nimport { M3eDirectionality } from \"@m3e/core/bidi\";\r\n\r\nimport { M3eNavMenuItemElement } from \"./NavMenuItemElement\";\r\n\r\n/**\r\n * A hierarchical menu, typically used on larger devices, that allows a user to switch between views.\r\n *\r\n * @description\r\n * The `m3e-nav-menu` component provides a hierarchical, accessible navigation menu supporting\r\n * nested expandable items, keyboard navigation, and focus management. It is highly customizable\r\n * via slots and CSS custom properties, and is designed for use in sidebars, navigation drawers,\r\n * and complex menu structures.\r\n *\r\n * @example\r\n * The following example illustrates a navigation menu with a top-level group of menu items.\r\n * ```html\r\n * <m3e-nav-menu>\r\n * <m3e-nav-menu-item-group>\r\n * <m3e-heading slot=\"label\" variant=\"label\" size=\"large\">Mail</m3e-heading>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"mail\"></m3e-icon>\r\n * <span slot=\"label\">Inbox</span>\r\n * <span slot=\"badge\">24</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"send\"></m3e-icon>\r\n * <span slot=\"label\">Outbox</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"favorite\"></m3e-icon>\r\n * <span slot=\"label\">Favorites</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"delete\"></m3e-icon>\r\n * <span slot=\"label\">Trash</span>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu-item-group>\r\n * </m3e-nav-menu>\r\n * ```\r\n *\r\n * @example\r\n * The next example illustrates a multilevel navigation menu.\r\n * ```html\r\n * <m3e-nav-menu>\r\n * <m3e-nav-menu-item open>\r\n * <m3e-icon slot=\"icon\" name=\"rocket_launch\"></m3e-icon>\r\n * <span slot=\"label\">Getting Started</span>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"widgets\"></m3e-icon>\r\n * <span slot=\"label\">Overview</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"package_2\"></m3e-icon>\r\n * <span slot=\"label\">Installation</span>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <span slot=\"label\">Actions</span>\r\n * <m3e-nav-menu-item><span slot=\"label\">Button</span></m3e-nav-menu-item>\r\n * <m3e-nav-menu-item><span slot=\"label\">Icon</span></m3e-nav-menu-item>\r\n * <m3e-nav-menu-item><span slot=\"label\">Icon Button</span></m3e-nav-menu-item>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu>\r\n * ```\r\n *\r\n * @tag m3e-nav-menu\r\n *\r\n * @slot - Renders the items of the menu.\r\n *\r\n * @cssprop --m3e-nav-menu-padding-top - Top padding for the menu.\r\n * @cssprop --m3e-nav-menu-padding-bottom - Bottom padding for the menu.\r\n * @cssprop --m3e-nav-menu-padding-left - Left padding for the menu.\r\n * @cssprop --m3e-nav-menu-padding-right - Right padding for the menu.\r\n * @cssprop --m3e-nav-menu-divider-margin - Margin for divider elements in the menu.\r\n * @cssprop --m3e-nav-menu-scrollbar-width - Width of the menu scrollbar.\r\n * @cssprop --m3e-nav-menu-scrollbar-color - Color of the menu scrollbar.\r\n */\r\n@customElement(\"m3e-nav-menu\")\r\nexport class M3eNavMenuElement extends Role(LitElement, \"tree\") {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = css`\r\n :host {\r\n display: flex;\r\n flex-direction: column;\r\n outline: none;\r\n overflow-y: auto;\r\n overflow-x: hidden;\r\n position: relative;\r\n min-height: 0;\r\n padding-block-start: var(--m3e-nav-menu-padding-top, 0.5rem);\r\n padding-block-end: var(--m3e-nav-menu-padding-bottom, 0.5rem);\r\n padding-inline-start: var(--m3e-nav-menu-padding-left, 0.75rem);\r\n padding-inline-end: var(--m3e-nav-menu-padding-right, 0.75rem);\r\n scrollbar-width: ${DesignToken.scrollbar.width};\r\n scrollbar-color: ${DesignToken.scrollbar.color};\r\n }\r\n ::slotted(m3e-divider) {\r\n margin-block: var(--m3e-nav-menu-divider-margin, 0.25rem);\r\n flex: none;\r\n }\r\n `;\r\n\r\n /** @private */ private static __nextId = 0;\r\n /** @private */ #ignoreFocusVisible = false;\r\n /** @private */ #ignoreFocus = false;\r\n\r\n /** @private */\r\n readonly [selectionManager] = new SelectionManager<M3eNavMenuItemElement>()\r\n .withVerticalOrientation()\r\n .withHomeAndEnd()\r\n .withTypeahead()\r\n .withSkipPredicate((x) => x.disabled || !x.visible)\r\n .disableRovingTabIndex()\r\n .onActiveItemChange(() => {\r\n if (this[selectionManager].activeItem) {\r\n this.#activateItem(this[selectionManager].activeItem);\r\n }\r\n })\r\n .onSelectedItemsChange(() => {\r\n const selected = this.selected;\r\n for (const item of this.items) {\r\n if (item !== selected) {\r\n this.#updateItemFocusVisible(item, false, false);\r\n }\r\n }\r\n\r\n if (selected?.label) {\r\n scrollIntoViewIfNeeded(selected.label, this, { block: \"start\", behavior: \"smooth\" });\r\n }\r\n });\r\n\r\n /** @private */ readonly #keyDownHandler = (e: KeyboardEvent) => this.#handleKeyDown(e);\r\n /** @private */ readonly #keyUpHandler = (e: KeyboardEvent) => this.#handleKeyUp(e);\r\n /** @private */ readonly #pointerDownHandler = (e: Event) => this.#handlePointerDown(e);\r\n\r\n constructor() {\r\n super();\r\n\r\n new PressedController(this, { callback: (pressed) => (this.#ignoreFocus = pressed) });\r\n new FocusController(this, {\r\n callback: () => {\r\n if (!this.#ignoreFocus) {\r\n this.#updateFocusVisible();\r\n }\r\n },\r\n });\r\n }\r\n\r\n /** The selected item of the menu. */\r\n get selected(): M3eNavMenuItemElement | null {\r\n return this[selectionManager].selectedItems[0] ?? null;\r\n }\r\n\r\n /** All the items of the menu. */\r\n get items(): readonly M3eNavMenuItemElement[] {\r\n return this[selectionManager].items;\r\n }\r\n\r\n /**\r\n * Expands the specified items, or all items if no items are provided.\r\n * @param {M3eNavMenuItemElement | undefined} items The items to expand.\r\n */\r\n expand(items?: M3eNavMenuItemElement[]): void {\r\n (items ?? this[selectionManager].items).forEach((x) => x.expand());\r\n }\r\n\r\n /**\r\n * Collapses the specified items, or all items if no items are provided.\r\n * @param {M3eNavMenuItemElement | undefined} items The items to collapse.\r\n */\r\n collapse(items?: M3eNavMenuItemElement[]): void {\r\n (items ?? this[selectionManager].items).forEach((x) => x.collapse());\r\n\r\n const activeItem = this[selectionManager].activeItem;\r\n if (activeItem && !activeItem.visible) {\r\n for (let parent = activeItem.parentItem; parent; parent = parent.parentItem) {\r\n if (parent.visible) {\r\n this[selectionManager].setActiveItem(parent);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n this.setAttribute(\"tabindex\", \"0\");\r\n\r\n this.addEventListener(\"keydown\", this.#keyDownHandler);\r\n this.addEventListener(\"keyup\", this.#keyUpHandler);\r\n this.addEventListener(\"pointerdown\", this.#pointerDownHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this.removeEventListener(\"keydown\", this.#keyDownHandler);\r\n this.removeEventListener(\"keyup\", this.#keyUpHandler);\r\n this.removeEventListener(\"pointerdown\", this.#pointerDownHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<slot @slotchange=\"${this.#handleSlotChange}\"></slot>`;\r\n }\r\n\r\n /** @private */\r\n #handleSlotChange(): void {\r\n for (const divider of this.querySelectorAll(\"m3e-divider\")) {\r\n divider.ariaHidden = \"true\";\r\n }\r\n const { added } = this[selectionManager].setItems([...this.querySelectorAll(\"m3e-nav-menu-item\")]);\r\n for (const item of added) {\r\n item.id = item.id || `m3e-nav-menu-item-${M3eNavMenuElement.__nextId++}`;\r\n }\r\n if (this[selectionManager].activeItem) {\r\n this.setAttribute(\"aria-activedescendant\", this[selectionManager].activeItem.id);\r\n this.#updateFocusVisible();\r\n } else {\r\n this.removeAttribute(\"aria-activedescendant\");\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyDown(e: KeyboardEvent): void {\r\n this.#ignoreFocusVisible = false;\r\n this.#updateFocusVisible();\r\n\r\n const item = this[selectionManager].activeItem;\r\n if (e.defaultPrevented || !item || item.disabled) return;\r\n\r\n switch (e.key) {\r\n case \"Enter\":\r\n case \" \":\r\n e.preventDefault();\r\n\r\n if (e.key === \" \" && item.ripple && !item.ripple.visible) {\r\n item.ripple.show(0, 0, true);\r\n }\r\n\r\n if (item.hasChildItems) {\r\n item.toggle();\r\n } else if (!item.selected) {\r\n this[selectionManager].select(item);\r\n item.link?.click();\r\n }\r\n break;\r\n\r\n case \"*\":\r\n e.preventDefault();\r\n item.expand(true);\r\n break;\r\n\r\n case \"Left\":\r\n case \"ArrowLeft\":\r\n e.preventDefault();\r\n if (M3eDirectionality.current === \"ltr\") {\r\n if (item.hasChildItems && item.open) {\r\n item.collapse();\r\n } else {\r\n const parent = item.parentItem;\r\n if (parent) {\r\n parent.collapse();\r\n this[selectionManager].setActiveItem(parent);\r\n }\r\n }\r\n } else if (item.hasChildItems && !item.open) {\r\n item.expand();\r\n }\r\n\r\n break;\r\n\r\n case \"Right\":\r\n case \"ArrowRight\":\r\n e.preventDefault();\r\n if (M3eDirectionality.current === \"rtl\") {\r\n if (item.hasChildItems && item.open) {\r\n item.collapse();\r\n } else {\r\n const parent = item.parentItem;\r\n if (parent) {\r\n parent.collapse();\r\n this[selectionManager].setActiveItem(parent);\r\n }\r\n }\r\n } else if (item.hasChildItems && !item.open) {\r\n item.expand();\r\n }\r\n break;\r\n\r\n default:\r\n this[selectionManager].onKeyDown(e);\r\n break;\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleKeyUp(e: KeyboardEvent): void {\r\n const item = this[selectionManager].activeItem;\r\n if (!e.defaultPrevented && item && !item.disabled && e.key === \" \") {\r\n item.ripple?.hide();\r\n }\r\n }\r\n\r\n /** @private */\r\n #handlePointerDown(e: Event): void {\r\n if (!e.defaultPrevented && !this.#ignoreFocusVisible) {\r\n this.#ignoreFocusVisible = true;\r\n\r\n const item = e\r\n .composedPath()\r\n .reverse()\r\n .find((x) => x instanceof M3eNavMenuItemElement);\r\n\r\n if (item && !item.disabled) {\r\n this.#updateItemFocusVisible(item, true, false);\r\n }\r\n }\r\n }\r\n\r\n /** @private */\r\n #activateItem(item: M3eNavMenuItemElement): void {\r\n this.setAttribute(\"aria-activedescendant\", item.id);\r\n if (item.label) {\r\n scrollIntoViewIfNeeded(item.label, this, { block: \"nearest\", behavior: \"smooth\" });\r\n }\r\n this.#updateFocusVisible();\r\n }\r\n\r\n /** @private */\r\n #updateFocusVisible(): void {\r\n const focused = this.matches(\":focus\") || this.matches(\":focus-within\");\r\n const focusVisible = !this.#ignoreFocusVisible && this.matches(\":focus-visible\");\r\n this[selectionManager].items.forEach((x) => {\r\n const active = x === this[selectionManager].activeItem;\r\n this.#updateItemFocusVisible(x, active && focused, active && focusVisible);\r\n });\r\n }\r\n\r\n /** @private */\r\n #updateItemFocusVisible(item: M3eNavMenuItemElement, focused: boolean, focusVisible: boolean): void {\r\n if (focused && focusVisible) {\r\n item.stateLayer?.show(\"focused\");\r\n } else {\r\n item.stateLayer?.hide(\"focused\");\r\n }\r\n if (focusVisible) {\r\n item.focusRing?.show();\r\n } else {\r\n item.focusRing?.hide();\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-nav-menu\": M3eNavMenuElement;\r\n }\r\n}\r\n","import { css, CSSResultGroup, html, LitElement } from \"lit\";\r\nimport { customElement } from \"lit/decorators.js\";\r\n\r\nimport { Role } from \"@m3e/core\";\r\n\r\n/**\r\n * A top-level semantic grouping of items in a navigation menu.\r\n *\r\n * @description\r\n * The `m3e-nav-menu-item-group` is a top-level semantic grouping of items in a navigation menu.\r\n * It encapsulates related items under a shared heading or label, supporting visual hierarchy and accessibility.\r\n *\r\n * @example\r\n * The following example illustrates a navigation menu with a top-level group of menu items.\r\n * ```html\r\n * <m3e-nav-menu>\r\n * <m3e-nav-menu-item-group>\r\n * <m3e-heading slot=\"label\" variant=\"label\" size=\"large\">Mail</m3e-heading>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"mail\"></m3e-icon>\r\n * <span slot=\"label\">Inbox</span>\r\n * <span slot=\"badge\">24</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"send\"></m3e-icon>\r\n * <span slot=\"label\">Outbox</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"favorite\"></m3e-icon>\r\n * <span slot=\"label\">Favorites</span>\r\n * </m3e-nav-menu-item>\r\n * <m3e-nav-menu-item>\r\n * <m3e-icon slot=\"icon\" name=\"delete\"></m3e-icon>\r\n * <span slot=\"label\">Trash</span>\r\n * </m3e-nav-menu-item>\r\n * </m3e-nav-menu-item-group>\r\n * </m3e-nav-menu>\r\n * ```\r\n *\r\n * @tag m3e-nav-menu-item-group\r\n *\r\n * @slot - Renders the items of the group.\r\n * @slot label - Renders the label of the group.\r\n *\r\n * @cssprop --m3e-nav-menu-item-group-label-inset - Insets the label from the start edge of the group.\r\n * @cssprop --m3e-nav-menu-item-group-label-space - Vertical spacing around the group's label.\r\n */\r\n@customElement(\"m3e-nav-menu-item-group\")\r\nexport class M3eNavMenuItemGroupElement extends Role(LitElement, \"group\") {\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 ::slotted([slot=\"label\"]) {\r\n margin-inline-start: var(--m3e-nav-menu-item-group-label-inset, 1rem);\r\n margin-block-end: var(--m3e-nav-menu-item-group-label-space, 1rem);\r\n flex: none;\r\n }\r\n :host(.-divided) ::slotted([slot=\"label\"]) {\r\n margin-block-start: calc(\r\n var(--m3e-nav-menu-item-group-label-space, 1rem) - var(--m3e-nav-menu-divider-margin, 0.25rem)\r\n );\r\n }\r\n :host(:not(.-divided)) ::slotted([slot=\"label\"]) {\r\n margin-block-start: var(--m3e-nav-menu-item-group-label-space, 1rem);\r\n }\r\n `;\r\n\r\n /** @private */ private static __nextId = 0;\r\n /** @private */ #labelId = `m3e-nav-menu-item-group-label-${M3eNavMenuItemGroupElement.__nextId++}`;\r\n /** @private */ #label?: Element;\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n super.connectedCallback();\r\n this.classList.toggle(\"-divided\", this.previousElementSibling?.tagName === \"M3E-DIVIDER\");\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n this.classList.remove(\"-divided\");\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<slot name=\"label\" @slotchange=\"${this.#handleLabelSlotChange}\"></slot><slot></slot>`;\r\n }\r\n\r\n /** @private */\r\n #handleLabelSlotChange(e: Event): void {\r\n const label = (e.target as HTMLSlotElement).assignedElements({ flatten: true })[0];\r\n if (label !== this.#label) {\r\n // If the label is changed and its id matched the reversed id,\r\n // clear the id in the event the element is moved elsewhere in the DOM.\r\n\r\n if (this.#label?.id === this.#labelId) {\r\n this.#label.id = \"\";\r\n }\r\n\r\n this.#label = label;\r\n\r\n if (this.#label) {\r\n this.#label.id = this.#label.id || this.#labelId;\r\n this.setAttribute(\"aria-labelledby\", this.#label.id);\r\n } else {\r\n this.removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-nav-menu-item-group\": M3eNavMenuItemGroupElement;\r\n }\r\n}\r\n"],"names":["__decorate","decorators","target","key","desc","c","arguments","length","r","Object","getOwnPropertyDescriptor","d","Reflect","decorate","i","defineProperty","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","value","get","__classPrivateFieldSet","set","SuppressedError","error","suppressed","message","e","Error","name","t","o","addInitializer","customElements","define","globalThis","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","s","Symbol","WeakMap","n","constructor","_$cssResult$","cssText","styleSheet","replaceSync","toString","S","adoptStyles","adoptedStyleSheets","map","document","createElement","litNonce","setAttribute","textContent","appendChild","cssRules","is","h","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","a","trustedTypes","l","emptyScript","p","reactiveElementPolyfillSupport","JSCompiler_renameProperty","u","toAttribute","Boolean","Array","JSON","stringify","fromAttribute","Number","parse","notEqual","b","attribute","type","String","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","y","HTMLElement","_$Ei","push","observedAttributes","finalize","_$Eh","keys","createProperty","hasOwnProperty","create","wrapped","elementProperties","noAccessor","getPropertyDescriptor","requestUpdate","configurable","enumerable","getPropertyOptions","Map","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","isArray","Set","flat","reverse","unshift","toLowerCase","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","Promise","enableUpdating","_$AL","_$E_","forEach","addController","_$EO","add","renderRoot","isConnected","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","attachShadow","shadowRootOptions","connectedCallback","disconnectedCallback","hostDisconnected","attributeChangedCallback","_$AK","_$ET","removeAttribute","_$Ej","hasAttribute","C","_$EP","_$Eq","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","update","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","mode","ReactiveElement","reactiveElementVersions","standardProperty","init","querySelector","createPolicy","createHTML","Math","random","toFixed","slice","createMarker","createComment","iterator","v","_","m","RegExp","g","$","T","for","E","A","createTreeWalker","P","V","getTemplateHtml","lastIndex","exec","test","x","startsWith","N","strings","_$litType$","parts","el","currentNode","content","firstChild","replaceWith","childNodes","nextNode","nodeType","hasAttributes","getAttributeNames","endsWith","getAttribute","split","index","ctor","H","I","L","k","tagName","append","data","indexOf","innerHTML","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","values","M","_$AV","_$AN","_$AD","_$AM","parentNode","_$AU","creationScope","importNode","R","nextSibling","z","_$AI","_$Cv","_$AH","_$AA","_$AB","options","startNode","endNode","_$AR","O","insertBefore","createTextNode","_$AC","_$AP","remove","setConnected","element","fill","j","toggleAttribute","capture","once","passive","removeEventListener","addEventListener","handleEvent","host","litHtmlPolyfillSupport","litHtmlVersions","M3eNavMenuItemElement","M3eNavMenuItemElement_1","Selected","Disabled","EventAttribute","AttachInternals","Role","LitElement","_hasChildItems","_M3eNavMenuItemElement_items","_M3eNavMenuItemElement_menu","_M3eNavMenuItemElement_path","_M3eNavMenuItemElement_link","open","link","label","_base","visible","some","path","hasChildItems","parentItem","childItems","level","expand","descendants","collapse","toggle","item","parentElement","closest","style","setProperty","changedProperties","ariaSelected","ariaCurrent","selected","icon","querySelectorAll","selectionManager","notifySelectionChange","ariaExpanded","disabled","_changedProperties","base","focusRing","stateLayer","ripple","attach","render","html","_M3eNavMenuItemElement_instances","_M3eNavMenuItemElement_handleClick","_M3eNavMenuItemElement_renderIcon","_M3eNavMenuItemElement_handleSlotChange","ifDefined","undefined","_M3eNavMenuItemElement_handleCollapsibleEvent","_M3eNavMenuItemElement_handleItemSlotChange","_M3eNavMenuItemElement_handleIconSlotChange","classList","hasAssignedNodes","assignedElements","flatten","find","HTMLAnchorElement","filter","hadChildItems","setActiveItem","select","click","drawerContainer","drawer","contains","slot","setTimeout","stopPropagation","dispatchEvent","Event","bubbles","css","DesignToken","typescale","standard","large","fontSize","fontWeight","lineHeight","tracking","density","calc","unsafeCSS","motion","duration","short4","easing","shape","corner","full","medium1","color","onSurfaceVariant","onSurface","onSecondaryContainer","secondaryContainer","surfaceContainerHighest","query","property","customElement","M3eNavMenuElement","M3eNavMenuElement_1","_M3eNavMenuElement_ignoreFocusVisible","_M3eNavMenuElement_ignoreFocus","_b","SelectionManager","withVerticalOrientation","withHomeAndEnd","withTypeahead","withSkipPredicate","disableRovingTabIndex","onActiveItemChange","activeItem","_M3eNavMenuElement_instances","_M3eNavMenuElement_activateItem","onSelectedItemsChange","items","_M3eNavMenuElement_updateItemFocusVisible","scrollIntoViewIfNeeded","block","behavior","_M3eNavMenuElement_keyDownHandler","_M3eNavMenuElement_keyUpHandler","_M3eNavMenuElement_pointerDownHandler","PressedController","callback","pressed","FocusController","_M3eNavMenuElement_updateFocusVisible","selectedItems","parent","_M3eNavMenuElement_handleSlotChange","divider","ariaHidden","added","setItems","id","__nextId","defaultPrevented","preventDefault","show","M3eDirectionality","current","onKeyDown","hide","composedPath","focused","matches","focusVisible","active","scrollbar","width","M3eNavMenuItemGroupElement","M3eNavMenuItemGroupElement_1","_M3eNavMenuItemGroupElement_labelId","_M3eNavMenuItemGroupElement_label","previousElementSibling","_M3eNavMenuItemGroupElement_instances","_M3eNavMenuItemGroupElement_handleLabelSlotChange"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9]}