@campminder/components 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +198 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +11 -0
- package/dist/menu-tree.upstream.test.d.ts +1 -0
- package/dist/property-B5JHHBCF.js +603 -0
- package/dist/side-nav/MegaMenu.d.ts +50 -0
- package/dist/side-nav/MegaMenu.styles.d.ts +33 -0
- package/dist/side-nav/SideNav.d.ts +89 -0
- package/dist/side-nav/SideNav.styles.d.ts +42 -0
- package/dist/side-nav/Utils/helpers.d.ts +57 -0
- package/dist/side-nav/assets/MegaMenuIcons/AccountsGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/AdminGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/AlumniGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/CampInTouchGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/CamperGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/CommunicationGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/DefaultMMIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/FinancialGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/MedicalGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/OpenInNewIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/ReportsGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/SchedulingGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/StaffGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/TravelGrayIcon.d.ts +2 -0
- package/dist/side-nav/assets/MegaMenuIcons/index.d.ts +16 -0
- package/dist/side-nav/assets/SideNavIcons/AccountsIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/AdminIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/AlumniIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/CampInTouch.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/CamperIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/ChevronRightIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/CloseIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/CommunicationIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/DefaultNavIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/FinancialIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/HomeIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/MedicalIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/MenuCollapseIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/MenuIcon.d.ts +10 -0
- package/dist/side-nav/assets/SideNavIcons/ReportsIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/SchedulingIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/StaffIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/TravelIcon.d.ts +2 -0
- package/dist/side-nav/assets/SideNavIcons/index.d.ts +20 -0
- package/dist/side-nav/icon-map.d.ts +17 -0
- package/dist/side-nav/index.d.ts +5 -0
- package/dist/side-nav/mega-menu-icon-map.d.ts +20 -0
- package/dist/side-nav/mega-menu-layout.d.ts +9 -0
- package/dist/side-nav/mega-menu.test.d.ts +1 -0
- package/dist/side-nav/side-nav.test.d.ts +1 -0
- package/dist/side-nav.d.ts +1 -0
- package/dist/side-nav.js +1198 -0
- package/dist/state-Ns9O6R8g.js +12 -0
- package/dist/super-user-banner/SuperUserBanner.d.ts +43 -0
- package/dist/super-user-banner/SuperUserBanner.styles.d.ts +21 -0
- package/dist/super-user-banner/index.d.ts +2 -0
- package/dist/super-user-banner/super-user-banner.test.d.ts +1 -0
- package/dist/super-user-banner.d.ts +1 -0
- package/dist/super-user-banner.js +178 -0
- package/dist/top-bar/TopBar.d.ts +39 -0
- package/dist/top-bar/TopBar.styles.d.ts +1 -0
- package/dist/top-bar/Utils/helpers.d.ts +3 -0
- package/dist/top-bar/Utils/safe-url.d.ts +56 -0
- package/dist/top-bar/Utils/safe-url.test.d.ts +1 -0
- package/dist/top-bar/Utils/types.d.ts +50 -0
- package/dist/top-bar/assets/TopBarIcons/CheckIcon.d.ts +2 -0
- package/dist/top-bar/assets/TopBarIcons/CrossIcon.d.ts +2 -0
- package/dist/top-bar/assets/TopBarIcons/DropDownIcon.d.ts +2 -0
- package/dist/top-bar/assets/TopBarIcons/InfoIcon.d.ts +2 -0
- package/dist/top-bar/assets/TopBarIcons/OpenInNewIcon.d.ts +2 -0
- package/dist/top-bar/assets/TopBarIcons/index.d.ts +7 -0
- package/dist/top-bar/index.d.ts +3 -0
- package/dist/top-bar/top-bar.test.d.ts +1 -0
- package/dist/top-bar.d.ts +1 -0
- package/dist/top-bar.js +615 -0
- package/package.json +52 -0
|
@@ -0,0 +1,603 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/
|
|
6
|
+
const H = globalThis, I = H.ShadowRoot && (H.ShadyCSS === void 0 || H.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, B = Symbol(), W = /* @__PURE__ */ new WeakMap();
|
|
7
|
+
let it = class {
|
|
8
|
+
constructor(t, e, s) {
|
|
9
|
+
if (this._$cssResult$ = !0, s !== B) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
|
|
10
|
+
this.cssText = t, this.t = e;
|
|
11
|
+
}
|
|
12
|
+
get styleSheet() {
|
|
13
|
+
let t = this.o;
|
|
14
|
+
const e = this.t;
|
|
15
|
+
if (I && t === void 0) {
|
|
16
|
+
const s = e !== void 0 && e.length === 1;
|
|
17
|
+
s && (t = W.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), s && W.set(e, t));
|
|
18
|
+
}
|
|
19
|
+
return t;
|
|
20
|
+
}
|
|
21
|
+
toString() {
|
|
22
|
+
return this.cssText;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
const at = (r) => new it(typeof r == "string" ? r : r + "", void 0, B), Ot = (r, ...t) => {
|
|
26
|
+
const e = r.length === 1 ? r[0] : t.reduce((s, i, o) => s + ((n) => {
|
|
27
|
+
if (n._$cssResult$ === !0) return n.cssText;
|
|
28
|
+
if (typeof n == "number") return n;
|
|
29
|
+
throw Error("Value passed to 'css' function must be a 'css' function result: " + n + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
|
|
30
|
+
})(i) + r[o + 1], r[0]);
|
|
31
|
+
return new it(e, r, B);
|
|
32
|
+
}, lt = (r, t) => {
|
|
33
|
+
if (I) r.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet);
|
|
34
|
+
else for (const e of t) {
|
|
35
|
+
const s = document.createElement("style"), i = H.litNonce;
|
|
36
|
+
i !== void 0 && s.setAttribute("nonce", i), s.textContent = e.cssText, r.appendChild(s);
|
|
37
|
+
}
|
|
38
|
+
}, Z = I ? (r) => r : (r) => r instanceof CSSStyleSheet ? ((t) => {
|
|
39
|
+
let e = "";
|
|
40
|
+
for (const s of t.cssRules) e += s.cssText;
|
|
41
|
+
return at(e);
|
|
42
|
+
})(r) : r;
|
|
43
|
+
/**
|
|
44
|
+
* @license
|
|
45
|
+
* Copyright 2017 Google LLC
|
|
46
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
47
|
+
*/
|
|
48
|
+
const { is: ct, defineProperty: dt, getOwnPropertyDescriptor: pt, getOwnPropertyNames: ut, getOwnPropertySymbols: $t, getPrototypeOf: _t } = Object, f = globalThis, J = f.trustedTypes, ft = J ? J.emptyScript : "", D = f.reactiveElementPolyfillSupport, w = (r, t) => r, N = { toAttribute(r, t) {
|
|
49
|
+
switch (t) {
|
|
50
|
+
case Boolean:
|
|
51
|
+
r = r ? ft : null;
|
|
52
|
+
break;
|
|
53
|
+
case Object:
|
|
54
|
+
case Array:
|
|
55
|
+
r = r == null ? r : JSON.stringify(r);
|
|
56
|
+
}
|
|
57
|
+
return r;
|
|
58
|
+
}, fromAttribute(r, t) {
|
|
59
|
+
let e = r;
|
|
60
|
+
switch (t) {
|
|
61
|
+
case Boolean:
|
|
62
|
+
e = r !== null;
|
|
63
|
+
break;
|
|
64
|
+
case Number:
|
|
65
|
+
e = r === null ? null : Number(r);
|
|
66
|
+
break;
|
|
67
|
+
case Object:
|
|
68
|
+
case Array:
|
|
69
|
+
try {
|
|
70
|
+
e = JSON.parse(r);
|
|
71
|
+
} catch {
|
|
72
|
+
e = null;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return e;
|
|
76
|
+
} }, q = (r, t) => !ct(r, t), K = { attribute: !0, type: String, converter: N, reflect: !1, useDefault: !1, hasChanged: q };
|
|
77
|
+
Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), f.litPropertyMetadata ?? (f.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
|
|
78
|
+
let v = class extends HTMLElement {
|
|
79
|
+
static addInitializer(t) {
|
|
80
|
+
this._$Ei(), (this.l ?? (this.l = [])).push(t);
|
|
81
|
+
}
|
|
82
|
+
static get observedAttributes() {
|
|
83
|
+
return this.finalize(), this._$Eh && [...this._$Eh.keys()];
|
|
84
|
+
}
|
|
85
|
+
static createProperty(t, e = K) {
|
|
86
|
+
if (e.state && (e.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(t) && ((e = Object.create(e)).wrapped = !0), this.elementProperties.set(t, e), !e.noAccessor) {
|
|
87
|
+
const s = Symbol(), i = this.getPropertyDescriptor(t, s, e);
|
|
88
|
+
i !== void 0 && dt(this.prototype, t, i);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
static getPropertyDescriptor(t, e, s) {
|
|
92
|
+
const { get: i, set: o } = pt(this.prototype, t) ?? { get() {
|
|
93
|
+
return this[e];
|
|
94
|
+
}, set(n) {
|
|
95
|
+
this[e] = n;
|
|
96
|
+
} };
|
|
97
|
+
return { get: i, set(n) {
|
|
98
|
+
const a = i == null ? void 0 : i.call(this);
|
|
99
|
+
o == null || o.call(this, n), this.requestUpdate(t, a, s);
|
|
100
|
+
}, configurable: !0, enumerable: !0 };
|
|
101
|
+
}
|
|
102
|
+
static getPropertyOptions(t) {
|
|
103
|
+
return this.elementProperties.get(t) ?? K;
|
|
104
|
+
}
|
|
105
|
+
static _$Ei() {
|
|
106
|
+
if (this.hasOwnProperty(w("elementProperties"))) return;
|
|
107
|
+
const t = _t(this);
|
|
108
|
+
t.finalize(), t.l !== void 0 && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
|
|
109
|
+
}
|
|
110
|
+
static finalize() {
|
|
111
|
+
if (this.hasOwnProperty(w("finalized"))) return;
|
|
112
|
+
if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(w("properties"))) {
|
|
113
|
+
const e = this.properties, s = [...ut(e), ...$t(e)];
|
|
114
|
+
for (const i of s) this.createProperty(i, e[i]);
|
|
115
|
+
}
|
|
116
|
+
const t = this[Symbol.metadata];
|
|
117
|
+
if (t !== null) {
|
|
118
|
+
const e = litPropertyMetadata.get(t);
|
|
119
|
+
if (e !== void 0) for (const [s, i] of e) this.elementProperties.set(s, i);
|
|
120
|
+
}
|
|
121
|
+
this._$Eh = /* @__PURE__ */ new Map();
|
|
122
|
+
for (const [e, s] of this.elementProperties) {
|
|
123
|
+
const i = this._$Eu(e, s);
|
|
124
|
+
i !== void 0 && this._$Eh.set(i, e);
|
|
125
|
+
}
|
|
126
|
+
this.elementStyles = this.finalizeStyles(this.styles);
|
|
127
|
+
}
|
|
128
|
+
static finalizeStyles(t) {
|
|
129
|
+
const e = [];
|
|
130
|
+
if (Array.isArray(t)) {
|
|
131
|
+
const s = new Set(t.flat(1 / 0).reverse());
|
|
132
|
+
for (const i of s) e.unshift(Z(i));
|
|
133
|
+
} else t !== void 0 && e.push(Z(t));
|
|
134
|
+
return e;
|
|
135
|
+
}
|
|
136
|
+
static _$Eu(t, e) {
|
|
137
|
+
const s = e.attribute;
|
|
138
|
+
return s === !1 ? void 0 : typeof s == "string" ? s : typeof t == "string" ? t.toLowerCase() : void 0;
|
|
139
|
+
}
|
|
140
|
+
constructor() {
|
|
141
|
+
super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
|
|
142
|
+
}
|
|
143
|
+
_$Ev() {
|
|
144
|
+
var t;
|
|
145
|
+
this._$ES = new Promise((e) => this.enableUpdating = e), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), (t = this.constructor.l) == null || t.forEach((e) => e(this));
|
|
146
|
+
}
|
|
147
|
+
addController(t) {
|
|
148
|
+
var e;
|
|
149
|
+
(this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(t), this.renderRoot !== void 0 && this.isConnected && ((e = t.hostConnected) == null || e.call(t));
|
|
150
|
+
}
|
|
151
|
+
removeController(t) {
|
|
152
|
+
var e;
|
|
153
|
+
(e = this._$EO) == null || e.delete(t);
|
|
154
|
+
}
|
|
155
|
+
_$E_() {
|
|
156
|
+
const t = /* @__PURE__ */ new Map(), e = this.constructor.elementProperties;
|
|
157
|
+
for (const s of e.keys()) this.hasOwnProperty(s) && (t.set(s, this[s]), delete this[s]);
|
|
158
|
+
t.size > 0 && (this._$Ep = t);
|
|
159
|
+
}
|
|
160
|
+
createRenderRoot() {
|
|
161
|
+
const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
|
|
162
|
+
return lt(t, this.constructor.elementStyles), t;
|
|
163
|
+
}
|
|
164
|
+
connectedCallback() {
|
|
165
|
+
var t;
|
|
166
|
+
this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (t = this._$EO) == null || t.forEach((e) => {
|
|
167
|
+
var s;
|
|
168
|
+
return (s = e.hostConnected) == null ? void 0 : s.call(e);
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
enableUpdating(t) {
|
|
172
|
+
}
|
|
173
|
+
disconnectedCallback() {
|
|
174
|
+
var t;
|
|
175
|
+
(t = this._$EO) == null || t.forEach((e) => {
|
|
176
|
+
var s;
|
|
177
|
+
return (s = e.hostDisconnected) == null ? void 0 : s.call(e);
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
attributeChangedCallback(t, e, s) {
|
|
181
|
+
this._$AK(t, s);
|
|
182
|
+
}
|
|
183
|
+
_$ET(t, e) {
|
|
184
|
+
var o;
|
|
185
|
+
const s = this.constructor.elementProperties.get(t), i = this.constructor._$Eu(t, s);
|
|
186
|
+
if (i !== void 0 && s.reflect === !0) {
|
|
187
|
+
const n = (((o = s.converter) == null ? void 0 : o.toAttribute) !== void 0 ? s.converter : N).toAttribute(e, s.type);
|
|
188
|
+
this._$Em = t, n == null ? this.removeAttribute(i) : this.setAttribute(i, n), this._$Em = null;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
_$AK(t, e) {
|
|
192
|
+
var o, n;
|
|
193
|
+
const s = this.constructor, i = s._$Eh.get(t);
|
|
194
|
+
if (i !== void 0 && this._$Em !== i) {
|
|
195
|
+
const a = s.getPropertyOptions(i), h = typeof a.converter == "function" ? { fromAttribute: a.converter } : ((o = a.converter) == null ? void 0 : o.fromAttribute) !== void 0 ? a.converter : N;
|
|
196
|
+
this._$Em = i;
|
|
197
|
+
const c = h.fromAttribute(e, a.type);
|
|
198
|
+
this[i] = c ?? ((n = this._$Ej) == null ? void 0 : n.get(i)) ?? c, this._$Em = null;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
requestUpdate(t, e, s, i = !1, o) {
|
|
202
|
+
var n;
|
|
203
|
+
if (t !== void 0) {
|
|
204
|
+
const a = this.constructor;
|
|
205
|
+
if (i === !1 && (o = this[t]), s ?? (s = a.getPropertyOptions(t)), !((s.hasChanged ?? q)(o, e) || s.useDefault && s.reflect && o === ((n = this._$Ej) == null ? void 0 : n.get(t)) && !this.hasAttribute(a._$Eu(t, s)))) return;
|
|
206
|
+
this.C(t, e, s);
|
|
207
|
+
}
|
|
208
|
+
this.isUpdatePending === !1 && (this._$ES = this._$EP());
|
|
209
|
+
}
|
|
210
|
+
C(t, e, { useDefault: s, reflect: i, wrapped: o }, n) {
|
|
211
|
+
s && !(this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Map())).has(t) && (this._$Ej.set(t, n ?? e ?? this[t]), o !== !0 || n !== void 0) || (this._$AL.has(t) || (this.hasUpdated || s || (e = void 0), this._$AL.set(t, e)), i === !0 && this._$Em !== t && (this._$Eq ?? (this._$Eq = /* @__PURE__ */ new Set())).add(t));
|
|
212
|
+
}
|
|
213
|
+
async _$EP() {
|
|
214
|
+
this.isUpdatePending = !0;
|
|
215
|
+
try {
|
|
216
|
+
await this._$ES;
|
|
217
|
+
} catch (e) {
|
|
218
|
+
Promise.reject(e);
|
|
219
|
+
}
|
|
220
|
+
const t = this.scheduleUpdate();
|
|
221
|
+
return t != null && await t, !this.isUpdatePending;
|
|
222
|
+
}
|
|
223
|
+
scheduleUpdate() {
|
|
224
|
+
return this.performUpdate();
|
|
225
|
+
}
|
|
226
|
+
performUpdate() {
|
|
227
|
+
var s;
|
|
228
|
+
if (!this.isUpdatePending) return;
|
|
229
|
+
if (!this.hasUpdated) {
|
|
230
|
+
if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
|
|
231
|
+
for (const [o, n] of this._$Ep) this[o] = n;
|
|
232
|
+
this._$Ep = void 0;
|
|
233
|
+
}
|
|
234
|
+
const i = this.constructor.elementProperties;
|
|
235
|
+
if (i.size > 0) for (const [o, n] of i) {
|
|
236
|
+
const { wrapped: a } = n, h = this[o];
|
|
237
|
+
a !== !0 || this._$AL.has(o) || h === void 0 || this.C(o, void 0, n, h);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
let t = !1;
|
|
241
|
+
const e = this._$AL;
|
|
242
|
+
try {
|
|
243
|
+
t = this.shouldUpdate(e), t ? (this.willUpdate(e), (s = this._$EO) == null || s.forEach((i) => {
|
|
244
|
+
var o;
|
|
245
|
+
return (o = i.hostUpdate) == null ? void 0 : o.call(i);
|
|
246
|
+
}), this.update(e)) : this._$EM();
|
|
247
|
+
} catch (i) {
|
|
248
|
+
throw t = !1, this._$EM(), i;
|
|
249
|
+
}
|
|
250
|
+
t && this._$AE(e);
|
|
251
|
+
}
|
|
252
|
+
willUpdate(t) {
|
|
253
|
+
}
|
|
254
|
+
_$AE(t) {
|
|
255
|
+
var e;
|
|
256
|
+
(e = this._$EO) == null || e.forEach((s) => {
|
|
257
|
+
var i;
|
|
258
|
+
return (i = s.hostUpdated) == null ? void 0 : i.call(s);
|
|
259
|
+
}), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
|
|
260
|
+
}
|
|
261
|
+
_$EM() {
|
|
262
|
+
this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
|
|
263
|
+
}
|
|
264
|
+
get updateComplete() {
|
|
265
|
+
return this.getUpdateComplete();
|
|
266
|
+
}
|
|
267
|
+
getUpdateComplete() {
|
|
268
|
+
return this._$ES;
|
|
269
|
+
}
|
|
270
|
+
shouldUpdate(t) {
|
|
271
|
+
return !0;
|
|
272
|
+
}
|
|
273
|
+
update(t) {
|
|
274
|
+
this._$Eq && (this._$Eq = this._$Eq.forEach((e) => this._$ET(e, this[e]))), this._$EM();
|
|
275
|
+
}
|
|
276
|
+
updated(t) {
|
|
277
|
+
}
|
|
278
|
+
firstUpdated(t) {
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
v.elementStyles = [], v.shadowRootOptions = { mode: "open" }, v[w("elementProperties")] = /* @__PURE__ */ new Map(), v[w("finalized")] = /* @__PURE__ */ new Map(), D == null || D({ ReactiveElement: v }), (f.reactiveElementVersions ?? (f.reactiveElementVersions = [])).push("2.1.2");
|
|
282
|
+
/**
|
|
283
|
+
* @license
|
|
284
|
+
* Copyright 2017 Google LLC
|
|
285
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
286
|
+
*/
|
|
287
|
+
const C = globalThis, F = (r) => r, R = C.trustedTypes, G = R ? R.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, rt = "$lit$", _ = `lit$${Math.random().toFixed(9).slice(2)}$`, nt = "?" + _, At = `<${nt}>`, g = document, P = () => g.createComment(""), U = (r) => r === null || typeof r != "object" && typeof r != "function", V = Array.isArray, mt = (r) => V(r) || typeof (r == null ? void 0 : r[Symbol.iterator]) == "function", j = `[
|
|
288
|
+
\f\r]`, b = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, Q = /-->/g, X = />/g, A = RegExp(`>|${j}(?:([^\\s"'>=/]+)(${j}*=${j}*(?:[^
|
|
289
|
+
\f\r"'\`<>=]|("|')|))|$)`, "g"), Y = /'/g, tt = /"/g, ot = /^(?:script|style|textarea|title)$/i, yt = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), Ht = yt(1), E = Symbol.for("lit-noChange"), d = Symbol.for("lit-nothing"), et = /* @__PURE__ */ new WeakMap(), m = g.createTreeWalker(g, 129);
|
|
290
|
+
function ht(r, t) {
|
|
291
|
+
if (!V(r) || !r.hasOwnProperty("raw")) throw Error("invalid template strings array");
|
|
292
|
+
return G !== void 0 ? G.createHTML(t) : t;
|
|
293
|
+
}
|
|
294
|
+
const gt = (r, t) => {
|
|
295
|
+
const e = r.length - 1, s = [];
|
|
296
|
+
let i, o = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", n = b;
|
|
297
|
+
for (let a = 0; a < e; a++) {
|
|
298
|
+
const h = r[a];
|
|
299
|
+
let c, p, l = -1, u = 0;
|
|
300
|
+
for (; u < h.length && (n.lastIndex = u, p = n.exec(h), p !== null); ) u = n.lastIndex, n === b ? p[1] === "!--" ? n = Q : p[1] !== void 0 ? n = X : p[2] !== void 0 ? (ot.test(p[2]) && (i = RegExp("</" + p[2], "g")), n = A) : p[3] !== void 0 && (n = A) : n === A ? p[0] === ">" ? (n = i ?? b, l = -1) : p[1] === void 0 ? l = -2 : (l = n.lastIndex - p[2].length, c = p[1], n = p[3] === void 0 ? A : p[3] === '"' ? tt : Y) : n === tt || n === Y ? n = A : n === Q || n === X ? n = b : (n = A, i = void 0);
|
|
301
|
+
const $ = n === A && r[a + 1].startsWith("/>") ? " " : "";
|
|
302
|
+
o += n === b ? h + At : l >= 0 ? (s.push(c), h.slice(0, l) + rt + h.slice(l) + _ + $) : h + _ + (l === -2 ? a : $);
|
|
303
|
+
}
|
|
304
|
+
return [ht(r, o + (r[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s];
|
|
305
|
+
};
|
|
306
|
+
class x {
|
|
307
|
+
constructor({ strings: t, _$litType$: e }, s) {
|
|
308
|
+
let i;
|
|
309
|
+
this.parts = [];
|
|
310
|
+
let o = 0, n = 0;
|
|
311
|
+
const a = t.length - 1, h = this.parts, [c, p] = gt(t, e);
|
|
312
|
+
if (this.el = x.createElement(c, s), m.currentNode = this.el.content, e === 2 || e === 3) {
|
|
313
|
+
const l = this.el.content.firstChild;
|
|
314
|
+
l.replaceWith(...l.childNodes);
|
|
315
|
+
}
|
|
316
|
+
for (; (i = m.nextNode()) !== null && h.length < a; ) {
|
|
317
|
+
if (i.nodeType === 1) {
|
|
318
|
+
if (i.hasAttributes()) for (const l of i.getAttributeNames()) if (l.endsWith(rt)) {
|
|
319
|
+
const u = p[n++], $ = i.getAttribute(l).split(_), M = /([.?@])?(.*)/.exec(u);
|
|
320
|
+
h.push({ type: 1, index: o, name: M[2], strings: $, ctor: M[1] === "." ? Et : M[1] === "?" ? St : M[1] === "@" ? bt : k }), i.removeAttribute(l);
|
|
321
|
+
} else l.startsWith(_) && (h.push({ type: 6, index: o }), i.removeAttribute(l));
|
|
322
|
+
if (ot.test(i.tagName)) {
|
|
323
|
+
const l = i.textContent.split(_), u = l.length - 1;
|
|
324
|
+
if (u > 0) {
|
|
325
|
+
i.textContent = R ? R.emptyScript : "";
|
|
326
|
+
for (let $ = 0; $ < u; $++) i.append(l[$], P()), m.nextNode(), h.push({ type: 2, index: ++o });
|
|
327
|
+
i.append(l[u], P());
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
} else if (i.nodeType === 8) if (i.data === nt) h.push({ type: 2, index: o });
|
|
331
|
+
else {
|
|
332
|
+
let l = -1;
|
|
333
|
+
for (; (l = i.data.indexOf(_, l + 1)) !== -1; ) h.push({ type: 7, index: o }), l += _.length - 1;
|
|
334
|
+
}
|
|
335
|
+
o++;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
static createElement(t, e) {
|
|
339
|
+
const s = g.createElement("template");
|
|
340
|
+
return s.innerHTML = t, s;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
function S(r, t, e = r, s) {
|
|
344
|
+
var n, a;
|
|
345
|
+
if (t === E) return t;
|
|
346
|
+
let i = s !== void 0 ? (n = e._$Co) == null ? void 0 : n[s] : e._$Cl;
|
|
347
|
+
const o = U(t) ? void 0 : t._$litDirective$;
|
|
348
|
+
return (i == null ? void 0 : i.constructor) !== o && ((a = i == null ? void 0 : i._$AO) == null || a.call(i, !1), o === void 0 ? i = void 0 : (i = new o(r), i._$AT(r, e, s)), s !== void 0 ? (e._$Co ?? (e._$Co = []))[s] = i : e._$Cl = i), i !== void 0 && (t = S(r, i._$AS(r, t.values), i, s)), t;
|
|
349
|
+
}
|
|
350
|
+
class vt {
|
|
351
|
+
constructor(t, e) {
|
|
352
|
+
this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = e;
|
|
353
|
+
}
|
|
354
|
+
get parentNode() {
|
|
355
|
+
return this._$AM.parentNode;
|
|
356
|
+
}
|
|
357
|
+
get _$AU() {
|
|
358
|
+
return this._$AM._$AU;
|
|
359
|
+
}
|
|
360
|
+
u(t) {
|
|
361
|
+
const { el: { content: e }, parts: s } = this._$AD, i = ((t == null ? void 0 : t.creationScope) ?? g).importNode(e, !0);
|
|
362
|
+
m.currentNode = i;
|
|
363
|
+
let o = m.nextNode(), n = 0, a = 0, h = s[0];
|
|
364
|
+
for (; h !== void 0; ) {
|
|
365
|
+
if (n === h.index) {
|
|
366
|
+
let c;
|
|
367
|
+
h.type === 2 ? c = new O(o, o.nextSibling, this, t) : h.type === 1 ? c = new h.ctor(o, h.name, h.strings, this, t) : h.type === 6 && (c = new wt(o, this, t)), this._$AV.push(c), h = s[++a];
|
|
368
|
+
}
|
|
369
|
+
n !== (h == null ? void 0 : h.index) && (o = m.nextNode(), n++);
|
|
370
|
+
}
|
|
371
|
+
return m.currentNode = g, i;
|
|
372
|
+
}
|
|
373
|
+
p(t) {
|
|
374
|
+
let e = 0;
|
|
375
|
+
for (const s of this._$AV) s !== void 0 && (s.strings !== void 0 ? (s._$AI(t, s, e), e += s.strings.length - 2) : s._$AI(t[e])), e++;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
class O {
|
|
379
|
+
get _$AU() {
|
|
380
|
+
var t;
|
|
381
|
+
return ((t = this._$AM) == null ? void 0 : t._$AU) ?? this._$Cv;
|
|
382
|
+
}
|
|
383
|
+
constructor(t, e, s, i) {
|
|
384
|
+
this.type = 2, this._$AH = d, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = s, this.options = i, this._$Cv = (i == null ? void 0 : i.isConnected) ?? !0;
|
|
385
|
+
}
|
|
386
|
+
get parentNode() {
|
|
387
|
+
let t = this._$AA.parentNode;
|
|
388
|
+
const e = this._$AM;
|
|
389
|
+
return e !== void 0 && (t == null ? void 0 : t.nodeType) === 11 && (t = e.parentNode), t;
|
|
390
|
+
}
|
|
391
|
+
get startNode() {
|
|
392
|
+
return this._$AA;
|
|
393
|
+
}
|
|
394
|
+
get endNode() {
|
|
395
|
+
return this._$AB;
|
|
396
|
+
}
|
|
397
|
+
_$AI(t, e = this) {
|
|
398
|
+
t = S(this, t, e), U(t) ? t === d || t == null || t === "" ? (this._$AH !== d && this._$AR(), this._$AH = d) : t !== this._$AH && t !== E && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : mt(t) ? this.k(t) : this._(t);
|
|
399
|
+
}
|
|
400
|
+
O(t) {
|
|
401
|
+
return this._$AA.parentNode.insertBefore(t, this._$AB);
|
|
402
|
+
}
|
|
403
|
+
T(t) {
|
|
404
|
+
this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
|
|
405
|
+
}
|
|
406
|
+
_(t) {
|
|
407
|
+
this._$AH !== d && U(this._$AH) ? this._$AA.nextSibling.data = t : this.T(g.createTextNode(t)), this._$AH = t;
|
|
408
|
+
}
|
|
409
|
+
$(t) {
|
|
410
|
+
var o;
|
|
411
|
+
const { values: e, _$litType$: s } = t, i = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = x.createElement(ht(s.h, s.h[0]), this.options)), s);
|
|
412
|
+
if (((o = this._$AH) == null ? void 0 : o._$AD) === i) this._$AH.p(e);
|
|
413
|
+
else {
|
|
414
|
+
const n = new vt(i, this), a = n.u(this.options);
|
|
415
|
+
n.p(e), this.T(a), this._$AH = n;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
_$AC(t) {
|
|
419
|
+
let e = et.get(t.strings);
|
|
420
|
+
return e === void 0 && et.set(t.strings, e = new x(t)), e;
|
|
421
|
+
}
|
|
422
|
+
k(t) {
|
|
423
|
+
V(this._$AH) || (this._$AH = [], this._$AR());
|
|
424
|
+
const e = this._$AH;
|
|
425
|
+
let s, i = 0;
|
|
426
|
+
for (const o of t) i === e.length ? e.push(s = new O(this.O(P()), this.O(P()), this, this.options)) : s = e[i], s._$AI(o), i++;
|
|
427
|
+
i < e.length && (this._$AR(s && s._$AB.nextSibling, i), e.length = i);
|
|
428
|
+
}
|
|
429
|
+
_$AR(t = this._$AA.nextSibling, e) {
|
|
430
|
+
var s;
|
|
431
|
+
for ((s = this._$AP) == null ? void 0 : s.call(this, !1, !0, e); t !== this._$AB; ) {
|
|
432
|
+
const i = F(t).nextSibling;
|
|
433
|
+
F(t).remove(), t = i;
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
setConnected(t) {
|
|
437
|
+
var e;
|
|
438
|
+
this._$AM === void 0 && (this._$Cv = t, (e = this._$AP) == null || e.call(this, t));
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
class k {
|
|
442
|
+
get tagName() {
|
|
443
|
+
return this.element.tagName;
|
|
444
|
+
}
|
|
445
|
+
get _$AU() {
|
|
446
|
+
return this._$AM._$AU;
|
|
447
|
+
}
|
|
448
|
+
constructor(t, e, s, i, o) {
|
|
449
|
+
this.type = 1, this._$AH = d, this._$AN = void 0, this.element = t, this.name = e, this._$AM = i, this.options = o, s.length > 2 || s[0] !== "" || s[1] !== "" ? (this._$AH = Array(s.length - 1).fill(new String()), this.strings = s) : this._$AH = d;
|
|
450
|
+
}
|
|
451
|
+
_$AI(t, e = this, s, i) {
|
|
452
|
+
const o = this.strings;
|
|
453
|
+
let n = !1;
|
|
454
|
+
if (o === void 0) t = S(this, t, e, 0), n = !U(t) || t !== this._$AH && t !== E, n && (this._$AH = t);
|
|
455
|
+
else {
|
|
456
|
+
const a = t;
|
|
457
|
+
let h, c;
|
|
458
|
+
for (t = o[0], h = 0; h < o.length - 1; h++) c = S(this, a[s + h], e, h), c === E && (c = this._$AH[h]), n || (n = !U(c) || c !== this._$AH[h]), c === d ? t = d : t !== d && (t += (c ?? "") + o[h + 1]), this._$AH[h] = c;
|
|
459
|
+
}
|
|
460
|
+
n && !i && this.j(t);
|
|
461
|
+
}
|
|
462
|
+
j(t) {
|
|
463
|
+
t === d ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
class Et extends k {
|
|
467
|
+
constructor() {
|
|
468
|
+
super(...arguments), this.type = 3;
|
|
469
|
+
}
|
|
470
|
+
j(t) {
|
|
471
|
+
this.element[this.name] = t === d ? void 0 : t;
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
class St extends k {
|
|
475
|
+
constructor() {
|
|
476
|
+
super(...arguments), this.type = 4;
|
|
477
|
+
}
|
|
478
|
+
j(t) {
|
|
479
|
+
this.element.toggleAttribute(this.name, !!t && t !== d);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
class bt extends k {
|
|
483
|
+
constructor(t, e, s, i, o) {
|
|
484
|
+
super(t, e, s, i, o), this.type = 5;
|
|
485
|
+
}
|
|
486
|
+
_$AI(t, e = this) {
|
|
487
|
+
if ((t = S(this, t, e, 0) ?? d) === E) return;
|
|
488
|
+
const s = this._$AH, i = t === d && s !== d || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, o = t !== d && (s === d || i);
|
|
489
|
+
i && this.element.removeEventListener(this.name, this, s), o && this.element.addEventListener(this.name, this, t), this._$AH = t;
|
|
490
|
+
}
|
|
491
|
+
handleEvent(t) {
|
|
492
|
+
var e;
|
|
493
|
+
typeof this._$AH == "function" ? this._$AH.call(((e = this.options) == null ? void 0 : e.host) ?? this.element, t) : this._$AH.handleEvent(t);
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
class wt {
|
|
497
|
+
constructor(t, e, s) {
|
|
498
|
+
this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = s;
|
|
499
|
+
}
|
|
500
|
+
get _$AU() {
|
|
501
|
+
return this._$AM._$AU;
|
|
502
|
+
}
|
|
503
|
+
_$AI(t) {
|
|
504
|
+
S(this, t);
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
const z = C.litHtmlPolyfillSupport;
|
|
508
|
+
z == null || z(x, O), (C.litHtmlVersions ?? (C.litHtmlVersions = [])).push("3.3.3");
|
|
509
|
+
const Ct = (r, t, e) => {
|
|
510
|
+
const s = (e == null ? void 0 : e.renderBefore) ?? t;
|
|
511
|
+
let i = s._$litPart$;
|
|
512
|
+
if (i === void 0) {
|
|
513
|
+
const o = (e == null ? void 0 : e.renderBefore) ?? null;
|
|
514
|
+
s._$litPart$ = i = new O(t.insertBefore(P(), o), o, void 0, e ?? {});
|
|
515
|
+
}
|
|
516
|
+
return i._$AI(r), i;
|
|
517
|
+
};
|
|
518
|
+
/**
|
|
519
|
+
* @license
|
|
520
|
+
* Copyright 2017 Google LLC
|
|
521
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
522
|
+
*/
|
|
523
|
+
const y = globalThis;
|
|
524
|
+
class T extends v {
|
|
525
|
+
constructor() {
|
|
526
|
+
super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
|
|
527
|
+
}
|
|
528
|
+
createRenderRoot() {
|
|
529
|
+
var e;
|
|
530
|
+
const t = super.createRenderRoot();
|
|
531
|
+
return (e = this.renderOptions).renderBefore ?? (e.renderBefore = t.firstChild), t;
|
|
532
|
+
}
|
|
533
|
+
update(t) {
|
|
534
|
+
const e = this.render();
|
|
535
|
+
this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = Ct(e, this.renderRoot, this.renderOptions);
|
|
536
|
+
}
|
|
537
|
+
connectedCallback() {
|
|
538
|
+
var t;
|
|
539
|
+
super.connectedCallback(), (t = this._$Do) == null || t.setConnected(!0);
|
|
540
|
+
}
|
|
541
|
+
disconnectedCallback() {
|
|
542
|
+
var t;
|
|
543
|
+
super.disconnectedCallback(), (t = this._$Do) == null || t.setConnected(!1);
|
|
544
|
+
}
|
|
545
|
+
render() {
|
|
546
|
+
return E;
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
var st;
|
|
550
|
+
T._$litElement$ = !0, T.finalized = !0, (st = y.litElementHydrateSupport) == null || st.call(y, { LitElement: T });
|
|
551
|
+
const L = y.litElementPolyfillSupport;
|
|
552
|
+
L == null || L({ LitElement: T });
|
|
553
|
+
(y.litElementVersions ?? (y.litElementVersions = [])).push("4.2.2");
|
|
554
|
+
/**
|
|
555
|
+
* @license
|
|
556
|
+
* Copyright 2017 Google LLC
|
|
557
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
558
|
+
*/
|
|
559
|
+
const Tt = (r) => (t, e) => {
|
|
560
|
+
e !== void 0 ? e.addInitializer(() => {
|
|
561
|
+
customElements.define(r, t);
|
|
562
|
+
}) : customElements.define(r, t);
|
|
563
|
+
};
|
|
564
|
+
/**
|
|
565
|
+
* @license
|
|
566
|
+
* Copyright 2017 Google LLC
|
|
567
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
568
|
+
*/
|
|
569
|
+
const Pt = { attribute: !0, type: String, converter: N, reflect: !1, hasChanged: q }, Ut = (r = Pt, t, e) => {
|
|
570
|
+
const { kind: s, metadata: i } = e;
|
|
571
|
+
let o = globalThis.litPropertyMetadata.get(i);
|
|
572
|
+
if (o === void 0 && globalThis.litPropertyMetadata.set(i, o = /* @__PURE__ */ new Map()), s === "setter" && ((r = Object.create(r)).wrapped = !0), o.set(e.name, r), s === "accessor") {
|
|
573
|
+
const { name: n } = e;
|
|
574
|
+
return { set(a) {
|
|
575
|
+
const h = t.get.call(this);
|
|
576
|
+
t.set.call(this, a), this.requestUpdate(n, h, r, !0, a);
|
|
577
|
+
}, init(a) {
|
|
578
|
+
return a !== void 0 && this.C(n, void 0, r, a), a;
|
|
579
|
+
} };
|
|
580
|
+
}
|
|
581
|
+
if (s === "setter") {
|
|
582
|
+
const { name: n } = e;
|
|
583
|
+
return function(a) {
|
|
584
|
+
const h = this[n];
|
|
585
|
+
t.call(this, a), this.requestUpdate(n, h, r, !0, a);
|
|
586
|
+
};
|
|
587
|
+
}
|
|
588
|
+
throw Error("Unsupported decorator location: " + s);
|
|
589
|
+
};
|
|
590
|
+
function Nt(r) {
|
|
591
|
+
return (t, e) => typeof e == "object" ? Ut(r, t, e) : ((s, i, o) => {
|
|
592
|
+
const n = i.hasOwnProperty(o);
|
|
593
|
+
return i.constructor.createProperty(o, s), n ? Object.getOwnPropertyDescriptor(i, o) : void 0;
|
|
594
|
+
})(r, t, e);
|
|
595
|
+
}
|
|
596
|
+
export {
|
|
597
|
+
d as A,
|
|
598
|
+
T as a,
|
|
599
|
+
Ht as b,
|
|
600
|
+
Ot as i,
|
|
601
|
+
Nt as n,
|
|
602
|
+
Tt as t
|
|
603
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import { MenuTree } from '@campminder/menu-tree';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `<cm-mega-menu>` — the desktop hover flyout for a category with sub-categories.
|
|
6
|
+
*
|
|
7
|
+
* Ported 2026-09-04 from core-js's `MegaMenu.ts` (`<mega-menu>`), desktop path
|
|
8
|
+
* only — `MegaMenuMobile` is a separate dispatch and out of scope for this
|
|
9
|
+
* floor. Mounted inside `<cm-side-nav>`'s own shadow root (see that file's
|
|
10
|
+
* render-time seam comment), not slotted: the flyout only opens for whichever
|
|
11
|
+
* category is `hoveredCategory`, and that state is `@state() private` on the
|
|
12
|
+
* side nav — slotting from light DOM would have forced it into public API.
|
|
13
|
+
*
|
|
14
|
+
* `tree` + `categoryId` deliberately keep upstream's two-property shape
|
|
15
|
+
* (`categories` + `categoryName`) rather than having the caller resolve and
|
|
16
|
+
* pass a single node; only the match key changed, per the port's type table.
|
|
17
|
+
* `category.name === this.categoryName` becomes `category.id === this.categoryId` —
|
|
18
|
+
* matching on `id`, never on the terminology-resolved `label`.
|
|
19
|
+
*/
|
|
20
|
+
export declare class MegaMenu extends LitElement {
|
|
21
|
+
static readonly styles: import('lit').CSSResult[];
|
|
22
|
+
tree: MenuTree;
|
|
23
|
+
categoryId: string;
|
|
24
|
+
connectedCallback(): void;
|
|
25
|
+
disconnectedCallback(): void;
|
|
26
|
+
private handleKeyDown;
|
|
27
|
+
private get categoryData();
|
|
28
|
+
private handleCloseMegaMenu;
|
|
29
|
+
/**
|
|
30
|
+
* Packs menu items into as many 248px columns as the container's own
|
|
31
|
+
* measured height allows. The `getBoundingClientRect()` calls below are
|
|
32
|
+
* this component measuring its own shadow root, not a sibling, so they
|
|
33
|
+
* don't trip the one rule. The `window.innerWidth <= 1150` gate is a
|
|
34
|
+
* different thing and does not get the same pass: it's a page-viewport
|
|
35
|
+
* read uncorrelated with this component's actual available width, kept
|
|
36
|
+
* only because it's what upstream gated on. `window.innerWidth` is 1024
|
|
37
|
+
* under jsdom, so this early return fires on every test run and the
|
|
38
|
+
* packing logic below it was, until the test added for this floor,
|
|
39
|
+
* unexercised by the suite.
|
|
40
|
+
*/
|
|
41
|
+
private setMenuItemsContainerWidth;
|
|
42
|
+
updated(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
43
|
+
private renderLeaf;
|
|
44
|
+
render(): import('lit').TemplateResult<1> | null;
|
|
45
|
+
}
|
|
46
|
+
declare global {
|
|
47
|
+
interface HTMLElementTagNameMap {
|
|
48
|
+
'cm-mega-menu': MegaMenu;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Styles for `<cm-mega-menu>`, ported 2026-09-04 from core-js's
|
|
3
|
+
* `MegaMenu.styles.ts`. Header, typography, menu-item and menu-url rules carry
|
|
4
|
+
* across unchanged. What changed, and why:
|
|
5
|
+
*
|
|
6
|
+
* - `.mega-menu` is `position: absolute; left: 100%; top: 0` instead of
|
|
7
|
+
* flowing in place. `<cm-side-nav>`'s `.side-nav` is `width: 100%` of
|
|
8
|
+
* `.nav-container` (its new `position: relative` positioning context — see
|
|
9
|
+
* `SideNav.styles.ts`), so `left: 100%` lands the flyout exactly at the
|
|
10
|
+
* column's right edge without widening the column itself.
|
|
11
|
+
* - `max-height: inherit` is gone. It inherited from an ancestor's inline
|
|
12
|
+
* `style="max-height: calc(100dvh - ${topOffsetPx}px)"` (core-js's
|
|
13
|
+
* `SideNav.ts:595`); `topOffsetPx` has no successor in this repo (Floor 4),
|
|
14
|
+
* so `inherit` resolved against nothing — a bug, not a port. `height: 100%`
|
|
15
|
+
* (kept from upstream) now does the sizing instead, resolving against the
|
|
16
|
+
* positioned `.nav-container` ancestor, which is itself bounded by the
|
|
17
|
+
* shell's grid cell.
|
|
18
|
+
* - `z-index: 999999 !important` is gone. It sat inside this component's own
|
|
19
|
+
* shadow root and stacking context, so it could only ever affect siblings
|
|
20
|
+
* inside `.mega-menu` — nothing outside its own shadow root reads it. The
|
|
21
|
+
* shell's `[part='nav'] { z-index: 1 }` (`app-shell.ts`) is what lifts the
|
|
22
|
+
* flyout above `[part='content']` now.
|
|
23
|
+
* - The `@import url(fonts.googleapis.com/...)` is gone, for the same reason
|
|
24
|
+
* Floor 4 dropped it from `SideNavStyles`: a network fetch from inside a
|
|
25
|
+
* shadow root for a font the shell should provide has no place in a
|
|
26
|
+
* component that renders itself and nothing else.
|
|
27
|
+
* - `.admin-menu` has no rule here — it never did upstream either (dead CSS
|
|
28
|
+
* selector target), and the class itself is not ported; see `MegaMenu.ts`.
|
|
29
|
+
*
|
|
30
|
+
* The `@media (max-width: 1150px)` `.menu-items { flex-wrap: nowrap }` rule is
|
|
31
|
+
* kept verbatim — it is the whole of "responsive" this floor owes.
|
|
32
|
+
*/
|
|
33
|
+
export declare const MegaMenuStyles: import('lit').CSSResult;
|