@m3e/expansion-panel 1.0.5 → 1.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/dist/index.js CHANGED
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { css, LitElement, html, unsafeCSS, nothing } from 'lit';
7
7
  import { DesignToken, KeyboardClick, Focusable, Disabled, AttachInternals, Role, EventAttribute } from '@m3e/core';
8
+ import { M3eDirectionality } from '@m3e/core/bidi';
8
9
 
9
10
  /******************************************************************************
10
11
  Copyright (c) Microsoft Corporation.
@@ -19,33 +20,30 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
19
20
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
20
21
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
21
22
  PERFORMANCE OF THIS SOFTWARE.
22
- ***************************************************************************** */
23
- /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
24
-
25
-
26
- function __decorate(decorators, target, key, desc) {
27
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
29
- 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;
30
- return c > 3 && r && Object.defineProperty(target, key, r), r;
31
- }
32
-
33
- function __classPrivateFieldGet(receiver, state, kind, f) {
34
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
35
- 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");
36
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
37
- }
38
-
39
- function __classPrivateFieldSet(receiver, state, value, kind, f) {
40
- if (kind === "m") throw new TypeError("Private method is not writable");
41
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
42
- 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");
43
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
44
- }
45
-
46
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
47
- var e = new Error(message);
48
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
23
+ ***************************************************************************** */
24
+ /* global Reflect, Promise, SuppressedError, Symbol, Iterator */
25
+
26
+ function __decorate(decorators, target, key, desc) {
27
+ var c = arguments.length,
28
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
29
+ d;
30
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);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;
31
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
32
+ }
33
+ function __classPrivateFieldGet(receiver, state, kind, f) {
34
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
35
+ 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");
36
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
37
+ }
38
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
39
+ if (kind === "m") throw new TypeError("Private method is not writable");
40
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
41
+ 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");
42
+ return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;
43
+ }
44
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
45
+ var e = new Error(message);
46
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
49
47
  };
50
48
 
51
49
  /**
@@ -53,39 +51,395 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
53
51
  * Copyright 2017 Google LLC
54
52
  * SPDX-License-Identifier: BSD-3-Clause
55
53
  */
56
- const t$1=t=>(e,o)=>{ void 0!==o?o.addInitializer((()=>{customElements.define(t,e);})):customElements.define(t,e);};
54
+ const t$1 = t => (e, o) => {
55
+ void 0 !== o ? o.addInitializer(() => {
56
+ customElements.define(t, e);
57
+ }) : customElements.define(t, e);
58
+ };
57
59
 
58
60
  /**
59
61
  * @license
60
62
  * Copyright 2019 Google LLC
61
63
  * SPDX-License-Identifier: BSD-3-Clause
62
64
  */
63
- const t=globalThis,e$3=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),o$2=new WeakMap;let n$2 = class n{constructor(t,e,o){if(this._$cssResult$=true,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$3&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o$2.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o$2.set(s,t));}return t}toString(){return this.cssText}};const r$2=t=>new n$2("string"==typeof t?t:t+"",void 0,s),S=(s,o)=>{if(e$3)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$1=e$3?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return r$2(e)})(t):t;
65
+ const t = globalThis,
66
+ e$3 = t.ShadowRoot && (void 0 === t.ShadyCSS || t.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype,
67
+ s = Symbol(),
68
+ o$2 = new WeakMap();
69
+ let n$2 = class n {
70
+ constructor(t, e, o) {
71
+ if (this._$cssResult$ = true, o !== s) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
72
+ this.cssText = t, this.t = e;
73
+ }
74
+ get styleSheet() {
75
+ let t = this.o;
76
+ const s = this.t;
77
+ if (e$3 && void 0 === t) {
78
+ const e = void 0 !== s && 1 === s.length;
79
+ e && (t = o$2.get(s)), void 0 === t && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), e && o$2.set(s, t));
80
+ }
81
+ return t;
82
+ }
83
+ toString() {
84
+ return this.cssText;
85
+ }
86
+ };
87
+ const r$2 = t => new n$2("string" == typeof t ? t : t + "", void 0, s),
88
+ S = (s, o) => {
89
+ if (e$3) s.adoptedStyleSheets = o.map(t => t instanceof CSSStyleSheet ? t : t.styleSheet);else for (const e of o) {
90
+ const o = document.createElement("style"),
91
+ n = t.litNonce;
92
+ void 0 !== n && o.setAttribute("nonce", n), o.textContent = e.cssText, s.appendChild(o);
93
+ }
94
+ },
95
+ c$1 = e$3 ? t => t : t => t instanceof CSSStyleSheet ? (t => {
96
+ let e = "";
97
+ for (const s of t.cssRules) e += s.cssText;
98
+ return r$2(e);
99
+ })(t) : t;
64
100
 
