@nanoporetech-digital/components 8.0.0-alpha.11 → 8.0.0-alpha.13

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 (244) hide show
  1. package/dist/cjs/{algolia-data-C57jw89c.js → algolia-data-D6TycVS6.js} +1 -1
  2. package/dist/cjs/{component-store-D4ZpyJGu.js → component-store-DFgMey0A.js} +1 -1
  3. package/dist/cjs/{dom-DrCOFZHp.js → dom-Lc3nZSfj.js} +1 -1
  4. package/dist/cjs/{fade-C1bcLlQH.js → fade-CiX74e7g.js} +3 -3
  5. package/dist/cjs/{form-control-ed3BuLGX.js → form-control-iZOZz0ZY.js} +1 -1
  6. package/dist/cjs/{fullscreen-CEgvGOfe.js → fullscreen-CRDiLBHG.js} +3 -3
  7. package/dist/cjs/{index-BtfGVqVr.js → index-CFe0EAH2.js} +1 -1
  8. package/dist/cjs/{index-lEfdugE-.js → index-DxiOGt08.js} +13 -9
  9. package/dist/cjs/index.cjs.js +3 -3
  10. package/dist/cjs/{lazyload-DHYuvWUl.js → lazyload-DQBOwjop.js} +3 -3
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{modal-CZ38TYy8.js → modal-DE8UBht9.js} +1 -1
  13. package/dist/cjs/nano-accordion.cjs.entry.js +3 -3
  14. package/dist/cjs/nano-alert.cjs.entry.js +7 -7
  15. package/dist/cjs/nano-algolia-filter.cjs.entry.js +4 -4
  16. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
  17. package/dist/cjs/nano-algolia-results.cjs.entry.js +3 -3
  18. package/dist/cjs/nano-algolia.cjs.entry.js +5 -5
  19. package/dist/cjs/nano-animation.cjs.entry.js +2 -2
  20. package/dist/cjs/nano-avatar_5.cjs.entry.js +9 -9
  21. package/dist/cjs/nano-breadcrumb.cjs.entry.js +1 -1
  22. package/dist/cjs/nano-card-carousel.cjs.entry.js +2 -2
  23. package/dist/cjs/nano-card.cjs.entry.js +1 -1
  24. package/dist/cjs/nano-checkbox-group.cjs.entry.js +2 -2
  25. package/dist/cjs/nano-checkbox.cjs.entry.js +2 -2
  26. package/dist/cjs/nano-collapsible-comparison.cjs.entry.js +2 -2
  27. package/dist/cjs/nano-components.cjs.js +3 -3
  28. package/dist/cjs/nano-content-links.cjs.entry.js +1 -1
  29. package/dist/cjs/nano-cta.cjs.entry.js +1 -1
  30. package/dist/cjs/{nano-data-table-BygClX0L.js → nano-data-table-DpoWsfe-.js} +8 -7
  31. package/dist/cjs/nano-data-table.cjs.entry.js +6 -6
  32. package/dist/cjs/nano-datalist_3.cjs.entry.js +3 -3
  33. package/dist/cjs/nano-date-input.cjs.entry.js +2 -2
  34. package/dist/cjs/nano-date-picker_2.cjs.entry.js +4 -4
  35. package/dist/cjs/nano-details.cjs.entry.js +3 -3
  36. package/dist/cjs/nano-dialog.cjs.entry.js +8 -8
  37. package/dist/cjs/nano-dropdown_2.cjs.entry.js +5 -5
  38. package/dist/cjs/nano-feature-box.cjs.entry.js +1 -1
  39. package/dist/cjs/nano-field-validator.cjs.entry.js +3 -3
  40. package/dist/cjs/nano-file-upload.cjs.entry.js +2 -2
  41. package/dist/cjs/nano-footer.cjs.entry.js +1 -1
  42. package/dist/cjs/nano-global-nav.cjs.entry.js +2 -2
  43. package/dist/cjs/nano-grid-item.cjs.entry.js +1 -1
  44. package/dist/cjs/nano-grid_2.cjs.entry.js +5 -5
  45. package/dist/cjs/nano-hero.cjs.entry.js +2 -2
  46. package/dist/cjs/nano-icon-item.cjs.entry.js +1 -1
  47. package/dist/cjs/nano-icon_3.cjs.entry.js +2 -2
  48. package/dist/cjs/nano-in-page-nav.cjs.entry.js +3 -3
  49. package/dist/cjs/nano-intersection-observe.cjs.entry.js +4 -4
  50. package/dist/cjs/nano-masked-overflow.cjs.entry.js +4 -4
  51. package/dist/cjs/nano-menu-drawer.cjs.entry.js +4 -4
  52. package/dist/cjs/nano-more-less.cjs.entry.js +2 -2
  53. package/dist/cjs/nano-nav-item.cjs.entry.js +19 -11
  54. package/dist/cjs/nano-progress-bar.cjs.entry.js +1 -1
  55. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  56. package/dist/cjs/nano-rating.cjs.entry.js +2 -2
  57. package/dist/cjs/nano-resize-observe.cjs.entry.js +2 -2
  58. package/dist/cjs/nano-slide.cjs.entry.js +2 -2
  59. package/dist/cjs/{nano-slides-CXU8XyXL.js → nano-slides-CEgnF-Y8.js} +16 -13
  60. package/dist/cjs/nano-slides.cjs.entry.js +3 -3
  61. package/dist/cjs/nano-sortable.cjs.entry.js +2 -2
  62. package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
  63. package/dist/cjs/nano-split-pane.cjs.entry.js +2 -2
  64. package/dist/cjs/nano-sticker.cjs.entry.js +4 -4
  65. package/dist/cjs/nano-tab-content.cjs.entry.js +2 -2
  66. package/dist/cjs/nano-tab-group.cjs.entry.js +4 -4
  67. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  68. package/dist/cjs/nano-table.cjs.entry.js +2 -2
  69. package/dist/cjs/{page-dots-DnxKCAbO.js → page-dots-KutnmYpQ.js} +3 -3
  70. package/dist/cjs/{renderer-Cp5bbbnx.js → renderer-BnqVSAc0.js} +1 -1
  71. package/dist/cjs/{scroll-oYroBCcY.js → scroll-Drq3PYD1.js} +1 -1
  72. package/dist/cjs/{slot-DamVLdw5.js → slot-CES6Hsw2.js} +1 -1
  73. package/dist/cjs/{tabbable-5kSrTVb2.js → tabbable-DpUHjeI_.js} +1 -1
  74. package/dist/cjs/{table.worker-Dj-G_N11.js → table.worker-iOdjCdrO.js} +6 -6
  75. package/dist/collection/collection-manifest.json +1 -1
  76. package/dist/collection/components/data-table/table.pin-service.js +3 -2
  77. package/dist/collection/components/img/img.css +1 -1
  78. package/dist/collection/components/img/img.js +8 -4
  79. package/dist/collection/components/nav-item/nav-item.js +48 -6
  80. package/dist/collection/components/slides/slides.js +10 -7
  81. package/dist/collection/components/tabs/tab-group.css +8 -8
  82. package/dist/collection/components/tabs/tab.css +6 -6
  83. package/dist/components/img.js +3 -3
  84. package/dist/components/nano-data-table.js +3 -2
  85. package/dist/components/nav-item.js +17 -7
  86. package/dist/components/slides.js +10 -7
  87. package/dist/esm/{algolia-data-CHDAQ-na.js → algolia-data-1P9wrf61.js} +1 -1
  88. package/dist/esm/{component-store-BA4haUxz.js → component-store-DfmxxsJV.js} +1 -1
  89. package/dist/esm/{dom-DpX4e3pw.js → dom-dabRzt7p.js} +1 -1
  90. package/dist/esm/{fade-Dt3mCRd5.js → fade-DJjEJ3OV.js} +3 -3
  91. package/dist/esm/{form-control-BQDNikCR.js → form-control-DJJ-dewI.js} +1 -1
  92. package/dist/esm/{fullscreen-CiMUnO6C.js → fullscreen-C0Rg1tXP.js} +3 -3
  93. package/dist/esm/{index-Cb6_W06a.js → index-BC1-owN1.js} +1 -1
  94. package/dist/esm/{index-CDb2_YWF.js → index-D6WdRvhp.js} +13 -9
  95. package/dist/esm/index.js +4 -4
  96. package/dist/esm/{lazyload-DBW-FOzX.js → lazyload-BGGkN269.js} +3 -3
  97. package/dist/esm/loader.js +3 -3
  98. package/dist/esm/{modal-DnQPxb_Q.js → modal-T-hfWzCu.js} +1 -1
  99. package/dist/esm/nano-accordion.entry.js +3 -3
  100. package/dist/esm/nano-alert.entry.js +7 -7
  101. package/dist/esm/nano-algolia-filter.entry.js +4 -4
  102. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  103. package/dist/esm/nano-algolia-results.entry.js +3 -3
  104. package/dist/esm/nano-algolia.entry.js +5 -5
  105. package/dist/esm/nano-animation.entry.js +2 -2
  106. package/dist/esm/nano-avatar_5.entry.js +9 -9
  107. package/dist/esm/nano-breadcrumb.entry.js +1 -1
  108. package/dist/esm/nano-card-carousel.entry.js +2 -2
  109. package/dist/esm/nano-card.entry.js +1 -1
  110. package/dist/esm/nano-checkbox-group.entry.js +2 -2
  111. package/dist/esm/nano-checkbox.entry.js +2 -2
  112. package/dist/esm/nano-collapsible-comparison.entry.js +2 -2
  113. package/dist/esm/nano-components.js +4 -4
  114. package/dist/esm/nano-content-links.entry.js +1 -1
  115. package/dist/esm/nano-cta.entry.js +1 -1
  116. package/dist/esm/{nano-data-table-bZhulcwy.js → nano-data-table-TfPKf5LE.js} +8 -7
  117. package/dist/esm/nano-data-table.entry.js +6 -6
  118. package/dist/esm/nano-datalist_3.entry.js +3 -3
  119. package/dist/esm/nano-date-input.entry.js +2 -2
  120. package/dist/esm/nano-date-picker_2.entry.js +4 -4
  121. package/dist/esm/nano-details.entry.js +3 -3
  122. package/dist/esm/nano-dialog.entry.js +8 -8
  123. package/dist/esm/nano-dropdown_2.entry.js +5 -5
  124. package/dist/esm/nano-feature-box.entry.js +1 -1
  125. package/dist/esm/nano-field-validator.entry.js +3 -3
  126. package/dist/esm/nano-file-upload.entry.js +2 -2
  127. package/dist/esm/nano-footer.entry.js +1 -1
  128. package/dist/esm/nano-global-nav.entry.js +2 -2
  129. package/dist/esm/nano-grid-item.entry.js +1 -1
  130. package/dist/esm/nano-grid_2.entry.js +5 -5
  131. package/dist/esm/nano-hero.entry.js +2 -2
  132. package/dist/esm/nano-icon-item.entry.js +1 -1
  133. package/dist/esm/nano-icon_3.entry.js +2 -2
  134. package/dist/esm/nano-in-page-nav.entry.js +3 -3
  135. package/dist/esm/nano-intersection-observe.entry.js +4 -4
  136. package/dist/esm/nano-masked-overflow.entry.js +4 -4
  137. package/dist/esm/nano-menu-drawer.entry.js +4 -4
  138. package/dist/esm/nano-more-less.entry.js +2 -2
  139. package/dist/esm/nano-nav-item.entry.js +19 -11
  140. package/dist/esm/nano-progress-bar.entry.js +1 -1
  141. package/dist/esm/nano-range.entry.js +2 -2
  142. package/dist/esm/nano-rating.entry.js +2 -2
  143. package/dist/esm/nano-resize-observe.entry.js +2 -2
  144. package/dist/esm/nano-slide.entry.js +2 -2
  145. package/dist/esm/{nano-slides-BH9wpDRh.js → nano-slides-B1zM-u4Y.js} +16 -13
  146. package/dist/esm/nano-slides.entry.js +3 -3
  147. package/dist/esm/nano-sortable.entry.js +2 -2
  148. package/dist/esm/nano-spinner.entry.js +1 -1
  149. package/dist/esm/nano-split-pane.entry.js +2 -2
  150. package/dist/esm/nano-sticker.entry.js +4 -4
  151. package/dist/esm/nano-tab-content.entry.js +2 -2
  152. package/dist/esm/nano-tab-group.entry.js +4 -4
  153. package/dist/esm/nano-tab.entry.js +2 -2
  154. package/dist/esm/nano-table.entry.js +2 -2
  155. package/dist/esm/{page-dots-B5aFjE5U.js → page-dots-D9sLGqee.js} +3 -3
  156. package/dist/esm/{renderer-CGoibSOJ.js → renderer-BhDJHRB-.js} +1 -1
  157. package/dist/esm/{scroll-DMVLi4kX.js → scroll-CRQg8Vf0.js} +1 -1
  158. package/dist/esm/{slot-xEoA61Tz.js → slot-D_kg1OPh.js} +1 -1
  159. package/dist/esm/{tabbable-DQFS44_5.js → tabbable-kd8FQPK3.js} +1 -1
  160. package/dist/esm/{table.worker-Bt49ORjw.js → table.worker-Dq_pppel.js} +6 -6
  161. package/dist/nano-components/{algolia-data-CHDAQ-na.js → algolia-data-1P9wrf61.js} +1 -1
  162. package/dist/nano-components/{component-store-BA4haUxz.js → component-store-DfmxxsJV.js} +1 -1
  163. package/dist/nano-components/{dom-DpX4e3pw.js → dom-dabRzt7p.js} +1 -1
  164. package/dist/nano-components/{fade-Dt3mCRd5.js → fade-DJjEJ3OV.js} +1 -1
  165. package/dist/nano-components/{form-control-BQDNikCR.js → form-control-DJJ-dewI.js} +1 -1
  166. package/dist/nano-components/{fullscreen-CiMUnO6C.js → fullscreen-C0Rg1tXP.js} +1 -1
  167. package/dist/nano-components/{index-Cb6_W06a.js → index-BC1-owN1.js} +1 -1
  168. package/dist/nano-components/{index-CDb2_YWF.js → index-D6WdRvhp.js} +1 -1
  169. package/dist/nano-components/index.esm.js +1 -1
  170. package/dist/nano-components/{lazyload-DBW-FOzX.js → lazyload-BGGkN269.js} +1 -1
  171. package/dist/nano-components/{modal-DnQPxb_Q.js → modal-T-hfWzCu.js} +1 -1
  172. package/dist/nano-components/nano-accordion.entry.js +1 -1
  173. package/dist/nano-components/nano-alert.entry.js +1 -1
  174. package/dist/nano-components/nano-algolia-filter.entry.js +1 -1
  175. package/dist/nano-components/nano-algolia-pagination.entry.js +1 -1
  176. package/dist/nano-components/nano-algolia-results.entry.js +1 -1
  177. package/dist/nano-components/nano-algolia.entry.js +1 -1
  178. package/dist/nano-components/nano-animation.entry.js +1 -1
  179. package/dist/nano-components/nano-avatar_5.entry.js +1 -1
  180. package/dist/nano-components/nano-breadcrumb.entry.js +1 -1
  181. package/dist/nano-components/nano-card-carousel.entry.js +1 -1
  182. package/dist/nano-components/nano-card.entry.js +1 -1
  183. package/dist/nano-components/nano-checkbox-group.entry.js +1 -1
  184. package/dist/nano-components/nano-checkbox.entry.js +1 -1
  185. package/dist/nano-components/nano-collapsible-comparison.entry.js +1 -1
  186. package/dist/nano-components/nano-components.esm.js +1 -1
  187. package/dist/nano-components/nano-content-links.entry.js +1 -1
  188. package/dist/nano-components/nano-cta.entry.js +1 -1
  189. package/dist/nano-components/nano-data-table-TfPKf5LE.js +4 -0
  190. package/dist/nano-components/nano-data-table.entry.js +1 -1
  191. package/dist/nano-components/nano-datalist_3.entry.js +1 -1
  192. package/dist/nano-components/nano-date-input.entry.js +1 -1
  193. package/dist/nano-components/nano-date-picker_2.entry.js +1 -1
  194. package/dist/nano-components/nano-details.entry.js +1 -1
  195. package/dist/nano-components/nano-dialog.entry.js +1 -1
  196. package/dist/nano-components/nano-dropdown_2.entry.js +1 -1
  197. package/dist/nano-components/nano-feature-box.entry.js +1 -1
  198. package/dist/nano-components/nano-field-validator.entry.js +1 -1
  199. package/dist/nano-components/nano-file-upload.entry.js +1 -1
  200. package/dist/nano-components/nano-footer.entry.js +1 -1
  201. package/dist/nano-components/nano-global-nav.entry.js +1 -1
  202. package/dist/nano-components/nano-grid-item.entry.js +1 -1
  203. package/dist/nano-components/nano-grid_2.entry.js +1 -1
  204. package/dist/nano-components/nano-hero.entry.js +1 -1
  205. package/dist/nano-components/nano-icon-item.entry.js +1 -1
  206. package/dist/nano-components/nano-icon_3.entry.js +1 -1
  207. package/dist/nano-components/nano-in-page-nav.entry.js +1 -1
  208. package/dist/nano-components/nano-intersection-observe.entry.js +1 -1
  209. package/dist/nano-components/nano-masked-overflow.entry.js +1 -1
  210. package/dist/nano-components/nano-menu-drawer.entry.js +1 -1
  211. package/dist/nano-components/nano-more-less.entry.js +1 -1
  212. package/dist/nano-components/nano-nav-item.entry.js +1 -1
  213. package/dist/nano-components/nano-progress-bar.entry.js +1 -1
  214. package/dist/nano-components/nano-range.entry.js +1 -1
  215. package/dist/nano-components/nano-rating.entry.js +1 -1
  216. package/dist/nano-components/nano-resize-observe.entry.js +1 -1
  217. package/dist/nano-components/nano-slide.entry.js +1 -1
  218. package/dist/nano-components/{nano-slides-BH9wpDRh.js → nano-slides-B1zM-u4Y.js} +3 -3
  219. package/dist/nano-components/nano-slides.entry.js +1 -1
  220. package/dist/nano-components/nano-sortable.entry.js +1 -1
  221. package/dist/nano-components/nano-spinner.entry.js +1 -1
  222. package/dist/nano-components/nano-split-pane.entry.js +1 -1
  223. package/dist/nano-components/nano-sticker.entry.js +1 -1
  224. package/dist/nano-components/nano-tab-content.entry.js +1 -1
  225. package/dist/nano-components/nano-tab-group.entry.js +1 -1
  226. package/dist/nano-components/nano-tab.entry.js +1 -1
  227. package/dist/nano-components/nano-table.entry.js +1 -1
  228. package/dist/nano-components/{page-dots-B5aFjE5U.js → page-dots-D9sLGqee.js} +1 -1
  229. package/dist/nano-components/{renderer-CGoibSOJ.js → renderer-BhDJHRB-.js} +1 -1
  230. package/dist/nano-components/{scroll-DMVLi4kX.js → scroll-CRQg8Vf0.js} +1 -1
  231. package/dist/nano-components/{slot-xEoA61Tz.js → slot-D_kg1OPh.js} +1 -1
  232. package/dist/nano-components/{tabbable-DQFS44_5.js → tabbable-kd8FQPK3.js} +1 -1
  233. package/dist/nano-components/table.worker-Dq_pppel.js +4 -0
  234. package/dist/types/components/img/img.d.ts +5 -1
  235. package/dist/types/components/nav-item/nav-item.d.ts +4 -0
  236. package/dist/types/components/slides/slides.d.ts +1 -0
  237. package/dist/types/components.d.ts +20 -4
  238. package/docs-json.json +84 -32
  239. package/docs-vscode.json +1 -1
  240. package/hydrate/index.js +52 -30
  241. package/hydrate/index.mjs +52 -30
  242. package/package.json +2 -2
  243. package/dist/nano-components/nano-data-table-bZhulcwy.js +0 -4
  244. package/dist/nano-components/table.worker-Bt49ORjw.js +0 -4
