@nanoporetech-digital/components 5.4.2 → 5.5.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.
Files changed (65) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +1 -1
  3. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
  4. package/dist/cjs/nano-global-nav.cjs.entry.js +1 -4
  5. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  6. package/dist/cjs/nano-slides.cjs.entry.js +64 -33
  7. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  8. package/dist/cjs/{nano-table-201b1ee2.js → nano-table-884ce575.js} +2 -2
  9. package/dist/cjs/{nano-table-201b1ee2.js.map → nano-table-884ce575.js.map} +1 -1
  10. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  11. package/dist/cjs/{table.worker-1b295406.js → table.worker-670457aa.js} +2 -2
  12. package/dist/cjs/table.worker-670457aa.js.map +1 -0
  13. package/dist/collection/components/global-nav/global-nav.js +1 -4
  14. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  15. package/dist/collection/components/nav-item/nav-item.js +1 -1
  16. package/dist/collection/components/nav-item/nav-item.js.map +1 -1
  17. package/dist/collection/components/slides/lib/js/animate.js +5 -3
  18. package/dist/collection/components/slides/lib/js/flickity.js +1 -0
  19. package/dist/collection/components/slides/lib/js/page-dots.js +5 -0
  20. package/dist/collection/components/slides/lib/js/prev-next-button.js +23 -6
  21. package/dist/collection/components/slides/slides-interface.js.map +1 -1
  22. package/dist/collection/components/slides/slides.js +47 -28
  23. package/dist/collection/components/slides/slides.js.map +1 -1
  24. package/dist/components/nano-global-nav.js +1 -4
  25. package/dist/components/nano-global-nav.js.map +1 -1
  26. package/dist/components/nano-slides.js +64 -33
  27. package/dist/components/nano-slides.js.map +1 -1
  28. package/dist/components/nav-item.js +1 -1
  29. package/dist/components/nav-item.js.map +1 -1
  30. package/dist/esm/nano-global-nav-user-profile_3.entry.js +1 -1
  31. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  32. package/dist/esm/nano-global-nav.entry.js +1 -4
  33. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  34. package/dist/esm/nano-slides.entry.js +64 -33
  35. package/dist/esm/nano-slides.entry.js.map +1 -1
  36. package/dist/esm/{nano-table-f2c222e8.js → nano-table-c6a4e1dc.js} +2 -2
  37. package/dist/esm/{nano-table-f2c222e8.js.map → nano-table-c6a4e1dc.js.map} +1 -1
  38. package/dist/esm/nano-table.entry.js +1 -1
  39. package/dist/esm/{table.worker-8356a40e.js → table.worker-2568f20c.js} +2 -2
  40. package/dist/esm/table.worker-2568f20c.js.map +1 -0
  41. package/dist/nano-components/nano-components.esm.js +1 -1
  42. package/dist/nano-components/{p-bdb5dfc3.js → p-4ef3200a.js} +2 -2
  43. package/dist/nano-components/p-7c4ac519.entry.js +23 -0
  44. package/dist/nano-components/p-7c4ac519.entry.js.map +1 -0
  45. package/dist/nano-components/{p-fa9f834b.entry.js → p-997319eb.entry.js} +2 -2
  46. package/dist/nano-components/{p-fa9f834b.entry.js.map → p-997319eb.entry.js.map} +1 -1
  47. package/dist/nano-components/{p-e94da35a.entry.js → p-9a0191c7.entry.js} +2 -2
  48. package/dist/nano-components/p-afd3cd17.entry.js +5 -0
  49. package/dist/nano-components/p-afd3cd17.entry.js.map +1 -0
  50. package/dist/nano-components/{p-a593dac2.js → p-f5698b41.js} +2 -2
  51. package/dist/types/components/slides/slides-interface.d.ts +2 -0
  52. package/dist/types/components/slides/slides.d.ts +39 -74
  53. package/dist/types/components.d.ts +3 -3
  54. package/docs-json.json +104 -7
  55. package/hydrate/index.js +80 -39
  56. package/package.json +2 -2
  57. package/dist/cjs/table.worker-1b295406.js.map +0 -1
  58. package/dist/esm/table.worker-8356a40e.js.map +0 -1
  59. package/dist/nano-components/p-37c7eda3.entry.js +0 -5
  60. package/dist/nano-components/p-37c7eda3.entry.js.map +0 -1
  61. package/dist/nano-components/p-7f5fb917.entry.js +0 -23
  62. package/dist/nano-components/p-7f5fb917.entry.js.map +0 -1
  63. /package/dist/nano-components/{p-bdb5dfc3.js.map → p-4ef3200a.js.map} +0 -0
  64. /package/dist/nano-components/{p-a593dac2.js.map → p-9a0191c7.entry.js.map} +0 -0
  65. /package/dist/nano-components/{p-e94da35a.entry.js.map → p-f5698b41.js.map} +0 -0