65
101
  /**
66
102
  * @license
67
103
  * Copyright 2017 Google LLC
68
104
  * SPDX-License-Identifier: BSD-3-Clause
69
- */const{is:i,defineProperty:e$2,getOwnPropertyDescriptor:h,getOwnPropertyNames:r$1,getOwnPropertySymbols:o$1,getPrototypeOf:n$1}=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:true,type:String,converter:u,reflect:false,useDefault:false,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=false),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=true),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e$2(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:true,enumerable:true}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d("elementProperties")))return;const t=n$1(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=true,this._$Ei(),this.hasOwnProperty(d("properties"))){const t=this.properties,s=[...r$1(t),...o$1(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(c$1(s));}else void 0!==s&&i.push(c$1(s));return i}static _$Eu(t,s){const i=s.attribute;return false===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=false,this.hasUpdated=false,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(true),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&&true===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);} false===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]),true!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),true===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t));}async _$EP(){this.isUpdatePending=true;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];true!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e);}}let t=false;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=false,this._$EM(),s}t&&this._$AE(s);}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=true,this.firstUpdated(t)),this.updated(t);}_$EM(){this._$AL=new Map,this.isUpdatePending=false;}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return true}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");
105
+ */
106
+ const {
107
+ is: i,
108
+ defineProperty: e$2,
109
+ getOwnPropertyDescriptor: h,
110
+ getOwnPropertyNames: r$1,
111
+ getOwnPropertySymbols: o$1,
112
+ getPrototypeOf: n$1
113
+ } = Object,
114
+ a = globalThis,
115
+ c = a.trustedTypes,
116
+ l = c ? c.emptyScript : "",
117
+ p = a.reactiveElementPolyfillSupport,
118
+ d = (t, s) => t,
119
+ u = {
120
+ toAttribute(t, s) {
121
+ switch (s) {
122
+ case Boolean:
123
+ t = t ? l : null;
124
+ break;
125
+ case Object:
126
+ case Array:
127
+ t = null == t ? t : JSON.stringify(t);
128
+ }
129
+ return t;
130
+ },
131
+ fromAttribute(t, s) {
132
+ let i = t;
133
+ switch (s) {
134
+ case Boolean:
135
+ i = null !== t;
136
+ break;
137
+ case Number:
138
+ i = null === t ? null : Number(t);
139
+ break;
140
+ case Object:
141
+ case Array:
142
+ try {
143
+ i = JSON.parse(t);
144
+ } catch (t) {
145
+ i = null;
146
+ }
147
+ }
148
+ return i;
149
+ }
150
+ },
151
+ f = (t, s) => !i(t, s),
152
+ b = {
153
+ attribute: true,
154
+ type: String,
155
+ converter: u,
156
+ reflect: false,
157
+ useDefault: false,
158
+ hasChanged: f
159
+ };
160
+ Symbol.metadata ??= Symbol("metadata"), a.litPropertyMetadata ??= new WeakMap();
161
+ class y extends HTMLElement {
162
+ static addInitializer(t) {
163
+ this._$Ei(), (this.l ??= []).push(t);
164
+ }
165
+ static get observedAttributes() {
166
+ return this.finalize(), this._$Eh && [...this._$Eh.keys()];
167
+ }
168
+ static createProperty(t, s = b) {
169
+ if (s.state && (s.attribute = false), this._$Ei(), this.prototype.hasOwnProperty(t) && ((s = Object.create(s)).wrapped = true), this.elementProperties.set(t, s), !s.noAccessor) {
170
+ const i = Symbol(),
171
+ h = this.getPropertyDescriptor(t, i, s);
172
+ void 0 !== h && e$2(this.prototype, t, h);
173
+ }
174
+ }
175
+ static getPropertyDescriptor(t, s, i) {
176
+ const {
177
+ get: e,
178
+ set: r
179
+ } = h(this.prototype, t) ?? {
180
+ get() {
181
+ return this[s];
182
+ },
183
+ set(t) {
184
+ this[s] = t;
185
+ }
186
+ };
187
+ return {
188
+ get: e,
189
+ set(s) {
190
+ const h = e?.call(this);
191
+ r?.call(this, s), this.requestUpdate(t, h, i);
192
+ },
193
+ configurable: true,
194
+ enumerable: true
195
+ };
196
+ }
197
+ static getPropertyOptions(t) {
198
+ return this.elementProperties.get(t) ?? b;
199
+ }
200
+ static _$Ei() {
201
+ if (this.hasOwnProperty(d("elementProperties"))) return;
202
+ const t = n$1(this);
203
+ t.finalize(), void 0 !== t.l && (this.l = [...t.l]), this.elementProperties = new Map(t.elementProperties);
204
+ }
205
+ static finalize() {
206
+ if (this.hasOwnProperty(d("finalized"))) return;
207
+ if (this.finalized = true, this._$Ei(), this.hasOwnProperty(d("properties"))) {
208
+ const t = this.properties,
209
+ s = [...r$1(t), ...o$1(t)];
210
+ for (const i of s) this.createProperty(i, t[i]);
211
+ }
212
+ const t = this[Symbol.metadata];
213
+ if (null !== t) {
214
+ const s = litPropertyMetadata.get(t);
215
+ if (void 0 !== s) for (const [t, i] of s) this.elementProperties.set(t, i);
216
+ }
217
+ this._$Eh = new Map();
218
+ for (const [t, s] of this.elementProperties) {
219
+ const i = this._$Eu(t, s);
220
+ void 0 !== i && this._$Eh.set(i, t);
221
+ }
222
+ this.elementStyles = this.finalizeStyles(this.styles);
223
+ }
224
+ static finalizeStyles(s) {
225
+ const i = [];
226
+ if (Array.isArray(s)) {
227
+ const e = new Set(s.flat(1 / 0).reverse());
228
+ for (const s of e) i.unshift(c$1(s));
229
+ } else void 0 !== s && i.push(c$1(s));
230
+ return i;
231
+ }
232
+ static _$Eu(t, s) {
233
+ const i = s.attribute;
234
+ return false === i ? void 0 : "string" == typeof i ? i : "string" == typeof t ? t.toLowerCase() : void 0;
235
+ }
236
+ constructor() {
237
+ super(), this._$Ep = void 0, this.isUpdatePending = false, this.hasUpdated = false, this._$Em = null, this._$Ev();
238
+ }
239
+ _$Ev() {
240
+ this._$ES = new Promise(t => this.enableUpdating = t), this._$AL = new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach(t => t(this));
241
+ }
242
+ addController(t) {
243
+ (this._$EO ??= new Set()).add(t), void 0 !== this.renderRoot && this.isConnected && t.hostConnected?.();
244
+ }
245
+ removeController(t) {
246
+ this._$EO?.delete(t);
247
+ }
248
+ _$E_() {
249
+ const t = new Map(),
250
+ s = this.constructor.elementProperties;
251
+ for (const i of s.keys()) this.hasOwnProperty(i) && (t.set(i, this[i]), delete this[i]);
252
+ t.size > 0 && (this._$Ep = t);
253
+ }
254
+ createRenderRoot() {
255
+ const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
256
+ return S(t, this.constructor.elementStyles), t;
257
+ }
258
+ connectedCallback() {
259
+ this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(true), this._$EO?.forEach(t => t.hostConnected?.());
260
+ }
261
+ enableUpdating(t) {}
262
+ disconnectedCallback() {
263
+ this._$EO?.forEach(t => t.hostDisconnected?.());
264
+ }
265
+ attributeChangedCallback(t, s, i) {
266
+ this._$AK(t, i);
267
+ }
268
+ _$ET(t, s) {
269
+ const i = this.constructor.elementProperties.get(t),
270
+ e = this.constructor._$Eu(t, i);
271
+ if (void 0 !== e && true === i.reflect) {
272
+ const h = (void 0 !== i.converter?.toAttribute ? i.converter : u).toAttribute(s, i.type);
273
+ this._$Em = t, null == h ? this.removeAttribute(e) : this.setAttribute(e, h), this._$Em = null;
274
+ }
275
+ }
276
+ _$AK(t, s) {
277
+ const i = this.constructor,
278
+ e = i._$Eh.get(t);
279
+ if (void 0 !== e && this._$Em !== e) {
280
+ const t = i.getPropertyOptions(e),
281
+ h = "function" == typeof t.converter ? {
282
+ fromAttribute: t.converter
283
+ } : void 0 !== t.converter?.fromAttribute ? t.converter : u;
284
+ this._$Em = e;
285
+ const r = h.fromAttribute(s, t.type);
286
+ this[e] = r ?? this._$Ej?.get(e) ?? r, this._$Em = null;
287
+ }
288
+ }
289
+ requestUpdate(t, s, i) {
290
+ if (void 0 !== t) {
291
+ const e = this.constructor,
292
+ h = this[t];
293
+ 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;
294
+ this.C(t, s, i);
295
+ }
296
+ false === this.isUpdatePending && (this._$ES = this._$EP());
297
+ }
298
+ C(t, s, {
299
+ useDefault: i,
300
+ reflect: e,
301
+ wrapped: h
302
+ }, r) {
303
+ i && !(this._$Ej ??= new Map()).has(t) && (this._$Ej.set(t, r ?? s ?? this[t]), true !== h || void 0 !== r) || (this._$AL.has(t) || (this.hasUpdated || i || (s = void 0), this._$AL.set(t, s)), true === e && this._$Em !== t && (this._$Eq ??= new Set()).add(t));
304
+ }
305
+ async _$EP() {
306
+ this.isUpdatePending = true;
307
+ try {
308
+ await this._$ES;
309
+ } catch (t) {
310
+ Promise.reject(t);
311
+ }
312
+ const t = this.scheduleUpdate();
313
+ return null != t && (await t), !this.isUpdatePending;
314
+ }
315
+ scheduleUpdate() {
316
+ return this.performUpdate();
317
+ }
318
+ performUpdate() {
319
+ if (!this.isUpdatePending) return;
320
+ if (!this.hasUpdated) {
321
+ if (this.renderRoot ??= this.createRenderRoot(), this._$Ep) {
322
+ for (const [t, s] of this._$Ep) this[t] = s;
323
+ this._$Ep = void 0;
324
+ }
325
+ const t = this.constructor.elementProperties;
326
+ if (t.size > 0) for (const [s, i] of t) {
327
+ const {
328
+ wrapped: t
329
+ } = i,
330
+ e = this[s];
331
+ true !== t || this._$AL.has(s) || void 0 === e || this.C(s, void 0, i, e);
332
+ }
333
+ }
334
+ let t = false;
335
+ const s = this._$AL;
336
+ try {
337
+ t = this.shouldUpdate(s), t ? (this.willUpdate(s), this._$EO?.forEach(t => t.hostUpdate?.()), this.update(s)) : this._$EM();
338
+ } catch (s) {
339
+ throw t = false, this._$EM(), s;
340
+ }
341
+ t && this._$AE(s);
342
+ }
343
+ willUpdate(t) {}
344
+ _$AE(t) {
345
+ this._$EO?.forEach(t => t.hostUpdated?.()), this.hasUpdated || (this.hasUpdated = true, this.firstUpdated(t)), this.updated(t);
346
+ }
347
+ _$EM() {
348
+ this._$AL = new Map(), this.isUpdatePending = false;
349
+ }
350
+ get updateComplete() {
351
+ return this.getUpdateComplete();
352
+ }
353
+ getUpdateComplete() {
354
+ return this._$ES;
355
+ }
356
+ shouldUpdate(t) {
357
+ return true;
358
+ }
359
+ update(t) {
360
+ this._$Eq &&= this._$Eq.forEach(t => this._$ET(t, this[t])), this._$EM();
361
+ }
362
+ updated(t) {}
363
+ firstUpdated(t) {}
364
+ }
365
+ y.elementStyles = [], y.shadowRootOptions = {
366
+ mode: "open"
367
+ }, y[d("elementProperties")] = new Map(), y[d("finalized")] = new Map(), p?.({
368
+ ReactiveElement: y
369
+ }), (a.reactiveElementVersions ??= []).push("2.1.1");
70
370
 
