@nanoporetech-digital/components 8.12.2 → 8.13.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 (109) 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-alert.cjs.entry.js +1 -1
  5. package/dist/cjs/nano-avatar_5.cjs.entry.js +1 -1
  6. package/dist/cjs/nano-checkbox-group.cjs.entry.js +1 -1
  7. package/dist/cjs/{nano-data-table-B07AITiQ.js → nano-data-table-CiPPql2J.js} +3 -3
  8. package/dist/cjs/nano-data-table.cjs.entry.js +1 -1
  9. package/dist/cjs/nano-datalist_3.cjs.entry.js +5 -5
  10. package/dist/cjs/nano-details.cjs.entry.js +1 -1
  11. package/dist/cjs/nano-dialog.cjs.entry.js +1 -1
  12. package/dist/cjs/nano-dropdown_2.cjs.entry.js +1 -1
  13. package/dist/cjs/nano-in-page-nav.cjs.entry.js +1 -1
  14. package/dist/cjs/nano-input-otp.cjs.entry.js +1 -1
  15. package/dist/cjs/nano-menu-drawer.cjs.entry.js +1 -1
  16. package/dist/cjs/nano-nav-item.cjs.entry.js +1 -1
  17. package/dist/cjs/{nano-slides-lMA8e6L6.js → nano-slides-DFBGKfHj.js} +17 -35
  18. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  19. package/dist/cjs/nano-table.cjs.entry.js +2 -2
  20. package/dist/cjs/{slot-BUMYLmup.js → slot-CM4lrtVE.js} +3 -2
  21. package/dist/cjs/{table.worker-Ctqp7IJT.js → table.worker-D7SJpZlV.js} +1 -1
  22. package/dist/collection/components/breadcrumb/breadcrumb.js +1 -1
  23. package/dist/collection/components/checkbox/checkbox-group.css +5 -3
  24. package/dist/collection/components/data-table/table.cell.js +1 -1
  25. package/dist/collection/components/data-table/table.utils.js +1 -1
  26. package/dist/collection/components/datalist/datalist.js +5 -5
  27. package/dist/collection/components/icon/pictogram/accessible-and-affordable.svg +6 -0
  28. package/dist/collection/components/icon/pictogram/faster-results.svg +3 -0
  29. package/dist/collection/components/icon/pictogram/richer-insights.svg +9 -0
  30. package/dist/collection/components/slides/slides.js +15 -34
  31. package/dist/collection/components/table/table.js +3 -3
  32. package/dist/collection/utils/slot.js +3 -2
  33. package/dist/components/datalist.js +5 -5
  34. package/dist/components/nano-checkbox-group.js +1 -1
  35. package/dist/components/nano-data-table.js +2 -2
  36. package/dist/components/nano-table.js +3 -3
  37. package/dist/components/slides.js +15 -34
  38. package/dist/components/slot.js +3 -2
  39. package/dist/esm/{fade-Brdw1NLw.js → fade-OXhXz-Sa.js} +1 -1
  40. package/dist/esm/{fullscreen-DeZTkFNA.js → fullscreen-CsGitfqH.js} +1 -1
  41. package/dist/esm/{lazyload-D68gi5uV.js → lazyload-DuEV3IVe.js} +1 -1
  42. package/dist/esm/nano-alert.entry.js +1 -1
  43. package/dist/esm/nano-avatar_5.entry.js +1 -1
  44. package/dist/esm/nano-checkbox-group.entry.js +1 -1
  45. package/dist/esm/{nano-data-table-B3_-hFqj.js → nano-data-table-BXdzSqWC.js} +3 -3
  46. package/dist/esm/nano-data-table.entry.js +1 -1
  47. package/dist/esm/nano-datalist_3.entry.js +5 -5
  48. package/dist/esm/nano-details.entry.js +1 -1
  49. package/dist/esm/nano-dialog.entry.js +1 -1
  50. package/dist/esm/nano-dropdown_2.entry.js +1 -1
  51. package/dist/esm/nano-in-page-nav.entry.js +1 -1
  52. package/dist/esm/nano-input-otp.entry.js +1 -1
  53. package/dist/esm/nano-menu-drawer.entry.js +1 -1
  54. package/dist/esm/nano-nav-item.entry.js +1 -1
  55. package/dist/esm/{nano-slides-DKkSSmWQ.js → nano-slides-Dtmc0c07.js} +17 -35
  56. package/dist/esm/nano-slides.entry.js +1 -1
  57. package/dist/esm/nano-table.entry.js +2 -2
  58. package/dist/esm/{slot-D31cEKyt.js → slot-BeXeAw-u.js} +3 -2
  59. package/dist/esm/{table.worker-By3ZdRHH.js → table.worker-DftFV8Z7.js} +1 -1
  60. package/dist/nano-assets/hash.txt +1 -1
  61. package/dist/nano-assets/icon/pictogram/accessible-and-affordable.svg +6 -0
  62. package/dist/nano-assets/icon/pictogram/faster-results.svg +3 -0
  63. package/dist/nano-assets/icon/pictogram/richer-insights.svg +9 -0
  64. package/dist/nano-components/{fade-Brdw1NLw.js → fade-OXhXz-Sa.js} +1 -1
  65. package/dist/nano-components/{fullscreen-DeZTkFNA.js → fullscreen-CsGitfqH.js} +1 -1
  66. package/dist/nano-components/{lazyload-D68gi5uV.js → lazyload-DuEV3IVe.js} +1 -1
  67. package/dist/nano-components/nano-alert.entry.js +1 -1
  68. package/dist/nano-components/nano-avatar_5.entry.js +1 -1
  69. package/dist/nano-components/nano-checkbox-group.entry.js +1 -1
  70. package/dist/nano-components/nano-components.css +1 -1
  71. package/dist/nano-components/{nano-data-table-B3_-hFqj.js → nano-data-table-BXdzSqWC.js} +1 -1
  72. package/dist/nano-components/nano-data-table.entry.js +1 -1
  73. package/dist/nano-components/nano-datalist_3.entry.js +1 -1
  74. package/dist/nano-components/nano-details.entry.js +1 -1
  75. package/dist/nano-components/nano-dialog.entry.js +1 -1
  76. package/dist/nano-components/nano-dropdown_2.entry.js +1 -1
  77. package/dist/nano-components/nano-in-page-nav.entry.js +1 -1
  78. package/dist/nano-components/nano-input-otp.entry.js +1 -1
  79. package/dist/nano-components/nano-menu-drawer.entry.js +1 -1
  80. package/dist/nano-components/nano-nav-item.entry.js +1 -1
  81. package/dist/nano-components/{nano-slides-DKkSSmWQ.js → nano-slides-Dtmc0c07.js} +3 -3
  82. package/dist/nano-components/nano-slides.entry.js +1 -1
  83. package/dist/nano-components/nano-table.entry.js +1 -1
  84. package/dist/nano-components/pictogram/accessible-and-affordable.svg +6 -0
  85. package/dist/nano-components/pictogram/faster-results.svg +3 -0
  86. package/dist/nano-components/pictogram/richer-insights.svg +9 -0
  87. package/dist/nano-components/slot-BeXeAw-u.js +4 -0
  88. package/dist/nano-components/{table.worker-By3ZdRHH.js → table.worker-DftFV8Z7.js} +1 -1
  89. package/dist/style/components.css +1 -1
  90. package/dist/style/components.css.map +1 -1
  91. package/dist/style/nano.css +1 -1
  92. package/dist/style/nano.css.map +1 -1
  93. package/dist/types/components/slides/slides.d.ts +0 -1
  94. package/dist/types/utils/renderer.d.ts +1 -1
  95. package/docs-json.json +7 -2
  96. package/hydrate/index.js +27 -42
  97. package/hydrate/index.mjs +27 -42
  98. package/package.json +2 -2
  99. package/dist/nano-components/slot-D31cEKyt.js +0 -4
  100. /package/dist/types/builds/{8qhywLzS → YtJk83se}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/generate-vue-component.d.ts +0 -0
  101. /package/dist/types/builds/{8qhywLzS → YtJk83se}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/index.d.ts +0 -0
  102. /package/dist/types/builds/{8qhywLzS → YtJk83se}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/output-vue.d.ts +0 -0
  103. /package/dist/types/builds/{8qhywLzS → YtJk83se}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/plugin.d.ts +0 -0
  104. /package/dist/types/builds/{8qhywLzS → YtJk83se}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/types.d.ts +0 -0
  105. /package/dist/types/builds/{8qhywLzS → YtJk83se}/0/Digital/nano-components/packages/components/.stencil/plugins/stencil/vue-output/utils.d.ts +0 -0
  106. /package/dist/types/builds/{8qhywLzS → YtJk83se}/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -0
  107. /package/dist/types/builds/{8qhywLzS → YtJk83se}/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -0
  108. /package/dist/types/builds/{8qhywLzS → YtJk83se}/0/Digital/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
  109. /package/dist/types/builds/{8qhywLzS → YtJk83se}/0/Digital/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
