@nanoporetech-digital/components 5.7.0 → 5.8.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 (110) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/nano-components.cjs.js +1 -1
  4. package/dist/cjs/nano-details.cjs.entry.js +74 -56
  5. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  6. package/dist/cjs/nano-grid_2.cjs.entry.js +10 -8
  7. package/dist/cjs/nano-grid_2.cjs.entry.js.map +1 -1
  8. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  9. package/dist/cjs/nano-slide.cjs.entry.js.map +1 -1
  10. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  11. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  12. package/dist/cjs/nano-tab-group.cjs.entry.js +1 -1
  13. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  15. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  16. package/dist/cjs/{nano-table-e0a0c40f.js → nano-table-0f4ea38f.js} +15 -5
  17. package/dist/cjs/nano-table-0f4ea38f.js.map +1 -0
  18. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  19. package/dist/cjs/{table.worker-249333f1.js → table.worker-ba6685a0.js} +2 -2
  20. package/dist/cjs/table.worker-ba6685a0.js.map +1 -0
  21. package/dist/collection/components/details/details.css +29 -54
  22. package/dist/collection/components/details/details.js +109 -81
  23. package/dist/collection/components/details/details.js.map +1 -1
  24. package/dist/collection/components/grid/grid.js +19 -17
  25. package/dist/collection/components/grid/grid.js.map +1 -1
  26. package/dist/collection/components/slides/slide.css +4 -0
  27. package/dist/collection/components/slides/slides.css +2 -1
  28. package/dist/collection/components/table/table-interface.js.map +1 -1
  29. package/dist/collection/components/table/table.cell.js +13 -3
  30. package/dist/collection/components/table/table.cell.js.map +1 -1
  31. package/dist/collection/components/table/table.js +5 -2
  32. package/dist/collection/components/table/table.js.map +1 -1
  33. package/dist/collection/components/tabs/tab-group.js +1 -1
  34. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  35. package/dist/collection/components/tabs/tab.js +2 -2
  36. package/dist/collection/components/tabs/tab.js.map +1 -1
  37. package/dist/components/grid.js +19 -17
  38. package/dist/components/grid.js.map +1 -1
  39. package/dist/components/nano-details.js +77 -62
  40. package/dist/components/nano-details.js.map +1 -1
  41. package/dist/components/nano-slide.js +1 -1
  42. package/dist/components/nano-slide.js.map +1 -1
  43. package/dist/components/nano-slides.js +1 -1
  44. package/dist/components/nano-slides.js.map +1 -1
  45. package/dist/components/nano-tab-group.js +1 -1
  46. package/dist/components/nano-tab-group.js.map +1 -1
  47. package/dist/components/nano-tab.js +2 -2
  48. package/dist/components/nano-tab.js.map +1 -1
  49. package/dist/components/table.js +13 -3
  50. package/dist/components/table.js.map +1 -1
  51. package/dist/esm/loader.js +1 -1
  52. package/dist/esm/nano-components.js +1 -1
  53. package/dist/esm/nano-details.entry.js +75 -57
  54. package/dist/esm/nano-details.entry.js.map +1 -1
  55. package/dist/esm/nano-grid_2.entry.js +10 -8
  56. package/dist/esm/nano-grid_2.entry.js.map +1 -1
  57. package/dist/esm/nano-slide.entry.js +1 -1
  58. package/dist/esm/nano-slide.entry.js.map +1 -1
  59. package/dist/esm/nano-slides.entry.js +1 -1
  60. package/dist/esm/nano-slides.entry.js.map +1 -1
  61. package/dist/esm/nano-tab-group.entry.js +1 -1
  62. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  63. package/dist/esm/nano-tab.entry.js +2 -2
  64. package/dist/esm/nano-tab.entry.js.map +1 -1
  65. package/dist/esm/{nano-table-d769b1dd.js → nano-table-cc0fc046.js} +15 -5
  66. package/dist/esm/nano-table-cc0fc046.js.map +1 -0
  67. package/dist/esm/nano-table.entry.js +1 -1
  68. package/dist/esm/{table.worker-cb6af8ab.js → table.worker-ca7b069b.js} +2 -2
  69. package/dist/esm/table.worker-ca7b069b.js.map +1 -0
  70. package/dist/nano-components/nano-components.esm.js +1 -1
  71. package/dist/nano-components/nano-components.esm.js.map +1 -1
  72. package/dist/nano-components/p-20086faa.entry.js +5 -0
  73. package/dist/nano-components/p-20086faa.entry.js.map +1 -0
  74. package/dist/nano-components/{p-d62b48bc.entry.js → p-3cac5f6d.entry.js} +2 -2
  75. package/dist/nano-components/{p-d62b48bc.entry.js.map → p-3cac5f6d.entry.js.map} +1 -1
  76. package/dist/nano-components/p-3d8fb8a1.entry.js +5 -0
  77. package/dist/nano-components/p-3d8fb8a1.entry.js.map +1 -0
  78. package/dist/nano-components/{p-94b4479b.js → p-43573870.js} +2 -2
  79. package/dist/nano-components/{p-6ae6d4a6.entry.js → p-4b7e85b2.entry.js} +2 -2
  80. package/dist/nano-components/p-5ca9275c.entry.js +5 -0
  81. package/dist/nano-components/p-5ca9275c.entry.js.map +1 -0
  82. package/dist/nano-components/{p-bedada62.entry.js → p-92195a83.entry.js} +2 -2
  83. package/dist/nano-components/{p-bedada62.entry.js.map → p-92195a83.entry.js.map} +1 -1
  84. package/dist/nano-components/{p-6106c383.entry.js → p-935968b8.entry.js} +3 -3
  85. package/dist/nano-components/{p-6106c383.entry.js.map → p-935968b8.entry.js.map} +1 -1
  86. package/dist/nano-components/p-d2705006.js +5 -0
  87. package/dist/nano-components/p-d2705006.js.map +1 -0
  88. package/dist/types/components/details/details.d.ts +18 -25
  89. package/dist/types/components/grid/grid.d.ts +1 -0
  90. package/dist/types/components/table/table-interface.d.ts +2 -1
  91. package/dist/types/components/table/table.d.ts +1 -1
  92. package/dist/types/components.d.ts +24 -10
  93. package/docs-json.json +63 -67
  94. package/docs-vscode.json +8 -33
  95. package/hydrate/index.js +118 -82
  96. package/package.json +2 -2
  97. package/dist/cjs/nano-table-e0a0c40f.js.map +0 -1
  98. package/dist/cjs/table.worker-249333f1.js.map +0 -1
  99. package/dist/esm/nano-table-d769b1dd.js.map +0 -1
  100. package/dist/esm/table.worker-cb6af8ab.js.map +0 -1
  101. package/dist/nano-components/p-3018d4df.js +0 -5
  102. package/dist/nano-components/p-3018d4df.js.map +0 -1
  103. package/dist/nano-components/p-50f2fdb3.entry.js +0 -5
  104. package/dist/nano-components/p-50f2fdb3.entry.js.map +0 -1
  105. package/dist/nano-components/p-9d65f5de.entry.js +0 -5
  106. package/dist/nano-components/p-9d65f5de.entry.js.map +0 -1
  107. package/dist/nano-components/p-a03993f9.entry.js +0 -5
  108. package/dist/nano-components/p-a03993f9.entry.js.map +0 -1
  109. /package/dist/nano-components/{p-6ae6d4a6.entry.js.map → p-43573870.js.map} +0 -0
  110. /package/dist/nano-components/{p-94b4479b.js.map → p-4b7e85b2.entry.js.map} +0 -0
