@nanoporetech-digital/components 5.4.1 → 5.5.0

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 (66) hide show
  1. package/CHANGELOG.md +26 -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 +59 -30
  7. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  8. package/dist/cjs/{nano-table-4a8e46d0.js → nano-table-6abb323d.js} +2 -2
  9. package/dist/cjs/{nano-table-4a8e46d0.js.map → nano-table-6abb323d.js.map} +1 -1
  10. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  11. package/dist/cjs/{table.worker-969b683a.js → table.worker-20dc920c.js} +2 -2
  12. package/dist/cjs/table.worker-20dc920c.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 +18 -6
  21. package/dist/collection/components/slides/slides-interface.js.map +1 -1
  22. package/dist/collection/components/slides/slides.js +47 -25
  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 +59 -30
  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 +59 -30
  35. package/dist/esm/nano-slides.entry.js.map +1 -1
  36. package/dist/esm/{nano-table-05a285ed.js → nano-table-f234ca94.js} +2 -2
  37. package/dist/esm/{nano-table-05a285ed.js.map → nano-table-f234ca94.js.map} +1 -1
  38. package/dist/esm/nano-table.entry.js +1 -1
  39. package/dist/esm/{table.worker-f8e4350e.js → table.worker-cb4d4ab8.js} +2 -2
  40. package/dist/esm/table.worker-cb4d4ab8.js.map +1 -0
  41. package/dist/nano-components/nano-components.esm.js +1 -1
  42. package/dist/nano-components/p-0b03cb52.entry.js +23 -0
  43. package/dist/nano-components/p-0b03cb52.entry.js.map +1 -0
  44. package/dist/nano-components/{p-7ce68d02.entry.js → p-47b7a81d.entry.js} +2 -2
  45. package/dist/nano-components/p-5c493505.js +5 -0
  46. package/dist/nano-components/{p-fa9f834b.entry.js → p-997319eb.entry.js} +2 -2
  47. package/dist/nano-components/{p-fa9f834b.entry.js.map → p-997319eb.entry.js.map} +1 -1
  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-8bfcdfcc.js → p-c6ee778e.js} +2 -2
  51. package/dist/types/components/slides/slides-interface.d.ts +2 -0
  52. package/dist/types/components/slides/slides.d.ts +38 -71
  53. package/dist/types/components.d.ts +3 -3
  54. package/docs-json.json +104 -7
  55. package/hydrate/index.js +75 -36
  56. package/package.json +2 -2
  57. package/dist/cjs/table.worker-969b683a.js.map +0 -1
  58. package/dist/esm/table.worker-f8e4350e.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-c7312365.js +0 -5
  64. /package/dist/nano-components/{p-7ce68d02.entry.js.map → p-47b7a81d.entry.js.map} +0 -0
  65. /package/dist/nano-components/{p-c7312365.js.map → p-5c493505.js.map} +0 -0
  66. /package/dist/nano-components/{p-8bfcdfcc.js.map → p-c6ee778e.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,30 @@ 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);
2751
2765
 
2752
2766
  // create arrow
2753
2767
  var svg = this.createSVG();
2754
- element.appendChild(svg);
2768
+ slot.appendChild(svg);
2755
2769
  // events
2756
2770
  this.parent.on('select', this.update.bind(this));
2757
2771
  this.on('pointerDown', this.parent.childUIPointerDown.bind(this.parent));