@@ -25,7 +25,6 @@ import type { FlickityOptions, Flickity, DragEvent, SlideAnimation } from './sli
25
25
  export declare class Slides implements ComponentInterface {
26
26
  private flickityEl;
27
27
  private flickityReady;
28
- private mutationO?;
29
28
  private resizeO?;
30
29
  private readyflickity;
31
30
  private flickity;
@@ -4,7 +4,7 @@ import { h as stencilH } from '../stencil-public-runtime';
4
4
  * @param tag
5
5
  * @returns the transformed tag
6
6
  */
7
- export declare function transformTag(tag: string): string;
7
+ export declare function transformTag<T extends string>(tag: T): T;
8
8
  /**
9
9
  * Augment Stencil's `h()` function to add a tag prefix
10
10
  * @param args incoming JSX arguments
package/docs-json.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-10-17T10:04:55",
2
+ "timestamp": "2025-10-29T14:52:38",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.36.1",
@@ -3369,7 +3369,7 @@
3369
3369
  "references": {
3370
3370
  "Breadcrumb": {
3371
3371
  "location": "local",
3372
- "path": "/builds/8qhywLzS/0/Digital/nano-components/packages/components/src/components/breadcrumb/breadcrumb.tsx",
3372
+ "path": "/builds/YtJk83se/0/Digital/nano-components/packages/components/src/components/breadcrumb/breadcrumb.tsx",
3373
3373
  "id": "src/components/breadcrumb/breadcrumb.tsx::Breadcrumb"
3374
3374
  }
3375
3375
  }
@@ -4911,6 +4911,11 @@
4911
4911
  }
4912
4912
  ],
4913
4913
  "styles": [
4914
+ {
4915
+ "name": "--gap",
4916
+ "annotation": "prop",
4917
+ "docs": "The gap between checkboxes. Defaults to var(--nano-spacing-md)."
4918
+ },
4914
4919
  {
4915
4920
  "name": "--help-msg-color",
4916
4921
  "annotation": "prop",
package/hydrate/index.js CHANGED
@@ -3836,7 +3836,8 @@ class HasSlotController {
3836
3836
  // * Regular shadow DOM component *
3837
3837
  childNodes = [...this.host.shadowRoot.childNodes];
3838
3838
  }
3839
- else if (!this.host.classList.contains('hydrated')) {
3839
+ else if (!this.host.classList.contains('hydrated') &&
3840
+ this.host.__childNodes) {
3840
3841
  // * Non-shadow, polyfilled component *
3841
3842
  // Component has not done initial render. Return component internals
3842
3843
  childNodes = [...(this.host?.__childNodes ?? [])];
@@ -3846,7 +3847,7 @@ class HasSlotController {
3846
3847
  childNodes = [...this.host.childNodes];
3847
3848
  }
3848
3849
  return childNodes.some((node) => {
3849
- if (node.nodeType === Node.TEXT_NODE && node.textContent.trim() !== '') {
3850
+ if (node.nodeType === Node.TEXT_NODE && !!node.textContent.trim()) {
3850
3851
  return true;
3851
3852
  }
3852
3853
  if (node.nodeType === Node.ELEMENT_NODE) {
@@ -8470,7 +8471,7 @@ const getClassMap = (classes) => {
8470
8471
  return map;
8471
8472
  };
8472
8473
 
8473
- const checkboxGroupCss = ".sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-checkbox-group-h{--label-color:var(--nano-color-base-1000);--label-font-size:var(--nano-font-size-xs);--invalid-msg-color:var(--nano-color-danger-1100);--help-msg-color:var(--nano-color-base-1000);--more-font-size:var(--nano-font-size-2xs);display:block;inline-size:100%}.sc-nano-checkbox-group-h *.sc-nano-checkbox-group{box-sizing:inherit}.cbgroup.sc-nano-checkbox-group{margin:0;padding:0;border:0}.cbgroup__error.sc-nano-checkbox-group,.cbgroup__help.sc-nano-checkbox-group,.cbgroup__more.sc-nano-checkbox-group{display:block;inline-size:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cbgroup__error.sc-nano-checkbox-group,.cbgroup__help.sc-nano-checkbox-group{inset-block-start:0;inset-inline-start:0;position:absolute;font-size:var(--more-font-size);line-height:1.2;transition:0.3s ease-out opacity;font-style:italic}.show-error.sc-nano-checkbox-group .cbgroup__error.sc-nano-checkbox-group,.show-error.sc-nano-checkbox-group .cbgroup__help.sc-nano-checkbox-group{opacity:1}.cbgroup__error.sc-nano-checkbox-group{color:var(--invalid-msg-color);opacity:0}.has-error.sc-nano-checkbox-group .cbgroup__error.sc-nano-checkbox-group{opacity:1}.cbgroup__help.sc-nano-checkbox-group{opacity:1;color:var(--help-msg-color)}.has-error.sc-nano-checkbox-group .cbgroup__help.sc-nano-checkbox-group{opacity:0}.cbgroup__more.sc-nano-checkbox-group{block-size:1em;margin-block:var(--nano-spacing-sm) 0;position:relative;opacity:0;display:none;transition:all var(--nano-transition-fast) ease;transition-behavior:allow-discrete}.has-helper.sc-nano-checkbox-group .cbgroup__more.sc-nano-checkbox-group,.has-error.sc-nano-checkbox-group .cbgroup__more.sc-nano-checkbox-group{display:block;opacity:1}.cbgroup__legend.sc-nano-checkbox-group{font-size:var(--nano-font-size-xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose);padding:0 0 0.9375rem;margin:0;display:block;inline-size:100%}.cbgroup__legend.visually-hide.sc-nano-checkbox-group{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.cbgroup__cbs.sc-nano-checkbox-group{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--nano-spacing-md)}.types-segment.sc-nano-checkbox-group-h .cbgroup__cbs.sc-nano-checkbox-group{flex-direction:row;gap:0}.types-tag.sc-nano-checkbox-group-h .cbgroup__cbs.sc-nano-checkbox-group{flex-direction:row;gap:var(--nano-spacing-sm)}";
8474
+ const checkboxGroupCss = ".sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-checkbox-group-h{--label-color:var(--nano-color-base-1000);--label-font-size:var(--nano-font-size-xs);--invalid-msg-color:var(--nano-color-danger-1100);--help-msg-color:var(--nano-color-base-1000);--more-font-size:var(--nano-font-size-2xs);--gap:var(--nano-spacing-md);display:block;inline-size:100%}.sc-nano-checkbox-group-h *.sc-nano-checkbox-group{box-sizing:inherit}.cbgroup.sc-nano-checkbox-group{margin:0;padding:0;border:0}.cbgroup__error.sc-nano-checkbox-group,.cbgroup__help.sc-nano-checkbox-group,.cbgroup__more.sc-nano-checkbox-group{display:block;inline-size:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cbgroup__error.sc-nano-checkbox-group,.cbgroup__help.sc-nano-checkbox-group{inset-block-start:0;inset-inline-start:0;position:absolute;font-size:var(--more-font-size);line-height:1.2;transition:0.3s ease-out opacity;font-style:italic}.show-error.sc-nano-checkbox-group .cbgroup__error.sc-nano-checkbox-group,.show-error.sc-nano-checkbox-group .cbgroup__help.sc-nano-checkbox-group{opacity:1}.cbgroup__error.sc-nano-checkbox-group{color:var(--invalid-msg-color);opacity:0}.has-error.sc-nano-checkbox-group .cbgroup__error.sc-nano-checkbox-group{opacity:1}.cbgroup__help.sc-nano-checkbox-group{opacity:1;color:var(--help-msg-color)}.has-error.sc-nano-checkbox-group .cbgroup__help.sc-nano-checkbox-group{opacity:0}.cbgroup__more.sc-nano-checkbox-group{block-size:1em;margin-block:var(--nano-spacing-sm) 0;position:relative;opacity:0;display:none;transition:all var(--nano-transition-fast) ease;transition-behavior:allow-discrete}.has-helper.sc-nano-checkbox-group .cbgroup__more.sc-nano-checkbox-group,.has-error.sc-nano-checkbox-group .cbgroup__more.sc-nano-checkbox-group{display:block;opacity:1}.cbgroup__legend.sc-nano-checkbox-group{font-size:var(--nano-font-size-xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose);padding:0 0 0.9375rem;margin:0;display:block;inline-size:100%}.cbgroup__legend.visually-hide.sc-nano-checkbox-group{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.cbgroup__cbs.sc-nano-checkbox-group{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--gap)}.types-segment.sc-nano-checkbox-group-h .cbgroup__cbs.sc-nano-checkbox-group{flex-direction:row;--gap:0}.types-tag.sc-nano-checkbox-group-h .cbgroup__cbs.sc-nano-checkbox-group{flex-direction:row;--gap:var(--nano-spacing-sm)}";
8474
8475
 
8475
8476
  /**
8476
8477
  * Checkbox group is an optional wrapper for all [checkbox](/components/checkbox) controls.
@@ -9534,18 +9535,18 @@ class DataList {
9534
9535
  }
9535
9536
  }
9536
9537
  render() {
9537
- return (h(Host, { key: '269f57e6eccd251685f84a94d53f380d6545a3cb', class: "nano-datalist", role: this.actvOptEles.length ? 'listbox' : undefined, "aria-owns": this.optionIds.length ? this.optionIds.join(' ') : undefined, "aria-label": this.optionIds.length
9538
+ return (h(Host, { key: '8acb3be76246d665171db96444cff3a5141e1132', class: "nano-datalist", role: this.actvOptEles.length ? 'listbox' : undefined, "aria-owns": this.optionIds.length ? this.optionIds.join(' ') : undefined, "aria-label": this.optionIds.length
9538
9539
  ? 'Select options from the list below'
9539
- : undefined }, h("nano-dropdown", { key: 'ee6398b356dc1a0ff9fa35e84955314fc95435b6', part: "dropdown", exportparts: "trigger:dropdown__trigger, panel:dropdown__panel", ...this.dropDownConfig, ref: (el) => (this.nanoDropdown = el), dialogTitle: "Select options from the list below", class: {
9540
+ : undefined }, h("nano-dropdown", { key: '56c051873a20a3dab17a36eec1a2f040f83247fa', part: "dropdown", exportparts: "trigger:dropdown__trigger, panel:dropdown__panel", ...this.dropDownConfig, ref: (el) => (this.nanoDropdown = el), dialogTitle: "Select options from the list below", class: {
9540
9541
  dlist__dropdown: true,
9541
9542
  'dlist--isfiltered': this.isFiltered,
9542
- }, onNanoAfterShow: this.handleShow, onNanoAfterHide: this.handleHide, role: "group" }, h("nano-menu", { key: 'f80006a5ba62c227094da52672b4abf6ee6335dc', part: "main-menu", ref: (el) => (this.listBox = el), hidden: !this.actvOptEles.length, type: "listbox", label: this.inputLabel ? this.inputLabel.textContent : undefined, class: {
9543
+ }, onNanoAfterShow: this.handleShow, onNanoAfterHide: this.handleHide, role: "group" }, h("nano-menu", { key: '7559b648617c8d32f61c670e4dc78c0d60d36dc4', part: "main-menu", ref: (el) => (this.listBox = el), hidden: !this.actvOptEles.length, type: "listbox", label: this.inputLabel ? this.inputLabel.textContent : undefined, class: {
9543
9544
  dlist__menu: true,
9544
9545
  'dlist__menu--open': this.dropwdownOpen,
9545
- }, tabIndex: -1, onNanoSelect: this.optSelected, onKeyDown: this.optionKeyDown }, h("slot", { key: '8a2d3160b990c99baeaf4fd9bdd7bb04229d642c', name: "list-top" }), h("slot", { key: '2230e4458be0998d59d18250e1d22188baf2f6b1' }), h("slot", { key: 'fca84cbd01495e4b62ba95c4c07681f506939d3f', name: "internal-opts" }), h("slot", { key: '076fd81c15f5ac6590e5311503262a07f60e8454', name: "list-bottom" })), h("nano-menu", { key: 'd4878bc502b4fcc0de01f67b5065ad017f445f75', part: "no-result-menu", type: "listbox", label: "No results found", hidden: !!this.actvOptEles.length, class: {
9546
+ }, tabIndex: -1, onNanoSelect: this.optSelected, onKeyDown: this.optionKeyDown }, h("slot", { key: '02bd8ba511db314637e8991d29234a22967cf27d', name: "list-top" }), h("slot", { key: 'cb0234e0dd103293c1f1292af62575dd766af730' }), h("slot", { key: '0adac42b20ee0338de74217e6e91c00be6b5b6a7', name: "internal-opts" }), h("slot", { key: '906255e4e6fdc87fa8bf6e278ad076f179553925', name: "list-bottom" })), h("nano-menu", { key: '9aa978054227c9bb928c06ce93303ceda48cbf29', part: "no-result-menu", type: "listbox", label: "No results found", hidden: !!this.actvOptEles.length, class: {
9546
9547
  dlist__menu: true,
9547
9548
  'dlist__menu--open': this.dropwdownOpen,
9548
- } }, h("slot", { key: '2ac583af3ac8b24ace627637ab86471999df9465', name: "no-result" })), !!this.actvOptEles && (h("div", { key: '4971780255baf694fcc447756ca02e1115ece871', class: "dlist__status" }, this.actvOptEles.length, " result", this.actvOptEles.length > 1 ? 's' : '', " available.")))));
9549
+ } }, h("slot", { key: '4e2ce9dcb39d0c823ed27f13dc8c9a8873f0ca9f', name: "no-result" })), !!this.actvOptEles && (h("div", { key: 'c6bf0c88d7b1fcd24b2882c7db851ffca2e77ba3', class: "dlist__status" }, this.actvOptEles.length, " result", this.actvOptEles.length > 1 ? 's' : '', " available.")))));
9549
9550
  }
9550
9551
  static get watchers() { return {
9551
9552
  "open": ["openWatcher"],
@@ -21148,7 +21149,7 @@ function mergeCellProperties(rowIndex, colIndex, defaultProps) {
21148
21149
  */
21149
21150
  function colheadFootRender(col) {
21150
21151
  const tpl = col?.columnTemplate;
21151
- return tpl ? (tpl(hAsync, col)) : (hAsync(Fragment, null, col.title));
21152
+ return tpl ? tpl(hAsync, col) : (hAsync(Fragment, null, col.title));
21152
21153
  }
21153
21154
  function headerPinClasses(type, vPinned, toString = false) {
21154
21155
  const classes = {
@@ -21285,7 +21286,7 @@ function cellRender(rowIndex, colIndex) {
21285
21286
  // custom rendering can render to the templateEle OR return a promise<string>
21286
21287
  tplResult = result && result['then'] ? result : templateEle;
21287
21288
  }
21288
- return tplResult ? (tplResult) : model.cellModel !== undefined && model.cellModel !== null ? (h(Fragment, null, model.cellModel?.toString())) : ('');
21289
+ return tplResult ? tplResult : model.cellModel !== undefined && model.cellModel !== null ? (h(Fragment, null, model.cellModel?.toString())) : ('');
21289
21290
  }
21290
21291
  const baseCellClasses = (colIndex, toString = false) => {
21291
21292
  const store = fetchStores();
@@ -24604,28 +24605,15 @@ class NanoTable {
24604
24605
  this.handleHideCaptionChange();
24605
24606
  }
24606
24607
  componentDidRender() {
24607
- if (this.scrollable !== false && this.table) {
24608
- // a hack. Revise in-future.
24609
- // the table is always rendered in the light DOM - so it should always be visible, but
24610
- // if we conditionally render the slot within the masked overflow there's quite a noticeable
24611
- // CLS as it moves before the nano-masked-overflow is bootstrapped.
24612
- customElements
24613
- .whenDefined(transformTag('nano-masked-overflow'))
24614
- .then(() => {
24615
- this.host
24616
- .querySelector('.nano-table__overflow')
24617
- ?.appendChild(this.table);
24618
- });
24619
- }
24620
24608
  }
24621
24609
  disconnectedCallback() {
24622
24610
  this.cleanUpObservers();
24623
24611
  }
24624
24612
  render() {
24625
- return (h(Host, { key: '54758d3dbda3695305222d5717ad0503d355dc42', class: {
24613
+ return (h(Host, { key: 'bd86de55fe8bc0259cf6e7e112c4bb48ad190761', class: {
24626
24614
  'nano-table': true,
24627
24615
  'nano-table--props-ready': this.propsReady,
24628
- } }, 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' })));
24616
+ } }, 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' })));
24629
24617
  }
24630
24618
  static get watchers() { return {
24631
24619
  "compact": ["handleCompactChange"],
@@ -29636,7 +29624,6 @@ class Slides {
29636
29624
  }
29637
29625
  flickityEl;
29638
29626
  flickityReady = false;
29639
- mutationO;
29640
29627
  resizeO;
29641
29628
  readyflickity;
29642
29629
  flickity = new Promise((resolve) => {
@@ -29700,7 +29687,7 @@ class Slides {
29700
29687
  async animationChange(_, oldAnim) {
29701
29688
  const [flkty, slides] = await Promise.all([
29702
29689
  this.getflickity(),
29703
- this.waitForSlides(this.host),
29690
+ this.waitForSlides(),
29704
29691
  ]);
29705
29692
  // clear old stuff
29706
29693
  slides.forEach((slide) => {
@@ -29790,9 +29777,11 @@ class Slides {
29790
29777
  * child slides.
29791
29778
  */
29792
29779
  async update() {
29780
+ if (!this.didInit)
29781
+ return;
29793
29782
  const [flickity] = await Promise.all([
29794
29783
  this.getflickity(),
29795
- this.waitForSlides(this.host),
29784
+ this.waitForSlides(),
29796
29785
  ]);
29797
29786
  this.childrenEles = this.host.querySelectorAll(`${transformTag('nano-slide')} > *`);
29798
29787
  flickity.reloadCells();
@@ -29980,7 +29969,7 @@ class Slides {
29980
29969
  const finalOptions = this.normalizeOptions();
29981
29970
  await this.loadFlickityModules(finalOptions);
29982
29971
  // init flickity core
29983
- await this.waitForSlides(this.host);
29972
+ await this.waitForSlides();
29984
29973
  this.flickityEl =
29985
29974
  this.flickityEl || this._getRoot().querySelector('.flickity-container');
29986
29975
  if (!this.flickityEl)
@@ -30070,8 +30059,8 @@ class Slides {
30070
30059
  // @ts-expect-error - merged options don't quite match the flickity options
30071
30060
  return { ...flickityOptions, ...mergedEventOptions, ...this.options };
30072
30061
  }
30073
- waitForSlides = (host) => {
30074
- const allSlides = Array.from(host.querySelectorAll(transformTag('nano-slide')));
30062
+ waitForSlides = () => {
30063
+ const allSlides = Array.from(this.host.querySelectorAll(transformTag('nano-slide')));
30075
30064
  this.slideCount = allSlides.length;
30076
30065
  let toLoadSlides = allSlides.filter((ele) => !ele.ready);
30077
30066
  if (!toLoadSlides.length)
@@ -30081,13 +30070,13 @@ class Slides {
30081
30070
  toLoadSlides = toLoadSlides.filter((ele) => ele !== ev.target);
30082
30071
  if (!toLoadSlides.length) {
30083
30072
  resolve(allSlides);
30084
- host.removeEventListener('nanoSlideReady', slideResolver);
30085
- host.removeEventListener('nano-slide-ready', slideResolver);
30073
+ this.host.removeEventListener('nanoSlideReady', slideResolver);
30074
+ this.host.removeEventListener('nano-slide-ready', slideResolver);
30086
30075
  }
30087
30076
  };
30088
- host.addEventListener('nanoSlideReady', slideResolver);
30077
+ this.host.addEventListener('nanoSlideReady', slideResolver);
30089
30078
  // fallback for vue who can't handle camelcase event names
30090
- host.addEventListener('nano-slide-ready', slideResolver);
30079
+ this.host.addEventListener('nano-slide-ready', slideResolver);
30091
30080
  });
30092
30081
  };
30093
30082
  componentDidLoad() {
@@ -30098,10 +30087,6 @@ class Slides {
30098
30087
  }
30099
30088
  }
30100
30089
  disconnectedCallback() {
30101
- if (this.mutationO) {
30102
- this.mutationO.disconnect();
30103
- this.mutationO = undefined;
30104
- }
30105
30090
  if (this.resizeO) {
30106
30091
  this.resizeO.disconnect();
30107
30092
  this.resizeO = undefined;
@@ -30109,15 +30094,15 @@ class Slides {
30109
30094
  this.destroyflickity();
30110
30095
  }
30111
30096
  render() {
30112
- return (h(Host, { key: '6dedc1589f5ae629975f38303f658de914c8f506', class: "nano-slides" }, h("div", { key: '528c7b10972b258ef0345525a9fa82c289ecc083', class: {
30097
+ return (h(Host, { key: '87cf8ae3ff3ded83f82ef3bfc5d76381afb967e0', class: "nano-slides" }, h("div", { key: 'af12496fc219421dcf416607a7c5cc9b0e59968e', class: {
30113
30098
  slideshow: true,
30114
30099
  ready: this.ready,
30115
30100
  'not-ready': !this.ready,
30116
- }, part: "base" }, h("div", { key: '4d16a4da0692f53500c755600a539edf5dc2d606', ref: (div) => (this.flickityEl = div), class: {
30101
+ }, part: "base" }, h("div", { key: 'c5995f58b334a741e4c7930be1354d4814dd436b', ref: (div) => (this.flickityEl = div), class: {
30117
30102
  'flickity-container': true,
30118
30103
  'slides-ready': this.slidesReady,
30119
30104
  'slides-not-ready': !this.slidesReady,
30120
- }, 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: {
30105
+ }, 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: {
30121
30106
  'pagination-btn': true,
30122
30107
  'pagination-btn--active': this.isActive(index),
30123
30108
  'is-selected': this.isActive(index),
package/hydrate/index.mjs CHANGED
@@ -3834,7 +3834,8 @@ class HasSlotController {
3834
3834
  // * Regular shadow DOM component *
3835
3835
  childNodes = [...this.host.shadowRoot.childNodes];
3836
3836
  }
3837
- else if (!this.host.classList.contains('hydrated')) {
3837
+ else if (!this.host.classList.contains('hydrated') &&
3838
+ this.host.__childNodes) {
3838
3839
  // * Non-shadow, polyfilled component *
3839
3840
  // Component has not done initial render. Return component internals
3840
3841
  childNodes = [...(this.host?.__childNodes ?? [])];
@@ -3844,7 +3845,7 @@ class HasSlotController {
3844
3845
  childNodes = [...this.host.childNodes];
3845
3846
  }
3846
3847
  return childNodes.some((node) => {
3847
- if (node.nodeType === Node.TEXT_NODE && node.textContent.trim() !== '') {
3848
+ if (node.nodeType === Node.TEXT_NODE && !!node.textContent.trim()) {
3848
3849
  return true;
3849
3850
  }
3850
3851
  if (node.nodeType === Node.ELEMENT_NODE) {
@@ -8468,7 +8469,7 @@ const getClassMap = (classes) => {
8468
8469
  return map;
8469
8470
  };
8470
8471
 
8471
- const checkboxGroupCss = ".sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-checkbox-group-h{--label-color:var(--nano-color-base-1000);--label-font-size:var(--nano-font-size-xs);--invalid-msg-color:var(--nano-color-danger-1100);--help-msg-color:var(--nano-color-base-1000);--more-font-size:var(--nano-font-size-2xs);display:block;inline-size:100%}.sc-nano-checkbox-group-h *.sc-nano-checkbox-group{box-sizing:inherit}.cbgroup.sc-nano-checkbox-group{margin:0;padding:0;border:0}.cbgroup__error.sc-nano-checkbox-group,.cbgroup__help.sc-nano-checkbox-group,.cbgroup__more.sc-nano-checkbox-group{display:block;inline-size:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cbgroup__error.sc-nano-checkbox-group,.cbgroup__help.sc-nano-checkbox-group{inset-block-start:0;inset-inline-start:0;position:absolute;font-size:var(--more-font-size);line-height:1.2;transition:0.3s ease-out opacity;font-style:italic}.show-error.sc-nano-checkbox-group .cbgroup__error.sc-nano-checkbox-group,.show-error.sc-nano-checkbox-group .cbgroup__help.sc-nano-checkbox-group{opacity:1}.cbgroup__error.sc-nano-checkbox-group{color:var(--invalid-msg-color);opacity:0}.has-error.sc-nano-checkbox-group .cbgroup__error.sc-nano-checkbox-group{opacity:1}.cbgroup__help.sc-nano-checkbox-group{opacity:1;color:var(--help-msg-color)}.has-error.sc-nano-checkbox-group .cbgroup__help.sc-nano-checkbox-group{opacity:0}.cbgroup__more.sc-nano-checkbox-group{block-size:1em;margin-block:var(--nano-spacing-sm) 0;position:relative;opacity:0;display:none;transition:all var(--nano-transition-fast) ease;transition-behavior:allow-discrete}.has-helper.sc-nano-checkbox-group .cbgroup__more.sc-nano-checkbox-group,.has-error.sc-nano-checkbox-group .cbgroup__more.sc-nano-checkbox-group{display:block;opacity:1}.cbgroup__legend.sc-nano-checkbox-group{font-size:var(--nano-font-size-xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose);padding:0 0 0.9375rem;margin:0;display:block;inline-size:100%}.cbgroup__legend.visually-hide.sc-nano-checkbox-group{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.cbgroup__cbs.sc-nano-checkbox-group{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--nano-spacing-md)}.types-segment.sc-nano-checkbox-group-h .cbgroup__cbs.sc-nano-checkbox-group{flex-direction:row;gap:0}.types-tag.sc-nano-checkbox-group-h .cbgroup__cbs.sc-nano-checkbox-group{flex-direction:row;gap:var(--nano-spacing-sm)}";
8472
+ const checkboxGroupCss = ".sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{box-sizing:border-box}[hidden].sc-nano-checkbox-group{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-checkbox-group-h,*.sc-nano-checkbox-group,*.sc-nano-checkbox-group::before,*.sc-nano-checkbox-group::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-checkbox-group-h{--label-color:var(--nano-color-base-1000);--label-font-size:var(--nano-font-size-xs);--invalid-msg-color:var(--nano-color-danger-1100);--help-msg-color:var(--nano-color-base-1000);--more-font-size:var(--nano-font-size-2xs);--gap:var(--nano-spacing-md);display:block;inline-size:100%}.sc-nano-checkbox-group-h *.sc-nano-checkbox-group{box-sizing:inherit}.cbgroup.sc-nano-checkbox-group{margin:0;padding:0;border:0}.cbgroup__error.sc-nano-checkbox-group,.cbgroup__help.sc-nano-checkbox-group,.cbgroup__more.sc-nano-checkbox-group{display:block;inline-size:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cbgroup__error.sc-nano-checkbox-group,.cbgroup__help.sc-nano-checkbox-group{inset-block-start:0;inset-inline-start:0;position:absolute;font-size:var(--more-font-size);line-height:1.2;transition:0.3s ease-out opacity;font-style:italic}.show-error.sc-nano-checkbox-group .cbgroup__error.sc-nano-checkbox-group,.show-error.sc-nano-checkbox-group .cbgroup__help.sc-nano-checkbox-group{opacity:1}.cbgroup__error.sc-nano-checkbox-group{color:var(--invalid-msg-color);opacity:0}.has-error.sc-nano-checkbox-group .cbgroup__error.sc-nano-checkbox-group{opacity:1}.cbgroup__help.sc-nano-checkbox-group{opacity:1;color:var(--help-msg-color)}.has-error.sc-nano-checkbox-group .cbgroup__help.sc-nano-checkbox-group{opacity:0}.cbgroup__more.sc-nano-checkbox-group{block-size:1em;margin-block:var(--nano-spacing-sm) 0;position:relative;opacity:0;display:none;transition:all var(--nano-transition-fast) ease;transition-behavior:allow-discrete}.has-helper.sc-nano-checkbox-group .cbgroup__more.sc-nano-checkbox-group,.has-error.sc-nano-checkbox-group .cbgroup__more.sc-nano-checkbox-group{display:block;opacity:1}.cbgroup__legend.sc-nano-checkbox-group{font-size:var(--nano-font-size-xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose);padding:0 0 0.9375rem;margin:0;display:block;inline-size:100%}.cbgroup__legend.visually-hide.sc-nano-checkbox-group{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.cbgroup__cbs.sc-nano-checkbox-group{margin:0;padding:0;display:flex;flex-direction:column;gap:var(--gap)}.types-segment.sc-nano-checkbox-group-h .cbgroup__cbs.sc-nano-checkbox-group{flex-direction:row;--gap:0}.types-tag.sc-nano-checkbox-group-h .cbgroup__cbs.sc-nano-checkbox-group{flex-direction:row;--gap:var(--nano-spacing-sm)}";
8472
8473
 
8473
8474
  /**
8474
8475
  * Checkbox group is an optional wrapper for all [checkbox](/components/checkbox) controls.
@@ -9532,18 +9533,18 @@ class DataList {
9532
9533
  }
9533
9534
  }
9534
9535
  render() {
9535
- return (h(Host, { key: '269f57e6eccd251685f84a94d53f380d6545a3cb', class: "nano-datalist", role: this.actvOptEles.length ? 'listbox' : undefined, "aria-owns": this.optionIds.length ? this.optionIds.join(' ') : undefined, "aria-label": this.optionIds.length
9536
+ return (h(Host, { key: '8acb3be76246d665171db96444cff3a5141e1132', class: "nano-datalist", role: this.actvOptEles.length ? 'listbox' : undefined, "aria-owns": this.optionIds.length ? this.optionIds.join(' ') : undefined, "aria-label": this.optionIds.length
9536
9537
  ? 'Select options from the list below'
9537
- : undefined }, h("nano-dropdown", { key: 'ee6398b356dc1a0ff9fa35e84955314fc95435b6', part: "dropdown", exportparts: "trigger:dropdown__trigger, panel:dropdown__panel", ...this.dropDownConfig, ref: (el) => (this.nanoDropdown = el), dialogTitle: "Select options from the list below", class: {
9538
+ : undefined }, h("nano-dropdown", { key: '56c051873a20a3dab17a36eec1a2f040f83247fa', part: "dropdown", exportparts: "trigger:dropdown__trigger, panel:dropdown__panel", ...this.dropDownConfig, ref: (el) => (this.nanoDropdown = el), dialogTitle: "Select options from the list below", class: {
9538
9539
  dlist__dropdown: true,
9539
9540
  'dlist--isfiltered': this.isFiltered,
9540
- }, onNanoAfterShow: this.handleShow, onNanoAfterHide: this.handleHide, role: "group" }, h("nano-menu", { key: 'f80006a5ba62c227094da52672b4abf6ee6335dc', part: "main-menu", ref: (el) => (this.listBox = el), hidden: !this.actvOptEles.length, type: "listbox", label: this.inputLabel ? this.inputLabel.textContent : undefined, class: {
9541
+ }, onNanoAfterShow: this.handleShow, onNanoAfterHide: this.handleHide, role: "group" }, h("nano-menu", { key: '7559b648617c8d32f61c670e4dc78c0d60d36dc4', part: "main-menu", ref: (el) => (this.listBox = el), hidden: !this.actvOptEles.length, type: "listbox", label: this.inputLabel ? this.inputLabel.textContent : undefined, class: {
9541
9542
  dlist__menu: true,
9542
9543
  'dlist__menu--open': this.dropwdownOpen,
9543
- }, tabIndex: -1, onNanoSelect: this.optSelected, onKeyDown: this.optionKeyDown }, h("slot", { key: '8a2d3160b990c99baeaf4fd9bdd7bb04229d642c', name: "list-top" }), h("slot", { key: '2230e4458be0998d59d18250e1d22188baf2f6b1' }), h("slot", { key: 'fca84cbd01495e4b62ba95c4c07681f506939d3f', name: "internal-opts" }), h("slot", { key: '076fd81c15f5ac6590e5311503262a07f60e8454', name: "list-bottom" })), h("nano-menu", { key: 'd4878bc502b4fcc0de01f67b5065ad017f445f75', part: "no-result-menu", type: "listbox", label: "No results found", hidden: !!this.actvOptEles.length, class: {
9544
+ }, tabIndex: -1, onNanoSelect: this.optSelected, onKeyDown: this.optionKeyDown }, h("slot", { key: '02bd8ba511db314637e8991d29234a22967cf27d', name: "list-top" }), h("slot", { key: 'cb0234e0dd103293c1f1292af62575dd766af730' }), h("slot", { key: '0adac42b20ee0338de74217e6e91c00be6b5b6a7', name: "internal-opts" }), h("slot", { key: '906255e4e6fdc87fa8bf6e278ad076f179553925', name: "list-bottom" })), h("nano-menu", { key: '9aa978054227c9bb928c06ce93303ceda48cbf29', part: "no-result-menu", type: "listbox", label: "No results found", hidden: !!this.actvOptEles.length, class: {
9544
9545
  dlist__menu: true,
9545
9546
  'dlist__menu--open': this.dropwdownOpen,
9546
- } }, h("slot", { key: '2ac583af3ac8b24ace627637ab86471999df9465', name: "no-result" })), !!this.actvOptEles && (h("div", { key: '4971780255baf694fcc447756ca02e1115ece871', class: "dlist__status" }, this.actvOptEles.length, " result", this.actvOptEles.length > 1 ? 's' : '', " available.")))));
9547
+ } }, h("slot", { key: '4e2ce9dcb39d0c823ed27f13dc8c9a8873f0ca9f', name: "no-result" })), !!this.actvOptEles && (h("div", { key: 'c6bf0c88d7b1fcd24b2882c7db851ffca2e77ba3', class: "dlist__status" }, this.actvOptEles.length, " result", this.actvOptEles.length > 1 ? 's' : '', " available.")))));
9547
9548
  }
9548
9549
  static get watchers() { return {
9549
9550
  "open": ["openWatcher"],
@@ -21146,7 +21147,7 @@ function mergeCellProperties(rowIndex, colIndex, defaultProps) {
21146
21147
  */
21147
21148
  function colheadFootRender(col) {
21148
21149
  const tpl = col?.columnTemplate;
21149
- return tpl ? (tpl(hAsync, col)) : (hAsync(Fragment, null, col.title));
21150
+ return tpl ? tpl(hAsync, col) : (hAsync(Fragment, null, col.title));
21150
21151
  }
21151
21152
  function headerPinClasses(type, vPinned, toString = false) {
21152
21153
  const classes = {
@@ -21283,7 +21284,7 @@ function cellRender(rowIndex, colIndex) {
21283
21284
  // custom rendering can render to the templateEle OR return a promise<string>
21284
21285
  tplResult = result && result['then'] ? result : templateEle;
21285
21286
  }
21286
- return tplResult ? (tplResult) : model.cellModel !== undefined && model.cellModel !== null ? (h(Fragment, null, model.cellModel?.toString())) : ('');
21287
+ return tplResult ? tplResult : model.cellModel !== undefined && model.cellModel !== null ? (h(Fragment, null, model.cellModel?.toString())) : ('');
21287
21288
  }
21288
21289
  const baseCellClasses = (colIndex, toString = false) => {
21289
21290
  const store = fetchStores();
@@ -24602,28 +24603,15 @@ class NanoTable {
24602
24603
  this.handleHideCaptionChange();
24603
24604
  }
24604
24605
  componentDidRender() {
24605
- if (this.scrollable !== false && this.table) {
24606
- // a hack. Revise in-future.
24607
- // the table is always rendered in the light DOM - so it should always be visible, but
24608
- // if we conditionally render the slot within the masked overflow there's quite a noticeable
24609
- // CLS as it moves before the nano-masked-overflow is bootstrapped.
24610
- customElements
24611
- .whenDefined(transformTag('nano-masked-overflow'))
24612
- .then(() => {
24613
- this.host
24614
- .querySelector('.nano-table__overflow')
24615
- ?.appendChild(this.table);
24616
- });
24617
- }
24618
24606
  }
24619
24607
  disconnectedCallback() {
24620
24608
  this.cleanUpObservers();
24621
24609
  }
24622
24610
  render() {
24623
- return (h(Host, { key: '54758d3dbda3695305222d5717ad0503d355dc42', class: {
24611
+ return (h(Host, { key: 'bd86de55fe8bc0259cf6e7e112c4bb48ad190761', class: {
24624
24612
  'nano-table': true,
24625
24613
  'nano-table--props-ready': this.propsReady,
24626
- } }, 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' })));
24614
+ } }, 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' })));
24627
24615
  }
24628
24616
  static get watchers() { return {
24629
24617
  "compact": ["handleCompactChange"],
@@ -29634,7 +29622,6 @@ class Slides {
29634
29622
  }
29635
29623
  flickityEl;
29636
29624
  flickityReady = false;
29637
- mutationO;
29638
29625
  resizeO;
29639
29626
  readyflickity;
29640
29627
  flickity = new Promise((resolve) => {
@@ -29698,7 +29685,7 @@ class Slides {
29698
29685
  async animationChange(_, oldAnim) {
29699
29686
  const [flkty, slides] = await Promise.all([
29700
29687
  this.getflickity(),
29701
- this.waitForSlides(this.host),
29688
+ this.waitForSlides(),
29702
29689
  ]);
29703
29690
  // clear old stuff
29704
29691
  slides.forEach((slide) => {
@@ -29788,9 +29775,11 @@ class Slides {
29788
29775
  * child slides.
29789
29776
  */
29790
29777
  async update() {
29778
+ if (!this.didInit)
29779
+ return;
29791
29780
  const [flickity] = await Promise.all([
29792
29781
  this.getflickity(),
29793
- this.waitForSlides(this.host),
29782
+ this.waitForSlides(),
29794
29783
  ]);
29795
29784
  this.childrenEles = this.host.querySelectorAll(`${transformTag('nano-slide')} > *`);
29796
29785
  flickity.reloadCells();
@@ -29978,7 +29967,7 @@ class Slides {
29978
29967
  const finalOptions = this.normalizeOptions();
29979
29968
  await this.loadFlickityModules(finalOptions);
29980
29969
  // init flickity core
29981
- await this.waitForSlides(this.host);
29970
+ await this.waitForSlides();
29982
29971
  this.flickityEl =
29983
29972
  this.flickityEl || this._getRoot().querySelector('.flickity-container');
29984
29973
  if (!this.flickityEl)
@@ -30068,8 +30057,8 @@ class Slides {
30068
30057
  // @ts-expect-error - merged options don't quite match the flickity options
30069
30058
  return { ...flickityOptions, ...mergedEventOptions, ...this.options };
30070
30059
  }
30071
- waitForSlides = (host) => {
30072
- const allSlides = Array.from(host.querySelectorAll(transformTag('nano-slide')));
30060
+ waitForSlides = () => {
30061
+ const allSlides = Array.from(this.host.querySelectorAll(transformTag('nano-slide')));
30073
30062
  this.slideCount = allSlides.length;
30074
30063
  let toLoadSlides = allSlides.filter((ele) => !ele.ready);
30075
30064
  if (!toLoadSlides.length)
@@ -30079,13 +30068,13 @@ class Slides {
30079
30068
  toLoadSlides = toLoadSlides.filter((ele) => ele !== ev.target);
30080
30069
  if (!toLoadSlides.length) {
30081
30070
  resolve(allSlides);
30082
- host.removeEventListener('nanoSlideReady', slideResolver);
30083
- host.removeEventListener('nano-slide-ready', slideResolver);
30071
+ this.host.removeEventListener('nanoSlideReady', slideResolver);
30072
+ this.host.removeEventListener('nano-slide-ready', slideResolver);
30084
30073
  }
30085
30074
  };
30086
- host.addEventListener('nanoSlideReady', slideResolver);
30075
+ this.host.addEventListener('nanoSlideReady', slideResolver);
30087
30076
  // fallback for vue who can't handle camelcase event names
30088
- host.addEventListener('nano-slide-ready', slideResolver);
30077
+ this.host.addEventListener('nano-slide-ready', slideResolver);
30089
30078
  });
30090
30079
  };
30091
30080
  componentDidLoad() {
@@ -30096,10 +30085,6 @@ class Slides {
30096
30085
  }
30097
30086
  }
30098
30087
  disconnectedCallback() {
30099
- if (this.mutationO) {
30100
- this.mutationO.disconnect();
30101
- this.mutationO = undefined;
30102
- }
30103
30088
  if (this.resizeO) {
30104
30089
  this.resizeO.disconnect();
30105
30090
  this.resizeO = undefined;
@@ -30107,15 +30092,15 @@ class Slides {
30107
30092
  this.destroyflickity();
30108
30093
  }
30109
30094
  render() {
30110
- return (h(Host, { key: '6dedc1589f5ae629975f38303f658de914c8f506', class: "nano-slides" }, h("div", { key: '528c7b10972b258ef0345525a9fa82c289ecc083', class: {
30095
+ return (h(Host, { key: '87cf8ae3ff3ded83f82ef3bfc5d76381afb967e0', class: "nano-slides" }, h("div", { key: 'af12496fc219421dcf416607a7c5cc9b0e59968e', class: {
30111
30096
  slideshow: true,
30112
30097
  ready: this.ready,
30113
30098
  'not-ready': !this.ready,
30114
- }, part: "base" }, h("div", { key: '4d16a4da0692f53500c755600a539edf5dc2d606', ref: (div) => (this.flickityEl = div), class: {
30099
+ }, part: "base" }, h("div", { key: 'c5995f58b334a741e4c7930be1354d4814dd436b', ref: (div) => (this.flickityEl = div), class: {
30115
30100
  'flickity-container': true,
30116
30101
  'slides-ready': this.slidesReady,
30117
30102
  'slides-not-ready': !this.slidesReady,
30118
- }, 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: {
30103
+ }, 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: {
30119
30104
  'pagination-btn': true,
30120
30105
  'pagination-btn--active': this.isActive(index),
30121
30106
  'is-selected': this.isActive(index),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanoporetech-digital/components",
3
- "version": "8.12.2",
3
+ "version": "8.13.0",
4
4
  "sideEffects": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -60,7 +60,7 @@
60
60
  "smart-array-filter": "^4.0.2",
61
61
  "stencil-wormhole": "3.2.1",
62
62
  "tyqs": "^0.1.3",
63
- "@nanoporetech-digital/style": "8.12.2"
63
+ "@nanoporetech-digital/style": "8.13.0"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@algolia/client-search": "^4.22.1",
@@ -1,4 +0,0 @@
1
- /*!
2
- * Custom elements for Nanopore-Digital Web applications
3
- */
4
- import{g as t,j as s}from"./index-BM3Om9WE.js";import{g as h}from"./dom-dlicJTEJ.js";function i(t){const s=t.getRootNode();return s.host?s.host.innerText:t.innerText}class o{host;slotNames=[];constructor(s,...h){this.slotNames=h;const i=s.componentWillLoad;s.componentWillLoad=()=>{this.host=t(s),i&&i.call(s)};const o=s.connectedCallback;s.connectedCallback=()=>{this.host=t(s),this.hostConnected(),o&&o.call(s)};const e=s.disconnectedCallback;s.disconnectedCallback=()=>{this.hostDisconnected(),this.host=void 0,e&&e.call(s)}}hasDefaultSlot(){if(!this.host)return!1;let t;return t=this.host.shadowRoot?[...this.host.shadowRoot.childNodes]:this.host.classList.contains("hydrated")?[...this.host.childNodes]:[...this.host?.__childNodes??[]],t.some((t=>t.nodeType===Node.TEXT_NODE&&""!==t.textContent.trim()||t.nodeType===Node.ELEMENT_NODE&&!t.hasAttribute("slot")))}hasNamedSlot(t){return!!this.host&&h(this.host,`[slot="${t}"]`,!0).length>0}has(t){return"[default]"===t?this.hasDefaultSlot():this.hasNamedSlot(t)}hostConnected(){(this.host.shadowRoot??this.host).addEventListener("slotchange",this.handleSlotChange)}hostDisconnected(){this.host&&(this.host.shadowRoot??this.host).removeEventListener("slotchange",this.handleSlotChange)}handleSlotChange=t=>{const h=t.target;(this.slotNames.includes("[default]")&&!h.name||h.name&&this.slotNames.includes(h.name))&&s(this.host)}}export{o as H,i as g}