71
371
  /**
72
372
  * @license
73
373
  * Copyright 2017 Google LLC
74
374
  * SPDX-License-Identifier: BSD-3-Clause
75
- */const o={attribute:true,type:String,converter:u,reflect:false,hasChanged:f},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=true),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)}
375
+ */
376
+ const o = {
377
+ attribute: true,
378
+ type: String,
379
+ converter: u,
380
+ reflect: false,
381
+ hasChanged: f
382
+ },
383
+ r = (t = o, e, r) => {
384
+ const {
385
+ kind: n,
386
+ metadata: i
387
+ } = r;
388
+ let s = globalThis.litPropertyMetadata.get(i);
389
+ if (void 0 === s && globalThis.litPropertyMetadata.set(i, s = new Map()), "setter" === n && ((t = Object.create(t)).wrapped = true), s.set(r.name, t), "accessor" === n) {
390
+ const {
391
+ name: o
392
+ } = r;
393
+ return {
394
+ set(r) {
395
+ const n = e.get.call(this);
396
+ e.set.call(this, r), this.requestUpdate(o, n, t);
397
+ },
398
+ init(e) {
399
+ return void 0 !== e && this.C(o, void 0, t, e), e;
400
+ }
401
+ };
402
+ }
403
+ if ("setter" === n) {
404
+ const {
405
+ name: o
406
+ } = r;
407
+ return function (r) {
408
+ const n = this[o];
409
+ e.call(this, r), this.requestUpdate(o, n, t);
410
+ };
411
+ }
412
+ throw Error("Unsupported decorator location: " + n);
413
+ };
414
+ function n(t) {
415
+ return (e, o) => "object" == typeof o ? r(t, e, o) : ((t, e, o) => {
416
+ const r = e.hasOwnProperty(o);
417
+ return e.constructor.createProperty(o, t), r ? Object.getOwnPropertyDescriptor(e, o) : void 0;
418
+ })(t, e, o);
419
+ }
76
420
 
77
421
  /**
78
422
  * @license
79
423
  * Copyright 2017 Google LLC
80
424
  * SPDX-License-Identifier: BSD-3-Clause
81
425
  */
82
- const e$1=(e,t,c)=>(c.configurable=true,c.enumerable=true,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,c),c);
426
+ const e$1 = (e, t, c) => (c.configurable = true, c.enumerable = true, Reflect.decorate && "object" != typeof t && Object.defineProperty(e, t, c), c);
83
427
 
84
428
  /**
85
429
  * @license
86
430
  * Copyright 2017 Google LLC
87
431
  * SPDX-License-Identifier: BSD-3-Clause
88
- */function e(e,r){return (n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;return e$1(n,s,{get(){return o(this)}})}}
432
+ */
433
+ function e(e, r) {
434
+ return (n, s, i) => {
435
+ const o = t => t.renderRoot?.querySelector(e) ?? null;
436
+ return e$1(n, s, {
437
+ get() {
438
+ return o(this);
439
+ }
440
+ });
441
+ };
442
+ }
89
443
 
90
444
  var _M3eAccordionElement_instances, _M3eAccordionElement_panels, _M3eAccordionElement_handleSlotChange, _M3eAccordionElement_handleOpening;
91
445
  /**
@@ -120,275 +474,107 @@ var _M3eAccordionElement_instances, _M3eAccordionElement_panels, _M3eAccordionEl
120
474
  * @attr multi - Whether multiple expansion panels can be open at the same time.
121
475
  */
122
476
  let M3eAccordionElement = class M3eAccordionElement extends LitElement {
123
- constructor() {
124
- super(...arguments);
125
- _M3eAccordionElement_instances.add(this);
126
- /** @private */ _M3eAccordionElement_panels.set(this, []);
127
- /**
128
- * Whether multiple expansion panels can be open at the same time.
129
- * @default false
130
- */
131
- this.multi = false;
132
- }
133
- /** The panels of the accordion. */
134
- get panels() {
135
- return __classPrivateFieldGet(this, _M3eAccordionElement_panels, "f");
136
- }
137
- /** @inheritdoc */
138
- render() {
139
- return html `<slot @slotchange="${__classPrivateFieldGet(this, _M3eAccordionElement_instances, "m", _M3eAccordionElement_handleSlotChange)}" @opening="${__classPrivateFieldGet(this, _M3eAccordionElement_instances, "m", _M3eAccordionElement_handleOpening)}"></slot>`;
140
- }
477
+ constructor() {
478
+ super(...arguments);
479
+ _M3eAccordionElement_instances.add(this);
480
+ /** @private */
481
+ _M3eAccordionElement_panels.set(this, []);
482
+ /**
483
+ * Whether multiple expansion panels can be open at the same time.
484
+ * @default false
485
+ */
486
+ this.multi = false;
487
+ }
488
+ /** The panels of the accordion. */
489
+ get panels() {
490
+ return __classPrivateFieldGet(this, _M3eAccordionElement_panels, "f");
491
+ }
492
+ /** @inheritdoc */
493
+ render() {
494
+ return html`<slot @slotchange="${__classPrivateFieldGet(this, _M3eAccordionElement_instances, "m", _M3eAccordionElement_handleSlotChange)}" @opening="${__classPrivateFieldGet(this, _M3eAccordionElement_instances, "m", _M3eAccordionElement_handleOpening)}"></slot>`;
495
+ }
141
496
  };
142
497
  _M3eAccordionElement_panels = new WeakMap();
143
498
  _M3eAccordionElement_instances = new WeakSet();
