@nanoporetech-digital/components 8.12.2 → 8.12.3

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 (38) hide show
  1. package/dist/cjs/{fade-CaQNh008.js → fade-C7mRKYJR.js} +1 -1
  2. package/dist/cjs/{fullscreen-CYmWUVa6.js → fullscreen-C0vzuH0_.js} +1 -1
  3. package/dist/cjs/{lazyload-CDp0tl8u.js → lazyload-Cqdwd4el.js} +1 -1
  4. package/dist/cjs/{nano-slides-lMA8e6L6.js → nano-slides-DFBGKfHj.js} +17 -35
  5. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  6. package/dist/cjs/nano-table.cjs.entry.js +2 -2
  7. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  8. package/dist/collection/components/slides/slides.js +15 -34
  9. package/dist/collection/components/table/table.js +3 -3
  10. package/dist/components/nano-table.js +3 -3
  11. package/dist/components/slides.js +15 -34
  12. package/dist/esm/{fade-Brdw1NLw.js → fade-OXhXz-Sa.js} +1 -1
  13. package/dist/esm/{fullscreen-DeZTkFNA.js → fullscreen-CsGitfqH.js} +1 -1
  14. package/dist/esm/{lazyload-D68gi5uV.js → lazyload-DuEV3IVe.js} +1 -1
  15. package/dist/esm/{nano-slides-DKkSSmWQ.js → nano-slides-Dtmc0c07.js} +17 -35
  16. package/dist/esm/nano-slides.entry.js +1 -1
  17. package/dist/esm/nano-table.entry.js +2 -2
  18. package/dist/nano-components/{fade-Brdw1NLw.js → fade-OXhXz-Sa.js} +1 -1
  19. package/dist/nano-components/{fullscreen-DeZTkFNA.js → fullscreen-CsGitfqH.js} +1 -1
  20. package/dist/nano-components/{lazyload-D68gi5uV.js → lazyload-DuEV3IVe.js} +1 -1
  21. package/dist/nano-components/{nano-slides-DKkSSmWQ.js → nano-slides-Dtmc0c07.js} +3 -3
  22. package/dist/nano-components/nano-slides.entry.js +1 -1
  23. package/dist/nano-components/nano-table.entry.js +1 -1
  24. package/dist/types/components/slides/slides.d.ts +0 -1
  25. package/docs-json.json +2 -2
  26. package/hydrate/index.js +16 -32
  27. package/hydrate/index.mjs +16 -32
  28. package/package.json +2 -2
  29. /package/dist/types/builds/{8qhywLzS → vSRqAuzi}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/generate-vue-component.d.ts +0 -0
  30. /package/dist/types/builds/{8qhywLzS → vSRqAuzi}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/index.d.ts +0 -0
  31. /package/dist/types/builds/{8qhywLzS → vSRqAuzi}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/output-vue.d.ts +0 -0
  32. /package/dist/types/builds/{8qhywLzS → vSRqAuzi}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/plugin.d.ts +0 -0
  33. /package/dist/types/builds/{8qhywLzS → vSRqAuzi}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/types.d.ts +0 -0
  34. /package/dist/types/builds/{8qhywLzS → vSRqAuzi}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/utils.d.ts +0 -0
  35. /package/dist/types/builds/{8qhywLzS → vSRqAuzi}/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -0
  36. /package/dist/types/builds/{8qhywLzS → vSRqAuzi}/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -0
  37. /package/dist/types/builds/{8qhywLzS → vSRqAuzi}/0/Digital/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
  38. /package/dist/types/builds/{8qhywLzS → vSRqAuzi}/0/Digital/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var nanoSlides_entry = require('./nano-slides-lMA8e6L6.js');
6
+ var nanoSlides_entry = require('./nano-slides-DFBGKfHj.js');
7
7
  require('./index-DGttnXif.js');
