@nanoporetech-digital/components 5.4.2 → 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 +18 -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-201b1ee2.js → nano-table-6abb323d.js} +2 -2
  9. package/dist/cjs/{nano-table-201b1ee2.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-1b295406.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-f2c222e8.js → nano-table-f234ca94.js} +2 -2
  37. package/dist/esm/{nano-table-f2c222e8.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-8356a40e.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-e94da35a.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-bdb5dfc3.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-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-a593dac2.js +0 -5
  64. /package/dist/nano-components/{p-a593dac2.js.map → p-47b7a81d.entry.js.map} +0 -0
  65. /package/dist/nano-components/{p-e94da35a.entry.js.map → p-5c493505.js.map} +0 -0
  66. /package/dist/nano-components/{p-bdb5dfc3.js.map → p-c6ee778e.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,30 @@ 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);
2747
2761
 
2748
2762
  // create arrow
2749
2763
  var svg = this.createSVG();
2750
- element.appendChild(svg);
2764
+ slot.appendChild(svg);
2751
2765
  // events
2752
2766
  this.parent.on('select', this.update.bind(this));
2753
2767
  this.on('pointerDown', this.parent.childUIPointerDown.bind(this.parent));
@@ -2772,6 +2786,7 @@ PrevNextButton.prototype.createSVG = function () {
2772
2786
  var svg = document.createElementNS(svgURI$1, 'svg');
2773
2787
  svg.setAttribute('class', 'flickity-button-icon');
2774
2788
  svg.setAttribute('viewBox', '0 0 100 100');
2789
+ svg.part.add('navigation-icon');
2775
2790
  var path = document.createElementNS(svgURI$1, 'path');
2776
2791
  var pathMovements = getArrowMovements(this.parent.options.arrowShape);
2777
2792
  path.setAttribute('d', pathMovements);
@@ -2922,6 +2937,8 @@ PageDots.prototype._create = function () {
2922
2937
  // create holder element
2923
2938
  this.holder = document.createElement('ol');
2924
2939
  this.holder.className = 'flickity-page-dots';
2940
+ this.holder.part.add('pagination');
2941
+
2925
2942
  // create dots, array of elements
2926
2943
  this.dots = [];
2927
2944
  // events
@@ -2963,6 +2980,7 @@ PageDots.prototype.addDots = function (count) {
2963
2980
  for (var i = length; i < max; i++) {
2964
2981
  var dot = document.createElement('li');
2965
2982
  dot.classList.add('dot');
2983
+ dot.part.add('pagination-item');
2966
2984
  dot.setAttribute('aria-label', 'Page dot ' + (i + 1));
2967
2985
  fragment.appendChild(dot);
2968
2986
  newDots.push(dot);
@@ -2985,6 +3003,7 @@ PageDots.prototype.updateSelected = function () {
2985
3003
  // remove selected class on previous
2986
3004
  if (this.selectedDot) {
2987
3005
  this.selectedDot.classList.remove('is-selected');
3006
+ this.selectedDot.part.remove('pagination-item--active');
2988
3007
  this.selectedDot.removeAttribute('aria-current');
2989
3008
  }
2990
3009
  // don't proceed if no dots
@@ -2993,6 +3012,7 @@ PageDots.prototype.updateSelected = function () {
2993
3012
  }
2994
3013
  this.selectedDot = this.dots[this.parent.selectedIndex];
2995
3014
  this.selectedDot.classList.add('is-selected');
3015
+ this.selectedDot.part.add('pagination-item--active');
2996
3016
  this.selectedDot.setAttribute('aria-current', 'step');
2997
3017
  };
2998
3018
 
@@ -3822,6 +3842,9 @@ const flickity = Flickity;
3822
3842
 
3823
3843
  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
3844
 
3845
+ const modulo = (num, div) => {
3846
+ return ((num % div) + div) % div;
3847
+ };
3825
3848
  const Slides = class {
3826
3849
  constructor(hostRef) {
3827
3850
  registerInstance(this, hostRef);
@@ -3840,12 +3863,26 @@ const Slides = class {
3840
3863
  this.flickity = new Promise((resolve) => {
3841
3864
  this.readyflickity = resolve;
3842
3865
  });
3843
- this.parralax = async () => {
3866
+ this.parallax = async () => {
3844
3867
  const flkty = await this.flickity;
3845
- flkty.slides.forEach((slide, i) => {
3868
+ flkty.cells.forEach((el, i) => {
3869
+ const cell = el;
3870
+ const shiftedPos = cell.x + flkty.slideableWidth * cell.shift;
3846
3871
  const ele = this.childrenEles[i];
3847
- const x = ((slide.target + flkty.x) * -1) / 3;
3848
- ele.style['transform'] = 'translateX(' + x + 'px)';
3872
+ let flkX = flkty.x;
3873
+ if (flkty.options.wrapAround && flkty.cells.length > 1) {
3874
+ flkX = modulo(flkX, flkty.slideableWidth);
3875
+ flkX = flkX - flkty.slideableWidth;
3876
+ }
3877
+ let x = ((cell.target + flkX) * -1) / 3;
3878
+ if (cell.shift < 0) {
3879
+ x = x + Math.abs(shiftedPos);
3880
+ }
3881
+ else if (cell.shift > 0) {
3882
+ x = ((cell.target + (flkX + shiftedPos)) * -1) / 3;
3883
+ }
3884
+ ele.style.transform = 'translate3d(' + x + 'px, 0, 0)';
3885
+ // 'translateX(' + x + 'px)';
3849
3886
  });
3850
3887
  };
3851
3888
  this.handleFullscreen = (isFullScreen) => {
@@ -3906,7 +3943,7 @@ const Slides = class {
3906
3943
  slide.style['left'] = undefined;
3907
3944
  });
3908
3945
  if (oldAnim === 'parallax') {
3909
- flkty.off('scroll', this.parralax);
3946
+ flkty.off('scroll', this.parallax);
3910
3947
  slides.forEach((_, i) => {
3911
3948
  if (this.childrenEles && this.childrenEles[i])
3912
3949
  this.childrenEles[i].style['transform'] = undefined;
@@ -3920,7 +3957,7 @@ const Slides = class {
3920
3957
  break;
3921
3958
  case 'parallax':
3922
3959
  this.options = { fade: false, percentPosition: false };
3923
- flkty.on('scroll', this.parralax);
3960
+ flkty.on('scroll', this.parallax);
3924
3961
  break;
3925
3962
  default:
3926
3963
  this.options = { fade: false, percentPosition: true };
@@ -3998,30 +4035,22 @@ const Slides = class {
3998
4035
  const flickity = await this.getflickity();
3999
4036
  flickity.previous(instant, wrap);
4000
4037
  }
4001
- /**
4002
- * Get the index of the active slide.
4003
- */
4038
+ /** Get the index of the active slide. */
4004
4039
  async getActiveIndex() {
4005
4040
  const flickity = await this.getflickity();
4006
4041
  return flickity.selectedIndex;
4007
4042
  }
4008
- /**
4009
- * Get the total number of slides.
4010
- */
4043
+ /** Get the total number of slides. */
4011
4044
  async length() {
4012
4045
  const flickity = await this.getflickity();
4013
4046
  return flickity.slides.length;
4014
4047
  }
4015
- /**
4016
- * Get whether or not the current slide is the last slide.
4017
- */
4048
+ /** Get whether or not the current slide is the last slide. */
4018
4049
  async isEnd() {
4019
4050
  const flickity = await this.getflickity();
4020
4051
  return flickity.selectedIndex === flickity.slides.length - 1;
4021
4052
  }
4022
- /**
4023
- * Get whether or not the current slide is the first slide.
4024
- */
4053
+ /** Get whether or not the current slide is the first slide. */
4025
4054
  async isBeginning() {
4026
4055
  const flickity = await this.getflickity();
4027
4056
  return flickity.selectedIndex === 0;
@@ -4118,7 +4147,7 @@ const Slides = class {
4118
4147
  this.ready = true;
4119
4148
  if (!window['ResizeObserver'])
4120
4149
  return;
4121
- // just boots and brances to make sure it's the correct size oninit
4150
+ // just boots and braces to make sure it's the correct size oninit
4122
4151
  const ro = (this.resizeO = new ResizeObserver(() => {
4123
4152
  flick.resize();
4124
4153
  // this.resizeO.disconnect();
@@ -4211,11 +4240,11 @@ const Slides = class {
4211
4240
  slideshow: true,
4212
4241
  ready: this.ready,
4213
4242
  'not-ready': !this.ready,
4214
- } }, h("div", { ref: (div) => (this.flickityEl = div), class: {
4243
+ }, part: "base" }, h("div", { ref: (div) => (this.flickityEl = div), class: {
4215
4244
  'flickity-container': true,
4216
4245
  'slides-ready': this.slidesReady,
4217
4246
  'slides-not-ready': !this.slidesReady,
4218
- } }, h("slot", null)), h("div", { class: "ui-extras" }, h("slot", { name: "ui" })))));
4247
+ }, part: "slide-container" }, h("slot", null)), h("div", { class: "ui-extras" }, h("slot", { name: "ui" })))));
4219
4248
  }
4220
4249
  get host() { return getElement(this); }
4221
4250
  static get watchers() { return {