144
499
  _M3eAccordionElement_handleSlotChange = function _M3eAccordionElement_handleSlotChange() {
145
- __classPrivateFieldSet(this, _M3eAccordionElement_panels, [...this.querySelectorAll("m3e-expansion-panel")], "f");
146
- if (this.multi) {
147
- return;
148
- }
149
- let alreadyOpen = false;
150
- for (const panel of __classPrivateFieldGet(this, _M3eAccordionElement_panels, "f").filter((x) => !x.open)) {
151
- if (alreadyOpen) {
152
- panel.open = false;
153
- }
154
- alreadyOpen = true;
500
+ __classPrivateFieldSet(this, _M3eAccordionElement_panels, [...this.querySelectorAll("m3e-expansion-panel")], "f");
501
+ if (this.multi) {
502
+ return;
503
+ }
504
+ let alreadyOpen = false;
505
+ for (const panel of __classPrivateFieldGet(this, _M3eAccordionElement_panels, "f").filter(x => !x.open)) {
506
+ if (alreadyOpen) {
507
+ panel.open = false;
155
508
  }
509
+ alreadyOpen = true;
510
+ }
156
511
  };
157
512
  _M3eAccordionElement_handleOpening = function _M3eAccordionElement_handleOpening(e) {
158
- if (!this.multi) {
159
- for (const panel of __classPrivateFieldGet(this, _M3eAccordionElement_panels, "f").filter((x) => x !== e.target && x.open)) {
160
- panel.open = false;
161
- }
513
+ if (!this.multi) {
514
+ for (const panel of __classPrivateFieldGet(this, _M3eAccordionElement_panels, "f").filter(x => x !== e.target && x.open)) {
515
+ panel.open = false;
162
516
  }
517
+ }
163
518
  };
164
519
  /** The styles of the element. */
165
- M3eAccordionElement.styles = css `
166
- :host {
167
- display: block;
168
- }
169
- ::slotted(m3e-expansion-panel) {
170
- --m3e-expansion-panel-container-color: ${DesignToken.color.surfaceContainerLow};
171
- --m3e-expansion-panel-elevation: ${DesignToken.elevation.level2};
172
- --m3e-expansion-panel-open-shape: ${DesignToken.shape.corner.medium};
173
- --_expansion-panel-open-spacing: 1rem;
174
- }
175
- ::slotted(m3e-expansion-panel:first-of-type:last-of-type) {
176
- --m3e-expansion-panel-shape: ${DesignToken.shape.corner.medium};
177
- }
178
- ::slotted(m3e-expansion-panel:first-of-type:not(:last-of-type)) {
179
- --m3e-expansion-panel-shape: ${DesignToken.shape.corner.value.medium} ${DesignToken.shape.corner.value.medium}
180
- ${DesignToken.shape.corner.value.none} ${DesignToken.shape.corner.value.none};
181
- }
182
- ::slotted(m3e-expansion-panel:last-of-type:not(:first-of-type)) {
183
- --m3e-expansion-panel-shape: ${DesignToken.shape.corner.value.none} ${DesignToken.shape.corner.value.none}
184
- ${DesignToken.shape.corner.value.medium} ${DesignToken.shape.corner.value.medium};
185
- }
186
- `;
187
- __decorate([
188
- n({ type: Boolean })
189
- ], M3eAccordionElement.prototype, "multi", void 0);
190
- M3eAccordionElement = __decorate([
191
- t$1("m3e-accordion")
192
- ], M3eAccordionElement);
520
+ M3eAccordionElement.styles = css`:host { display: block; } ::slotted(m3e-expansion-panel) { --m3e-expansion-panel-container-color: ${DesignToken.color.surfaceContainerLow}; --m3e-expansion-panel-elevation: ${DesignToken.elevation.level2}; --m3e-expansion-panel-open-shape: ${DesignToken.shape.corner.medium}; --_expansion-panel-open-spacing: 1rem; } ::slotted(m3e-expansion-panel:first-of-type:last-of-type) { --m3e-expansion-panel-shape: ${DesignToken.shape.corner.medium}; } ::slotted(m3e-expansion-panel:first-of-type:not(:last-of-type)) { --m3e-expansion-panel-shape: ${DesignToken.shape.corner.value.medium} ${DesignToken.shape.corner.value.medium} ${DesignToken.shape.corner.value.none} ${DesignToken.shape.corner.value.none}; } ::slotted(m3e-expansion-panel:last-of-type:not(:first-of-type)) { --m3e-expansion-panel-shape: ${DesignToken.shape.corner.value.none} ${DesignToken.shape.corner.value.none} ${DesignToken.shape.corner.value.medium} ${DesignToken.shape.corner.value.medium}; }`;
521
+ __decorate([n({
522
+ type: Boolean
523
+ })], M3eAccordionElement.prototype, "multi", void 0);
524
+ M3eAccordionElement = __decorate([t$1("m3e-accordion")], M3eAccordionElement);
193
525
 
194
526
  /**
195
527
  * Component design tokens for `M3eExpansionHeaderElement`.
196
528
  * @internal
197
529
  */
198
530
  const ExpansionHeaderToken = {
199
- collapsedHeight: unsafeCSS("var(--m3e-expansion-header-collapsed-height, 3rem)"),
200
- expandedHeight: unsafeCSS("var(--m3e-expansion-header-expanded-height, 4rem)"),
201
- paddingLeft: unsafeCSS("var(--m3e-expansion-header-padding-left, 1.5rem)"),
202
- paddingRight: unsafeCSS("var(--m3e-expansion-header-padding-right, 1.5rem)"),
203
- spacing: unsafeCSS("var(--m3e-expansion-header-spacing, 0.5rem)"),
204
- toggleIconSize: unsafeCSS("var(--m3e-expansion-header-toggle-icon-size, 1.5rem)"),
205
- fontSize: unsafeCSS(`var(--m3e-expansion-header-font-size, ${DesignToken.typescale.standard.title.medium.fontSize})`),
206
- fontWeight: unsafeCSS(`var(--m3e-expansion-header-font-weight, ${DesignToken.typescale.standard.title.medium.fontWeight})`),
207
- lineHeight: unsafeCSS(`var(--m3e-expansion-header-line-height, ${DesignToken.typescale.standard.title.medium.lineHeight})`),
208
- tracking: unsafeCSS(`var(--m3e-expansion-header-tracking, ${DesignToken.typescale.standard.title.medium.tracking})`),
531
+ collapsedHeight: unsafeCSS("var(--m3e-expansion-header-collapsed-height, 3rem)"),
532
+ expandedHeight: unsafeCSS("var(--m3e-expansion-header-expanded-height, 4rem)"),
533
+ paddingLeft: unsafeCSS("var(--m3e-expansion-header-padding-left, 1.5rem)"),
534
+ paddingRight: unsafeCSS("var(--m3e-expansion-header-padding-right, 1.5rem)"),
535
+ spacing: unsafeCSS("var(--m3e-expansion-header-spacing, 0.5rem)"),
536
+ toggleIconSize: unsafeCSS("var(--m3e-expansion-header-toggle-icon-size, 1.5rem)"),
537
+ fontSize: unsafeCSS(`var(--m3e-expansion-header-font-size, ${DesignToken.typescale.standard.title.medium.fontSize})`),
538
+ fontWeight: unsafeCSS(`var(--m3e-expansion-header-font-weight, ${DesignToken.typescale.standard.title.medium.fontWeight})`),
539
+ lineHeight: unsafeCSS(`var(--m3e-expansion-header-line-height, ${DesignToken.typescale.standard.title.medium.lineHeight})`),
540
+ tracking: unsafeCSS(`var(--m3e-expansion-header-tracking, ${DesignToken.typescale.standard.title.medium.tracking})`)
209
541
  };
210
542
 
211
543
  /**
212
544
  * Styles for `M3eExpansionHeaderElement`.
213
545
  * @internal
214
546
  */
215
- const ExpansionHeaderStyle = css `
216
- :host {
217
- display: flex;
218
- border-radius: inherit;
219
- outline: none;
220
- user-select: none;
221
- position: relative;
222
- height: ${ExpansionHeaderToken.collapsedHeight};
223
- padding-inline-start: ${ExpansionHeaderToken.paddingLeft};
224
- padding-inline-end: ${ExpansionHeaderToken.paddingRight};
225
- font-size: ${ExpansionHeaderToken.fontSize};
226
- font-weight: ${ExpansionHeaderToken.fontWeight};
227
- line-height: ${ExpansionHeaderToken.lineHeight};
228
- letter-spacing: ${ExpansionHeaderToken.tracking};
229
- transition: ${unsafeCSS(`height var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
230
- ${DesignToken.motion.easing.standard}`)};
231
-
232
- column-gap: ${ExpansionHeaderToken.spacing};
233
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
234
- }
235
- :host(:not(:disabled)) {
236
- cursor: pointer;
237
- }
238
- :host([aria-expanded="true"]) {
239
- height: ${ExpansionHeaderToken.expandedHeight};
240
- }
241
- :host(:not(:focus-visible)) .state-layer {
242
- --m3e-state-layer-focus-color: transparent;
243
- }
244
- :host([aria-expanded="true"]) .state-layer {
245
- --m3e-state-layer-hover-color: transparent;
246
- }
247
- :host([aria-expanded="true"]) [part="background"],
248
- .content {
249
- flex: 1 1 auto;
250
- display: flex;
251
- align-items: center;
252
- }
253
- .toggle {
254
- display: flex;
255
- align-items: center;
256
- justify-content: center;
257
- vertical-align: middle;
258
- font-size: ${ExpansionHeaderToken.toggleIconSize};
259
- transition: ${unsafeCSS(`transform var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
260
- ${DesignToken.motion.easing.standard}`)};
261
- }
262
- :host([toggle-direction="vertical"][aria-expanded="true"]) .toggle {
263
- transform: rotate(180deg);
264
- }
265
- :host([toggle-direction="horizontal"][aria-expanded="true"]) .toggle {
266
- transform: rotate(90deg);
267
- }
268
- :host([toggle-position="before"]) .toggle {
269
- margin-inline-start: calc(0px - ${ExpansionHeaderToken.spacing});
270
- }
271
- :host([toggle-position="after"]) .toggle {
272
- margin-inline-end: calc(0px - ${ExpansionHeaderToken.spacing});
273
- }
274
- :host([hide-toggle]) .toggle {
275
- display: none;
276
- }
277
- ::slotted([slot="toggle-icon"]) {
278
- font-size: inherit !important;
279
- flex: none;
280
- }
281
- ::slotted(svg[slot="toggle-icon"]) {
282
- width: 1em;
283
- height: 1em;
284
- }
285
- @media (prefers-reduced-motion) {
286
- :host,
287
- .toggle {
288
- transition: none;
289
- }
290
- }
291
- `;
547
+ const ExpansionHeaderStyle = css`:host { display: flex; border-radius: inherit; outline: none; user-select: none; position: relative; height: ${ExpansionHeaderToken.collapsedHeight}; padding-inline-start: ${ExpansionHeaderToken.paddingLeft}; padding-inline-end: ${ExpansionHeaderToken.paddingRight}; font-size: ${ExpansionHeaderToken.fontSize}; font-weight: ${ExpansionHeaderToken.fontWeight}; line-height: ${ExpansionHeaderToken.lineHeight}; letter-spacing: ${ExpansionHeaderToken.tracking}; transition: ${unsafeCSS(`height var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
548
+ ${DesignToken.motion.easing.standard}`)}; column-gap: ${ExpansionHeaderToken.spacing}; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host(:not(:disabled)) { cursor: pointer; } :host([aria-expanded="true"]) { height: ${ExpansionHeaderToken.expandedHeight}; } :host(:not(:focus-visible)) .state-layer { --m3e-state-layer-focus-color: transparent; } :host([aria-expanded="true"]) .state-layer { --m3e-state-layer-hover-color: transparent; } :host([aria-expanded="true"]) [part="background"], .content { flex: 1 1 auto; display: flex; align-items: center; } .toggle { display: flex; align-items: center; justify-content: center; vertical-align: middle; font-size: ${ExpansionHeaderToken.toggleIconSize}; transition: ${unsafeCSS(`transform var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
549
+ ${DesignToken.motion.easing.standard}`)}; } :host([toggle-direction="vertical"][aria-expanded="true"]) .toggle { transform: rotate(180deg); } :host([toggle-direction="horizontal"][aria-expanded="true"]) .toggle { transform: rotate(var(--_expansion-header-horizontal-expanded-toggle-rotation, 90deg)); } :host([toggle-position="before"]) .toggle { margin-inline-start: calc(0px - ${ExpansionHeaderToken.spacing}); } :host([toggle-position="after"]) .toggle { margin-inline-end: calc(0px - ${ExpansionHeaderToken.spacing}); } :host([hide-toggle]) .toggle { display: none; } ::slotted([slot="toggle-icon"]) { font-size: inherit !important; flex: none; } ::slotted(svg[slot="toggle-icon"]) { width: 1em; height: 1em; } @media (prefers-reduced-motion) { :host, .toggle { transition: none; } }`;
292
550
 
293
551
  /**
294
552
  * Component design tokens for `M3eExpansionPanelElement`.
295
553
  * @internal
296
554
  */
297
555
  const ExpansionPanelToken = {
298
- textColor: unsafeCSS(`var(--m3e-expansion-panel-text-color, ${DesignToken.color.onSurface})`),
299
- disabledTextColor: unsafeCSS(`var(--m3e-expansion-panel-disabled-text-color, ${DesignToken.color.onSurface})`),
300
- disabledTextOpacity: unsafeCSS(`var(--m3e-expansion-panel-disabled-text-opacity, 38%)`),
301
- containerColor: unsafeCSS("var(--m3e-expansion-panel-container-color)"),
302
- collapsedElevation: unsafeCSS("var(--m3e-expansion-panel-elevation)"),
303
- collapsedShape: unsafeCSS("var(--m3e-expansion-panel-shape)"),
304
- expandedElevation: unsafeCSS("var(--m3e-expansion-panel-open-elevation, var(--m3e-expansion-panel-elevation))"),
305
- expandedShape: unsafeCSS("var(--m3e-expansion-panel-open-shape, var(--m3e-expansion-panel-shape))"),
306
- expandedSpace: unsafeCSS("var(--_expansion-panel-open-spacing)"),
307
- contentPadding: unsafeCSS("var(--m3e-expansion-panel-content-padding, 0 1.5rem 1rem 1.5rem)"),
308
- actionsSpacing: unsafeCSS("var(--m3e-expansion-panel-actions-spacing, 0.5rem)"),
309
- actionsPadding: unsafeCSS("var(--m3e-expansion-panel-actions-padding, 1rem 1.5rem 1rem 1.5rem)"),
310
- actionsDividerThickness: unsafeCSS("var(--m3e-expansion-panel-actions-divider-thickness, var(--m3e-divider-thickness, 1px))"),
311
- actionsDividerColor: unsafeCSS(`var(--m3e-expansion-panel-actions-divider-color, var(--m3e-divider-color, ${DesignToken.color.outlineVariant}))`),
556
+ textColor: unsafeCSS(`var(--m3e-expansion-panel-text-color, ${DesignToken.color.onSurface})`),
557
+ disabledTextColor: unsafeCSS(`var(--m3e-expansion-panel-disabled-text-color, ${DesignToken.color.onSurface})`),
558
+ disabledTextOpacity: unsafeCSS(`var(--m3e-expansion-panel-disabled-text-opacity, 38%)`),
559
+ containerColor: unsafeCSS("var(--m3e-expansion-panel-container-color)"),
560
+ collapsedElevation: unsafeCSS("var(--m3e-expansion-panel-elevation)"),
561
+ collapsedShape: unsafeCSS("var(--m3e-expansion-panel-shape)"),
562
+ expandedElevation: unsafeCSS("var(--m3e-expansion-panel-open-elevation, var(--m3e-expansion-panel-elevation))"),
563
+ expandedShape: unsafeCSS("var(--m3e-expansion-panel-open-shape, var(--m3e-expansion-panel-shape))"),
564
+ expandedSpace: unsafeCSS("var(--_expansion-panel-open-spacing)"),
565
+ contentPadding: unsafeCSS("var(--m3e-expansion-panel-content-padding, 0 1.5rem 1rem 1.5rem)"),
566
+ actionsSpacing: unsafeCSS("var(--m3e-expansion-panel-actions-spacing, 0.5rem)"),
567
+ actionsPadding: unsafeCSS("var(--m3e-expansion-panel-actions-padding, 1rem 1.5rem 1rem 1.5rem)"),
568
+ actionsDividerThickness: unsafeCSS("var(--m3e-expansion-panel-actions-divider-thickness, var(--m3e-divider-thickness, 1px))"),
569
+ actionsDividerColor: unsafeCSS(`var(--m3e-expansion-panel-actions-divider-color, var(--m3e-divider-color, ${DesignToken.color.outlineVariant}))`)
312
570
  };
313
571
 
314
572
  /**
315
573
  * Styles for `M3eExpansionPanelElement`.
316
574
  * @internal
317
575
  */
318
- const ExpansionPanelStyle = css `
319
- :host {
320
- display: block;
321
- background-color: ${ExpansionPanelToken.containerColor};
322
- transition: ${unsafeCSS(`box-shadow var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
323
- ${DesignToken.motion.easing.standard}`)};
324
- }
325
- :host(:not(:disabled)) {
326
- color: ${ExpansionPanelToken.textColor};
327
- }
328
- :host(:disabled) {
329
- color: color-mix(
330
- in srgb,
331
- ${ExpansionPanelToken.disabledTextColor} ${ExpansionPanelToken.disabledTextOpacity},
332
- transparent
333
- );
334
- }
335
- :host(:not([open])) {
336
- box-shadow: ${ExpansionPanelToken.collapsedElevation};
337
- border-radius: ${ExpansionPanelToken.collapsedShape};
338
- }
339
- :host([open]) {
340
- box-shadow: ${ExpansionPanelToken.expandedElevation};
341
- border-radius: ${ExpansionPanelToken.expandedShape};
342
- margin-block: ${ExpansionPanelToken.expandedSpace};
343
- }
344
- .toggle {
345
- display: flex;
346
- align-items: center;
347
- justify-content: center;
348
- font-size: ${ExpansionHeaderToken.toggleIconSize};
349
- }
350
- ::slotted([slot="toggle-icon"]) {
351
- font-size: inherit !important;
352
- flex: none;
353
- }
354
- .toggle svg,
355
- ::slotted(svg[slot="toggle-icon"]) {
356
- width: 1em;
357
- height: 1em;
358
- }
359
- .content {
360
- padding: ${ExpansionPanelToken.contentPadding};
361
- }
362
- ::slotted([slot="actions"]) {
363
- flex: none;
364
- display: flex;
365
- align-items: center;
366
- column-gap: ${ExpansionPanelToken.actionsSpacing};
367
- padding: ${ExpansionPanelToken.actionsPadding};
368
- border-top-style: solid;
369
- border-top-width: ${ExpansionPanelToken.actionsDividerThickness};
370
- border-top-color: ${ExpansionPanelToken.actionsDividerColor};
371
- }
372
- ::slotted([slot="actions"][end]) {
373
- justify-content: flex-end;
374
- }
375
- @media (prefers-reduced-motion) {
376
- :host {
377
- transition: none;
378
- }
379
- }
380
- @media (forced-colors: active) {
381
- :host {
382
- border: 1px solid CanvasText;
383
- }
384
- :host(:disabled) {
385
- color: GrayText;
386
- }
387
- ::slotted([slot="actions"]) {
388
- border-top-color: GrayText;
389
- }
390
- }
391
- `;
576
+ const ExpansionPanelStyle = css`:host { display: block; background-color: ${ExpansionPanelToken.containerColor}; transition: ${unsafeCSS(`box-shadow var(--m3e-collapsible-animation-duration, ${DesignToken.motion.duration.medium1})
577
+ ${DesignToken.motion.easing.standard}`)}; } :host(:not(:disabled)) { color: ${ExpansionPanelToken.textColor}; } :host(:disabled) { color: color-mix( in srgb, ${ExpansionPanelToken.disabledTextColor} ${ExpansionPanelToken.disabledTextOpacity}, transparent ); } :host(:not([open])) { box-shadow: ${ExpansionPanelToken.collapsedElevation}; border-radius: ${ExpansionPanelToken.collapsedShape}; } :host([open]) { box-shadow: ${ExpansionPanelToken.expandedElevation}; border-radius: ${ExpansionPanelToken.expandedShape}; margin-block: ${ExpansionPanelToken.expandedSpace}; } .toggle { display: flex; align-items: center; justify-content: center; font-size: ${ExpansionHeaderToken.toggleIconSize}; } ::slotted([slot="toggle-icon"]) { font-size: inherit !important; flex: none; } .toggle svg, ::slotted(svg[slot="toggle-icon"]) { width: 1em; height: 1em; } .content { padding: ${ExpansionPanelToken.contentPadding}; } ::slotted([slot="actions"]) { flex: none; display: flex; align-items: center; column-gap: ${ExpansionPanelToken.actionsSpacing}; padding: ${ExpansionPanelToken.actionsPadding}; border-top-style: solid; border-top-width: ${ExpansionPanelToken.actionsDividerThickness}; border-top-color: ${ExpansionPanelToken.actionsDividerColor}; } ::slotted([slot="actions"][end]) { justify-content: flex-end; } @media (prefers-reduced-motion) { :host { transition: none; } } @media (forced-colors: active) { :host { border: 1px solid CanvasText; } :host(:disabled) { color: GrayText; } ::slotted([slot="actions"]) { border-top-color: GrayText; } }`;
392
578
 
393
579
  var _M3eExpansionHeaderElement_instances, _M3eExpansionHeaderElement_renderToggle;
394
580
  /**
@@ -417,70 +603,60 @@ var _M3eExpansionHeaderElement_instances, _M3eExpansionHeaderElement_renderToggl
417
603
  * @cssprop --m3e-expansion-header-tracking - Letter spacing (tracking) of the header text.
418
604
  */
419
605
  let M3eExpansionHeaderElement = class M3eExpansionHeaderElement extends KeyboardClick(Focusable(Disabled(AttachInternals(Role(LitElement, "button"), true)))) {
420
- constructor() {
421
- super(...arguments);
422
- _M3eExpansionHeaderElement_instances.add(this);
423
- /**
424
- * The direction of the expansion toggle.
425
- * @default "vertical"
426
- */
427
- this.toggleDirection = "vertical";
428
- /**
429
- * The position of the expansion toggle.
430
- * @default "after"
431
- */
432
- this.togglePosition = "after";
433
- /**
434
- * Whether to hide the expansion toggle.
435
- * @default false
436
- */
437
- this.hideToggle = false;
438
- }
439
- /** @inheritdoc */
440
- firstUpdated(_changedProperties) {
441
- super.firstUpdated(_changedProperties);
442
- [this._focusRing, this._stateLayer].forEach((x) => x?.attach(this));
443
- }
444
- /** @inheritdoc */
445
- render() {
446
- return html `<m3e-focus-ring class="focus-ring" ?disabled="${this.disabled}"></m3e-focus-ring>
447
- <m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer>
448
- ${this.togglePosition === "before" ? __classPrivateFieldGet(this, _M3eExpansionHeaderElement_instances, "m", _M3eExpansionHeaderElement_renderToggle).call(this) : nothing}
449
- <div class="content">
450
- <slot></slot>
451
- </div>
452
- ${this.togglePosition === "after" ? __classPrivateFieldGet(this, _M3eExpansionHeaderElement_instances, "m", _M3eExpansionHeaderElement_renderToggle).call(this) : nothing}`;
453
- }
606
+ constructor() {
607
+ super(...arguments);
608
+ _M3eExpansionHeaderElement_instances.add(this);
609
+ /**
610
+ * The direction of the expansion toggle.
611
+ * @default "vertical"
612
+ */
613
+ this.toggleDirection = "vertical";
614
+ /**
615
+ * The position of the expansion toggle.
616
+ * @default "after"
617
+ */
618
+ this.togglePosition = "after";
619
+ /**
620
+ * Whether to hide the expansion toggle.
621
+ * @default false
622
+ */
623
+ this.hideToggle = false;
624
+ }
625
+ /** @inheritdoc */
626
+ firstUpdated(_changedProperties) {
627
+ super.firstUpdated(_changedProperties);
628
+ [this._focusRing, this._stateLayer].forEach(x => x?.attach(this));
629
+ }
630
+ /** @inheritdoc */
631
+ render() {
632
+ return html`<m3e-focus-ring class="focus-ring" ?disabled="${this.disabled}"></m3e-focus-ring><m3e-state-layer class="state-layer" ?disabled="${this.disabled}"></m3e-state-layer>${this.togglePosition === "before" ? __classPrivateFieldGet(this, _M3eExpansionHeaderElement_instances, "m", _M3eExpansionHeaderElement_renderToggle).call(this) : nothing}<div class="content"><slot></slot></div>${this.togglePosition === "after" ? __classPrivateFieldGet(this, _M3eExpansionHeaderElement_instances, "m", _M3eExpansionHeaderElement_renderToggle).call(this) : nothing}`;
633
+ }
454
634
  };
455
635
  _M3eExpansionHeaderElement_instances = new WeakSet();
456
636
  _M3eExpansionHeaderElement_renderToggle = function _M3eExpansionHeaderElement_renderToggle() {
457
- return html `<div class="toggle" aria-hidden="true">
458
- <slot name="toggle-icon"></slot>
459
- </div>`;
637
+ return html`<div class="toggle" aria-hidden="true"><slot name="toggle-icon"></slot></div>`;
460
638
  };
461
639
  /** The styles of the element. */
462
640
  M3eExpansionHeaderElement.styles = ExpansionHeaderStyle;
463
- __decorate([
464
- e(".focus-ring")
465
- ], M3eExpansionHeaderElement.prototype, "_focusRing", void 0);
466
- __decorate([
467
- e(".state-layer")
468
- ], M3eExpansionHeaderElement.prototype, "_stateLayer", void 0);
469
- __decorate([
470
- n({ attribute: "toggle-direction", reflect: true })
471
- ], M3eExpansionHeaderElement.prototype, "toggleDirection", void 0);
472
- __decorate([
473
- n({ attribute: "toggle-position", reflect: true })
474
- ], M3eExpansionHeaderElement.prototype, "togglePosition", void 0);
475
- __decorate([
476
- n({ attribute: "hide-toggle", type: Boolean, reflect: true })
477
- ], M3eExpansionHeaderElement.prototype, "hideToggle", void 0);
478
- M3eExpansionHeaderElement = __decorate([
479
- t$1("m3e-expansion-header")
480
- ], M3eExpansionHeaderElement);
641
+ __decorate([e(".focus-ring")], M3eExpansionHeaderElement.prototype, "_focusRing", void 0);
642
+ __decorate([e(".state-layer")], M3eExpansionHeaderElement.prototype, "_stateLayer", void 0);
643
+ __decorate([n({
644
+ attribute: "toggle-direction",
645
+ reflect: true
646
+ })], M3eExpansionHeaderElement.prototype, "toggleDirection", void 0);
647
+ __decorate([n({
648
+ attribute: "toggle-position",
649
+ reflect: true
650
+ })], M3eExpansionHeaderElement.prototype, "togglePosition", void 0);
651
+ __decorate([n({
652
+ attribute: "hide-toggle",
653
+ type: Boolean,
654
+ reflect: true
655
+ })], M3eExpansionHeaderElement.prototype, "hideToggle", void 0);
656
+ M3eExpansionHeaderElement = __decorate([t$1("m3e-expansion-header")], M3eExpansionHeaderElement);
481
657
 
482
658
  /* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
483
- var _M3eExpansionPanelElement_instances, _M3eExpansionPanelElement_id, _M3eExpansionPanelElement_contentId, _M3eExpansionPanelElement_headerId, _M3eExpansionPanelElement_renderToggleIcon, _M3eExpansionPanelElement_handleHeaderClick, _M3eExpansionPanelElement_handleKeyDown, _M3eExpansionPanelElement_handleCollapsibleEvent;
659
+ var _M3eExpansionPanelElement_instances, _M3eExpansionPanelElement_id, _M3eExpansionPanelElement_contentId, _M3eExpansionPanelElement_headerId, _M3eExpansionPanelElement_directionalitySubscription, _M3eExpansionPanelElement_renderToggleIcon, _M3eExpansionPanelElement_handleHeaderClick, _M3eExpansionPanelElement_handleKeyDown, _M3eExpansionPanelElement_handleCollapsibleEvent, _M3eExpansionPanelElement_updateHeaderToggleRotation;
484
660
  var M3eExpansionPanelElement_1;
485
661
  /**
486
662
  * An expandable details-summary view.
@@ -551,142 +727,137 @@ var M3eExpansionPanelElement_1;
551
727
  * @cssprop --m3e-expansion-panel-actions-divider-color - Color of the divider above actions.
552
728
  */
553
729
  let M3eExpansionPanelElement = M3eExpansionPanelElement_1 = class M3eExpansionPanelElement extends EventAttribute(Disabled(AttachInternals(LitElement, true)), "opening", "opened", "closing", "closed") {
554
- constructor() {
555
- super(...arguments);
556
- _M3eExpansionPanelElement_instances.add(this);
557
- /** @private */ _M3eExpansionPanelElement_id.set(this, M3eExpansionPanelElement_1.__nextId++);
558
- /** @private */ _M3eExpansionPanelElement_contentId.set(this, `m3e-expansion-panel-${__classPrivateFieldGet(this, _M3eExpansionPanelElement_id, "f")}-content`);
559
- /** @private */ _M3eExpansionPanelElement_headerId.set(this, `m3e-expansion-panel-${__classPrivateFieldGet(this, _M3eExpansionPanelElement_id, "f")}-header`);
560
- /**
561
- * Whether the panel is expanded.
562
- * @default false
563
- */
564
- this.open = false;
565
- /**
566
- * The direction of the expansion toggle.
567
- * @default "vertical"
568
- */
569
- this.toggleDirection = "vertical";
570
- /**
571
- * The position of the expansion toggle.
572
- * @default "after"
573
- */
574
- this.togglePosition = "after";
575
- /**
576
- * Whether to hide the expansion toggle.
577
- * @default false
578
- */
579
- this.hideToggle = false;
580
- }
581
- /** @inheritdoc */
582
- render() {
583
- return html ` <m3e-expansion-header
584
- id="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_headerId, "f")}"
585
- toggle-direction="${this.toggleDirection}"
586
- toggle-position="${this.togglePosition}"
587
- ?hide-toggle="${this.hideToggle}"
588
- ?disabled="${this.disabled}"
589
- aria-expanded="${this.open}"
590
- aria-controls="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_contentId, "f")}"
591
- @click="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleHeaderClick)}"
592
- @keydown="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleKeyDown)}"
593
- >
594
- <div slot="toggle-icon" class="toggle">
595
- <slot name="toggle-icon">${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_renderToggleIcon).call(this)}</slot>
596
- </div>
597
- <slot name="header"></slot>
598
- </m3e-expansion-header>
599
- <m3e-collapsible
600
- id="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_contentId, "f")}"
601
- role="region"
602
- aria-labelledby="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_headerId, "f")}"
603
- aria-hidden="${!this.open}"
604
- ?open="${this.open}"
605
- @opening="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleCollapsibleEvent)}"
606
- @opened="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleCollapsibleEvent)}"
607
- @closing="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleCollapsibleEvent)}"
608
- @closed="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleCollapsibleEvent)}"
609
- >
610
- <div class="content">
611
- <slot></slot>
612
- </div>
613
- <slot name="actions"></slot>
614
- </m3e-collapsible>`;
615
- }
730
+ constructor() {
731
+ super(...arguments);
732
+ _M3eExpansionPanelElement_instances.add(this);
733
+ /** @private */
734
+ _M3eExpansionPanelElement_id.set(this, M3eExpansionPanelElement_1.__nextId++);
735
+ /** @private */
736
+ _M3eExpansionPanelElement_contentId.set(this, `m3e-expansion-panel-${__classPrivateFieldGet(this, _M3eExpansionPanelElement_id, "f")}-content`);
737
+ /** @private */
738
+ _M3eExpansionPanelElement_headerId.set(this, `m3e-expansion-panel-${__classPrivateFieldGet(this, _M3eExpansionPanelElement_id, "f")}-header`);
739
+ /** @private */
740
+ _M3eExpansionPanelElement_directionalitySubscription.set(this, void 0);
741
+ /**
742
+ * Whether the panel is expanded.
743
+ * @default false
744
+ */
745
+ this.open = false;
746
+ /**
747
+ * The direction of the expansion toggle.
748
+ * @default "vertical"
749
+ */
750
+ this.toggleDirection = "vertical";
751
+ /**
752
+ * The position of the expansion toggle.
753
+ * @default "after"
754
+ */
755
+ this.togglePosition = "after";
756
+ /**
757
+ * Whether to hide the expansion toggle.
758
+ * @default false
759
+ */
760
+ this.hideToggle = false;
761
+ }
762
+ /** @inheritdoc */
763
+ connectedCallback() {
764
+ super.connectedCallback();
765
+ __classPrivateFieldSet(this, _M3eExpansionPanelElement_directionalitySubscription, M3eDirectionality.observe(() => {
766
+ this.requestUpdate();
767
+ __classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_updateHeaderToggleRotation).call(this);
768
+ }), "f");
769
+ }
770
+ /** @inheritdoc */
771
+ disconnectedCallback() {
772
+ super.disconnectedCallback();
773
+ __classPrivateFieldGet(this, _M3eExpansionPanelElement_directionalitySubscription, "f")?.call(this);
774
+ }
775
+ /** @inheritdoc */
776
+ firstUpdated(_changedProperties) {
777
+ super.firstUpdated(_changedProperties);
778
+ __classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_updateHeaderToggleRotation).call(this);
779
+ }
780
+ /** @inheritdoc */
781
+ render() {
782
+ return html`<m3e-expansion-header id="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_headerId, "f")}" toggle-direction="${this.toggleDirection}" toggle-position="${this.togglePosition}" ?hide-toggle="${this.hideToggle}" ?disabled="${this.disabled}" aria-expanded="${this.open}" aria-controls="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_contentId, "f")}" @click="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleHeaderClick)}" @keydown="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleKeyDown)}"><div slot="toggle-icon" class="toggle"><slot name="toggle-icon">${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_renderToggleIcon).call(this)}</slot></div><slot name="header"></slot></m3e-expansion-header><m3e-collapsible id="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_contentId, "f")}" role="region" aria-labelledby="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_headerId, "f")}" aria-hidden="${!this.open}" ?open="${this.open}" @opening="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleCollapsibleEvent)}" @opened="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleCollapsibleEvent)}" @closing="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleCollapsibleEvent)}" @closed="${__classPrivateFieldGet(this, _M3eExpansionPanelElement_instances, "m", _M3eExpansionPanelElement_handleCollapsibleEvent)}"><div class="content"><slot></slot></div><slot name="actions"></slot></m3e-collapsible>`;
783
+ }
616
784
  };
