@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
@@ -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 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
3826
3849
  constructor() {
3827
3850
  super();
@@ -3842,12 +3865,26 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
3842
3865
  this.flickity = new Promise((resolve) => {
3843
3866
  this.readyflickity = resolve;
3844
3867
  });
3845
- this.parralax = async () => {
3868
+ this.parallax = async () => {
3846
3869
  const flkty = await this.flickity;
3847
- flkty.slides.forEach((slide, i) => {
3870
+ flkty.cells.forEach((el, i) => {
3871
+ const cell = el;
3872
+ const shiftedPos = cell.x + flkty.slideableWidth * cell.shift;
3848
3873
  const ele = this.childrenEles[i];
3849
- const x = ((slide.target + flkty.x) * -1) / 3;
3850
- ele.style['transform'] = 'translateX(' + x + 'px)';
3874
+ let flkX = flkty.x;
3875
+ if (flkty.options.wrapAround && flkty.cells.length > 1) {
3876
+ flkX = modulo(flkX, flkty.slideableWidth);
3877
+ flkX = flkX - flkty.slideableWidth;
3878
+ }
3879
+ let x = ((cell.target + flkX) * -1) / 3;
3880
+ if (cell.shift < 0) {
3881
+ x = x + Math.abs(shiftedPos);
3882
+ }
3883
+ else if (cell.shift > 0) {
3884
+ x = ((cell.target + (flkX + shiftedPos)) * -1) / 3;
3885
+ }
3886
+ ele.style.transform = 'translate3d(' + x + 'px, 0, 0)';
3887
+ // 'translateX(' + x + 'px)';
3851
3888
  });
3852
3889
  };
3853
3890
  this.handleFullscreen = (isFullScreen) => {
@@ -3908,7 +3945,7 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
3908
3945
  slide.style['left'] = undefined;
3909
3946
  });
3910
3947
  if (oldAnim === 'parallax') {
3911
- flkty.off('scroll', this.parralax);
3948
+ flkty.off('scroll', this.parallax);
3912
3949
  slides.forEach((_, i) => {
3913
3950
  if (this.childrenEles && this.childrenEles[i])
3914
3951
  this.childrenEles[i].style['transform'] = undefined;
@@ -3922,7 +3959,7 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
3922
3959
  break;
3923
3960
  case 'parallax':
3924
3961
  this.options = { fade: false, percentPosition: false };
3925
- flkty.on('scroll', this.parralax);
3962
+ flkty.on('scroll', this.parallax);
3926
3963
  break;
3927
3964
  default:
3928
3965
  this.options = { fade: false, percentPosition: true };
@@ -4000,30 +4037,22 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
4000
4037
  const flickity = await this.getflickity();
4001
4038
  flickity.previous(instant, wrap);
4002
4039
  }
4003
- /**
4004
- * Get the index of the active slide.
4005
- */
4040
+ /** Get the index of the active slide. */
4006
4041
  async getActiveIndex() {
4007
4042
  const flickity = await this.getflickity();
4008
4043
  return flickity.selectedIndex;
4009
4044
  }
4010
- /**
4011
- * Get the total number of slides.
4012
- */
4045
+ /** Get the total number of slides. */
4013
4046
  async length() {
4014
4047
  const flickity = await this.getflickity();
4015
4048
  return flickity.slides.length;
4016
4049
  }
4017
- /**
4018
- * Get whether or not the current slide is the last slide.
4019
- */
4050
+ /** Get whether or not the current slide is the last slide. */
4020
4051
  async isEnd() {
4021
4052
  const flickity = await this.getflickity();
4022
4053
  return flickity.selectedIndex === flickity.slides.length - 1;
4023
4054
  }
4024
- /**
4025
- * Get whether or not the current slide is the first slide.
4026
- */
4055
+ /** Get whether or not the current slide is the first slide. */
4027
4056
  async isBeginning() {
4028
4057
  const flickity = await this.getflickity();
4029
4058
  return flickity.selectedIndex === 0;
@@ -4120,7 +4149,7 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
4120
4149
  this.ready = true;
4121
4150
  if (!window['ResizeObserver'])
4122
4151
  return;
4123
- // 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
4124
4153
  const ro = (this.resizeO = new ResizeObserver(() => {
4125
4154
  flick.resize();
4126
4155
  // this.resizeO.disconnect();
@@ -4214,11 +4243,11 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement$1 {
4214
4243
  slideshow: true,
4215
4244
  ready: this.ready,
4216
4245
  'not-ready': !this.ready,
4217
- } }, h("div", { ref: (div) => (this.flickityEl = div), class: {
4246
+ }, part: "base" }, h("div", { ref: (div) => (this.flickityEl = div), class: {
4218
4247
  'flickity-container': true,
4219
4248
  'slides-ready': this.slidesReady,
4220
4249
  'slides-not-ready': !this.slidesReady,
4221
- } }, h("slot", null)), h("div", { class: "ui-extras" }, h("slot", { name: "ui" })))));
4250
+ }, part: "slide-container" }, h("slot", null)), h("div", { class: "ui-extras" }, h("slot", { name: "ui" })))));
4222
4251
  }
4223
4252
  get host() { return this; }
4224
4253
  static get watchers() { return {