package/hydrate/index.js CHANGED
@@ -12195,7 +12195,7 @@ const displayTransition = (el, className, show = true, showDisplay = 'block') =>
12195
12195
  });
12196
12196
  };
12197
12197
 
12198
- const detailsCss = "/*!@:host*/.sc-nano-details-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-details,*.sc-nano-details::before,*.sc-nano-details::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-details{display:none !important}/*!@:host*/.sc-nano-details-h{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;--padding:1em;--btn-padding:var(--padding);--btn-bg-color:var(--nano-color-contrast, #dad6d3);--btn-bg-color--open:var(--nano-color-base, #dad6d3);--btn-bg-color--hover:var(--nano-color-tint, #f9f9fb);--btn-text-color:var(--nano-color-base, #455556);--btn-text-color--open:var(--nano-color-contrast, var(--btn-text-color));--btn-text-color--hover:var(--nano-color-contrast, var(--btn-text-color));--content-bg-color:transparent;--content-text-color:#455556;--content-transition:height 0.2s ease-out;--border-width:none;--border-color:none;--border-style:none;--border-radius:none;--box-shadow:none;--focus-style:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));display:block;border-style:var(--border-style);border-width:var(--border-width-dims);border-color:var(--border-color);border-radius:var(--border-radius-dims);box-shadow:var(--box-shadow)}/*!@:host(:last-of-type)*/.sc-nano-details-h:last-of-type{--border-width-dims:0 var(--border-width) var(--border-width);--border-radius-dims:0 0 var(--border-radius) var(--border-radius)}/*!@:host(:last-of-type) .open .content*/.sc-nano-details-h:last-of-type .open.sc-nano-details .content.sc-nano-details{border-radius:0 0 var(--border-radius) var(--border-radius)}/*!@:host(:first-of-type)*/.sc-nano-details-h:first-of-type{--border-radius-dims:var(--border-radius) var(--border-radius) 0 0;--border-width-dims:var(--border-width)}/*!@:host(:first-of-type:last-of-type)*/.sc-nano-details-h:first-of-type:last-of-type{--border-radius-dims:var(--border-radius);--border-width-dims:var(--border-width)}/*!@:host(:not(:last-of-type):not(:first-of-type))*/.sc-nano-details-h:not(:last-of-type):not(:first-of-type){--border-width-dims:0 var(--border-width) var(--border-width)}/*!@:host(.nano-color)*/.nano-color.sc-nano-details-h{--btn-bg-color:var(--nano-color-contrast, var(--nano-color-primary-contrast, #fff));--btn-bg-color--open:var(--nano-color-base, var(--nano-color-primary, #007495));--btn-bg-color--hover:var(--nano-color-tint, var(--nano-color-primary-tint, #2689a5));--btn-text-color:var(--nano-color-base, var(--nano-color-primary, #007495));--btn-text-color--open:var(\n --nano-color-contrast,\n var(--nano-color-primary-contrast, #fff)\n );--btn-text-color--hover:var(\n --nano-color-contrast,\n var(--nano-color-primary-contrast, #fff)\n )}/*!@button*/button.sc-nano-details{inset-block:0;inset-inline:auto;margin:0;inline-size:100%;block-size:100%;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none;outline:none;height:auto;padding:var(--btn-padding);text-align:inherit;position:relative;font-size:1em;margin:0;transition:0.3s ease background, 0.3s ease color, 0.15s ease box-shadow;display:flex;align-items:center;background:var(--btn-bg-color);color:var(--btn-text-color);border-radius:var(--border-radius-dims)}/*!@button::-moz-focus-inner*/button.sc-nano-details::-moz-focus-inner{border:0}/*!@button:focus*/button.sc-nano-details:focus{box-shadow:var(--focus-style);outline:none;position:relative;z-index:1}/*!@:hover button*/.sc-nano-details:hover button.sc-nano-details{background:var(--btn-bg-color--hover);color:var(--btn-text-color--hover)}/*!@.open button*/.open.sc-nano-details button.sc-nano-details{background:var(--btn-bg-color--open);color:var(--btn-text-color--open);border-end-end-radius:0;border-end-start-radius:0}/*!@button .label*/button.sc-nano-details .label.sc-nano-details{width:100%;max-width:100%;max-height:100%;flex:1;display:inline-block}/*!@button .icon*/button.sc-nano-details .icon.sc-nano-details{line-height:0;flex-direction:column;justify-content:center;display:inline-block;color:currentcolor;transition:0.3s ease transform;transform-origin:center}/*!@button .icon--start*/button.sc-nano-details .icon--start.sc-nano-details{margin-inline:0 var(--padding);margin-block:0}/*!@button .icon--end*/button.sc-nano-details .icon--end.sc-nano-details{margin-inline:var(--padding) 0;margin-block:0}/*!@button .icon ::slotted(nano-icon)*/button .icon .sc-nano-details-s>nano-icon{--color:currentcolor}/*!@.content*/.content.sc-nano-details{color:var(--content-text-color);background:var(--content-bg-color);height:0;overflow:hidden;transition:0.2s ease border-radius;outline:none}/*!@.loaded .content*/.loaded.sc-nano-details .content.sc-nano-details{transition:var(--content-transition), 0.2s ease border-radius}/*!@.content > **/.content.sc-nano-details>*.sc-nano-details{opacity:0;transition:opacity 0.2s ease-out}/*!@.open .content > **/.open.sc-nano-details .content.sc-nano-details>*.sc-nano-details{opacity:1}/*!@.content__area*/.content__area.sc-nano-details{padding:var(--padding)}";
12198
+ const detailsCss = "/*!@:host*/.sc-nano-details-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-details,*.sc-nano-details::before,*.sc-nano-details::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-details{display:none !important}/*!@:host*/.sc-nano-details-h{font-family:inherit;font-size:inherit;font-stretch:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;--padding:1em;--btn-padding:var(--padding);--btn-bg-color:var(--nano-color-contrast, #dad6d3);--btn-bg-color--open:var(--nano-color-base, #dad6d3);--btn-bg-color--hover:var(--nano-color-tint, #f9f9fb);--btn-text-color:var(--nano-color-base, #455556);--btn-text-color--open:var(--nano-color-contrast, var(--btn-text-color));--btn-text-color--hover:var(--nano-color-contrast, var(--btn-text-color));--content-transition:height 0.2s ease-out;--border-width:none;--border-color:none;--border-style:none;--border-radius:none;--box-shadow:none;--focus-style:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));display:block;border-style:var(--border-style);border-width:var(--border-width-dims);border-color:var(--border-color);border-radius:var(--border-radius-dims);box-shadow:var(--box-shadow)}/*!@:host([disabled])*/[disabled].sc-nano-details-h{opacity:0.5}/*!@:host(:last-of-type)*/.sc-nano-details-h:last-of-type{--border-width-dims:0 var(--border-width) var(--border-width);--border-radius-dims:0 0 var(--border-radius) var(--border-radius)}/*!@:host(:last-of-type) .open .content*/.sc-nano-details-h:last-of-type .open.sc-nano-details .content.sc-nano-details{border-radius:0 0 var(--border-radius) var(--border-radius)}/*!@:host(:first-of-type)*/.sc-nano-details-h:first-of-type{--border-radius-dims:var(--border-radius) var(--border-radius) 0 0;--border-width-dims:var(--border-width)}/*!@:host(:first-of-type:last-of-type)*/.sc-nano-details-h:first-of-type:last-of-type{--border-radius-dims:var(--border-radius);--border-width-dims:var(--border-width)}/*!@:host(:not(:last-of-type):not(:first-of-type))*/.sc-nano-details-h:not(:last-of-type):not(:first-of-type){--border-width-dims:0 var(--border-width) var(--border-width)}/*!@.header*/.header.sc-nano-details{height:auto;padding:var(--btn-padding);text-align:inherit;position:relative;font-size:1em;line-height:1;margin:0;transition:0.3s ease background, 0.3s ease color, 0.15s ease box-shadow;display:flex;align-items:center;background:var(--btn-bg-color);color:var(--btn-text-color);border-radius:var(--border-radius-dims);cursor:pointer}/*!@.header::-webkit-details-marker*/.header.sc-nano-details::-webkit-details-marker{display:none}/*!@.header:focus*/.header.sc-nano-details:focus{outline:none}/*!@.header:focus-visible*/.header.sc-nano-details:focus-visible{box-shadow:var(--focus-style);outline:none;position:relative;z-index:1}/*!@.header:hover*/.header.sc-nano-details:hover{background:var(--btn-bg-color--hover);color:var(--btn-text-color--hover)}/*!@.open .header*/.open.sc-nano-details .header.sc-nano-details{background:var(--btn-bg-color--open);color:var(--btn-text-color--open);border-end-end-radius:0;border-end-start-radius:0}/*!@.disabled .header*/.disabled.sc-nano-details .header.sc-nano-details{cursor:not-allowed}/*!@.header .label*/.header.sc-nano-details .label.sc-nano-details{width:100%;max-width:100%;max-height:100%;flex:1;display:inline-block}/*!@.header .icon*/.header.sc-nano-details .icon.sc-nano-details{line-height:0;flex-direction:column;justify-content:center;display:inline-block;color:currentcolor;transition:0.3s ease transform;transform-origin:center}/*!@.header .icon--start*/.header.sc-nano-details .icon--start.sc-nano-details{margin-inline:0 var(--padding);margin-block:0}/*!@.header .icon--end*/.header.sc-nano-details .icon--end.sc-nano-details{margin-inline:var(--padding) 0;margin-block:0}/*!@.header .icon ::slotted(nano-icon)*/.header .icon .sc-nano-details-s>nano-icon{--color:currentcolor}/*!@.body*/.body.sc-nano-details{overflow:hidden;transition:var(--content-transition), 0.2s ease border-radius;outline:none}/*!@.body > **/.body.sc-nano-details>*.sc-nano-details{opacity:0;transition:opacity 0.2s ease-out}/*!@.open .body > **/.open.sc-nano-details .body.sc-nano-details>*.sc-nano-details{opacity:1}/*!@.content*/.content.sc-nano-details{padding:var(--padding)}";
12199
12199
 
