@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
@@ -792,9 +792,11 @@ proto$9.setTranslateX = function (x, is3d) {
792
792
  var translateX = this.getPositionValue(x);
793
793
  // use 3D tranforms for hardware acceleration on iOS
794
794
  // but use 2D when settled, for better font-rendering
795
- this.slider.style.transform = is3d
796
- ? 'translate3d(' + translateX + ',0,0)'
797
- : 'translateX(' + translateX + ')';
795
+ // this.slider.style.transform = is3d
796
+ // ? 'translate3d(' + translateX + ',0,0)'
797
+ // : 'translateX(' + translateX + ')';
798
+
799
+ this.slider.style.transform = 'translate3d(' + translateX + ',0,0)';
798
800
  };
799
801
 
800
802
  proto$9.dispatchScrollEvent = function () {
@@ -999,6 +1001,7 @@ proto$8._create = function () {
999
1001
  // create viewport & slider
1000
1002
  this.viewport = document.createElement('div');
1001
1003
  this.viewport.className = 'flickity-viewport';
1004
+ this.viewport.part.add('slide-viewport');
1002
1005
  this._createSlider();
1003
1006
 
1004
1007
  if (this.options.resize || this.options.watchCSS) {
@@ -2739,19 +2742,35 @@ PrevNextButton.prototype._create = function () {
2739
2742
  var leftDirection = this.parent.options.rightToLeft ? 1 : -1;
2740
2743
  this.isLeft = this.direction == leftDirection;
2741
2744
 
2742
- var element = (this.element = document.createElement('button'));
2743
- element.className = 'flickity-button flickity-prev-next-button';
2744
- element.className += this.isPrevious ? ' previous' : ' next';
2745
+ var button = (this.element = document.createElement('button'));
2746
+ button.className = 'flickity-button flickity-prev-next-button';
2747
+ button.part.add('navigation-button');
2748
+ if (this.isPrevious) {
2749
+ button.classList.add('previous');
2750
+ button.part.add('navigation-button--previous');
2751
+ } else {
2752
+ button.classList.add('next');
2753
+ button.part.add('navigation-button--next');
2754
+ }
2745
2755
  // prevent button from submitting form http://stackoverflow.com/a/10836076/182183
2746
- element.setAttribute('type', 'button');
2756
+ button.setAttribute('type', 'button');
2747
2757
  // init as disabled
2748
2758
  this.disable();
2749
2759
 
2750
- element.setAttribute('aria-label', this.isPrevious ? 'Previous' : 'Next');
2760
+ button.setAttribute('aria-label', this.isPrevious ? 'Previous' : 'Next');
2761
+
2762
+ const slot = document.createElement('slot');
2763
+ slot.name = this.isPrevious ? 'previous-icon' : 'next-icon';
2764
+ button.appendChild(slot);
2765
+ slot.addEventListener('slotchange', () => {
2766
+ slot.assignedElements({ flatten: true }).forEach((ele) => {
2767
+ ele.removeAttribute('hidden');
2768
+ });
2769
+ });
2751
2770
 
2752
2771
  // create arrow
2753
2772
  var svg = this.createSVG();
2754
- element.appendChild(svg);
2773
+ slot.appendChild(svg);
2755
2774
  // events
2756
2775
  this.parent.on('select', this.update.bind(this));
2757
2776
  this.on('pointerDown', this.parent.childUIPointerDown.bind(this.parent));
@@ -2776,6 +2795,7 @@ PrevNextButton.prototype.createSVG = function () {
2776
2795
  var svg = document.createElementNS(svgURI$1, 'svg');
2777
2796
  svg.setAttribute('class', 'flickity-button-icon');
2778
2797
  svg.setAttribute('viewBox', '0 0 100 100');
2798
+ svg.part.add('navigation-icon');
2779
2799
  var path = document.createElementNS(svgURI$1, 'path');
2780
2800
  var pathMovements = getArrowMovements(this.parent.options.arrowShape);
2781
2801
  path.setAttribute('d', pathMovements);
@@ -2926,6 +2946,8 @@ PageDots.prototype._create = function () {
2926
2946
  // create holder element
2927
2947
  this.holder = document.createElement('ol');
2928
2948
  this.holder.className = 'flickity-page-dots';
2949
+ this.holder.part.add('pagination');
2950
+
2929
2951
  // create dots, array of elements
2930
2952
  this.dots = [];
2931
2953
  // events
@@ -2967,6 +2989,7 @@ PageDots.prototype.addDots = function (count) {
2967
2989
  for (var i = length; i < max; i++) {
2968
2990
  var dot = document.createElement('li');
2969
2991
  dot.classList.add('dot');
2992
+ dot.part.add('pagination-item');
2970
2993
  dot.setAttribute('aria-label', 'Page dot ' + (i + 1));
2971
2994
  fragment.appendChild(dot);
2972
2995
  newDots.push(dot);
@@ -2989,6 +3012,7 @@ PageDots.prototype.updateSelected = function () {
2989
3012
  // remove selected class on previous
2990
3013
  if (this.selectedDot) {
2991
3014
  this.selectedDot.classList.remove('is-selected');
3015
+ this.selectedDot.part.remove('pagination-item--active');
2992
3016
  this.selectedDot.removeAttribute('aria-current');
2993
3017
  }
2994
3018
  // don't proceed if no dots
@@ -2997,6 +3021,7 @@ PageDots.prototype.updateSelected = function () {
2997
3021
  }
2998
3022
  this.selectedDot = this.dots[this.parent.selectedIndex];
2999
3023
  this.selectedDot.classList.add('is-selected');
3024
+ this.selectedDot.part.add('pagination-item--active');
3000
3025
  this.selectedDot.setAttribute('aria-current', 'step');
3001
3026
  };
3002
3027
 
@@ -3826,6 +3851,9 @@ const flickity = Flickity;
3826
3851
 
3827
3852
  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}";
3828
3853
 
3854
+ const modulo = (num, div) => {
3855
+ return ((num % div) + div) % div;
3856
+ };
3829
3857
  const Slides = class {
3830
3858
  constructor(hostRef) {
3831
3859
  index.registerInstance(this, hostRef);
@@ -3844,12 +3872,25 @@ const Slides = class {
3844
3872
  this.flickity = new Promise((resolve) => {
3845
3873
  this.readyflickity = resolve;
3846
3874
  });
3847
- this.parralax = async () => {
3875
+ this.parallax = async () => {
3848
3876
  const flkty = await this.flickity;
3849
- flkty.slides.forEach((slide, i) => {
3877
+ flkty.cells.forEach((el, i) => {
3878
+ const cell = el;
3879
+ let flkX = flkty.x;
3880
+ const shiftedPos = cell.x + flkty.slideableWidth * cell.shift;
3850
3881
  const ele = this.childrenEles[i];
3851
- const x = ((slide.target + flkty.x) * -1) / 3;
3852
- ele.style['transform'] = 'translateX(' + x + 'px)';
3882
+ if (flkty.options.wrapAround && flkty.cells.length > 1) {
3883
+ flkX = modulo(flkX, flkty.slideableWidth);
3884
+ flkX = flkX - flkty.slideableWidth;
3885
+ }
3886
+ let x = ((cell.target + flkX) * -1) / 3;
3887
+ if (cell.shift < 0) {
3888
+ x = x + Math.abs(shiftedPos) * 1.3333;
3889
+ }
3890
+ else if (cell.shift > 0) {
3891
+ x = ((cell.target + (flkX + shiftedPos)) * -1) / 3;
3892
+ }
3893
+ ele.style.transform = 'translate3d(' + x + 'px, 0, 0)';
3853
3894
  });
3854
3895
  };
3855
3896
  this.handleFullscreen = (isFullScreen) => {
@@ -3910,7 +3951,7 @@ const Slides = class {
3910
3951
  slide.style['left'] = undefined;
3911
3952
  });
3912
3953
  if (oldAnim === 'parallax') {
3913
- flkty.off('scroll', this.parralax);
3954
+ flkty.off('scroll', this.parallax);
3914
3955
  slides.forEach((_, i) => {
3915
3956
  if (this.childrenEles && this.childrenEles[i])
3916
3957
  this.childrenEles[i].style['transform'] = undefined;
@@ -3924,7 +3965,7 @@ const Slides = class {
3924
3965
  break;
3925
3966
  case 'parallax':
3926
3967
  this.options = { fade: false, percentPosition: false };
3927
- flkty.on('scroll', this.parralax);
3968
+ flkty.on('scroll', this.parallax);
3928
3969
  break;
3929
3970
  default:
3930
3971
  this.options = { fade: false, percentPosition: true };
@@ -4002,30 +4043,22 @@ const Slides = class {
4002
4043
  const flickity = await this.getflickity();
4003
4044
  flickity.previous(instant, wrap);
4004
4045
  }
4005
- /**
4006
- * Get the index of the active slide.
4007
- */
4046
+ /** Get the index of the active slide. */
4008
4047
  async getActiveIndex() {
4009
4048
  const flickity = await this.getflickity();
4010
4049
  return flickity.selectedIndex;
4011
4050
  }
4012
- /**
4013
- * Get the total number of slides.
4014
- */
4051
+ /** Get the total number of slides. */
4015
4052
  async length() {
4016
4053
  const flickity = await this.getflickity();
4017
4054
  return flickity.slides.length;
4018
4055
  }
4019
- /**
4020
- * Get whether or not the current slide is the last slide.
4021
- */
4056
+ /** Get whether or not the current slide is the last slide. */
4022
4057
  async isEnd() {
4023
4058
  const flickity = await this.getflickity();
4024
4059
  return flickity.selectedIndex === flickity.slides.length - 1;
4025
4060
  }
4026
- /**
4027
- * Get whether or not the current slide is the first slide.
4028
- */
4061
+ /** Get whether or not the current slide is the first slide. */
4029
4062
  async isBeginning() {
4030
4063
  const flickity = await this.getflickity();
4031
4064
  return flickity.selectedIndex === 0;
@@ -4040,9 +4073,7 @@ const Slides = class {
4040
4073
  this.options = { autoPlay: time };
4041
4074
  setTimeout(() => flickity.playPlayer());
4042
4075
  }
4043
- /**
4044
- * Stop auto play.
4045
- */
4076
+ /** Stop auto play. */
4046
4077
  async stopAutoplay() {
4047
4078
  const flickity = await this.getflickity();
4048
4079
  flickity.stopPlayer();
@@ -4122,7 +4153,7 @@ const Slides = class {
4122
4153
  this.ready = true;
4123
4154
  if (!window['ResizeObserver'])
4124
4155
  return;
4125
- // just boots and brances to make sure it's the correct size oninit
4156
+ // just boots and braces to make sure it's the correct size oninit
4126
4157
  const ro = (this.resizeO = new ResizeObserver(() => {
4127
4158
  flick.resize();
4128
4159
  // this.resizeO.disconnect();
@@ -4215,11 +4246,11 @@ const Slides = class {
4215
4246
  slideshow: true,
4216
4247
  ready: this.ready,
4217
4248
  'not-ready': !this.ready,
4218
- } }, index.h("div", { ref: (div) => (this.flickityEl = div), class: {
4249
+ }, part: "base" }, index.h("div", { ref: (div) => (this.flickityEl = div), class: {
4219
4250
  'flickity-container': true,
4220
4251
  'slides-ready': this.slidesReady,
4221
4252
  'slides-not-ready': !this.slidesReady,
4222
- } }, index.h("slot", null)), index.h("div", { class: "ui-extras" }, index.h("slot", { name: "ui" })))));
4253
+ }, part: "slide-container" }, index.h("slot", null)), index.h("div", { class: "ui-extras" }, index.h("slot", { name: "ui" })))));
4223
4254
  }
4224
4255
  get host() { return index.getElement(this); }
4225
4256
  static get watchers() { return {