package/hydrate/index.js CHANGED
@@ -137,7 +137,7 @@ var appGlobalScript = async () => { };
137
137
  const globalScripts = appGlobalScript;
138
138
 
139
139
  /*
140
- Stencil Hydrate Platform v4.35.3-dev.1752222710.56fe6e3 | MIT Licensed | https://stenciljs.com
140
+ Stencil Hydrate Platform v4.35.3-dev.1752259270.e005970 | MIT Licensed | https://stenciljs.com
141
141
  */
142
142
  var __defProp = Object.defineProperty;
143
143
  var __export = (target, all) => {
@@ -756,7 +756,7 @@ var convertToPrivate = (node) => {
756
756
 
757
757
  // src/runtime/client-hydrate.ts
758
758
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
759
- var _a, _b;
759
+ var _a, _b, _c;
760
760
  const endHydrate = createTime("hydrateClient", tagName);
761
761
  const shadowRoot = hostElm.shadowRoot;
762
762
  const childRenderNodes = [];
@@ -872,6 +872,9 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
872
872
  }
873
873
  if (!hosts[slottedItem.hostId]) continue;
874
874
  const hostEle = hosts[slottedItem.hostId];
875
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
876
+ hostEle.appendChild(slottedItem.node);
877
+ }
875
878
  if (!hostEle.shadowRoot || !shadowRoot) {
876
879
  if (!slottedItem.slot["s-cr"]) {
877
880
  slottedItem.slot["s-cr"] = hostEle["s-cr"];
@@ -882,9 +885,9 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
882
885
  }
883
886
  }
884
887
  addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
885
- }
886
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
887
- hostEle.appendChild(slottedItem.node);
888
+ if (((_c = slottedItem.node.parentElement) == null ? void 0 : _c.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) {
889
+ slottedItem.node.removeAttribute("slot");
890
+ }
888
891
  }
889
892
  }
890
893
  }
@@ -1128,7 +1131,7 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1128
1131
  if (shadowRootNodes && win.document) {
1129
1132
  const slot = childVNode.$elm$ = win.document.createElement(childVNode.$tag$);
1130
1133
  if (childVNode.$name$) {
1131
- slot.setAttribute("name", slotName);
1134
+ childVNode.$elm$.setAttribute("name", slotName);
1132
1135
  }
1133
1136
  if (parentVNode.$elm$.shadowRoot && parentNodeId && parentNodeId !== childVNode.$hostId$) {
1134
1137
  internalCall(parentVNode.$elm$, "insertBefore")(slot, internalCall(parentVNode.$elm$, "children")[0]);
@@ -1157,16 +1160,17 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1157
1160
  parentVNode.$children$[childVNode.$index$] = childVNode;
1158
1161
  }
1159
1162
  var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1160
- var _a;
1163
+ var _a, _b;
1161
1164
  let slottedNode = slotNode.nextSibling;
1162
1165
  slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1166
+ if (!slottedNode || ((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith(SLOT_NODE_ID + "."))) return;
1163
1167
  do {
1164
- if (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ || slottedNode.nodeType === 3 /* TextNode */))) {
1168
+ if (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (!slottedNode["getAttribute"] || !slottedNode.getAttribute("slot")) && (slottedNode.nodeType === 8 /* CommentNode */ || slottedNode.nodeType === 3 /* TextNode */))) {
1165
1169
  slottedNode["s-sn"] = slotName;
1166
1170
  slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1167
1171
  }
1168
1172
  slottedNode = slottedNode == null ? void 0 : slottedNode.nextSibling;
1169
- } while (slottedNode && !((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith("s.")));
1173
+ } while (slottedNode && !((_b = slottedNode.nodeValue) == null ? void 0 : _b.startsWith(SLOT_NODE_ID + ".")));
1170
1174
  };