@@ -788,9 +788,11 @@ proto$9.setTranslateX = function (x, is3d) {
788
788
  var translateX = this.getPositionValue(x);
789
789
  // use 3D tranforms for hardware acceleration on iOS
790
790
  // but use 2D when settled, for better font-rendering
791
- this.slider.style.transform = is3d
792
- ? 'translate3d(' + translateX + ',0,0)'
793
- : 'translateX(' + translateX + ')';
791
+ // this.slider.style.transform = is3d
792
+ // ? 'translate3d(' + translateX + ',0,0)'
793
+ // : 'translateX(' + translateX + ')';
794
+
795
+ this.slider.style.transform = 'translate3d(' + translateX + ',0,0)';
794
796
  };
795
797
 
796
798
  proto$9.dispatchScrollEvent = function () {
@@ -995,6 +997,7 @@ proto$8._create = function () {
995
997
  // create viewport & slider
996
998
  this.viewport = document.createElement('div');
997
999
  this.viewport.className = 'flickity-viewport';
1000
+ this.viewport.part.add('slide-viewport');
998
1001
  this._createSlider();
999
1002
 
1000
1003
  if (this.options.resize || this.options.watchCSS) {
@@ -2735,19 +2738,35 @@ PrevNextButton.prototype._create = function () {
2735
2738
  var leftDirection = this.parent.options.rightToLeft ? 1 : -1;
2736
2739
  this.isLeft = this.direction == leftDirection;
2737
2740
 
2738
- var element = (this.element = document.createElement('button'));
2739
- element.className = 'flickity-button flickity-prev-next-button';
2740
- element.className += this.isPrevious ? ' previous' : ' next';
2741
+ var button = (this.element = document.createElement('button'));
2742
+ button.className = 'flickity-button flickity-prev-next-button';
2743
+ button.part.add('navigation-button');
2744
+ if (this.isPrevious) {
2745
+ button.classList.add('previous');
2746
+ button.part.add('navigation-button--previous');
2747
+ } else {
2748
+ button.classList.add('next');
2749
+ button.part.add('navigation-button--next');
2750
+ }
2741
2751
  // prevent button from submitting form http://stackoverflow.com/a/10836076/182183
2742
- element.setAttribute('type', 'button');
2752
+ button.setAttribute('type', 'button');
2743
2753
  // init as disabled
2744
2754
  this.disable();
2745
2755
 
2746
- element.setAttribute('aria-label', this.isPrevious ? 'Previous' : 'Next');
2756
+ button.setAttribute('aria-label', this.isPrevious ? 'Previous' : 'Next');
2757
+
2758
+ const slot = document.createElement('slot');
2759
+ slot.name = this.isPrevious ? 'previous-icon' : 'next-icon';
2760
+ button.appendChild(slot);
2761
+ slot.addEventListener('slotchange', () => {
2762
+ slot.assignedElements({ flatten: true }).forEach((ele) => {
2763
+ ele.removeAttribute('hidden');
2764
+ });
2765
+ });
2747
2766
 
2748
2767
  // create arrow
2749
2768
  var svg = this.createSVG();
2750
- element.appendChild(svg);
2769
+ slot.appendChild(svg);
2751
2770
  // events
2752
2771
  this.parent.on('select', this.update.bind(this));
2753
2772
  this.on('pointerDown', this.parent.childUIPointerDown.bind(this.parent));
@@ -2772,6 +2791,7 @@ PrevNextButton.prototype.createSVG = function () {
2772
2791
  var svg = document.createElementNS(svgURI$1, 'svg');
2773
2792
  svg.setAttribute('class', 'flickity-button-icon');
2774
2793
  svg.setAttribute('viewBox', '0 0 100 100');
2794
+ svg.part.add('navigation-icon');
2775
2795
  var path = document.createElementNS(svgURI$1, 'path');
2776
2796
  var pathMovements = getArrowMovements(this.parent.options.arrowShape);
2777
2797
  path.setAttribute('d', pathMovements);
@@ -2922,6 +2942,8 @@ PageDots.prototype._create = function () {
2922
2942
  // create holder element
2923
2943
  this.holder = document.createElement('ol');
2924
2944
  this.holder.className = 'flickity-page-dots';
2945
+ this.holder.part.add('pagination');
2946
+
2925
2947
  // create dots, array of elements
2926
2948
  this.dots = [];
2927
2949
  // events
@@ -2963,6 +2985,7 @@ PageDots.prototype.addDots = function (count) {
2963
2985
  for (var i = length; i < max; i++) {
2964
2986
  var dot = document.createElement('li');
2965
2987
  dot.classList.add('dot');
2988
+ dot.part.add('pagination-item');
2966
2989
  dot.setAttribute('aria-label', 'Page dot ' + (i + 1));
2967
2990
  fragment.appendChild(dot);
2968
2991
  newDots.push(dot);
@@ -2985,6 +3008,7 @@ PageDots.prototype.updateSelected = function () {
2985
3008
  // remove selected class on previous
2986
3009
  if (this.selectedDot) {
2987
3010
  this.selectedDot.classList.remove('is-selected');
3011
+ this.selectedDot.part.remove('pagination-item--active');
2988
3012
  this.selectedDot.removeAttribute('aria-current');
2989
3013
  }
2990
3014
  // don't proceed if no dots
@@ -2993,6 +3017,7 @@ PageDots.prototype.updateSelected = function () {
2993
3017
  }
2994
3018
  this.selectedDot = this.dots[this.parent.selectedIndex];
2995
3019
  this.selectedDot.classList.add('is-selected');
3020
+ this.selectedDot.part.add('pagination-item--active');
2996
3021
  this.selectedDot.setAttribute('aria-current', 'step');
2997
3022
  };
2998
3023
 
@@ -3822,6 +3847,9 @@ const flickity = Flickity;
3822
3847
 
3823
3848
  const slidesCss = ":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{--dot-color:#ccc;--dot-color-active:var(--nano-color-primary, #007495);--navbtns-icon-color:var(--dot-color-active);--navbtns-bg-color:white;--navbtns-icon-color-disabled:var(--dot-color-active);--navbtns-bg-color-disabled:white;--fsbtn-icon-color:var(--dot-color-active);--fsbtn-bg-color:white;display:block;-webkit-user-select:none;user-select:none;overflow:hidden;transition:opacity 0.2s;opacity:0;max-width:100vw}:host([ready]){opacity:1}.slideshow{max-height:100%;min-height:inherit;height:inherit;position:relative}.slideshow.not-ready{max-width:98vw}.flickity-container{opacity:0;transition:opacity 0.2s;display:flex;width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}.not-ready .flickity-container{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}.flickity-container.slides-ready{min-height:inherit;max-height:inherit;height:inherit;width:auto}[hidden]{display:none !important}.ui-extras{pointer-events:none;position:absolute;block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0}.ui-extras *{pointer-events:all}/*! Flickity v2.2.1\nhttps://flickity.metafizzy.co\n---------------------------------------------- */.flickity-enabled{position:relative;opacity:1}.flickity-enabled:focus{outline:none}.flickity-viewport{overflow:hidden;position:relative;min-block-size:100%;flex:1}.flickity-slider{position:absolute;inline-size:100%;block-size:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:grabbing}.flickity-button{position:absolute;background:var(--navbtns-bg-color);border:none;color:#333;opacity:0.75}.flickity-button:hover{opacity:1;cursor:pointer}.flickity-button:focus{outline:none;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:0.6}.flickity-button:disabled{opacity:0.3;cursor:auto;pointer-events:none;background:var(--navbtns-bg-color-disabled)}.flickity-button-icon{fill:var(--navbtns-icon-color)}.flickity-button:disabled .flickity-button-icon{fill:var(--navbtns-icon-color-disabled)}.flickity-prev-next-button{inset-block-start:50%;inline-size:44px;block-size:44px;border-radius:50%;transform:translateY(-50%)}.flickity-prev-next-button.previous{inset-inline-start:10px}.flickity-prev-next-button.next{inset-inline-end:10px}.flickity-rtl .flickity-prev-next-button.previous{inset-inline:auto 10px}.flickity-rtl .flickity-prev-next-button.next{inset-inline:10px auto}.flickity-prev-next-button .flickity-button-icon{position:absolute;inset-inline-start:20%;inset-block-start:20%;inline-size:60%;block-size:60%}.flickity-page-dots{position:absolute;inline-size:100%;inset-block-end:10px;padding:0;margin:0;list-style:none;text-align:center;line-height:1;z-index:4}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;inline-size:10px;block-size:10px;margin-block:0;margin-inline:8px;border-radius:50%;cursor:pointer;background:var(--dot-color)}.flickity-page-dots .dot.is-selected{opacity:1;background:var(--dot-color-active)}.flickity-enabled.is-fullscreen{position:fixed;inset-inline-start:0;inset-block-start:0;inline-size:100%;block-size:100%;background:rgba(0, 0, 0, 0.9);-webkit-padding-after:35px;padding-block-end:35px;z-index:100}.flickity-enabled.is-fullscreen .flickity-page-dots{inset-block-end:45px}html.is-flickity-fullscreen{overflow:hidden}.flickity-fullscreen-button{display:block;inset-inline-end:10px;inset-block-start:10px;inline-size:24px;block-size:24px;border-radius:4px;background:var(--fsbtn-bg-color);fill:var(--fsbtn-icon-color)}.flickity-rtl .flickity-fullscreen-button{inset-inline:10px auto}.flickity-fullscreen-button-exit{display:none}.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit{display:block}.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view{display:none}.flickity-fullscreen-button .flickity-button-icon{position:absolute;inline-size:16px;block-size:16px;inset-inline-start:4px;inset-block-start:4px}.flickity-enabled.is-fade .flickity-slider>*{pointer-events:none;z-index:0}.flickity-enabled.is-fade .flickity-slider ::slotted(.is-selected){pointer-events:auto;z-index:1}";
3824
3849
 
3850
+ const modulo = (num, div) => {
3851
+ return ((num % div) + div) % div;
3852
+ };
3825
3853
  const Slides = class {
3826
3854
  constructor(hostRef) {
3827
3855
  registerInstance(this, hostRef);
@@ -3840,12 +3868,25 @@ const Slides = class {
3840
3868
  this.flickity = new Promise((resolve) => {
3841
3869
  this.readyflickity = resolve;
3842
3870
  });
3843
- this.parralax = async () => {
3871
+ this.parallax = async () => {
3844
3872
  const flkty = await this.flickity;
3845
- flkty.slides.forEach((slide, i) => {
3873
+ flkty.cells.forEach((el, i) => {
3874
+ const cell = el;
3875
+ let flkX = flkty.x;
3876
+ const shiftedPos = cell.x + flkty.slideableWidth * cell.shift;
3846
3877
  const ele = this.childrenEles[i];
3847
- const x = ((slide.target + flkty.x) * -1) / 3;
3848
- ele.style['transform'] = 'translateX(' + x + 'px)';
3878
+ if (flkty.options.wrapAround && flkty.cells.length > 1) {
3879
+ flkX = modulo(flkX, flkty.slideableWidth);
3880
+ flkX = flkX - flkty.slideableWidth;
3881
+ }
3882
+ let x = ((cell.target + flkX) * -1) / 3;
3883
+ if (cell.shift < 0) {
3884
+ x = x + Math.abs(shiftedPos) * 1.3333;
3885
+ }
3886
+ else if (cell.shift > 0) {
3887
+ x = ((cell.target + (flkX + shiftedPos)) * -1) / 3;
3888
+ }
3889
+ ele.style.transform = 'translate3d(' + x + 'px, 0, 0)';
3849
3890
  });
3850
3891
  };
3851
3892
  this.handleFullscreen = (isFullScreen) => {
@@ -3906,7 +3947,7 @@ const Slides = class {
3906
3947
  slide.style['left'] = undefined;
3907
3948
  });
3908
3949
  if (oldAnim === 'parallax') {
3909
- flkty.off('scroll', this.parralax);
3950
+ flkty.off('scroll', this.parallax);
3910
3951
  slides.forEach((_, i) => {
3911
3952
  if (this.childrenEles && this.childrenEles[i])
3912
3953
  this.childrenEles[i].style['transform'] = undefined;
@@ -3920,7 +3961,7 @@ const Slides = class {
3920
3961
  break;
3921
3962
  case 'parallax':
3922
3963
  this.options = { fade: false, percentPosition: false };
3923
- flkty.on('scroll', this.parralax);
3964
+ flkty.on('scroll', this.parallax);
3924
3965
  break;
3925
3966
  default:
3926
3967
  this.options = { fade: false, percentPosition: true };
@@ -3998,30 +4039,22 @@ const Slides = class {
3998
4039
  const flickity = await this.getflickity();
3999
4040
  flickity.previous(instant, wrap);
4000
4041
  }
4001
- /**
4002
- * Get the index of the active slide.
4003
- */
4042
+ /** Get the index of the active slide. */
4004
4043
  async getActiveIndex() {
4005
4044
  const flickity = await this.getflickity();
4006
4045
  return flickity.selectedIndex;
4007
4046
  }
4008
- /**
4009
- * Get the total number of slides.
4010
- */
4047
+ /** Get the total number of slides. */
4011
4048
  async length() {
4012
4049
  const flickity = await this.getflickity();
4013
4050
  return flickity.slides.length;
4014
4051
  }
4015
- /**
4016
- * Get whether or not the current slide is the last slide.
4017
- */
4052
+ /** Get whether or not the current slide is the last slide. */
4018
4053
  async isEnd() {
4019
4054
  const flickity = await this.getflickity();
4020
4055
  return flickity.selectedIndex === flickity.slides.length - 1;
4021
4056
  }
4022
- /**
4023
- * Get whether or not the current slide is the first slide.
4024
- */
4057
+ /** Get whether or not the current slide is the first slide. */
4025
4058
  async isBeginning() {
4026
4059
  const flickity = await this.getflickity();
4027
4060
  return flickity.selectedIndex === 0;
@@ -4036,9 +4069,7 @@ const Slides = class {
4036
4069
  this.options = { autoPlay: time };
4037
4070
  setTimeout(() => flickity.playPlayer());
4038
4071
  }
4039
- /**
4040
- * Stop auto play.
4041
- */
4072
+ /** Stop auto play. */
4042
4073
  async stopAutoplay() {
4043
4074
  const flickity = await this.getflickity();
4044
4075
  flickity.stopPlayer();
@@ -4118,7 +4149,7 @@ const Slides = class {
4118
4149
  this.ready = true;
4119
4150
  if (!window['ResizeObserver'])
4120
4151
  return;
4121
- // just boots and brances to make sure it's the correct size oninit
4152
+ // just boots and braces to make sure it's the correct size oninit
4122
4153
  const ro = (this.resizeO = new ResizeObserver(() => {
4123
4154
  flick.resize();
4124
4155
  // this.resizeO.disconnect();
@@ -4211,11 +4242,11 @@ const Slides = class {
4211
4242
  slideshow: true,
4212
4243
  ready: this.ready,
4213
4244
  'not-ready': !this.ready,
4214
- } }, h("div", { ref: (div) => (this.flickityEl = div), class: {
4245
+ }, part: "base" }, h("div", { ref: (div) => (this.flickityEl = div), class: {
4215
4246
  'flickity-container': true,
4216
4247
  'slides-ready': this.slidesReady,
4217
4248
  'slides-not-ready': !this.slidesReady,
4218
- } }, h("slot", null)), h("div", { class: "ui-extras" }, h("slot", { name: "ui" })))));
4249
+ }, part: "slide-container" }, h("slot", null)), h("div", { class: "ui-extras" }, h("slot", { name: "ui" })))));
4219
4250
  }
4220
4251
  get host() { return getElement(this); }
4221
4252
  static get watchers() { return {