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