617
785
  _M3eExpansionPanelElement_id = new WeakMap();
618
786
  _M3eExpansionPanelElement_contentId = new WeakMap();
619
787
  _M3eExpansionPanelElement_headerId = new WeakMap();
788
+ _M3eExpansionPanelElement_directionalitySubscription = new WeakMap();
620
789
  _M3eExpansionPanelElement_instances = new WeakSet();
621
790
  _M3eExpansionPanelElement_renderToggleIcon = function _M3eExpansionPanelElement_renderToggleIcon() {
622
- return this.toggleDirection === "vertical"
623
- ? html `<svg viewBox="0 -960 960 960" fill="currentColor">
624
- <path d="M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z" />
625
- </svg>`
626
- : html `<svg viewBox="0 -960 960 960" fill="currentColor">
627
- <path d="M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z" />
628
- </svg>`;
791
+ return this.toggleDirection === "vertical" ? html`<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M480-344 240-584l56-56 184 184 184-184 56 56-240 240Z"/></svg>` : M3eDirectionality.current === "ltr" ? html`<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z"/></svg>` : html`<svg viewBox="0 -960 960 960" fill="currentColor"><path d="M560-240 320-480l240-240 56 56-184 184 184 184-56 56Z"/></svg>`;
629
792
  };
630
793
  _M3eExpansionPanelElement_handleHeaderClick = function _M3eExpansionPanelElement_handleHeaderClick() {
631
- this.open = !this.open;
794
+ this.open = !this.open;
632
795
  };
