@swiftwc/ui 0.0.0-dev.99 → 1.0.0-canary.1
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 +8 -9
- package/generated/components/alert-dialog.js +9 -17
- package/generated/components/bordered-button.js +4 -7
- package/generated/components/bordered-prominent-button.js +4 -7
- package/generated/components/borderless-button.js +4 -7
- package/generated/components/color-scheme.js +4 -7
- package/generated/components/confirmation-dialog.js +9 -17
- package/generated/components/content-unavailable.d.ts +1 -1
- package/generated/components/content-unavailable.js +5 -8
- package/generated/components/{body-view.d.ts → content-view.d.ts} +2 -2
- package/generated/components/content-view.js +15 -0
- package/generated/components/date-picker.js +13 -25
- package/generated/components/detail-placeholder.d.ts +11 -0
- package/generated/components/detail-placeholder.js +15 -0
- package/generated/components/disclosure-group.js +5 -9
- package/generated/components/fine-tooltip.js +4 -7
- package/generated/components/form-view.js +3 -5
- package/generated/components/glass-button.js +4 -7
- package/generated/components/glass-prominent-button.js +4 -7
- package/generated/components/h-divider.d.ts +11 -0
- package/generated/components/h-divider.js +15 -0
- package/generated/components/h-flex-stack.d.ts +16 -0
- package/generated/components/h-flex-stack.js +18 -0
- package/generated/components/h-stack.js +3 -5
- package/generated/components/image-view.js +4 -7
- package/generated/components/index.d.ts +7 -1
- package/generated/components/index.js +7 -1
- package/generated/components/label-view.d.ts +2 -2
- package/generated/components/label-view.js +6 -9
- package/generated/components/labeled-content.d.ts +7 -1
- package/generated/components/labeled-content.js +32 -32
- package/generated/components/list-view.d.ts +5 -1
- package/generated/components/list-view.js +8 -6
- package/generated/components/menu-view.d.ts +1 -1
- package/generated/components/menu-view.js +11 -20
- package/generated/components/navigation-large-title.d.ts +0 -1
- package/generated/components/navigation-large-title.js +5 -10
- package/generated/components/navigation-split-view.js +4 -7
- package/generated/components/navigation-stack.js +4 -7
- package/generated/components/navigation-title.js +4 -7
- package/generated/components/picker-view.d.ts +4 -21
- package/generated/components/picker-view.js +374 -326
- package/generated/components/plain-button.js +3 -5
- package/generated/components/progress-view.d.ts +1 -1
- package/generated/components/progress-view.js +7 -12
- package/generated/components/screen-view.js +2 -3
- package/generated/components/scroll-view-proxy.js +3 -5
- package/generated/components/scroll-view.d.ts +1 -1
- package/generated/components/scroll-view.js +10 -17
- package/generated/components/search-view.js +4 -7
- package/generated/components/section-view.d.ts +1 -1
- package/generated/components/section-view.js +5 -8
- package/generated/components/sheet-view.js +6 -11
- package/generated/components/sidebar-toggle.js +5 -9
- package/generated/components/sidebar-view.js +2 -3
- package/generated/components/sticky-container.js +3 -5
- package/generated/components/tab-bar.js +4 -7
- package/generated/components/tab-item.js +8 -15
- package/generated/components/tab-view.js +19 -23
- package/generated/components/table-view.d.ts +1 -1
- package/generated/components/table-view.js +7 -12
- package/generated/components/text-field.js +10 -19
- package/generated/components/text-view.d.ts +11 -0
- package/generated/components/text-view.js +16 -0
- package/generated/components/toggle-view.d.ts +2 -0
- package/generated/components/toggle-view.js +33 -37
- package/generated/components/tool-bar-item-group.js +3 -5
- package/generated/components/tool-bar-item.js +4 -7
- package/generated/components/tool-bar.js +4 -7
- package/generated/components/v-divider.d.ts +11 -0
- package/generated/components/v-divider.js +15 -0
- package/generated/components/v-flex-stack.d.ts +16 -0
- package/generated/components/v-flex-stack.js +18 -0
- package/generated/components/v-keyboard.js +8 -12
- package/generated/components/v-stack.js +3 -5
- package/generated/css/index.css +762 -418
- package/generated/internal/class/css-style-observer.js +2 -3
- package/generated/internal/class/form-associated-base.js +6 -8
- package/generated/internal/class/navigation-path.js +2 -2
- package/generated/internal/class/navigation-view.js +3 -5
- package/generated/internal/decorators/adaptive-slot.js +4 -7
- package/generated/internal/decorators/microtask-on-connected.d.ts +2 -2
- package/generated/internal/decorators/microtask-on-connected.js +2 -2
- package/generated/internal/dev-flags.d.ts +4 -0
- package/generated/internal/dev-flags.js +1 -0
- package/generated/internal/privateNamespace.d.ts +2 -2
- package/generated/internal/privateNamespace.js +15 -24
- package/generated/internal/utils/$.d.ts +9 -0
- package/generated/internal/utils/$.js +11 -0
- package/generated/internal/utils/debug.d.ts +1 -0
- package/generated/internal/utils/debug.js +4 -0
- package/generated/internal/utils/index.d.ts +36 -2
- package/generated/internal/utils/index.js +36 -5
- package/generated/internal/utils/is-inside.js +1 -1
- package/generated/snapshot/index.js +3 -5
- package/{web-components.html-data → html-data}/en.json +155 -54
- package/package.json +24 -20
- package/scss/_components.scss +1 -1
- package/scss/_maps.scss +3 -1
- package/scss/_utils.scss +3 -1
- package/scss/_vars.scss +1 -0
- package/scss/base/_layout.scss +8 -8
- package/scss/base/_reboot.scss +4 -29
- package/scss/base/_root.scss +27 -12
- package/scss/colors/_index.scss +66 -1
- package/scss/components/_alert-dialog.scss +3 -3
- package/scss/components/_bordered-button.scss +2 -2
- package/scss/components/_bordered-prominent-button.scss +3 -3
- package/scss/components/_borderless-button.scss +2 -2
- package/scss/components/_confirmation-dialog.scss +1 -1
- package/scss/components/_content-unavailable.scss +1 -1
- package/scss/components/{_body-view.scss → _content-view.scss} +2 -2
- package/scss/components/_date-picker.scss +1 -1
- package/scss/components/_detail-placeholder.scss +5 -5
- package/scss/components/_disclosure-group.scss +2 -2
- package/scss/components/_fine-tooltip.scss +1 -1
- package/scss/components/_form-view.scss +3 -3
- package/scss/components/_full-screen.scss +1 -1
- package/scss/components/_glass-button.scss +2 -2
- package/scss/components/_glass-prominent-button.scss +3 -3
- package/scss/components/_group-box.scss +1 -1
- package/scss/components/_h-divider.scss +1 -1
- package/scss/components/_h-flex-stack.scss +3 -1
- package/scss/components/_h-stack.scss +1 -1
- package/scss/components/_image-view.scss +1 -1
- package/scss/components/_index.scss +34 -24
- package/scss/components/_label-view.scss +1 -1
- package/scss/components/_labeled-content.scss +1 -1
- package/scss/components/_list-view.scss +3 -3
- package/scss/components/_menu-view.scss +3 -3
- package/scss/components/_navigation-large-title.scss +15 -9
- package/scss/components/_navigation-split-view.scss +18 -18
- package/scss/components/_navigation-stack.scss +1 -1
- package/scss/components/_navigation-title.scss +1 -1
- package/scss/components/_picker-view.scss +159 -119
- package/scss/components/_plain-button.scss +2 -2
- package/scss/components/_progress-view.scss +1 -1
- package/scss/components/_scroll-view-proxy.scss +1 -1
- package/scss/components/_scroll-view-toolbars.scss +1 -1
- package/scss/components/_scroll-view.scss +2 -2
- package/scss/components/_search-view.scss +1 -1
- package/scss/components/_section-view.scss +1 -1
- package/scss/components/_sheet-view.scss +2 -2
- package/scss/components/_sidebar-toggle.scss +1 -1
- package/scss/components/_sidebar-view.scss +2 -2
- package/scss/components/_sticky-container.scss +1 -1
- package/scss/components/_tab-bar.scss +1 -1
- package/scss/components/_tab-item.scss +1 -1
- package/scss/components/_tab-view.scss +23 -15
- package/scss/components/_table-column.scss +1 -1
- package/scss/components/_table-row.scss +1 -1
- package/scss/components/_table-view.scss +1 -1
- package/scss/components/_text-field.scss +1 -1
- package/scss/components/_text-view.scss +1 -1
- package/scss/components/_toggle-view.scss +41 -21
- package/scss/components/_tool-bar-item-group.scss +1 -1
- package/scss/components/_tool-bar-item.scss +2 -2
- package/scss/components/_tool-bar.scss +2 -2
- package/scss/components/_v-divider.scss +1 -1
- package/scss/components/_v-flex-stack.scss +3 -1
- package/scss/components/_v-keyboard.scss +1 -1
- package/scss/components/_v-stack.scss +1 -1
- package/scss/final/_touch-glass.scss +2 -2
- package/scss/mixins/_index.scss +2 -2
- package/scss/placeholders/_buttons.scss +5 -5
- package/scss/placeholders/_lists.scss +3 -3
- package/scss/transitions/_alert-dialog.scss +1 -1
- package/scss/transitions/_bwd.navbar.scss +1 -1
- package/scss/transitions/_bwd.scss +3 -3
- package/scss/transitions/_confirmation-dialog.scss +1 -1
- package/scss/transitions/_disclosure-group.scss +1 -1
- package/scss/transitions/_fine-tooltip.scss +1 -1
- package/scss/transitions/_fwd.navbar.scss +1 -1
- package/scss/transitions/_fwd.scss +1 -1
- package/scss/transitions/_glass-button.scss +1 -1
- package/scss/transitions/_glass-prominent-button.scss +1 -1
- package/scss/transitions/_index.scss +1 -1
- package/scss/transitions/_menu-view.scss +1 -1
- package/scss/transitions/_navigation-split-view.scss +1 -1
- package/scss/transitions/_progress-view.scss +1 -1
- package/scss/transitions/_sheet-view.scss +1 -1
- package/scss/transitions/_sidebar-view.scss +1 -1
- package/scss/transitions/_tab-bar.scss +1 -1
- package/scss/utils/_background.scss +52 -0
- package/scss/utils/_frame.scss +2 -2
- package/scss/utils/_index.scss +33 -8
- package/scss/utils/_spacing.scss +1 -1
- package/scss/utils/_stacks.scss +5 -3
- package/generated/components/body-view.js +0 -17
- package/generated/internal/utils/cash/index.d.ts +0 -24
- package/generated/internal/utils/cash/index.js +0 -27
- package/generated/internal/utils/dev-flags.d.ts +0 -3
- package/generated/internal/utils/dev-flags.js +0 -5
- /package/{web-components.css-data → css-data}/en.json +0 -0
- /package/generated/internal/utils/{cash/ancestors.d.ts → ancestors.d.ts} +0 -0
- /package/generated/internal/utils/{cash/ancestors.js → ancestors.js} +0 -0
- /package/generated/internal/utils/{cash/next-all.d.ts → next-all.d.ts} +0 -0
- /package/generated/internal/utils/{cash/next-all.js → next-all.js} +0 -0
- /package/generated/internal/utils/{cash/next.d.ts → next.d.ts} +0 -0
- /package/generated/internal/utils/{cash/next.js → next.js} +0 -0
- /package/generated/internal/utils/{cash/prev-all.d.ts → prev-all.d.ts} +0 -0
- /package/generated/internal/utils/{cash/prev-all.js → prev-all.js} +0 -0
- /package/generated/internal/utils/{cash/prev.d.ts → prev.d.ts} +0 -0
- /package/generated/internal/utils/{cash/prev.js → prev.js} +0 -0
- /package/generated/internal/utils/{cash/prop.d.ts → prop.d.ts} +0 -0
- /package/generated/internal/utils/{cash/prop.js → prop.js} +0 -0
- /package/generated/internal/utils/{cash/siblings.d.ts → siblings.d.ts} +0 -0
- /package/generated/internal/utils/{cash/siblings.js → siblings.js} +0 -0
- /package/scss/utils/{_scroll-view.scss → _scroll-view.scss.txt} +0 -0
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
2
|
-
import {
|
|
2
|
+
import { debug, onoff } from '../internal/utils';
|
|
3
3
|
import { ButtonBase } from '../namespace-browser/base';
|
|
4
4
|
export class PlainButton extends ButtonBase {
|
|
5
5
|
constructor() {
|
|
6
6
|
super();
|
|
7
7
|
}
|
|
8
8
|
static polyfillDisconnectedCallback(el) {
|
|
9
|
-
|
|
10
|
-
console.debug(`${PlainButton.name} ⚡️ disconnect`);
|
|
9
|
+
debug(`${PlainButton.name} ⚡️ disconnect`);
|
|
11
10
|
CleanupRegistry.unregister(el);
|
|
12
11
|
}
|
|
13
12
|
static polyfillConnectedCallback(el) {
|
|
14
|
-
|
|
15
|
-
console.debug(`${PlainButton.name} ⚡️ connect`);
|
|
13
|
+
debug(`${PlainButton.name} ⚡️ connect`);
|
|
16
14
|
el.tabIndex = 0;
|
|
17
15
|
CleanupRegistry.register(el, onoff('click', PlainButton.#handleClick, el).on());
|
|
18
16
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var _a;
|
|
2
2
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
3
3
|
import { CSSStyleObserver } from '../internal/class/css-style-observer';
|
|
4
|
-
import { $,
|
|
4
|
+
import { $, debug } from '../internal/utils';
|
|
5
5
|
import { queryMorph } from '../morphdom';
|
|
6
6
|
import { Snapshot } from '../snapshot';
|
|
7
7
|
import { html } from '../tpl';
|
|
@@ -9,7 +9,7 @@ const progressViewStyles = ['circular', 'linear'];
|
|
|
9
9
|
/**
|
|
10
10
|
* @summary A view that shows how far along a task is.
|
|
11
11
|
*
|
|
12
|
-
* @slot — The default slot
|
|
12
|
+
* @slot — The default slot
|
|
13
13
|
* @slot current-value
|
|
14
14
|
*/
|
|
15
15
|
export class ProgressView extends HTMLElement {
|
|
@@ -60,8 +60,7 @@ export class ProgressView extends HTMLElement {
|
|
|
60
60
|
this.#shadowRoot = this.attachShadow({ mode: 'closed' });
|
|
61
61
|
}
|
|
62
62
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
63
|
-
|
|
64
|
-
console.debug(`${_a.name} ⚡️ attr-change [${name}] ("${oldValue}" → "${newValue}")`);
|
|
63
|
+
debug(`${_a.name} ⚡️ attr-change [${name}] ("${oldValue}" → "${newValue}")`);
|
|
65
64
|
switch (name) {
|
|
66
65
|
case 'label': {
|
|
67
66
|
const label = this.querySelector(':scope>label-view:not([slot])') ?? this.appendChild($(html `<label-view foreground="secondary"></label-view>`, '>1'));
|
|
@@ -79,13 +78,11 @@ export class ProgressView extends HTMLElement {
|
|
|
79
78
|
}
|
|
80
79
|
}
|
|
81
80
|
disconnectedCallback() {
|
|
82
|
-
|
|
83
|
-
console.debug(`${_a.name} ⚡️ disconnect`);
|
|
81
|
+
debug(`${_a.name} ⚡️ disconnect`);
|
|
84
82
|
CleanupRegistry.unregister(this);
|
|
85
83
|
}
|
|
86
84
|
connectedCallback() {
|
|
87
|
-
|
|
88
|
-
console.debug(`${_a.name} ⚡️ connect`);
|
|
85
|
+
debug(`${_a.name} ⚡️ connect`);
|
|
89
86
|
this.inert = true;
|
|
90
87
|
this.#cssStyleObserver = new CSSStyleObserver({
|
|
91
88
|
properties: ['--progress-view-style-index'],
|
|
@@ -94,8 +91,7 @@ export class ProgressView extends HTMLElement {
|
|
|
94
91
|
Snapshot.waitReady.then(() => self.requestAnimationFrame(this.#handleStyleChange));
|
|
95
92
|
}
|
|
96
93
|
#handleStyleChange = () => {
|
|
97
|
-
|
|
98
|
-
console.debug(`${_a.name} ⚡️ style`);
|
|
94
|
+
debug(`${_a.name} ⚡️ style`);
|
|
99
95
|
const raw = self.getComputedStyle(this).getPropertyValue('--progress-view-style-index').trim();
|
|
100
96
|
const newValue = progressViewStyles[Number(raw)] ?? progressViewStyles[0];
|
|
101
97
|
if (newValue === this.#progressViewStyle)
|
|
@@ -104,8 +100,7 @@ export class ProgressView extends HTMLElement {
|
|
|
104
100
|
this.#render();
|
|
105
101
|
};
|
|
106
102
|
#render() {
|
|
107
|
-
|
|
108
|
-
console.debug(`${_a.name} ⚡️ #render (${this.#progressViewStyle})`);
|
|
103
|
+
debug(`${_a.name} ⚡️ #render (${this.#progressViewStyle})`);
|
|
109
104
|
if (this.#lastRenderedStyle === this.#progressViewStyle)
|
|
110
105
|
return; // skip if already applied
|
|
111
106
|
this.#lastRenderedStyle = this.#progressViewStyle;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { debug } from '../internal/utils';
|
|
2
2
|
import { DialogBase } from '../namespace-browser/base';
|
|
3
3
|
export class ScreenView extends DialogBase {
|
|
4
4
|
constructor() {
|
|
5
5
|
super();
|
|
6
6
|
}
|
|
7
7
|
disconnectedCallback() {
|
|
8
|
-
|
|
9
|
-
console.debug(`${ScreenView.name} ⚡️ disconnect`);
|
|
8
|
+
debug(`${ScreenView.name} ⚡️ disconnect`);
|
|
10
9
|
}
|
|
11
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { debug } from '../internal/utils';
|
|
2
2
|
/**
|
|
3
3
|
* @summary A wrapper for {hv}-stacks
|
|
4
4
|
*/
|
|
@@ -7,11 +7,9 @@ export class ScrollViewProxy extends HTMLElement {
|
|
|
7
7
|
super();
|
|
8
8
|
}
|
|
9
9
|
disconnectedCallback() {
|
|
10
|
-
|
|
11
|
-
console.debug(`${ScrollViewProxy.name} ⚡️ disconnect`);
|
|
10
|
+
debug(`${ScrollViewProxy.name} ⚡️ disconnect`);
|
|
12
11
|
}
|
|
13
12
|
connectedCallback() {
|
|
14
|
-
|
|
15
|
-
console.debug(`${ScrollViewProxy.name} ⚡️ connect`);
|
|
13
|
+
debug(`${ScrollViewProxy.name} ⚡️ connect`);
|
|
16
14
|
}
|
|
17
15
|
}
|
|
@@ -2,14 +2,14 @@ var _a;
|
|
|
2
2
|
import { lifecycleObserver } from '../buses';
|
|
3
3
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
4
4
|
import { ResizeObserverSingleton } from '../internal/class/resize-observer-singleton';
|
|
5
|
-
import { $,
|
|
5
|
+
import { $, debug, frame, onoff, slowHideShow } from '../internal/utils';
|
|
6
6
|
import { queryMorph } from '../morphdom';
|
|
7
7
|
import { html } from '../tpl';
|
|
8
8
|
const observers = new ResizeObserverSingleton();
|
|
9
9
|
/**
|
|
10
10
|
* @summary A view that scrolls its content when it doesn’t fit the screen.
|
|
11
11
|
*
|
|
12
|
-
* @slot — The default slot
|
|
12
|
+
* @slot — The default slot
|
|
13
13
|
* @slot top-bar-principal
|
|
14
14
|
* @slot bottom-bar-principal
|
|
15
15
|
*/
|
|
@@ -57,8 +57,7 @@ export class ScrollView extends HTMLElement {
|
|
|
57
57
|
});
|
|
58
58
|
}
|
|
59
59
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
60
|
-
|
|
61
|
-
console.debug(`${_a.name} ⚡️ attr-change [${name}] ("${oldValue}" → "${newValue}")`);
|
|
60
|
+
debug(`${_a.name} ⚡️ attr-change [${name}] ("${oldValue}" → "${newValue}")`);
|
|
62
61
|
switch (name) {
|
|
63
62
|
case 'navigation-inline-title':
|
|
64
63
|
this.#renderNavTitle(newValue, this.getAttribute('navigation-inline-subtitle'));
|
|
@@ -80,15 +79,13 @@ export class ScrollView extends HTMLElement {
|
|
|
80
79
|
}
|
|
81
80
|
}
|
|
82
81
|
disconnectedCallback() {
|
|
83
|
-
|
|
84
|
-
console.debug(`${_a.name} ⚡️ disconnect`);
|
|
82
|
+
debug(`${_a.name} ⚡️ disconnect`);
|
|
85
83
|
CleanupRegistry.unregister(this);
|
|
86
84
|
observers.unobserve(this);
|
|
87
85
|
frame().then(() => lifecycleObserver.dispatchEvent(new CustomEvent('pagehide', { detail: { page: this }, bubbles: true, composed: true })));
|
|
88
86
|
}
|
|
89
87
|
connectedCallback() {
|
|
90
|
-
|
|
91
|
-
console.debug(`${_a.name} ⚡️ connect`);
|
|
88
|
+
debug(`${_a.name} ⚡️ connect`);
|
|
92
89
|
CleanupRegistry.register(this, onoff([
|
|
93
90
|
// { types: 'tabreveal', listener: this.#handleTabReveal as EventListener },
|
|
94
91
|
{ types: 'beforetabswap', listener: this.#handleTabBeforeswap },
|
|
@@ -122,8 +119,7 @@ export class ScrollView extends HTMLElement {
|
|
|
122
119
|
slowHideShow('largeinline' === `${comp}` ? 'show' : 'hide', title);
|
|
123
120
|
};
|
|
124
121
|
#handleScroll = ({ target, type }) => {
|
|
125
|
-
|
|
126
|
-
console.debug(`${_a.name} ⚡️ ${type}`);
|
|
122
|
+
debug(`${_a.name} ⚡️ ${type}`);
|
|
127
123
|
if (!this.#isMidScroll)
|
|
128
124
|
this.#isMidScroll = true;
|
|
129
125
|
// if (this.#stopRecordingScrollTop) return
|
|
@@ -132,14 +128,12 @@ export class ScrollView extends HTMLElement {
|
|
|
132
128
|
this.#lastScrollTop = target.scrollTop;
|
|
133
129
|
};
|
|
134
130
|
#handleScrollend = (evt) => {
|
|
135
|
-
|
|
136
|
-
console.debug(`${_a.name} ⚡️ ${evt?.type}`);
|
|
131
|
+
debug(`${_a.name} ⚡️ ${evt?.type}`);
|
|
137
132
|
if (this.#isMidScroll)
|
|
138
133
|
this.#isMidScroll = false;
|
|
139
134
|
};
|
|
140
135
|
#handleMeasure = (entry) => {
|
|
141
|
-
|
|
142
|
-
console.debug(`${_a.name} ⚡️ measure`);
|
|
136
|
+
debug(`${_a.name} ⚡️ measure`);
|
|
143
137
|
if (0 === entry.contentRect.width + entry.contentRect.height)
|
|
144
138
|
return;
|
|
145
139
|
if (undefined === this.#beforeTabSwapLastScrolltop)
|
|
@@ -156,7 +150,7 @@ export class ScrollView extends HTMLElement {
|
|
|
156
150
|
this.#beforeTabSwapLastScrolltop = undefined;
|
|
157
151
|
};
|
|
158
152
|
// #handleTabReveal = ({ type, target }: CustomEvent<TabDetail>) => {
|
|
159
|
-
//
|
|
153
|
+
// debug(`${ScrollView.name} ⚡️ ${type}`)
|
|
160
154
|
// if (!(target instanceof HTMLElement)) return
|
|
161
155
|
// if (!target.contains(this)) return
|
|
162
156
|
// if (this.closest('[hidden]')) return
|
|
@@ -184,8 +178,7 @@ export class ScrollView extends HTMLElement {
|
|
|
184
178
|
// // })
|
|
185
179
|
// }
|
|
186
180
|
#handleTabBeforeswap = ({ type, target }) => {
|
|
187
|
-
|
|
188
|
-
console.debug(`${_a.name} ⚡️ ${type}`);
|
|
181
|
+
debug(`${_a.name} ⚡️ ${type}`);
|
|
189
182
|
if (!(target instanceof HTMLElement))
|
|
190
183
|
return;
|
|
191
184
|
if (!target.contains(this))
|
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
2
|
-
import {
|
|
2
|
+
import { debug, onoff, touchGlass } from '../internal/utils';
|
|
3
3
|
import { InputBase } from '../namespace-browser/base';
|
|
4
4
|
export class SearchView extends InputBase {
|
|
5
5
|
constructor() {
|
|
6
6
|
super();
|
|
7
7
|
}
|
|
8
8
|
static polyfillDisconnectedCallback(el) {
|
|
9
|
-
|
|
10
|
-
console.debug(`${SearchView.name} ⚡️ disconnect`);
|
|
9
|
+
debug(`${SearchView.name} ⚡️ disconnect`);
|
|
11
10
|
CleanupRegistry.unregister(el);
|
|
12
11
|
}
|
|
13
12
|
static polyfillConnectedCallback(el) {
|
|
14
|
-
|
|
15
|
-
console.debug(`${SearchView.name} ⚡️ connect`);
|
|
13
|
+
debug(`${SearchView.name} ⚡️ connect`);
|
|
16
14
|
CleanupRegistry.register(el, onoff(touchGlass(el, (t) => t, () => true), el).on());
|
|
17
15
|
el.type = 'search';
|
|
18
16
|
}
|
|
19
17
|
static polyfillAttributeChangedCallback([{ attributeName, target, oldValue }]) {
|
|
20
|
-
|
|
21
|
-
console.debug(`${SearchView.name} ⚡️ attr-change [${attributeName}] ("${oldValue}" → "${target.getAttribute(attributeName ?? '')}")`);
|
|
18
|
+
debug(`${SearchView.name} ⚡️ attr-change [${attributeName}] ("${oldValue}" → "${target.getAttribute(attributeName ?? '')}")`);
|
|
22
19
|
const node = target instanceof HTMLInputElement;
|
|
23
20
|
if (!node)
|
|
24
21
|
return;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { $,
|
|
1
|
+
import { $, debug } from '../internal/utils';
|
|
2
2
|
import { queryMorph } from '../morphdom';
|
|
3
3
|
import { html } from '../tpl';
|
|
4
4
|
/**
|
|
5
5
|
* @summary A container view that groups related content together.
|
|
6
6
|
*
|
|
7
|
-
* @slot — The default slot
|
|
7
|
+
* @slot — The default slot
|
|
8
8
|
* @slot header
|
|
9
9
|
* @slot footer
|
|
10
10
|
*/
|
|
@@ -32,8 +32,7 @@ export class SectionView extends HTMLElement {
|
|
|
32
32
|
this.#shadowRoot.appendChild(document.importNode(this.constructor.template, true));
|
|
33
33
|
}
|
|
34
34
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
35
|
-
|
|
36
|
-
console.debug(`${SectionView.name} ⚡️ attr-change [${name}] ("${oldValue}" → "${newValue}")`);
|
|
35
|
+
debug(`${SectionView.name} ⚡️ attr-change [${name}] ("${oldValue}" → "${newValue}")`);
|
|
37
36
|
switch (name) {
|
|
38
37
|
case 'header':
|
|
39
38
|
queryMorph('[slot=header]', html `<header slot="header">
|
|
@@ -52,13 +51,11 @@ export class SectionView extends HTMLElement {
|
|
|
52
51
|
}
|
|
53
52
|
}
|
|
54
53
|
disconnectedCallback() {
|
|
55
|
-
|
|
56
|
-
console.debug(`${SectionView.name} ⚡️ disconnect`);
|
|
54
|
+
debug(`${SectionView.name} ⚡️ disconnect`);
|
|
57
55
|
//
|
|
58
56
|
}
|
|
59
57
|
connectedCallback() {
|
|
60
|
-
|
|
61
|
-
console.debug(`${SectionView.name} ⚡️ connect`);
|
|
58
|
+
debug(`${SectionView.name} ⚡️ connect`);
|
|
62
59
|
//
|
|
63
60
|
}
|
|
64
61
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
2
|
-
import {
|
|
2
|
+
import { debug, onoff } from '../internal/utils';
|
|
3
3
|
import { DialogBase } from '../namespace-browser/base';
|
|
4
4
|
/**
|
|
5
5
|
* @summary A dialog that slides up over the current screen.
|
|
@@ -9,13 +9,11 @@ export class SheetView extends DialogBase {
|
|
|
9
9
|
super();
|
|
10
10
|
}
|
|
11
11
|
static polyfillDisconnectedCallback(el) {
|
|
12
|
-
|
|
13
|
-
console.debug(`${SheetView.name} ⚡️ disconnect`);
|
|
12
|
+
debug(`${SheetView.name} ⚡️ disconnect`);
|
|
14
13
|
CleanupRegistry.unregister(el);
|
|
15
14
|
}
|
|
16
15
|
static polyfillConnectedCallback(el) {
|
|
17
|
-
|
|
18
|
-
console.debug(`${SheetView.name} ⚡️ connect`);
|
|
16
|
+
debug(`${SheetView.name} ⚡️ connect`);
|
|
19
17
|
CleanupRegistry.register(el, onoff([
|
|
20
18
|
{ types: 'cancel', listener: this.#handleCancel },
|
|
21
19
|
{ types: 'keydown', listener: SheetView.#handleKeydown },
|
|
@@ -23,12 +21,10 @@ export class SheetView extends DialogBase {
|
|
|
23
21
|
el.autofocus = true;
|
|
24
22
|
}
|
|
25
23
|
static polyfillAttributeChangedCallback([{ attributeName, target, oldValue }]) {
|
|
26
|
-
|
|
27
|
-
console.debug(`${SheetView.name} ⚡️ attr-change [${attributeName}] ("${oldValue}" → "${target.getAttribute(attributeName ?? '')}")`);
|
|
24
|
+
debug(`${SheetView.name} ⚡️ attr-change [${attributeName}] ("${oldValue}" → "${target.getAttribute(attributeName ?? '')}")`);
|
|
28
25
|
}
|
|
29
26
|
static #handleKeydown = (evt) => {
|
|
30
|
-
|
|
31
|
-
console.debug(`${SheetView.name} ⚡️ ${evt?.type} (${evt.key})`);
|
|
27
|
+
debug(`${SheetView.name} ⚡️ ${evt?.type} (${evt.key})`);
|
|
32
28
|
if ('Escape' !== evt.key)
|
|
33
29
|
return;
|
|
34
30
|
evt.preventDefault();
|
|
@@ -36,8 +32,7 @@ export class SheetView extends DialogBase {
|
|
|
36
32
|
evt.stopPropagation();
|
|
37
33
|
};
|
|
38
34
|
static #handleCancel = (evt) => {
|
|
39
|
-
|
|
40
|
-
console.debug(`${SheetView.name} ⚡️ ${evt?.type} (${evt.cancelable})`);
|
|
35
|
+
debug(`${SheetView.name} ⚡️ ${evt?.type} (${evt.cancelable})`);
|
|
41
36
|
if (!evt.cancelable)
|
|
42
37
|
return;
|
|
43
38
|
evt.preventDefault();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var _a;
|
|
2
2
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
3
3
|
import { ResizeObserverSingleton } from '../internal/class/resize-observer-singleton';
|
|
4
|
-
import { debounce,
|
|
4
|
+
import { debounce, debug, onoff } from '../internal/utils';
|
|
5
5
|
const observers = new ResizeObserverSingleton();
|
|
6
6
|
/**
|
|
7
7
|
* @summary A control that shows or hides the sidebar view.
|
|
@@ -11,14 +11,12 @@ export class SidebarToggle extends HTMLElement {
|
|
|
11
11
|
super();
|
|
12
12
|
}
|
|
13
13
|
disconnectedCallback() {
|
|
14
|
-
|
|
15
|
-
console.debug(`${_a.name} ⚡️ disconnect`);
|
|
14
|
+
debug(`${_a.name} ⚡️ disconnect`);
|
|
16
15
|
observers.unobserve(this);
|
|
17
16
|
CleanupRegistry.unregister(this);
|
|
18
17
|
}
|
|
19
18
|
connectedCallback() {
|
|
20
|
-
|
|
21
|
-
console.debug(`${_a.name} ⚡️ connect`);
|
|
19
|
+
debug(`${_a.name} ⚡️ connect`);
|
|
22
20
|
CleanupRegistry.register(this, onoff('click', this.#handleClick, this).on());
|
|
23
21
|
const entry = {
|
|
24
22
|
target: this,
|
|
@@ -33,8 +31,7 @@ export class SidebarToggle extends HTMLElement {
|
|
|
33
31
|
}
|
|
34
32
|
// This triggers on show/hide of any of sidebar-toggle elements
|
|
35
33
|
static #handleMeasure(entry) {
|
|
36
|
-
|
|
37
|
-
console.debug(`${_a.name} ⚡️ measure`);
|
|
34
|
+
debug(`${_a.name} ⚡️ measure`);
|
|
38
35
|
const { target } = entry ?? {};
|
|
39
36
|
if (!(target instanceof HTMLElement))
|
|
40
37
|
return;
|
|
@@ -72,8 +69,7 @@ export class SidebarToggle extends HTMLElement {
|
|
|
72
69
|
});
|
|
73
70
|
}
|
|
74
71
|
#handleClick({ target, type }) {
|
|
75
|
-
|
|
76
|
-
console.debug(`${_a.name} ⚡️ ${type}`);
|
|
72
|
+
debug(`${_a.name} ⚡️ ${type}`);
|
|
77
73
|
if (!(target instanceof HTMLElement))
|
|
78
74
|
return;
|
|
79
75
|
if (!target?.closest('button'))
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
2
|
-
import {
|
|
2
|
+
import { debug, onoff, touchGlass } from '../internal/utils';
|
|
3
3
|
import { DialogBase } from '../namespace-browser/base';
|
|
4
4
|
/**
|
|
5
5
|
* @summary A container view that arranges navigation destinations in a single column.
|
|
@@ -27,8 +27,7 @@ export class SidebarView extends DialogBase {
|
|
|
27
27
|
}
|
|
28
28
|
// Autoclose on click outside.
|
|
29
29
|
static #handleClick = async ({ target, type }) => {
|
|
30
|
-
|
|
31
|
-
console.debug(`${SidebarView.name} ⚡️ ${type}`);
|
|
30
|
+
debug(`${SidebarView.name} ⚡️ ${type}`);
|
|
32
31
|
if (!(target instanceof HTMLElement))
|
|
33
32
|
return;
|
|
34
33
|
if (target instanceof HTMLDialogElement && 'sidebar-view' === target.getAttribute('is'))
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
2
|
-
import {
|
|
2
|
+
import { debug, onoff } from '../internal/utils';
|
|
3
3
|
export class StickyContainer extends HTMLElement {
|
|
4
4
|
constructor() {
|
|
5
5
|
super();
|
|
6
6
|
}
|
|
7
7
|
disconnectedCallback() {
|
|
8
|
-
|
|
9
|
-
console.debug(`${StickyContainer.name} ⚡️ disconnect`);
|
|
8
|
+
debug(`${StickyContainer.name} ⚡️ disconnect`);
|
|
10
9
|
CleanupRegistry.unregister(this);
|
|
11
10
|
}
|
|
12
11
|
connectedCallback() {
|
|
13
|
-
|
|
14
|
-
console.debug(`${StickyContainer.name} ⚡️ connect`);
|
|
12
|
+
debug(`${StickyContainer.name} ⚡️ connect`);
|
|
15
13
|
// CleanupRegistry.register(this, onoff('transitionend transitionstart transitioncancel', this.#handleTransitionrun as unknown as EventListener, this).on())
|
|
16
14
|
CleanupRegistry.register(this, onoff('transitionrun', this.#handleTransitionrun, this).on());
|
|
17
15
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
2
|
-
import {
|
|
2
|
+
import { debug, onoff, touchGlass } from '../internal/utils';
|
|
3
3
|
import { DialogBase } from '../namespace-browser/base';
|
|
4
4
|
/**
|
|
5
5
|
* @summary A container view that groups tab-items together along the top or bottom of the screen.
|
|
@@ -9,14 +9,12 @@ export class TabBar extends DialogBase {
|
|
|
9
9
|
super();
|
|
10
10
|
}
|
|
11
11
|
static polyfillDisconnectedCallback(el) {
|
|
12
|
-
|
|
13
|
-
console.debug(`${TabBar.name} ⚡️ disconnect`);
|
|
12
|
+
debug(`${TabBar.name} ⚡️ disconnect`);
|
|
14
13
|
el.removeEventListener('click', TabBar.#handleClick);
|
|
15
14
|
CleanupRegistry.unregister(el);
|
|
16
15
|
}
|
|
17
16
|
static polyfillConnectedCallback(el) {
|
|
18
|
-
|
|
19
|
-
console.debug(`${TabBar.name} ⚡️ connect`);
|
|
17
|
+
debug(`${TabBar.name} ⚡️ connect`);
|
|
20
18
|
el.autofocus = true;
|
|
21
19
|
CleanupRegistry.register(el, onoff('click', TabBar.#handleClick, el).on());
|
|
22
20
|
CleanupRegistry.register(el, onoff(touchGlass(el, (t) => t, ({ target }) => {
|
|
@@ -30,8 +28,7 @@ export class TabBar extends DialogBase {
|
|
|
30
28
|
}), el).on());
|
|
31
29
|
}
|
|
32
30
|
static #handleClick = async ({ target, type }) => {
|
|
33
|
-
|
|
34
|
-
console.debug(`${TabBar.name} ⚡️ ${type}`);
|
|
31
|
+
debug(`${TabBar.name} ⚡️ ${type}`);
|
|
35
32
|
if (!(target instanceof HTMLElement))
|
|
36
33
|
return;
|
|
37
34
|
if (target instanceof HTMLDialogElement && 'tab-bar' === target.getAttribute('is'))
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CleanupRegistry } from '../internal/class/cleanup-registry';
|
|
2
|
-
import {
|
|
2
|
+
import { debug, onoff } from '../internal/utils';
|
|
3
3
|
import { ButtonBase } from '../namespace-browser/base';
|
|
4
4
|
import { TabView } from './tab-view';
|
|
5
5
|
/**
|
|
@@ -10,13 +10,11 @@ export class TabItem extends ButtonBase {
|
|
|
10
10
|
super();
|
|
11
11
|
}
|
|
12
12
|
static polyfillDisconnectedCallback(btn) {
|
|
13
|
-
|
|
14
|
-
console.debug(`${TabItem.name} ⚡️ disconnect`);
|
|
13
|
+
debug(`${TabItem.name} ⚡️ disconnect`);
|
|
15
14
|
CleanupRegistry.unregister(btn);
|
|
16
15
|
}
|
|
17
16
|
static polyfillConnectedCallback(btn) {
|
|
18
|
-
|
|
19
|
-
console.debug(`${TabItem.name} ⚡️ connect`);
|
|
17
|
+
debug(`${TabItem.name} ⚡️ connect`);
|
|
20
18
|
Object.assign(btn, {
|
|
21
19
|
tabIndex: 0,
|
|
22
20
|
ariaSelected: 'false',
|
|
@@ -36,8 +34,7 @@ export class TabItem extends ButtonBase {
|
|
|
36
34
|
});
|
|
37
35
|
}
|
|
38
36
|
static #handleTabMoreStackAllowance = async (btn, evt) => {
|
|
39
|
-
|
|
40
|
-
console.debug(`${TabItem.name} ⚡️ ${evt?.type}`);
|
|
37
|
+
debug(`${TabItem.name} ⚡️ ${evt?.type}`);
|
|
41
38
|
const tv = btn.closest('tab-view');
|
|
42
39
|
if (!tv)
|
|
43
40
|
return;
|
|
@@ -46,8 +43,7 @@ export class TabItem extends ButtonBase {
|
|
|
46
43
|
btn.hidden = 'bottom-bar' !== tv.tabBarPlacement;
|
|
47
44
|
};
|
|
48
45
|
static #handleTabRevealOrSwap = async (btn, evt) => {
|
|
49
|
-
|
|
50
|
-
console.debug(`${TabItem.name} ⚡️ ${evt?.type}`);
|
|
46
|
+
debug(`${TabItem.name} ⚡️ ${evt?.type}`);
|
|
51
47
|
const tv = btn?.closest('tab-view');
|
|
52
48
|
if (!tv)
|
|
53
49
|
return;
|
|
@@ -69,8 +65,7 @@ export class TabItem extends ButtonBase {
|
|
|
69
65
|
}, 100);
|
|
70
66
|
};
|
|
71
67
|
static #handleClick = async ({ type, currentTarget: btn }) => {
|
|
72
|
-
|
|
73
|
-
console.debug(`${TabItem.name} ⚡️ ${type}`);
|
|
68
|
+
debug(`${TabItem.name} ⚡️ ${type}`);
|
|
74
69
|
if (!(btn instanceof HTMLElement))
|
|
75
70
|
return;
|
|
76
71
|
// const tag = btn.getAttribute('value')
|
|
@@ -116,16 +111,14 @@ export class TabItem extends ButtonBase {
|
|
|
116
111
|
for (const tab of tabs.reverse())
|
|
117
112
|
if (tv.selectedTab.includes(tab)) {
|
|
118
113
|
const eventType = 'tabroot';
|
|
119
|
-
|
|
120
|
-
console.debug(`${TabItem.name} 💡 ${eventType}`);
|
|
114
|
+
debug(`${TabItem.name} 💡 ${eventType}`);
|
|
121
115
|
tab?.dispatchEvent(new CustomEvent(eventType, { bubbles: true, composed: true }));
|
|
122
116
|
return; // skip rest no selection!
|
|
123
117
|
}
|
|
124
118
|
}
|
|
125
119
|
else if ('->' === dir) {
|
|
126
120
|
const eventType = 'tabroot';
|
|
127
|
-
|
|
128
|
-
console.debug(`${TabItem.name} 💡 ${eventType}`);
|
|
121
|
+
debug(`${TabItem.name} 💡 ${eventType}`);
|
|
129
122
|
tabs.at(0)?.dispatchEvent(new CustomEvent(eventType, { bubbles: true, composed: true }));
|
|
130
123
|
}
|
|
131
124
|
// SECTION: finally, submit new tabs
|