@swiftwc/ui 0.0.0-dev.95 → 0.0.0-dev.97
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/generated/client/index.js +7 -7
- package/generated/components/alert-dialog.d.ts +1 -1
- package/generated/components/alert-dialog.js +1 -1
- package/generated/components/content-unavailable.js +11 -11
- package/generated/components/date-picker.js +15 -15
- package/generated/components/fine-tooltip.d.ts +3 -0
- package/generated/components/fine-tooltip.js +5 -1
- package/generated/components/image-view.js +3 -2
- package/generated/components/label-view.d.ts +4 -0
- package/generated/components/label-view.js +11 -7
- package/generated/components/labeled-content.d.ts +5 -0
- package/generated/components/labeled-content.js +18 -12
- package/generated/components/menu-view.js +12 -12
- package/generated/components/navigation-title.js +2 -1
- package/generated/components/picker-view.d.ts +1 -1
- package/generated/components/picker-view.js +51 -50
- package/generated/components/progress-view.js +20 -19
- package/generated/components/scroll-view.js +14 -14
- package/generated/components/section-view.js +11 -11
- package/generated/components/table-view.js +34 -34
- package/generated/components/text-field.d.ts +2 -0
- package/generated/components/text-field.js +13 -11
- package/generated/components/toggle-view.js +30 -13
- package/generated/components/tool-bar.js +27 -27
- package/generated/css/index.css +67 -15
- package/generated/events/alert-dialog.d.ts +3 -0
- package/generated/events/confirmation-dialog.d.ts +3 -0
- package/generated/events/date-picker.d.ts +3 -0
- package/generated/events/lifecycle-observer.d.ts +4 -0
- package/generated/events/picker-view.d.ts +6 -0
- package/generated/events/scroll-view.d.ts +4 -0
- package/generated/events/tab-view.d.ts +10 -0
- package/generated/events/text-field.d.ts +3 -0
- package/generated/events/toggle-view.d.ts +3 -0
- package/generated/internal/utils/cash/index.d.ts +4 -3
- package/generated/internal/utils/cash/index.js +4 -2
- package/generated/internal/utils/ensure-placeholder.js +2 -1
- package/generated/morphdom/index.d.ts +4 -2
- package/generated/morphdom/index.js +4 -2
- package/generated/morphdom/morph.d.ts +2 -2
- package/generated/morphdom/morph.js +3 -2
- package/generated/morphdom/query-morph.d.ts +2 -2
- package/generated/morphdom/query-morph.js +1 -1
- package/generated/morphdom/render-to-string.d.ts +12 -0
- package/generated/morphdom/render-to-string.js +48 -0
- package/generated/morphdom/unsafe-html.d.ts +2 -0
- package/generated/morphdom/unsafe-html.js +4 -0
- package/generated/tpl/html.js +4 -0
- package/generated/tpl/index.d.ts +2 -0
- package/generated/tpl/index.js +2 -0
- package/generated/tpl/is-template-result.d.ts +3 -0
- package/generated/tpl/is-template-result.js +1 -0
- package/package.json +1 -1
- package/scss/_maps.scss +19 -13
- package/scss/base/_root.scss +1 -1
- package/scss/components/_picker-view.scss +7 -1
- package/scss/components/_scroll-view-toolbars.scss +8 -2
- package/scss/components/_toggle-view.scss +2 -1
- package/scss/mixins/_index.scss +8 -2
- package/scss/placeholders/_lists.scss +27 -1
- package/web-components.html-data/en.json +111 -128
- package/generated/morphdom/html.d.ts +0 -8
- package/generated/morphdom/html.js +0 -37
|
@@ -2,8 +2,9 @@ var _a;
|
|
|
2
2
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
3
3
|
import { CSSStyleObserver } from '../internal/class/css-style-observer';
|
|
4
4
|
import { $, devFlags } from '../internal/utils';
|
|
5
|
-
import {
|
|
5
|
+
import { queryMorph } from '../morphdom';
|
|
6
6
|
import { Snapshot } from '../snapshot';
|
|
7
|
+
import { html } from '../tpl';
|
|
7
8
|
const progressViewStyles = ['circular', 'linear'];
|
|
8
9
|
/**
|
|
9
10
|
* @summary A view that shows how far along a task is.
|
|
@@ -28,27 +29,27 @@ export class ProgressView extends HTMLElement {
|
|
|
28
29
|
if (!_a.#templates.has(this.progressViewStyle))
|
|
29
30
|
switch (this.progressViewStyle) {
|
|
30
31
|
case 'linear':
|
|
31
|
-
_a.#templates.set(this.progressViewStyle, $(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
_a.#templates.set(this.progressViewStyle, $(html `
|
|
33
|
+
<slot></slot>
|
|
34
|
+
<div part="root progress-control progress-line-control"></div>
|
|
35
|
+
<slot name="current-value"></slot>
|
|
35
36
|
`));
|
|
36
37
|
break;
|
|
37
38
|
case 'circular':
|
|
38
39
|
default:
|
|
39
|
-
_a.#templates.set(this.progressViewStyle, $(
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
_a.#templates.set(this.progressViewStyle, $(html `
|
|
41
|
+
<div part="root progress-control progress-circular-control">
|
|
42
|
+
<div part="root progress-control progress-circular-blade progress-circular-blade-1"></div>
|
|
43
|
+
<div part="root progress-control progress-circular-blade progress-circular-blade-2"></div>
|
|
44
|
+
<div part="root progress-control progress-circular-blade progress-circular-blade-3"></div>
|
|
45
|
+
<div part="root progress-control progress-circular-blade progress-circular-blade-4"></div>
|
|
46
|
+
<div part="root progress-control progress-circular-blade progress-circular-blade-5"></div>
|
|
47
|
+
<div part="root progress-control progress-circular-blade progress-circular-blade-6"></div>
|
|
48
|
+
<div part="root progress-control progress-circular-blade progress-circular-blade-7"></div>
|
|
49
|
+
<div part="root progress-control progress-circular-blade progress-circular-blade-8"></div>
|
|
50
|
+
</div>
|
|
51
|
+
<slot></slot>
|
|
52
|
+
<slot name="current-value"></slot>
|
|
52
53
|
`));
|
|
53
54
|
break;
|
|
54
55
|
}
|
|
@@ -63,7 +64,7 @@ export class ProgressView extends HTMLElement {
|
|
|
63
64
|
console.debug(`${_a.name} ⚡️ attr-change [${name}] ("${oldValue}" → "${newValue}")`);
|
|
64
65
|
switch (name) {
|
|
65
66
|
case 'label': {
|
|
66
|
-
const label = this.querySelector(':scope>label-view:not([slot])') ?? this.appendChild($(`<label-view foreground="secondary"></label-view>`, '>1'));
|
|
67
|
+
const label = this.querySelector(':scope>label-view:not([slot])') ?? this.appendChild($(html `<label-view foreground="secondary"></label-view>`, '>1'));
|
|
67
68
|
if (newValue) {
|
|
68
69
|
label.setAttribute('title', newValue);
|
|
69
70
|
}
|
|
@@ -3,7 +3,8 @@ import { lifecycleObserver } from '../buses';
|
|
|
3
3
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
4
4
|
import { ResizeObserverSingleton } from '../internal/class/resize-observer-singleton';
|
|
5
5
|
import { $, devFlags, frame, onoff, slowHideShow } from '../internal/utils';
|
|
6
|
-
import {
|
|
6
|
+
import { queryMorph } from '../morphdom';
|
|
7
|
+
import { html } from '../tpl';
|
|
7
8
|
const observers = new ResizeObserverSingleton();
|
|
8
9
|
/**
|
|
9
10
|
* @summary A view that scrolls its content when it doesn’t fit the screen.
|
|
@@ -27,18 +28,17 @@ export class ScrollView extends HTMLElement {
|
|
|
27
28
|
}
|
|
28
29
|
static #template;
|
|
29
30
|
static get template() {
|
|
30
|
-
return (this.#template ??= $(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
</div>`));
|
|
31
|
+
return (this.#template ??= $(html `<slot></slot>
|
|
32
|
+
<div part="root scroll-view-navbar">
|
|
33
|
+
<div part="root scroll-view-navbar-stack">
|
|
34
|
+
<slot name="top-bar-principal"></slot>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<div part="root scroll-view-toolbar">
|
|
38
|
+
<div part="root scroll-view-toolbar-stack">
|
|
39
|
+
<slot name="bottom-bar-principal"></slot>
|
|
40
|
+
</div>
|
|
41
|
+
</div>`));
|
|
42
42
|
}
|
|
43
43
|
#shadowRoot;
|
|
44
44
|
#slots = new Map();
|
|
@@ -230,7 +230,7 @@ export class ScrollView extends HTMLElement {
|
|
|
230
230
|
// const container = ((vs = this.querySelector<HTMLElement>(':scope>v-stack') ?? (this.appendChild($(`<v-stack></v-stack>`, '>1')) as HTMLElement)) =>
|
|
231
231
|
// vs.querySelector<HTMLElement>(':scope>navigation-title:not([slot])') ??
|
|
232
232
|
// vs.appendChild($(html`<navigation-title value="${title}" subtitle="${subtitle}" system-image="${icon}" padding></navigation-title>`.toString(), '>1')))()
|
|
233
|
-
const container = this.querySelector(':scope>v-stack') ?? this.appendChild($(`<v-stack></v-stack>`, '>1'));
|
|
233
|
+
const container = this.querySelector(':scope>v-stack') ?? this.appendChild($(html `<v-stack></v-stack>`, '>1'));
|
|
234
234
|
queryMorph('navigation-title:not([slot])', html `<navigation-title value="${title}" subtitle="${subtitle}" system-image="${icon}" padding></navigation-title>`, container);
|
|
235
235
|
};
|
|
236
236
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { $, devFlags } from '../internal/utils';
|
|
2
|
-
import {
|
|
2
|
+
import { queryMorph } from '../morphdom';
|
|
3
|
+
import { html } from '../tpl';
|
|
3
4
|
/**
|
|
4
5
|
* @summary A container view that groups related content together.
|
|
5
6
|
*
|
|
@@ -13,16 +14,15 @@ export class SectionView extends HTMLElement {
|
|
|
13
14
|
}
|
|
14
15
|
static #template;
|
|
15
16
|
static get template() {
|
|
16
|
-
return (this.#template ??= $(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
</div>`));
|
|
17
|
+
return (this.#template ??= $(html `<div part="root section-main-stack">
|
|
18
|
+
<slot></slot>
|
|
19
|
+
</div>
|
|
20
|
+
<div part="root section-header-stack">
|
|
21
|
+
<slot name="header"></slot>
|
|
22
|
+
</div>
|
|
23
|
+
<div part="root section-footer-stack">
|
|
24
|
+
<slot name="footer"></slot>
|
|
25
|
+
</div>`));
|
|
26
26
|
// <div class="sticky-sentinel" style="grid-area:sentinel;inline-size:100%;block-size:0.1px;pointer-events:none;"></div>
|
|
27
27
|
}
|
|
28
28
|
#shadowRoot;
|
|
@@ -3,8 +3,9 @@ import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
|
3
3
|
import { CSSStyleObserver } from '../internal/class/css-style-observer';
|
|
4
4
|
import { MutationObserverSet } from '../internal/class/mutation-observer-set';
|
|
5
5
|
import { $, devFlags, listActive, onoff } from '../internal/utils';
|
|
6
|
-
import {
|
|
6
|
+
import { queryMorph } from '../morphdom';
|
|
7
7
|
import { Snapshot } from '../snapshot';
|
|
8
|
+
import { html } from '../tpl';
|
|
8
9
|
/**
|
|
9
10
|
* @summary A container view that arranges data in rows and columns, optionally letting the user select one or more of them.
|
|
10
11
|
*
|
|
@@ -24,35 +25,34 @@ export class TableView extends HTMLElement {
|
|
|
24
25
|
#compactToolbarItem;
|
|
25
26
|
static #template;
|
|
26
27
|
static get template() {
|
|
27
|
-
return (this.#template ??= $(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
return (this.#template ??= $(html `<div part="root table-container">
|
|
29
|
+
<div part="root table-header-stack">
|
|
30
|
+
<div part="root table-header-leading-stack">
|
|
31
|
+
<slot name="header-leading"></slot>
|
|
32
|
+
</div>
|
|
33
|
+
<div part="root table-header-principal-stack">
|
|
34
|
+
<slot name="header-principal"></slot>
|
|
35
|
+
</div>
|
|
36
|
+
<div part="root table-header-trailing-stack">
|
|
37
|
+
<slot name="header-trailing"></slot>
|
|
38
|
+
</div>
|
|
32
39
|
</div>
|
|
33
|
-
<div part="root table-
|
|
34
|
-
<slot name="
|
|
40
|
+
<div part="root table-column-stack">
|
|
41
|
+
<slot name="column"></slot>
|
|
35
42
|
</div>
|
|
36
|
-
<
|
|
37
|
-
|
|
43
|
+
<slot><p>empty</p></slot>
|
|
44
|
+
<div part="root table-footer-stack">
|
|
45
|
+
<div part="root table-footer-leading-stack">
|
|
46
|
+
<slot name="footer-leading"></slot>
|
|
47
|
+
</div>
|
|
48
|
+
<div part="root table-footer-principal-stack">
|
|
49
|
+
<slot name="footer-principal"></slot>
|
|
50
|
+
</div>
|
|
51
|
+
<div part="root table-footer-trailing-stack">
|
|
52
|
+
<slot name="footer-trailing"></slot>
|
|
53
|
+
</div>
|
|
38
54
|
</div>
|
|
39
|
-
</div
|
|
40
|
-
<div part="root table-column-stack">
|
|
41
|
-
<slot name="column"></slot>
|
|
42
|
-
</div>
|
|
43
|
-
<slot><p>empty</p></slot>
|
|
44
|
-
<div part="root table-footer-stack">
|
|
45
|
-
<div part="root table-footer-leading-stack">
|
|
46
|
-
<slot name="footer-leading"></slot>
|
|
47
|
-
</div>
|
|
48
|
-
<div part="root table-footer-principal-stack">
|
|
49
|
-
<slot name="footer-principal"></slot>
|
|
50
|
-
</div>
|
|
51
|
-
<div part="root table-footer-trailing-stack">
|
|
52
|
-
<slot name="footer-trailing"></slot>
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
</div>`));
|
|
55
|
+
</div>`));
|
|
56
56
|
}
|
|
57
57
|
#shadowRoot;
|
|
58
58
|
#slots = new Map();
|
|
@@ -102,7 +102,7 @@ export class TableView extends HTMLElement {
|
|
|
102
102
|
if (devFlags.debug)
|
|
103
103
|
console.debug(`${_a.name} ⚡️ mutation`);
|
|
104
104
|
if (!this.#compactToolbarItem) {
|
|
105
|
-
this.#compactToolbarItem = $(`<menu-view tabindex="0" slot="header-trailing"></menu-view>`, '>1');
|
|
105
|
+
this.#compactToolbarItem = $(html `<menu-view tabindex="0" slot="header-trailing"></menu-view>`, '>1');
|
|
106
106
|
CleanupRegistry.unregister(this, 'compact_toolbar');
|
|
107
107
|
CleanupRegistry.register(this, onoff('click', this.#handleMenuClick, this.#compactToolbarItem).on(), 'compact_toolbar');
|
|
108
108
|
}
|
|
@@ -110,12 +110,12 @@ export class TableView extends HTMLElement {
|
|
|
110
110
|
for (const node of this.#slots?.get('column')?.assignedElements({ flatten: true }) ?? []) {
|
|
111
111
|
if (!node.matches('[is=table-column]'))
|
|
112
112
|
continue;
|
|
113
|
-
const btn = $(`<button type="button" tabindex="0">
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
113
|
+
const btn = $(html `<button type="button" tabindex="0">
|
|
114
|
+
<v-stack spacing="0" alignment="leading">
|
|
115
|
+
<label-view></label-view>
|
|
116
|
+
<label-view font="callout" foreground="secondary"></label-view>
|
|
117
|
+
</v-stack>
|
|
118
|
+
</button>`, '>1'), title = btn.querySelector('label-view:first-child') ?? undefined, subTitle = btn.querySelector('label-view:last-child') ?? undefined;
|
|
119
119
|
queryMorph(':not([slot])', html `<span>${node.textContent.trim()}</span>`, title, { removeIf: !node.textContent.trim() });
|
|
120
120
|
queryMorph(':not([slot])', html `<span>${node.ariaSort ?? ''}</span>`, subTitle, { removeIf: !(node.ariaSort ?? '') });
|
|
121
121
|
this.#compactToolbarItem.appendChild(btn);
|
|
@@ -4,6 +4,8 @@ export type KeyboardType = (typeof keyboardTypes)[number];
|
|
|
4
4
|
/**
|
|
5
5
|
* @summary A control that displays an editable text area.
|
|
6
6
|
*
|
|
7
|
+
* @fires {{ detail: { text: string } }} commit — Triggered when user interacts with the input area
|
|
8
|
+
*
|
|
7
9
|
* @slot label
|
|
8
10
|
* @slot validity-options
|
|
9
11
|
*/
|
|
@@ -4,11 +4,14 @@ import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
|
4
4
|
import { FormAssociatedBase, getInternals } from '../internal/class/form-associated-base';
|
|
5
5
|
import { MutationObserverSet } from '../internal/class/mutation-observer-set';
|
|
6
6
|
import { $, compareBigDecimals, devFlags, kebabCase, onoff, set } from '../internal/utils';
|
|
7
|
-
import {
|
|
7
|
+
import { queryMorph } from '../morphdom';
|
|
8
|
+
import { html } from '../tpl';
|
|
8
9
|
const keyboardTypes = ['decimal-pad', 'number-pad', 'default'];
|
|
9
10
|
/**
|
|
10
11
|
* @summary A control that displays an editable text area.
|
|
11
12
|
*
|
|
13
|
+
* @fires {{ detail: { text: string } }} commit — Triggered when user interacts with the input area
|
|
14
|
+
*
|
|
12
15
|
* @slot label
|
|
13
16
|
* @slot validity-options
|
|
14
17
|
*/
|
|
@@ -44,16 +47,15 @@ export class TextField extends FormAssociatedBase {
|
|
|
44
47
|
}
|
|
45
48
|
static #template;
|
|
46
49
|
static get template() {
|
|
47
|
-
return (this.#template ??= $(
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
</label>`));
|
|
50
|
+
return (this.#template ??= $(html `<label part="root text-field-stack">
|
|
51
|
+
<div part="root text-field-label-stack">
|
|
52
|
+
<slot name="label"></slot>
|
|
53
|
+
</div>
|
|
54
|
+
<div part="root text-field-input-stack">
|
|
55
|
+
<input type="text" part="root input text-field-form-input" />
|
|
56
|
+
</div>
|
|
57
|
+
<slot name="validity-options" hidden></slot>
|
|
58
|
+
</label>`));
|
|
57
59
|
}
|
|
58
60
|
#renderValidityMsgs = (entries) => {
|
|
59
61
|
if (devFlags.debug)
|
|
@@ -3,7 +3,8 @@ import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
|
3
3
|
import { FormAssociatedBase, getInternals } from '../internal/class/form-associated-base';
|
|
4
4
|
import { MutationObserverSet } from '../internal/class/mutation-observer-set';
|
|
5
5
|
import { $, devFlags, kebabCase, onoff } from '../internal/utils';
|
|
6
|
-
import {
|
|
6
|
+
import { queryMorph } from '../morphdom';
|
|
7
|
+
import { html } from '../tpl';
|
|
7
8
|
const toggleStyles = ['switch', 'button'];
|
|
8
9
|
/**
|
|
9
10
|
* @summary A control that switches between on and off states.
|
|
@@ -15,21 +16,37 @@ const toggleStyles = ['switch', 'button'];
|
|
|
15
16
|
*/
|
|
16
17
|
export class ToggleView extends FormAssociatedBase {
|
|
17
18
|
static get observedAttributes() {
|
|
18
|
-
return [
|
|
19
|
+
return [
|
|
20
|
+
'label',
|
|
21
|
+
'name',
|
|
22
|
+
'value',
|
|
23
|
+
/**
|
|
24
|
+
* @type {boolean}
|
|
25
|
+
*/
|
|
26
|
+
'is-on',
|
|
27
|
+
'keyboard-type',
|
|
28
|
+
/**
|
|
29
|
+
* @type {boolean}
|
|
30
|
+
*/
|
|
31
|
+
'required',
|
|
32
|
+
/**
|
|
33
|
+
* @type {boolean}
|
|
34
|
+
*/
|
|
35
|
+
'disabled',
|
|
36
|
+
];
|
|
19
37
|
}
|
|
20
38
|
static #template;
|
|
21
39
|
static get template() {
|
|
22
|
-
return (this.#template ??= $(
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
</label>`));
|
|
40
|
+
return (this.#template ??= $(html `<label part="root toggle-stack">
|
|
41
|
+
<div part="root toggle-label-stack">
|
|
42
|
+
<slot name="label"></slot>
|
|
43
|
+
</div>
|
|
44
|
+
<div part="root toggle-input-stack">
|
|
45
|
+
<!--<input type="checkbox" part="root input toggle-form-input">-->
|
|
46
|
+
<div part="root toggle-form-input" tabindex="0"></div>
|
|
47
|
+
</div>
|
|
48
|
+
<slot name="validity-options" hidden></slot>
|
|
49
|
+
</label>`));
|
|
33
50
|
}
|
|
34
51
|
#renderValidityMsgs = (entries) => {
|
|
35
52
|
if (devFlags.debug)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var _a;
|
|
2
2
|
import { ResizeObserverSingleton } from '../internal/class/resize-observer-singleton';
|
|
3
3
|
import { $, devFlags } from '../internal/utils';
|
|
4
|
+
import { html } from '../tpl';
|
|
4
5
|
const observers = new ResizeObserverSingleton();
|
|
5
6
|
/**
|
|
6
7
|
* @summary A list of items placed into the toolbar or navigation bar around your content.
|
|
@@ -20,33 +21,32 @@ export class ToolBar extends HTMLElement {
|
|
|
20
21
|
static #template;
|
|
21
22
|
static get template() {
|
|
22
23
|
// <!--exportparts="toolbar-leading-stack,toolbar-principal-stack,toolbar-trailing-stack"-->
|
|
23
|
-
return (this.#template ??= $(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
</div>`));
|
|
24
|
+
return (this.#template ??= $(html `<div part="root top-bar">
|
|
25
|
+
<div part="root toolbar-leading-stack">
|
|
26
|
+
<slot name="cancellation-action"></slot>
|
|
27
|
+
<slot name="destructive-action"></slot>
|
|
28
|
+
<slot name="top-bar-leading"></slot>
|
|
29
|
+
</div>
|
|
30
|
+
<div part="root toolbar-principal-stack">
|
|
31
|
+
<slot name="top-bar-principal"></slot>
|
|
32
|
+
</div>
|
|
33
|
+
<div part="root toolbar-trailing-stack">
|
|
34
|
+
<slot name="top-bar-trailing"></slot>
|
|
35
|
+
<slot name="primary-action"></slot>
|
|
36
|
+
<slot name="confirmation-action"></slot>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
<div part="root bottom-bar">
|
|
40
|
+
<div part="root toolbar-leading-stack">
|
|
41
|
+
<slot name="bottom-bar-leading"></slot>
|
|
42
|
+
</div>
|
|
43
|
+
<div part="root toolbar-principal-stack">
|
|
44
|
+
<slot name="bottom-bar-principal"></slot>
|
|
45
|
+
</div>
|
|
46
|
+
<div part="root toolbar-trailing-stack">
|
|
47
|
+
<slot name="bottom-bar-trailing"></slot>
|
|
48
|
+
</div>
|
|
49
|
+
</div>`));
|
|
50
50
|
}
|
|
51
51
|
#shadowRoot;
|
|
52
52
|
get #scrollView() {
|
package/generated/css/index.css
CHANGED
|
@@ -116,22 +116,22 @@
|
|
|
116
116
|
--labeled-content-column-gap: 1rem;
|
|
117
117
|
--labeled-content-row-gap: 0.5rem;
|
|
118
118
|
--label-footnote-font-size: 1rem;
|
|
119
|
-
--label-footnote-line-height:
|
|
119
|
+
--label-footnote-line-height: 1.1875;
|
|
120
120
|
--label-footnote-font-weight: 400;
|
|
121
121
|
--label-caption2-font-size: 0.75rem;
|
|
122
|
-
--label-caption2-line-height: 1.
|
|
122
|
+
--label-caption2-line-height: 1.4166666667;
|
|
123
123
|
--label-caption2-font-weight: 400;
|
|
124
|
-
--label-caption-font-size: 0.
|
|
125
|
-
--label-caption-line-height: 1.
|
|
124
|
+
--label-caption-font-size: 0.8125rem;
|
|
125
|
+
--label-caption-line-height: 1.5384615385;
|
|
126
126
|
--label-caption-font-weight: 400;
|
|
127
127
|
--label-callout-font-size: 0.875rem;
|
|
128
|
-
--label-callout-line-height:
|
|
128
|
+
--label-callout-line-height: 1.3571428571;
|
|
129
129
|
--label-callout-font-weight: 400;
|
|
130
130
|
--label-body-font-size: 1rem;
|
|
131
131
|
--label-body-line-height: 1.5;
|
|
132
132
|
--label-body-font-weight: 400;
|
|
133
133
|
--label-subheadline-font-size: 1.125rem;
|
|
134
|
-
--label-subheadline-line-height: 1.
|
|
134
|
+
--label-subheadline-line-height: 1.5;
|
|
135
135
|
--label-subheadline-font-weight: 400;
|
|
136
136
|
--label-headline-font-size: 1.25rem;
|
|
137
137
|
--label-headline-line-height: 1.4;
|
|
@@ -151,6 +151,9 @@
|
|
|
151
151
|
--label-extra-large-title-font-size: 3.75rem;
|
|
152
152
|
--label-extra-large-title-line-height: 1;
|
|
153
153
|
--label-extra-large-title-font-weight: 700;
|
|
154
|
+
--label-extra-large-title2-font-size: 4.5rem;
|
|
155
|
+
--label-extra-large-title2-line-height: 1;
|
|
156
|
+
--label-extra-large-title2-font-weight: 700;
|
|
154
157
|
--insetlist-item-border-radius: 2rem;
|
|
155
158
|
--insetform-item-border-radius: 2rem;
|
|
156
159
|
--list-row-gap: 3rem;
|
|
@@ -650,9 +653,27 @@
|
|
|
650
653
|
padding-block: 1px;
|
|
651
654
|
}
|
|
652
655
|
:where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view) section-view:not(section-view section-view, menu-view *), [is=form-view]:not([is=form-view] [is=form-view], list-view [is=form-view], table-view [is=form-view], [is=tab-bar] > [is=form-view]) section-view:not(section-view section-view, menu-view *), list-view:not(list-view list-view, [is=form-view] list-view, table-view list-view) section-view:not(section-view section-view, menu-view *))::part(section-header-stack) {
|
|
653
|
-
top:
|
|
656
|
+
top: var(--list--sticky-block-size, 0px);
|
|
654
657
|
position: sticky;
|
|
655
658
|
}
|
|
659
|
+
:where(table-view:not(table-view table-view, list-view table-view, [is=form-view] table-view) section-view:not(section-view section-view, menu-view *):is(scroll-view:has(~ tool-bar > [slot^=top-bar],
|
|
660
|
+
~ tool-bar > [slot=cancellation-action],
|
|
661
|
+
~ tool-bar > [slot=primary-action],
|
|
662
|
+
~ tool-bar > [slot=confirmation-action],
|
|
663
|
+
~ tool-bar > [slot=destructive-action]) section-view,
|
|
664
|
+
scroll-view:has(> [slot^=top-bar], > [slot=cancellation-action], > [slot=primary-action], > [slot=confirmation-action], > [slot=destructive-action]) section-view), [is=form-view]:not([is=form-view] [is=form-view], list-view [is=form-view], table-view [is=form-view], [is=tab-bar] > [is=form-view]) section-view:not(section-view section-view, menu-view *):is(scroll-view:has(~ tool-bar > [slot^=top-bar],
|
|
665
|
+
~ tool-bar > [slot=cancellation-action],
|
|
666
|
+
~ tool-bar > [slot=primary-action],
|
|
667
|
+
~ tool-bar > [slot=confirmation-action],
|
|
668
|
+
~ tool-bar > [slot=destructive-action]) section-view,
|
|
669
|
+
scroll-view:has(> [slot^=top-bar], > [slot=cancellation-action], > [slot=primary-action], > [slot=confirmation-action], > [slot=destructive-action]) section-view), list-view:not(list-view list-view, [is=form-view] list-view, table-view list-view) section-view:not(section-view section-view, menu-view *):is(scroll-view:has(~ tool-bar > [slot^=top-bar],
|
|
670
|
+
~ tool-bar > [slot=cancellation-action],
|
|
671
|
+
~ tool-bar > [slot=primary-action],
|
|
672
|
+
~ tool-bar > [slot=confirmation-action],
|
|
673
|
+
~ tool-bar > [slot=destructive-action]) section-view,
|
|
674
|
+
scroll-view:has(> [slot^=top-bar], > [slot=cancellation-action], > [slot=primary-action], > [slot=confirmation-action], > [slot=destructive-action]) section-view))::part(section-header-stack) {
|
|
675
|
+
top: calc(var(--list--sticky-block-size, 0px) + var(--navigation-bar-block-size));
|
|
676
|
+
}
|
|
656
677
|
:where(table-view[columns="2"]:not(menu-view *):not(table-view table-view, list-view table-view, [is=form-view] table-view), [columns="2"][is=form-view]:not(menu-view *):not([is=form-view] [is=form-view], list-view [is=form-view], table-view [is=form-view], [is=tab-bar] > [is=form-view]), list-view[columns="2"]:not(menu-view *):not(list-view list-view, [is=form-view] list-view, table-view list-view)) {
|
|
657
678
|
--list--host-grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
658
679
|
position: relative;
|
|
@@ -1473,7 +1494,11 @@
|
|
|
1473
1494
|
:where(detail-placeholder > scroll-view) > *:not([slot]) {
|
|
1474
1495
|
grid-area: main;
|
|
1475
1496
|
}
|
|
1476
|
-
:where(detail-placeholder > scroll-view):has(~ tool-bar > [slot^=top-bar]
|
|
1497
|
+
:where(detail-placeholder > scroll-view):has(~ tool-bar > [slot^=top-bar],
|
|
1498
|
+
~ tool-bar > [slot=cancellation-action],
|
|
1499
|
+
~ tool-bar > [slot=primary-action],
|
|
1500
|
+
~ tool-bar > [slot=confirmation-action],
|
|
1501
|
+
~ tool-bar > [slot=destructive-action]), :where(detail-placeholder > scroll-view):has(> [slot^=top-bar], > [slot=cancellation-action], > [slot=primary-action], > [slot=confirmation-action], > [slot=destructive-action]) {
|
|
1477
1502
|
grid-template-rows: var(--navigation-bar-block-size) minmax(max-content, 1fr);
|
|
1478
1503
|
}
|
|
1479
1504
|
:where(detail-placeholder > scroll-view)::before {
|
|
@@ -1970,7 +1995,11 @@
|
|
|
1970
1995
|
:where(navigation-stack > scroll-view, navigation-split-view > scroll-view, [is=sidebar-view] > scroll-view, body-view > scroll-view, [is=full-screen] > scroll-view, [is=sheet-view] > scroll-view) > *:not([slot]) {
|
|
1971
1996
|
grid-area: main;
|
|
1972
1997
|
}
|
|
1973
|
-
:where(navigation-stack > scroll-view, navigation-split-view > scroll-view, [is=sidebar-view] > scroll-view, body-view > scroll-view, [is=full-screen] > scroll-view, [is=sheet-view] > scroll-view):has(~ tool-bar > [slot^=top-bar]
|
|
1998
|
+
:where(navigation-stack > scroll-view, navigation-split-view > scroll-view, [is=sidebar-view] > scroll-view, body-view > scroll-view, [is=full-screen] > scroll-view, [is=sheet-view] > scroll-view):has(~ tool-bar > [slot^=top-bar],
|
|
1999
|
+
~ tool-bar > [slot=cancellation-action],
|
|
2000
|
+
~ tool-bar > [slot=primary-action],
|
|
2001
|
+
~ tool-bar > [slot=confirmation-action],
|
|
2002
|
+
~ tool-bar > [slot=destructive-action]), :where(navigation-stack > scroll-view, navigation-split-view > scroll-view, [is=sidebar-view] > scroll-view, body-view > scroll-view, [is=full-screen] > scroll-view, [is=sheet-view] > scroll-view):has(> [slot^=top-bar], > [slot=cancellation-action], > [slot=primary-action], > [slot=confirmation-action], > [slot=destructive-action]) {
|
|
1974
2003
|
grid-template-rows: var(--navigation-bar-block-size) minmax(max-content, 1fr);
|
|
1975
2004
|
}
|
|
1976
2005
|
:where(navigation-stack > scroll-view[navigation-bar-title-display-mode=large], navigation-split-view > scroll-view[navigation-bar-title-display-mode=large], [is=sidebar-view] > scroll-view[navigation-bar-title-display-mode=large], body-view > scroll-view[navigation-bar-title-display-mode=large], [is=full-screen] > scroll-view[navigation-bar-title-display-mode=large], [is=sheet-view] > scroll-view[navigation-bar-title-display-mode=large]) > [slot=top-bar-principal] {
|
|
@@ -2393,8 +2422,12 @@
|
|
|
2393
2422
|
pointer-events: none;
|
|
2394
2423
|
visibility: collapse;
|
|
2395
2424
|
}
|
|
2396
|
-
:where(scroll-view:has(~ tool-bar > [slot^=top-bar]
|
|
2397
|
-
|
|
2425
|
+
:where(scroll-view:has(~ tool-bar > [slot^=top-bar],
|
|
2426
|
+
~ tool-bar > [slot=cancellation-action],
|
|
2427
|
+
~ tool-bar > [slot=primary-action],
|
|
2428
|
+
~ tool-bar > [slot=confirmation-action],
|
|
2429
|
+
~ tool-bar > [slot=destructive-action]),
|
|
2430
|
+
scroll-view:has(> [slot^=top-bar], > [slot=cancellation-action], > [slot=primary-action], > [slot=confirmation-action], > [slot=destructive-action]))::part(scroll-view-navbar) {
|
|
2398
2431
|
visibility: visible;
|
|
2399
2432
|
}
|
|
2400
2433
|
:where(scroll-view:has(~ tool-bar > [slot^=bottom-bar]),
|
|
@@ -2975,9 +3008,9 @@
|
|
|
2975
3008
|
}
|
|
2976
3009
|
@supports (x: if(else:red)) {
|
|
2977
3010
|
:where(label-view) {
|
|
2978
|
-
--label--titlestack-font-size: if(style(--label-font: footnote): var(--label-footnote-font-size) ; style(--label-font: caption2): var(--label-caption2-font-size) ; style(--label-font: caption): var(--label-caption-font-size) ; style(--label-font: callout): var(--label-callout-font-size) ; style(--label-font: body): var(--label-body-font-size) ; style(--label-font: subheadline): var(--label-subheadline-font-size) ; style(--label-font: headline): var(--label-headline-font-size) ; style(--label-font: title3): var(--label-title3-font-size) ; style(--label-font: title2): var(--label-title2-font-size) ; style(--label-font: title): var(--label-title-font-size) ; style(--label-font: large-title): var(--label-large-title-font-size) ; style(--label-font: extra-large-title): var(--label-extra-large-title-font-size) ;);
|
|
2979
|
-
--label--titlestack-line-height: if(style(--label-font: footnote): var(--label-footnote-line-height) ; style(--label-font: caption2): var(--label-caption2-line-height) ; style(--label-font: caption): var(--label-caption-line-height) ; style(--label-font: callout): var(--label-callout-line-height) ; style(--label-font: body): var(--label-body-line-height) ; style(--label-font: subheadline): var(--label-subheadline-line-height) ; style(--label-font: headline): var(--label-headline-line-height) ; style(--label-font: title3): var(--label-title3-line-height) ; style(--label-font: title2): var(--label-title2-line-height) ; style(--label-font: title): var(--label-title-line-height) ; style(--label-font: large-title): var(--label-large-title-line-height) ; style(--label-font: extra-large-title): var(--label-extra-large-title-line-height) ;);
|
|
2980
|
-
--label--titlestack-font-weight: if(style(--label-font: footnote): var(--label-footnote-font-weight) ; style(--label-font: caption2): var(--label-caption2-font-weight) ; style(--label-font: caption): var(--label-caption-font-weight) ; style(--label-font: callout): var(--label-callout-font-weight) ; style(--label-font: body): var(--label-body-font-weight) ; style(--label-font: subheadline): var(--label-subheadline-font-weight) ; style(--label-font: headline): var(--label-headline-font-weight) ; style(--label-font: title3): var(--label-title3-font-weight) ; style(--label-font: title2): var(--label-title2-font-weight) ; style(--label-font: title): var(--label-title-font-weight) ; style(--label-font: large-title): var(--label-large-title-font-weight) ; style(--label-font: extra-large-title): var(--label-extra-large-title-font-weight) ;);
|
|
3011
|
+
--label--titlestack-font-size: if(style(--label-font: footnote): var(--label-footnote-font-size) ; style(--label-font: caption2): var(--label-caption2-font-size) ; style(--label-font: caption): var(--label-caption-font-size) ; style(--label-font: callout): var(--label-callout-font-size) ; style(--label-font: body): var(--label-body-font-size) ; style(--label-font: subheadline): var(--label-subheadline-font-size) ; style(--label-font: headline): var(--label-headline-font-size) ; style(--label-font: title3): var(--label-title3-font-size) ; style(--label-font: title2): var(--label-title2-font-size) ; style(--label-font: title): var(--label-title-font-size) ; style(--label-font: large-title): var(--label-large-title-font-size) ; style(--label-font: extra-large-title): var(--label-extra-large-title-font-size) ; style(--label-font: extra-large-title2): var(--label-extra-large-title2-font-size) ;);
|
|
3012
|
+
--label--titlestack-line-height: if(style(--label-font: footnote): var(--label-footnote-line-height) ; style(--label-font: caption2): var(--label-caption2-line-height) ; style(--label-font: caption): var(--label-caption-line-height) ; style(--label-font: callout): var(--label-callout-line-height) ; style(--label-font: body): var(--label-body-line-height) ; style(--label-font: subheadline): var(--label-subheadline-line-height) ; style(--label-font: headline): var(--label-headline-line-height) ; style(--label-font: title3): var(--label-title3-line-height) ; style(--label-font: title2): var(--label-title2-line-height) ; style(--label-font: title): var(--label-title-line-height) ; style(--label-font: large-title): var(--label-large-title-line-height) ; style(--label-font: extra-large-title): var(--label-extra-large-title-line-height) ; style(--label-font: extra-large-title2): var(--label-extra-large-title2-line-height) ;);
|
|
3013
|
+
--label--titlestack-font-weight: if(style(--label-font: footnote): var(--label-footnote-font-weight) ; style(--label-font: caption2): var(--label-caption2-font-weight) ; style(--label-font: caption): var(--label-caption-font-weight) ; style(--label-font: callout): var(--label-callout-font-weight) ; style(--label-font: body): var(--label-body-font-weight) ; style(--label-font: subheadline): var(--label-subheadline-font-weight) ; style(--label-font: headline): var(--label-headline-font-weight) ; style(--label-font: title3): var(--label-title3-font-weight) ; style(--label-font: title2): var(--label-title2-font-weight) ; style(--label-font: title): var(--label-title-font-weight) ; style(--label-font: large-title): var(--label-large-title-font-weight) ; style(--label-font: extra-large-title): var(--label-extra-large-title-font-weight) ; style(--label-font: extra-large-title2): var(--label-extra-large-title2-font-weight) ;);
|
|
2981
3014
|
--label--overflow: if(style(--label-truncation-mode: tail): hidden; );
|
|
2982
3015
|
--label--text-overflow: if(style(--label-truncation-mode: tail): ellipsis; );
|
|
2983
3016
|
--label--host-white-space: if(style(--label-line-limit: 1): nowrap; style(--label-line-limit: 2): normal; );
|
|
@@ -3356,6 +3389,20 @@
|
|
|
3356
3389
|
--label--titlestack-font-weight: var(--label-extra-large-title-font-weight);
|
|
3357
3390
|
}
|
|
3358
3391
|
}
|
|
3392
|
+
@container style(--label-font: extra-large-title2) {
|
|
3393
|
+
:where(label-view) {
|
|
3394
|
+
--label--titlestack-font-size: var(--label-extra-large-title2-font-size);
|
|
3395
|
+
--label--titlestack-line-height: var(--label-extra-large-title2-line-height);
|
|
3396
|
+
--label--titlestack-font-weight: var(--label-extra-large-title2-font-weight);
|
|
3397
|
+
}
|
|
3398
|
+
}
|
|
3399
|
+
@container not style(--label-font: extra-large-title2) {
|
|
3400
|
+
:where(label-view[font=extra-large-title2]) {
|
|
3401
|
+
--label--titlestack-font-size: var(--label-extra-large-title2-font-size);
|
|
3402
|
+
--label--titlestack-line-height: var(--label-extra-large-title2-line-height);
|
|
3403
|
+
--label--titlestack-font-weight: var(--label-extra-large-title2-font-weight);
|
|
3404
|
+
}
|
|
3405
|
+
}
|
|
3359
3406
|
}
|
|
3360
3407
|
@supports (x: attr(x type(*))) {
|
|
3361
3408
|
:where(label-view) {
|
|
@@ -5077,10 +5124,12 @@
|
|
|
5077
5124
|
}
|
|
5078
5125
|
:where(picker-view)::part(picker-label-stack) {
|
|
5079
5126
|
display: var(--picker--labelstack-display, none);
|
|
5080
|
-
color: var(--secondary);
|
|
5081
5127
|
--label-truncation-mode: tail;
|
|
5082
5128
|
--label-line-limit: 1;
|
|
5083
5129
|
}
|
|
5130
|
+
:where(form :where(picker-view))::part(picker-label-stack) {
|
|
5131
|
+
color: var(--secondary);
|
|
5132
|
+
}
|
|
5084
5133
|
:where(picker-view) {
|
|
5085
5134
|
--picker--stack-grid-template-columns: minmax(30%, 1fr) auto;
|
|
5086
5135
|
--picker--stack-grid-template-rows: minmax(0, 1fr);
|
|
@@ -5912,6 +5961,9 @@
|
|
|
5912
5961
|
--tertiaryBackground: var(--tertiaryGroupedBackground);
|
|
5913
5962
|
--face: var(--background);
|
|
5914
5963
|
}
|
|
5964
|
+
:where([foreground=primary]) {
|
|
5965
|
+
color: var(--primary);
|
|
5966
|
+
}
|
|
5915
5967
|
:where([foreground=secondary]) {
|
|
5916
5968
|
color: var(--secondary);
|
|
5917
5969
|
}
|