633
796
  _M3eExpansionPanelElement_handleKeyDown = function _M3eExpansionPanelElement_handleKeyDown(e) {
634
- switch (e.key) {
635
- case "ArrowUp":
636
- {
637
- e.preventDefault();
638
- const accordion = this.closest("m3e-accordion");
639
- if (accordion) {
640
- const panels = [...accordion.panels].reverse();
641
- const index = panels.indexOf(this);
642
- (panels.find((x, i) => !x.disabled && i > index) ?? panels.find((x, i) => !x.disabled && i < index))?._header?.focus();
643
- }
644
- else {
645
- this.open = false;
646
- }
647
- }
648
- break;
649
- case "ArrowDown":
650
- {
651
- e.preventDefault();
652
- const accordion = this.closest("m3e-accordion");
653
- if (accordion) {
654
- const index = accordion.panels.indexOf(this);
655
- (accordion.panels.find((x, i) => !x.disabled && i > index) ??
656
- accordion.panels.find((x, i) => !x.disabled && i < index))?._header?.focus();
657
- }
658
- else {
659
- this.open = true;
660
- }
661
- }
662
- break;
663
- }
797
+ switch (e.key) {
798
+ case "ArrowUp":
799
+ {
800
+ e.preventDefault();
801
+ const accordion = this.closest("m3e-accordion");
802
+ if (accordion) {
803
+ const panels = [...accordion.panels].reverse();
804
+ const index = panels.indexOf(this);
805
+ (panels.find((x, i) => !x.disabled && i > index) ?? panels.find((x, i) => !x.disabled && i < index))?._header?.focus();
806
+ } else {
807
+ this.open = false;
808
+ }
809
+ }
810
+ break;
811
+ case "ArrowDown":
812
+ {
813
+ e.preventDefault();
814
+ const accordion = this.closest("m3e-accordion");
815
+ if (accordion) {
816
+ const index = accordion.panels.indexOf(this);
817
+ (accordion.panels.find((x, i) => !x.disabled && i > index) ?? accordion.panels.find((x, i) => !x.disabled && i < index))?._header?.focus();
818
+ } else {
819
+ this.open = true;
820
+ }
821
+ }
822
+ break;
823
+ }
664
824
  };