12200
12200
  /**
12201
12201
  * A simple element used to hide or reveal more content with slide effect. Can be used independently or nested within a [accordion](story/components-accordion--accordion) element to add 'one item open at a time' support.
@@ -12206,10 +12206,12 @@ const detailsCss = "/*!@:host*/.sc-nano-details-h{box-sizing:border-box}/*!@*,\n
12206
12206
  * @slot label - can be used when you wish to insert complex label markup
12207
12207
  * @slot icon-end - used for icons at the end of the handle
12208
12208
  *
12209
- * @part button - the main details ui control
12209
+ * @part base - the root `details` element
12210
+ * @part header - the main `summary` ui control
12210
12211
  * @part label - the text wrapper of the ui control
12211
12212
  * @part icon--start - the icon wrapper at the start of the ui control
12212
12213
  * @part icon--end - the icon wrapper at the end of the ui control
12214
+ * @part body - the wrapper around content
12213
12215
  * @part content - the main content wrapper
12214
12216
  */
12215
12217
  class Details {
@@ -12217,27 +12219,39 @@ class Details {
12217
12219
  registerInstance(this, hostRef);
12218
12220
  this.nanoOpened = createEvent(this, "nanoOpened", 7);
12219
12221
  this.nanoClosed = createEvent(this, "nanoClosed", 7);
12220
- this.slideId = `nano-details-${slideIds++}`;
12221
12222
  this.stateChanging = false;
12222
- this.onKeyDown = (ev) => {
12223
- switch (ev.key) {
12223
+ this.onKeyDown = (e) => {
12224
+ if (this.stateChanging || this.disabled)
12225
+ return;
12226
+ switch (e.key) {
12224
12227
  case 'Enter':
12225
12228
  case ' ':
12229
+ e.preventDefault();
12226
12230
  this.open = !this.open;
12227
12231
  break;
12232
+ case 'ArrowUp':
12233
+ e.preventDefault();
12234
+ this.open = false;
12235
+ break;
12236
+ case 'ArrowDown':
12237
+ e.preventDefault();
12238
+ this.open = true;
12239
+ break;
12228
12240
  }
12229
12241
  };
12230
- this.onMouseDown = () => {
12231
- if (this.stateChanging)
12242
+ this.onMouseDown = (e) => {
12243
+ e.preventDefault();
12244
+ this.headerEl.focus();
12245
+ if (this.stateChanging || this.disabled)
12232
12246
  return;
12233
12247
  this.open = !this.open;
12234
12248
  };
12235
- this.isLoading = true;
12236
12249
  this.label = '';
12237
12250
  this.open = false;
12251
+ this.disabled = false;
12238
12252
  this.noHandle = false;
12239
12253
  this.iconRotation = 90;
12240
- this.color = undefined;
12254
+ this.useCacheHeight = false;
12241
12255
  }
12242
12256
  toggleClick() {
12243
12257
  this.stateChanging = true;
@@ -12247,72 +12261,83 @@ class Details {
12247
12261
  this.hide();
12248
12262
  }
12249
12263
  hide() {
12250
- this.nanoClosed.emit(this.open);
12251
- displayTransition(this.contentEl, 'is-shown', false).then(() => (this.stateChanging = false));
12252
- this.contentEl.style.height = '0px';
12264
+ const nanoClose = this.nanoClosed.emit(this.open);
12265
+ if (nanoClose.defaultPrevented) {
12266
+ this.open = true;
12267
+ this.detailsEl.open = true;
12268
+ return;
12269
+ }
12270
+ this.cacheHeight = this.contentEl.scrollHeight;
12271
+ this.bodyEl.style.height = this.cacheHeight + 'px';
12272
+ displayTransition(this.bodyEl, 'is-shown', false).then(() => {
12273
+ this.stateChanging = false;
12274
+ this.detailsEl.open = false;
12275
+ });
12276
+ requestAnimationFrame(() => {
12277
+ this.bodyEl.style.height = '0px';
12278
+ });
12253
12279
  }
12254
12280
  show() {
12255
- this.nanoOpened.emit();
12256
- displayTransition(this.contentEl, 'is-shown', true).then(() => {
12281
+ const nanoOpen = this.nanoOpened.emit();
12282
+ this.detailsEl.open = true;
12283
+ if (nanoOpen.defaultPrevented) {
12284
+ this.open = false;
12285
+ this.detailsEl.open = false;
12286
+ return;
12287
+ }
12288
+ displayTransition(this.bodyEl, 'is-shown', true).then(() => {
12257
12289
  this.stateChanging = false;
12290
+ this.bodyEl.style.height = 'auto';
12258
12291
  });
12259
- this.contentEl.style.height = this.contentArea.scrollHeight + 'px';
12292
+ this.bodyEl.style.height =
12293
+ (this.useCacheHeight ? this.cacheHeight : this.contentEl.scrollHeight) +
12294
+ 'px';
12260
12295
  }
12261
- resize() {
12262
- if (!this.open ||
12263
- !this.contentArea ||
12264
- !this.contentEl ||
12265
- this.stateChanging)
12296
+ attachMo() {
12297
+ if (this.mo || !this.detailsEl || !Build.isBrowser)
12266
12298
  return;
12267
- readTask(() => {
12268
- if (this.contentArea.scrollHeight > 0) {
12269
- writeTask(() => {
12270
- this.contentEl.style.height = this.contentArea.scrollHeight + 'px';
12271
- });
12299
+ this.mo = new MutationObserver((changes) => {
12300
+ if (this.stateChanging)
12301
+ return;
12302
+ for (const change of changes) {
12303
+ if (change.type === 'attributes' && change.attributeName === 'open') {
12304
+ this.open = this.detailsEl.open;
12305
+ }
12272
12306
  }
12273
12307
  });
12274
- }
12275
- attachRO() {
12276
- if (this.ro || !this.contentArea)
12277
- return;
12278
- const ro = (this.ro = new ResizeObserver(() => this.resize()));
12279
- ro.observe(this.contentArea);
12308
+ this.mo.observe(this.detailsEl, { attributes: true });
12280
12309
  }
12281
12310
  componentWillLoad() {
12282
- this.hasStartSlot = !!this.el.querySelector('[slot="icon-start"]');
12283
- this.hasEndSlot = !!this.el.querySelector('[slot="icon-end"]');
12284
- setTimeout(() => {
12285
- this.isLoading = false;
12286
- }, 100);
12311
+ this.hasStartSlot = !!this.host.querySelector('[slot="icon-start"]');
12312
+ this.hasEndSlot = !!this.host.querySelector('[slot="icon-end"]');
12287
12313
  }
12288
12314
  componentDidLoad() {
12289
- if (this.open) {
12290
- // disable animation on start
12291
- setTimeout(() => {
12292
- this.show();
12293
- }, 0);
12294
- }
12315
+ this.bodyEl.style.height = this.open ? 'auto' : '0';
12316
+ if (this.open)
12317
+ this.detailsEl.setAttribute('open', 'true');
12318
+ this.attachMo();
12295
12319
  }
12296
12320
  connectedCallback() {
12297
- return;
12321
+ this.attachMo();
12298
12322
  }
12299
12323
  disconnectedCallback() {
12300
- if (this.mo)
12324
+ if (this.mo) {
12301
12325
  this.mo.disconnect();
12302
- if (this.ro)
12303
- this.ro.disconnect();
12326
+ this.mo = undefined;
12327
+ }
12304
12328
  }
12305
12329
  render() {
12306
- return (hAsync(Host, { class: Object.assign({}, createColorClasses(this.color)) }, hAsync("div", { class: {
12330
+ return (hAsync("details", { part: "base", ref: (d) => (this.detailsEl = d), class: {
12331
+ details: true,
12307
12332
  open: this.open,
12308
- loaded: !this.isLoading,
12309
- } }, hAsync("button", { onKeyDown: this.onKeyDown, onMouseDown: this.onMouseDown, onTouchEnd: this.onMouseDown, "aria-controls": this.slideId, "aria-expanded": this.open ? 'true' : 'false', style: { display: this.noHandle ? 'none' : '' }, part: "button" }, this.hasStartSlot ? (hAsync("span", { part: "icon--start", class: "icon icon--start", style: {
12333
+ disabled: this.disabled,
12334
+ } }, hAsync("summary", { part: "header", "aria-controls": "content", "aria-expanded": this.open ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', tabindex: this.disabled ? '-1' : '0', style: { display: this.noHandle ? 'none' : '' }, id: "header", role: "button", class: "header", ref: (s) => (this.headerEl = s), onKeyDown: this.onKeyDown, onClick: this.onMouseDown }, this.hasStartSlot ? (hAsync("span", { part: "icon--start", class: "icon icon--start", style: {
12310
12335
  transform: this.open ? `rotate(${this.iconRotation}deg)` : '',
12311
- } }, hAsync("slot", { name: "icon-start" }))) : (''), hAsync("div", { class: "label", part: "label" }, this.label ? this.label : hAsync("slot", { name: "label" })), this.hasEndSlot ? (hAsync("span", { part: "icon--end", class: "icon icon--end", style: {
12336
+ } }, hAsync("slot", { name: "icon-start" }))) : (''), hAsync("div", { part: "label", class: "label" }, this.label ? this.label : hAsync("slot", { name: "label" })), this.hasEndSlot ? (hAsync("span", { part: "icon--end", class: "icon icon--end", style: {
12312
12337
  transform: this.open ? `rotate(${this.iconRotation}deg)` : '',
12313
- } }, hAsync("slot", { name: "icon-end" }))) : ('')), hAsync("div", { class: "content", ref: (div) => (this.contentEl = div), tabindex: "-1", id: this.slideId, part: "content" }, hAsync("div", { ref: (div) => (this.contentArea = div), class: "content__area" }, hAsync("slot", null))))));
12338
+ } }, hAsync("slot", { name: "icon-end" }))) : ('')), hAsync("div", { part: "body", class: "body", ref: (div) => (this.bodyEl = div), tabindex: "-1", role: "region", "aria-labelledby": "header" }, hAsync("div", { part: "content", ref: (div) => (this.contentEl = div), class: "content", id: "content" }, hAsync("slot", null)))));
12314
12339
  }
12315
- get el() { return getElement(this); }
12340
+ get host() { return getElement(this); }
12316
12341
  static get watchers() { return {
12317
12342
  "open": ["toggleClick"]
12318
12343
  }; }
@@ -12323,17 +12348,16 @@ class Details {
12323
12348
  "$members$": {
12324
12349
  "label": [1],
12325
12350
  "open": [1540],
12351
+ "disabled": [1540],
12326
12352
  "noHandle": [4, "no-handle"],
12327
12353
  "iconRotation": [2, "icon-rotation"],
12328
- "color": [1],
12329
- "isLoading": [32]
12354
+ "useCacheHeight": [4, "use-cache-height"]
12330
12355
  },
12331
12356
  "$listeners$": undefined,
12332
12357
  "$lazyBundleId$": "-",
12333
- "$attrsToReflect$": [["open", "open"]]
12358
+ "$attrsToReflect$": [["open", "open"], ["disabled", "disabled"]]
12334
12359
  }; }
12335
12360
  }
12336
- let slideIds = 0;
12337
12361
 
12338
12362
  /**
12339
12363
  * Given a slot, this function iterates over all of its assigned elements and text nodes and returns the concatenated
@@ -18312,6 +18336,7 @@ var __metadata = (undefined && undefined.__metadata) || function (k, v) {
18312
18336
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
18313
18337
  return Reflect.metadata(k, v);
18314
18338
  };
18339
+ let gridId = 0;
18315
18340
  /**
18316
18341
  * A lightweight, context-aware CSS grid implementation.
18317
18342
  *
@@ -18330,6 +18355,7 @@ class Grid {
18330
18355
  constructor(hostRef) {
18331
18356
  registerInstance(this, hostRef);
18332
18357
  this.grids = [];
18358
+ this.gridId = 'nano-grid-' + gridId++;
18333
18359
  this.styles = () => {
18334
18360
  const css = /* css */ `
18335
18361
  ${this.grids
@@ -18337,7 +18363,7 @@ class Grid {
18337
18363
  @container (min-width: ${typeof bp.breakpoint === 'number'
18338
18364
  ? bp.breakpoint + 1 + 'px'
18339
18365
  : bp.breakpoint}) {
18340
- .grid {
18366
+ #${this.gridId}.grid {
18341
18367
  --current-grid-size: "grid size: ${bp.name}";
18342
18368
  ${bp.template
18343
18369
  ? `grid-template: ${bp.template};`
@@ -18347,11 +18373,11 @@ class Grid {
18347
18373
  .map((_, i) => {
18348
18374
  const gItm = i + 1;
18349
18375
  return /* css */ `
18350
- .grid > [grid-states~="${bp.name}-col-start-${gItm}"],
18376
+ #${this.gridId}.grid > [grid-states~="${bp.name}-col-start-${gItm}"],
18351
18377
  ::slotted([grid-states~="${bp.name}-col-start-${gItm}"]) {
18352
18378
  grid-column-start: ${gItm} !important;
18353
18379
  }
18354
- .grid > [grid-states~="${bp.name}-col-span-${gItm}"],
18380
+ #${this.gridId}.grid > [grid-states~="${bp.name}-col-span-${gItm}"],
18355
18381
  ::slotted([grid-states~="${bp.name}-col-span-${gItm}"]) {
18356
18382
  grid-column-end: span ${gItm} !important;
18357
18383
  }
@@ -18362,11 +18388,11 @@ class Grid {
18362
18388
  .map((_, i) => {
18363
18389
  const gItm = i + 1;
18364
18390
  return /* css */ `
18365
- .grid > [grid-states~="${bp.name}-row-start-${gItm}"],
18391
+ #${this.gridId}.grid > [grid-states~="${bp.name}-row-start-${gItm}"],
18366
18392
  ::slotted([grid-states~="${bp.name}-row-start-${gItm}"]) {
18367
18393
  grid-row-start: ${gItm} !important;
18368
18394
  }
18369
- .grid > [grid-states~="${bp.name}-row-span-${gItm}"],
18395
+ #${this.gridId}.grid > [grid-states~="${bp.name}-row-span-${gItm}"],
18370
18396
  ::slotted([grid-states~="${bp.name}-row-span-${gItm}"]) {
18371
18397
  grid-row-end: span ${gItm} !important;
18372
18398
  }
@@ -18375,7 +18401,7 @@ class Grid {
18375
18401
  .join('')}
18376
18402
  ${this.showHelper &&
18377
18403
  /* css */ `
18378
- .grid--helper :nth-child(-n+${bp.cols}) {
18404
+ #${this.gridId} .grid--helper :nth-child(-n+${bp.cols}) {
18379
18405
  display: block !important;
18380
18406
  }
18381
18407
  `}
@@ -18418,7 +18444,7 @@ class Grid {
18418
18444
  name: 'm',
18419
18445
  template: this.mTpl,
18420
18446
  });
18421
- if (this.lSize)
18447
+ if (this.lCols)
18422
18448
  this.grids.push({
18423
18449
  cols: this.lCols,
18424
18450
  breakpoint: this.mSize,
@@ -18450,7 +18476,7 @@ class Grid {
18450
18476
  this.constructSizeArray();
18451
18477
  }
18452
18478
  render() {
18453
- return (hAsync(Host, null, hAsync("div", { part: "grid", class: "grid" }, hAsync("slot", null)), this.showHelper && (hAsync("div", { class: "grid grid--helper", part: "helper" }, [...Array(24)].map(() => (hAsync("div", { class: "grid__helper-item" })))))));
18479
+ return (hAsync(Host, null, hAsync("div", { part: "grid", class: "grid", id: this.gridId }, hAsync("slot", null)), this.showHelper && (hAsync("div", { class: "grid grid--helper", part: "helper" }, [...Array(24)].map(() => (hAsync("div", { class: "grid__helper-item" })))))));
18454
18480
  }
18455
18481
  static get watchers() { return {
18456
18482
  "sTpl": ["constructSizeArray"],
@@ -18474,15 +18500,15 @@ class Grid {
18474
18500
  "$flags$": 9,
18475
18501
  "$tagName$": "nano-grid",
18476
18502
  "$members$": {
18477
- "sSize": [8, "s-size"],
18478
- "mSize": [8, "m-size"],
18479
- "lSize": [8, "l-size"],
18480
- "xlSize": [8, "xl-size"],
18481
- "sCols": [2, "s-cols"],
18482
- "mCols": [2, "m-cols"],
18483
- "lCols": [2, "l-cols"],
18484
- "xlCols": [2, "xl-cols"],
18485
- "xxlCols": [2, "xxl-cols"],
18503
+ "sSize": [520, "s-size"],
18504
+ "mSize": [520, "m-size"],
18505
+ "lSize": [520, "l-size"],
18506
+ "xlSize": [520, "xl-size"],
18507
+ "sCols": [514, "s-cols"],
18508
+ "mCols": [514, "m-cols"],
18509
+ "lCols": [514, "l-cols"],
18510
+ "xlCols": [514, "xl-cols"],
18511
+ "xxlCols": [514, "xxl-cols"],
18486
18512
  "sTpl": [1, "s-tpl"],
18487
18513
  "mTpl": [1, "m-tpl"],
18488
18514
  "lTpl": [1, "l-tpl"],
@@ -18493,7 +18519,7 @@ class Grid {
18493
18519
  },
18494
18520
  "$listeners$": undefined,
18495
18521
  "$lazyBundleId$": "-",
18496
- "$attrsToReflect$": [["showHelper", "show-helper"]]
18522
+ "$attrsToReflect$": [["sSize", "s-size"], ["mSize", "m-size"], ["lSize", "l-size"], ["xlSize", "xl-size"], ["sCols", "s-cols"], ["mCols", "m-cols"], ["lCols", "l-cols"], ["xlCols", "xl-cols"], ["xxlCols", "xxl-cols"], ["showHelper", "show-helper"]]
18497
18523
  }; }
18498
18524
  }
18499
18525
  __decorate([
@@ -22237,7 +22263,7 @@ class Skeleton {
22237
22263
  }; }
22238
22264
  }
22239
22265
 
22240
- const slideCss = "/*!@:host*/.sc-nano-slide-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-slide,*.sc-nano-slide::before,*.sc-nano-slide::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-slide{display:none !important}/*!@:host*/.sc-nano-slide-h{display:flex;align-items:center;justify-content:center;inline-size:100%;min-block-size:100%;font-size:18px;text-align:center;box-sizing:border-box;overflow:hidden;transition:opacity 0.2s;opacity:0;flex-direction:column}/*!@:host([ready])*/[ready].sc-nano-slide-h{opacity:1}";
22266
+ const slideCss = "/*!@:host*/.sc-nano-slide-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-slide,*.sc-nano-slide::before,*.sc-nano-slide::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-slide{display:none !important}/*!@:host*/.sc-nano-slide-h{display:flex;align-items:center;justify-content:center;inline-size:100%;min-block-size:100%;font-size:18px;text-align:center;box-sizing:border-box;overflow:hidden;transition:opacity 0.2s;opacity:0;flex-direction:column}/*!@:host([ready])*/[ready].sc-nano-slide-h{opacity:1}/*!@:host(:not([ready]))*/.sc-nano-slide-h:not([ready]){flex:1 0 auto}";
22241
22267
 
22242
22268
  class Slide$2 {
22243
22269
  constructor(hostRef) {
@@ -26121,7 +26147,7 @@ proto.shiftWrapCells = function () {
26121
26147
 
26122
26148
  const flickity = Flickity;
26123
26149
 
26124
- const slidesCss = "/*!@:host*/.sc-nano-slides-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-slides,*.sc-nano-slides::before,*.sc-nano-slides::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-slides{display:none !important}/*!@:host*/.sc-nano-slides-h{--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])*/[ready].sc-nano-slides-h{opacity:1}/*!@.slideshow*/.slideshow.sc-nano-slides{max-height:100%;min-height:inherit;height:inherit;position:relative}/*!@.slideshow.not-ready*/.slideshow.not-ready.sc-nano-slides{max-width:98vw}/*!@.flickity-container*/.flickity-container.sc-nano-slides{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*/.not-ready.sc-nano-slides .flickity-container.sc-nano-slides{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}/*!@.flickity-container.slides-ready*/.flickity-container.slides-ready.sc-nano-slides{min-height:inherit;max-height:inherit;height:inherit;width:auto}/*!@[hidden]*/[hidden].sc-nano-slides{display:none !important}/*!@.ui-extras*/.ui-extras.sc-nano-slides{pointer-events:none;position:absolute;block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0}/*!@.ui-extras **/.ui-extras.sc-nano-slides *.sc-nano-slides{pointer-events:all}/*!@.flickity-enabled*/.flickity-enabled.sc-nano-slides{position:relative;opacity:1}/*!@.flickity-enabled:focus*/.flickity-enabled.sc-nano-slides:focus{outline:none}/*!@.flickity-viewport*/.flickity-viewport.sc-nano-slides{overflow:hidden;position:relative;min-block-size:100%;flex:1}/*!@.flickity-slider*/.flickity-slider.sc-nano-slides{position:absolute;inline-size:100%;block-size:100%}/*!@.flickity-enabled.is-draggable*/.flickity-enabled.is-draggable.sc-nano-slides{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}/*!@.flickity-enabled.is-draggable .flickity-viewport*/.flickity-enabled.is-draggable.sc-nano-slides .flickity-viewport.sc-nano-slides{cursor:move;cursor:grab;cursor:grab}/*!@.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down*/.flickity-enabled.is-draggable.sc-nano-slides .flickity-viewport.is-pointer-down.sc-nano-slides{cursor:grabbing}/*!@.flickity-button*/.flickity-button.sc-nano-slides{position:absolute;background:var(--navbtns-bg-color);border:none;color:#333;opacity:0.75}/*!@.flickity-button:hover*/.flickity-button.sc-nano-slides:hover{opacity:1;cursor:pointer}/*!@.flickity-button:focus*/.flickity-button.sc-nano-slides:focus{outline:none;box-shadow:0 0 0 5px #19f}/*!@.flickity-button:active*/.flickity-button.sc-nano-slides:active{opacity:0.6}/*!@.flickity-button:disabled*/.flickity-button.sc-nano-slides:disabled{opacity:0.3;cursor:auto;pointer-events:none;background:var(--navbtns-bg-color-disabled)}/*!@.flickity-button-icon*/.flickity-button-icon.sc-nano-slides{fill:var(--navbtns-icon-color)}/*!@.flickity-button:disabled .flickity-button-icon*/.flickity-button.sc-nano-slides:disabled .flickity-button-icon.sc-nano-slides{fill:var(--navbtns-icon-color-disabled)}/*!@.flickity-prev-next-button*/.flickity-prev-next-button.sc-nano-slides{inset-block-start:50%;inline-size:44px;block-size:44px;border-radius:50%;transform:translateY(-50%)}/*!@.flickity-prev-next-button.previous*/.flickity-prev-next-button.previous.sc-nano-slides{inset-inline-start:10px}/*!@.flickity-prev-next-button.next*/.flickity-prev-next-button.next.sc-nano-slides{inset-inline-end:10px}/*!@.flickity-rtl .flickity-prev-next-button.previous*/.flickity-rtl.sc-nano-slides .flickity-prev-next-button.previous.sc-nano-slides{inset-inline:auto 10px}/*!@.flickity-rtl .flickity-prev-next-button.next*/.flickity-rtl.sc-nano-slides .flickity-prev-next-button.next.sc-nano-slides{inset-inline:10px auto}/*!@.flickity-prev-next-button .flickity-button-icon*/.flickity-prev-next-button.sc-nano-slides .flickity-button-icon.sc-nano-slides{position:absolute;inset-inline-start:20%;inset-block-start:20%;inline-size:60%;block-size:60%}/*!@.flickity-page-dots*/.flickity-page-dots.sc-nano-slides{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*/.flickity-rtl.sc-nano-slides .flickity-page-dots.sc-nano-slides{direction:rtl}/*!@.flickity-page-dots .dot*/.flickity-page-dots.sc-nano-slides .dot.sc-nano-slides{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*/.flickity-page-dots.sc-nano-slides .dot.is-selected.sc-nano-slides{opacity:1;background:var(--dot-color-active)}/*!@.flickity-enabled.is-fullscreen*/.flickity-enabled.is-fullscreen.sc-nano-slides{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*/.flickity-enabled.is-fullscreen.sc-nano-slides .flickity-page-dots.sc-nano-slides{inset-block-end:45px}/*!@html.is-flickity-fullscreen*/html.is-flickity-fullscreen.sc-nano-slides{overflow:hidden}/*!@.flickity-fullscreen-button*/.flickity-fullscreen-button.sc-nano-slides{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*/.flickity-rtl.sc-nano-slides .flickity-fullscreen-button.sc-nano-slides{inset-inline:10px auto}/*!@.flickity-fullscreen-button-exit*/.flickity-fullscreen-button-exit.sc-nano-slides{display:none}/*!@.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit*/.flickity-enabled.is-fullscreen.sc-nano-slides .flickity-fullscreen-button-exit.sc-nano-slides{display:block}/*!@.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view*/.flickity-enabled.is-fullscreen.sc-nano-slides .flickity-fullscreen-button-view.sc-nano-slides{display:none}/*!@.flickity-fullscreen-button .flickity-button-icon*/.flickity-fullscreen-button.sc-nano-slides .flickity-button-icon.sc-nano-slides{position:absolute;inline-size:16px;block-size:16px;inset-inline-start:4px;inset-block-start:4px}/*!@.flickity-enabled.is-fade .flickity-slider > **/.flickity-enabled.is-fade.sc-nano-slides .flickity-slider.sc-nano-slides>*.sc-nano-slides{pointer-events:none;z-index:0}/*!@.flickity-enabled.is-fade .flickity-slider ::slotted(.is-selected)*/.flickity-enabled.is-fade .flickity-slider .sc-nano-slides-s>.is-selected{pointer-events:auto;z-index:1}";
26150
+ const slidesCss = "/*!@:host*/.sc-nano-slides-h{box-sizing:border-box}/*!@*,\n*::before,\n*::after*/*.sc-nano-slides,*.sc-nano-slides::before,*.sc-nano-slides::after{box-sizing:border-box}/*!@[hidden]*/[hidden].sc-nano-slides{display:none !important}/*!@:host*/.sc-nano-slides-h{--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])*/[ready].sc-nano-slides-h{opacity:1}/*!@.slideshow*/.slideshow.sc-nano-slides{max-height:100%;min-height:inherit;height:inherit;position:relative}/*!@.slideshow.not-ready*/.slideshow.not-ready.sc-nano-slides{width:100%;overflow:hidden}/*!@.flickity-container*/.flickity-container.sc-nano-slides{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*/.not-ready.sc-nano-slides .flickity-container.sc-nano-slides{width:-moz-fit-content;width:fit-content;height:-moz-fit-content;height:fit-content}/*!@.flickity-container.slides-ready*/.flickity-container.slides-ready.sc-nano-slides{min-height:inherit;max-height:inherit;height:inherit;width:auto}/*!@[hidden]*/[hidden].sc-nano-slides{display:none !important}/*!@.ui-extras*/.ui-extras.sc-nano-slides{pointer-events:none;position:absolute;block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0}/*!@.ui-extras **/.ui-extras.sc-nano-slides *.sc-nano-slides{pointer-events:all}/*!@.flickity-enabled*/.flickity-enabled.sc-nano-slides{position:relative;opacity:1}/*!@.flickity-enabled:focus*/.flickity-enabled.sc-nano-slides:focus{outline:none}/*!@.flickity-viewport*/.flickity-viewport.sc-nano-slides{overflow:hidden;position:relative;min-block-size:100%;flex:1}/*!@.flickity-slider*/.flickity-slider.sc-nano-slides{position:absolute;inline-size:100%;block-size:100%}/*!@.flickity-enabled.is-draggable*/.flickity-enabled.is-draggable.sc-nano-slides{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}/*!@.flickity-enabled.is-draggable .flickity-viewport*/.flickity-enabled.is-draggable.sc-nano-slides .flickity-viewport.sc-nano-slides{cursor:move;cursor:grab;cursor:grab}/*!@.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down*/.flickity-enabled.is-draggable.sc-nano-slides .flickity-viewport.is-pointer-down.sc-nano-slides{cursor:grabbing}/*!@.flickity-button*/.flickity-button.sc-nano-slides{position:absolute;background:var(--navbtns-bg-color);border:none;color:#333;opacity:0.75}/*!@.flickity-button:hover*/.flickity-button.sc-nano-slides:hover{opacity:1;cursor:pointer}/*!@.flickity-button:focus*/.flickity-button.sc-nano-slides:focus{outline:none;box-shadow:0 0 0 5px #19f}/*!@.flickity-button:active*/.flickity-button.sc-nano-slides:active{opacity:0.6}/*!@.flickity-button:disabled*/.flickity-button.sc-nano-slides:disabled{opacity:0.3;cursor:auto;pointer-events:none;background:var(--navbtns-bg-color-disabled)}/*!@.flickity-button-icon*/.flickity-button-icon.sc-nano-slides{fill:var(--navbtns-icon-color)}/*!@.flickity-button:disabled .flickity-button-icon*/.flickity-button.sc-nano-slides:disabled .flickity-button-icon.sc-nano-slides{fill:var(--navbtns-icon-color-disabled)}/*!@.flickity-prev-next-button*/.flickity-prev-next-button.sc-nano-slides{inset-block-start:50%;inline-size:44px;block-size:44px;border-radius:50%;transform:translateY(-50%)}/*!@.flickity-prev-next-button.previous*/.flickity-prev-next-button.previous.sc-nano-slides{inset-inline-start:10px}/*!@.flickity-prev-next-button.next*/.flickity-prev-next-button.next.sc-nano-slides{inset-inline-end:10px}/*!@.flickity-rtl .flickity-prev-next-button.previous*/.flickity-rtl.sc-nano-slides .flickity-prev-next-button.previous.sc-nano-slides{inset-inline:auto 10px}/*!@.flickity-rtl .flickity-prev-next-button.next*/.flickity-rtl.sc-nano-slides .flickity-prev-next-button.next.sc-nano-slides{inset-inline:10px auto}/*!@.flickity-prev-next-button .flickity-button-icon*/.flickity-prev-next-button.sc-nano-slides .flickity-button-icon.sc-nano-slides{position:absolute;inset-inline-start:20%;inset-block-start:20%;inline-size:60%;block-size:60%}/*!@.flickity-page-dots*/.flickity-page-dots.sc-nano-slides{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*/.flickity-rtl.sc-nano-slides .flickity-page-dots.sc-nano-slides{direction:rtl}/*!@.flickity-page-dots .dot*/.flickity-page-dots.sc-nano-slides .dot.sc-nano-slides{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*/.flickity-page-dots.sc-nano-slides .dot.is-selected.sc-nano-slides{opacity:1;background:var(--dot-color-active)}/*!@.flickity-enabled.is-fullscreen*/.flickity-enabled.is-fullscreen.sc-nano-slides{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*/.flickity-enabled.is-fullscreen.sc-nano-slides .flickity-page-dots.sc-nano-slides{inset-block-end:45px}/*!@html.is-flickity-fullscreen*/html.is-flickity-fullscreen.sc-nano-slides{overflow:hidden}/*!@.flickity-fullscreen-button*/.flickity-fullscreen-button.sc-nano-slides{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*/.flickity-rtl.sc-nano-slides .flickity-fullscreen-button.sc-nano-slides{inset-inline:10px auto}/*!@.flickity-fullscreen-button-exit*/.flickity-fullscreen-button-exit.sc-nano-slides{display:none}/*!@.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit*/.flickity-enabled.is-fullscreen.sc-nano-slides .flickity-fullscreen-button-exit.sc-nano-slides{display:block}/*!@.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view*/.flickity-enabled.is-fullscreen.sc-nano-slides .flickity-fullscreen-button-view.sc-nano-slides{display:none}/*!@.flickity-fullscreen-button .flickity-button-icon*/.flickity-fullscreen-button.sc-nano-slides .flickity-button-icon.sc-nano-slides{position:absolute;inline-size:16px;block-size:16px;inset-inline-start:4px;inset-block-start:4px}/*!@.flickity-enabled.is-fade .flickity-slider > **/.flickity-enabled.is-fade.sc-nano-slides .flickity-slider.sc-nano-slides>*.sc-nano-slides{pointer-events:none;z-index:0}/*!@.flickity-enabled.is-fade .flickity-slider ::slotted(.is-selected)*/.flickity-enabled.is-fade .flickity-slider .sc-nano-slides-s>.is-selected{pointer-events:auto;z-index:1}";
26125
26151
 
26126
26152
  const modulo = (num, div) => {
26127
26153
  return ((num % div) + div) % div;
@@ -28372,12 +28398,12 @@ class Tab {
28372
28398
  this.tab.blur();
28373
28399
  }
28374
28400
  render() {
28375
- return (hAsync(Host, { id: this.host.id || this.tabId }, hAsync("div", { part: "base", class: {
28401
+ return (hAsync(Host, { id: this.host.id || this.tabId, role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false' }, hAsync("div", { part: "base", class: {
28376
28402
  nanotab: true,
28377
28403
  'nanotab--active': this.active,
28378
28404
  'nanotab--disabled': this.disabled,
28379
28405
  'nanotab--closable': this.closable,
28380
- } }, hAsync("slot", { name: "start" }), hAsync("div", { part: "tab", ref: (el) => (this.tab = el), role: "tab", "aria-disabled": this.disabled ? 'true' : 'false', "aria-selected": this.active ? 'true' : 'false', tabindex: this.disabled || !this.active ? '-1' : '0', class: "nanotab__tab" }, hAsync("slot", null)), this.closable && !this.disabled && (hAsync("nano-icon-button", { label: "Close this tab", iconName: "light/times", class: "nanotab__close-button", onClick: this.handleCloseClick, onKeyDown: this.handleCloseKeydown, part: "close-btn" })), hAsync("slot", { name: "end" }))));
28406
+ } }, hAsync("slot", { name: "start" }), hAsync("div", { part: "tab", ref: (el) => (this.tab = el), tabindex: this.disabled || !this.active ? '-1' : '0', class: "nanotab__tab" }, hAsync("slot", null)), this.closable && !this.disabled && (hAsync("nano-icon-button", { label: "Close this tab", iconName: "light/times", class: "nanotab__close-button", onClick: this.handleCloseClick, onKeyDown: this.handleCloseKeydown, part: "close-btn" })), hAsync("slot", { name: "end" }))));
28381
28407
  }
28382
28408
  get host() { return getElement(this); }
28383
28409
  static get style() { return tabCss; }
@@ -28827,7 +28853,7 @@ class TabGroup {
28827
28853
  }, onClick: this.handleClick, onKeyDown: this.handleKeyDown }, hAsync("div", { class: "nano-tab-group__nav-container", part: "nav" }, this.placement === 'top' && (hAsync("button", { disabled: !this.hasScrollControls, class: {
28828
28854
  'nano-tab-group__scroll-button': true,
28829
28855
  'nano-tab-group__scroll-button--left': true,
28830
- }, ref: (btn) => (this.leftBtn = btn), onClick: () => this.handleBtnClick(false) }, hAsync("nano-icon", { name: "light/chevron-left" }))), hAsync("div", { ref: (el) => (this.nav = el), class: "nano-tab-group__nav", onScroll: this.handleTabScroll }, hAsync("div", { ref: (el) => (this.tabs = el), part: "tabs", class: "nano-tab-group__tabs", role: "tablist" }, hAsync("div", { ref: (el) => (this.activeTabIndicator = el), part: "active-tab-indicator", class: "nano-tab-group__active-tab-indicator" }), hAsync("slot", { name: "tabs", onSlotchange: this.handleTabSlotChange }))), this.placement === 'top' && (hAsync("button", { disabled: !this.hasScrollControls, class: {
28856
+ }, ref: (btn) => (this.leftBtn = btn), onClick: () => this.handleBtnClick(false) }, hAsync("nano-icon", { name: "light/chevron-left" }))), hAsync("div", { ref: (el) => (this.nav = el), class: "nano-tab-group__nav", onScroll: this.handleTabScroll }, hAsync("div", { ref: (el) => (this.tabs = el), part: "tabs", class: "nano-tab-group__tabs", role: "tablist", "aria-orientation": this.placement === 'start' ? 'vertical' : 'horizontal' }, hAsync("div", { ref: (el) => (this.activeTabIndicator = el), part: "active-tab-indicator", class: "nano-tab-group__active-tab-indicator" }), hAsync("slot", { name: "tabs", onSlotchange: this.handleTabSlotChange }))), this.placement === 'top' && (hAsync("button", { disabled: !this.hasScrollControls, class: {
28831
28857
  'nano-tab-group__scroll-button': true,
28832
28858
  'nano-tab-group__scroll-button--right': true,
28833
28859
  }, ref: (btn) => (this.rightBtn = btn), onClick: () => this.handleBtnClick(true) }, hAsync("nano-icon", { name: "light/chevron-right" })))), hAsync("slot", { name: "tab-content-header" }), hAsync("div", { part: "body", class: "nano-tab-group__body", onTouchStart: this.handleTouchStart, onTouchEnd: this.handleTouchEnd }, hAsync("slot", { onSlotchange: this.handleContentSlotChange })))));
@@ -30175,8 +30201,9 @@ function cellRender(rowIndex, colIndex) {
30175
30201
  // Render it now and output it later.
30176
30202
  const templateEle = document.createElement('template');
30177
30203
  // @ts-expect-error
30178
- tableInstance.customRenderer(tplResult, templateEle.content);
30179
- tplResult = templateEle;
30204
+ const result = tableInstance.customRenderer(tplResult, templateEle.content);
30205
+ // custom rendering can render to the templateEle OR return a promise<string>
30206
+ tplResult = result && result['then'] ? result : templateEle;
30180
30207
  }
30181
30208
  return tplResult ? (tplResult) : model.cellModel !== undefined && model.cellModel !== null ? (hAsync(Fragment, null, (_b = model.cellModel) === null || _b === void 0 ? void 0 : _b.toString())) : ('');
30182
30209
  }
@@ -30214,16 +30241,25 @@ const TableCell = ({ rowIndex, colIndex, nestedContent, }) => {
30214
30241
  const ContentWrap = (props) => {
30215
30242
  const content = Content();
30216
30243
  return (hAsync("div", Object.assign({ ref: (d) => {
30217
- if (d && content instanceof Element) {
30244
+ if (!d)
30245
+ return;
30246
+ if (content instanceof Element) {
30247
+ // custom rendered an element
30218
30248
  d.replaceChildren();
30219
30249
  d.append(content['content'] || content);
30220
30250
  }
30251
+ else if (content['then']) {
30252
+ // custom rendered a promise. Most likely within SSR.
30253
+ // @ts-expect-error
30254
+ content.then((res) => (d.innerHTML = res));
30255
+ }
30221
30256
  } }, props, { class: {
30222
30257
  [`${CSSNAMESPACE}__cell-content`]: true,
30223
30258
  [`${CSSNAMESPACE}__cell-content--wrap`]: !!column.wrap,
30224
30259
  }, innerHTML: typeof content === 'string' && content.includes('<')
30225
30260
  ? content
30226
30261
  : undefined }), (typeof content !== 'string' || !content.includes('<')) &&
30262
+ !content['then'] &&
30227
30263
  !(content instanceof Element) &&
30228
30264
  content));
30229
30265
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanoporetech-digital/components",
3
- "version": "5.7.0",
3
+ "version": "5.8.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://git.oxfordnanolabs.local/Digital/nano-components"
@@ -131,7 +131,7 @@
131
131
  "nanopore",
132
132
  "digital"
133
133
  ],
134
- "gitHead": "1a54e7d34a188d439757541b7c190b1fd51c62b7",
134
+ "gitHead": "fed5a165db8918f46d56956446b279a735c3e546",
135
135
  "volta": {
136
136
  "node": "14.18.1",
137
137
  "npm": "8.6.0"