@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.
Files changed (52) hide show
  1. package/dist/browser/pacem-ui.js +15 -1
  2. package/dist/browser/pacem-ui.js.map +1 -1
  3. package/dist/browser/pacem-ui.min.js +2 -2
  4. package/dist/bundle/pacem-ui.min.mjs +2 -2
  5. package/dist/bundle/pacem-ui.mjs +12 -1
  6. package/dist/bundle/pacem-ui.mjs.map +2 -2
  7. package/dist/esm/adapter.js +1 -1
  8. package/dist/esm/anchor.js +1 -1
  9. package/dist/esm/balloon.js +1 -1
  10. package/dist/esm/binder.js +1 -1
  11. package/dist/esm/blade.js +1 -1
  12. package/dist/esm/bottom-sheet.js +1 -1
  13. package/dist/esm/button.js +1 -1
  14. package/dist/esm/buttonset.js +1 -1
  15. package/dist/esm/calendar.js +1 -1
  16. package/dist/esm/collapse.js +1 -1
  17. package/dist/esm/dialog-abstractions.js +1 -1
  18. package/dist/esm/dialog.js +1 -1
  19. package/dist/esm/divider.js +1 -1
  20. package/dist/esm/icon.js +1 -1
  21. package/dist/esm/image.js +1 -1
  22. package/dist/esm/index-components-ui.js +1 -1
  23. package/dist/esm/index-components.js +1 -1
  24. package/dist/esm/index-iife.js +1 -1
  25. package/dist/esm/index.js +1 -1
  26. package/dist/esm/infinite-scroller.js +1 -1
  27. package/dist/esm/iterative.js +1 -1
  28. package/dist/esm/lightbox-abstractions.js +1 -1
  29. package/dist/esm/lightbox.js +1 -1
  30. package/dist/esm/loader.js +1 -1
  31. package/dist/esm/markdown-svc.js +1 -1
  32. package/dist/esm/markdown.js +1 -1
  33. package/dist/esm/marquee.js +1 -1
  34. package/dist/esm/media-query.js +1 -1
  35. package/dist/esm/menu.js +1 -1
  36. package/dist/esm/pager.js +1 -1
  37. package/dist/esm/picture.js +1 -1
  38. package/dist/esm/progressbar.js +1 -1
  39. package/dist/esm/sidebar.js +1 -1
  40. package/dist/esm/slideshow.js +1 -1
  41. package/dist/esm/social-twitter.js +1 -1
  42. package/dist/esm/sticky-header.js +1 -1
  43. package/dist/esm/tabs.js +1 -1
  44. package/dist/esm/ticker.js +1 -1
  45. package/dist/esm/toast.js +1 -1
  46. package/dist/esm/toc.js +1 -1
  47. package/dist/esm/tuner.js +1 -1
  48. package/dist/esm/types.js +1 -1
  49. package/dist/esm/vibration.js +1 -1
  50. package/dist/esm/view.js +15 -1
  51. package/dist/esm/window.js +1 -1
  52. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @pacem/pacem-ui v2.0.0-cauchy (https://js.pacem.it)
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
  */
@@ -5934,6 +5934,8 @@ css-class="{{ ['hour-start-'+ (^item.hour + 1), 'hour-end-'+ (^item.hour + ^item
5934
5934
  let PacemViewElement = class PacemViewElement extends pacemCore.PacemEventTarget {
5935
5935
  constructor() {
5936
5936
  super(...arguments);
5937
+ /** Bumped by every new content: a pending `render` dispatch from superseded content is dropped. */
5938
+ this.#renderVersion = 0;
5937
5939
  this._templateChangeHandler = (evt) => {
5938
5940
  const tmplProxy = evt.target;
5939
5941
  this._setTmpl(tmplProxy.target);
@@ -5951,6 +5953,8 @@ css-class="{{ ['hour-start-'+ (^item.hour + 1), 'hour-end-'+ (^item.hour + ^item
5951
5953
  }, 100 /* tenth of a second limit */);
5952
5954
  };
5953
5955
  }
5956
+ /** Bumped by every new content: a pending `render` dispatch from superseded content is dropped. */
5957
+ #renderVersion;
5954
5958
  propertyChangedCallback(name, old, val, first) {
5955
5959
  super.propertyChangedCallback(name, old, val, first);
5956
5960
  // url
@@ -6015,6 +6019,7 @@ css-class="{{ ['hour-start-'+ (^item.hour + 1), 'hour-end-'+ (^item.hour + ^item
6015
6019
  }
6016
6020
  _setTmpl(tmpl) {
6017
6021
  cancelAnimationFrame(this._renderHandle);
6022
+ this.#renderVersion++;
6018
6023
  // this way, `this._container.innerHTML = ''` instruction will eventually let the page "scroll up"...
6019
6024
  this.innerHTML = '';
6020
6025
  this._dispatchPrerender();
@@ -6087,6 +6092,7 @@ css-class="{{ ['hour-start-'+ (^item.hour + 1), 'hour-end-'+ (^item.hour + ^item
6087
6092
  _manageResult(result) {
6088
6093
  // this way, `this._container.innerHTML = ''` instruction will eventually let the page "scroll up"...
6089
6094
  cancelAnimationFrame(this._renderHandle);
6095
+ const version = ++this.#renderVersion;
6090
6096
  this.scrollTo({ top: 0, left: 0, behavior: 'instant' });
6091
6097
  this.innerHTML = '';
6092
6098
  this._dispatchPrerender();
@@ -6097,12 +6103,20 @@ css-class="{{ ['hour-start-'+ (^item.hour + 1), 'hour-end-'+ (^item.hour + ^item
6097
6103
  // setting fetching to `false` triggers a css class change that could/should cause a css transition to happen
6098
6104
  // 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)
6099
6105
  pacemCore.Utils.addAnimationEndCallback(this, () => {
6106
+ if (version !== this.#renderVersion) {
6107
+ return;
6108
+ }
6100
6109
  this._dispatchRender();
6101
6110
  }, ANIM_TIMEOUT);
6102
6111
  });
6103
6112
  }
6104
6113
  #resizeHandle;
6105
6114
  _dispatchRender() {
6115
+ // the view might have been removed meanwhile (e.g. a nested view whose container got re-rendered):
6116
+ // no shell to host the resizer, nothing to notify.
6117
+ if (!this.isConnected) {
6118
+ return;
6119
+ }
6106
6120
  const resizer = new pacemCore.Components.PacemResizeElement();
6107
6121
  resizer.target = this;
6108
6122
  resizer.addEventListener(pacemCore.Components.ResizeEventName, this._debounceDispatchHandler);