665
825
  _M3eExpansionPanelElement_handleCollapsibleEvent = function _M3eExpansionPanelElement_handleCollapsibleEvent(e) {
666
- e.stopPropagation();
667
- this.dispatchEvent(new Event(e.type, { bubbles: true }));
826
+ e.stopPropagation();
827
+ this.dispatchEvent(new Event(e.type, {
828
+ bubbles: true
829
+ }));
830
+ };
831
+ _M3eExpansionPanelElement_updateHeaderToggleRotation = function _M3eExpansionPanelElement_updateHeaderToggleRotation() {
832
+ if (M3eDirectionality.current === "rtl") {
833
+ this._header?.style.setProperty("--_expansion-header-horizontal-expanded-toggle-rotation", "-90deg");
834
+ } else {
835
+ this._header?.style.removeProperty("--_expansion-header-horizontal-expanded-toggle-rotation");
836
+ }
668
837
  };
669
838
  /** The styles of the element. */
670
839
  M3eExpansionPanelElement.styles = ExpansionPanelStyle;
671
- /** @private */ M3eExpansionPanelElement.__nextId = 0;
672
- __decorate([
673
- e("m3e-expansion-header")
674
- ], M3eExpansionPanelElement.prototype, "_header", void 0);
675
- __decorate([
676
- n({ type: Boolean, reflect: true })
677
- ], M3eExpansionPanelElement.prototype, "open", void 0);
678
- __decorate([
679
- n({ attribute: "toggle-direction", reflect: true })
680
- ], M3eExpansionPanelElement.prototype, "toggleDirection", void 0);
681
- __decorate([
682
- n({ attribute: "toggle-position", reflect: true })
683
- ], M3eExpansionPanelElement.prototype, "togglePosition", void 0);
684
- __decorate([
685
- n({ attribute: "hide-toggle", type: Boolean, reflect: true })
686
- ], M3eExpansionPanelElement.prototype, "hideToggle", void 0);
687
- M3eExpansionPanelElement = M3eExpansionPanelElement_1 = __decorate([
688
- t$1("m3e-expansion-panel")
689
- ], M3eExpansionPanelElement);
840
+ /** @private */
841
+ M3eExpansionPanelElement.__nextId = 0;
842
+ __decorate([e("m3e-expansion-header")], M3eExpansionPanelElement.prototype, "_header", void 0);
843
+ __decorate([n({
844
+ type: Boolean,
845
+ reflect: true
846
+ })], M3eExpansionPanelElement.prototype, "open", void 0);
847
+ __decorate([n({
848
+ attribute: "toggle-direction",
849
+ reflect: true
850
+ })], M3eExpansionPanelElement.prototype, "toggleDirection", void 0);
851
+ __decorate([n({
852
+ attribute: "toggle-position",
853
+ reflect: true
854
+ })], M3eExpansionPanelElement.prototype, "togglePosition", void 0);
855
+ __decorate([n({
856
+ attribute: "hide-toggle",
857
+ type: Boolean,
858
+ reflect: true
859
+ })], M3eExpansionPanelElement.prototype, "hideToggle", void 0);
860
+ M3eExpansionPanelElement = M3eExpansionPanelElement_1 = __decorate([t$1("m3e-expansion-panel")], M3eExpansionPanelElement);
690
861
 
691
862
  export { M3eAccordionElement, M3eExpansionHeaderElement, M3eExpansionPanelElement };
692
863
  //# sourceMappingURL=index.js.map