@pacem/pacem 1.0.0-euler → 1.0.0-galois

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 (41) hide show
  1. package/dist/browser/pacem-2d.js +1 -1
  2. package/dist/browser/pacem-2d.min.js +1 -1
  3. package/dist/browser/pacem-3d.js +4 -2
  4. package/dist/browser/pacem-3d.js.map +1 -1
  5. package/dist/browser/pacem-3d.min.js +2 -2
  6. package/dist/browser/pacem-charts.js +1 -1
  7. package/dist/browser/pacem-charts.min.js +1 -1
  8. package/dist/browser/pacem-cms.js +1 -1
  9. package/dist/browser/pacem-cms.min.js +1 -1
  10. package/dist/browser/pacem-core.js +1 -1
  11. package/dist/browser/pacem-core.min.js +1 -1
  12. package/dist/browser/pacem-foundation.js +1 -1
  13. package/dist/browser/pacem-foundation.min.js +1 -1
  14. package/dist/browser/pacem-fx.js +1 -1
  15. package/dist/browser/pacem-fx.min.js +1 -1
  16. package/dist/browser/pacem-logging.js +1 -1
  17. package/dist/browser/pacem-logging.min.js +1 -1
  18. package/dist/browser/pacem-maps.js +1 -1
  19. package/dist/browser/pacem-maps.min.js +1 -1
  20. package/dist/browser/pacem-media.js +1 -1
  21. package/dist/browser/pacem-media.min.js +1 -1
  22. package/dist/browser/pacem-networking.js +1 -1
  23. package/dist/browser/pacem-networking.min.js +1 -1
  24. package/dist/browser/pacem-numerical.js +1 -1
  25. package/dist/browser/pacem-numerical.min.js +1 -1
  26. package/dist/browser/pacem-plus.js +2 -2
  27. package/dist/browser/pacem-plus.js.map +1 -1
  28. package/dist/browser/pacem-plus.min.js +2 -2
  29. package/dist/browser/pacem-scaffolding.js +66 -23
  30. package/dist/browser/pacem-scaffolding.js.map +1 -1
  31. package/dist/browser/pacem-scaffolding.min.js +2 -2
  32. package/dist/browser/pacem-ui.js +47 -34
  33. package/dist/browser/pacem-ui.js.map +1 -1
  34. package/dist/browser/pacem-ui.min.js +2 -2
  35. package/dist/bundle/pacem.min.mjs +144 -144
  36. package/dist/bundle/pacem.mjs +104 -51
  37. package/dist/bundle/pacem.mjs.map +2 -2
  38. package/dist/docs/pacem-ui.json +96 -0
  39. package/dist/typings/index.d.ts +6 -2
  40. package/dist/vscode.html-custom.json +1 -1
  41. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @pacem/pacem v1.0.0-euler (https://js.pacem.it)
2
+ * @pacem/pacem v1.0.0-galois (https://js.pacem.it)
3
3
  * Pacem (https://pacem.it)
4
4
  * Licensed under Apache-2.0
5
5
  */
@@ -4508,44 +4508,14 @@ css-class="{{ ['hour-start-'+ (^item.hour + 1), 'hour-end-'+ (^item.hour + ^item
4508
4508
  constructor() {
4509
4509
  super(...arguments);
4510
4510
  this._onPathChange = (evt) => {
4511
- const menu = this._menu, path = (evt && evt.detail) || window.location.pathname;
4512
- if (pacemCore.Utils.isNull(menu)) {
4513
- this.log(pacemCore.Logging.LogLevel.Warn, `Couldn't find a ${PacemMenuElement} ancestor for this ${PacemMenuCursorElement_1}.`);
4514
- return;
4515
- }
4516
- // 1. try to find a matching PacemAnchorElement
4517
- var anchors = menu.querySelectorAll(pacemCore.P + '-a');
4518
- var tget = null;
4519
- for (let j = 0; j < anchors.length; j++) {
4520
- let a = anchors.item(j);
4521
- if (a.href === path) {
4522
- tget = a;
4523
- break;
4524
- }
4525
- }
4526
- if (pacemCore.Utils.isNull(tget)) {
4527
- // 2. try with real HTMLAnchorElement
4528
- tget = menu.querySelector(`a[href='${path}']`);
4529
- }
4530
- if (!pacemCore.Utils.isNull(tget)) {
4531
- // TODO: use transforms (remove width/height/top/... animations)
4532
- // TODO: consider <nav> scrollTop
4533
- const rect = pacemCore.Utils.offset(tget);
4534
- const rectMenu = pacemCore.Utils.offset(menu);
4535
- this.style.top = rect.top + 'px';
4536
- this.style.left = rectMenu.left + 'px';
4537
- this.style.width = '0';
4538
- this.style.height = rect.height + 'px';
4539
- pacemCore.Utils.addAnimationEndCallback(this, () => {
4540
- this.style.width = (rect.width + rect.left - rectMenu.left) + 'px';
4541
- }, 500);
4542
- }
4511
+ const path = evt?.detail.path;
4512
+ this._findAnchorAndScrollItIntoView(path);
4543
4513
  };
4544
4514
  }
4545
4515
  viewActivatedCallback() {
4546
4516
  super.viewActivatedCallback();
4547
4517
  this._menu = pacemCore.CustomElementUtils.findAncestorOfType(this, PacemMenuElement);
4548
- this._onPathChange();
4518
+ this._findAnchorAndScrollItIntoView();
4549
4519
  }
4550
4520
  connectedCallback() {
4551
4521
  super.connectedCallback();
@@ -4556,6 +4526,49 @@ css-class="{{ ['hour-start-'+ (^item.hour + 1), 'hour-end-'+ (^item.hour + ^item
4556
4526
  window.removeEventListener('navigate', this._onPathChange, false);
4557
4527
  super.disconnectedCallback();
4558
4528
  }
4529
+ propertyChangedCallback(name, old, val, first) {
4530
+ super.propertyChangedCallback(name, old, val, first);
4531
+ if (first) {
4532
+ return;
4533
+ }
4534
+ switch (name) {
4535
+ case 'disabled':
4536
+ this._findAnchorAndScrollItIntoView();
4537
+ break;
4538
+ }
4539
+ }
4540
+ _findAnchorAndScrollItIntoView(path = window.location.pathname) {
4541
+ if (this.disabled) {
4542
+ return;
4543
+ }
4544
+ const menu = this._menu;
4545
+ if (pacemCore.Utils.isNull(menu)) {
4546
+ this.log(pacemCore.Logging.LogLevel.Warn, `Couldn't find a ${PacemMenuElement} ancestor for this ${PacemMenuCursorElement_1}.`);
4547
+ return;
4548
+ }
4549
+ // 1. try to find a matching PacemAnchorElement
4550
+ const anchors = menu.querySelectorAll(pacemCore.P + '-a');
4551
+ let tget = null;
4552
+ for (let j = 0; j < anchors.length; j++) {
4553
+ const a = anchors.item(j);
4554
+ const router = a.router;
4555
+ let href = pacemCore.Utils.isNull(router)
4556
+ ? a.href
4557
+ : /* build fully formatted href, it might contain placeholders */ pacemCore.Utils.URIs.format(a.href, router.state);
4558
+ if (href === path) {
4559
+ tget = a;
4560
+ break;
4561
+ }
4562
+ }
4563
+ if (pacemCore.Utils.isNull(tget)) {
4564
+ // 2. try with real HTMLAnchorElement
4565
+ tget = menu.querySelector(`a[href='${path}']`);
4566
+ }
4567
+ // finally, scroll if any matching anchor was found
4568
+ if (!pacemCore.Utils.isNull(tget)) {
4569
+ tget.scrollIntoView({ behavior: 'smooth' });
4570
+ }
4571
+ }
4559
4572
  };
4560
4573
  PacemMenuCursorElement = PacemMenuCursorElement_1 = __decorate$f([
4561
4574
  pacemCore.CustomElement({