8
8
  require('./renderer-jVpDRMfV.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var nanoSlides_entry = require('./nano-slides-lMA8e6L6.js');
6
+ var nanoSlides_entry = require('./nano-slides-DFBGKfHj.js');
7
7
  require('./index-DGttnXif.js');
8
8
  require('./renderer-jVpDRMfV.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var nanoSlides_entry = require('./nano-slides-lMA8e6L6.js');
6
+ var nanoSlides_entry = require('./nano-slides-DFBGKfHj.js');
7
7
  require('./index-DGttnXif.js');
8
8
  require('./renderer-jVpDRMfV.js');
9
9
 
@@ -2490,7 +2490,6 @@ const Slides = class {
2490
2490
  }
2491
2491
  flickityEl;
2492
2492
  flickityReady = false;
2493
- mutationO;
2494
2493
  resizeO;
2495
2494
  readyflickity;
2496
2495
  flickity = new Promise((resolve) => {
@@ -2554,7 +2553,7 @@ const Slides = class {
2554
2553
  async animationChange(_, oldAnim) {
2555
2554
  const [flkty, slides] = await Promise.all([
2556
2555
  this.getflickity(),
2557
- this.waitForSlides(this.host),
2556
+ this.waitForSlides(),
2558
2557
  ]);
2559
2558
  // clear old stuff
2560
2559
  slides.forEach((slide) => {
@@ -2644,9 +2643,11 @@ const Slides = class {
2644
2643
  * child slides.
2645
2644
  */
2646
2645
  async update() {
2646
+ if (!this.didInit)
2647
+ return;
2647
2648
  const [flickity] = await Promise.all([
2648
2649
  this.getflickity(),
2649
- this.waitForSlides(this.host),
2650
+ this.waitForSlides(),
2650
2651
  ]);
2651
2652
  this.childrenEles = this.host.querySelectorAll(`${renderer.transformTag('nano-slide')} > *`);
2652
2653
  flickity.reloadCells();
@@ -2818,15 +2819,15 @@ const Slides = class {
2818
2819
  }
2819
2820
  async loadFlickityModules(opts) {
2820
2821
  if (!this.hasFullScreenModule && opts.fullscreen) {
2821
- await Promise.resolve().then(function () { return require('./fullscreen-CYmWUVa6.js'); });
2822
+ await Promise.resolve().then(function () { return require('./fullscreen-C0vzuH0_.js'); });
2822
2823
  this.hasFullScreenModule = true;
2823
2824
  }
2824
2825
  if (!this.hasLazyLoadModule && opts.lazyLoad) {
2825
- await Promise.resolve().then(function () { return require('./lazyload-CDp0tl8u.js'); });
2826
+ await Promise.resolve().then(function () { return require('./lazyload-Cqdwd4el.js'); });
2826
2827
  this.hasLazyLoadModule = true;
2827
2828
  }
2828
2829
  if (!this.hasFadeModule && opts.fade) {
2829
- await Promise.resolve().then(function () { return require('./fade-CaQNh008.js'); });
2830
+ await Promise.resolve().then(function () { return require('./fade-C7mRKYJR.js'); });
2830
2831
  this.hasFadeModule = true;
2831
2832
  }
2832
2833
  }
@@ -2834,7 +2835,7 @@ const Slides = class {
2834
2835
  const finalOptions = this.normalizeOptions();
2835
2836
  await this.loadFlickityModules(finalOptions);
2836
2837
  // init flickity core
2837
- await this.waitForSlides(this.host);
2838
+ await this.waitForSlides();
2838
2839
  this.flickityEl =
2839
2840
  this.flickityEl || this._getRoot().querySelector('.flickity-container');
2840
2841
  if (!this.flickityEl)
@@ -2924,8 +2925,8 @@ const Slides = class {
2924
2925
  // @ts-expect-error - merged options don't quite match the flickity options
2925
2926
  return { ...flickityOptions, ...mergedEventOptions, ...this.options };
2926
2927
  }
2927
- waitForSlides = (host) => {
2928
- const allSlides = Array.from(host.querySelectorAll(renderer.transformTag('nano-slide')));
2928
+ waitForSlides = () => {
2929
+ const allSlides = Array.from(this.host.querySelectorAll(renderer.transformTag('nano-slide')));
2929
2930
  this.slideCount = allSlides.length;
2930
2931
  let toLoadSlides = allSlides.filter((ele) => !ele.ready);
2931
2932
  if (!toLoadSlides.length)
@@ -2935,13 +2936,13 @@ const Slides = class {
2935
2936
  toLoadSlides = toLoadSlides.filter((ele) => ele !== ev.target);
2936
2937
  if (!toLoadSlides.length) {
2937
2938
  resolve(allSlides);
2938
- host.removeEventListener('nanoSlideReady', slideResolver);
2939
- host.removeEventListener('nano-slide-ready', slideResolver);
2939
+ this.host.removeEventListener('nanoSlideReady', slideResolver);
2940
+ this.host.removeEventListener('nano-slide-ready', slideResolver);
2940
2941
  }
2941
2942
  };
2942
- host.addEventListener('nanoSlideReady', slideResolver);
2943
+ this.host.addEventListener('nanoSlideReady', slideResolver);
2943
2944
  // fallback for vue who can't handle camelcase event names
2944
- host.addEventListener('nano-slide-ready', slideResolver);
2945
+ this.host.addEventListener('nano-slide-ready', slideResolver);
2945
2946
  });
2946
2947
  };
2947
2948
  componentDidLoad() {
@@ -2950,27 +2951,8 @@ const Slides = class {
2950
2951
  this.didInit = true;
2951
2952
  this.initflickity();
2952
2953
  }
2953
- if (typeof window !== 'undefined' &&
2954
- window.MutationObserver) {
2955
- const mut = (this.mutationO = new MutationObserver((e) => {
2956
- if (e[0].addedNodes[0] &&
2957
- e[0].addedNodes[0].nodeName.toLowerCase() ===
2958
- renderer.transformTag('nano-slide') &&
2959
- this.flickityReady) {
2960
- this.update();
2961
- }
2962
- }));
2963
- mut.observe(this.host, {
2964
- childList: true,
2965
- subtree: true,
2966
- });
2967
- }
2968
2954
  }
2969
2955
  disconnectedCallback() {
2970
- if (this.mutationO) {
2971
- this.mutationO.disconnect();
2972
- this.mutationO = undefined;
2973
- }
2974
2956
  if (this.resizeO) {
2975
2957
  this.resizeO.disconnect();
2976
2958
  this.resizeO = undefined;
@@ -2978,15 +2960,15 @@ const Slides = class {
2978
2960
  this.destroyflickity();
2979
2961
  }
2980
2962
  render() {
2981
- return (renderer.h(index.Host, { key: '6dedc1589f5ae629975f38303f658de914c8f506', class: "nano-slides" }, renderer.h("div", { key: '528c7b10972b258ef0345525a9fa82c289ecc083', class: {
2963
+ return (renderer.h(index.Host, { key: '87cf8ae3ff3ded83f82ef3bfc5d76381afb967e0', class: "nano-slides" }, renderer.h("div", { key: 'af12496fc219421dcf416607a7c5cc9b0e59968e', class: {
2982
2964
  slideshow: true,
2983
2965
  ready: this.ready,
2984
2966
  'not-ready': !this.ready,
2985
- }, part: "base" }, renderer.h("div", { key: '4d16a4da0692f53500c755600a539edf5dc2d606', ref: (div) => (this.flickityEl = div), class: {
2967
+ }, part: "base" }, renderer.h("div", { key: 'c5995f58b334a741e4c7930be1354d4814dd436b', ref: (div) => (this.flickityEl = div), class: {
2986
2968
  'flickity-container': true,
2987
2969
  'slides-ready': this.slidesReady,
2988
2970
  'slides-not-ready': !this.slidesReady,
2989
- }, part: "slide-container" }, renderer.h("slot", { key: 'ddcdf042f8d25069c08578e7417e3f5571386b76' })), renderer.h("div", { key: '5a456eee7631c979fef473352d2c4beec7a5cf2e', class: "ui-extras" }, renderer.h("slot", { key: '3994bac2fd8111223df9e3886481edf72b0f2d54', name: "ui" })), this.slideCount > 1 && this.pager && (renderer.h("div", { key: '2966cef941d7232110ba4dbba0aefdb33e757216', class: "pagination flickity-page-dots", part: "pagination" }, Array.from({ length: this.slideCount }).map((_, index) => (renderer.h("button", { part: "pagination-item--active", key: index, class: {
2971
+ }, part: "slide-container" }, renderer.h("slot", { key: 'f4b17d46db05d7b23ff79501cc435b2b6beadcb2', onSlotchange: () => this.update() })), renderer.h("div", { key: '483ab2edd42b87d48bcc0793cbe5c21efdd1a4d3', class: "ui-extras" }, renderer.h("slot", { key: '8fc3e7b78980381d52817c0faa80efa5439a14a6', name: "ui" })), this.slideCount > 1 && this.pager && (renderer.h("div", { key: '4e7c781d179dda4d43356ae9a5892d913d17b43c', class: "pagination flickity-page-dots", part: "pagination" }, Array.from({ length: this.slideCount }).map((_, index) => (renderer.h("button", { part: "pagination-item--active", key: index, class: {
2990
2972
  'pagination-btn': true,
2991
2973
  'pagination-btn--active': this.isActive(index),
2992
2974
  'is-selected': this.isActive(index),
@@ -3,7 +3,7 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- var nanoSlides_entry = require('./nano-slides-lMA8e6L6.js');
6
+ var nanoSlides_entry = require('./nano-slides-DFBGKfHj.js');
7
7
  require('./index-DGttnXif.js');
8
8
  require('./renderer-jVpDRMfV.js');
9
9
 
@@ -228,10 +228,10 @@ const NanoTable = class {
228
228
  this.cleanUpObservers();
229
229
  }
230
230
  render() {
231
- return (renderer.h(index.Host, { key: '54758d3dbda3695305222d5717ad0503d355dc42', class: {
231
+ return (renderer.h(index.Host, { key: 'bd86de55fe8bc0259cf6e7e112c4bb48ad190761', class: {
232
232
  'nano-table': true,
233
233
  'nano-table--props-ready': this.propsReady,
234
- } }, this.scrollable && (renderer.h("nano-masked-overflow", { key: '28386faf317ffb158e7c743a9891c07d1843bcaf', hideScrollbars: false, scrollControls: false, label: this.caption?.textContent || undefined, class: "nano-table__overflow-container" }, renderer.h("div", { key: 'b3c3169a26443abbc19761df5bd543edafae52f2', class: "nano-table__overflow" }))), renderer.h("slot", { key: 'a2ced54f3b39798c78a06fded180291111dfd1b1' })));
234
+ } }, this.scrollable && (renderer.h("nano-masked-overflow", { key: '7002c33f0368801339f718e191922cb03b28ce08', hideScrollbars: false, scrollControls: false, label: this.caption?.textContent || undefined, class: "nano-table__overflow-container" }, renderer.h("div", { key: '60b7c9a2d7a6bde7ffcde6ce62b0477790601cf5', class: "nano-table__overflow" }))), renderer.h("slot", { key: '3d4fb01789dd5c1b0a2b3872534e796e5182d579' })));
235
235
  }
236
236
  static get watchers() { return {
237
237
  "compact": ["handleCompactChange"],
@@ -89,7 +89,7 @@ export class NanoBreadcrumb {
89
89
  "references": {
90
90
  "Breadcrumb": {
91
91
  "location": "local",
92
- "path": "/builds/8qhywLzS/0/Digital/nano-components/packages/components/src/components/breadcrumb/breadcrumb.tsx",
92
+ "path": "/builds/vSRqAuzi/0/Digital/nano-components/packages/components/src/components/breadcrumb/breadcrumb.tsx",
93
93
  "id": "src/components/breadcrumb/breadcrumb.tsx::Breadcrumb"
94
94
  }
95
95
  }
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import { Host, Build, readTask, writeTask, } from "@stencil/core";
4
+ import { Host, readTask, writeTask, } from "@stencil/core";
5
5
  import { transformTag, h } from "../../utils/renderer";
6
6
  import { flickity } from "./lib/js";
7
7
  const modulo = (num, div) => {
@@ -32,7 +32,6 @@ const modulo = (num, div) => {
32
32
  export class Slides {
33
33
  flickityEl;
34
34
  flickityReady = false;
35
- mutationO;
36
35
  resizeO;
37
36
  readyflickity;
38
37
  flickity = new Promise((resolve) => {
@@ -96,7 +95,7 @@ export class Slides {
96
95
  async animationChange(_, oldAnim) {
97
96
  const [flkty, slides] = await Promise.all([
98
97
  this.getflickity(),
99
- this.waitForSlides(this.host),
98
+ this.waitForSlides(),
100
99
  ]);
101
100
  // clear old stuff
102
101
  slides.forEach((slide) => {
@@ -186,9 +185,11 @@ export class Slides {
186
185
  * child slides.
187
186
  */
188
187
  async update() {
188
+ if (!this.didInit)
189
+ return;
189
190
  const [flickity] = await Promise.all([
190
191
  this.getflickity(),
191
- this.waitForSlides(this.host),
192
+ this.waitForSlides(),
192
193
  ]);
193
194
  this.childrenEles = this.host.querySelectorAll(`${transformTag('nano-slide')} > *`);
194
195
  flickity.reloadCells();
@@ -376,7 +377,7 @@ export class Slides {
376
377
  const finalOptions = this.normalizeOptions();
377
378
  await this.loadFlickityModules(finalOptions);
378
379
  // init flickity core
379
- await this.waitForSlides(this.host);
380
+ await this.waitForSlides();
380
381
  this.flickityEl =
381
382
  this.flickityEl || this._getRoot().querySelector('.flickity-container');
382
383
  if (!this.flickityEl)
@@ -466,8 +467,8 @@ export class Slides {
466
467
  // @ts-expect-error - merged options don't quite match the flickity options
467
468
  return { ...flickityOptions, ...mergedEventOptions, ...this.options };
468
469
  }
469
- waitForSlides = (host) => {
470
- const allSlides = Array.from(host.querySelectorAll(transformTag('nano-slide')));
470
+ waitForSlides = () => {
471
+ const allSlides = Array.from(this.host.querySelectorAll(transformTag('nano-slide')));
471
472
  this.slideCount = allSlides.length;
472
473
  let toLoadSlides = allSlides.filter((ele) => !ele.ready);
473
474
  if (!toLoadSlides.length)
@@ -477,13 +478,13 @@ export class Slides {
477
478
  toLoadSlides = toLoadSlides.filter((ele) => ele !== ev.target);
478
479
  if (!toLoadSlides.length) {
479
480
  resolve(allSlides);
480
- host.removeEventListener('nanoSlideReady', slideResolver);
481
- host.removeEventListener('nano-slide-ready', slideResolver);
481
+ this.host.removeEventListener('nanoSlideReady', slideResolver);
482
+ this.host.removeEventListener('nano-slide-ready', slideResolver);
482
483
  }
483
484
  };
484
- host.addEventListener('nanoSlideReady', slideResolver);
485
+ this.host.addEventListener('nanoSlideReady', slideResolver);
485
486
  // fallback for vue who can't handle camelcase event names
486
- host.addEventListener('nano-slide-ready', slideResolver);
487
+ this.host.addEventListener('nano-slide-ready', slideResolver);
487
488
  });
488
489
  };
489
490
  componentDidLoad() {
@@ -492,28 +493,8 @@ export class Slides {
492
493
  this.didInit = true;
493
494
  this.initflickity();
494
495
  }
495
- if (Build.isBrowser &&
496
- typeof window !== 'undefined' &&
497
- window.MutationObserver) {
498
- const mut = (this.mutationO = new MutationObserver((e) => {
499
- if (e[0].addedNodes[0] &&
500
- e[0].addedNodes[0].nodeName.toLowerCase() ===
501
- transformTag('nano-slide') &&
502
- this.flickityReady) {
503
- this.update();
504
- }
505
- }));
506
- mut.observe(this.host, {
507
- childList: true,
508
- subtree: true,
509
- });
510
- }
511
496
  }
512
497
  disconnectedCallback() {
513
- if (this.mutationO) {
514
- this.mutationO.disconnect();
515
- this.mutationO = undefined;
516
- }
517
498
  if (this.resizeO) {
518
499
  this.resizeO.disconnect();
519
500
  this.resizeO = undefined;
@@ -521,15 +502,15 @@ export class Slides {
521
502
  this.destroyflickity();
522
503
  }
523
504
  render() {
524
- return (h(Host, { key: '6dedc1589f5ae629975f38303f658de914c8f506', class: "nano-slides" }, h("div", { key: '528c7b10972b258ef0345525a9fa82c289ecc083', class: {
505
+ return (h(Host, { key: '87cf8ae3ff3ded83f82ef3bfc5d76381afb967e0', class: "nano-slides" }, h("div", { key: 'af12496fc219421dcf416607a7c5cc9b0e59968e', class: {
525
506
  slideshow: true,
526
507
  ready: this.ready,
527
508
  'not-ready': !this.ready,
528
- }, part: "base" }, h("div", { key: '4d16a4da0692f53500c755600a539edf5dc2d606', ref: (div) => (this.flickityEl = div), class: {
509
+ }, part: "base" }, h("div", { key: 'c5995f58b334a741e4c7930be1354d4814dd436b', ref: (div) => (this.flickityEl = div), class: {
529
510
  'flickity-container': true,
530
511
  'slides-ready': this.slidesReady,
531
512
  'slides-not-ready': !this.slidesReady,
532
- }, part: "slide-container" }, h("slot", { key: 'ddcdf042f8d25069c08578e7417e3f5571386b76' })), h("div", { key: '5a456eee7631c979fef473352d2c4beec7a5cf2e', class: "ui-extras" }, h("slot", { key: '3994bac2fd8111223df9e3886481edf72b0f2d54', name: "ui" })), this.slideCount > 1 && this.pager && (h("div", { key: '2966cef941d7232110ba4dbba0aefdb33e757216', class: "pagination flickity-page-dots", part: "pagination" }, Array.from({ length: this.slideCount }).map((_, index) => (h("button", { part: "pagination-item--active", key: index, class: {
513
+ }, part: "slide-container" }, h("slot", { key: 'f4b17d46db05d7b23ff79501cc435b2b6beadcb2', onSlotchange: () => this.update() })), h("div", { key: '483ab2edd42b87d48bcc0793cbe5c21efdd1a4d3', class: "ui-extras" }, h("slot", { key: '8fc3e7b78980381d52817c0faa80efa5439a14a6', name: "ui" })), this.slideCount > 1 && this.pager && (h("div", { key: '4e7c781d179dda4d43356ae9a5892d913d17b43c', class: "pagination flickity-page-dots", part: "pagination" }, Array.from({ length: this.slideCount }).map((_, index) => (h("button", { part: "pagination-item--active", key: index, class: {
533
514
  'pagination-btn': true,
534
515
  'pagination-btn--active': this.isActive(index),
535
516
  'is-selected': this.isActive(index),
@@ -213,7 +213,7 @@ export class NanoTable {
213
213
  this.handleHideCaptionChange();
214
214
  }
215
215
  componentDidRender() {
216
- if (this.scrollable !== false && this.table) {
216
+ if (Build.isBrowser && this.scrollable !== false && this.table) {
217
217
  // a hack. Revise in-future.
218
218
  // the table is always rendered in the light DOM - so it should always be visible, but
219
219
  // if we conditionally render the slot within the masked overflow there's quite a noticeable
@@ -231,10 +231,10 @@ export class NanoTable {
231
231
  this.cleanUpObservers();
232
232
  }
233
233
  render() {
234
- return (h(Host, { key: '54758d3dbda3695305222d5717ad0503d355dc42', class: {
234
+ return (h(Host, { key: 'bd86de55fe8bc0259cf6e7e112c4bb48ad190761', class: {
235
235
  'nano-table': true,
236
236
  'nano-table--props-ready': this.propsReady,
237
- } }, this.scrollable && (h("nano-masked-overflow", { key: '28386faf317ffb158e7c743a9891c07d1843bcaf', hideScrollbars: false, scrollControls: false, label: this.caption?.textContent || undefined, class: "nano-table__overflow-container" }, h("div", { key: 'b3c3169a26443abbc19761df5bd543edafae52f2', class: "nano-table__overflow" }))), h("slot", { key: 'a2ced54f3b39798c78a06fded180291111dfd1b1' })));
237
+ } }, this.scrollable && (h("nano-masked-overflow", { key: '7002c33f0368801339f718e191922cb03b28ce08', hideScrollbars: false, scrollControls: false, label: this.caption?.textContent || undefined, class: "nano-table__overflow-container" }, h("div", { key: '60b7c9a2d7a6bde7ffcde6ce62b0477790601cf5', class: "nano-table__overflow" }))), h("slot", { key: '3d4fb01789dd5c1b0a2b3872534e796e5182d579' })));
238
238
  }
239
239
  static get is() { return "nano-table"; }
240
240
  static get encapsulation() { return "scoped"; }
@@ -215,7 +215,7 @@ const NanoTable$1 = /*@__PURE__*/ proxyCustomElement(class NanoTable extends HTM
215
215
  this.handleHideCaptionChange();
216
216
  }
217
217
  componentDidRender() {
218
- if (this.scrollable !== false && this.table) {
218
+ if (Build.isBrowser && this.scrollable !== false && this.table) {
219
219
  // a hack. Revise in-future.
220
220
  // the table is always rendered in the light DOM - so it should always be visible, but
221
221
  // if we conditionally render the slot within the masked overflow there's quite a noticeable
@@ -233,10 +233,10 @@ const NanoTable$1 = /*@__PURE__*/ proxyCustomElement(class NanoTable extends HTM
233
233
  this.cleanUpObservers();
234
234
  }
235
235
  render() {
236
- return (h(Host, { key: '54758d3dbda3695305222d5717ad0503d355dc42', class: {
236
+ return (h(Host, { key: 'bd86de55fe8bc0259cf6e7e112c4bb48ad190761', class: {
237
237
  'nano-table': true,
238
238
  'nano-table--props-ready': this.propsReady,
239
- } }, this.scrollable && (h("nano-masked-overflow", { key: '28386faf317ffb158e7c743a9891c07d1843bcaf', hideScrollbars: false, scrollControls: false, label: this.caption?.textContent || undefined, class: "nano-table__overflow-container" }, h("div", { key: 'b3c3169a26443abbc19761df5bd543edafae52f2', class: "nano-table__overflow" }))), h("slot", { key: 'a2ced54f3b39798c78a06fded180291111dfd1b1' })));
239
+ } }, this.scrollable && (h("nano-masked-overflow", { key: '7002c33f0368801339f718e191922cb03b28ce08', hideScrollbars: false, scrollControls: false, label: this.caption?.textContent || undefined, class: "nano-table__overflow-container" }, h("div", { key: '60b7c9a2d7a6bde7ffcde6ce62b0477790601cf5', class: "nano-table__overflow" }))), h("slot", { key: '3d4fb01789dd5c1b0a2b3872534e796e5182d579' })));
240
240
  }
241
241
  static get watchers() { return {
242
242
  "compact": ["handleCompactChange"],
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import { proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, readTask, writeTask, Build, Host } from '@stencil/core/internal/client';
4
+ import { proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, readTask, writeTask, Host } from '@stencil/core/internal/client';
5
5
  import { t as transformTag, h } from './renderer.js';
6
6
 
7
7
  function EvEmitter() { }
@@ -2490,7 +2490,6 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class Slides extends HTMLElement
2490
2490
  }
2491
2491
  flickityEl;
2492
2492
  flickityReady = false;
2493
- mutationO;
2494
2493
  resizeO;
2495
2494
  readyflickity;
2496
2495
  flickity = new Promise((resolve) => {
@@ -2554,7 +2553,7 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class Slides extends HTMLElement
2554
2553
  async animationChange(_, oldAnim) {
2555
2554
  const [flkty, slides] = await Promise.all([
2556
2555
  this.getflickity(),
2557
- this.waitForSlides(this.host),
2556
+ this.waitForSlides(),
2558
2557
  ]);
2559
2558
  // clear old stuff
2560
2559
  slides.forEach((slide) => {
@@ -2644,9 +2643,11 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class Slides extends HTMLElement
2644
2643
  * child slides.
2645
2644
  */
2646
2645
  async update() {
2646
+ if (!this.didInit)
2647
+ return;
2647
2648
  const [flickity] = await Promise.all([
2648
2649
  this.getflickity(),
2649
- this.waitForSlides(this.host),
2650
+ this.waitForSlides(),
2650
2651
  ]);
2651
2652
  this.childrenEles = this.host.querySelectorAll(`${transformTag('nano-slide')} > *`);
2652
2653
  flickity.reloadCells();
@@ -2834,7 +2835,7 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class Slides extends HTMLElement
2834
2835
  const finalOptions = this.normalizeOptions();
2835
2836
  await this.loadFlickityModules(finalOptions);
2836
2837
  // init flickity core
2837
- await this.waitForSlides(this.host);
2838
+ await this.waitForSlides();
2838
2839
  this.flickityEl =
2839
2840
  this.flickityEl || this._getRoot().querySelector('.flickity-container');
2840
2841
  if (!this.flickityEl)
@@ -2924,8 +2925,8 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class Slides extends HTMLElement
2924
2925
  // @ts-expect-error - merged options don't quite match the flickity options
2925
2926
  return { ...flickityOptions, ...mergedEventOptions, ...this.options };
2926
2927
  }
2927
- waitForSlides = (host) => {
2928
- const allSlides = Array.from(host.querySelectorAll(transformTag('nano-slide')));
2928
+ waitForSlides = () => {
2929
+ const allSlides = Array.from(this.host.querySelectorAll(transformTag('nano-slide')));
2929
2930
  this.slideCount = allSlides.length;
2930
2931
  let toLoadSlides = allSlides.filter((ele) => !ele.ready);
2931
2932
  if (!toLoadSlides.length)
@@ -2935,13 +2936,13 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class Slides extends HTMLElement
2935
2936
  toLoadSlides = toLoadSlides.filter((ele) => ele !== ev.target);
2936
2937
  if (!toLoadSlides.length) {
2937
2938
  resolve(allSlides);
2938
- host.removeEventListener('nanoSlideReady', slideResolver);
2939
- host.removeEventListener('nano-slide-ready', slideResolver);
2939
+ this.host.removeEventListener('nanoSlideReady', slideResolver);
2940
+ this.host.removeEventListener('nano-slide-ready', slideResolver);
2940
2941
  }
2941
2942
  };
2942
- host.addEventListener('nanoSlideReady', slideResolver);
2943
+ this.host.addEventListener('nanoSlideReady', slideResolver);
2943
2944
  // fallback for vue who can't handle camelcase event names
2944
- host.addEventListener('nano-slide-ready', slideResolver);
2945
+ this.host.addEventListener('nano-slide-ready', slideResolver);
2945
2946
  });
2946
2947
  };
2947
2948
  componentDidLoad() {
@@ -2950,28 +2951,8 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class Slides extends HTMLElement
2950
2951
  this.didInit = true;
2951
2952
  this.initflickity();
2952
2953
  }
2953
- if (Build.isBrowser &&
2954
- typeof window !== 'undefined' &&
2955
- window.MutationObserver) {
2956
- const mut = (this.mutationO = new MutationObserver((e) => {
2957
- if (e[0].addedNodes[0] &&
2958
- e[0].addedNodes[0].nodeName.toLowerCase() ===
2959
- transformTag('nano-slide') &&
2960
- this.flickityReady) {
2961
- this.update();
2962
- }
2963
- }));
2964
- mut.observe(this.host, {
2965
- childList: true,
2966
- subtree: true,
2967
- });
2968
- }
2969
2954
  }
2970
2955
  disconnectedCallback() {
2971
- if (this.mutationO) {
2972
- this.mutationO.disconnect();
2973
- this.mutationO = undefined;
2974
- }
2975
2956
  if (this.resizeO) {
2976
2957
  this.resizeO.disconnect();
2977
2958
  this.resizeO = undefined;
@@ -2979,15 +2960,15 @@ const Slides = /*@__PURE__*/ proxyCustomElement(class Slides extends HTMLElement
2979
2960
  this.destroyflickity();
2980
2961
  }
2981
2962
  render() {
2982
- return (h(Host, { key: '6dedc1589f5ae629975f38303f658de914c8f506', class: "nano-slides" }, h("div", { key: '528c7b10972b258ef0345525a9fa82c289ecc083', class: {
2963
+ return (h(Host, { key: '87cf8ae3ff3ded83f82ef3bfc5d76381afb967e0', class: "nano-slides" }, h("div", { key: 'af12496fc219421dcf416607a7c5cc9b0e59968e', class: {
2983
2964
  slideshow: true,
2984
2965
  ready: this.ready,
2985
2966
  'not-ready': !this.ready,
2986
- }, part: "base" }, h("div", { key: '4d16a4da0692f53500c755600a539edf5dc2d606', ref: (div) => (this.flickityEl = div), class: {
2967
+ }, part: "base" }, h("div", { key: 'c5995f58b334a741e4c7930be1354d4814dd436b', ref: (div) => (this.flickityEl = div), class: {
2987
2968
  'flickity-container': true,
2988
2969
  'slides-ready': this.slidesReady,
2989
2970
  'slides-not-ready': !this.slidesReady,
2990
- }, part: "slide-container" }, h("slot", { key: 'ddcdf042f8d25069c08578e7417e3f5571386b76' })), h("div", { key: '5a456eee7631c979fef473352d2c4beec7a5cf2e', class: "ui-extras" }, h("slot", { key: '3994bac2fd8111223df9e3886481edf72b0f2d54', name: "ui" })), this.slideCount > 1 && this.pager && (h("div", { key: '2966cef941d7232110ba4dbba0aefdb33e757216', class: "pagination flickity-page-dots", part: "pagination" }, Array.from({ length: this.slideCount }).map((_, index) => (h("button", { part: "pagination-item--active", key: index, class: {
2971
+ }, part: "slide-container" }, h("slot", { key: 'f4b17d46db05d7b23ff79501cc435b2b6beadcb2', onSlotchange: () => this.update() })), h("div", { key: '483ab2edd42b87d48bcc0793cbe5c21efdd1a4d3', class: "ui-extras" }, h("slot", { key: '8fc3e7b78980381d52817c0faa80efa5439a14a6', name: "ui" })), this.slideCount > 1 && this.pager && (h("div", { key: '4e7c781d179dda4d43356ae9a5892d913d17b43c', class: "pagination flickity-page-dots", part: "pagination" }, Array.from({ length: this.slideCount }).map((_, index) => (h("button", { part: "pagination-item--active", key: index, class: {
2991
2972
  'pagination-btn': true,
2992
2973
  'pagination-btn--active': this.isActive(index),
2993
2974
  'is-selected': this.isActive(index),
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import { F as Flickity, u as utils } from './nano-slides-DKkSSmWQ.js';
4
+ import { F as Flickity, u as utils } from './nano-slides-Dtmc0c07.js';
5
5
  import './index-BM3Om9WE.js';
6
6
  import './renderer-DpNDfhNy.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import { F as Flickity } from './nano-slides-DKkSSmWQ.js';
4
+ import { F as Flickity } from './nano-slides-Dtmc0c07.js';
5
5
  import './index-BM3Om9WE.js';
6
6
  import './renderer-DpNDfhNy.js';
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import { F as Flickity, u as utils } from './nano-slides-DKkSSmWQ.js';
4
+ import { F as Flickity, u as utils } from './nano-slides-Dtmc0c07.js';
5
5
  import './index-BM3Om9WE.js';
6
6
  import './renderer-DpNDfhNy.js';
7
7