@universal-material/web 3.0.92 → 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.
Files changed (43) hide show
  1. package/app-bar/top-app-bar.d.ts +8 -3
  2. package/app-bar/top-app-bar.d.ts.map +1 -1
  3. package/app-bar/top-app-bar.js +65 -27
  4. package/app-bar/top-app-bar.js.map +1 -1
  5. package/app-bar/top-app-bar.styles.d.ts.map +1 -1
  6. package/app-bar/top-app-bar.styles.js +35 -5
  7. package/app-bar/top-app-bar.styles.js.map +1 -1
  8. package/custom-elements.json +3354 -1472
  9. package/field/field-base.d.ts +2 -0
  10. package/field/field-base.d.ts.map +1 -1
  11. package/field/field-base.js +13 -3
  12. package/field/field-base.js.map +1 -1
  13. package/field/field-base.styles.d.ts.map +1 -1
  14. package/field/field-base.styles.js +14 -6
  15. package/field/field-base.styles.js.map +1 -1
  16. package/index.d.ts +2 -0
  17. package/index.d.ts.map +1 -1
  18. package/index.js +2 -0
  19. package/index.js.map +1 -1
  20. package/package.json +1 -1
  21. package/shared/char-count-text-field/native-text-field-wrapper.d.ts +14 -0
  22. package/shared/char-count-text-field/native-text-field-wrapper.d.ts.map +1 -0
  23. package/shared/char-count-text-field/native-text-field-wrapper.js +54 -0
  24. package/shared/char-count-text-field/native-text-field-wrapper.js.map +1 -0
  25. package/shared/text-field-base/text-field-base.d.ts +1 -1
  26. package/shared/text-field-base/text-field-base.d.ts.map +1 -1
  27. package/shared/text-field-base/text-field-base.js +1 -0
  28. package/shared/text-field-base/text-field-base.js.map +1 -1
  29. package/text-area/text-area.d.ts +15 -0
  30. package/text-area/text-area.d.ts.map +1 -0
  31. package/text-area/text-area.js +51 -0
  32. package/text-area/text-area.js.map +1 -0
  33. package/text-area/text-area.styles.d.ts +2 -0
  34. package/text-area/text-area.styles.d.ts.map +1 -0
  35. package/text-area/text-area.styles.js +39 -0
  36. package/text-area/text-area.styles.js.map +1 -0
  37. package/text-field/text-field.d.ts +2 -7
  38. package/text-field/text-field.d.ts.map +1 -1
  39. package/text-field/text-field.js +9 -31
  40. package/text-field/text-field.js.map +1 -1
  41. package/text-field/text-field.styles.d.ts.map +1 -1
  42. package/text-field/text-field.styles.js +14 -0
  43. package/text-field/text-field.styles.js.map +1 -1
@@ -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
- content: HTMLElement;
24
- private contentSizeObserver;
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,EAAE,MAAM,KAAK,CAAC;AAK3D,qBACa,WAAY,SAAQ,UAAU;IAEzC,OAAgB,MAAM,0BAAU;IAEhC;;;;OAIG;IACsE,cAAc,UAAS;IAEhG;;;;OAIG;IACuE,eAAe,UAAS;IAEvE,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAW;IAE/E,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;IAE9B,OAAO,EAAG,WAAW,CAAA;IAE9C,OAAO,CAAC,mBAAmB,CAA+B;IAE1D,OAAO,CAAC,sBAAsB,CAGd;IAEhB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,4BAA4B;IAI3B,MAAM,IAAI,kBAAkB;IAqB5B,YAAY,CAAC,iBAAiB,EAAE,cAAc;IAO9C,iBAAiB;IAMjB,oBAAoB;IAO7B,iBAAiB,MAAO,KAAK,UAM5B;IAED,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"}
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"}
@@ -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.contentSizeObserver = null;
31
+ this.containerSizeObserver = null;
29
32
  this.scrollContainerElement = null;
30
- this.onContainerScroll = (e) => {
31
- const container = e.currentTarget;
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 = !!scrollTop;
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.onContainerScroll);
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.onContainerScroll);
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="content">
67
- <div class="icon leading-icon">
68
- <slot
69
- name="leading-icon"
70
- @slotchange="${this.handleLeadingIconSlotChange}"></slot>
71
- </div>
72
- <div class="headline">
73
- <slot></slot>
74
- </div>
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
- <div class="icon trailing-icon">
77
- <slot
78
- name="trailing-icon"
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.contentSizeObserver = new ResizeObserver(() => this.setContentHeightProperty());
87
- this.contentSizeObserver.observe(this.content);
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.contentSizeObserver.disconnect();
97
- this.contentSizeObserver = null;
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.content.clientHeight}px`);
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('.content', true)
135
- ], UmTopAppBar.prototype, "content", void 0);
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,yBAoFlB,CAAC"}
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-elevated-bg-color, var(--u-color-surface-container, rgb(243, 237, 247)));
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]) .content {
33
+ :host([position=absolute]) .container {
34
34
  position: absolute;
35
35
  }
36
36
 
37
- :host([position=fixed]) .content {
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]) .content,
49
- :host([position=fixed]) .content {
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFzB,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-elevated-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]) .content {\n position: absolute;\n }\n\n :host([position=fixed]) .content {\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]) .content,\n :host([position=fixed]) .content {\n z-index: var(--u-fixed-app-bar-z-index, 1010);\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"]}
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"]}