@m3e/app-bar 1.0.6 → 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.min.js CHANGED
@@ -36,196 +36,5 @@ const U={attribute:!0,type:String,converter:k,reflect:!1,hasChanged:L},O=(t=U,e,
36
36
  * Copyright 2017 Google LLC
37
37
  * SPDX-License-Identifier: BSD-3-Clause
38
38
  */
39
- function R(t,e){return(e,i,s)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof e&&Object.defineProperty(t,e,i),i))(e,i,{get(){return(e=>e.renderRoot?.querySelector(t)??null)(this)}})}const A={small:{containerHeight:t("var(--m3e-app-bar-small-container-height, 4rem)"),titleTextFontSize:t(`var(--m3e-app-bar-small-title-text-font-size, ${a.typescale.standard.title.large.fontSize})`),titleTextFontWeight:t(`var(--m3e-app-bar-small-title-text-font-weight, ${a.typescale.standard.title.large.fontWeight})`),titleTextLineHeight:t(`var(--m3e-app-bar-small-title-text-line-height, ${a.typescale.standard.title.large.lineHeight})`),titleTextTracking:t(`var(--m3e-app-bar-small-subtitle-text-tracking, ${a.typescale.standard.title.large.tracking})`),subtitleTextFontSize:t(`var(--m3e-app-bar-small-subtitle-text-font-size, ${a.typescale.standard.label.medium.fontSize})`),subtitleTextFontWeight:t(`var(--m3e-app-bar-small-subtitle-text-font-weight, ${a.typescale.standard.label.medium.fontWeight})`),subtitleTextLineHeight:t(`var(--m3e-app-bar-small-subtitle-text-line-height, ${a.typescale.standard.label.medium.lineHeight})`),subtitleTextTracking:t(`var(--m3e-app-bar-small-subtitle-text-tracking, ${a.typescale.standard.label.medium.tracking})`),headingPaddingLeft:t("var(--m3e-app-bar-small-heading-padding-left, 0.25rem)"),headingPaddingRight:t("var(--m3e-app-bar-small-heading-padding-right, 0.25rem)")},medium:{containerHeight:t("var(--m3e-app-bar-medium-container-height, 7rem)"),containerHeightWithSubtitle:t("var(--m3e-app-bar-medium-container-height-with-subtitle, 8.5rem)"),titleTextFontSize:t(`var(--m3e-app-bar-medium-title-text-font-size, ${a.typescale.standard.headline.medium.fontSize})`),titleTextFontWeight:t(`var(--m3e-app-bar-medium-title-text-font-weight, ${a.typescale.standard.headline.medium.fontWeight})`),titleTextLineHeight:t(`var(--m3e-app-bar-medium-title-text-line-height, ${a.typescale.standard.headline.medium.lineHeight})`),titleTextTracking:t(`var(--m3e-app-bar-medium-subtitle-text-tracking, ${a.typescale.standard.headline.medium.tracking})`),subtitleTextFontSize:t(`var(--m3e-app-bar-medium-subtitle-text-font-size, ${a.typescale.standard.title.small.fontSize})`),subtitleTextFontWeight:t(`var(--m3e-app-bar-medium-subtitle-text-font-weight, ${a.typescale.standard.title.small.fontWeight})`),subtitleTextLineHeight:t(`var(--m3e-app-bar-medium-subtitle-text-line-height, ${a.typescale.standard.title.small.lineHeight})`),subtitleTextTracking:t(`var(--m3e-app-bar-medium-subtitle-text-tracking, ${a.typescale.standard.title.small.tracking})`),headingPaddingLeft:t("var(--m3e-app-bar-medium-heading-padding-left, 1rem)"),headingPaddingRight:t("var(--m3e-app-bar-medium-heading-padding-right, 0.25rem)"),paddingTop:t("var(--m3e-app-bar-medium-padding-top, 0.5rem)"),paddingBottom:t("var(--m3e-app-bar-medium-padding-bottom, 0.75rem)"),titleMaxLines:t("var(--m3e-app-bar-medium-title-max-lines, 2)"),subtitleMaxLines:t("var(--m3e-app-bar-medium-subtitle-max-lines, 1)")},large:{containerHeight:t("var(--m3e-app-bar-large-container-height, 7.5rem)"),containerHeightWithSubtitle:t("var(--m3e-app-bar-large-container-height-with-subtitle, 9.5rem)"),titleTextFontSize:t(`var(--m3e-app-bar-large-title-text-font-size, ${a.typescale.standard.display.small.fontSize})`),titleTextFontWeight:t(`var(--m3e-app-bar-large-title-text-font-weight, ${a.typescale.standard.display.small.fontWeight})`),titleTextLineHeight:t(`var(--m3e-app-bar-large-title-text-line-height, ${a.typescale.standard.display.small.lineHeight})`),titleTextTracking:t(`var(--m3e-app-bar-large-subtitle-text-tracking, ${a.typescale.standard.display.small.tracking})`),subtitleTextFontSize:t(`var(--m3e-app-bar-large-subtitle-text-font-size, ${a.typescale.standard.title.medium.fontSize})`),subtitleTextFontWeight:t(`var(--m3e-app-bar-large-subtitle-text-font-weight, ${a.typescale.standard.title.medium.fontWeight})`),subtitleTextLineHeight:t(`var(--m3e-app-bar-large-subtitle-text-line-height, ${a.typescale.standard.title.medium.lineHeight})`),subtitleTextTracking:t(`var(--m3e-app-bar-large-subtitle-text-tracking, ${a.typescale.standard.title.medium.tracking})`),headingPaddingLeft:t("var(--m3e-app-bar-large-heading-padding-left, 1rem)"),headingPaddingRight:t("var(--m3e-app-bar-large-heading-padding-right, 0.25rem)"),paddingTop:t("var(--m3e-app-bar-large-padding-top, 0.5rem)"),paddingBottom:t("var(--m3e-app-bar-large-padding-bottom, 0.75rem)"),titleMaxLines:t("var(--m3e-app-bar-large-title-max-lines, 2)"),subtitleMaxLines:t("var(--m3e-app-bar-large-subtitle-max-lines, 1)")}};function W(i){return e`
40
- :host([size="${t(i)}"]) .base:not(.-with-subtitle) {
41
- min-height: ${A[i].containerHeight};
42
- }
43
- :host([size="${t(i)}"]) .base.-with-subtitle {
44
- min-height: ${A[i].containerHeightWithSubtitle??A[i].containerHeight};
45
- }
46
- :host([size="${t(i)}"]) .title {
47
- font-size: ${A[i].titleTextFontSize};
48
- font-weight: ${A[i].titleTextFontWeight};
49
- line-height: ${A[i].titleTextLineHeight};
50
- letter-spacing: ${A[i].titleTextTracking};
51
- }
52
- :host([size="${t(i)}"]) .subtitle {
53
- font-size: ${A[i].subtitleTextFontSize};
54
- font-weight: ${A[i].subtitleTextFontWeight};
55
- line-height: ${A[i].subtitleTextLineHeight};
56
- letter-spacing: ${A[i].subtitleTextTracking};
57
- }
58
- :host(:not([centered])[size="${t(i)}"]) .label {
59
- padding-inline-start: ${A[i].headingPaddingLeft};
60
- padding-inline-end: ${A[i].headingPaddingRight};
61
- }
62
- :host([centered][size="${t(i)}"]) .label {
63
- padding-inline: ${A[i].headingPaddingLeft};
64
- }
65
- :host([size="${t(i)}"]) .base {
66
- padding-block-start: ${A[i].paddingTop??t("unset")};
67
- padding-block-end: ${A[i].paddingBottom??t("unset")};
68
- }
69
- ${A[i].titleMaxLines?e`
70
- :host([size="${t(i)}"]) .title {
71
- display: -webkit-box;
72
- -webkit-line-clamp: ${A[i].titleMaxLines};
73
- -webkit-box-orient: vertical;
74
- overflow: hidden;
75
- line-clamp: ${A[i].titleMaxLines};
76
- }
77
- `:e``}
78
- ${A[i].subtitleMaxLines?e`
79
- :host([size="${t(i)}"]) .subtitle {
80
- display: -webkit-box;
81
- -webkit-line-clamp: ${A[i].subtitleMaxLines};
82
- -webkit-box-orient: vertical;
83
- overflow: hidden;
84
- line-clamp: ${A[i].subtitleMaxLines};
85
- }
86
- `:e``}
87
- `}const F=[W("small"),W("medium"),W("large")],j=t(`var(--m3e-app-bar-container-color, ${a.color.surface})`),D=t(`var(--m3e-app-bar-container-color-on-scroll, ${a.color.surfaceContainer})`),I=t(`var(--m3e-app-bar-container-elevation, ${a.elevation.level0})`),q=t(`var(--m3e-app-bar-container-elevation-on-scroll, ${a.elevation.level1})`),B=t(`var(--m3e-app-bar-title-text-color, ${a.color.onSurface})`),N=t(`var(--m3e-app-bar-subtitle-text-color, ${a.color.onSurfaceVariant})`),J=t("var(--m3e-app-bar-padding-left, 0.25rem)"),K=t("var(--m3e-app-bar-padding-right, 0.25rem)"),V=e`
88
- :host {
89
- display: block;
90
- flex: none;
91
- }
92
- :host([size="small"]) .base,
93
- :host(:not([size="small"]):not([centered])) .heading {
94
- padding-inline-start: ${J};
95
- padding-inline-end: ${K};
96
- }
97
- .base {
98
- box-sizing: border-box;
99
- display: flex;
100
- transition: ${t(`background-color ${a.motion.duration.medium1} ${a.motion.easing.standard},\n box-shadow ${a.motion.duration.medium1} ${a.motion.easing.standard}`)};
101
- }
102
- .base:not(.-on-scroll) {
103
- background-color: ${j};
104
- box-shadow: ${I};
105
- }
106
- .base.-on-scroll {
107
- background-color: ${D};
108
- box-shadow: ${q};
109
- }
110
- .leading-icon,
111
- .trailing-icon {
112
- display: flex;
113
- flex: none;
114
- align-items: center;
115
- }
116
- .leading-icon {
117
- min-width: var(--_leading-icon-min-width);
118
- }
119
- .trailing-icon {
120
- min-width: var(--_trailing-icon-min-width);
121
- }
122
- .heading {
123
- display: flex;
124
- align-items: center;
125
- }
126
- :host([size="small"]) .heading {
127
- flex: 1 1 auto;
128
- }
129
- .spacer {
130
- flex: 1 1 auto;
131
- }
132
- .label {
133
- display: flex;
134
- flex-direction: column;
135
- flex: none;
136
- }
137
- .title {
138
- color: ${B};
139
- }
140
- .subtitle {
141
- color: ${N};
142
- }
143
- .base:not(.-with-title) .title,
144
- .base:not(.-with-subtitle) .subtitle,
145
- .base:not(.-with-title):not(.-with-subtitle) .label,
146
- .base:not(.-with-trailing-icon) .trailing-icon {
147
- display: none;
148
- }
149
- :host([size="small"]) .base {
150
- align-items: center;
151
- }
152
- :host([size="small"]) .heading {
153
- min-width: 0;
154
- }
155
- :host([size="small"]) .label {
156
- flex: 1 1 auto;
157
- min-width: 0;
158
- }
159
- :host([size="small"]) .title,
160
- :host([size="small"]) .subtitle {
161
- display: block;
162
- white-space: nowrap;
163
- overflow: hidden;
164
- text-overflow: ellipsis;
165
- }
166
- :host(:not([size="small"])) .base {
167
- flex-direction: column;
168
- }
169
- :host([centered]) .title,
170
- :host([centered]) .subtitle {
171
- text-align: center;
172
- }
173
- @media (prefers-reduced-motion) {
174
- .base {
175
- transition: none;
176
- }
177
- }
178
- @media (forced-colors: active) {
179
- .base {
180
- transition: none;
181
- }
182
- .base:not(.-on-scroll),
183
- .base.-on-scroll {
184
- background-color: Canvas;
185
- box-shadow: unset;
186
- }
187
- .title {
188
- color: CanvasText;
189
- }
190
- .subtitle {
191
- color: FieldText;
192
- }
193
- }
194
- `;var G,Q,X,Y,Z,tt,et,it,st,at,nt;let rt=class extends(n(r(i,"banner"))){constructor(){super(...arguments),G.add(this),Q.set(this,t=>this._updateScroll(t)),X.set(this,()=>h(this,G,"m",at).call(this)),this.centered=!1,this.size="small"}attach(t){super.attach(t),t instanceof HTMLIFrameElement?(t.addEventListener("load",h(this,X,"f")),h(this,G,"m",at).call(this)):t.addEventListener("scroll",h(this,Q,"f"))}detach(){this.control instanceof HTMLIFrameElement&&(this.control.removeEventListener("load",h(this,X,"f")),this.control.contentDocument?.removeEventListener("scroll",h(this,Q,"f"))),this.control&&this.control.removeEventListener("scroll",h(this,Q,"f")),super.detach()}updated(t){super.updated(t),(t.has("centered")||t.has("size"))&&(this.centered&&"small"===this.size?h(this,G,"m",st).call(this):h(this,G,"m",it).call(this))}render(){return"small"===this.size?s`<div class="base">
195
- <div class="leading-icon">
196
- <slot name="leading-icon" @slotchange="${h(this,G,"m",tt)}"></slot>
197
- </div>
198
- <div class="heading">
199
- <div class="label">
200
- <div class="title">
201
- <slot name="title" @slotchange="${h(this,G,"m",Y)}"></slot>
202
- </div>
203
- <div class="subtitle">
204
- <slot name="subtitle" @slotchange="${h(this,G,"m",Z)}"></slot>
205
- </div>
206
- </div>
207
- </div>
208
- <div class="trailing-icon">
209
- <slot name="trailing-icon" @slotchange="${h(this,G,"m",et)}"></slot>
210
- </div>
211
- </div>`:s`<div class="base">
212
- <div class="heading">
213
- <div class="leading-icon">
214
- <slot name="leading-icon" @slotchange="${h(this,G,"m",tt)}"></slot>
215
- </div>
216
- <div class="spacer"></div>
217
- <div class="trailing-icon">
218
- <slot name="trailing-icon" @slotchange="${h(this,G,"m",et)}"></slot>
219
- </div>
220
- </div>
221
- <div class="spacer"></div>
222
- <div class="label">
223
- <div class="title">
224
- <slot name="title" @slotchange="${h(this,G,"m",Y)}"></slot>
225
- </div>
226
- <div class="subtitle">
227
- <slot name="subtitle" @slotchange="${h(this,G,"m",Z)}"></slot>
228
- </div>
229
- </div>
230
- </div>`}_updateScroll(t){let e=0;this.control instanceof HTMLIFrameElement?e=h(this,G,"m",nt).call(this,this.control):t.target instanceof HTMLElement&&(e=t.target.scrollTop),this._base?.classList.toggle("-on-scroll",e>0)}};Q=new WeakMap,X=new WeakMap,G=new WeakSet,Y=function(t){this._base?.classList.toggle("-with-title",l(t.target))},Z=function(t){this._base?.classList.toggle("-with-subtitle",l(t.target))},tt=function(t){this._base?.classList.toggle("-with-leading-icon",l(t.target)),this.centered&&"small"===this.size&&setTimeout(()=>h(this,G,"m",st).call(this),40)},et=function(t){this._base?.classList.toggle("-with-trailing-icon",l(t.target)),this.centered&&"small"===this.size&&setTimeout(()=>h(this,G,"m",st).call(this),40)},it=function(){this._base?.style.removeProperty("--_leading-icon-min-width"),this._base?.style.removeProperty("--_trailing-icon-min-width")},st=function(){h(this,G,"m",it).call(this);const t=this._leadingIcon?.getBoundingClientRect().width??0,e=this._trailingIcon?.getBoundingClientRect().width??0;t<e?this._base?.style.setProperty("--_leading-icon-min-width",`${e}px`):t>e&&this._base?.style.setProperty("--_trailing-icon-min-width",`${t}px`)},at=function(){this.control instanceof HTMLIFrameElement&&(this.control.contentDocument?.addEventListener("scroll",h(this,Q,"f")),this._base?.classList.toggle("-on-scroll",h(this,G,"m",nt).call(this,this.control)>0))},nt=function(t){return Math.max(t.contentDocument?.documentElement?.scrollTop??0,t.contentDocument?.body?.scrollTop??0)},rt.styles=[V,F],d([R(".base")],rt.prototype,"_base",void 0),d([R(".leading-icon")],rt.prototype,"_leadingIcon",void 0),d([R(".trailing-icon")],rt.prototype,"_trailingIcon",void 0),d([H({type:Boolean,reflect:!0})],rt.prototype,"centered",void 0),d([H({reflect:!0})],rt.prototype,"size",void 0),d([o(40)],rt.prototype,"_updateScroll",null),rt=d([(t=>(e,i)=>{void 0!==i?i.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)})("m3e-app-bar")],rt);export{rt as M3eAppBarElement};
39
+ function R(t,e){return(e,i,s)=>((t,e,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof e&&Object.defineProperty(t,e,i),i))(e,i,{get(){return(e=>e.renderRoot?.querySelector(t)??null)(this)}})}const A={small:{containerHeight:t("var(--m3e-app-bar-small-container-height, 4rem)"),titleTextFontSize:t(`var(--m3e-app-bar-small-title-text-font-size, ${a.typescale.standard.title.large.fontSize})`),titleTextFontWeight:t(`var(--m3e-app-bar-small-title-text-font-weight, ${a.typescale.standard.title.large.fontWeight})`),titleTextLineHeight:t(`var(--m3e-app-bar-small-title-text-line-height, ${a.typescale.standard.title.large.lineHeight})`),titleTextTracking:t(`var(--m3e-app-bar-small-subtitle-text-tracking, ${a.typescale.standard.title.large.tracking})`),subtitleTextFontSize:t(`var(--m3e-app-bar-small-subtitle-text-font-size, ${a.typescale.standard.label.medium.fontSize})`),subtitleTextFontWeight:t(`var(--m3e-app-bar-small-subtitle-text-font-weight, ${a.typescale.standard.label.medium.fontWeight})`),subtitleTextLineHeight:t(`var(--m3e-app-bar-small-subtitle-text-line-height, ${a.typescale.standard.label.medium.lineHeight})`),subtitleTextTracking:t(`var(--m3e-app-bar-small-subtitle-text-tracking, ${a.typescale.standard.label.medium.tracking})`),headingPaddingLeft:t("var(--m3e-app-bar-small-heading-padding-left, 0.25rem)"),headingPaddingRight:t("var(--m3e-app-bar-small-heading-padding-right, 0.25rem)")},medium:{containerHeight:t("var(--m3e-app-bar-medium-container-height, 7rem)"),containerHeightWithSubtitle:t("var(--m3e-app-bar-medium-container-height-with-subtitle, 8.5rem)"),titleTextFontSize:t(`var(--m3e-app-bar-medium-title-text-font-size, ${a.typescale.standard.headline.medium.fontSize})`),titleTextFontWeight:t(`var(--m3e-app-bar-medium-title-text-font-weight, ${a.typescale.standard.headline.medium.fontWeight})`),titleTextLineHeight:t(`var(--m3e-app-bar-medium-title-text-line-height, ${a.typescale.standard.headline.medium.lineHeight})`),titleTextTracking:t(`var(--m3e-app-bar-medium-subtitle-text-tracking, ${a.typescale.standard.headline.medium.tracking})`),subtitleTextFontSize:t(`var(--m3e-app-bar-medium-subtitle-text-font-size, ${a.typescale.standard.title.small.fontSize})`),subtitleTextFontWeight:t(`var(--m3e-app-bar-medium-subtitle-text-font-weight, ${a.typescale.standard.title.small.fontWeight})`),subtitleTextLineHeight:t(`var(--m3e-app-bar-medium-subtitle-text-line-height, ${a.typescale.standard.title.small.lineHeight})`),subtitleTextTracking:t(`var(--m3e-app-bar-medium-subtitle-text-tracking, ${a.typescale.standard.title.small.tracking})`),headingPaddingLeft:t("var(--m3e-app-bar-medium-heading-padding-left, 1rem)"),headingPaddingRight:t("var(--m3e-app-bar-medium-heading-padding-right, 0.25rem)"),paddingTop:t("var(--m3e-app-bar-medium-padding-top, 0.5rem)"),paddingBottom:t("var(--m3e-app-bar-medium-padding-bottom, 0.75rem)"),titleMaxLines:t("var(--m3e-app-bar-medium-title-max-lines, 2)"),subtitleMaxLines:t("var(--m3e-app-bar-medium-subtitle-max-lines, 1)")},large:{containerHeight:t("var(--m3e-app-bar-large-container-height, 7.5rem)"),containerHeightWithSubtitle:t("var(--m3e-app-bar-large-container-height-with-subtitle, 9.5rem)"),titleTextFontSize:t(`var(--m3e-app-bar-large-title-text-font-size, ${a.typescale.standard.display.small.fontSize})`),titleTextFontWeight:t(`var(--m3e-app-bar-large-title-text-font-weight, ${a.typescale.standard.display.small.fontWeight})`),titleTextLineHeight:t(`var(--m3e-app-bar-large-title-text-line-height, ${a.typescale.standard.display.small.lineHeight})`),titleTextTracking:t(`var(--m3e-app-bar-large-subtitle-text-tracking, ${a.typescale.standard.display.small.tracking})`),subtitleTextFontSize:t(`var(--m3e-app-bar-large-subtitle-text-font-size, ${a.typescale.standard.title.medium.fontSize})`),subtitleTextFontWeight:t(`var(--m3e-app-bar-large-subtitle-text-font-weight, ${a.typescale.standard.title.medium.fontWeight})`),subtitleTextLineHeight:t(`var(--m3e-app-bar-large-subtitle-text-line-height, ${a.typescale.standard.title.medium.lineHeight})`),subtitleTextTracking:t(`var(--m3e-app-bar-large-subtitle-text-tracking, ${a.typescale.standard.title.medium.tracking})`),headingPaddingLeft:t("var(--m3e-app-bar-large-heading-padding-left, 1rem)"),headingPaddingRight:t("var(--m3e-app-bar-large-heading-padding-right, 0.25rem)"),paddingTop:t("var(--m3e-app-bar-large-padding-top, 0.5rem)"),paddingBottom:t("var(--m3e-app-bar-large-padding-bottom, 0.75rem)"),titleMaxLines:t("var(--m3e-app-bar-large-title-max-lines, 2)"),subtitleMaxLines:t("var(--m3e-app-bar-large-subtitle-max-lines, 1)")}};function W(i){return e`:host([size="${t(i)}"]) .base:not(.-with-subtitle) { min-height: ${A[i].containerHeight}; } :host([size="${t(i)}"]) .base.-with-subtitle { min-height: ${A[i].containerHeightWithSubtitle??A[i].containerHeight}; } :host([size="${t(i)}"]) .title { font-size: ${A[i].titleTextFontSize}; font-weight: ${A[i].titleTextFontWeight}; line-height: ${A[i].titleTextLineHeight}; letter-spacing: ${A[i].titleTextTracking}; } :host([size="${t(i)}"]) .subtitle { font-size: ${A[i].subtitleTextFontSize}; font-weight: ${A[i].subtitleTextFontWeight}; line-height: ${A[i].subtitleTextLineHeight}; letter-spacing: ${A[i].subtitleTextTracking}; } :host(:not([centered])[size="${t(i)}"]) .label { padding-inline-start: ${A[i].headingPaddingLeft}; padding-inline-end: ${A[i].headingPaddingRight}; } :host([centered][size="${t(i)}"]) .label { padding-inline: ${A[i].headingPaddingLeft}; } :host([size="${t(i)}"]) .base { padding-block-start: ${A[i].paddingTop??t("unset")}; padding-block-end: ${A[i].paddingBottom??t("unset")}; } ${A[i].titleMaxLines?e`:host([size="${t(i)}"]) .title { display: -webkit-box; -webkit-line-clamp: ${A[i].titleMaxLines}; -webkit-box-orient: vertical; overflow: hidden; line-clamp: ${A[i].titleMaxLines}; }`:e``} ${A[i].subtitleMaxLines?e`:host([size="${t(i)}"]) .subtitle { display: -webkit-box; -webkit-line-clamp: ${A[i].subtitleMaxLines}; -webkit-box-orient: vertical; overflow: hidden; line-clamp: ${A[i].subtitleMaxLines}; }`:e``}`}const F=[W("small"),W("medium"),W("large")],j=t(`var(--m3e-app-bar-container-color, ${a.color.surface})`),D=t(`var(--m3e-app-bar-container-color-on-scroll, ${a.color.surfaceContainer})`),I=t(`var(--m3e-app-bar-container-elevation, ${a.elevation.level0})`),q=t(`var(--m3e-app-bar-container-elevation-on-scroll, ${a.elevation.level1})`),B=t(`var(--m3e-app-bar-title-text-color, ${a.color.onSurface})`),N=t(`var(--m3e-app-bar-subtitle-text-color, ${a.color.onSurfaceVariant})`),J=t("var(--m3e-app-bar-padding-left, 0.25rem)"),K=t("var(--m3e-app-bar-padding-right, 0.25rem)"),V=e`:host { display: block; flex: none; } :host([size="small"]) .base, :host(:not([size="small"]):not([centered])) .heading { padding-inline-start: ${J}; padding-inline-end: ${K}; } .base { box-sizing: border-box; display: flex; transition: ${t(`background-color ${a.motion.duration.medium1} ${a.motion.easing.standard},\n box-shadow ${a.motion.duration.medium1} ${a.motion.easing.standard}`)}; } .base:not(.-on-scroll) { background-color: ${j}; box-shadow: ${I}; } .base.-on-scroll { background-color: ${D}; box-shadow: ${q}; } .leading-icon, .trailing-icon { display: flex; flex: none; align-items: center; } .leading-icon { min-width: var(--_leading-icon-min-width); } .trailing-icon { min-width: var(--_trailing-icon-min-width); } .heading { display: flex; align-items: center; } :host([size="small"]) .heading { flex: 1 1 auto; } .spacer { flex: 1 1 auto; } .label { display: flex; flex-direction: column; flex: none; } .title { color: ${B}; } .subtitle { color: ${N}; } .base:not(.-with-title) .title, .base:not(.-with-subtitle) .subtitle, .base:not(.-with-title):not(.-with-subtitle) .label, .base:not(.-with-trailing-icon) .trailing-icon { display: none; } :host([size="small"]) .base { align-items: center; } :host([size="small"]) .heading { min-width: 0; } :host([size="small"]) .label { flex: 1 1 auto; min-width: 0; } :host([size="small"]) .title, :host([size="small"]) .subtitle { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } :host(:not([size="small"])) .base { flex-direction: column; } :host([centered]) .title, :host([centered]) .subtitle { text-align: center; } @media (prefers-reduced-motion) { .base { transition: none; } } @media (forced-colors: active) { .base { transition: none; } .base:not(.-on-scroll), .base.-on-scroll { background-color: Canvas; box-shadow: unset; } .title { color: CanvasText; } .subtitle { color: FieldText; } }`;var G,Q,X,Y,Z,tt,et,it,st,at,nt;let rt=class extends(n(r(i,"banner"))){constructor(){super(...arguments),G.add(this),Q.set(this,t=>this._updateScroll(t)),X.set(this,()=>h(this,G,"m",at).call(this)),this.centered=!1,this.size="small"}attach(t){super.attach(t),t instanceof HTMLIFrameElement?(t.addEventListener("load",h(this,X,"f")),h(this,G,"m",at).call(this)):t.addEventListener("scroll",h(this,Q,"f"))}detach(){this.control instanceof HTMLIFrameElement&&(this.control.removeEventListener("load",h(this,X,"f")),this.control.contentDocument?.removeEventListener("scroll",h(this,Q,"f"))),this.control&&this.control.removeEventListener("scroll",h(this,Q,"f")),super.detach()}updated(t){super.updated(t),(t.has("centered")||t.has("size"))&&(this.centered&&"small"===this.size?h(this,G,"m",st).call(this):h(this,G,"m",it).call(this))}render(){return"small"===this.size?s`<div class="base"><div class="leading-icon"><slot name="leading-icon" @slotchange="${h(this,G,"m",tt)}"></slot></div><div class="heading"><div class="label"><div class="title"><slot name="title" @slotchange="${h(this,G,"m",Y)}"></slot></div><div class="subtitle"><slot name="subtitle" @slotchange="${h(this,G,"m",Z)}"></slot></div></div></div><div class="trailing-icon"><slot name="trailing-icon" @slotchange="${h(this,G,"m",et)}"></slot></div></div>`:s`<div class="base"><div class="heading"><div class="leading-icon"><slot name="leading-icon" @slotchange="${h(this,G,"m",tt)}"></slot></div><div class="spacer"></div><div class="trailing-icon"><slot name="trailing-icon" @slotchange="${h(this,G,"m",et)}"></slot></div></div><div class="spacer"></div><div class="label"><div class="title"><slot name="title" @slotchange="${h(this,G,"m",Y)}"></slot></div><div class="subtitle"><slot name="subtitle" @slotchange="${h(this,G,"m",Z)}"></slot></div></div></div>`}_updateScroll(t){let e=0;this.control instanceof HTMLIFrameElement?e=h(this,G,"m",nt).call(this,this.control):t.target instanceof HTMLElement&&(e=t.target.scrollTop),this._base?.classList.toggle("-on-scroll",e>0)}};Q=new WeakMap,X=new WeakMap,G=new WeakSet,Y=function(t){this._base?.classList.toggle("-with-title",l(t.target))},Z=function(t){this._base?.classList.toggle("-with-subtitle",l(t.target))},tt=function(t){this._base?.classList.toggle("-with-leading-icon",l(t.target)),this.centered&&"small"===this.size&&setTimeout(()=>h(this,G,"m",st).call(this),40)},et=function(t){this._base?.classList.toggle("-with-trailing-icon",l(t.target)),this.centered&&"small"===this.size&&setTimeout(()=>h(this,G,"m",st).call(this),40)},it=function(){this._base?.style.removeProperty("--_leading-icon-min-width"),this._base?.style.removeProperty("--_trailing-icon-min-width")},st=function(){h(this,G,"m",it).call(this);const t=this._leadingIcon?.getBoundingClientRect().width??0,e=this._trailingIcon?.getBoundingClientRect().width??0;t<e?this._base?.style.setProperty("--_leading-icon-min-width",`${e}px`):t>e&&this._base?.style.setProperty("--_trailing-icon-min-width",`${t}px`)},at=function(){this.control instanceof HTMLIFrameElement&&(this.control.contentDocument?.addEventListener("scroll",h(this,Q,"f")),this._base?.classList.toggle("-on-scroll",h(this,G,"m",nt).call(this,this.control)>0))},nt=function(t){return Math.max(t.contentDocument?.documentElement?.scrollTop??0,t.contentDocument?.body?.scrollTop??0)},rt.styles=[V,F],d([R(".base")],rt.prototype,"_base",void 0),d([R(".leading-icon")],rt.prototype,"_leadingIcon",void 0),d([R(".trailing-icon")],rt.prototype,"_trailingIcon",void 0),d([H({type:Boolean,reflect:!0})],rt.prototype,"centered",void 0),d([H({reflect:!0})],rt.prototype,"size",void 0),d([o(40)],rt.prototype,"_updateScroll",null),rt=d([(t=>(e,i)=>{void 0!==i?i.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)})("m3e-app-bar")],rt);export{rt as M3eAppBarElement};
231
40
  //# sourceMappingURL=index.min.js.map