@@ -2776,6 +2790,7 @@ PrevNextButton.prototype.createSVG = function () {
2776
2790
  var svg = document.createElementNS(svgURI$1, 'svg');
2777
2791
  svg.setAttribute('class', 'flickity-button-icon');
2778
2792
  svg.setAttribute('viewBox', '0 0 100 100');
2793
+ svg.part.add('navigation-icon');
2779
2794
  var path = document.createElementNS(svgURI$1, 'path');
2780
2795
  var pathMovements = getArrowMovements(this.parent.options.arrowShape);
2781
2796
  path.setAttribute('d', pathMovements);
@@ -2926,6 +2941,8 @@ PageDots.prototype._create = function () {
2926
2941
  // create holder element
2927
2942
  this.holder = document.createElement('ol');
2928
2943
  this.holder.className = 'flickity-page-dots';
2944
+ this.holder.part.add('pagination');
2945
+
2929
2946
  // create dots, array of elements
2930
2947
  this.dots = [];
2931
2948
  // events
@@ -2967,6 +2984,7 @@ PageDots.prototype.addDots = function (count) {
2967
2984
  for (var i = length; i < max; i++) {
2968
2985
  var dot = document.createElement('li');
2969
2986
  dot.classList.add('dot');
2987
+ dot.part.add('pagination-item');
2970
2988
  dot.setAttribute('aria-label', 'Page dot ' + (i + 1));
2971
2989
  fragment.appendChild(dot);
2972
2990
  newDots.push(dot);
@@ -2989,6 +3007,7 @@ PageDots.prototype.updateSelected = function () {
2989
3007
  // remove selected class on previous
2990
3008
  if (this.selectedDot) {
2991
3009
  this.selectedDot.classList.remove('is-selected');
3010
+ this.selectedDot.part.remove('pagination-item--active');
2992
3011
  this.selectedDot.removeAttribute('aria-current');
2993
3012
  }
2994
3013
  // don't proceed if no dots
@@ -2997,6 +3016,7 @@ PageDots.prototype.updateSelected = function () {
2997
3016
  }
2998
3017
  this.selectedDot = this.dots[this.parent.selectedIndex];
2999
3018
  this.selectedDot.classList.add('is-selected');
3019
+ this.selectedDot.part.add('pagination-item--active');
3000
3020
  this.selectedDot.setAttribute('aria-current', 'step');
3001
3021
  };
3002
3022
 
@@ -3826,6 +3846,9 @@ const flickity = Flickity;
3826
3846
 
3827
3847
  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
3848
 
3849
+ const modulo = (num, div) => {
3850
+ return ((num % div) + div) % div;
3851
+ };
3829
3852
  const Slides = class {
3830
3853
  constructor(hostRef) {
3831
3854
  index.registerInstance(this, hostRef);
@@ -3844,12 +3867,26 @@ const Slides = class {
3844
3867
  this.flickity = new Promise((resolve) => {
3845
3868
  this.readyflickity = resolve;
3846
3869
  });
3847
- this.parralax = async () => {
3870
+ this.parallax = async () => {
3848
3871
  const flkty = await this.flickity;
3849
- flkty.slides.forEach((slide, i) => {
3872
+ flkty.cells.forEach((el, i) => {
3873
+ const cell = el;
3874
+ const shiftedPos = cell.x + flkty.slideableWidth * cell.shift;
3850
3875
  const ele = this.childrenEles[i];
3851
- const x = ((slide.target + flkty.x) * -1) / 3;
3852
- ele.style['transform'] = 'translateX(' + x + 'px)';
3876
+ let flkX = flkty.x;
3877
+ if (flkty.options.wrapAround && flkty.cells.length > 1) {
3878
+ flkX = modulo(flkX, flkty.slideableWidth);
3879
+ flkX = flkX - flkty.slideableWidth;
3880
+ }
3881
+ let x = ((cell.target + flkX) * -1) / 3;
3882
+ if (cell.shift < 0) {
3883
+ x = x + Math.abs(shiftedPos);
3884
+ }
3885
+ else if (cell.shift > 0) {
3886
+ x = ((cell.target + (flkX + shiftedPos)) * -1) / 3;
3887
+ }
3888
+ ele.style.transform = 'translate3d(' + x + 'px, 0, 0)';
3889
+ // 'translateX(' + x + 'px)';
3853
3890
  });
3854
3891
  };
3855
3892
  this.handleFullscreen = (isFullScreen) => {
@@ -3910,7 +3947,7 @@ const Slides = class {
3910
3947
  slide.style['left'] = undefined;
3911
3948
  });
3912
3949
  if (oldAnim === 'parallax') {
3913
- flkty.off('scroll', this.parralax);
3950
+ flkty.off('scroll', this.parallax);
3914
3951
  slides.forEach((_, i) => {
3915
3952
  if (this.childrenEles && this.childrenEles[i])
3916
3953
  this.childrenEles[i].style['transform'] = undefined;
@@ -3924,7 +3961,7 @@ const Slides = class {
3924
3961
  break;
3925
3962
  case 'parallax':
3926
3963
  this.options = { fade: false, percentPosition: false };
3927
- flkty.on('scroll', this.parralax);
3964
+ flkty.on('scroll', this.parallax);
3928
3965
  break;
3929
3966
  default:
3930
3967
  this.options = { fade: false, percentPosition: true };
@@ -4002,30 +4039,22 @@ const Slides = class {
4002
4039
  const flickity = await this.getflickity();
4003
4040
  flickity.previous(instant, wrap);
4004
4041
  }
4005
- /**
4006
- * Get the index of the active slide.
4007
- */
4042
+ /** Get the index of the active slide. */
4008
4043
  async getActiveIndex() {
4009
4044
  const flickity = await this.getflickity();
4010
4045
  return flickity.selectedIndex;
4011
4046
  }
4012
- /**
4013
- * Get the total number of slides.
4014
- */
4047
+ /** Get the total number of slides. */
4015
4048
  async length() {
4016
4049
  const flickity = await this.getflickity();
4017
4050
  return flickity.slides.length;
4018
4051
  }
4019
- /**
4020
- * Get whether or not the current slide is the last slide.
4021
- */
4052
+ /** Get whether or not the current slide is the last slide. */
4022
4053
  async isEnd() {
4023
4054
  const flickity = await this.getflickity();
4024
4055
  return flickity.selectedIndex === flickity.slides.length - 1;
4025
4056
  }
4026
- /**
4027
- * Get whether or not the current slide is the first slide.
4028
- */
4057
+ /** Get whether or not the current slide is the first slide. */
4029
4058
  async isBeginning() {
4030
4059
  const flickity = await this.getflickity();
4031
4060
  return flickity.selectedIndex === 0;
@@ -4122,7 +4151,7 @@ const Slides = class {
4122
4151
  this.ready = true;
4123
4152
  if (!window['ResizeObserver'])
4124
4153
  return;
4125
- // just boots and brances to make sure it's the correct size oninit
4154
+ // just boots and braces to make sure it's the correct size oninit
4126
4155
  const ro = (this.resizeO = new ResizeObserver(() => {
4127
4156
  flick.resize();
4128
4157
  // this.resizeO.disconnect();
@@ -4215,11 +4244,11 @@ const Slides = class {
4215
4244
  slideshow: true,
4216
4245
  ready: this.ready,
4217
4246
  'not-ready': !this.ready,
4218
- } }, index.h("div", { ref: (div) => (this.flickityEl = div), class: {
4247
+ }, part: "base" }, index.h("div", { ref: (div) => (this.flickityEl = div), class: {
4219
4248
  'flickity-container': true,
4220
4249
  'slides-ready': this.slidesReady,
4221
4250
  'slides-not-ready': !this.slidesReady,
4222
- } }, index.h("slot", null)), index.h("div", { class: "ui-extras" }, index.h("slot", { name: "ui" })))));
4251
+ }, part: "slide-container" }, index.h("slot", null)), index.h("div", { class: "ui-extras" }, index.h("slot", { name: "ui" })))));
4223
4252
  }
4224
4253
  get host() { return index.getElement(this); }
4225
4254
  static get watchers() { return {