@pacem/pacem-ui 2.0.0-cauchy → 2.0.0-chebyshev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/pacem-ui.js +15 -1
- package/dist/browser/pacem-ui.js.map +1 -1
- package/dist/browser/pacem-ui.min.js +2 -2
- package/dist/bundle/pacem-ui.min.mjs +2 -2
- package/dist/bundle/pacem-ui.mjs +12 -1
- package/dist/bundle/pacem-ui.mjs.map +2 -2
- package/dist/esm/adapter.js +1 -1
- package/dist/esm/anchor.js +1 -1
- package/dist/esm/balloon.js +1 -1
- package/dist/esm/binder.js +1 -1
- package/dist/esm/blade.js +1 -1
- package/dist/esm/bottom-sheet.js +1 -1
- package/dist/esm/button.js +1 -1
- package/dist/esm/buttonset.js +1 -1
- package/dist/esm/calendar.js +1 -1
- package/dist/esm/collapse.js +1 -1
- package/dist/esm/dialog-abstractions.js +1 -1
- package/dist/esm/dialog.js +1 -1
- package/dist/esm/divider.js +1 -1
- package/dist/esm/icon.js +1 -1
- package/dist/esm/image.js +1 -1
- package/dist/esm/index-components-ui.js +1 -1
- package/dist/esm/index-components.js +1 -1
- package/dist/esm/index-iife.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/infinite-scroller.js +1 -1
- package/dist/esm/iterative.js +1 -1
- package/dist/esm/lightbox-abstractions.js +1 -1
- package/dist/esm/lightbox.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/markdown-svc.js +1 -1
- package/dist/esm/markdown.js +1 -1
- package/dist/esm/marquee.js +1 -1
- package/dist/esm/media-query.js +1 -1
- package/dist/esm/menu.js +1 -1
- package/dist/esm/pager.js +1 -1
- package/dist/esm/picture.js +1 -1
- package/dist/esm/progressbar.js +1 -1
- package/dist/esm/sidebar.js +1 -1
- package/dist/esm/slideshow.js +1 -1
- package/dist/esm/social-twitter.js +1 -1
- package/dist/esm/sticky-header.js +1 -1
- package/dist/esm/tabs.js +1 -1
- package/dist/esm/ticker.js +1 -1
- package/dist/esm/toast.js +1 -1
- package/dist/esm/toc.js +1 -1
- package/dist/esm/tuner.js +1 -1
- package/dist/esm/types.js +1 -1
- package/dist/esm/vibration.js +1 -1
- package/dist/esm/view.js +15 -1
- package/dist/esm/window.js +1 -1
- package/package.json +1 -1
package/dist/esm/adapter.js
CHANGED
package/dist/esm/anchor.js
CHANGED
package/dist/esm/balloon.js
CHANGED
package/dist/esm/binder.js
CHANGED
package/dist/esm/blade.js
CHANGED
package/dist/esm/bottom-sheet.js
CHANGED
package/dist/esm/button.js
CHANGED
package/dist/esm/buttonset.js
CHANGED
package/dist/esm/calendar.js
CHANGED
package/dist/esm/collapse.js
CHANGED
package/dist/esm/dialog.js
CHANGED
package/dist/esm/divider.js
CHANGED
package/dist/esm/icon.js
CHANGED
package/dist/esm/image.js
CHANGED
package/dist/esm/index-iife.js
CHANGED
package/dist/esm/index.js
CHANGED
package/dist/esm/iterative.js
CHANGED
package/dist/esm/lightbox.js
CHANGED
package/dist/esm/loader.js
CHANGED
package/dist/esm/markdown-svc.js
CHANGED
package/dist/esm/markdown.js
CHANGED
package/dist/esm/marquee.js
CHANGED
package/dist/esm/media-query.js
CHANGED
package/dist/esm/menu.js
CHANGED
package/dist/esm/pager.js
CHANGED
package/dist/esm/picture.js
CHANGED
package/dist/esm/progressbar.js
CHANGED
package/dist/esm/sidebar.js
CHANGED
package/dist/esm/slideshow.js
CHANGED
package/dist/esm/tabs.js
CHANGED
package/dist/esm/ticker.js
CHANGED
package/dist/esm/toast.js
CHANGED
package/dist/esm/toc.js
CHANGED
package/dist/esm/tuner.js
CHANGED
package/dist/esm/types.js
CHANGED
package/dist/esm/vibration.js
CHANGED
package/dist/esm/view.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @pacem/pacem-ui v2.0.0-
|
|
2
|
+
* @pacem/pacem-ui v2.0.0-chebyshev (https://js.pacem.it)
|
|
3
3
|
* Pacem (https://pacem.it)
|
|
4
4
|
* Licensed under Apache-2.0
|
|
5
5
|
*/
|
|
@@ -28,6 +28,8 @@ const ElementOrStringPropertyConverter = {
|
|
|
28
28
|
let PacemViewElement = class PacemViewElement extends PacemEventTarget {
|
|
29
29
|
constructor() {
|
|
30
30
|
super(...arguments);
|
|
31
|
+
/** Bumped by every new content: a pending `render` dispatch from superseded content is dropped. */
|
|
32
|
+
this.#renderVersion = 0;
|
|
31
33
|
this._templateChangeHandler = (evt) => {
|
|
32
34
|
const tmplProxy = evt.target;
|
|
33
35
|
this._setTmpl(tmplProxy.target);
|
|
@@ -45,6 +47,8 @@ let PacemViewElement = class PacemViewElement extends PacemEventTarget {
|
|
|
45
47
|
}, 100 /* tenth of a second limit */);
|
|
46
48
|
};
|
|
47
49
|
}
|
|
50
|
+
/** Bumped by every new content: a pending `render` dispatch from superseded content is dropped. */
|
|
51
|
+
#renderVersion;
|
|
48
52
|
propertyChangedCallback(name, old, val, first) {
|
|
49
53
|
super.propertyChangedCallback(name, old, val, first);
|
|
50
54
|
// url
|
|
@@ -110,6 +114,7 @@ let PacemViewElement = class PacemViewElement extends PacemEventTarget {
|
|
|
110
114
|
}
|
|
111
115
|
_setTmpl(tmpl) {
|
|
112
116
|
cancelAnimationFrame(this._renderHandle);
|
|
117
|
+
this.#renderVersion++;
|
|
113
118
|
// this way, `this._container.innerHTML = ''` instruction will eventually let the page "scroll up"...
|
|
114
119
|
this.innerHTML = '';
|
|
115
120
|
this._dispatchPrerender();
|
|
@@ -182,6 +187,7 @@ let PacemViewElement = class PacemViewElement extends PacemEventTarget {
|
|
|
182
187
|
_manageResult(result) {
|
|
183
188
|
// this way, `this._container.innerHTML = ''` instruction will eventually let the page "scroll up"...
|
|
184
189
|
cancelAnimationFrame(this._renderHandle);
|
|
190
|
+
const version = ++this.#renderVersion;
|
|
185
191
|
this.scrollTo({ top: 0, left: 0, behavior: 'instant' });
|
|
186
192
|
this.innerHTML = '';
|
|
187
193
|
this._dispatchPrerender();
|
|
@@ -192,12 +198,20 @@ let PacemViewElement = class PacemViewElement extends PacemEventTarget {
|
|
|
192
198
|
// setting fetching to `false` triggers a css class change that could/should cause a css transition to happen
|
|
193
199
|
// TODO: manage to switch to native in a near future (https://developer.mozilla.org/en-US/docs/Web/API/View_Transitions_API or https://youtu.be/oDcb3fvtETs)
|
|
194
200
|
Utils.addAnimationEndCallback(this, () => {
|
|
201
|
+
if (version !== this.#renderVersion) {
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
195
204
|
this._dispatchRender();
|
|
196
205
|
}, ANIM_TIMEOUT);
|
|
197
206
|
});
|
|
198
207
|
}
|
|
199
208
|
#resizeHandle;
|
|
200
209
|
_dispatchRender() {
|
|
210
|
+
// the view might have been removed meanwhile (e.g. a nested view whose container got re-rendered):
|
|
211
|
+
// no shell to host the resizer, nothing to notify.
|
|
212
|
+
if (!this.isConnected) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
201
215
|
const resizer = new Components.PacemResizeElement();
|
|
202
216
|
resizer.target = this;
|
|
203
217
|
resizer.addEventListener(Components.ResizeEventName, this._debounceDispatchHandler);
|
package/dist/esm/window.js
CHANGED