@universal-material/web 3.0.93 → 3.0.94
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/app-bar/top-app-bar.d.ts +8 -3
- package/app-bar/top-app-bar.d.ts.map +1 -1
- package/app-bar/top-app-bar.js +65 -27
- package/app-bar/top-app-bar.js.map +1 -1
- package/app-bar/top-app-bar.styles.d.ts.map +1 -1
- package/app-bar/top-app-bar.styles.js +35 -5
- package/app-bar/top-app-bar.styles.js.map +1 -1
- package/custom-elements.json +2974 -2921
- package/package.json +1 -1
package/app-bar/top-app-bar.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PropertyValues } from '@lit/reactive-element';
|
|
2
2
|
import { HTMLTemplateResult, LitElement } from 'lit';
|
|
3
3
|
export declare class UmTopAppBar extends LitElement {
|
|
4
|
+
#private;
|
|
4
5
|
static styles: import("lit").CSSResult;
|
|
5
6
|
/**
|
|
6
7
|
* Whether the app bar has leading icon or not
|
|
@@ -15,22 +16,26 @@ export declare class UmTopAppBar extends LitElement {
|
|
|
15
16
|
*/
|
|
16
17
|
hasTrailingIcon: boolean;
|
|
17
18
|
position: 'fixed' | 'absolute' | 'static';
|
|
19
|
+
size: 'small' | 'medium' | 'large';
|
|
20
|
+
headline: string;
|
|
18
21
|
get scrollContainer(): 'none' | 'window' | string | undefined;
|
|
19
22
|
set scrollContainer(idOrElement: string | HTMLElement | undefined);
|
|
20
23
|
containerScrolled: boolean;
|
|
21
24
|
private readonly assignedLeadingIcons;
|
|
22
25
|
private readonly assignedTrailingIcons;
|
|
23
|
-
|
|
24
|
-
private
|
|
26
|
+
private _container;
|
|
27
|
+
private _extendedContent;
|
|
28
|
+
private _headlineElement;
|
|
29
|
+
private containerSizeObserver;
|
|
25
30
|
private scrollContainerElement;
|
|
26
31
|
private getScrollContainer;
|
|
27
32
|
private handleLeadingIconSlotChange;
|
|
28
33
|
private handleTrailingIconSlotChange;
|
|
29
34
|
render(): HTMLTemplateResult;
|
|
35
|
+
protected updated(_changedProperties: PropertyValues): void;
|
|
30
36
|
firstUpdated(changedProperties: PropertyValues): void;
|
|
31
37
|
connectedCallback(): void;
|
|
32
38
|
disconnectedCallback(): void;
|
|
33
|
-
onContainerScroll: (e: Event) => void;
|
|
34
39
|
private static getScrollTop;
|
|
35
40
|
private setContentHeightProperty;
|
|
36
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top-app-bar.d.ts","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAQ,kBAAkB,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"top-app-bar.d.ts","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAQ,kBAAkB,EAAE,UAAU,EAAW,MAAM,KAAK,CAAC;AAKpE,qBACa,WAAY,SAAQ,UAAU;;IACzC,OAAgB,MAAM,0BAAU;IAEhC;;;;OAIG;IAEH,cAAc,UAAS;IAEvB;;;;OAIG;IAEH,eAAe,UAAS;IAGxB,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAW;IAGpD,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAW;IAEjC,QAAQ,EAAE,MAAM,CAAM;IAElC,IACI,eAAe,IAAI,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAE5D;IACD,IAAI,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,EAShE;IAGD,iBAAiB,EAAE,OAAO,CAAS;IAGnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;IAGtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAE5B,OAAO,CAAC,UAAU,CAAe;IAChC,OAAO,CAAC,gBAAgB,CAAe;IAC/C,OAAO,CAAC,gBAAgB,CAAe;IAE3D,OAAO,CAAC,qBAAqB,CAA+B;IAE5D,OAAO,CAAC,sBAAsB,CAGd;IAEhB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,4BAA4B;IAI3B,MAAM,IAAI,kBAAkB;cA6BlB,OAAO,CAAC,kBAAkB,EAAE,cAAc;IAKpD,YAAY,CAAC,iBAAiB,EAAE,cAAc;IAO9C,iBAAiB;IAMjB,oBAAoB;IAgC7B,OAAO,CAAC,MAAM,CAAC,YAAY;IAY3B,OAAO,CAAC,wBAAwB;CAGjC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
|
package/app-bar/top-app-bar.js
CHANGED
|
@@ -4,8 +4,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
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;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var _a;
|
|
7
8
|
var UmTopAppBar_1;
|
|
8
|
-
import { html, LitElement } from 'lit';
|
|
9
|
+
import { html, LitElement, nothing } from 'lit';
|
|
9
10
|
import { customElement, property, query, queryAssignedElements } from 'lit/decorators.js';
|
|
10
11
|
import { styles } from './top-app-bar.styles.js';
|
|
11
12
|
let UmTopAppBar = class UmTopAppBar extends LitElement {
|
|
@@ -24,13 +25,26 @@ let UmTopAppBar = class UmTopAppBar extends LitElement {
|
|
|
24
25
|
*/
|
|
25
26
|
this.hasTrailingIcon = false;
|
|
26
27
|
this.position = 'fixed';
|
|
28
|
+
this.size = 'small';
|
|
29
|
+
this.headline = '';
|
|
27
30
|
this.containerScrolled = false;
|
|
28
|
-
this.
|
|
31
|
+
this.containerSizeObserver = null;
|
|
29
32
|
this.scrollContainerElement = null;
|
|
30
|
-
this
|
|
31
|
-
const container =
|
|
33
|
+
this.#updateScroll = () => {
|
|
34
|
+
const container = this.scrollContainerElement ?? window;
|
|
35
|
+
const extendedContentHeight = Math.max(this._extendedContent?.offsetHeight ?? 0, 0);
|
|
32
36
|
const scrollTop = UmTopAppBar_1.getScrollTop(container);
|
|
33
|
-
this.containerScrolled =
|
|
37
|
+
this.containerScrolled = scrollTop > extendedContentHeight;
|
|
38
|
+
this._headlineElement.style.opacity = scrollTop >= extendedContentHeight ? '1' : '0';
|
|
39
|
+
if (extendedContentHeight === 0) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const scrollOffset = this._extendedContent.offsetHeight * 0.7;
|
|
43
|
+
if (scrollTop > scrollOffset) {
|
|
44
|
+
this._extendedContent.style.opacity = '0';
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
this._extendedContent.style.opacity = 1 - scrollTop / scrollOffset + '';
|
|
34
48
|
};
|
|
35
49
|
}
|
|
36
50
|
static { UmTopAppBar_1 = this; }
|
|
@@ -39,12 +53,12 @@ let UmTopAppBar = class UmTopAppBar extends LitElement {
|
|
|
39
53
|
return this.attributes.getNamedItem('scrollContainer')?.value;
|
|
40
54
|
}
|
|
41
55
|
set scrollContainer(idOrElement) {
|
|
42
|
-
this.scrollContainerElement?.removeEventListener('scroll', this
|
|
56
|
+
this.scrollContainerElement?.removeEventListener('scroll', this.#updateScroll);
|
|
43
57
|
if (idOrElement === 'none') {
|
|
44
58
|
return;
|
|
45
59
|
}
|
|
46
60
|
this.scrollContainerElement = this.getScrollContainer(idOrElement);
|
|
47
|
-
this.scrollContainerElement?.addEventListener('scroll', this
|
|
61
|
+
this.scrollContainerElement?.addEventListener('scroll', this.#updateScroll);
|
|
48
62
|
}
|
|
49
63
|
getScrollContainer(idOrElement) {
|
|
50
64
|
if (idOrElement instanceof HTMLElement) {
|
|
@@ -62,29 +76,40 @@ let UmTopAppBar = class UmTopAppBar extends LitElement {
|
|
|
62
76
|
this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;
|
|
63
77
|
}
|
|
64
78
|
render() {
|
|
79
|
+
const extendedContent = html `
|
|
80
|
+
<div class="extended-content">
|
|
81
|
+
<slot name="extended-content">${this.headline}</slot>
|
|
82
|
+
</div>
|
|
83
|
+
`;
|
|
65
84
|
return html `
|
|
66
|
-
<div class="
|
|
67
|
-
<div class="
|
|
68
|
-
<
|
|
69
|
-
name="leading-icon"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
85
|
+
<div class="container">
|
|
86
|
+
<div class="content">
|
|
87
|
+
<div class="icon leading-icon">
|
|
88
|
+
<slot name="leading-icon" @slotchange="${this.handleLeadingIconSlotChange}"></slot>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="headline">
|
|
91
|
+
<slot>
|
|
92
|
+
<span>${this.headline}</span>
|
|
93
|
+
</slot>
|
|
94
|
+
</div>
|
|
75
95
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
@slotchange="${this.handleTrailingIconSlotChange}"></slot>
|
|
96
|
+
<div class="icon trailing-icon">
|
|
97
|
+
<slot name="trailing-icon" @slotchange="${this.handleTrailingIconSlotChange}"></slot>
|
|
98
|
+
</div>
|
|
80
99
|
</div>
|
|
100
|
+
<slot name="additional-content"></slot>
|
|
81
101
|
</div>
|
|
102
|
+
${this.size !== 'small' ? extendedContent : nothing}
|
|
82
103
|
`;
|
|
83
104
|
}
|
|
105
|
+
updated(_changedProperties) {
|
|
106
|
+
super.updated(_changedProperties);
|
|
107
|
+
this.#updateScroll();
|
|
108
|
+
}
|
|
84
109
|
firstUpdated(changedProperties) {
|
|
85
110
|
super.firstUpdated(changedProperties);
|
|
86
|
-
this.
|
|
87
|
-
this.
|
|
111
|
+
this.containerSizeObserver = new ResizeObserver(() => this.setContentHeightProperty());
|
|
112
|
+
this.containerSizeObserver.observe(this._container);
|
|
88
113
|
this.setContentHeightProperty();
|
|
89
114
|
}
|
|
90
115
|
connectedCallback() {
|
|
@@ -93,9 +118,10 @@ let UmTopAppBar = class UmTopAppBar extends LitElement {
|
|
|
93
118
|
}
|
|
94
119
|
disconnectedCallback() {
|
|
95
120
|
super.disconnectedCallback();
|
|
96
|
-
this.
|
|
97
|
-
this.
|
|
121
|
+
this.containerSizeObserver.disconnect();
|
|
122
|
+
this.containerSizeObserver = null;
|
|
98
123
|
}
|
|
124
|
+
#updateScroll;
|
|
99
125
|
static getScrollTop(container) {
|
|
100
126
|
if (typeof container.scrollY === 'number') {
|
|
101
127
|
return container.scrollY;
|
|
@@ -106,7 +132,7 @@ let UmTopAppBar = class UmTopAppBar extends LitElement {
|
|
|
106
132
|
return document.body.scrollTop;
|
|
107
133
|
}
|
|
108
134
|
setContentHeightProperty() {
|
|
109
|
-
this.style.setProperty('--_content-height', `${this.
|
|
135
|
+
this.style.setProperty('--_content-height', `${this._container.clientHeight}px`);
|
|
110
136
|
}
|
|
111
137
|
};
|
|
112
138
|
__decorate([
|
|
@@ -118,6 +144,12 @@ __decorate([
|
|
|
118
144
|
__decorate([
|
|
119
145
|
property({ reflect: true })
|
|
120
146
|
], UmTopAppBar.prototype, "position", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
property({ reflect: true })
|
|
149
|
+
], UmTopAppBar.prototype, "size", void 0);
|
|
150
|
+
__decorate([
|
|
151
|
+
property()
|
|
152
|
+
], UmTopAppBar.prototype, "headline", void 0);
|
|
121
153
|
__decorate([
|
|
122
154
|
property({ reflect: true })
|
|
123
155
|
], UmTopAppBar.prototype, "scrollContainer", null);
|
|
@@ -131,8 +163,14 @@ __decorate([
|
|
|
131
163
|
queryAssignedElements({ slot: 'trailing-icon', flatten: true })
|
|
132
164
|
], UmTopAppBar.prototype, "assignedTrailingIcons", void 0);
|
|
133
165
|
__decorate([
|
|
134
|
-
query('.
|
|
135
|
-
], UmTopAppBar.prototype, "
|
|
166
|
+
query('.container', true)
|
|
167
|
+
], UmTopAppBar.prototype, "_container", void 0);
|
|
168
|
+
__decorate([
|
|
169
|
+
query('.extended-content')
|
|
170
|
+
], UmTopAppBar.prototype, "_extendedContent", void 0);
|
|
171
|
+
__decorate([
|
|
172
|
+
query('.headline')
|
|
173
|
+
], UmTopAppBar.prototype, "_headlineElement", void 0);
|
|
136
174
|
UmTopAppBar = UmTopAppBar_1 = __decorate([
|
|
137
175
|
customElement('u-top-app-bar')
|
|
138
176
|
], UmTopAppBar);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top-app-bar.js","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.ts"],"names":[],"mappings":"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","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\nimport { html, HTMLTemplateResult, LitElement } from 'lit';\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { styles } from './top-app-bar.styles.js';\n\n@customElement('u-top-app-bar')\nexport class UmTopAppBar extends LitElement {\n\n static override styles = styles;\n\n /**\n * Whether the app bar has leading icon or not\n *\n * _Note:_ Readonly\n */\n @property({type: Boolean, attribute: 'has-leading-icon', reflect: true}) hasLeadingIcon = false;\n\n /**\n * Whether the app bar has trailing icon or not\n *\n * _Note:_ Readonly\n */\n @property({type: Boolean, attribute: 'has-trailing-icon', reflect: true}) hasTrailingIcon = false;\n\n @property({reflect: true}) position: 'fixed' | 'absolute' | 'static' = 'fixed';\n\n @property({reflect: true})\n get scrollContainer(): 'none' | 'window' | string | undefined {\n return this.attributes.getNamedItem('scrollContainer')?.value;\n }\n set scrollContainer(idOrElement: string | HTMLElement | undefined) {\n this.scrollContainerElement?.removeEventListener('scroll', this.onContainerScroll);\n\n if (idOrElement === 'none') {\n return;\n }\n\n this.scrollContainerElement = this.getScrollContainer(idOrElement)!;\n this.scrollContainerElement?.addEventListener('scroll', this.onContainerScroll);\n }\n\n @property({type: Boolean, attribute: 'container-scrolled', reflect: true})\n containerScrolled: boolean = false;\n\n @queryAssignedElements({slot: 'leading-icon', flatten: true})\n private readonly assignedLeadingIcons!: HTMLElement[];\n\n @queryAssignedElements({slot: 'trailing-icon', flatten: true})\n private readonly assignedTrailingIcons!: HTMLElement[];\n\n @query('.content', true) content!: HTMLElement\n\n private contentSizeObserver: ResizeObserver | null = null;\n\n private scrollContainerElement: {\n addEventListener: typeof window.addEventListener;\n removeEventListener: typeof window.removeEventListener;\n } | null = null;\n\n private getScrollContainer(idOrElement: string | HTMLElement | undefined): {\n addEventListener: typeof window.addEventListener;\n removeEventListener: typeof window.removeEventListener;\n } | undefined {\n if (idOrElement instanceof HTMLElement) {\n return idOrElement;\n }\n\n if (idOrElement === 'window') {\n return window;\n }\n\n return document.getElementById(idOrElement!)!;\n }\n\n private handleLeadingIconSlotChange() {\n this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;\n }\n\n private handleTrailingIconSlotChange() {\n this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;\n }\n\n override render(): HTMLTemplateResult {\n return html`\n <div class=\"content\">\n <div class=\"icon leading-icon\">\n <slot\n name=\"leading-icon\"\n @slotchange=\"${this.handleLeadingIconSlotChange}\"></slot>\n </div>\n <div class=\"headline\">\n <slot></slot>\n </div>\n\n <div class=\"icon trailing-icon\">\n <slot\n name=\"trailing-icon\"\n @slotchange=\"${this.handleTrailingIconSlotChange}\"></slot>\n </div>\n </div>\n `;\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.contentSizeObserver = new ResizeObserver(() => this.setContentHeightProperty())\n this.contentSizeObserver.observe(this.content);\n this.setContentHeightProperty();\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.scrollContainer = this.scrollContainer || 'window';\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n\n this.contentSizeObserver!.disconnect();\n this.contentSizeObserver = null;\n }\n\n onContainerScroll = (e: Event) => {\n const container = e.currentTarget as HTMLElement & Window;\n\n const scrollTop = UmTopAppBar.getScrollTop(container);\n\n this.containerScrolled = !!scrollTop;\n }\n\n private static getScrollTop(container: HTMLElement & Window): number | null {\n if (typeof container.scrollY === 'number') {\n return container.scrollY;\n }\n\n if (typeof container.scrollTop === 'number') {\n return container.scrollTop;\n }\n\n return document.body.scrollTop;\n }\n\n private setContentHeightProperty() {\n this.style.setProperty('--_content-height', `${this.content.clientHeight}px`);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-top-app-bar': UmTopAppBar;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"top-app-bar.js","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.ts"],"names":[],"mappings":"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","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\nimport { html, HTMLTemplateResult, LitElement, nothing } from 'lit';\nimport { customElement, property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { styles } from './top-app-bar.styles.js';\n\n@customElement('u-top-app-bar')\nexport class UmTopAppBar extends LitElement {\n static override styles = styles;\n\n /**\n * Whether the app bar has leading icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-leading-icon', reflect: true })\n hasLeadingIcon = false;\n\n /**\n * Whether the app bar has trailing icon or not\n *\n * _Note:_ Readonly\n */\n @property({ type: Boolean, attribute: 'has-trailing-icon', reflect: true })\n hasTrailingIcon = false;\n\n @property({ reflect: true })\n position: 'fixed' | 'absolute' | 'static' = 'fixed';\n\n @property({ reflect: true })\n size: 'small' | 'medium' | 'large' = 'small';\n\n @property() headline: string = '';\n\n @property({ reflect: true })\n get scrollContainer(): 'none' | 'window' | string | undefined {\n return this.attributes.getNamedItem('scrollContainer')?.value;\n }\n set scrollContainer(idOrElement: string | HTMLElement | undefined) {\n this.scrollContainerElement?.removeEventListener('scroll', this.#updateScroll);\n\n if (idOrElement === 'none') {\n return;\n }\n\n this.scrollContainerElement = this.getScrollContainer(idOrElement)!;\n this.scrollContainerElement?.addEventListener('scroll', this.#updateScroll);\n }\n\n @property({ type: Boolean, attribute: 'container-scrolled', reflect: true })\n containerScrolled: boolean = false;\n\n @queryAssignedElements({ slot: 'leading-icon', flatten: true })\n private readonly assignedLeadingIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'trailing-icon', flatten: true })\n private readonly assignedTrailingIcons!: HTMLElement[];\n\n @query('.container', true) private _container!: HTMLElement;\n @query('.extended-content') private _extendedContent!: HTMLElement;\n @query('.headline') private _headlineElement!: HTMLElement;\n\n private containerSizeObserver: ResizeObserver | null = null;\n\n private scrollContainerElement: {\n addEventListener: typeof window.addEventListener;\n removeEventListener: typeof window.removeEventListener;\n } | null = null;\n\n private getScrollContainer(idOrElement: string | HTMLElement | undefined):\n | {\n addEventListener: typeof window.addEventListener;\n removeEventListener: typeof window.removeEventListener;\n }\n | undefined {\n if (idOrElement instanceof HTMLElement) {\n return idOrElement;\n }\n\n if (idOrElement === 'window') {\n return window;\n }\n\n return document.getElementById(idOrElement!)!;\n }\n\n private handleLeadingIconSlotChange() {\n this.hasLeadingIcon = this.assignedLeadingIcons.length > 0;\n }\n\n private handleTrailingIconSlotChange() {\n this.hasTrailingIcon = this.assignedTrailingIcons.length > 0;\n }\n\n override render(): HTMLTemplateResult {\n const extendedContent = html`\n <div class=\"extended-content\">\n <slot name=\"extended-content\">${this.headline}</slot>\n </div>\n `;\n\n return html`\n <div class=\"container\">\n <div class=\"content\">\n <div class=\"icon leading-icon\">\n <slot name=\"leading-icon\" @slotchange=\"${this.handleLeadingIconSlotChange}\"></slot>\n </div>\n <div class=\"headline\">\n <slot>\n <span>${this.headline}</span>\n </slot>\n </div>\n\n <div class=\"icon trailing-icon\">\n <slot name=\"trailing-icon\" @slotchange=\"${this.handleTrailingIconSlotChange}\"></slot>\n </div>\n </div>\n <slot name=\"additional-content\"></slot>\n </div>\n ${this.size !== 'small' ? extendedContent : nothing}\n `;\n }\n\n protected override updated(_changedProperties: PropertyValues) {\n super.updated(_changedProperties);\n this.#updateScroll();\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.containerSizeObserver = new ResizeObserver(() => this.setContentHeightProperty());\n this.containerSizeObserver.observe(this._container);\n this.setContentHeightProperty();\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n this.scrollContainer = this.scrollContainer || 'window';\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n\n this.containerSizeObserver!.disconnect();\n this.containerSizeObserver = null;\n }\n\n #updateScroll = () => {\n const container = this.scrollContainerElement ?? window;\n\n const extendedContentHeight = Math.max(this._extendedContent?.offsetHeight ?? 0, 0);\n\n const scrollTop = UmTopAppBar.getScrollTop(container as any);\n\n this.containerScrolled = scrollTop > extendedContentHeight;\n\n this._headlineElement.style.opacity = scrollTop >= extendedContentHeight ? '1' : '0';\n\n if (extendedContentHeight === 0) {\n return;\n }\n\n const scrollOffset = this._extendedContent.offsetHeight * 0.7;\n\n if (scrollTop > scrollOffset) {\n this._extendedContent.style.opacity = '0';\n return;\n }\n\n this._extendedContent.style.opacity = 1 - scrollTop / scrollOffset + '';\n };\n\n private static getScrollTop(container: HTMLElement & Window): number {\n if (typeof container.scrollY === 'number') {\n return container.scrollY;\n }\n\n if (typeof container.scrollTop === 'number') {\n return container.scrollTop;\n }\n\n return document.body.scrollTop;\n }\n\n private setContentHeightProperty() {\n this.style.setProperty('--_content-height', `${this._container.clientHeight}px`);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-top-app-bar': UmTopAppBar;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top-app-bar.styles.d.ts","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"top-app-bar.styles.d.ts","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAkHlB,CAAC"}
|
|
@@ -8,7 +8,7 @@ export const styles = css `
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
:host([container-scrolled]) {
|
|
11
|
-
background-color: var(--u-top-app-bar-
|
|
11
|
+
background-color: var(--u-top-app-bar-constrast-bg-color, var(--u-color-surface-container, rgb(243, 237, 247)));
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
:host(:not([has-leading-icon])) .leading-icon {
|
|
@@ -30,11 +30,11 @@ export const styles = css `
|
|
|
30
30
|
color: inherit;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
:host([position=absolute]) .
|
|
33
|
+
:host([position=absolute]) .container {
|
|
34
34
|
position: absolute;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
:host([position=fixed]) .
|
|
37
|
+
:host([position=fixed]) .container {
|
|
38
38
|
position: fixed;
|
|
39
39
|
inset-inline: 0;
|
|
40
40
|
inset-block-start: 0;
|
|
@@ -45,11 +45,41 @@ export const styles = css `
|
|
|
45
45
|
:host([position=fixed]) {
|
|
46
46
|
padding-top: var(--_content-height);
|
|
47
47
|
}
|
|
48
|
-
:host([position=absolute]) .
|
|
49
|
-
:host([position=fixed]) .
|
|
48
|
+
:host([position=absolute]) .container,
|
|
49
|
+
:host([position=fixed]) .container {
|
|
50
50
|
z-index: var(--u-fixed-app-bar-z-index, 1010);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
.extended-content {
|
|
54
|
+
display: flex;
|
|
55
|
+
align-items: flex-end;
|
|
56
|
+
padding-inline: var(--u-extended-content-inline-padding, 16px);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
:host([size=medium]) .extended-content {
|
|
60
|
+
font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"));
|
|
61
|
+
line-height: var(--u-extended-content-medium-line-height, var(--u-headline-s-line-height, 2rem));
|
|
62
|
+
font-size: var(--u-extended-content-medium-font-size, var(--u-headline-s-font-size, 1.5rem));
|
|
63
|
+
letter-spacing: var(--u-extended-content-medium-letter-spacing, var(--u-headline-s-letter-spacing, 0rem));
|
|
64
|
+
font-weight: var(--u-extended-content-medium-font-weight, var(--u-headline-s-font-weight, var(--u-font-weight-regular, 400)));
|
|
65
|
+
height: var(--u-extended-content-medium-height, 3.5rem);
|
|
66
|
+
padding-bottom: var(--u-extended-content-medium-padding-bottom, 24px);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
:host([size=large]) .extended-content {
|
|
70
|
+
font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"));
|
|
71
|
+
line-height: var(--u-extended-content-large-line-height, var(--u-headline-m-line-height, 2.25rem));
|
|
72
|
+
font-size: var(--u-extended-content-large-font-size, var(--u-headline-m-font-size, 1.75rem));
|
|
73
|
+
letter-spacing: var(--u-extended-content-large-letter-spacing, var(--u-headline-m-letter-spacing, 0rem));
|
|
74
|
+
font-weight: var(--u-extended-content-large-font-weight, var(--u-headline-m-font-weight, var(--u-font-weight-regular, 400)));
|
|
75
|
+
height: var(--u-extended-content-medium-large, 6rem);
|
|
76
|
+
padding-bottom: var(--u-extended-content-large-padding-bottom, 28px);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.container {
|
|
80
|
+
background: inherit;
|
|
81
|
+
}
|
|
82
|
+
|
|
53
83
|
.content {
|
|
54
84
|
display: flex;
|
|
55
85
|
align-items: center;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top-app-bar.styles.js","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"top-app-bar.styles.js","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n background-color: var(--u-top-app-bar-bg-color, var(--u-color-body, var(--u-color-surface, rgb(254, 247, 255))));\n color: var(--u-top-app-bar-text-color, var(--u-color-on-surface, rgb(29, 27, 32)));\n transition: background-color 100ms, inset 375ms cubic-bezier(0.19, 1, 0.22, 1);\n }\n\n :host([container-scrolled]) {\n background-color: var(--u-top-app-bar-constrast-bg-color, var(--u-color-surface-container, rgb(243, 237, 247)));\n }\n\n :host(:not([has-leading-icon])) .leading-icon {\n display: none;\n }\n\n :host(:not([has-trailing-icon])) .trailing-icon {\n display: none;\n }\n\n slot[name=leading-icon],\n slot[name=trailing-icon] {\n display: inline-flex;\n align-items: center;\n gap: var(--u-top-app-bar-icons-gap, 8px);\n }\n\n slot[name=leading-icon]::slotted(u-icon-button) {\n color: inherit;\n }\n\n :host([position=absolute]) .container {\n position: absolute;\n }\n\n :host([position=fixed]) .container {\n position: fixed;\n inset-inline: 0;\n inset-block-start: 0;\n inset-inline-start: var(--u-app-bar-offset, 0);\n }\n\n :host([position=absolute]),\n :host([position=fixed]) {\n padding-top: var(--_content-height);\n }\n :host([position=absolute]) .container,\n :host([position=fixed]) .container {\n z-index: var(--u-fixed-app-bar-z-index, 1010);\n }\n\n .extended-content {\n display: flex;\n align-items: flex-end;\n padding-inline: var(--u-extended-content-inline-padding, 16px);\n }\n\n :host([size=medium]) .extended-content {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-extended-content-medium-line-height, var(--u-headline-s-line-height, 2rem));\n font-size: var(--u-extended-content-medium-font-size, var(--u-headline-s-font-size, 1.5rem));\n letter-spacing: var(--u-extended-content-medium-letter-spacing, var(--u-headline-s-letter-spacing, 0rem));\n font-weight: var(--u-extended-content-medium-font-weight, var(--u-headline-s-font-weight, var(--u-font-weight-regular, 400)));\n height: var(--u-extended-content-medium-height, 3.5rem);\n padding-bottom: var(--u-extended-content-medium-padding-bottom, 24px);\n }\n\n :host([size=large]) .extended-content {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-extended-content-large-line-height, var(--u-headline-m-line-height, 2.25rem));\n font-size: var(--u-extended-content-large-font-size, var(--u-headline-m-font-size, 1.75rem));\n letter-spacing: var(--u-extended-content-large-letter-spacing, var(--u-headline-m-letter-spacing, 0rem));\n font-weight: var(--u-extended-content-large-font-weight, var(--u-headline-m-font-weight, var(--u-font-weight-regular, 400)));\n height: var(--u-extended-content-medium-large, 6rem);\n padding-bottom: var(--u-extended-content-large-padding-bottom, 28px);\n }\n\n .container {\n background: inherit;\n }\n\n .content {\n display: flex;\n align-items: center;\n background-color: inherit;\n transition: inherit;\n min-height: var(--u-top-app-bar-min-height, 56px);\n }\n @media (min-width: 840px) {\n .content {\n min-height: var(--u-top-app-bar-extended-min-height, 64px);\n }\n }\n\n .headline {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-top-app-bar-headline-line-height, var(--u-title-l-line-height, 1.75rem));\n font-size: var(--u-top-app-bar-headline-font-size, var(--u-title-l-font-size, 1.375rem));\n letter-spacing: var(--u-top-app-bar-headline-letter-spacing, var(--u-title-l-letter-spacing, 0rem));\n font-weight: var(--u-top-app-bar-headline-font-weight, var(--u-title-l-font-weight, var(--u-font-weight-regular, 400)));\n margin-inline: var(--u-headline-margin, 16px);\n }\n\n .leading-icon {\n margin-inline: var(--u-leading-icon-margin, 8px);\n }\n .leading-icon + .headline {\n margin-inline-start: 0;\n }\n\n .trailing-icon {\n padding-inline: var(--u-trailing-icon-margin, 8px);\n margin-inline-start: auto;\n }\n`;\n"]}
|