1171
1175
  var findCorrespondingNode = (node, type) => {
1172
1176
  let sibling = node;
@@ -16670,7 +16674,11 @@ class IconButton {
16670
16674
  const imgCss = ":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--padding:0;display:inline-block;object-fit:cover;object-position:center;background-size:cover;background-position:center}:host *{border-radius:inherit}:host([background]:not([background=false])){display:block}.img{position:relative;object-fit:inherit;object-position:inherit;background-color:inherit;background-position:inherit;background-size:inherit;background-origin:inherit;background-attachment:inherit;background-repeat:inherit;flex:1 1 100%;display:flex;flex-direction:column;min-block-size:inherit;min-inline-size:inherit;block-size:inherit;inline-size:inherit;max-block-size:inherit;max-inline-size:inherit;aspect-ratio:inherit}.img__loader,.img__observer{position:absolute;inset:0;block-size:100%;inline-size:100%;z-index:-1}.img__image,.img__bg{border-radius:inherit;display:block;opacity:0;transition:0.5s ease opacity, 0.3s ease filter 0.4s;filter:blur(5px);flex:1}.img__image.loaded,.img__bg.loaded{opacity:1;filter:blur(0)}@media not all and (resolution >= 0.001dpcm){@supports (-webkit-appearance: none){.img__image.loaded,.img__bg.loaded{filter:blur(0)}}}.img__image{object-fit:inherit;object-position:inherit;min-block-size:inherit;min-inline-size:inherit;block-size:inherit;inline-size:inherit;max-block-size:inherit;max-inline-size:inherit;aspect-ratio:inherit}.img__image.hide{visibility:hidden}.img__image.hide.no-height{block-size:1px;position:absolute;z-index:-1}.img__bg{background-color:inherit;background-position:inherit;background-size:inherit;background-origin:inherit;background-attachment:inherit;background-repeat:inherit;overflow:auto;padding:var(--padding)}.img__bg.no-height{position:absolute;inset:0}";
16671
16675
 
16672
16676
  /**
16673
- * Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties.
16677
+ * Utilities for displaying images; standard or background.
16678
+ *
16679
+ * @status deprecated
16680
+ * @version 1.0.0
16681
+ *
16674
16682
  * @slot - Main slot. Only relevant with `<nano-img background>`
16675
16683
  */
16676
16684
  class Img {
@@ -16806,16 +16814,16 @@ class Img {
16806
16814
  const bgStyle = this.loadSrc
16807
16815
  ? { 'background-image': `url(${this.loadSrc})` }
16808
16816
  : {};
16809
- return (h(Host, { key: 'a9d5cb1d0be8540d7ea690fd13d92b1f5ec614af', class: "nano-img" }, h("div", { key: '1f40afc64a5652f53b224403c59b4f108e5eb044', class: "img" }, h("div", { key: '7b3a0b8521888092effb1fc675b0c52bce7faa6f', class: "img__loader n-loader-skeleton" }, "Loading"), !!this.background && (h("div", { key: '1f4d59fc6ff3e0be42f18d1db4a099a32d099872', class: {
16817
+ return (h(Host, { key: '246b2bd0d05e76d4756a170534b84eeeb47b5692', class: "nano-img" }, h("div", { key: '17455932f3f0b6fef46b86f3731d1604295de25d', class: "img" }, h("div", { key: 'fb07e1f16faf27c6226a313c4bbcc54ccda29643', class: "img__loader n-loader-skeleton" }, "Loading"), !!this.background && (h("div", { key: '7e7a83eb7b4a75be00662f8dcd06b9452b4fcc21', class: {
16810
16818
  loaded: this.hasLoaded,
16811
16819
  img__bg: true,
16812
16820
  'no-height': this.autoHeight === 'image',
16813
- }, style: bgStyle }, h("slot", { key: 'd987180d13fa9ef34868c8e962344da9e0f6b876' }))), h("img", { key: 'f3d603cf35bf0c37c4e1eb530e9a9ea7d7e81beb', class: {
16821
+ }, style: bgStyle }, h("slot", { key: '6fb65b4a0f745b517c0688da8b3fecae769d2e71' }))), h("img", { key: '8872cd76b14e32bfa3051ae1b2953ee2f01bf609', class: {
16814
16822
  img__image: true,
16815
16823
  loaded: this.hasLoaded,
16816
16824
  hide: this.background,
16817
16825
  'no-height': this.autoHeight === 'content',
16818
- }, decoding: "async", src: this.src , loading: this.lazy ? 'lazy' : undefined, alt: this.alt, onLoad: this.onLoad, onError: this.loadError }), h("nano-resize-observe", { key: 'cf77dadeb8d5b01ef1afff5e6df5eb6aacad13e6', class: "img__observer", onNanoResizeStateChange: this.onResize, states: this.imgStates }))));
16826
+ }, decoding: "async", src: this.src , loading: this.lazy ? 'lazy' : undefined, alt: this.alt, onLoad: this.onLoad, onError: this.loadError }), h("nano-resize-observe", { key: '677afcbf603e4649a202f3a4d566c73c0fc70e10', class: "img__observer", onNanoResizeStateChange: this.onResize, states: this.imgStates }))));
16819
16827
  }
16820
16828
  static get watchers() { return {
16821
16829
  "_src": ["_srcChanged"],
@@ -20541,12 +20549,13 @@ children, utils) => {
20541
20549
  };
20542
20550
 
20543
20551
  function addStyleSheet(id, css) {
20544
- const styleSheet = document.getElementById(id) ||
20552
+ const root = this.host.getRootNode();
20553
+ const styleSheet = root.getElementById(id) ||
20545
20554
  document.createElement('style');
20546
20555
  styleSheet.id = id;
20547
20556
  styleSheet.innerHTML = css;
20548
20557
  if (!styleSheet.isConnected)
20549
- document.head.append(styleSheet);
20558
+ root.append(styleSheet);
20550
20559
  }
20551
20560
  /**
20552
20561
  * Manages the complex business of table 'pinning'; sticking columns and rows to the scrolling parent element.
@@ -23616,6 +23625,14 @@ class NavItem {
23616
23625
  slottedA.remove();
23617
23626
  }
23618
23627
  };
23628
+ /** Closes the secondary nav panel if it is open */
23629
+ async closeMenu() {
23630
+ this.closeSecondary();
23631
+ }
23632
+ /** Opens the secondary nav panel if it is not open */
23633
+ async openMenu() {
23634
+ this.openSecondary();
23635
+ }
23619
23636
  connectedCallback() {
23620
23637
  this.handleDefaultSlotChange();
23621
23638
  this.isInMenuDrawer = !!this.host.closest(transformTag('nano-menu-drawer'));
@@ -23624,22 +23641,22 @@ class NavItem {
23624
23641
  this.openChange();
23625
23642
  }
23626
23643
  render() {
23627
- return (h(Host, { key: '815fb74d8f91f3efb7c2582439b1e8f4f4aa905d', class: {
23644
+ return (h(Host, { key: 'b6ce27588c1ca2ac2a42d0aada06d7f554a1174a', class: {
23628
23645
  'nano-menu-drawer': this.isInMenuDrawer,
23629
23646
  'nano-nav-item': true,
23630
23647
  disabled: this.disabled,
23631
- }, role: this.host.closest('[role="menu"]') ? 'menuitem' : undefined, "aria-disabled": this.disabled ? 'true' : undefined }, h("div", { key: '63a0f2086fd81b4cbea08c385de2e493d7c8f926', class: {
23648
+ }, role: this.host.closest('[role="menu"]') ? 'menuitem' : undefined, "aria-disabled": this.disabled ? 'true' : undefined }, h("div", { key: 'e8faa3568a13feb95ef131f0bd412577120fbf84', class: {
23632
23649
  navitem: true,
23633
23650
  'navitem--open': this.open,
23634
23651
  'navitem--active': this.selected,
23635
- }, part: "trigger-wrapper" }, this.href && !this.disabled && (h("a", { key: 'e50cab85eba47cba80ff30a07bcab83c00595915', part: "trigger trigger--anchor", target: this.target, ref: (a) => (this.controlElement = a), href: this.href, class: {
23652
+ }, part: "trigger-wrapper" }, this.href && !this.disabled && (h("a", { key: '4a4da7478db63015d0dcd81ed053146f8eeac5f3', part: "trigger trigger--anchor", target: this.target, ref: (a) => (this.controlElement = a), href: this.href, class: {
23636
23653
  navitem__trigger: true,
23637
- } }, h("slot", { key: '2fc43a8c964c8e34e045e0df85d5bf355b3e9b26', name: "icon-start" }), h("span", { key: '6aed9dea66e87ef15edb69971b1c97fd8d2fbe29', class: "navitem__label", part: "label" }, h("slot", { key: '96f26809714cbe44effe57851814e1e24a6ad851', onSlotchange: this.handleDefaultSlotChange })), h("slot", { key: 'f43de3bfdb6cdea0f93fe248d873c73062a3034b', name: "icon-end" }))), (!this.href || this.disabled) && (h("button", { key: '9db35da35c662d588729976d1be17a07ed855642', role: this.checkbox ? 'checkbox' : undefined, "aria-checked": this.checkbox ? this.selected.toString() : undefined, part: "trigger trigger--button", ref: (btn) => (this.controlElement = btn), onClick: this.handleClick, disabled: this.disabled, class: {
23654
+ } }, h("slot", { key: '1eafb7864368850ad2539c402eb1b00877f3d55e', name: "icon-start" }), h("span", { key: '8953312d4dad64ced970d2f1120c07b6c36070f1', class: "navitem__label", part: "label" }, h("slot", { key: '390f468f8d1f5d4f0669cae53ef140e452b16b07', onSlotchange: this.handleDefaultSlotChange })), h("slot", { key: '3ecd42c2ca6c1546f48a1a5fcf7742d90ad4e1c4', name: "icon-end" }))), (!this.href || this.disabled) && (h("button", { key: '0694ce0708264ef1305e4b926a2f40f1875025a9', role: this.checkbox ? 'checkbox' : undefined, "aria-checked": this.checkbox ? this.selected.toString() : undefined, part: "trigger trigger--button", ref: (btn) => (this.controlElement = btn), onClick: this.handleClick, disabled: this.disabled, class: {
23638
23655
  navitem__trigger: true,
23639
- } }, h("slot", { key: '394a189a9d5d8b65607bd6089c9a08cdeed8e48a', name: "icon-start" }), h("span", { key: '28b56da5d700f7654c2d42fda996babff390f92e', class: "navitem__label", part: "label" }, h("slot", { key: '13a35382772f7ee79af116c500eba5d4fd4a25ad', onSlotchange: this.handleDefaultSlotChange })), h("slot", { key: '158f3590fcf2025c3c53bd3d3f9dbeddbd2829ba', name: "icon-end" }))), this.slotCtrl.has('secondary') && !this.disabled && (h("div", { key: '44ab1a0d6930f5d60b8540157911d365821f611c', part: "modal", class: {
23656
+ } }, h("slot", { key: 'c3cc4fcbb527f5f8ea2786243fe610d587e36190', name: "icon-start" }), h("span", { key: '385c92f1f2cc26b9c7e4f1a8601920c1f3bf2171', class: "navitem__label", part: "label" }, h("slot", { key: '4e7a75c8903081856c20206aa309c2a9855991da', onSlotchange: this.handleDefaultSlotChange })), h("slot", { key: '668b95901ba0b914ccc193d4f3cc4433d908c014', name: "icon-end" }))), this.slotCtrl.has('secondary') && !this.disabled && (h("div", { key: 'f81c9aeb6c903b25a662fd1fc615d6f95f6b8f4d', part: "modal", class: {
23640
23657
  navitem__modal: true,
23641
23658
  'navitem__modal--open': this.didOpen,
23642
- }, ref: (div) => (this.secondaryDiv = div), tabIndex: -1 }, h("div", { key: '758dc3ed99502ff459b187fb42dc6f1c83f335e8', class: "navitem__modal-content", part: `modal-content ${this.didOpen ? 'modal-content--open' : ''}` }, this.slotCtrl.has('close-button') && (h("div", { key: 'fb30657f31352b234b8f5f9f7dea697b663dc05d', part: "close-button", onClick: this.closeSecondary }, h("slot", { key: 'de6bdeb04bf0543c2200cca7a7a1d8d70032d0ed', name: "close-button" }))), h("slot", { key: '45c2c6ce36042b43c8177343e238392193a16367', name: "secondary" })), h("div", { key: 'd9ccc26e9f2675dcf5fc9000bc2759fd48247fe2', class: "navitem__modal-mask", onClick: this.closeSecondary, part: `modal-mask ${this.didOpen ? 'modal-mask--open' : ''}` }))))));
23659
+ }, ref: (div) => (this.secondaryDiv = div), tabIndex: -1 }, h("div", { key: '70a4b002e989753c461c7dac4dd975200a92e3de', class: "navitem__modal-content", part: `modal-content ${this.didOpen ? 'modal-content--open' : ''}` }, this.slotCtrl.has('close-button') && (h("div", { key: '7b0daad80ae03a29789c9d2bef74d2473f2f1f39', part: "close-button", onClick: this.closeSecondary }, h("slot", { key: '858798062958ea0f4ee809cbf853bdb83dd4d184', name: "close-button" }))), h("slot", { key: '41583a8cc59babbfb1a9a084a3de31c61a145fbc', name: "secondary" })), h("div", { key: '5c260dca9a8fdf7951349df64a037fc7415c3c4b', class: "navitem__modal-mask", onClick: this.closeSecondary, part: `modal-mask ${this.didOpen ? 'modal-mask--open' : ''}` }))))));
23643
23660
  }
23644
23661
  static get watchers() { return {
23645
23662
  "open": ["openChange"],
@@ -23659,7 +23676,9 @@ class NavItem {
23659
23676
  "closeOnBlur": [4, "close-on-blur"],
23660
23677
  "didOpen": [32],
23661
23678
  "isInMenuDrawer": [32],
23662
- "setFocus": [64]
23679
+ "setFocus": [64],
23680
+ "closeMenu": [64],
23681
+ "openMenu": [64]
23663
23682
  },
23664
23683
  "$listeners$": [[16, "click", "handleClose"], [16, "keyup", "handleClose"]],
23665
23684
  "$lazyBundleId$": "-",
@@ -28358,24 +28377,27 @@ class Slides {
28358
28377
  }
28359
28378
  // is a custom animation
28360
28379
  if (typeof this.animation === 'function') {
28361
- this.options = { fade: false, percentPosition: true };
28380
+ this.updateOptions({ fade: false, percentPosition: true });
28362
28381
  flkty.on('scroll', this.animation);
28363
28382
  return;
28364
28383
  }
28365
28384
  // setup new stuff
28366
28385
  switch (this.animation) {
28367
28386
  case 'fade':
28368
- this.options = { fade: true, percentPosition: true };
28387
+ this.updateOptions({ fade: true, percentPosition: true });
28369
28388
  break;
28370
28389
  case 'parallax':
28371
- this.options = { fade: false, percentPosition: true };
28390
+ this.updateOptions({ fade: false, percentPosition: true });
28372
28391
  flkty.on('scroll', this.parallax);
28373
28392
  break;
28374
28393
  default:
28375
- this.options = { fade: false, percentPosition: true };
28394
+ this.updateOptions({ fade: false, percentPosition: true });
28376
28395
  break;
28377
28396
  }
28378
28397
  }
28398
+ updateOptions(opts) {
28399
+ this.options = { ...this.options, ...opts };
28400
+ }
28379
28401
  /** Zero-based index of the selected cell. */
28380
28402
  currentSlide = 0;
28381
28403
  currentSlideChange() {
@@ -28725,15 +28747,15 @@ class Slides {
28725
28747
  this.destroyflickity();
28726
28748
  }
28727
28749
  render() {
28728
- return (h(Host, { key: '4f3e88fcb168e5504c1cbb7649eb7233f235dff7', class: "nano-slides" }, h("div", { key: '0c80e9c3b733ee41f6b06a473eeef9ab06eae1cd', class: {
28750
+ return (h(Host, { key: '42935259126aea21edcf5ecb256d0c1fbbde543a', class: "nano-slides" }, h("div", { key: '933ffba7ee7036d4a8e7fddac8396eaf6b53ad9f', class: {
28729
28751
  slideshow: true,
28730
28752
  ready: this.ready,
28731
28753
  'not-ready': !this.ready,
28732
- }, part: "base" }, h("div", { key: 'beae0495f2effa9d6bb5d6a093fd76b50bd3027e', ref: (div) => (this.flickityEl = div), class: {
28754
+ }, part: "base" }, h("div", { key: '5cd48261734c266f25f83cf63b60300c94868d52', ref: (div) => (this.flickityEl = div), class: {
28733
28755
  'flickity-container': true,
28734
28756
  'slides-ready': this.slidesReady,
28735
28757
  'slides-not-ready': !this.slidesReady,
28736
- }, part: "slide-container" }, h("slot", { key: '89282a60c520a65e2155836ab66f698520b47721' })), h("div", { key: 'fd3e6b6fb4d75ceb6002b389e63930d69965d304', class: "ui-extras" }, h("slot", { key: '8dfacb9cc08a4fc13f998b9a97e5079640fe5ede', name: "ui" })))));
28758
+ }, part: "slide-container" }, h("slot", { key: 'b04069a6bdbc76261a431b22660d012c25a8fb14' })), h("div", { key: '978e708ec781ff7aadc3928560f704669c60c1ab', class: "ui-extras" }, h("slot", { key: 'fd930c490857b9fab6b088015178151003f00f62', name: "ui" })))));
28737
28759
  }
28738
28760
  static get watchers() { return {
28739
28761
  "options": ["optionsChanged"],
@@ -32666,7 +32688,7 @@ var NAMESPACE = (
32666
32688
  );
32667
32689
 
32668
32690
  /*
32669
- Stencil Hydrate Runner v4.35.3-dev.1752222710.56fe6e3 | MIT Licensed | https://stenciljs.com
32691
+ Stencil Hydrate Runner v4.35.3-dev.1752259270.e005970 | MIT Licensed | https://stenciljs.com
32670
32692
  */
32671
32693
  var __defProp = Object.defineProperty;
32672
32694
  var __export = (target, all) => {
package/hydrate/index.mjs CHANGED
@@ -135,7 +135,7 @@ var appGlobalScript = async () => { };
135
135
  const globalScripts = appGlobalScript;
136
136
 
137
137
  /*
138
- Stencil Hydrate Platform v4.35.3-dev.1752222710.56fe6e3 | MIT Licensed | https://stenciljs.com
138
+ Stencil Hydrate Platform v4.35.3-dev.1752259270.e005970 | MIT Licensed | https://stenciljs.com
139
139
  */
140
140
  var __defProp = Object.defineProperty;
141
141
  var __export = (target, all) => {
@@ -754,7 +754,7 @@ var convertToPrivate = (node) => {
754
754
 
755
755
  // src/runtime/client-hydrate.ts
756
756
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
757
- var _a, _b;
757
+ var _a, _b, _c;
758
758
  const endHydrate = createTime("hydrateClient", tagName);
759
759
  const shadowRoot = hostElm.shadowRoot;
760
760
  const childRenderNodes = [];
@@ -870,6 +870,9 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
870
870
  }
871
871
  if (!hosts[slottedItem.hostId]) continue;
872
872
  const hostEle = hosts[slottedItem.hostId];
873
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
874
+ hostEle.appendChild(slottedItem.node);
875
+ }
873
876
  if (!hostEle.shadowRoot || !shadowRoot) {
874
877
  if (!slottedItem.slot["s-cr"]) {
875
878
  slottedItem.slot["s-cr"] = hostEle["s-cr"];
@@ -880,9 +883,9 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
880
883
  }
881
884
  }
882
885
  addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
883
- }
884
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
885
- hostEle.appendChild(slottedItem.node);
886
+ if (((_c = slottedItem.node.parentElement) == null ? void 0 : _c.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) {
887
+ slottedItem.node.removeAttribute("slot");
888
+ }
886
889
  }
887
890
  }
888
891
  }
@@ -1126,7 +1129,7 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1126
1129
  if (shadowRootNodes && win.document) {
1127
1130
  const slot = childVNode.$elm$ = win.document.createElement(childVNode.$tag$);
1128
1131
  if (childVNode.$name$) {
1129
- slot.setAttribute("name", slotName);
1132
+ childVNode.$elm$.setAttribute("name", slotName);
1130
1133
  }
1131
1134
  if (parentVNode.$elm$.shadowRoot && parentNodeId && parentNodeId !== childVNode.$hostId$) {
1132
1135
  internalCall(parentVNode.$elm$, "insertBefore")(slot, internalCall(parentVNode.$elm$, "children")[0]);
@@ -1155,16 +1158,17 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
1155
1158
  parentVNode.$children$[childVNode.$index$] = childVNode;
1156
1159
  }
1157
1160
  var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1158
- var _a;
1161
+ var _a, _b;
1159
1162
  let slottedNode = slotNode.nextSibling;
1160
1163
  slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
1164
+ if (!slottedNode || ((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith(SLOT_NODE_ID + "."))) return;
1161
1165
  do {
1162
- if (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ || slottedNode.nodeType === 3 /* TextNode */))) {
1166
+ if (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (!slottedNode["getAttribute"] || !slottedNode.getAttribute("slot")) && (slottedNode.nodeType === 8 /* CommentNode */ || slottedNode.nodeType === 3 /* TextNode */))) {
1163
1167
  slottedNode["s-sn"] = slotName;
1164
1168
  slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1165
1169
  }
1166
1170
  slottedNode = slottedNode == null ? void 0 : slottedNode.nextSibling;
1167
- } while (slottedNode && !((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith("s.")));
1171
+ } while (slottedNode && !((_b = slottedNode.nodeValue) == null ? void 0 : _b.startsWith(SLOT_NODE_ID + ".")));
1168
1172
  };
1169
1173
  var findCorrespondingNode = (node, type) => {
1170
1174
  let sibling = node;
@@ -16668,7 +16672,11 @@ class IconButton {
16668
16672
  const imgCss = ":host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host,*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}@media (prefers-reduced-motion: reduce){:host,*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}:host{--padding:0;display:inline-block;object-fit:cover;object-position:center;background-size:cover;background-position:center}:host *{border-radius:inherit}:host([background]:not([background=false])){display:block}.img{position:relative;object-fit:inherit;object-position:inherit;background-color:inherit;background-position:inherit;background-size:inherit;background-origin:inherit;background-attachment:inherit;background-repeat:inherit;flex:1 1 100%;display:flex;flex-direction:column;min-block-size:inherit;min-inline-size:inherit;block-size:inherit;inline-size:inherit;max-block-size:inherit;max-inline-size:inherit;aspect-ratio:inherit}.img__loader,.img__observer{position:absolute;inset:0;block-size:100%;inline-size:100%;z-index:-1}.img__image,.img__bg{border-radius:inherit;display:block;opacity:0;transition:0.5s ease opacity, 0.3s ease filter 0.4s;filter:blur(5px);flex:1}.img__image.loaded,.img__bg.loaded{opacity:1;filter:blur(0)}@media not all and (resolution >= 0.001dpcm){@supports (-webkit-appearance: none){.img__image.loaded,.img__bg.loaded{filter:blur(0)}}}.img__image{object-fit:inherit;object-position:inherit;min-block-size:inherit;min-inline-size:inherit;block-size:inherit;inline-size:inherit;max-block-size:inherit;max-inline-size:inherit;aspect-ratio:inherit}.img__image.hide{visibility:hidden}.img__image.hide.no-height{block-size:1px;position:absolute;z-index:-1}.img__bg{background-color:inherit;background-position:inherit;background-size:inherit;background-origin:inherit;background-attachment:inherit;background-repeat:inherit;overflow:auto;padding:var(--padding)}.img__bg.no-height{position:absolute;inset:0}";
16669
16673
 
16670
16674
  /**
16671
- * Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties.
16675
+ * Utilities for displaying images; standard or background.
16676
+ *
16677
+ * @status deprecated
16678
+ * @version 1.0.0
16679
+ *
16672
16680
  * @slot - Main slot. Only relevant with `<nano-img background>`
16673
16681
  */
16674
16682
  class Img {
@@ -16804,16 +16812,16 @@ class Img {
16804
16812
  const bgStyle = this.loadSrc
16805
16813
  ? { 'background-image': `url(${this.loadSrc})` }
16806
16814
  : {};
16807
- return (h(Host, { key: 'a9d5cb1d0be8540d7ea690fd13d92b1f5ec614af', class: "nano-img" }, h("div", { key: '1f40afc64a5652f53b224403c59b4f108e5eb044', class: "img" }, h("div", { key: '7b3a0b8521888092effb1fc675b0c52bce7faa6f', class: "img__loader n-loader-skeleton" }, "Loading"), !!this.background && (h("div", { key: '1f4d59fc6ff3e0be42f18d1db4a099a32d099872', class: {
16815
+ return (h(Host, { key: '246b2bd0d05e76d4756a170534b84eeeb47b5692', class: "nano-img" }, h("div", { key: '17455932f3f0b6fef46b86f3731d1604295de25d', class: "img" }, h("div", { key: 'fb07e1f16faf27c6226a313c4bbcc54ccda29643', class: "img__loader n-loader-skeleton" }, "Loading"), !!this.background && (h("div", { key: '7e7a83eb7b4a75be00662f8dcd06b9452b4fcc21', class: {
16808
16816
  loaded: this.hasLoaded,
16809
16817
  img__bg: true,
16810
16818
  'no-height': this.autoHeight === 'image',
16811
- }, style: bgStyle }, h("slot", { key: 'd987180d13fa9ef34868c8e962344da9e0f6b876' }))), h("img", { key: 'f3d603cf35bf0c37c4e1eb530e9a9ea7d7e81beb', class: {
16819
+ }, style: bgStyle }, h("slot", { key: '6fb65b4a0f745b517c0688da8b3fecae769d2e71' }))), h("img", { key: '8872cd76b14e32bfa3051ae1b2953ee2f01bf609', class: {
16812
16820
  img__image: true,
16813
16821
  loaded: this.hasLoaded,
16814
16822
  hide: this.background,
16815
16823
  'no-height': this.autoHeight === 'content',
16816
- }, decoding: "async", src: this.src , loading: this.lazy ? 'lazy' : undefined, alt: this.alt, onLoad: this.onLoad, onError: this.loadError }), h("nano-resize-observe", { key: 'cf77dadeb8d5b01ef1afff5e6df5eb6aacad13e6', class: "img__observer", onNanoResizeStateChange: this.onResize, states: this.imgStates }))));
16824
+ }, decoding: "async", src: this.src , loading: this.lazy ? 'lazy' : undefined, alt: this.alt, onLoad: this.onLoad, onError: this.loadError }), h("nano-resize-observe", { key: '677afcbf603e4649a202f3a4d566c73c0fc70e10', class: "img__observer", onNanoResizeStateChange: this.onResize, states: this.imgStates }))));
16817
16825
  }
16818
16826
  static get watchers() { return {
16819
16827
  "_src": ["_srcChanged"],
@@ -20539,12 +20547,13 @@ children, utils) => {
20539
20547
  };
20540
20548
 
20541
20549
  function addStyleSheet(id, css) {
20542
- const styleSheet = document.getElementById(id) ||
20550
+ const root = this.host.getRootNode();
20551
+ const styleSheet = root.getElementById(id) ||
20543
20552
  document.createElement('style');
20544
20553
  styleSheet.id = id;
20545
20554
  styleSheet.innerHTML = css;
20546
20555
  if (!styleSheet.isConnected)
20547
- document.head.append(styleSheet);
20556
+ root.append(styleSheet);
20548
20557
  }
20549
20558
  /**
20550
20559
  * Manages the complex business of table 'pinning'; sticking columns and rows to the scrolling parent element.
@@ -23614,6 +23623,14 @@ class NavItem {
23614
23623
  slottedA.remove();
23615
23624
  }
23616
23625
  };
23626
+ /** Closes the secondary nav panel if it is open */
23627
+ async closeMenu() {
23628
+ this.closeSecondary();
23629
+ }
23630
+ /** Opens the secondary nav panel if it is not open */
23631
+ async openMenu() {
23632
+ this.openSecondary();
23633
+ }
23617
23634
  connectedCallback() {
23618
23635
  this.handleDefaultSlotChange();
23619
23636
  this.isInMenuDrawer = !!this.host.closest(transformTag('nano-menu-drawer'));
@@ -23622,22 +23639,22 @@ class NavItem {
23622
23639
  this.openChange();
23623
23640
  }
23624
23641
  render() {
23625
- return (h(Host, { key: '815fb74d8f91f3efb7c2582439b1e8f4f4aa905d', class: {
23642
+ return (h(Host, { key: 'b6ce27588c1ca2ac2a42d0aada06d7f554a1174a', class: {
23626
23643
  'nano-menu-drawer': this.isInMenuDrawer,
23627
23644
  'nano-nav-item': true,
23628
23645
  disabled: this.disabled,
23629
- }, role: this.host.closest('[role="menu"]') ? 'menuitem' : undefined, "aria-disabled": this.disabled ? 'true' : undefined }, h("div", { key: '63a0f2086fd81b4cbea08c385de2e493d7c8f926', class: {
23646
+ }, role: this.host.closest('[role="menu"]') ? 'menuitem' : undefined, "aria-disabled": this.disabled ? 'true' : undefined }, h("div", { key: 'e8faa3568a13feb95ef131f0bd412577120fbf84', class: {
23630
23647
  navitem: true,
23631
23648
  'navitem--open': this.open,
23632
23649
  'navitem--active': this.selected,
23633
- }, part: "trigger-wrapper" }, this.href && !this.disabled && (h("a", { key: 'e50cab85eba47cba80ff30a07bcab83c00595915', part: "trigger trigger--anchor", target: this.target, ref: (a) => (this.controlElement = a), href: this.href, class: {
23650
+ }, part: "trigger-wrapper" }, this.href && !this.disabled && (h("a", { key: '4a4da7478db63015d0dcd81ed053146f8eeac5f3', part: "trigger trigger--anchor", target: this.target, ref: (a) => (this.controlElement = a), href: this.href, class: {
23634
23651
  navitem__trigger: true,
23635
- } }, h("slot", { key: '2fc43a8c964c8e34e045e0df85d5bf355b3e9b26', name: "icon-start" }), h("span", { key: '6aed9dea66e87ef15edb69971b1c97fd8d2fbe29', class: "navitem__label", part: "label" }, h("slot", { key: '96f26809714cbe44effe57851814e1e24a6ad851', onSlotchange: this.handleDefaultSlotChange })), h("slot", { key: 'f43de3bfdb6cdea0f93fe248d873c73062a3034b', name: "icon-end" }))), (!this.href || this.disabled) && (h("button", { key: '9db35da35c662d588729976d1be17a07ed855642', role: this.checkbox ? 'checkbox' : undefined, "aria-checked": this.checkbox ? this.selected.toString() : undefined, part: "trigger trigger--button", ref: (btn) => (this.controlElement = btn), onClick: this.handleClick, disabled: this.disabled, class: {
23652
+ } }, h("slot", { key: '1eafb7864368850ad2539c402eb1b00877f3d55e', name: "icon-start" }), h("span", { key: '8953312d4dad64ced970d2f1120c07b6c36070f1', class: "navitem__label", part: "label" }, h("slot", { key: '390f468f8d1f5d4f0669cae53ef140e452b16b07', onSlotchange: this.handleDefaultSlotChange })), h("slot", { key: '3ecd42c2ca6c1546f48a1a5fcf7742d90ad4e1c4', name: "icon-end" }))), (!this.href || this.disabled) && (h("button", { key: '0694ce0708264ef1305e4b926a2f40f1875025a9', role: this.checkbox ? 'checkbox' : undefined, "aria-checked": this.checkbox ? this.selected.toString() : undefined, part: "trigger trigger--button", ref: (btn) => (this.controlElement = btn), onClick: this.handleClick, disabled: this.disabled, class: {
23636
23653
  navitem__trigger: true,
23637
- } }, h("slot", { key: '394a189a9d5d8b65607bd6089c9a08cdeed8e48a', name: "icon-start" }), h("span", { key: '28b56da5d700f7654c2d42fda996babff390f92e', class: "navitem__label", part: "label" }, h("slot", { key: '13a35382772f7ee79af116c500eba5d4fd4a25ad', onSlotchange: this.handleDefaultSlotChange })), h("slot", { key: '158f3590fcf2025c3c53bd3d3f9dbeddbd2829ba', name: "icon-end" }))), this.slotCtrl.has('secondary') && !this.disabled && (h("div", { key: '44ab1a0d6930f5d60b8540157911d365821f611c', part: "modal", class: {
23654
+ } }, h("slot", { key: 'c3cc4fcbb527f5f8ea2786243fe610d587e36190', name: "icon-start" }), h("span", { key: '385c92f1f2cc26b9c7e4f1a8601920c1f3bf2171', class: "navitem__label", part: "label" }, h("slot", { key: '4e7a75c8903081856c20206aa309c2a9855991da', onSlotchange: this.handleDefaultSlotChange })), h("slot", { key: '668b95901ba0b914ccc193d4f3cc4433d908c014', name: "icon-end" }))), this.slotCtrl.has('secondary') && !this.disabled && (h("div", { key: 'f81c9aeb6c903b25a662fd1fc615d6f95f6b8f4d', part: "modal", class: {
23638
23655
  navitem__modal: true,
23639
23656
  'navitem__modal--open': this.didOpen,
23640
- }, ref: (div) => (this.secondaryDiv = div), tabIndex: -1 }, h("div", { key: '758dc3ed99502ff459b187fb42dc6f1c83f335e8', class: "navitem__modal-content", part: `modal-content ${this.didOpen ? 'modal-content--open' : ''}` }, this.slotCtrl.has('close-button') && (h("div", { key: 'fb30657f31352b234b8f5f9f7dea697b663dc05d', part: "close-button", onClick: this.closeSecondary }, h("slot", { key: 'de6bdeb04bf0543c2200cca7a7a1d8d70032d0ed', name: "close-button" }))), h("slot", { key: '45c2c6ce36042b43c8177343e238392193a16367', name: "secondary" })), h("div", { key: 'd9ccc26e9f2675dcf5fc9000bc2759fd48247fe2', class: "navitem__modal-mask", onClick: this.closeSecondary, part: `modal-mask ${this.didOpen ? 'modal-mask--open' : ''}` }))))));
23657
+ }, ref: (div) => (this.secondaryDiv = div), tabIndex: -1 }, h("div", { key: '70a4b002e989753c461c7dac4dd975200a92e3de', class: "navitem__modal-content", part: `modal-content ${this.didOpen ? 'modal-content--open' : ''}` }, this.slotCtrl.has('close-button') && (h("div", { key: '7b0daad80ae03a29789c9d2bef74d2473f2f1f39', part: "close-button", onClick: this.closeSecondary }, h("slot", { key: '858798062958ea0f4ee809cbf853bdb83dd4d184', name: "close-button" }))), h("slot", { key: '41583a8cc59babbfb1a9a084a3de31c61a145fbc', name: "secondary" })), h("div", { key: '5c260dca9a8fdf7951349df64a037fc7415c3c4b', class: "navitem__modal-mask", onClick: this.closeSecondary, part: `modal-mask ${this.didOpen ? 'modal-mask--open' : ''}` }))))));
23641
23658
  }
23642
23659
  static get watchers() { return {
23643
23660
  "open": ["openChange"],
@@ -23657,7 +23674,9 @@ class NavItem {
23657
23674
  "closeOnBlur": [4, "close-on-blur"],
23658
23675
  "didOpen": [32],
23659
23676
  "isInMenuDrawer": [32],
23660
- "setFocus": [64]
23677
+ "setFocus": [64],
23678
+ "closeMenu": [64],
23679
+ "openMenu": [64]
23661
23680
  },
23662
23681
  "$listeners$": [[16, "click", "handleClose"], [16, "keyup", "handleClose"]],
23663
23682
  "$lazyBundleId$": "-",
@@ -28356,24 +28375,27 @@ class Slides {
28356
28375
  }
28357
28376
  // is a custom animation
28358
28377
  if (typeof this.animation === 'function') {
28359
- this.options = { fade: false, percentPosition: true };
28378
+ this.updateOptions({ fade: false, percentPosition: true });
28360
28379
  flkty.on('scroll', this.animation);
28361
28380
  return;
28362
28381
  }
28363
28382
  // setup new stuff
28364
28383
  switch (this.animation) {
28365
28384
  case 'fade':
28366
- this.options = { fade: true, percentPosition: true };
28385
+ this.updateOptions({ fade: true, percentPosition: true });
28367
28386
  break;
28368
28387
  case 'parallax':
28369
- this.options = { fade: false, percentPosition: true };
28388
+ this.updateOptions({ fade: false, percentPosition: true });
28370
28389
  flkty.on('scroll', this.parallax);
28371
28390
  break;
28372
28391
  default:
28373
- this.options = { fade: false, percentPosition: true };
28392
+ this.updateOptions({ fade: false, percentPosition: true });
28374
28393
  break;
28375
28394
  }
28376
28395
  }
28396
+ updateOptions(opts) {
28397
+ this.options = { ...this.options, ...opts };
28398
+ }
28377
28399
  /** Zero-based index of the selected cell. */
28378
28400
  currentSlide = 0;
28379
28401
  currentSlideChange() {
@@ -28723,15 +28745,15 @@ class Slides {
28723
28745
  this.destroyflickity();
28724
28746
  }
28725
28747
  render() {
28726
- return (h(Host, { key: '4f3e88fcb168e5504c1cbb7649eb7233f235dff7', class: "nano-slides" }, h("div", { key: '0c80e9c3b733ee41f6b06a473eeef9ab06eae1cd', class: {
28748
+ return (h(Host, { key: '42935259126aea21edcf5ecb256d0c1fbbde543a', class: "nano-slides" }, h("div", { key: '933ffba7ee7036d4a8e7fddac8396eaf6b53ad9f', class: {
28727
28749
  slideshow: true,
28728
28750
  ready: this.ready,
28729
28751
  'not-ready': !this.ready,
28730
- }, part: "base" }, h("div", { key: 'beae0495f2effa9d6bb5d6a093fd76b50bd3027e', ref: (div) => (this.flickityEl = div), class: {
28752
+ }, part: "base" }, h("div", { key: '5cd48261734c266f25f83cf63b60300c94868d52', ref: (div) => (this.flickityEl = div), class: {
28731
28753
  'flickity-container': true,
28732
28754
  'slides-ready': this.slidesReady,
28733
28755
  'slides-not-ready': !this.slidesReady,
28734
- }, part: "slide-container" }, h("slot", { key: '89282a60c520a65e2155836ab66f698520b47721' })), h("div", { key: 'fd3e6b6fb4d75ceb6002b389e63930d69965d304', class: "ui-extras" }, h("slot", { key: '8dfacb9cc08a4fc13f998b9a97e5079640fe5ede', name: "ui" })))));
28756
+ }, part: "slide-container" }, h("slot", { key: 'b04069a6bdbc76261a431b22660d012c25a8fb14' })), h("div", { key: '978e708ec781ff7aadc3928560f704669c60c1ab', class: "ui-extras" }, h("slot", { key: 'fd930c490857b9fab6b088015178151003f00f62', name: "ui" })))));
28735
28757
  }
28736
28758
  static get watchers() { return {
28737
28759
  "options": ["optionsChanged"],
@@ -32664,7 +32686,7 @@ var NAMESPACE = (
32664
32686
  );
32665
32687
 
32666
32688
  /*
32667
- Stencil Hydrate Runner v4.35.3-dev.1752222710.56fe6e3 | MIT Licensed | https://stenciljs.com
32689
+ Stencil Hydrate Runner v4.35.3-dev.1752259270.e005970 | MIT Licensed | https://stenciljs.com
32668
32690
  */
32669
32691
  var __defProp = Object.defineProperty;
32670
32692
  var __export = (target, all) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanoporetech-digital/components",
3
- "version": "8.0.0-alpha.11",
3
+ "version": "8.0.0-alpha.13",
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.0.0-alpha.11"
63
+ "@nanoporetech-digital/style": "8.0.0-alpha.13"
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{f as t,h as n,F as e,g as o,i,d as s,e as a,r,c as l,a as h}from"./index-CDb2_YWF.js";import{h as c,t as d}from"./renderer-CGoibSOJ.js";import{c as p}from"./math-BEqsTfVK.js";import{d as b}from"./throttle-C93FMm2Z.js";import{i as _,f as u}from"./scroll-DMVLi4kX.js";import{c as f}from"./index-Cb6_W06a.js";const m="nano-tbl",w=(t,n)=>{const e=globalThis[n];return null!=e&&t instanceof e},y=t=>{if(null!=t){if(w(t,"ArrayBuffer")||w(t,"MessagePort")||w(t,"ImageBitmap")||w(t,"OffscreenCanvas"))return[t];if("object"==typeof t)return t.constructor===Object&&(t=Object.values(t)),Array.isArray(t)?t.flatMap(y):y(t.buffer)}return[]};let v=0,g=0;const x=new Map,k=new Map,$=(n,e,o)=>{const i=new Worker(n,{name:e});return i.addEventListener("message",(({data:n})=>{if(n){const e=n[0],i=n[1],s=n[2];if(e===o){const e=n[3],[o,a,r]=x.get(i);if(x.delete(i),e){const n=e.isError?Object.assign(new Error(e.value.message),e.value):e.value;t(n),a(n)}else r&&r.forEach((t=>k.delete(t))),o(s)}else if(e===o+".cb")try{k.get(i)(...s)}catch(n){t(n)}}})),i},z=(t,n,e)=>(...o)=>new Promise(((i,s)=>{let a=v++,r=0,l=o.length,h=[i,s];for(x.set(a,h);r<l;r++)if("function"==typeof o[r]){const t=g++;k.set(t,o[r]),o[r]=[n+".cb",t],(h[2]=h[2]||[]).push(t)}const c=t=>t.postMessage([n,a,e,o],y(o));t.then?t.then(c):c(t)})),C=import("./table.worker-Bt49ORjw.js").then((t=>t.worker)),S=z(C,"stencil.table.worker","createWorkerStore"),T=z(C,"stencil.table.worker","syncConfigToWorker"),R=z(C,"stencil.table.worker","syncDataToWorker"),I=z(C,"stencil.table.worker","workerFilter"),F=z(C,"stencil.table.worker","workerSearch"),D=z(C,"stencil.table.worker","workerSort");function P(t){const n=JSON.parse(JSON.stringify(t));return t.forEach((t=>{t?.sortCompareFn&&(n.find((n=>n.prop===t.prop)).sortCompareFn=t.sortCompareFn.toString())})),n}const A=new WeakMap;function B(t,n){const e=M(),o=e.config.state.columns,i=e.data.state.rows,s=o[n],a=s?.prop,r=i[t];return{prop:a,cellModel:r?r[o[n].prop]:"",column:s,rowIndex:t,rowModel:r}}function E(t,n){if(!n)return t;const e={...n,...t};return n.class&&("object"==typeof n.class&&"object"==typeof e.class?e.class={...n.class,...e.class}:"string"==typeof n.class&&"object"==typeof e.class?e.class[n.class]=!0:"string"==typeof e.class&&"string"==typeof n.class&&(e.class+=" "+n.class)),n.style&&(e.style={...n.style,...e.style}),e}function M(){return t=o(i()),A.get(t);var t}function j(t){const o=t?.columnTemplate;return o?o(n,t):n(e,null,t.title)}function N(t,n,e=!1){const o={[`${m}__${t}`]:!0,[`${m}__pin`]:!!n,[`${m}__pin--top`]:"top"===n,[`${m}__pin--bottom`]:"bottom"===n};return e?O(o):o}function O(t){let n="";return Object.entries(t).forEach((([t,e])=>{e&&(n+=t+" ")})),n}const W=({column:t,onColumnSortClick:n,defaults:o})=>{if(t.hidden)return c(e,null);function i(){return!!o.sortable&&!1!==t.sortable||!o.sortable&&!0===t.sortable}let s={};t.columnProperties&&(s=t.columnProperties(t)||s);const a={class:{...N("th",t.pinned),[`${m}__pin--start`]:"start"===t.pinned,[`${m}__pin--end`]:"end"===t.pinned,[`${m}__ordered`]:!!t.order,[`${m}__filtered`]:null!=t.filter}};let r=s?E(a,s):a;if(!j(t))return c(e,null);if(r=Number(r.colSpan)>1?{...r,scope:"colgroup"}:{...r,scope:"col"},i()){const n=t.order?"asc"===t.order?"ascending":"descending":"none";r={...r,"aria-sort":n}}return c("th",{...r,key:t.prop},i()?c("button",{class:{[`${m}__order-btn`]:!0,[`${m}__cell-content`]:!0},onClick:function(e){let o;switch(t.order){case"asc":o="desc";break;case"desc":o=null;break;default:o="asc"}n(o,t.prop,e.target.closest("th"))}},j(t),null!=t.filter&&c("nano-icon",{name:"light/filter"}),!!t.order&&c("nano-icon","desc"===t.order?{name:"solid/arrow-down-long"}:{name:"solid/arrow-up-long"}),c("div",{class:`${m}__status-icons`},c("nano-icon",{name:"light/chevron-down"}))):c("div",{class:`${m}__cell-content`},j(t),null!=t.filter&&c("nano-icon",{name:"light/bars-filter"})))},L=(t,n=!1)=>{const e=M().config.state.columns[t],o={[`${m}__td`]:!0,[`${m}__ordered`]:!!e.order,[`${m}__pin`]:!!e.pinned,[`${m}__pin--start`]:"start"===e.pinned,[`${m}__pin--end`]:"end"===e.pinned};return n?O(o):o},H=({rowIndex:t,colIndex:n,nestedContent:o})=>{const s=()=>o?o():function(t,n){const o=M().config.state.columns,s=o[n]?.cellTemplate,a=B(t,n),r=i();if(a.cellModel&&"date"===o[n].type){const t=new Date(a.cellModel);t instanceof Date&&!isNaN(t)&&(a.cellModel=s?t:`${new Date(a.cellModel).toLocaleDateString()} ${new Date(a.cellModel).toLocaleTimeString()}`)}let l=!1,h=s?s(((...t)=>(l=!0,c(...t))),a):void 0;if(h&&r.customRenderer&&void 0===h.t&&!(h instanceof Element)&&"string"!=typeof h&&!l){const t=document.createElement("template"),n=r.customRenderer(h,t.content);h=n&&n.then?n:t}return h||(null!=a.cellModel?c(e,null,a.cellModel?.toString()):"")}(t,n)||c("span",{class:"placeholder"}," ");let a="td";const r=M().config.state.columns[n];if(r.hidden)return c(e,null);let l=function(t,n,e){const o={...e},i=M().config.state.columns[n]?.cellProperties;if(!i)return o;const s=i(B(t,n));return s?E(o,s):o}(t,n,{class:L(n)});r.rowHeader&&(l=Number(l.rowSpan)>1?{...l,scope:"rowgroup"}:{...l,scope:"row"},a="th");const h=t=>{const n=s();return c("div",{ref:t=>{t&&(n instanceof Element?(t.replaceChildren(),t.append(n.content||n)):n.then&&n.then((n=>t.innerHTML=n)))},...t,class:{[`${m}__cell-content`]:!0,[`${m}__cell-content--wrap`]:!!r.wrap},innerHTML:"string"==typeof n&&n.includes("<")?n:void 0},("string"!=typeof n||!n.includes("<"))&&!n.then&&!(n instanceof Element)&&n)};return c(a,{...l},r.autoTooltip&&!r.wrap?c("nano-resize-observe",{notifyContentFit:"x",onNanoResizeContentFitChange:t=>t.target.firstElementChild.disabled=t.detail.x},c("nano-tooltip",{disabled:!0,placement:"top",onNanoShow:t=>t.target.closest(a).style.zIndex="100",onNanoHide:t=>t.target.closest(a).style.zIndex=""},c(h,null),c("span",{slot:"content"},c(s,null)))):c(h,null))},Y=(t,n,e)=>{const o=c("div",{...t.wrapperProps,class:{[`${m}__cell-content`]:!0,[`${m}__cell-content--wrap`]:t.wrap}},n);return t.header?c("th",{scope:e,...t.cellProps},o):c("td",{...t.cellProps},o)},J=({rowRenderer:t,rowIndex:n,rowModel:e},o,i)=>{const s=({header:t,wrap:n,cellProps:e,wrapperProps:o},i)=>Y({header:t,wrap:n,cellProps:e,wrapperProps:o},i,"row");let a,r={};if(!e){const t=function(t){return{rowModel:M().data.state.rows[t],rowIndex:t}}(n);e=t.rowModel}t?.rowProperties&&(r=t.rowProperties({rowModel:e,rowIndex:n})||r),t?.pinned&&"function"==typeof t.pinned&&(a=t.pinned({rowModel:e,rowIndex:n}));const l=E({class:N("tr",a,!0)},r),h=t?.template,d=t=>i.map(t,((t,n)=>(["td","th"].includes(t.vtag.toString())&&(t.vattrs=E({class:L(n,!0)},t.vattrs)),t)));if(h){let t=h(c,{renderedRow:c("tr",{...l,key:e.__uuid},o),rowModel:e,rowIndex:n},s);return Array.isArray(t)&&(t=i.map(t,((t,n)=>("tr"===t.vtag&&(t.vkey||(t.vkey=`${e.__uuid}_${n}`),t.vattrs=E({class:N("tr",a,!0)},t.vattrs),t.vchildren&&(t.vchildren=d(t.vchildren))),t)))),t}return c("tr",{...l,key:e.__uuid},d(o))},K=({rowRenderer:t},n,e)=>{let o={};t.rowProperties&&(o=t.rowProperties()||{});const i=({header:t,wrap:n,cellProps:e,wrapperProps:o},i)=>Y({header:t,wrap:n,cellProps:e,wrapperProps:o},i,"col"),s=t.pinned||null,a={class:N("tr",s)},r=o?E(a,o):a,l=t?.template;if(l){let t=l(c,{renderedRow:c("tr",{...r},n)},i);return Array.isArray(t)&&(t=e.map(t,(t=>("tr"===t.vtag&&(t.vattrs=E({class:N("tr",s,!0)},t.vattrs),t.vchildren&&(t.vchildren=e.map(t.vchildren,(t=>(["td","th"].includes(t.vtag.toString())&&(t.vattrs=E({class:N(t.vtag.toString(),s,!0)},t.vattrs)),t))))),t)))),t}return c("tr",{...r},n)};function X(t,n){const e=document.getElementById(t)||document.createElement("style");e.id=t,e.innerHTML=n,e.isConnected||document.head.append(e)}class q{cachedColMeta=new WeakMap;tableId;tableEle;scrollElement;startColumns;endColumns;topRows;bottomRows;tableDims;constructor(t,n){this.tableEle=t,this.tableId=this.tableEle.id,this.scrollElement=n,this.startColumns=t.querySelector("thead").getElementsByClassName(`${m}__pin--start`),this.endColumns=t.querySelector("thead").getElementsByClassName(`${m}__pin--end`),this.topRows=t.getElementsByClassName(`${m}__pin--top`),this.bottomRows=t.getElementsByClassName(`${m}__pin--bottom`),this.onResize()}get pinnedStart(){return this._pinnedStart}set pinnedStart(t){this._pinnedStart=t,this.handlePinnedStartChange()}_pinnedStart=[];handlePinnedStartChange(){s((()=>{if(this.pinnedStart.length){this.tableEle.classList.add(`${m}__pinned--start`);const t=this.cachedColMeta.get(this.pinnedStart[this.pinnedStart.length-1]);X(`${this.tableId}-col-start-active-style`,`\n #${this.tableId} tr > :nth-child(${t.idx+1}) {\n --pin-start-active: 1;\n }\n `)}else this.tableEle.classList.remove(`${m}__pinned--start`),X(`${this.tableId}-col-start-active-style`,"")}))}get pinnedEnd(){return this._pinnedEnd}set pinnedEnd(t){this._pinnedEnd=t,this.handlePinnedEndChange()}_pinnedEnd=[];handlePinnedEndChange(){s((()=>{if(this.pinnedEnd.length){this.tableEle.classList.add(`${m}__pinned--end`);const t=this.cachedColMeta.get(this.pinnedEnd[0]);X(`${this.tableId}-col-end-active-style`,`\n #${this.tableId} tr > :nth-child(${t.idx+1}) { --pin-end-active: 1; }\n `)}else this.tableEle.classList.remove(`${m}__pinned--end`),X(`${this.tableId}-col-end-active-style`,"")}))}get cssColDimensionCacheKey(){return this._cssColDimensionCacheKey}set cssColDimensionCacheKey(t){t!==this._cssColDimensionCacheKey&&(this._cssColDimensionCacheKey=t,this.createPinnedColDimensionStyles())}_cssColDimensionCacheKey="";generateCssCacheKey(){let t="";for(const n of this.startColumns){const e=this.cachedColMeta.get(n);t+=`${e.idx}-start-${e.width}`}for(const n of this.endColumns){const e=this.cachedColMeta.get(n);t+=`${e.idx}-start-${e.width}`}this.cssColDimensionCacheKey=t}createPinnedColDimensionStyles(){let t=0,n=0;const e=Array.from(this.startColumns),o=Array.from(this.endColumns).reverse(),i=`\n ${e.map((n=>{const e=this.cachedColMeta.get(n);return t+=e.width-1||-1,`\n #${this.tableId} tr > :nth-child(${e.idx+1}) ~ td,\n #${this.tableId} tr > :nth-child(${e.idx+1}) ~ th {\n --pin-start: ${t-1}px;\n }\n `})).join("")}\n ${o.map((t=>{const e=this.cachedColMeta.get(t);return n+=e.width-1||-1,`\n #${this.tableId} tr > td:has(~ :nth-child(${e.idx+1})),\n #${this.tableId} tr > th:has(~ :nth-child(${e.idx+1})) {\n --pin-end: ${n-1}px;\n }\n `})).join("")}\n `;X(`${this.tableId}-dimension-style`,i)}getParentOffsets(){const{x:t,y:n}=this.scrollElement.getBoundingClientRect();let e=t,o=n;return this.scrollElement===document.documentElement&&(e=this.scrollElement.offsetLeft,o=this.scrollElement.offsetTop),{offsetX:e,offsetY:o}}assessRows(){if((this.topRows.length||this.bottomRows.length)&&(this.topRows.length&&a((async()=>{let t,n=0;const{offsetY:e}=this.getParentOffsets();for(const o of this.topRows){const{y:i,height:a}=o.getBoundingClientRect(),r=o.parentElement,l=getComputedStyle(o).getPropertyValue("--pin-top"),h=""!==l?parseFloat(l):n;s((()=>{i-e<=h?o.classList.add(`${m}__pinned`,`${m}__pinned--top`):o.classList.remove(`${m}__pinned`,`${m}__pinned--top`),t!==r&&(r.style.setProperty("--pin-top",n-1+"px"),n+=a-1,t=r)}))}})),this.bottomRows.length)){const t=Array.from(this.bottomRows).reverse();a((async()=>{let n,e=0;const{offsetY:o}=this.getParentOffsets();for(const i of t){if(!i.isConnected)continue;const{y:t,height:a}=i.getBoundingClientRect(),r=i.parentElement,l=getComputedStyle(i).getPropertyValue("--pin-bottom"),h=""!==l?parseFloat(l):e;await new Promise((l=>s((()=>{this.tableDims.height+o-(t+a)<=h?i.classList.add(`${m}__pinned`,`${m}__pinned--bottom`):i.classList.remove(`${m}__pinned`,`${m}__pinned--bottom`),n!==r&&(r.style.setProperty("--pin-bottom",e-1+"px"),e+=a-1,n=r),l()}))))}}))}}async assessCols(){if(!this.startColumns.length&&!this.endColumns.length)return;let t,n,e;const o=new Promise((o=>{this.startColumns.length&&a((()=>{const{offsetX:i}=this.getParentOffsets();let s=i;e=Array.from(this.startColumns[0].parentElement.children);for(const o of this.startColumns)t=o.getBoundingClientRect(),this.cachedColMeta.set(o,{width:t.width,idx:e.indexOf(o)}),n=this.pinnedStart.find((t=>t===o)),t.x<s?n||(this.pinnedStart=[...this.pinnedStart,o]):n&&(this.pinnedStart=this.pinnedStart.filter((t=>t!==o))),s+=t.width;this.endColumns.length||o()})),this.endColumns.length&&a((()=>{const i=Array.from(this.endColumns).reverse();e=Array.from(this.endColumns[0].parentElement.children);const{offsetX:s}=this.getParentOffsets();let a=0;for(const o of i)t=o.getBoundingClientRect(),this.cachedColMeta.set(o,{width:t.width,idx:e.indexOf(o)}),n=this.pinnedEnd.find((t=>t===o)),this.tableDims.width+s-t.right<=a?n||(this.pinnedEnd=[o,...this.pinnedEnd]):n&&(this.pinnedEnd=this.pinnedEnd.filter((t=>t!==o))),a+=t.width;o()}))}));await o,this.generateCssCacheKey()}cacheX=0;cacheY=0;onScroll(t){this.cacheX!==t.x&&(this.cacheX=t.x,this.assessCols()),this.cacheY!==t.y&&(this.cacheY=t.y,this.assessRows())}onResize(){this.tableDims={width:this.scrollElement.clientWidth,height:this.scrollElement.clientHeight},this.assessCols(),this.assessRows()}}let V=0;const G=class{constructor(t){r(this,t),this.nanoTblReady=l(this,"nanoTblReady",7),this.nanoTblBlockRendered=l(this,"nanoTblBlockRendered",7),this.nanoTblBeforeSort=l(this,"nanoTblBeforeSort",7),this.nanoTblAfterSort=l(this,"nanoTblAfterSort",7),this.nanoTblBeforeFilter=l(this,"nanoTblBeforeFilter",7),this.nanoTblAfterFilter=l(this,"nanoTblAfterFilter",7),this.nanoTblBeforeSearch=l(this,"nanoTblBeforeSearch",7),this.nanoTblAfterSearch=l(this,"nanoTblAfterSearch",7),this.nanoTblBeforeEdit=l(this,"nanoTblBeforeEdit",7),this.debounceSetLoading=b(this.debounceSetLoading.bind(this),50)}customRenderer;scrollable=!1;caption;showCaption=!1;loading=void 0;get _loading(){return void 0!==this.loading?this.loading:this.internalLoading}set _loading(t){void 0===this.loading&&this.debounceSetLoading(t)}debounceSetLoading(t){this.internalLoading=t}internalLoading=!0;placeholderSize=10;rows;handleRowsChange(){this.rows?(this._loading=!0,Promise.resolve(this.rows).then((async t=>{await function(t,n){const e=A.get(t);if(!e)return;const o=e.config.state.columns,i=o.filter((t=>"date"===t.type)).reduce(((t,n)=>[...t,n.prop]),[]),s=o.filter((t=>!t.type));return n=n.map(((t,n)=>(s.length&&0===n&&(e.config.state.columns=o.map((n=>{var e;return s.includes(n)&&t[n.prop]&&!n.type&&(n.type=(e=t[n.prop])instanceof Date?"date":["number","string","boolean"].includes(typeof e)?typeof e:"unknown","date"===n.type&&i.push(n.prop)),n}))),i.forEach((n=>{const e=new Date(t[n]);e&&Number(e)&&(t[n]=Number(e))})),t.__index=n,t.__uuid=p(o.map((n=>t[n.prop])).join()),t))),e.data.state.rows=n,e.general.state.workerId?R(e.general.state.workerId,n):void 0}(this.host,t),this.customFilterApplied?this.customFilterApplied=!1:this.currentFilters="",this.currentSort="",await this.columnInit(),this.isReady||requestAnimationFrame((()=>this.setInitialBlockDimension())),this._loading=!1,this.tablePinnedService&&this.tablePinnedService.assessRows()}))):this._loading=!0}columns=[];async handleColsChange(){await function(t,n){const e=A.get(t);if(e)return e.config.state.columns=n,e.general.state.workerId?T(e.general.state.workerId,P(n)):void 0}(this.host,this.columns),this.isReady&&this.columnInit()}headRender={pinned:"top"};rowRender;footRender={pinned:"bottom"};showFooter=!1;perBlock=50;get blocksLength(){return this.blocks.length}searchTerm;customFilterFn;customSortFn;defaultSort=!0;handleSearchTermChange(){this.searchStart()}showPaginateSpinner=!1;virtualTotalItems=0;virtualTotalItemsChangeHandler(){this.setBlocks()}get appliedFilters(){return this.filters}nanoTblReady;nanoTblBlockRendered;nanoTblBeforeSort;nanoTblAfterSort;nanoTblBeforeFilter;nanoTblAfterFilter;nanoTblBeforeSearch;nanoTblAfterSearch;nanoTblBeforeEdit;async resetSorting(){const t=this.columns.find((t=>!!t.order));if(t)return this.sortStart(null,t.prop)}async addSort(t,n){const e=this.columns.find((n=>n.prop===t));if(!e)throw new Error("Cannot find column with "+t);return this.sortStart(n,e.prop)}async resetFilters(){return this.filters=[],this.filterStart()}async addFilters(t,n=!0){return n||(this.filters=[]),this.filterStart(t,n)}async removeFilters(t){return this.filters=this.filters.filter((n=>!t.includes(n.prop))),this.filterStart()}async updateRow(t,n){this.rows.splice(n,1,t),this.handleRowsChange()}get host(){return o(this)}renderId="tbl-"+V++;store;filters=[];currentFilters="[]";currentSort="";tableEle;topAnchorEle;activeWatcherIo;tablePinnedService;customFilterApplied=!1;blocks=[];activeBlocks=[0,1];measureHeight=0;blockElements;blockHeights=[];set measureEle(t){if(!t)return;const n=t.getBoundingClientRect().height;this.measureHeight=Math.abs(this.measureHeight-n)<5?this.measureHeight:n,this.unitHeight=t.querySelector("tr")?.getBoundingClientRect().height||this.unitHeight}unitHeight=0;get scrollParent(){return this._scrollParent}set scrollParent(t){t!==this._scrollParent&&(this._scrollParent&&(this._scrollParent===document.documentElement?document:this._scrollParent).removeEventListener("scroll",this.scrollHandler),(t===document.documentElement?document:t).addEventListener("scroll",this.scrollHandler),this._scrollParent=t)}_scrollParent;get primaryBlockIndex(){return this._primaryBlockIndex}set primaryBlockIndex(t){this._primaryBlockIndex!==t&&(this._primaryBlockIndex=t,this.nanoTblBlockRendered.emit({block:t,totalBlocks:this.blockElements.length}))}_primaryBlockIndex;get isReady(){return this._isReady}set isReady(t){t!==this._isReady&&(this._isReady=t,this.isReady&&requestAnimationFrame((()=>this.handleReady())))}_isReady=!1;handleReady(){const t=window.location.hash;if(t.length>1)try{const n=document.querySelector(t);n&&n.scrollIntoView()}catch(t){}this.nanoTblReady.emit()}sortStart=async(t,n,e)=>{if(this.currentSort!==t+":"+n&&(this._loading=!0,!this.nanoTblBeforeSort.emit({column:n,order:t}).defaultPrevented)){if(this.currentSort=t+":"+n,this.scrollToTop(e),this.customSortFn)try{if(!0===await this.customSortFn(n,t))return this.sortComplete(t,n),void(this._loading=!1)}catch(t){return console.warn("custom sort failed",t),this.currentSort="",void(this._loading=!1)}try{await async function(t,n,e){const o=A.get(t);if(o&&o.general.state.workerId)try{o.data.state.rows=await D(o.general.state.workerId,n,e)}catch(t){console.warn(t)}}(this.host,n,t),this.sortComplete(t,n)}catch(t){console.warn("sort failed",t),this.currentSort=""}finally{this.blocks.length&&(this._loading=!1)}}};sortComplete(t,n){this.columns=this.columns.map((e=>e.prop===n?{...e,order:t}:{...e,order:null})),this.nanoTblAfterSort.emit({column:n,order:t})}async searchStart(){if(this._loading=!0,!this.nanoTblBeforeSearch.emit({term:this.searchTerm}).defaultPrevented){this.scrollToTop();try{await async function(t,n){const e=A.get(t);if(e&&e.general.state.workerId)try{e.data.state.rows=await F(e.general.state.workerId,n)}catch(t){console.warn(t)}}(this.host,this.searchTerm),this.nanoTblAfterSearch.emit({term:this.searchTerm})}catch(t){console.warn("search failed",t)}finally{this._loading=!1}}}async filterStart(t,n=!0){if(t&&(this.filters=n?[...this.filters.filter((n=>!t.find((t=>t.prop===n.prop)))),...t]:t),this.currentFilters!==JSON.stringify(this.filters)&&(this._loading=!0,!this.nanoTblBeforeFilter.emit({filters:this.filters}).defaultPrevented)){if(this.currentFilters=JSON.stringify(this.filters),this.scrollToTop(),this.customFilterFn)try{if(!0===await this.customFilterFn(this.filters))return this.customFilterApplied=!0,await this.filterComplete(),void(this._loading=!1)}catch(t){return console.warn("custom filter failed",t),this.currentFilters="",void(this._loading=!1)}try{await this.filterComplete()}catch(t){console.warn("filter failed",t)}finally{this._loading=!1}}}async filterComplete(){this.columns=this.columns.map((t=>{const n=this.filters.find((n=>n.prop===t.prop));return n&&("boolean"!=typeof n.filter&&n.filter.length||"boolean"==typeof n.filter)?t.filter=n.filter:(null!=t.filter||t.filter&&"boolean"!=typeof t.filter&&!t.filter.length)&&(t.filter=void 0),t})),await async function(t,n){const e=A.get(t);if(e&&e.general.state.workerId)try{e.data.state.rows=await I(e.general.state.workerId,n)}catch(t){console.warn(t)}}(this.host,this.filters),this.nanoTblAfterFilter.emit({filters:this.filters})}scrollToTop(t){if(!this.scrollParent)return;const n=this.scrollParent.style?.scrollBehavior,e=this.scrollParent.scrollLeft;this.scrollParent.style.scrollBehavior="auto",this.topAnchorEle&&!_(this.topAnchorEle,.1)&&this.host.scrollIntoView(),t&&!_(t,1)&&setTimeout((()=>t.scrollIntoView({block:"start"})),500),e&&(this.scrollParent.scrollLeft=e),n&&(this.scrollParent.style.scrollBehavior=n),this.scrollHandler()}setMeasureElement(){return new Promise((t=>{a((()=>{this.measureEle=this.blockElements.find((t=>!t?.classList?.contains(`${m}__inactive`))),t()}))}))}setInitialBlockDimension(){if(!this.blockElements?.length)return;const t=async()=>(await this.setMeasureElement(),!!this.unitHeight);new Promise((n=>{t().then((async e=>{if(e)n();else{const e=new IntersectionObserver((async()=>{await t()&&(n(),e.disconnect())}),{root:this.scrollParent});e.observe(this.tableEle)}}))})).then((()=>{requestAnimationFrame((()=>this.isReady=!0))}))}async columnInit(){this.filters=this.columns.filter((t=>null!=t.filter)).map((t=>{const{filter:n,prop:e}=t;return{prop:e,filter:n}})),this.searchTerm&&await this.searchStart(),this.filters.length&&await this.filterStart();const t=this.columns.find((t=>!!t.order));t&&await this.sortStart(t.order,t.prop),this.tablePinnedService&&this.tablePinnedService.assessCols()}setBlocks(){const t=this.store.data.state.rows;if(!t.length)return void(this.blocks=[]);let n=1;const e=this.virtualTotalItems>t.length?this.virtualTotalItems:t.length;let o=[];const i=[];for(;n<=e;n++)o.push(this.store.data.state.rows[n-1]||{__uuid:""}),n%this.perBlock==0&&(i.push({rows:o,__uuid:p(o.map((t=>t.__uuid)).join())}),o=[]);o.length&&i.push({rows:o,__uuid:p(o.map((t=>t.__uuid)).join())}),this.blocks=i}getBlockHeight(t){if(this.blockHeights.length){const n=this.blockHeights.find((n=>n.blockIndex===t));if(n&&n.height)return n.height}const n=this.blocks[t].rows.length;return n===this.perBlock&&this.measureHeight?this.measureHeight:this.unitHeight?this.unitHeight*n:100}setBlockHeight(){this.activeBlocks.forEach((t=>{const n=this.blockElements[t];n&&a((()=>{if(n.classList.contains(`${m}__inactive`))return;const e=n.getBoundingClientRect().height,o=this.blockHeights.findIndex((n=>n.blockIndex===t));o>-1?this.blockHeights[o]={height:e,blockIndex:t}:this.blockHeights.push({height:e,blockIndex:t})}))}))}scrollHandler=()=>{let t=0;this.store?.general.state.isActive&&this.rows&&(void 0===this.primaryBlockIndex&&(this.primaryBlockIndex=0),a((()=>{t=void 0!==this.scrollParent.scrollTop?this.scrollParent.scrollTop:window.scrollY,t+=this.host.offsetTop,this.tablePinnedService&&this.tablePinnedService.onScroll({x:void 0!==this.scrollParent.scrollLeft?this.scrollParent.scrollLeft:window.scrollX,y:t});let n=this.host.offsetTop,e=0;const o=this.blocks.length;for(;e<o&&t>=n;){if(n+=this.getBlockHeight(e),t<n){const t=[e,e+1];t.toString()!==this.activeBlocks.toString()&&(this.activeBlocks=t),this.primaryBlockIndex=e}e++}})))};processSlots(){this.caption||this.host.querySelector('[slot="caption"]')||console.error("For accessibility you must set a `caption` prop or use the `caption` slot")}setupActiveWatcher(){this.host&&this.scrollParent&&this.store&&(this.activeWatcherIo&&(this.activeWatcherIo.disconnect(),this.activeWatcherIo=void 0),(this.activeWatcherIo=new IntersectionObserver((([t])=>{this.store.general.state.isActive=!!t.isIntersecting}),{root:this.scrollParent,threshold:0})).observe(this.scrollable?this.tableEle:this.host))}async componentWillLoad(){this.store=await async function(t,n,e,o){const i={data:f({rows:[]}),config:f({columns:n}),general:f({workerId:null,scrollParent:e,host:t,isReady:o})},s=await S(i.data.state.rows,P(i.config.state.columns));return i.general.state.workerId=s,A.set(t,i),i.data.use({reset:()=>{i.general.state.workerId&&R(i.general.state.workerId,null)},dispose:()=>{i.general.state.workerId&&R(i.general.state.workerId,null)}}),i.config.use({reset:()=>{i.general.state.workerId&&T(i.general.state.workerId,null)},dispose:()=>{i.general.state.workerId&&T(i.general.state.workerId,null)}}),i}(this.host,this.columns,this.scrollParent,this.isReady),this.handleRowsChange(),this.store.general.onChange("isActive",(()=>{this.scrollHandler()})),this.store.data.onChange("rows",(()=>this.setBlocks())),this.processSlots(),this.setBlocks(),this.scrollable||(this.scrollParent=u(this.host),this.setupActiveWatcher())}connectedCallback(){this.scrollable||(this.scrollParent=u(this.host),this.setupActiveWatcher())}componentDidLoad(){this.setInitialBlockDimension(),this.scrollable&&(this.scrollParent=this.host.querySelector(d("nano-masked-overflow")).shadowRoot.querySelector(".onav__scroller"),this.setupActiveWatcher()),this.tablePinnedService||(this.tablePinnedService=new q(this.tableEle,this.scrollParent))}componentShouldUpdate(t,n,e){if(["rows","columns"].includes(e))return!1}componentWillRender(){}componentDidRender(){this.setMeasureElement().then((()=>this.setBlockHeight()))}disconnectedCallback(){this.activeWatcherIo&&(this.activeWatcherIo.disconnect(),this.activeWatcherIo=void 0,(this.scrollParent===document.documentElement?document:this.scrollParent).removeEventListener("scroll",this.scrollHandler))}render(){return this.blockElements=[],c(h,{class:"nano-data-table"},c("div",{class:`${m}__top-anchor`,ref:t=>this.topAnchorEle=t}," "),c("nano-resize-observe",{onNanoResize:()=>{this.tablePinnedService&&this.tablePinnedService.onResize()}}),(t=>this.scrollable?c("nano-masked-overflow",{hideScrollbars:!1,scrollControls:!1,label:this.caption},t):c("div",null,t))(c("div",{class:`${m}__wrap`},c("nano-progress-bar",{class:{[`${m}__progress-bar`]:!0,[`${m}__progress-bar--show`]:this._loading}},c("progress",null)),c("table",{"aria-rowcount":this.store.data.state.rows.length,"aria-colcount":this.store.config.state.columns.length,class:`${m}`,ref:t=>this.tableEle=t,id:"nano-data-table-"+this.renderId,"aria-busy":this._loading||void 0},c("caption",{class:{[`${m}__caption`]:!0,[`${m}__caption--hide`]:!this.showCaption}},c("slot",{name:"caption"},this.caption)),c("thead",null,c(K,{rowRenderer:this.headRender},this.store.config.state.columns.map((t=>[c(W,{column:t,headRenderer:this.headRender,onColumnSortClick:this.sortStart,defaults:{sortable:this.defaultSort}})])))),this._loading&&!this.blocks.length&&c("tbody",{class:`${m}__active ${m}__loading`},[...Array(this.placeholderSize).keys()].map((t=>c("tr",null,this.store.config.state.columns.map(((n,e)=>c(H,{rowIndex:t,colIndex:e,nestedContent:()=>c("span",{class:"n-loader-skeleton"},c("span",null,"Content loading"))}))))))),c("tr",{hidden:!!this._loading||!!this.blocks.length},c("th",{class:`${m}__th`,colSpan:this.store.config.state.columns.length},c("div",{class:"nano-tbl__cell-content nano-tbl__cell-content--no-result"},c("slot",{name:"no-results"},"No results found")))),this.blocks.map(((t,n)=>c("tbody",{key:t.__uuid,id:`tbody-${this.renderId}-${n}`,ref:t=>{this.blockElements.push(t)},class:{[`${m}__inactive`]:!this.activeBlocks.includes(n),[`${m}__active`]:this.activeBlocks.includes(n)}},this.activeBlocks.includes(n)?t.rows.map(((t,e)=>{const o=n>0?n*this.perBlock+e:e;return c(J,{rowRenderer:this.rowRender,rowModel:t,rowIndex:o},this.store.config.state.columns.map(((t,n)=>c(H,{rowIndex:o,colIndex:n}))))})):c("tr",{class:`${m}__tr--placeholder`},c("td",{colSpan:this.store.config.state.columns.length,style:{height:this.getBlockHeight(n)+"px"}}))))),this.showFooter&&c("tfoot",null,c(K,{rowRenderer:this.footRender},this.store.config.state.columns.map((t=>[c(W,{column:t,headRenderer:this.footRender,onColumnSortClick:this.sortStart,defaults:{sortable:this.defaultSort}})]))))),!!this.blocks.length&&this.showPaginateSpinner&&c("nano-spinner",{class:{[`${m}__spinner`]:!0,[`${m}__spinner--show`]:this._loading}}))))}static get watchers(){return{rows:["handleRowsChange"],columns:["handleColsChange"],searchTerm:["handleSearchTermChange"],virtualTotalItems:["virtualTotalItemsChangeHandler"]}}};G.style=':host,\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n[hidden] {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n :host,\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }:host,\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n[hidden] {\n display: none !important;\n}\n@media (prefers-reduced-motion: reduce) {\n :host,\n *,\n *::before,\n *::after {\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n transition-duration: 0.01ms !important;\n scroll-behavior: auto !important;\n }\n }.nano-data-table {\n /**\n * @prop --table-padding. The padding of the table cells. Defaults to `var(--table-compact-padding)`\n * @prop --table-border-color. The border color of the table cells. Defaults to `var(--nano-color-neutral-200)`\n * @prop --table-border-color-header. The border color of the table header and footer cells. Defaults to `var(--nano-color-primary-1000)`\n * @prop --table-background. The background color of the table cells. Defaults to `var(--nano-color-base-0)`\n * @prop --table-max-col-width. The maximum width of the table columns. Defaults to `clamp(200px, 500px, 50vw)`\n * @prop --table-ordered-bg. The background color of the ordered table rows. Defaults to `var(--nano-color-neutral-100)`\n * @prop --table-wrapper-max-height: maximum height of the table when table is scrollable. Defaults to 80vh;\n * @prop --table-wrapper-max-width: maximum width of the table when table is scrollable. Defaults to 100%;\n */\n --table-padding: var(--nano-spacing-sm) calc(var(--nano-spacing-md) - (var(--nano-spacing-md) / 3));\n --table-border-color: var(--nano-color-neutral-200);\n --table-border-color-header: var(--nano-color-primary-1000);\n --table-background: var(--nano-color-base-0);\n --table-max-col-width: clamp(200px, 500px, 50vw);\n --table-ordered-bg: var(--nano-color-neutral-100);\n --table-wrapper-max-height: 80vh;\n --table-wrapper-max-width: 100%;\n display: block;\n inline-size: 100%;\n color: var(--nano-color-neutral-1400);\n container-type: inline-size;\n --isLtR: 1;\n}\n.nano-data-table:dir(rtl) {\n --isLtR: -1;\n}\n.nano-data-table .nano-sortable__dragged {\n background: var(--nano-color-base-0);\n opacity: 0.9;\n box-shadow: var(--nano-shadow-l0);\n z-index: 10 !important;\n}\n\n.nano-tbl__wrap {\n display: table;\n min-inline-size: 100%;\n}\n.nano-data-table:not([scrollable=false]) .nano-tbl__wrap {\n max-inline-size: var(--table-wrapper-max-width);\n max-block-size: var(--table-wrapper-max-height);\n position: relative;\n display: block;\n}\n.nano-data-table:not([scrollable=false]) .nano-tbl__wrap table {\n margin-block-end: var(--nano-spacing-l);\n}\n\n.nano-data-table:not([scrollable=false]):has(.nano-tbl__pin--start, .nano-tbl__pin--end) .nano-masked-overflow {\n --fade-size: 0;\n}\n\n.nano-tbl {\n text-align: start;\n inline-size: 100%;\n border-spacing: 0 0;\n border-collapse: separate;\n border-inline-end: 1px solid transparent;\n border-block-start: 1px solid transparent;\n position: relative;\n z-index: 1;\n}\n.nano-tbl__top-anchor {\n clip-path: inset(50%);\n block-size: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n inline-size: 1px;\n position: relative;\n}\n.nano-tbl__ordered {\n background-color: var(--table-ordered-bg);\n --table-border-color: var(--nano-color-neutral-300);\n}\n.nano-tbl__order-btn {\n padding: 0;\n border: none;\n outline: none;\n font: inherit;\n background: none;\n appearance: none;\n color: inherit;\n display: flex;\n gap: var(--nano-spacing-sm);\n align-items: center;\n inline-size: 100%;\n}\n.nano-tbl__order-btn:focus-visible {\n outline: var(--nano-focus-ring);\n outline-offset: var(--nano-focus-ring-offset);\n}\n.nano-tbl__status-icons {\n margin-inline: auto 10px;\n display: flex;\n gap: 10px;\n}\n.nano-tbl__progress-bar {\n --height: 0.2125rem;\n position: sticky;\n inset-block-start: 0;\n inset-inline: 0;\n z-index: 10;\n transition: transform 0.25s;\n transform: scale(0);\n inline-size: 100%;\n}\n.nano-tbl__progress-bar--show {\n transform: scale(1);\n}\n.nano-tbl__caption--hide {\n clip-path: inset(50%);\n block-size: 1px;\n overflow: hidden;\n position: absolute;\n white-space: nowrap;\n inline-size: 1px;\n}\n.nano-tbl__td, .nano-tbl__th {\n max-inline-size: var(--table-max-col-width);\n}\nthead .nano-tbl__td .nano-sortable__keyboard-handle, thead .nano-tbl__th .nano-sortable__keyboard-handle {\n position: absolute;\n inset-inline-end: 5px;\n inset-block-start: 50%;\n transform: translateY(-50%);\n background: white;\n z-index: 10;\n}\n.nano-tbl__td.nano-tbl__ordered, .nano-tbl__th.nano-tbl__ordered {\n background-color: var(--table-ordered-bg) !important;\n --table-border-color: var(--nano-color-neutral-300);\n}\n.nano-tbl__cell-content {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.nano-tbl__cell-content--no-result {\n padding-block: var(--nano-spacing-md);\n}\n.nano-tbl__cell-content--wrap {\n white-space: normal;\n overflow: visible;\n}\n.nano-tbl tbody {\n opacity: 1;\n transition: 0.1s ease opacity;\n}\n.nano-tbl tbody.nano-tbl__loading {\n z-index: -1;\n position: relative;\n}\n.nano-tbl tbody.nano-tbl__inactive {\n opacity: 0;\n}\n.nano-tbl tbody .nano-tbl__tr:has(~ .nano-tbl__tr--placeholder) {\n display: none;\n}\n.nano-tbl tbody .nano-tbl__tr--placeholder ~ .nano-tbl__tr {\n display: none;\n}\n.nano-tbl th[scope=row] {\n margin: 0;\n}\n.nano-tbl__tr {\n --base-z: 0;\n}\n.nano-tbl__pin {\n z-index: var(--z, var(--base-z, 0));\n}\n.nano-tbl__pin .nano-tbl__th, .nano-tbl__pin .nano-tbl__td {\n z-index: var(--z, var(--base-z, 0));\n}\n.nano-tbl__pin--start {\n position: sticky;\n inset-inline-start: var(--pin-start, -1px);\n}\n.nano-tbl__pin--start::after {\n content: "";\n position: absolute;\n inset: 0;\n box-shadow: calc(4px * var(--isLtR)) 0 4px -3px rgb(var(--nano-color-base-rgb-1000)/25%);\n opacity: var(--pin-start-active, 0);\n z-index: -1;\n}\n.nano-tbl__pinned--start .nano-tbl__pin--start {\n --z: calc(var(--base-z) + 3) !important;\n}\n.nano-tbl__pin--end {\n position: sticky;\n inset-inline-end: var(--pin-end, -1px);\n max-inline-size: min(50vw, 200px);\n}\n@container (width <= 500px) {\n .nano-tbl__pin--start ~ .nano-tbl__pin--end {\n --z: 0 !important;\n inset-inline-end: auto !important;\n }\n .nano-tbl__pin--start ~ .nano-tbl__pin--end::after {\n display: none !important;\n }\n}\n@media (width <= 500px) {\n .nano-tbl__pin--start ~ .nano-tbl__pin--end {\n --z: 0 !important;\n inset-inline-end: auto !important;\n }\n .nano-tbl__pin--start ~ .nano-tbl__pin--end::after {\n display: none !important;\n }\n}\n.nano-tbl__pin--end::after {\n display: block;\n content: "";\n position: absolute;\n inset: 0;\n box-shadow: calc(-4px * var(--isLtR)) 0 4px -3px rgb(var(--nano-color-base-rgb-1000)/25%);\n opacity: var(--pin-end-active, 0);\n z-index: -1;\n}\n.nano-tbl__pinned--end .nano-tbl__pin--end {\n --z: calc(var(--base-z) + 2);\n}\n.nano-tbl__pin--top .nano-tbl__th, .nano-tbl__pin--top .nano-tbl__td {\n position: sticky;\n inset-block-start: var(--pin-top, -1px);\n}\n.nano-tbl__pin--top .nano-tbl__pin--end, .nano-tbl__pin--top .nano-tbl__pin--start {\n --z: calc(var(--base-z) + 1);\n}\n.nano-tbl__pin--top.nano-tbl__pinned--top {\n --base-z: 4;\n}\ntbody .nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__th, tbody .nano-tbl__pin--top.nano-tbl__pinned--top .nano-tbl__td {\n border-block-end: 1px solid var(--table-border-color-header);\n}\n.nano-tbl__pin--bottom .nano-tbl__th, .nano-tbl__pin--bottom .nano-tbl__td {\n position: sticky;\n inset-block-end: var(--pin-bottom, -1px);\n}\n.nano-tbl__pin--bottom .nano-tbl__pin--end, .nano-tbl__pin--bottom .nano-tbl__pin--start {\n --z: calc(var(--base-z) + 1);\n}\n.nano-tbl__pin--bottom.nano-tbl__pinned--bottom {\n --base-z: 5;\n}\n.nano-tbl__pin--bottom.nano-tbl__pinned--bottom:has(.nano-tbl__pin--bottom.nano-tbl__pinned--bottom) .nano-tbl__pin {\n --base-z: 6;\n}\ntbody .nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__th, tbody .nano-tbl__pin--bottom.nano-tbl__pinned--bottom .nano-tbl__td {\n border-block-start: 1px solid var(--table-border-color-header);\n}\n.nano-tbl thead tr:last-of-type td,\n.nano-tbl thead tr:last-of-type th {\n border-block-end: 2px solid var(--table-border-color-header);\n}\n.nano-tbl tfoot tr:first-of-type td,\n.nano-tbl tfoot tr:first-of-type th {\n border-block-start: none;\n}\n.nano-tbl tfoot tr:last-of-type td,\n.nano-tbl tfoot tr:last-of-type th {\n border-block-end: 2px solid var(--table-border-color-header);\n border-block-start: 2px solid var(--table-border-color-header);\n}\n.nano-tbl .unlimited-width {\n max-inline-size: none;\n}\n.nano-tbl__spinner {\n font-size: 1.5rem;\n transition: scale 0.25s;\n scale: 0;\n padding: 0.5rem;\n position: absolute;\n inset-block-end: 0;\n inset-inline-start: calc(50% - 0.75rem);\n z-index: 0;\n}\n.nano-tbl__spinner--show {\n scale: 1;\n position: sticky;\n}';export{G as N,$ as c}
@@ -1,4 +0,0 @@
1
- /*!
2
- * Custom elements for Nanopore-Digital Web applications
3
- */
4
- import{c as t}from"./nano-data-table-bZhulcwy.js";import"./index-CDb2_YWF.js";import"./renderer-CGoibSOJ.js";import"./math-BEqsTfVK.js";import"./throttle-C93FMm2Z.js";import"./scroll-DMVLi4kX.js";import"./dom-DpX4e3pw.js";import"./index-Cb6_W06a.js";const r="table.worker",o="stencil.table.worker",e=new URL("table.worker-BTF0UXAd.js",import.meta.url).href;let i;try{i=t(e,r,o)}catch(s){const p=new Blob(['importScripts("'+e+'")'],{type:"text/javascript"}),m=URL.createObjectURL(p);i=t(m,r,o),URL.revokeObjectURL(m)}export{i as worker,o as workerMsgId,r as workerName,e as workerPath}