@nanoporetech-digital/components 8.0.0-alpha.6 → 8.0.0-alpha.8

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 (286) hide show
  1. package/dist/cjs/{algolia-data-CSD3I9WJ.js → algolia-data-Ck3OvAaS.js} +1 -1
  2. package/dist/cjs/app-globals-BRy5S0cS.js +10 -0
  3. package/dist/cjs/{component-store-DS6c_IIg.js → component-store-Cpxjkhrv.js} +1 -1
  4. package/dist/cjs/{dom-3kyE_RMm.js → dom-B0-coRX2.js} +1 -1
  5. package/dist/cjs/{fade-B3XUTiE5.js → fade-463IMjUb.js} +3 -3
  6. package/dist/cjs/{form-control-BVH0tPGy.js → form-control-OWJOOoxA.js} +1 -1
  7. package/dist/cjs/{fullscreen-BQdjQr7K.js → fullscreen-0yMY8mhF.js} +3 -3
  8. package/dist/cjs/{index-IR1lkhwT.js → index-BlC8UV0T.js} +23 -15
  9. package/dist/cjs/{index-yq5hsIxW.js → index-ZOnWVzxx.js} +1 -1
  10. package/dist/cjs/index.cjs.js +3 -3
  11. package/dist/cjs/{lazyload-B8HnSPAU.js → lazyload-CnQrwJrf.js} +3 -3
  12. package/dist/cjs/loader.cjs.js +4 -3
  13. package/dist/cjs/{modal-DZVjwBg8.js → modal-DTqHsNdW.js} +1 -1
  14. package/dist/cjs/nano-accordion.cjs.entry.js +3 -3
  15. package/dist/cjs/nano-alert.cjs.entry.js +7 -7
  16. package/dist/cjs/nano-algolia-filter.cjs.entry.js +4 -4
  17. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
  18. package/dist/cjs/nano-algolia-results.cjs.entry.js +3 -3
  19. package/dist/cjs/nano-algolia.cjs.entry.js +5 -5
  20. package/dist/cjs/nano-animation.cjs.entry.js +3 -3
  21. package/dist/cjs/nano-avatar_5.cjs.entry.js +20 -18
  22. package/dist/cjs/nano-breadcrumb.cjs.entry.js +1 -1
  23. package/dist/cjs/nano-card-carousel.cjs.entry.js +2 -2
  24. package/dist/cjs/nano-card.cjs.entry.js +1 -1
  25. package/dist/cjs/nano-checkbox-group.cjs.entry.js +16 -19
  26. package/dist/cjs/nano-checkbox.cjs.entry.js +2 -2
  27. package/dist/cjs/nano-collapsible-comparison.cjs.entry.js +2 -2
  28. package/dist/cjs/nano-components.cjs.js +5 -4
  29. package/dist/cjs/nano-content-links.cjs.entry.js +1 -1
  30. package/dist/cjs/nano-cta.cjs.entry.js +1 -1
  31. package/dist/cjs/{nano-data-table-BiTzaPlZ.js → nano-data-table-fppjZGKo.js} +6 -6
  32. package/dist/cjs/nano-data-table.cjs.entry.js +6 -6
  33. package/dist/cjs/nano-datalist_3.cjs.entry.js +12 -12
  34. package/dist/cjs/nano-date-input.cjs.entry.js +2 -2
  35. package/dist/cjs/nano-date-picker_2.cjs.entry.js +19 -17
  36. package/dist/cjs/nano-details.cjs.entry.js +3 -3
  37. package/dist/cjs/nano-dialog.cjs.entry.js +8 -8
  38. package/dist/cjs/nano-dropdown_2.cjs.entry.js +5 -5
  39. package/dist/cjs/nano-feature-box.cjs.entry.js +19 -0
  40. package/dist/cjs/nano-field-validator.cjs.entry.js +3 -3
  41. package/dist/cjs/nano-file-upload.cjs.entry.js +9 -6
  42. package/dist/cjs/nano-footer.cjs.entry.js +1 -1
  43. package/dist/cjs/nano-global-nav.cjs.entry.js +2 -2
  44. package/dist/cjs/nano-grid-item.cjs.entry.js +1 -1
  45. package/dist/cjs/nano-grid_2.cjs.entry.js +3 -3
  46. package/dist/cjs/nano-hero.cjs.entry.js +2 -2
  47. package/dist/cjs/nano-icon-item.cjs.entry.js +1 -1
  48. package/dist/cjs/nano-icon_3.cjs.entry.js +2 -2
  49. package/dist/cjs/nano-in-page-nav.cjs.entry.js +3 -3
  50. package/dist/cjs/nano-intersection-observe.cjs.entry.js +4 -4
  51. package/dist/cjs/nano-masked-overflow.cjs.entry.js +7 -7
  52. package/dist/cjs/nano-menu-drawer.cjs.entry.js +3 -3
  53. package/dist/cjs/nano-more-less.cjs.entry.js +4 -4
  54. package/dist/cjs/nano-nav-item.cjs.entry.js +5 -5
  55. package/dist/cjs/nano-progress-bar.cjs.entry.js +2 -2
  56. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  57. package/dist/cjs/nano-rating.cjs.entry.js +2 -2
  58. package/dist/cjs/nano-resize-observe.cjs.entry.js +3 -3
  59. package/dist/cjs/nano-slide.cjs.entry.js +2 -2
  60. package/dist/cjs/{nano-slides-BHsOLxRZ.js → nano-slides-BxtmLUSX.js} +16 -60
  61. package/dist/cjs/nano-slides.cjs.entry.js +3 -3
  62. package/dist/cjs/nano-sortable.cjs.entry.js +2 -2
  63. package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
  64. package/dist/cjs/nano-split-pane.cjs.entry.js +2 -2
  65. package/dist/cjs/nano-sticker.cjs.entry.js +4 -4
  66. package/dist/cjs/nano-tab-content.cjs.entry.js +2 -2
  67. package/dist/cjs/nano-tab-group.cjs.entry.js +5 -5
  68. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  69. package/dist/cjs/nano-table.cjs.entry.js +2 -2
  70. package/dist/cjs/{page-dots-DJrv0V9e.js → page-dots-B2slCN6O.js} +3 -3
  71. package/dist/cjs/{renderer-h0yo23iy.js → renderer-BjTjwe8d.js} +1 -1
  72. package/dist/cjs/{scroll-_aiH0KkA.js → scroll-CtgMHKrt.js} +1 -1
  73. package/dist/cjs/{slot-DJxvnd35.js → slot-CoMwYflw.js} +1 -1
  74. package/dist/cjs/{tabbable-CkzmpQhq.js → tabbable-D33Xh_1b.js} +1 -1
  75. package/dist/cjs/{table.worker-DjOtTDwg.js → table.worker-CBBDTe_S.js} +6 -6
  76. package/dist/collection/collection-manifest.json +2 -1
  77. package/dist/collection/components/animation/animation.js +1 -1
  78. package/dist/collection/components/card/card.js +1 -0
  79. package/dist/collection/components/checkbox/checkbox-group.js +14 -17
  80. package/dist/collection/components/data-table/table.js +1 -1
  81. package/dist/collection/components/datalist/datalist.js +5 -5
  82. package/dist/collection/components/date-picker/date-picker.js +6 -6
  83. package/dist/collection/components/feature-box/feature-box.css +42 -0
  84. package/dist/collection/components/feature-box/feature-box.js +49 -0
  85. package/dist/collection/components/file-upload/file-upload.js +7 -4
  86. package/dist/collection/components/grid/grid.js +1 -1
  87. package/dist/collection/components/input/input.css +1 -1
  88. package/dist/collection/components/input/input.js +8 -6
  89. package/dist/collection/components/masked-overflow/masked-overflow.js +3 -3
  90. package/dist/collection/components/more-less/more-less.js +2 -2
  91. package/dist/collection/components/option/option.js +2 -2
  92. package/dist/collection/components/progress-bar/progress-bar.css +5 -5
  93. package/dist/collection/components/resize-observe/resize-observe.js +1 -1
  94. package/dist/collection/components/select/select.css +1 -1
  95. package/dist/collection/components/select/select.js +10 -8
  96. package/dist/collection/components/slides/lib/js/prev-next-button.js +6 -50
  97. package/dist/collection/components/slides/slides.css +41 -10
  98. package/dist/collection/components/slides/slides.js +3 -3
  99. package/dist/collection/components/tabs/tab-group.js +1 -1
  100. package/dist/collection/components/tag/tag.js +2 -2
  101. package/dist/collection/utils/constructible-style.js +1 -1
  102. package/dist/components/datalist.js +5 -5
  103. package/dist/components/date-picker.js +6 -6
  104. package/dist/components/grid.js +1 -1
  105. package/dist/components/input.js +9 -7
  106. package/dist/components/masked-overflow.js +3 -3
  107. package/dist/components/nano-animation.js +1 -1
  108. package/dist/components/nano-checkbox-group.js +14 -17
  109. package/dist/components/nano-data-table.js +1 -1
  110. package/dist/components/nano-feature-box.d.ts +11 -0
  111. package/dist/components/nano-feature-box.js +36 -0
  112. package/dist/components/nano-file-upload.js +7 -4
  113. package/dist/components/nano-more-less.js +2 -2
  114. package/dist/components/nano-tab-group.js +1 -1
  115. package/dist/components/option.js +2 -2
  116. package/dist/components/progress-bar.js +1 -1
  117. package/dist/components/resize-observe.js +1 -1
  118. package/dist/components/select.js +11 -9
  119. package/dist/components/slides.js +10 -54
  120. package/dist/components/tag.js +2 -2
  121. package/dist/esm/{algolia-data-D6wnbV__.js → algolia-data-B1lm-wYl.js} +1 -1
  122. package/dist/esm/app-globals-CWIH620u.js +8 -0
  123. package/dist/esm/{component-store-CH5BI3Tg.js → component-store-DMqr8_D3.js} +1 -1
  124. package/dist/esm/{dom-Cb7FUtXp.js → dom-COiksOVZ.js} +1 -1
  125. package/dist/esm/{fade-C74M8NQp.js → fade-BR_L2aBv.js} +3 -3
  126. package/dist/esm/{form-control-BOVGZF9R.js → form-control-dh9YtDPa.js} +1 -1
  127. package/dist/esm/{fullscreen-CmJdWdrB.js → fullscreen-ChzUqF71.js} +3 -3
  128. package/dist/esm/{index-DXvE-U_j.js → index-CX_Hk6ss.js} +24 -15
  129. package/dist/esm/{index-Dw3NZx59.js → index-VZJF9v1K.js} +1 -1
  130. package/dist/esm/index.js +4 -4
  131. package/dist/esm/{lazyload-BPqjfQB3.js → lazyload-IYX4l8Tu.js} +3 -3
  132. package/dist/esm/loader.js +4 -3
  133. package/dist/esm/{modal-B_AxJQQp.js → modal-CH7Vma1I.js} +1 -1
  134. package/dist/esm/nano-accordion.entry.js +3 -3
  135. package/dist/esm/nano-alert.entry.js +7 -7
  136. package/dist/esm/nano-algolia-filter.entry.js +4 -4
  137. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  138. package/dist/esm/nano-algolia-results.entry.js +3 -3
  139. package/dist/esm/nano-algolia.entry.js +5 -5
  140. package/dist/esm/nano-animation.entry.js +3 -3
  141. package/dist/esm/nano-avatar_5.entry.js +20 -18
  142. package/dist/esm/nano-breadcrumb.entry.js +1 -1
  143. package/dist/esm/nano-card-carousel.entry.js +2 -2
  144. package/dist/esm/nano-card.entry.js +1 -1
  145. package/dist/esm/nano-checkbox-group.entry.js +16 -19
  146. package/dist/esm/nano-checkbox.entry.js +2 -2
  147. package/dist/esm/nano-collapsible-comparison.entry.js +2 -2
  148. package/dist/esm/nano-components.js +5 -4
  149. package/dist/esm/nano-content-links.entry.js +1 -1
  150. package/dist/esm/nano-cta.entry.js +1 -1
  151. package/dist/esm/{nano-data-table-BPQhfLyq.js → nano-data-table-EkTqZy8O.js} +6 -6
  152. package/dist/esm/nano-data-table.entry.js +6 -6
  153. package/dist/esm/nano-datalist_3.entry.js +12 -12
  154. package/dist/esm/nano-date-input.entry.js +2 -2
  155. package/dist/esm/nano-date-picker_2.entry.js +19 -17
  156. package/dist/esm/nano-details.entry.js +3 -3
  157. package/dist/esm/nano-dialog.entry.js +8 -8
  158. package/dist/esm/nano-dropdown_2.entry.js +5 -5
  159. package/dist/esm/nano-feature-box.entry.js +17 -0
  160. package/dist/esm/nano-field-validator.entry.js +3 -3
  161. package/dist/esm/nano-file-upload.entry.js +9 -6
  162. package/dist/esm/nano-footer.entry.js +1 -1
  163. package/dist/esm/nano-global-nav.entry.js +2 -2
  164. package/dist/esm/nano-grid-item.entry.js +1 -1
  165. package/dist/esm/nano-grid_2.entry.js +3 -3
  166. package/dist/esm/nano-hero.entry.js +2 -2
  167. package/dist/esm/nano-icon-item.entry.js +1 -1
  168. package/dist/esm/nano-icon_3.entry.js +2 -2
  169. package/dist/esm/nano-in-page-nav.entry.js +3 -3
  170. package/dist/esm/nano-intersection-observe.entry.js +4 -4
  171. package/dist/esm/nano-masked-overflow.entry.js +7 -7
  172. package/dist/esm/nano-menu-drawer.entry.js +3 -3
  173. package/dist/esm/nano-more-less.entry.js +4 -4
  174. package/dist/esm/nano-nav-item.entry.js +5 -5
  175. package/dist/esm/nano-progress-bar.entry.js +2 -2
  176. package/dist/esm/nano-range.entry.js +2 -2
  177. package/dist/esm/nano-rating.entry.js +2 -2
  178. package/dist/esm/nano-resize-observe.entry.js +3 -3
  179. package/dist/esm/nano-slide.entry.js +2 -2
  180. package/dist/esm/{nano-slides-Bv0u7kg0.js → nano-slides-DL3S1wHE.js} +16 -60
  181. package/dist/esm/nano-slides.entry.js +3 -3
  182. package/dist/esm/nano-sortable.entry.js +2 -2
  183. package/dist/esm/nano-spinner.entry.js +1 -1
  184. package/dist/esm/nano-split-pane.entry.js +2 -2
  185. package/dist/esm/nano-sticker.entry.js +4 -4
  186. package/dist/esm/nano-tab-content.entry.js +2 -2
  187. package/dist/esm/nano-tab-group.entry.js +5 -5
  188. package/dist/esm/nano-tab.entry.js +2 -2
  189. package/dist/esm/nano-table.entry.js +2 -2
  190. package/dist/esm/{page-dots-e1Gyk8V7.js → page-dots-gxG3_NaA.js} +3 -3
  191. package/dist/esm/{renderer-BUaAsDso.js → renderer-ZmozgREV.js} +1 -1
  192. package/dist/esm/{scroll-iCYjzh9N.js → scroll-D4n69pGx.js} +1 -1
  193. package/dist/esm/{slot-Db9r1aLM.js → slot-CjAtXEOo.js} +1 -1
  194. package/dist/esm/{tabbable-C4l-rYq9.js → tabbable-CZtanbA9.js} +1 -1
  195. package/dist/esm/{table.worker-DlLhvqK5.js → table.worker-Dcaz5STw.js} +6 -6
  196. package/dist/nano-components/{algolia-data-D6wnbV__.js → algolia-data-B1lm-wYl.js} +1 -1
  197. package/dist/nano-components/app-globals-CWIH620u.js +4 -0
  198. package/dist/nano-components/{component-store-CH5BI3Tg.js → component-store-DMqr8_D3.js} +1 -1
  199. package/dist/nano-components/{dom-Cb7FUtXp.js → dom-COiksOVZ.js} +1 -1
  200. package/dist/nano-components/{fade-C74M8NQp.js → fade-BR_L2aBv.js} +1 -1
  201. package/dist/nano-components/{form-control-BOVGZF9R.js → form-control-dh9YtDPa.js} +1 -1
  202. package/dist/nano-components/{fullscreen-CmJdWdrB.js → fullscreen-ChzUqF71.js} +1 -1
  203. package/dist/nano-components/index-CX_Hk6ss.js +5 -0
  204. package/dist/nano-components/{index-Dw3NZx59.js → index-VZJF9v1K.js} +1 -1
  205. package/dist/nano-components/index.esm.js +1 -1
  206. package/dist/nano-components/{lazyload-BPqjfQB3.js → lazyload-IYX4l8Tu.js} +1 -1
  207. package/dist/nano-components/{modal-B_AxJQQp.js → modal-CH7Vma1I.js} +1 -1
  208. package/dist/nano-components/nano-accordion.entry.js +1 -1
  209. package/dist/nano-components/nano-alert.entry.js +1 -1
  210. package/dist/nano-components/nano-algolia-filter.entry.js +1 -1
  211. package/dist/nano-components/nano-algolia-pagination.entry.js +1 -1
  212. package/dist/nano-components/nano-algolia-results.entry.js +1 -1
  213. package/dist/nano-components/nano-algolia.entry.js +1 -1
  214. package/dist/nano-components/nano-animation.entry.js +1 -1
  215. package/dist/nano-components/nano-avatar_5.entry.js +1 -1
  216. package/dist/nano-components/nano-breadcrumb.entry.js +1 -1
  217. package/dist/nano-components/nano-card-carousel.entry.js +1 -1
  218. package/dist/nano-components/nano-card.entry.js +1 -1
  219. package/dist/nano-components/nano-checkbox-group.entry.js +1 -1
  220. package/dist/nano-components/nano-checkbox.entry.js +1 -1
  221. package/dist/nano-components/nano-collapsible-comparison.entry.js +1 -1
  222. package/dist/nano-components/nano-components.css +119 -17
  223. package/dist/nano-components/nano-components.esm.js +1 -1
  224. package/dist/nano-components/nano-content-links.entry.js +1 -1
  225. package/dist/nano-components/nano-cta.entry.js +1 -1
  226. package/dist/nano-components/nano-data-table-EkTqZy8O.js +4 -0
  227. package/dist/nano-components/nano-data-table.entry.js +1 -1
  228. package/dist/nano-components/nano-datalist_3.entry.js +1 -1
  229. package/dist/nano-components/nano-date-input.entry.js +1 -1
  230. package/dist/nano-components/nano-date-picker_2.entry.js +1 -1
  231. package/dist/nano-components/nano-details.entry.js +1 -1
  232. package/dist/nano-components/nano-dialog.entry.js +1 -1
  233. package/dist/nano-components/nano-dropdown_2.entry.js +1 -1
  234. package/dist/nano-components/nano-feature-box.entry.js +4 -0
  235. package/dist/nano-components/nano-field-validator.entry.js +1 -1
  236. package/dist/nano-components/nano-file-upload.entry.js +1 -1
  237. package/dist/nano-components/nano-footer.entry.js +1 -1
  238. package/dist/nano-components/nano-global-nav.entry.js +1 -1
  239. package/dist/nano-components/nano-grid-item.entry.js +1 -1
  240. package/dist/nano-components/nano-grid_2.entry.js +1 -1
  241. package/dist/nano-components/nano-hero.entry.js +1 -1
  242. package/dist/nano-components/nano-icon-item.entry.js +1 -1
  243. package/dist/nano-components/nano-icon_3.entry.js +1 -1
  244. package/dist/nano-components/nano-in-page-nav.entry.js +1 -1
  245. package/dist/nano-components/nano-intersection-observe.entry.js +1 -1
  246. package/dist/nano-components/nano-masked-overflow.entry.js +1 -1
  247. package/dist/nano-components/nano-menu-drawer.entry.js +1 -1
  248. package/dist/nano-components/nano-more-less.entry.js +1 -1
  249. package/dist/nano-components/nano-nav-item.entry.js +1 -1
  250. package/dist/nano-components/nano-progress-bar.entry.js +1 -1
  251. package/dist/nano-components/nano-range.entry.js +1 -1
  252. package/dist/nano-components/nano-rating.entry.js +1 -1
  253. package/dist/nano-components/nano-resize-observe.entry.js +1 -1
  254. package/dist/nano-components/nano-slide.entry.js +1 -1
  255. package/dist/nano-components/{nano-slides-Bv0u7kg0.js → nano-slides-DL3S1wHE.js} +4 -4
  256. package/dist/nano-components/nano-slides.entry.js +1 -1
  257. package/dist/nano-components/nano-sortable.entry.js +1 -1
  258. package/dist/nano-components/nano-spinner.entry.js +1 -1
  259. package/dist/nano-components/nano-split-pane.entry.js +1 -1
  260. package/dist/nano-components/nano-sticker.entry.js +1 -1
  261. package/dist/nano-components/nano-tab-content.entry.js +1 -1
  262. package/dist/nano-components/nano-tab-group.entry.js +1 -1
  263. package/dist/nano-components/nano-tab.entry.js +1 -1
  264. package/dist/nano-components/nano-table.entry.js +1 -1
  265. package/dist/nano-components/{page-dots-e1Gyk8V7.js → page-dots-gxG3_NaA.js} +1 -1
  266. package/dist/nano-components/{renderer-BUaAsDso.js → renderer-ZmozgREV.js} +1 -1
  267. package/dist/nano-components/{scroll-iCYjzh9N.js → scroll-D4n69pGx.js} +1 -1
  268. package/dist/nano-components/{slot-Db9r1aLM.js → slot-CjAtXEOo.js} +1 -1
  269. package/dist/nano-components/{tabbable-C4l-rYq9.js → tabbable-CZtanbA9.js} +1 -1
  270. package/dist/nano-components/{table.worker-DlLhvqK5.js → table.worker-Dcaz5STw.js} +1 -1
  271. package/dist/style/components.css +1 -1
  272. package/dist/style/components.css.map +1 -1
  273. package/dist/style/nano.css +1 -1
  274. package/dist/style/nano.css.map +1 -1
  275. package/dist/types/components/card/card.d.ts +1 -0
  276. package/dist/types/components/date-picker/date-picker-interface.d.ts +6 -6
  277. package/dist/types/components/feature-box/feature-box.d.ts +14 -0
  278. package/dist/types/components/slides/slides-interface.d.ts +1 -1
  279. package/dist/types/components.d.ts +47 -0
  280. package/docs-json.json +116 -3
  281. package/docs-vscode.json +21 -0
  282. package/hydrate/index.js +163 -125
  283. package/hydrate/index.mjs +163 -125
  284. package/package.json +2 -2
  285. package/dist/nano-components/index-DXvE-U_j.js +0 -5
  286. package/dist/nano-components/nano-data-table-BPQhfLyq.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import{r as o,c as a,a as i,d as t}from"./index-DXvE-U_j.js";import{h as e}from"./renderer-BUaAsDso.js";import{M as n}from"./modal-B_AxJQQp.js";import{l as s,u as r}from"./scroll-iCYjzh9N.js";import{H as d}from"./slot-Db9r1aLM.js";import{C as l}from"./component-store-CH5BI3Tg.js";import{g as h}from"./tabbable-C4l-rYq9.js";import"./dom-Cb7FUtXp.js";import"./throttle-C93FMm2Z.js";let c=0;const f=class{constructor(i){o(this,i),this.nanoShow=a(this,"nanoShow",7),this.nanoAfterShow=a(this,"nanoAfterShow",7),this.nanoHide=a(this,"nanoHide",7),this.nanoAfterHide=a(this,"nanoAfterHide",7),this.nanoInitialFocus=a(this,"nanoInitialFocus",7),this.nanoRequestClose=a(this,"nanoRequestClose",7)}componentId="dialog-"+ ++c;modal;willShow=!1;willHide=!1;originalTrigger;overlay;dialog;slotCtrl=new d(this,"footer");get panel(){return this._panel}set panel(o){this._panel&&this.panel.removeEventListener("transitionend",this.handleTransitionEnd),o.addEventListener("transitionend",this.handleTransitionEnd),this._panel=o}_panel;get host(){return i(this)}noDismiss=!1;hidden=!0;showRibbon=!0;open=!1;handleOpenChange(){this.open?this.show():this.hide()}label;noHeader=!1;noUserDismiss=!1;storeId;storeMethod="url-hash";hoist=!1;handleHoistChange(){"popover"in globalThis.HTMLElement.prototype||!this.hoist||Array.from(document.body.children).includes(this.host)||document.body.prepend(this.host)}nanoShow;nanoAfterShow;nanoHide;nanoAfterHide;nanoInitialFocus;nanoRequestClose;async show(){if(this.willShow)return;if(this.nanoShow.emit().defaultPrevented)return void(this.open=!1);this.dialog&&(this.dialog.hidden=!1),this.originalTrigger=document.activeElement,this.willShow=!0,this.hidden=!1,this.open=!0,this.modal.activate(),"function"==typeof this.dialog?.showPopover&&this.dialog.showPopover(),s(this.host);const o=this.host.querySelector("[autofocus]");o&&o.removeAttribute("autofocus"),this.host.addEventListener("nanoAfterShow",(()=>{this.nanoInitialFocus.emit().defaultPrevented||(o||h(this.host,!0,!0,!0)[0]||this.panel).focus({preventScroll:!0})}),{once:!0})}async hide(){if(this.willHide)return;if(this.nanoHide.emit().defaultPrevented)return void(this.open=!0);this.willHide=!0,this.open=!1,this.modal.deactivate(),this.stopVideos();const o=this.originalTrigger;o&&(o.setFocus&&"function"==typeof o.setFocus?o.setFocus():o.focus()),setTimeout((()=>{this.open||"function"!=typeof this.dialog?.hidePopover||this.dialog.hidePopover(),r(this.host)}),300)}handleKeyDown=o=>{"Escape"===o.key&&this.requestClose()};requestClose=()=>{this.nanoRequestClose.emit().defaultPrevented||this.noUserDismiss?(this.noDismiss=!0,setTimeout((()=>this.noDismiss=!1),250)):this.hide()};handleTransitionEnd=o=>{"opacity"===o.propertyName&&o.composedPath().find((o=>o===this.panel||o===this.overlay))&&(this.willShow=!1,this.willHide=!1,this.open?this.nanoAfterShow.emit():this.nanoAfterHide.emit(),this.open||(this.dialog.hidden=!0,this.hidden=!0))};stopVideos(){Array.from(this.host.querySelectorAll("iframe,video")).forEach((o=>{"video"===o.tagName.toLowerCase()?o.pause():o.src=o.src}))}connectedCallback(){this.handleHoistChange(),this.modal=new n(this.host)}componentWillLoad(){this.storeId&&l.init(this,["open"],this.storeMethod,this.storeId)}componentDidLoad(){this.dialog.hidden=!this.open,this.open&&(this.show(),this.nanoAfterShow.emit())}disconnectedCallback(){r(this.host),this.panel&&this.panel.removeEventListener("transitionend",this.handleTransitionEnd)}render(){return e(t,{key:"40e8bc877fd5b34bbc02b9ab28a331d6bf81415a",class:"nano-dialog"},e("div",{key:"3d8c4f2b68831a42039e597d532e2efe680082df",part:"base",class:{dialog:!0,"dialog--open":this.open,"dialog--has-footer":this.slotCtrl.has("footer"),"dialog--has-header":!this.noHeader,"dialog--nodismiss":this.noDismiss,"dialog--with-ribbon":this.showRibbon},onKeyDown:this.handleKeyDown,ref:o=>this.dialog=o,popover:"manual"},e("div",{key:"48ec09fb5c08830fd9f4f54e528ce47d16dcf60e",part:"overlay",class:"dialog__overlay",ref:o=>this.overlay=o,onClick:this.requestClose}),e("div",{key:"9b28aef25fc3054e329e87293e1f24b1f7bd4f63",ref:o=>this.panel=o,part:"panel",class:"dialog__panel",role:"dialog","aria-modal":"true","aria-hidden":this.hidden?"true":"false","aria-label":this.noHeader?this.label:null,"aria-labelledby":this.noHeader?null:`${this.componentId}-title`,tabIndex:-1},e("div",{key:"a25853d8c1d11e52235d6d9300cc39e529b3306f",class:"dialog__body-wrap"},!this.noHeader&&e("nano-sticker",{key:"111ee49da4468e834046ecef442873d7956a9a8f"},e("header",{key:"5f40b8920bd3b7ddac34d08593752cdc58a64f4f",part:"header",class:"dialog__header"},e("span",{key:"2f35793fb4c9009db7321c27feed4448c5a67ada",part:"title",class:"dialog__title",id:`${this.componentId}-title`},e("slot",{key:"0b5de133cf8f63237cccafb96fbe635c82bdf8fb",name:"label"},this.label||String.fromCharCode(65279))),!this.noUserDismiss&&e("nano-icon-button",{key:"d517fbc641ba1e35040f08e1ba53b56d2e2f1fcd",part:"close-button",exportparts:"base:close-button__base",class:"dialog__close-icon",label:"close dialog",onClick:this.requestClose,iconName:"light/xmark"}))),e("div",{key:"d09658d8fa0c306068e4ccf77dbae233e345a648",part:"body",class:"dialog__body"},e("slot",{key:"46ef0d9c1ca1a136e15baa859a19b7e46e467d3c"})),this.slotCtrl.has("footer")&&e("nano-sticker",{key:"86dc8c994c6e3d3f7677ce9c032a3a1b9433a5e3",position:"bottom"},e("footer",{key:"6876b4a53b64469170ee81c6d442e217c844596f",part:"footer",class:"dialog__footer"},e("slot",{key:"faff1e531b53fc1895ade69bcdf8360ceedfa619",name:"footer"})))))))}static get watchers(){return{open:["handleOpenChange"],hoist:["handleHoistChange"]}}};f.style=":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{--border-radius:0;--content-background:var(--nano-color-neutral-75);--footer-content:var(--nano-color-neutral-75);--scrim-color:var(--nano-overlay-background-color);--box-shadow:var(--nano-shadow-l3);--close-button-color:var(--nano-color-primary-1200);--width:50rem;--height:auto;--body-padding-v:var(--nano-spacing-l1-default);--body-padding-h:var(--nano-spacing-l1-default);--header-padding-v:var(--nano-spacing-l);--header-padding-h:var(--nano-spacing-l1-default);--footer-padding-v:var(--nano-spacing-l);--footer-padding-h:var(--nano-spacing-l1-default)}.dialog{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;z-index:var(--nano-z-index-modal);border:none;inline-size:unset;block-size:unset;color:unset;background-color:unset}.dialog::backdrop{display:none}.dialog__panel{display:flex;flex-direction:column;z-index:2;inline-size:var(--width);block-size:var(--height);max-inline-size:calc(100% - (var(--nano-spacing-xl) + var(--nano-scroll-lock-size)));max-block-size:calc(92vh - var(--nano-spacing-xl));background-color:var(--content-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);opacity:0;transform:scale(0.8);transition:var(--nano-transition-fast) opacity, var(--nano-transition-fast) transform}.dialog__panel:focus{outline:none}.dialog--open .dialog__panel{display:flex;opacity:1;transform:none}.dialog--nodismiss .dialog__panel{animation:cannotClose 0.25s ease-in-out 1}@keyframes cannotClose{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}.dialog__header{flex:0 0 auto;display:flex;inline-size:100%;background-color:var(--content-background);border-radius:var(--border-radius) var(--border-radius) 0 0;transition:var(--nano-transition-x-fast) box-shadow;min-inline-size:auto;padding-block:var(--header-padding-v);padding-inline:var(--header-padding-h)}[stuck] .dialog__header{box-shadow:var(--nano-shadow-l0)}.dialog__title{flex:1 1 auto;font-weight:var(--nano-font-weight-normal);font-size:var(--nano-font-size-xl);line-height:var(--nano-line-height-denser)}.dialog__close-icon{flex:0 0 auto;display:flex;align-items:center;font-size:1.375rem;position:relative;inset-inline-end:calc(var(--nano-spacing-l1-default) / 2 * -1);--color:var(--close-button-color)}.dialog__body-wrap{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--border-radius)}.dialog:not(.dialog--has-header) .dialog__body-wrap{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:inherit;border-end-end-radius:inherit}.dialog:not(.dialog--has-footer) .dialog__body-wrap{border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-start-radius:0;border-end-end-radius:0}.dialog__body{padding-block:0 var(--body-padding-v);padding-inline:var(--body-padding-h)}.dialog:not(.dialog--has-header) .dialog__body{padding-block-start:var(--body-padding-v)}.dialog__body ::slotted(*){max-inline-size:100%}.dialog__footer{inline-size:100%;padding-block:var(--footer-padding-v);padding-inline:var(--footer-padding-h);background:var(--footer-content);border-radius:0 0 var(--border-radius) var(--border-radius);position:relative;inset-block-start:1px;min-inline-size:auto;border-block-start:1px solid var(--nano-color-neutral-300);gap:var(--nano-spacing-md);display:inline-flex}.dialog:not(.dialog--has-footer) .dialog__footer{display:none}.dialog__overlay{position:fixed;inset:0 !important;background-color:var(--scrim-color);opacity:0;transition:var(--nano-transition-fast) opacity}.dialog--open .dialog__overlay{opacity:1}";export{f as nano_dialog}
4
+ import{r as o,c as a,g as i,a as t}from"./index-CX_Hk6ss.js";import{h as e}from"./renderer-ZmozgREV.js";import{M as n}from"./modal-CH7Vma1I.js";import{l as s,u as r}from"./scroll-D4n69pGx.js";import{H as d}from"./slot-CjAtXEOo.js";import{C as l}from"./component-store-DMqr8_D3.js";import{g as h}from"./tabbable-CZtanbA9.js";import"./dom-COiksOVZ.js";import"./throttle-C93FMm2Z.js";let c=0;const f=class{constructor(i){o(this,i),this.nanoShow=a(this,"nanoShow",7),this.nanoAfterShow=a(this,"nanoAfterShow",7),this.nanoHide=a(this,"nanoHide",7),this.nanoAfterHide=a(this,"nanoAfterHide",7),this.nanoInitialFocus=a(this,"nanoInitialFocus",7),this.nanoRequestClose=a(this,"nanoRequestClose",7)}componentId="dialog-"+ ++c;modal;willShow=!1;willHide=!1;originalTrigger;overlay;dialog;slotCtrl=new d(this,"footer");get panel(){return this._panel}set panel(o){this._panel&&this.panel.removeEventListener("transitionend",this.handleTransitionEnd),o.addEventListener("transitionend",this.handleTransitionEnd),this._panel=o}_panel;get host(){return i(this)}noDismiss=!1;hidden=!0;showRibbon=!0;open=!1;handleOpenChange(){this.open?this.show():this.hide()}label;noHeader=!1;noUserDismiss=!1;storeId;storeMethod="url-hash";hoist=!1;handleHoistChange(){"popover"in globalThis.HTMLElement.prototype||!this.hoist||Array.from(document.body.children).includes(this.host)||document.body.prepend(this.host)}nanoShow;nanoAfterShow;nanoHide;nanoAfterHide;nanoInitialFocus;nanoRequestClose;async show(){if(this.willShow)return;if(this.nanoShow.emit().defaultPrevented)return void(this.open=!1);this.dialog&&(this.dialog.hidden=!1),this.originalTrigger=document.activeElement,this.willShow=!0,this.hidden=!1,this.open=!0,this.modal.activate(),"function"==typeof this.dialog?.showPopover&&this.dialog.showPopover(),s(this.host);const o=this.host.querySelector("[autofocus]");o&&o.removeAttribute("autofocus"),this.host.addEventListener("nanoAfterShow",(()=>{this.nanoInitialFocus.emit().defaultPrevented||(o||h(this.host,!0,!0,!0)[0]||this.panel).focus({preventScroll:!0})}),{once:!0})}async hide(){if(this.willHide)return;if(this.nanoHide.emit().defaultPrevented)return void(this.open=!0);this.willHide=!0,this.open=!1,this.modal.deactivate(),this.stopVideos();const o=this.originalTrigger;o&&(o.setFocus&&"function"==typeof o.setFocus?o.setFocus():o.focus()),setTimeout((()=>{this.open||"function"!=typeof this.dialog?.hidePopover||this.dialog.hidePopover(),r(this.host)}),300)}handleKeyDown=o=>{"Escape"===o.key&&this.requestClose()};requestClose=()=>{this.nanoRequestClose.emit().defaultPrevented||this.noUserDismiss?(this.noDismiss=!0,setTimeout((()=>this.noDismiss=!1),250)):this.hide()};handleTransitionEnd=o=>{"opacity"===o.propertyName&&o.composedPath().find((o=>o===this.panel||o===this.overlay))&&(this.willShow=!1,this.willHide=!1,this.open?this.nanoAfterShow.emit():this.nanoAfterHide.emit(),this.open||(this.dialog.hidden=!0,this.hidden=!0))};stopVideos(){Array.from(this.host.querySelectorAll("iframe,video")).forEach((o=>{"video"===o.tagName.toLowerCase()?o.pause():o.src=o.src}))}connectedCallback(){this.handleHoistChange(),this.modal=new n(this.host)}componentWillLoad(){this.storeId&&l.init(this,["open"],this.storeMethod,this.storeId)}componentDidLoad(){this.dialog.hidden=!this.open,this.open&&(this.show(),this.nanoAfterShow.emit())}disconnectedCallback(){r(this.host),this.panel&&this.panel.removeEventListener("transitionend",this.handleTransitionEnd)}render(){return e(t,{key:"40e8bc877fd5b34bbc02b9ab28a331d6bf81415a",class:"nano-dialog"},e("div",{key:"3d8c4f2b68831a42039e597d532e2efe680082df",part:"base",class:{dialog:!0,"dialog--open":this.open,"dialog--has-footer":this.slotCtrl.has("footer"),"dialog--has-header":!this.noHeader,"dialog--nodismiss":this.noDismiss,"dialog--with-ribbon":this.showRibbon},onKeyDown:this.handleKeyDown,ref:o=>this.dialog=o,popover:"manual"},e("div",{key:"48ec09fb5c08830fd9f4f54e528ce47d16dcf60e",part:"overlay",class:"dialog__overlay",ref:o=>this.overlay=o,onClick:this.requestClose}),e("div",{key:"9b28aef25fc3054e329e87293e1f24b1f7bd4f63",ref:o=>this.panel=o,part:"panel",class:"dialog__panel",role:"dialog","aria-modal":"true","aria-hidden":this.hidden?"true":"false","aria-label":this.noHeader?this.label:null,"aria-labelledby":this.noHeader?null:`${this.componentId}-title`,tabIndex:-1},e("div",{key:"a25853d8c1d11e52235d6d9300cc39e529b3306f",class:"dialog__body-wrap"},!this.noHeader&&e("nano-sticker",{key:"111ee49da4468e834046ecef442873d7956a9a8f"},e("header",{key:"5f40b8920bd3b7ddac34d08593752cdc58a64f4f",part:"header",class:"dialog__header"},e("span",{key:"2f35793fb4c9009db7321c27feed4448c5a67ada",part:"title",class:"dialog__title",id:`${this.componentId}-title`},e("slot",{key:"0b5de133cf8f63237cccafb96fbe635c82bdf8fb",name:"label"},this.label||String.fromCharCode(65279))),!this.noUserDismiss&&e("nano-icon-button",{key:"d517fbc641ba1e35040f08e1ba53b56d2e2f1fcd",part:"close-button",exportparts:"base:close-button__base",class:"dialog__close-icon",label:"close dialog",onClick:this.requestClose,iconName:"light/xmark"}))),e("div",{key:"d09658d8fa0c306068e4ccf77dbae233e345a648",part:"body",class:"dialog__body"},e("slot",{key:"46ef0d9c1ca1a136e15baa859a19b7e46e467d3c"})),this.slotCtrl.has("footer")&&e("nano-sticker",{key:"86dc8c994c6e3d3f7677ce9c032a3a1b9433a5e3",position:"bottom"},e("footer",{key:"6876b4a53b64469170ee81c6d442e217c844596f",part:"footer",class:"dialog__footer"},e("slot",{key:"faff1e531b53fc1895ade69bcdf8360ceedfa619",name:"footer"})))))))}static get watchers(){return{open:["handleOpenChange"],hoist:["handleHoistChange"]}}};f.style=":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{--border-radius:0;--content-background:var(--nano-color-neutral-75);--footer-content:var(--nano-color-neutral-75);--scrim-color:var(--nano-overlay-background-color);--box-shadow:var(--nano-shadow-l3);--close-button-color:var(--nano-color-primary-1200);--width:50rem;--height:auto;--body-padding-v:var(--nano-spacing-l1-default);--body-padding-h:var(--nano-spacing-l1-default);--header-padding-v:var(--nano-spacing-l);--header-padding-h:var(--nano-spacing-l1-default);--footer-padding-v:var(--nano-spacing-l);--footer-padding-h:var(--nano-spacing-l1-default)}.dialog{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;z-index:var(--nano-z-index-modal);border:none;inline-size:unset;block-size:unset;color:unset;background-color:unset}.dialog::backdrop{display:none}.dialog__panel{display:flex;flex-direction:column;z-index:2;inline-size:var(--width);block-size:var(--height);max-inline-size:calc(100% - (var(--nano-spacing-xl) + var(--nano-scroll-lock-size)));max-block-size:calc(92vh - var(--nano-spacing-xl));background-color:var(--content-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);opacity:0;transform:scale(0.8);transition:var(--nano-transition-fast) opacity, var(--nano-transition-fast) transform}.dialog__panel:focus{outline:none}.dialog--open .dialog__panel{display:flex;opacity:1;transform:none}.dialog--nodismiss .dialog__panel{animation:cannotClose 0.25s ease-in-out 1}@keyframes cannotClose{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}.dialog__header{flex:0 0 auto;display:flex;inline-size:100%;background-color:var(--content-background);border-radius:var(--border-radius) var(--border-radius) 0 0;transition:var(--nano-transition-x-fast) box-shadow;min-inline-size:auto;padding-block:var(--header-padding-v);padding-inline:var(--header-padding-h)}[stuck] .dialog__header{box-shadow:var(--nano-shadow-l0)}.dialog__title{flex:1 1 auto;font-weight:var(--nano-font-weight-normal);font-size:var(--nano-font-size-xl);line-height:var(--nano-line-height-denser)}.dialog__close-icon{flex:0 0 auto;display:flex;align-items:center;font-size:1.375rem;position:relative;inset-inline-end:calc(var(--nano-spacing-l1-default) / 2 * -1);--color:var(--close-button-color)}.dialog__body-wrap{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--border-radius)}.dialog:not(.dialog--has-header) .dialog__body-wrap{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:inherit;border-end-end-radius:inherit}.dialog:not(.dialog--has-footer) .dialog__body-wrap{border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-start-radius:0;border-end-end-radius:0}.dialog__body{padding-block:0 var(--body-padding-v);padding-inline:var(--body-padding-h)}.dialog:not(.dialog--has-header) .dialog__body{padding-block-start:var(--body-padding-v)}.dialog__body ::slotted(*){max-inline-size:100%}.dialog__footer{inline-size:100%;padding-block:var(--footer-padding-v);padding-inline:var(--footer-padding-h);background:var(--footer-content);border-radius:0 0 var(--border-radius) var(--border-radius);position:relative;inset-block-start:1px;min-inline-size:auto;border-block-start:1px solid var(--nano-color-neutral-300);gap:var(--nano-spacing-md);display:inline-flex}.dialog:not(.dialog--has-footer) .dialog__footer{display:none}.dialog__overlay{position:fixed;inset:0 !important;background-color:var(--scrim-color);opacity:0;transition:var(--nano-transition-fast) opacity}.dialog--open .dialog__overlay{opacity:1}";export{f as nano_dialog}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import{r as t,c as i,a as o,d as e}from"./index-DXvE-U_j.js";import{f as n,g as s}from"./active-element-C1pBwzyj.js";import{P as a}from"./popover-D1cBIHdr.js";import{a as r,g as h}from"./tabbable-C4l-rYq9.js";import{t as d,h as l}from"./renderer-BUaAsDso.js";import{g as p}from"./dom-Cb7FUtXp.js";import{g as c}from"./slot-Db9r1aLM.js";let m=0;const u=class{constructor(o){t(this,o),this.nanoShow=i(this,"nanoShow",7),this.nanoAfterShow=i(this,"nanoAfterShow",7),this.nanoHide=i(this,"nanoHide",7),this.nanoAfterHide=i(this,"nanoAfterHide",7)}dropdownId="dropdown-"+m++;labelId=this.dropdownId+"-title";ignoreOpenWatcher=!1;panel;popover;trigger;positioner;accessibleTrigger;didLoad=!1;focusFirstEle=!0;get menu(){return this.host.querySelector(d("nano-menu"))}get host(){return o(this)}autoOpen=!0;open=!1;handleOpenChange(){this.ignoreOpenWatcher||(this.open?this.show():this.hide(),this.accessibleTrigger?this.accessibleTrigger.setAttribute("aria-expanded",this.open.toString()):this.updateAccessibleTrigger())}closeOnSelect=!0;containingElement;tetherTo=null;handleTetherToChange(){this.createPopover(),this.updateAccessibleTrigger()}placement="bottom-start";distance=5;skidding=0;hoist=!1;handlePopoverOptionsChange(){this.popover&&this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,skidding:this.skidding,distance:this.distance})}dialogTitle;nanoShow;nanoAfterShow;nanoHide;nanoAfterHide;eventType;secondaryOpen(t){t.detail.secondaryMenu&&(t.stopPropagation(),this.panel.classList.add("loading"),this.panel.addEventListener("transitionend",(()=>{this.panel.classList.remove("loading")}),{once:!0}),this.panel.style.minHeight=t.detail.secondaryMenu.scrollHeight+"px")}secondaryClose(t){t.detail.secondaryMenu&&(t.stopPropagation(),t.target.parentElement&&(this.panel.style.minHeight=t.target.parentElement.scrollHeight+"px"))}handlePanelSelect(t){this.closeOnSelect&&t.target.tagName.toLowerCase()===d("nano-menu")&&this.hide()}async show(){if(this.ignoreOpenWatcher=!0,this.open=!0,this.nanoShow.emit().defaultPrevented)return this.open=!1,void(this.ignoreOpenWatcher=!1);"function"==typeof this.positioner?.showPopover?(this.hoist=!0,this.popover.show(),this.positioner.showPopover()):this.popover.show(),this.ignoreOpenWatcher=!1,document.addEventListener("mousedown",this.handleDocumentMouseDown),document.addEventListener("keydown",this.handleDocumentKeyDown)}async hide(){if(this.ignoreOpenWatcher=!0,this.open=!1,this.nanoHide.emit().defaultPrevented)return this.open=!0,void(this.ignoreOpenWatcher=!1);this.popover&&this.popover.hide(),this.ignoreOpenWatcher=!1,document.removeEventListener("mousedown",this.handleDocumentMouseDown),document.removeEventListener("keydown",this.handleDocumentKeyDown)}afterHide(){"function"==typeof this.positioner?.hidePopover&&this.positioner.hidePopover(),this.panel.scrollTop=0,this.accessibleTrigger&&n(this.containingElement,this.trigger)&&this.accessibleTrigger.focus()}togglePanel=()=>{this.autoOpen&&(this.open?this.hide():this.show())};updateAccessibleTrigger(){if(!this.didLoad)return;let t;this.accessibleTrigger=null,t=this.tetherTo?r(this.tetherTo):Array.from(this.host.querySelectorAll('[slot="trigger"]')).map(r)[0],t&&!t.getAttribute("aria-haspopup")&&(t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded",this.open?"true":"false"),this.accessibleTrigger=t)}handleDocumentKeyDown(t){if("Escape"!==t.key)if("Tab"===t.key)setTimeout((()=>{n(this.containingElement,this.trigger)||this.hide()}));else{if(this.menu&&(this.placement.match(/bottom|top/)&&["ArrowDown","ArrowUp"," "].includes(t.key)||this.placement.match(/right|left/)&&["ArrowRight","ArrowLeft"," "].includes(t.key)))return!this.open||n(this.containingElement,this.trigger,t)?"NANO-DROPDOWN"===this.containingElement.tagName&&this.containingElement.placement.match(/right|left/)&&"NANO-DROPDOWN"===this.trigger.getRootNode()?.host?.tagName?void this.hide():void 0:(t.preventDefault(),this.menu.setFocus(),void(this.focusFirstEle=!0));const i=t.composedPath();if(this.menu&&i.length&&!i.find((t=>t!==this.menu)))return void this.menu.dispatchEvent(new KeyboardEvent(t.type,t))}else this.hide()}handleDocumentMouseDown(t){n(this.containingElement,this.trigger,t)||this.hide()}handleTriggerKeyDown=t=>{(this.placement.match(/bottom|top/)&&["ArrowDown","ArrowUp"," ","Enter"].includes(t.key)||this.placement.match(/right|left/)&&["ArrowRight","ArrowLeft"," ","Enter"].includes(t.key))&&(this.show(),t.preventDefault(),t.stopPropagation(),this.menu&&(this.menu.setFocus(),this.focusFirstEle=!0))};handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()};createPopover(){(this.tetherTo||this.trigger)&&this.positioner&&(this.popover&&(this.open&&this.hide(),this.popover.destroy(),this.popover=null),this.popover=new a(this.tetherTo||this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.nanoAfterHide.emit(),onAfterShow:()=>this.nanoAfterShow.emit(),onTransitionEnd:()=>{this.open?this.menu&&(this.menu.showActiveElement(),this.focusFirstEle&&(this.menu.setFocus(),this.focusFirstEle=!1)):this.afterHide()}}),this.open&&this.show())}connectedCallback(){this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.containingElement||(this.containingElement=this.host)}componentDidLoad(){this.didLoad=!0,this.createPopover(),setTimeout((()=>this.updateAccessibleTrigger()),100)}disconnectedCallback(){this.host.isConnected&&this.hide(),this.popover&&this.popover.destroy()}render(){return l(e,{key:"dd4615946390485d5ad05ff0fbf3714474c38b9b",class:"nano-dropdown"},l("div",{key:"9a60642705315c41efaad525f087397b458caf2a",part:"base",id:this.dropdownId,class:{dropdown:!0,"dropdown--open":this.open}},l("span",{key:"861f59e5d50c956d53ce75d16ca5430bfb339d26",part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onKeyDown:this.handleTriggerKeyDown,onClick:this.togglePanel},l("slot",{key:"55e3a353ffd07ca586468bbc213d415484e4427f",name:"trigger",onSlotchange:this.handleTriggerSlotChange})),l("div",{key:"3ac2f6fde7117cf7421ac53e1786c4da59fd4e6c",ref:t=>this.positioner=t,class:"dropdown__positioner",popover:"manual",id:this.dropdownId+"-positioner"},l("div",{key:"ff5d8d1248c1434aad2c8f042f208ff3d418f1a4",ref:t=>this.panel=t,part:"panel",class:`dropdown__panel ${this.placement.split("-").join(" ")}`,"aria-hidden":!this.open,role:"group"===this.host.getAttribute("role")?"group":"dialog","aria-modal":"group"===this.host.getAttribute("role")?void 0:"true","aria-labelledby":this.dialogTitle?this.labelId:void 0},this.dialogTitle&&l("span",{key:"e71c3b8e09d6b8cf359470872a70da8794a221db",id:this.labelId,class:"dropdown__accessible-title","aria-live":"group"===this.host.getAttribute("role")?void 0:"polite"},this.dialogTitle),l("slot",{key:"a9349e44064f7bbd4b32b3658c203575fe39c804"})))))}static get watchers(){return{open:["handleOpenChange"],tetherTo:["handleTetherToChange"],placement:["handlePopoverOptionsChange"],distance:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"]}}};u.style=":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{--width:auto;--border:none;--border-radius:0px;--background:var(--nano-color-neutral-75);--padding:var(--nano-spacing-sm) 0;--overflow:auto;--dropdown-z-index:var(--nano-z-index-dropdown);--min-width:0;--max-height:none;--box-shadow:var(--nano-shadow-l1);--menu-height:calc(100vh - 200px);display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--dropdown-z-index);min-inline-size:var(--min-width);border:0;background:none;padding:0;overflow:visible;color:unset}.dropdown__positioner::backdrop{display:none}.dropdown__positioner[popover],.dropdown__positioner:popover-open{inset:unset}@media (width <= 35.9375em){.dropdown__positioner{z-index:100}}.dropdown__panel{padding:var(--padding);background:var(--background);min-inline-size:var(--min-width);inline-size:var(--width);border:var(--border);border-radius:var(--border-radius);color:currentcolor;box-shadow:var(--box-shadow);opacity:0;transition:var(--nano-transition-x-fast) ease opacity, var(--nano-transition-x-fast) ease transform, var(--nano-transition-fast) ease min-block-size;min-block-size:20px;overflow:var(--overflow);max-block-size:var(--max-height);box-sizing:content-box !important}.dropdown__panel.loading{overflow-y:hidden}.dropdown__panel.top{transform:translateY(-20px) translateZ(0)}.dropdown__panel.bottom{transform:translateY(20px) translateZ(0)}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:translateY(0) translateZ(0)}.dropdown__panel ::slotted(.nano-menu){max-block-size:var(--menu-height)}.dropdown__accessible-title{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}";const f=class{constructor(o){t(this,o),this.nanoFocus=i(this,"nanoFocus",7),this.nanoBlur=i(this,"nanoBlur",7),this.nanoSelect=i(this,"nanoSelect",7)}ignoreMouseEvents=!1;ignoreMouseTimeout;menu;typeToSelect="";typeToSelectTimeout;get el(){return o(this)}get hasFocus(){return this._hasFocus}_hasFocus=!1;type;_type;label;nanoFocus;nanoBlur;nanoSelect;async setFocus(){this.menu?.focus&&this.menu.focus({preventScroll:!0})}async removeFocus(){this.menu?.blur&&this.menu.blur()}async showActiveElement(){this.selectedItem&&this.selectedItem.scrollIntoView({block:"nearest"})}async resetActiveItem(){this.getItems.filter((t=>t.tagName.toLowerCase()===d("nano-option"))).map((t=>t.setAttribute("tabindex","-1")))}get getItems(){let t;if("listbox"===this._type)t=p(this.el,`${d("nano-nav-item")}, ${d("nano-option")}`,"slot");else{const i=this.el.querySelectorAll("[open]");t=h(i[i.length-1]||this.el)}return t.filter((t=>!t.disabled&&!t.hidden))}get activeItem(){const t=s();return this.getItems.find((i=>"0"===i.getAttribute("tabindex")||i===t||i===document.activeElement||i.classList.contains("has-focus")))}get selectedItem(){return this.getItems.find((t=>t.selected))}async setActiveFocusItem(t,i=!0){const o=this.getItems,e=t||o.find((t=>t.selected))||o[0];o.filter((t=>t.tagName.toLowerCase()===d("nano-option"))).map((t=>t.setAttribute("tabindex",t===e?"0":"-1"))),i&&(e?e.setFocus?e.setFocus():e.focus():this.menu.focus())}handleBlur(t){if(!this.hasFocus)return;let i;if(t.key){if("Tab"!==t.key)return;i=s()&&s().closest(this.el.tagName.toLowerCase())===this.el}else i=!!t.composedPath().find((t=>t===this.el));i||(this.resetActiveItem(),this._hasFocus=!1,this.nanoBlur.emit())}handleFocus=()=>{this.setActiveFocusItem(this.selectedItem||this.getItems[0]),this._hasFocus=!0,this.nanoFocus.emit()};handleClick=t=>{const i=t.target.closest(d("nano-nav-item"));i&&!i.disabled&&this.nanoSelect.emit(i)};handleKeyDown=t=>{switch(clearTimeout(this.ignoreMouseTimeout),this.ignoreMouseTimeout=setTimeout((()=>this.ignoreMouseEvents=!1),500),this.ignoreMouseEvents=!0,t.key){case" ":this.activeItem&&(t.stopPropagation(),"BUTTON"!==this.activeItem.nodeName&&this.activeItem.click());break;case"ArrowDown":case"ArrowUp":case"PageDown":case"PageUp":case"Home":case"End":{const i=this.getItems;let o=i.indexOf(this.activeItem);if(i.length)return t.preventDefault(),"ArrowDown"===t.key?o++:"ArrowUp"===t.key?o--:"Home"===t.key||"PageUp"===t.key?o=0:"End"!==t.key&&"PageDown"!==t.key||(o=i.length-1),o<0&&(o=i.length-1),o>i.length-1&&(o=0),this.setActiveFocusItem(i[o]),void(i[o]&&i[o].scrollIntoView({block:"nearest"}));break}}if(" "===t.key||/^[a-z0-9]+$/i.test(t.key)){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelect=""),750),this.typeToSelect+=t.key;const i=this.getItems;for(const t of i)if(c(t).toLowerCase().trim().substring(0,this.typeToSelect.length)===this.typeToSelect){this.setActiveFocusItem(t);break}}};handleMouseOver=t=>{const i=t.target,o=i.closest(d("nano-nav-item"))||i.closest(d("nano-option"))||i.closest("a");o&&!this.ignoreMouseEvents&&this.setActiveFocusItem(o)};handleSlotContent=()=>{if(this._type=this.type||null,!this._type){let t,i=0;h(this.el).forEach((o=>{"A"===o.tagName||"link"===o.role?t++:i++})),this._type=t>i?"nav":"menu"}"nav"!==this._type&&(p(this.el,`*:not(${d("nano-nav-item")}, a, ${d("nano-option")}, ${d("nano-dropdown")})`,!0).forEach((t=>{this.getItems.indexOf(t)<0&&t.setAttribute("role","none")})),this.el.querySelectorAll(`a, ${d("nano-dropdown")}`).forEach((t=>{t.setAttribute("role","A"===t.tagName?"menuitem":"group")})))};componentWillLoad(){this.handleSlotContent()}render(){return l(e,{key:"f7c0e55c16e5607f25a4a75847c0defd4b860e17",role:"listbox"===this._type?"group":this._type,class:"nano-menu"},l("div",{key:"3a19c91258abaa6b0a6333a35809172aabf4db43",onClick:this.handleClick,onKeyDown:this.handleKeyDown,onMouseOver:this.handleMouseOver,onFocus:this.handleFocus,"aria-label":this.label?this.label:void 0,ref:t=>this.menu=t,part:"base",class:{menu:!0,["menu--"+this._type]:!0,"menu--has-focus":this.hasFocus},tabIndex:-1,role:"group"},l("slot",{key:"75c213c4a744e7edd1826d88a8e391e16bdc091b",onSlotchange:this.handleSlotContent})))}};f.style=":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:var(--nano-spacing-sm) var(--nano-spacing-sm);--font-size:1rem;--background:var(--nano-color-neutral-75);--nav-item-padding:var(--padding);display:block;background:var(--background);color:var(--nano-color-neutral-1400);overflow-x:clip}.menu{font-size:var(--font-size);overscroll-behavior:none;min-inline-size:var(--width);position:relative}.menu:focus{outline:none}::slotted(*:not(.nano-nav-item,.nano-option,hr,slot)){padding:var(--padding);display:block}";export{u as nano_dropdown,f as nano_menu}
4
+ import{r as t,c as i,g as o,a as e}from"./index-CX_Hk6ss.js";import{f as n,g as s}from"./active-element-C1pBwzyj.js";import{P as a}from"./popover-D1cBIHdr.js";import{a as r,g as h}from"./tabbable-CZtanbA9.js";import{t as d,h as l}from"./renderer-ZmozgREV.js";import{g as p}from"./dom-COiksOVZ.js";import{g as c}from"./slot-CjAtXEOo.js";let m=0;const u=class{constructor(o){t(this,o),this.nanoShow=i(this,"nanoShow",7),this.nanoAfterShow=i(this,"nanoAfterShow",7),this.nanoHide=i(this,"nanoHide",7),this.nanoAfterHide=i(this,"nanoAfterHide",7)}dropdownId="dropdown-"+m++;labelId=this.dropdownId+"-title";ignoreOpenWatcher=!1;panel;popover;trigger;positioner;accessibleTrigger;didLoad=!1;focusFirstEle=!0;get menu(){return this.host.querySelector(d("nano-menu"))}get host(){return o(this)}autoOpen=!0;open=!1;handleOpenChange(){this.ignoreOpenWatcher||(this.open?this.show():this.hide(),this.accessibleTrigger?this.accessibleTrigger.setAttribute("aria-expanded",this.open.toString()):this.updateAccessibleTrigger())}closeOnSelect=!0;containingElement;tetherTo=null;handleTetherToChange(){this.createPopover(),this.updateAccessibleTrigger()}placement="bottom-start";distance=5;skidding=0;hoist=!1;handlePopoverOptionsChange(){this.popover&&this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,skidding:this.skidding,distance:this.distance})}dialogTitle;nanoShow;nanoAfterShow;nanoHide;nanoAfterHide;eventType;secondaryOpen(t){t.detail.secondaryMenu&&(t.stopPropagation(),this.panel.classList.add("loading"),this.panel.addEventListener("transitionend",(()=>{this.panel.classList.remove("loading")}),{once:!0}),this.panel.style.minHeight=t.detail.secondaryMenu.scrollHeight+"px")}secondaryClose(t){t.detail.secondaryMenu&&(t.stopPropagation(),t.target.parentElement&&(this.panel.style.minHeight=t.target.parentElement.scrollHeight+"px"))}handlePanelSelect(t){this.closeOnSelect&&t.target.tagName.toLowerCase()===d("nano-menu")&&this.hide()}async show(){if(this.ignoreOpenWatcher=!0,this.open=!0,this.nanoShow.emit().defaultPrevented)return this.open=!1,void(this.ignoreOpenWatcher=!1);"function"==typeof this.positioner?.showPopover?(this.hoist=!0,this.popover.show(),this.positioner.showPopover()):this.popover.show(),this.ignoreOpenWatcher=!1,document.addEventListener("mousedown",this.handleDocumentMouseDown),document.addEventListener("keydown",this.handleDocumentKeyDown)}async hide(){if(this.ignoreOpenWatcher=!0,this.open=!1,this.nanoHide.emit().defaultPrevented)return this.open=!0,void(this.ignoreOpenWatcher=!1);this.popover&&this.popover.hide(),this.ignoreOpenWatcher=!1,document.removeEventListener("mousedown",this.handleDocumentMouseDown),document.removeEventListener("keydown",this.handleDocumentKeyDown)}afterHide(){"function"==typeof this.positioner?.hidePopover&&this.positioner.hidePopover(),this.panel.scrollTop=0,this.accessibleTrigger&&n(this.containingElement,this.trigger)&&this.accessibleTrigger.focus()}togglePanel=()=>{this.autoOpen&&(this.open?this.hide():this.show())};updateAccessibleTrigger(){if(!this.didLoad)return;let t;this.accessibleTrigger=null,t=this.tetherTo?r(this.tetherTo):Array.from(this.host.querySelectorAll('[slot="trigger"]')).map(r)[0],t&&!t.getAttribute("aria-haspopup")&&(t.setAttribute("aria-haspopup","true"),t.setAttribute("aria-expanded",this.open?"true":"false"),this.accessibleTrigger=t)}handleDocumentKeyDown(t){if("Escape"!==t.key)if("Tab"===t.key)setTimeout((()=>{n(this.containingElement,this.trigger)||this.hide()}));else{if(this.menu&&(this.placement.match(/bottom|top/)&&["ArrowDown","ArrowUp"," "].includes(t.key)||this.placement.match(/right|left/)&&["ArrowRight","ArrowLeft"," "].includes(t.key)))return!this.open||n(this.containingElement,this.trigger,t)?"NANO-DROPDOWN"===this.containingElement.tagName&&this.containingElement.placement.match(/right|left/)&&"NANO-DROPDOWN"===this.trigger.getRootNode()?.host?.tagName?void this.hide():void 0:(t.preventDefault(),this.menu.setFocus(),void(this.focusFirstEle=!0));const i=t.composedPath();if(this.menu&&i.length&&!i.find((t=>t!==this.menu)))return void this.menu.dispatchEvent(new KeyboardEvent(t.type,t))}else this.hide()}handleDocumentMouseDown(t){n(this.containingElement,this.trigger,t)||this.hide()}handleTriggerKeyDown=t=>{(this.placement.match(/bottom|top/)&&["ArrowDown","ArrowUp"," ","Enter"].includes(t.key)||this.placement.match(/right|left/)&&["ArrowRight","ArrowLeft"," ","Enter"].includes(t.key))&&(this.show(),t.preventDefault(),t.stopPropagation(),this.menu&&(this.menu.setFocus(),this.focusFirstEle=!0))};handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()};createPopover(){(this.tetherTo||this.trigger)&&this.positioner&&(this.popover&&(this.open&&this.hide(),this.popover.destroy(),this.popover=null),this.popover=new a(this.tetherTo||this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.nanoAfterHide.emit(),onAfterShow:()=>this.nanoAfterShow.emit(),onTransitionEnd:()=>{this.open?this.menu&&(this.menu.showActiveElement(),this.focusFirstEle&&(this.menu.setFocus(),this.focusFirstEle=!1)):this.afterHide()}}),this.open&&this.show())}connectedCallback(){this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.containingElement||(this.containingElement=this.host)}componentDidLoad(){this.didLoad=!0,this.createPopover(),setTimeout((()=>this.updateAccessibleTrigger()),100)}disconnectedCallback(){this.host.isConnected&&this.hide(),this.popover&&this.popover.destroy()}render(){return l(e,{key:"dd4615946390485d5ad05ff0fbf3714474c38b9b",class:"nano-dropdown"},l("div",{key:"9a60642705315c41efaad525f087397b458caf2a",part:"base",id:this.dropdownId,class:{dropdown:!0,"dropdown--open":this.open}},l("span",{key:"861f59e5d50c956d53ce75d16ca5430bfb339d26",part:"trigger",class:"dropdown__trigger",ref:t=>this.trigger=t,onKeyDown:this.handleTriggerKeyDown,onClick:this.togglePanel},l("slot",{key:"55e3a353ffd07ca586468bbc213d415484e4427f",name:"trigger",onSlotchange:this.handleTriggerSlotChange})),l("div",{key:"3ac2f6fde7117cf7421ac53e1786c4da59fd4e6c",ref:t=>this.positioner=t,class:"dropdown__positioner",popover:"manual",id:this.dropdownId+"-positioner"},l("div",{key:"ff5d8d1248c1434aad2c8f042f208ff3d418f1a4",ref:t=>this.panel=t,part:"panel",class:`dropdown__panel ${this.placement.split("-").join(" ")}`,"aria-hidden":!this.open,role:"group"===this.host.getAttribute("role")?"group":"dialog","aria-modal":"group"===this.host.getAttribute("role")?void 0:"true","aria-labelledby":this.dialogTitle?this.labelId:void 0},this.dialogTitle&&l("span",{key:"e71c3b8e09d6b8cf359470872a70da8794a221db",id:this.labelId,class:"dropdown__accessible-title","aria-live":"group"===this.host.getAttribute("role")?void 0:"polite"},this.dialogTitle),l("slot",{key:"a9349e44064f7bbd4b32b3658c203575fe39c804"})))))}static get watchers(){return{open:["handleOpenChange"],tetherTo:["handleTetherToChange"],placement:["handlePopoverOptionsChange"],distance:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"]}}};u.style=":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{--width:auto;--border:none;--border-radius:0px;--background:var(--nano-color-neutral-75);--padding:var(--nano-spacing-sm) 0;--overflow:auto;--dropdown-z-index:var(--nano-z-index-dropdown);--min-width:0;--max-height:none;--box-shadow:var(--nano-shadow-l1);--menu-height:calc(100vh - 200px);display:inline-block}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--dropdown-z-index);min-inline-size:var(--min-width);border:0;background:none;padding:0;overflow:visible;color:unset}.dropdown__positioner::backdrop{display:none}.dropdown__positioner[popover],.dropdown__positioner:popover-open{inset:unset}@media (width <= 35.9375em){.dropdown__positioner{z-index:100}}.dropdown__panel{padding:var(--padding);background:var(--background);min-inline-size:var(--min-width);inline-size:var(--width);border:var(--border);border-radius:var(--border-radius);color:currentcolor;box-shadow:var(--box-shadow);opacity:0;transition:var(--nano-transition-x-fast) ease opacity, var(--nano-transition-x-fast) ease transform, var(--nano-transition-fast) ease min-block-size;min-block-size:20px;overflow:var(--overflow);max-block-size:var(--max-height);box-sizing:content-box !important}.dropdown__panel.loading{overflow-y:hidden}.dropdown__panel.top{transform:translateY(-20px) translateZ(0)}.dropdown__panel.bottom{transform:translateY(20px) translateZ(0)}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:translateY(0) translateZ(0)}.dropdown__panel ::slotted(.nano-menu){max-block-size:var(--menu-height)}.dropdown__accessible-title{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}";const f=class{constructor(o){t(this,o),this.nanoFocus=i(this,"nanoFocus",7),this.nanoBlur=i(this,"nanoBlur",7),this.nanoSelect=i(this,"nanoSelect",7)}ignoreMouseEvents=!1;ignoreMouseTimeout;menu;typeToSelect="";typeToSelectTimeout;get el(){return o(this)}get hasFocus(){return this._hasFocus}_hasFocus=!1;type;_type;label;nanoFocus;nanoBlur;nanoSelect;async setFocus(){this.menu?.focus&&this.menu.focus({preventScroll:!0})}async removeFocus(){this.menu?.blur&&this.menu.blur()}async showActiveElement(){this.selectedItem&&this.selectedItem.scrollIntoView({block:"nearest"})}async resetActiveItem(){this.getItems.filter((t=>t.tagName.toLowerCase()===d("nano-option"))).map((t=>t.setAttribute("tabindex","-1")))}get getItems(){let t;if("listbox"===this._type)t=p(this.el,`${d("nano-nav-item")}, ${d("nano-option")}`,"slot");else{const i=this.el.querySelectorAll("[open]");t=h(i[i.length-1]||this.el)}return t.filter((t=>!t.disabled&&!t.hidden))}get activeItem(){const t=s();return this.getItems.find((i=>"0"===i.getAttribute("tabindex")||i===t||i===document.activeElement||i.classList.contains("has-focus")))}get selectedItem(){return this.getItems.find((t=>t.selected))}async setActiveFocusItem(t,i=!0){const o=this.getItems,e=t||o.find((t=>t.selected))||o[0];o.filter((t=>t.tagName.toLowerCase()===d("nano-option"))).map((t=>t.setAttribute("tabindex",t===e?"0":"-1"))),i&&(e?e.setFocus?e.setFocus():e.focus():this.menu.focus())}handleBlur(t){if(!this.hasFocus)return;let i;if(t.key){if("Tab"!==t.key)return;i=s()&&s().closest(this.el.tagName.toLowerCase())===this.el}else i=!!t.composedPath().find((t=>t===this.el));i||(this.resetActiveItem(),this._hasFocus=!1,this.nanoBlur.emit())}handleFocus=()=>{this.setActiveFocusItem(this.selectedItem||this.getItems[0]),this._hasFocus=!0,this.nanoFocus.emit()};handleClick=t=>{const i=t.target.closest(d("nano-nav-item"));i&&!i.disabled&&this.nanoSelect.emit(i)};handleKeyDown=t=>{switch(clearTimeout(this.ignoreMouseTimeout),this.ignoreMouseTimeout=setTimeout((()=>this.ignoreMouseEvents=!1),500),this.ignoreMouseEvents=!0,t.key){case" ":this.activeItem&&(t.stopPropagation(),"BUTTON"!==this.activeItem.nodeName&&this.activeItem.click());break;case"ArrowDown":case"ArrowUp":case"PageDown":case"PageUp":case"Home":case"End":{const i=this.getItems;let o=i.indexOf(this.activeItem);if(i.length)return t.preventDefault(),"ArrowDown"===t.key?o++:"ArrowUp"===t.key?o--:"Home"===t.key||"PageUp"===t.key?o=0:"End"!==t.key&&"PageDown"!==t.key||(o=i.length-1),o<0&&(o=i.length-1),o>i.length-1&&(o=0),this.setActiveFocusItem(i[o]),void(i[o]&&i[o].scrollIntoView({block:"nearest"}));break}}if(" "===t.key||/^[a-z0-9]+$/i.test(t.key)){clearTimeout(this.typeToSelectTimeout),this.typeToSelectTimeout=setTimeout((()=>this.typeToSelect=""),750),this.typeToSelect+=t.key;const i=this.getItems;for(const t of i)if(c(t).toLowerCase().trim().substring(0,this.typeToSelect.length)===this.typeToSelect){this.setActiveFocusItem(t);break}}};handleMouseOver=t=>{const i=t.target,o=i.closest(d("nano-nav-item"))||i.closest(d("nano-option"))||i.closest("a");o&&!this.ignoreMouseEvents&&this.setActiveFocusItem(o)};handleSlotContent=()=>{if(this._type=this.type||null,!this._type){let t,i=0;h(this.el).forEach((o=>{"A"===o.tagName||"link"===o.role?t++:i++})),this._type=t>i?"nav":"menu"}"nav"!==this._type&&(p(this.el,`*:not(${d("nano-nav-item")}, a, ${d("nano-option")}, ${d("nano-dropdown")})`,!0).forEach((t=>{this.getItems.indexOf(t)<0&&t.setAttribute("role","none")})),this.el.querySelectorAll(`a, ${d("nano-dropdown")}`).forEach((t=>{t.setAttribute("role","A"===t.tagName?"menuitem":"group")})))};componentWillLoad(){this.handleSlotContent()}render(){return l(e,{key:"f7c0e55c16e5607f25a4a75847c0defd4b860e17",role:"listbox"===this._type?"group":this._type,class:"nano-menu"},l("div",{key:"3a19c91258abaa6b0a6333a35809172aabf4db43",onClick:this.handleClick,onKeyDown:this.handleKeyDown,onMouseOver:this.handleMouseOver,onFocus:this.handleFocus,"aria-label":this.label?this.label:void 0,ref:t=>this.menu=t,part:"base",class:{menu:!0,["menu--"+this._type]:!0,"menu--has-focus":this.hasFocus},tabIndex:-1,role:"group"},l("slot",{key:"75c213c4a744e7edd1826d88a8e391e16bdc091b",onSlotchange:this.handleSlotContent})))}};f.style=":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:var(--nano-spacing-sm) var(--nano-spacing-sm);--font-size:1rem;--background:var(--nano-color-neutral-75);--nav-item-padding:var(--padding);display:block;background:var(--background);color:var(--nano-color-neutral-1400);overflow-x:clip}.menu{font-size:var(--font-size);overscroll-behavior:none;min-inline-size:var(--width);position:relative}.menu:focus{outline:none}::slotted(*:not(.nano-nav-item,.nano-option,hr,slot)){padding:var(--padding);display:block}";export{u as nano_dropdown,f as nano_menu}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * Custom elements for Nanopore-Digital Web applications
3
+ */
4
+ import{r as o}from"./index-CX_Hk6ss.js";const t=class{constructor(t){o(this,t)}imgPosition="start"};t.style=":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}}";export{t as nano_feature_box}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import{r as t,c as i,a as s,B as e,d as h}from"./index-DXvE-U_j.js";import{c as a}from"./index-Dw3NZx59.js";import{t as n,h as o}from"./renderer-BUaAsDso.js";const r=class{constructor(s){t(this,s),this.nanoPayloadChange=i(this,"nanoPayloadChange",7),this.nanoSubmit=i(this,"nanoSubmit",7),this.nanoInvalid=i(this,"nanoInvalid",7)}get host(){return s(this)}submitted=!1;userForm;userFormChange(){this.userForm&&(this.activeForm=this.userForm)}get activeForm(){return this._activeForm}set activeForm(t){t&&(this._activeForm&&this._activeForm.removeEventListener("invalid",this.handleFormInvalid,!0),t.addEventListener("invalid",this.handleFormInvalid,!0),this._activeForm=t)}_activeForm;mo;allFields=[];nanoFields;plainFields;nanoFieldSelector="\n nano-input,\n nano-select,\n nano-file-upload,\n nano-date-input,\n nano-checkbox\n ";hasSetStore=!1;internalValidate=!1;validateOn="submitThenDirty";validateOnChange(){this.nanoFields.forEach((t=>{if(t.tagName.toLowerCase()===n("nano-checkbox")){const i=t.closest(n("nano-checkbox-group"));i&&(i.validateOn=this.validateOn)}else t.validateOn=this.validateOn}))}scrollToInvalid=!0;get dirty(){return this._dirty}_dirty=!1;get valid(){return this._valid}_valid;get store(){return this._store}_store;get payload(){return this._store?.state}get showValidation(){return"dirty"===this.validateOn&&this.dirty||this.submitted}get validationState(){const t=[];return this.allFields.forEach((async i=>{const s=t.find((t=>t.name===this.getName(i)));let e,h,a,n;s&&(i.validationMessage?(e=i,s.validityMessage=e.validationMessage.length?e.validationMessage:s.validityMessage,this.internalValidate=!0,s.valid&&!e.checkValidity()&&(s.valid=!1),this.internalValidate=!1):i.validityMessage&&(h=i,s.validityMessage=h.validityMessage,s.valid&&h.invalid&&(s.valid=!1)),s.fields.find((t=>t===i))||s.fields.push(i)),i.checkValidity?(e=i,this.internalValidate=!0,a=e.checkValidity(),this.internalValidate=!1,n=e.validationMessage):(h=i,a=!h.invalid,n=h.validityMessage),t.push({fields:[i],name:this.getName(i),value:this._store.state[this.getName(i)],dirty:!1,valid:a,validityMessage:n})})),t}extraFieldSelector="input, select, textarea";validation;async setStore(t){this.hasSetStore=!0,Object.entries(t).forEach((([t,i])=>{this.store.state[t]=i}))}async setCustomValidity(t,i){return await Promise.all(Object.entries(t).map((async([t,i])=>{const s=this.allFields.find((i=>this.getName(i)===t));s&&await this.setFieldError(s,i)}))).finally((()=>{this.scrollToFirstInvalid(i)}))}async resetValidity(){return await Promise.all(this.allFields.map((async t=>await this.setFieldError(t,""))))}async scrollToFirstInvalid(t=!0){(t||this.scrollToInvalid)&&setTimeout((()=>{const t=this.validationState.find((t=>!t.valid));t&&t.fields[0].scrollIntoView({behavior:"smooth",block:"nearest"})}),200)}nanoPayloadChange;nanoSubmit;nanoInvalid;attachSlotObserver(){this.mo||e.isServer||(this.mo=new MutationObserver((()=>{const t=this.host.querySelector("form");t&&t!==this.activeForm&&(this.activeForm=t),this.setupFields()}))).observe(this.host,{childList:!0,attributes:!0,attributeFilter:["name"],subtree:!0})}getName(t){return t.name||t.getAttribute("name")}setupFields(){let t=Array.from(this.host.querySelectorAll(this.nanoFieldSelector)),i=Array.from(this.host.querySelectorAll(this.extraFieldSelector)).filter((t=>!t.closest(this.nanoFieldSelector)));t=t.filter((t=>!!this.getName(t)&&!!this.getName(t).length)),i=i.filter((t=>!!this.getName(t)&&!!this.getName(t).length)),[...t,...i].filter((t=>!this.allFields.includes(t))).length&&(this.nanoFields=t,this.plainFields=i,this.allFields=[...t,...i],this.storeToFields(this.allFields),this.validateOnChange(),this.fieldsToStore(this.allFields,!0),this.nanoPayloadChange.emit(this._store.state))}storeToFields(t){t.forEach((t=>{const i=this.getName(t);if(i.length&&void 0!==this._store.state[i])if(t.tagName.toLowerCase()===n("nano-checkbox")||["radio","checkbox"].includes(t.type)){const s=this.allFields.filter((i=>this.getName(t)===this.getName(i)));"radio"===s[0].type||"segment"===s[0].type?s.forEach((t=>{t.checked=this._store.state[i]===t.value})):Array.isArray(this._store.state[i])?s.forEach((t=>{t.checked=!!this._store.state[i]?.includes(t.value)})):s.forEach((t=>{t.checked=this._store.state[i]===t.value}))}else if(t.tagName.toLowerCase()!==n("nano-file-upload"))t.value=this._store.state[i];else{const s=t;s.files?.length||(s.files=this._store.state[i])}}))}getValidityTarget(t){let i=t;return t.tagName.toLowerCase()===n("nano-checkbox")&&(i=t.closest(n("nano-checkbox-group"))||t),i}fieldsToStore(t,i=!1){t.forEach((t=>{const s=this.getName(t);if(s.length&&!(this._store.state[s]&&this.hasSetStore&&i))if(t.tagName.toLowerCase()===n("nano-checkbox")||["radio","checkbox"].includes(t.type)){const i=t;if("radio"===i.type||"segment"===i.type)i.checked&&(this._store.state[s]=i.value);else if(this.allFields.filter((t=>this.getName(t)===s&&(t.tagName.toLowerCase()===n("nano-checkbox")||"checkbox"===t.type))).length>1){const t=Array.isArray(this._store.state[s])?this._store.state[s]:[];i.checked?this._store.state[s]?.includes(i.value)||(this._store.state[s]=[...t,i.value]):this._store.state[s]=t.filter((t=>t!==i.value))}else this._store.state[s]=i.checked?i.value:""}else if(t.tagName.toLowerCase()!==n("nano-file-upload"))this._store.state[s]=t.value;else{const i=t;this.fileStateEqual(s,i)||(this._store.state[s]=i.files)}}))}fileStateEqual(t,i){return JSON.stringify(this._store.state[t])===JSON.stringify(i.files)||this._store.state[t]==i.files}async validate(t,i){if(!this.validation)return;const s=this.validation(t,i,this._store.state);s&&await Promise.all(Object.entries(s).map((async([t,i])=>i.fields.map((async s=>{const e=this.allFields.find((t=>this.getName(t)===s)),h=this.getValidityTarget(e);(h.validityMessage||h.validationMessage)===t&&i.valid?await this.setFieldError(h,""):i.valid||await this.setFieldError(h,t)})))))}async validateAllFields(){await Object.entries(this._store.state).reduce((async(t,[i,s])=>{await t,await this.validate(i,s)}),void 0)}async setFieldError(t,i){const s=this.getValidityTarget(t);s.showError?await s.showError(i):s.setError?await s.setError(i):s.setCustomValidity(i)}submitForm(){this.nanoSubmit.emit().defaultPrevented||this.activeForm.submit()}handleStoreChange=async(t,i)=>{const s=this.allFields.find((i=>this.getName(i)===t));(s&&(s.tagName.toLowerCase()===n("nano-checkbox")||["radio","checkbox"].includes(s.type))||s&&(s.tagName.toLowerCase()===n("nano-file-upload")&&!this.fileStateEqual(t,s)||s.tagName.toLowerCase()!==n("nano-file-upload")&&s.value!==i))&&this.storeToFields([s]),"dirty"===this.validateOn&&this.dirty&&(this.internalValidate=!0,await this.validateAllFields(),this._valid=this.activeForm.checkValidity(),this.internalValidate=!1),this.nanoPayloadChange.emit(this._store.state)};handleFieldChange(t){this.nanoFields?.includes(t.target)&&(this._dirty=!0,this.fieldsToStore([t.target]))}handlePlainFieldChange(t){this.plainFields.includes(t.target)&&this.fieldsToStore([t.target])}handleFormInvalid=async t=>{this.plainFields.includes(t.target)||t.preventDefault(),this._valid=!1,this.internalValidate||("submitThenDirty"===this.validateOn&&(this.validateOn="dirty"),this.submitted=!0,await this.validateAllFields(),this.internalValidate=!0,this._valid=this.activeForm.checkValidity(),this.internalValidate=!1,"submit"===this.validateOn&&this._valid?this.submitForm():(this.scrollToFirstInvalid(!1),this.nanoInvalid.emit()))};async handleSubmit(t){t.preventDefault(),"submitThenDirty"===this.validateOn&&(this.validateOn="dirty"),this.submitted=!0,await this.validateAllFields(),this.internalValidate=!0,this._valid=this.activeForm.checkValidity(),this.internalValidate=!1,this._valid?this.submitForm():this.scrollToFirstInvalid(!1)}connectedCallback(){this.userForm=this.host.querySelector("form:not(.sc-nano-field-validator)"),this._store=a({})}componentDidLoad(){requestAnimationFrame((()=>{this.setupFields(),this.attachSlotObserver(),this._store.on("set",this.handleStoreChange)}))}disconnectedCallback(){this.mo&&this.mo.disconnect(),this._store.reset(),this.activeForm&&this.activeForm.removeEventListener("invalid",this.handleFormInvalid,!0)}render(){return o(h,{key:"b1951fc1c5a049a49106a5974e99d37282f0397d",class:"nano-field-validator"},this.userForm&&o("slot",{key:"1d90fc2ed42128f067aeb7b5b17a88865f77c556"}),!this.userForm&&o("form",{key:"46c933b7363a248de93550a576cbe121174ea68d",ref:t=>this.activeForm=t},o("slot",{key:"335fbe05634148c438a69a31e7f48debe80146bc"})))}static get watchers(){return{userForm:["userFormChange"],validateOn:["validateOnChange"],extraFieldSelector:["attachSlotObserver"]}}};export{r as nano_field_validator}
4
+ import{r as t,c as i,g as s,B as e,a as h}from"./index-CX_Hk6ss.js";import{c as a}from"./index-VZJF9v1K.js";import{t as n,h as o}from"./renderer-ZmozgREV.js";const r=class{constructor(s){t(this,s),this.nanoPayloadChange=i(this,"nanoPayloadChange",7),this.nanoSubmit=i(this,"nanoSubmit",7),this.nanoInvalid=i(this,"nanoInvalid",7)}get host(){return s(this)}submitted=!1;userForm;userFormChange(){this.userForm&&(this.activeForm=this.userForm)}get activeForm(){return this._activeForm}set activeForm(t){t&&(this._activeForm&&this._activeForm.removeEventListener("invalid",this.handleFormInvalid,!0),t.addEventListener("invalid",this.handleFormInvalid,!0),this._activeForm=t)}_activeForm;mo;allFields=[];nanoFields;plainFields;nanoFieldSelector="\n nano-input,\n nano-select,\n nano-file-upload,\n nano-date-input,\n nano-checkbox\n ";hasSetStore=!1;internalValidate=!1;validateOn="submitThenDirty";validateOnChange(){this.nanoFields.forEach((t=>{if(t.tagName.toLowerCase()===n("nano-checkbox")){const i=t.closest(n("nano-checkbox-group"));i&&(i.validateOn=this.validateOn)}else t.validateOn=this.validateOn}))}scrollToInvalid=!0;get dirty(){return this._dirty}_dirty=!1;get valid(){return this._valid}_valid;get store(){return this._store}_store;get payload(){return this._store?.state}get showValidation(){return"dirty"===this.validateOn&&this.dirty||this.submitted}get validationState(){const t=[];return this.allFields.forEach((async i=>{const s=t.find((t=>t.name===this.getName(i)));let e,h,a,n;s&&(i.validationMessage?(e=i,s.validityMessage=e.validationMessage.length?e.validationMessage:s.validityMessage,this.internalValidate=!0,s.valid&&!e.checkValidity()&&(s.valid=!1),this.internalValidate=!1):i.validityMessage&&(h=i,s.validityMessage=h.validityMessage,s.valid&&h.invalid&&(s.valid=!1)),s.fields.find((t=>t===i))||s.fields.push(i)),i.checkValidity?(e=i,this.internalValidate=!0,a=e.checkValidity(),this.internalValidate=!1,n=e.validationMessage):(h=i,a=!h.invalid,n=h.validityMessage),t.push({fields:[i],name:this.getName(i),value:this._store.state[this.getName(i)],dirty:!1,valid:a,validityMessage:n})})),t}extraFieldSelector="input, select, textarea";validation;async setStore(t){this.hasSetStore=!0,Object.entries(t).forEach((([t,i])=>{this.store.state[t]=i}))}async setCustomValidity(t,i){return await Promise.all(Object.entries(t).map((async([t,i])=>{const s=this.allFields.find((i=>this.getName(i)===t));s&&await this.setFieldError(s,i)}))).finally((()=>{this.scrollToFirstInvalid(i)}))}async resetValidity(){return await Promise.all(this.allFields.map((async t=>await this.setFieldError(t,""))))}async scrollToFirstInvalid(t=!0){(t||this.scrollToInvalid)&&setTimeout((()=>{const t=this.validationState.find((t=>!t.valid));t&&t.fields[0].scrollIntoView({behavior:"smooth",block:"nearest"})}),200)}nanoPayloadChange;nanoSubmit;nanoInvalid;attachSlotObserver(){this.mo||e.isServer||(this.mo=new MutationObserver((()=>{const t=this.host.querySelector("form");t&&t!==this.activeForm&&(this.activeForm=t),this.setupFields()}))).observe(this.host,{childList:!0,attributes:!0,attributeFilter:["name"],subtree:!0})}getName(t){return t.name||t.getAttribute("name")}setupFields(){let t=Array.from(this.host.querySelectorAll(this.nanoFieldSelector)),i=Array.from(this.host.querySelectorAll(this.extraFieldSelector)).filter((t=>!t.closest(this.nanoFieldSelector)));t=t.filter((t=>!!this.getName(t)&&!!this.getName(t).length)),i=i.filter((t=>!!this.getName(t)&&!!this.getName(t).length)),[...t,...i].filter((t=>!this.allFields.includes(t))).length&&(this.nanoFields=t,this.plainFields=i,this.allFields=[...t,...i],this.storeToFields(this.allFields),this.validateOnChange(),this.fieldsToStore(this.allFields,!0),this.nanoPayloadChange.emit(this._store.state))}storeToFields(t){t.forEach((t=>{const i=this.getName(t);if(i.length&&void 0!==this._store.state[i])if(t.tagName.toLowerCase()===n("nano-checkbox")||["radio","checkbox"].includes(t.type)){const s=this.allFields.filter((i=>this.getName(t)===this.getName(i)));"radio"===s[0].type||"segment"===s[0].type?s.forEach((t=>{t.checked=this._store.state[i]===t.value})):Array.isArray(this._store.state[i])?s.forEach((t=>{t.checked=!!this._store.state[i]?.includes(t.value)})):s.forEach((t=>{t.checked=this._store.state[i]===t.value}))}else if(t.tagName.toLowerCase()!==n("nano-file-upload"))t.value=this._store.state[i];else{const s=t;s.files?.length||(s.files=this._store.state[i])}}))}getValidityTarget(t){let i=t;return t.tagName.toLowerCase()===n("nano-checkbox")&&(i=t.closest(n("nano-checkbox-group"))||t),i}fieldsToStore(t,i=!1){t.forEach((t=>{const s=this.getName(t);if(s.length&&!(this._store.state[s]&&this.hasSetStore&&i))if(t.tagName.toLowerCase()===n("nano-checkbox")||["radio","checkbox"].includes(t.type)){const i=t;if("radio"===i.type||"segment"===i.type)i.checked&&(this._store.state[s]=i.value);else if(this.allFields.filter((t=>this.getName(t)===s&&(t.tagName.toLowerCase()===n("nano-checkbox")||"checkbox"===t.type))).length>1){const t=Array.isArray(this._store.state[s])?this._store.state[s]:[];i.checked?this._store.state[s]?.includes(i.value)||(this._store.state[s]=[...t,i.value]):this._store.state[s]=t.filter((t=>t!==i.value))}else this._store.state[s]=i.checked?i.value:""}else if(t.tagName.toLowerCase()!==n("nano-file-upload"))this._store.state[s]=t.value;else{const i=t;this.fileStateEqual(s,i)||(this._store.state[s]=i.files)}}))}fileStateEqual(t,i){return JSON.stringify(this._store.state[t])===JSON.stringify(i.files)||this._store.state[t]==i.files}async validate(t,i){if(!this.validation)return;const s=this.validation(t,i,this._store.state);s&&await Promise.all(Object.entries(s).map((async([t,i])=>i.fields.map((async s=>{const e=this.allFields.find((t=>this.getName(t)===s)),h=this.getValidityTarget(e);(h.validityMessage||h.validationMessage)===t&&i.valid?await this.setFieldError(h,""):i.valid||await this.setFieldError(h,t)})))))}async validateAllFields(){await Object.entries(this._store.state).reduce((async(t,[i,s])=>{await t,await this.validate(i,s)}),void 0)}async setFieldError(t,i){const s=this.getValidityTarget(t);s.showError?await s.showError(i):s.setError?await s.setError(i):s.setCustomValidity(i)}submitForm(){this.nanoSubmit.emit().defaultPrevented||this.activeForm.submit()}handleStoreChange=async(t,i)=>{const s=this.allFields.find((i=>this.getName(i)===t));(s&&(s.tagName.toLowerCase()===n("nano-checkbox")||["radio","checkbox"].includes(s.type))||s&&(s.tagName.toLowerCase()===n("nano-file-upload")&&!this.fileStateEqual(t,s)||s.tagName.toLowerCase()!==n("nano-file-upload")&&s.value!==i))&&this.storeToFields([s]),"dirty"===this.validateOn&&this.dirty&&(this.internalValidate=!0,await this.validateAllFields(),this._valid=this.activeForm.checkValidity(),this.internalValidate=!1),this.nanoPayloadChange.emit(this._store.state)};handleFieldChange(t){this.nanoFields?.includes(t.target)&&(this._dirty=!0,this.fieldsToStore([t.target]))}handlePlainFieldChange(t){this.plainFields.includes(t.target)&&this.fieldsToStore([t.target])}handleFormInvalid=async t=>{this.plainFields.includes(t.target)||t.preventDefault(),this._valid=!1,this.internalValidate||("submitThenDirty"===this.validateOn&&(this.validateOn="dirty"),this.submitted=!0,await this.validateAllFields(),this.internalValidate=!0,this._valid=this.activeForm.checkValidity(),this.internalValidate=!1,"submit"===this.validateOn&&this._valid?this.submitForm():(this.scrollToFirstInvalid(!1),this.nanoInvalid.emit()))};async handleSubmit(t){t.preventDefault(),"submitThenDirty"===this.validateOn&&(this.validateOn="dirty"),this.submitted=!0,await this.validateAllFields(),this.internalValidate=!0,this._valid=this.activeForm.checkValidity(),this.internalValidate=!1,this._valid?this.submitForm():this.scrollToFirstInvalid(!1)}connectedCallback(){this.userForm=this.host.querySelector("form:not(.sc-nano-field-validator)"),this._store=a({})}componentDidLoad(){requestAnimationFrame((()=>{this.setupFields(),this.attachSlotObserver(),this._store.on("set",this.handleStoreChange)}))}disconnectedCallback(){this.mo&&this.mo.disconnect(),this._store.reset(),this.activeForm&&this.activeForm.removeEventListener("invalid",this.handleFormInvalid,!0)}render(){return o(h,{key:"b1951fc1c5a049a49106a5974e99d37282f0397d",class:"nano-field-validator"},this.userForm&&o("slot",{key:"1d90fc2ed42128f067aeb7b5b17a88865f77c556"}),!this.userForm&&o("form",{key:"46c933b7363a248de93550a576cbe121174ea68d",ref:t=>this.activeForm=t},o("slot",{key:"335fbe05634148c438a69a31e7f48debe80146bc"})))}static get watchers(){return{userForm:["userFormChange"],validateOn:["validateOnChange"],extraFieldSelector:["attachSlotObserver"]}}};export{r as nano_field_validator}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import{r as i,c as o,a,d as l}from"./index-DXvE-U_j.js";import{h as e}from"./renderer-BUaAsDso.js";let n=0,t=()=>new DataTransfer;try{t()}catch{try{t=()=>new ClipboardEvent("").clipboardData,t()}catch{t=null}}const s=class{constructor(a){i(this,a),this.nanoChange=o(this,"nanoChange",7),this.nanoFocus=o(this,"nanoFocus",7),this.nanoBlur=o(this,"nanoBlur",7),this.nanoValidate=o(this,"nanoValidate",7)}inputEl;publicInputEl;mo;fileInputId="nano-file-upload-"+n++;canChangeFileList=!!t;removeFiles=[];hasHelperSlot;hasLabelSlot;errorMessage="";isDragging=!1;fileList=[];fileListChange(){this.canChangeFileList&&(this.publicInputEl.value="",this.inputEl.files=this.arrToFileList(this.fileList.map((i=>i.file))),setTimeout((()=>{this.nanoChange.emit({value:this.value,files:this.files})}),20))}hasFocus;get host(){return a(this)}name;accept;capture;maxFileSize=1;maxFiles=1;_label="";get label(){return this.required&&!this._label.endsWith("*")?this._label+" *":this._label}set label(i){this._label=i}placeholder="Choose a file";hideLabel=!1;required=!1;disabled=!1;clearable=!1;showInlineError=!0;validateOn="submitThenDirty";form;shouldValidate(){this.inputEl&&(this.validate(),requestAnimationFrame((()=>{"dirty"===this.validateOn&&this.showInlineValidation()})))}_invalid=null;get invalid(){return this._invalid}get validityMessage(){return this.inputEl?this.inputEl.validationMessage:""}get files(){return this.inputEl?Array.from(this.inputEl.files).map((i=>(i.objectURL=URL.createObjectURL(i),i))):[]}set files(i){this.addNewFiles(this.arrToFileList(i))}get value(){return this.inputEl?this.inputEl.value:""}set value(i){""===i&&this.inputEl&&(this.fileList=[],this.inputEl.value="")}nanoChange;nanoFocus;nanoBlur;nanoValidate;async reportValidity(i){return i&&(this.validate(),this.showInlineValidation()),{isValid:!this.invalid,errorMessage:this.inputEl.validationMessage}}async setFocus(){this.inputEl&&this.inputEl.focus()}getInputElement(){return Promise.resolve(this.inputEl)}async showError(i){this.inputEl&&(this.inputEl.setCustomValidity(i),this.showInlineValidation())}globalClickHandler(i){this.hasFocus&&i.composedPath().every((i=>i!==this.host))&&this.onBlur()}globalKeydownHandler(i){this.hasFocus&&"Tab"===i.key&&i.target!==this.inputEl&&this.onBlur()}onReset(i){(this.form?document.querySelector("#"+this.form):this.host.closest("form"))&&i.target===this.host.closest("form")&&(this.value="")}onClearClick=()=>{this.value=""};onBlur=()=>{this.hasFocus=!1,this.validate(),"dirty"===this.validateOn&&this.showInlineValidation(),this.nanoBlur.emit()};onFocus=()=>{this.hasFocus=!0,this.nanoFocus.emit()};arrToFileList(i){const o=t();for(let a=0,l=i.length;a<l;a++)o.items.add(i[a]);return o.files}checkFileSize(i){return i/1e6<=this.maxFileSize}checkFileType(i){return!this.accept||!!i&&this.accept.match(i)&&this.accept.match(i).length>0}validate=()=>{let i;this.errorMessage="",this.inputEl.setCustomValidity(""),this.inputEl.validity.valid?this.fileList.length>this.maxFiles?i=`Maximum number of files exceeded (${this.maxFiles})`:this.fileList.forEach((o=>{let a=null;this.checkFileSize(o.file.size)?this.checkFileType(o.file.type)||(a=`File type is not allowed (${this.accept})`):a="Maximum file size exceeded. Max file size is "+this.maxFileSize+"Mb",o.validationMessage=a,o.valid=!a,a&&(i=a)})):i=this.inputEl.validationMessage,i?this.inputEl.setCustomValidity(i):(this.inputEl.setCustomValidity(""),this.errorMessage="")};showInlineValidation(i){"submitThenDirty"===this.validateOn&&(this.validateOn="dirty"),this._invalid=!1,this.errorMessage="",this.inputEl.validity.valid||(this.errorMessage=this.inputEl.validationMessage,this._invalid=!0),this.nanoValidate.emit({isValid:!this._invalid,errorMessage:this.inputEl.validationMessage,originalEvent:i})}slotChangeObserver(){this.mo&&this.mo.disconnect(),(this.mo=new MutationObserver((()=>this.processSlottedContent()))).observe(this.host,{childList:!0,subtree:!0})}processSlottedContent(){this.hasLabelSlot=!!this.host.querySelectorAll('[slot="label"]'),this.hasHelperSlot=!!this.host.querySelector('[slot="helper"]')}addNewFiles(i){const o=Array.from(i).map((i=>({file:i,location:URL.createObjectURL(i),valid:!0,validationMessage:null})));if(this.canChangeFileList&&this.maxFiles>1){const i=o.filter((i=>!this.fileList.find((o=>o.file.name===i.file.name))));this.fileList=[...this.fileList,...i]}else this.fileList=o}onInvalid=i=>{this.showInlineError&&i.preventDefault(),this.validate(),this.showInlineValidation(i)};onFileChoose=i=>{const o=i.target.files;o&&o.length&&this.addNewFiles(i.target.files)};onFileRemoveFileClick=(i,o)=>{this.canChangeFileList&&(this.removeFiles.push(o),i.target.closest(".file-upload__list-item--active").classList.remove("file-upload__list-item--active"))};onFileRemoveAnim=()=>{if(this.canChangeFileList&&this.removeFiles.length){this.fileList=this.fileList.filter((i=>!this.removeFiles.find((o=>o===i))));try{this.removeFiles.forEach((i=>i.location?URL.revokeObjectURL(i.location):""))}catch(i){console.error(i)}this.removeFiles=[]}};onInputChange=()=>{this.nanoChange.emit({value:this.value,files:this.files})};onDragStop=i=>{i.preventDefault(),i.stopPropagation(),this.isDragging=!1};onDragStart=i=>{i.preventDefault(),i.stopPropagation(),this.isDragging=!0};onDrop=i=>{this.onDragStop(i),i.dataTransfer.files&&i.dataTransfer.files.length&&this.addNewFiles(i.dataTransfer.files)};disconnectedCallback(){this.mo&&this.mo.disconnect()}componentDidLoad(){this.slotChangeObserver()}componentWillLoad(){this.processSlottedContent()}FileUploadInput=(i,o)=>{const a=this.fileInputId+"-lbl",l=this.showInlineError||this.hasHelperSlot?this.fileInputId+"-more":"";return[e("div",{class:"file-upload__"+i+"-wrap"},e("label",{class:"file-upload__"+i,htmlFor:this.fileInputId,id:a,onDrop:i=>{this.onDrop(i),this.onDragStop(i)},onDragEnd:this.onDragStop,onDragLeave:this.onDragStop,onDragEnter:this.onDragStart,onDragOver:this.onDragStart},(!!this.label||this.hasLabelSlot&&"drop"!==i)&&e("div",{class:"file-upload__label "+(this.hideLabel?"visually-hide":"")},this.label&&this.label.length?this.label:"",!this.label&&this.hasLabelSlot&&"drop"!==i&&e("slot",{name:"label"})),"drop"===i&&e("div",{class:"file-upload__drop-area"},e("div",null,this.hasLabelSlot&&e("slot",{name:"label"})),e("div",null,"Drag and drop or ",e("span",null,"browse"))),"btn"===i&&e("div",{class:"file-upload__button button--keyline button--icon-start "+(this.hasFocus?"button--focus":"")},e("nano-cta",{secondary:!0,class:"file-upload__btn-content"},e("div",{class:"button",disabled:this.disabled},this.fileList.length?this.fileList[0].file.name:this.placeholder)),!!this.value&&this.clearable&&!this.disabled&&e("button",{type:"button",class:"icon file-upload__clear-btn",tabindex:"0","aria-label":"Clear selected file",onClick:this.onClearClick},e("nano-icon",{name:"light/xmark"})),!this.disabled&&this.showInlineError&&e("nano-icon",this._invalid?{name:"solid/circle-xmark",class:"file-upload__icon file-upload__icon-error"}:{name:"solid/circle-check",class:"file-upload__icon file-upload__icon-success"})),e("input",{"aria-labelledby":a+" "+l+" "+o,type:"file",id:this.fileInputId,accept:this.accept,class:"file-upload__input",multiple:this.maxFiles>1,disabled:this.disabled,name:this.canChangeFileList?void 0:this.name,form:this.form,ref:i=>{this.canChangeFileList?this.publicInputEl=i:this.inputEl=i},onChange:this.onFileChoose,onFocus:this.onFocus,onReset:this.onInputChange})),e("input",{name:this.canChangeFileList?this.name:void 0,form:this.form,ref:i=>{this.canChangeFileList&&(this.inputEl=i)},type:"file",id:this.fileInputId+"-hidden",tabIndex:-1,multiple:!0,class:"file-upload__input",disabled:this.disabled,required:this.required,accept:this.accept,onInvalid:this.onInvalid,onChange:this.onInputChange})),this.showInlineError||this.hasHelperSlot?e("div",{class:"file-upload__more",id:l},this.showInlineError&&this.errorMessage.length?e("div",{class:"file-upload__error"},this.errorMessage):"",e("div",{class:"file-upload__help"},e("slot",{name:"helper"}))):""]};button=()=>this.FileUploadInput("btn");dropArea=()=>{const i=this.fileInputId+"-list";return[this.FileUploadInput("drop",i),e("output",{class:"file-upload__list-wrap",id:i},!!this.fileList&&this.fileList.length>0&&e("ul",{class:"file-upload__list list"},this.fileList.map((i=>e("li",{key:i.file.name,class:"file-upload__list-item file-upload__list-item--active list-item",onAnimationEnd:()=>this.onFileRemoveAnim()},e("span",{class:"list-title"},i.file.name),!i.valid&&e("nano-tooltip",{content:i.validationMessage,placement:"left"},e("nano-icon-button",{class:"list-button list-error",iconName:"light/triangle-exclamation",label:"File error"})),this.canChangeFileList&&e("nano-icon-button",{class:"list-button list-button--view",type:"button",iconName:"light/eye",label:"View file",target:"_blank",href:i.location}),this.canChangeFileList&&e("nano-icon-button",{onClick:o=>this.onFileRemoveFileClick(o,i),class:"list-button list-button--remove",iconName:"light/xmark",label:"Remove file"}))))))]};render(){return e(l,{key:"4f495870314e3f688517b34be6749cf2b77810ea",class:"nano-file-upload"},e("div",{key:"9baa63fe75b200913f82abb4304d73e22fbb4be4",class:{"file-upload":!0,"file-upload--dragging":this.isDragging,"file-upload--focus":this.hasFocus,"file-upload--invalid":!0===this._invalid,"file-upload--valid":!1===this._invalid}},e(this.maxFiles>1?this.dropArea:this.button,null)))}static get watchers(){return{fileList:["fileListChange","shouldValidate"],maxFiles:["shouldValidate"],maxFileSize:["shouldValidate"],capture:["shouldValidate"],accept:["shouldValidate"],required:["shouldValidate"],disabled:["shouldValidate"]}}};s.style=".sc-nano-file-upload-h,*.sc-nano-file-upload,*.sc-nano-file-upload::before,*.sc-nano-file-upload::after{box-sizing:border-box}[hidden].sc-nano-file-upload{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-file-upload-h,*.sc-nano-file-upload,*.sc-nano-file-upload::before,*.sc-nano-file-upload::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-file-upload-h,*.sc-nano-file-upload,*.sc-nano-file-upload::before,*.sc-nano-file-upload::after{box-sizing:border-box}[hidden].sc-nano-file-upload{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-file-upload-h,*.sc-nano-file-upload,*.sc-nano-file-upload::before,*.sc-nano-file-upload::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-file-upload-h{min-block-size:1rem;display:block;--color-error:var(--nano-color-danger-1100);--color-error-light:var(--nano-color-danger-100);--color-text:var(--nano-color-neutral-1400);--color-drop-browse:var(--nano-color-primary-1200);--color-drop-border:var(--nano-color-primary-1200);--color-drop-bg:var(--nano-color-primary-75);--drop-height:3.5em;--color-btn-bg:var(--nano-color-base-0);--color-btn-border:var(--nano-color-primary-1000);--color-btn-text:var(--nano-color-primary-1000)}[disabled].sc-nano-file-upload-h:not([disabled=false]){cursor:not-allowed}[disabled].sc-nano-file-upload-h:not([disabled=false]) *.sc-nano-file-upload{pointer-events:none !important}.file-upload--invalid.sc-nano-file-upload{--color-drop-bg:var(--color-error-light)}.file-upload--dragging.sc-nano-file-upload{--color-drop-bg:var(--nano-color-success-50)}.file-upload__label.sc-nano-file-upload{font-size:var(--nano-font-size-xs);margin:0;line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose)}[disabled].sc-nano-file-upload-h:not([disabled=false]) .file-upload__label.sc-nano-file-upload{color:var(--nano-color-neutral-1200)}.file-upload__input.sc-nano-file-upload{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.file-upload__error.sc-nano-file-upload,.file-upload__help.sc-nano-file-upload,.file-upload__more.sc-nano-file-upload,.file-upload__label.sc-nano-file-upload{display:block;inline-size:100%;white-space:nowrap;text-overflow:ellipsis}.file-upload__more.sc-nano-file-upload{margin-block:var(--nano-spacing-sm) 0;position:relative}.file-upload__more.sc-nano-file-upload:has(.file-upload__error) .file-upload__help.sc-nano-file-upload{display:none !important}.file-upload__error.sc-nano-file-upload,.file-upload__help.sc-nano-file-upload{inset-block-start:0;inset-inline-start:0;font-style:italic;font-size:var(--nano-font-size-2xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose)}.file-upload--invalid.sc-nano-file-upload .file-upload__error.sc-nano-file-upload,.file-upload--invalid.sc-nano-file-upload .file-upload__help.sc-nano-file-upload{opacity:1}.file-upload__error.sc-nano-file-upload{color:var(--color-error);opacity:0;display:none;transition:all var(--nano-transition-fast) ease;transition-behavior:allow-discrete}.file-upload--invalid.sc-nano-file-upload .file-upload__error.sc-nano-file-upload{opacity:1;display:block}.file-upload__help.sc-nano-file-upload{opacity:1;color:var(--color-text);display:block}.file-upload--invalid.sc-nano-file-upload .file-upload__help.sc-nano-file-upload{opacity:0;display:none}[disabled].sc-nano-file-upload-h:not([disabled=false]) .file-upload__help.sc-nano-file-upload{color:var(--nano-color-neutral-1200);opacity:0.8}.file-upload__drop.sc-nano-file-upload{position:relative;inline-size:100%;display:inline-block}.file-upload__drop-area.sc-nano-file-upload{flex-direction:column;background-color:var(--color-drop-bg);color:var(--color-text);min-block-size:var(--drop-height);padding:var(--nano-spacing-md);display:flex;align-items:center;justify-content:center;position:relative;transition:background-color var(--nano-transition-x-fast) ease-in-out;font-size:var(--nano-font-size-sm);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose)}[disabled].sc-nano-file-upload-h:not([disabled=false]) .file-upload__drop-area.sc-nano-file-upload{color:var(--nano-color-neutral-1200);background-color:var(--nano-color-neutral-300);border-color:var(--nano-color-neutral-1200)}.file-upload__drop-area.sc-nano-file-upload::after{content:\"\";position:absolute;border-width:1px;background-color:var(--color-drop-border);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='white' stroke-width='2' stroke-dasharray='6%2c 8' stroke-dashoffset='0'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='white' stroke-width='2' stroke-dasharray='6%2c 8' stroke-dashoffset='0'/%3e%3c/svg%3e\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;inset:0;transition:top var(--nano-transition-x-fast) ease-in-out, bottom var(--nano-transition-x-fast) ease-in-out, left var(--nano-transition-x-fast) ease-in-out, right var(--nano-transition-x-fast) ease-in-out}.file-upload--invalid.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload::after{background-color:var(--color-error)}.file-upload--dragging.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload::after{background-color:var(--nano-color-success-1100);inset:5px}.file-upload__drop-area.sc-nano-file-upload span.sc-nano-file-upload{color:var(--color-drop-browse);text-decoration:underline;z-index:1;cursor:pointer;position:relative}[disabled].sc-nano-file-upload-h:not([disabled=false]) .file-upload__drop-area.sc-nano-file-upload span.sc-nano-file-upload{color:var(--nano-color-neutral-1200);opacity:0.8}.file-upload--focus.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload span.sc-nano-file-upload{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.file-upload__list.sc-nano-file-upload{list-style:none;margin:var(--nano-spacing-xs) 0 0;padding:0}.file-upload__list-wrap.sc-nano-file-upload{position:relative;inset-block-start:-4px}.file-upload__list-item.sc-nano-file-upload{inline-size:100%;margin:0 0 2px;display:flex;align-items:center;animation:hideListItem var(--nano-transition-fast) ease-in-out forwards}@keyframes hideListItem{0%{opacity:1}100%{opacity:0}}.file-upload__list-item--active.sc-nano-file-upload{animation:showListItem var(--nano-transition-fast) ease-in-out forwards}@keyframes showListItem{0%{opacity:0}100%{opacity:1}}.file-upload__list.sc-nano-file-upload .list-title.sc-nano-file-upload{background:var(--color-drop-bg);padding:var(--nano-spacing-xs);margin-inline-end:2px;display:block;inline-size:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--nano-font-size-2xs);color:var(--color-text)}.file-upload__list.sc-nano-file-upload .list-button.sc-nano-file-upload{--padding:0.406rem;background:var(--color-drop-bg);margin:2px}.file-upload__list.sc-nano-file-upload .list-error.sc-nano-file-upload{--color:var(--color-error)}.file-upload__drop-area.sc-nano-file-upload,.file-upload__button.sc-nano-file-upload{margin-block:var(--nano-spacing-sm) 0}.file-upload__button.sc-nano-file-upload{max-inline-size:100%;display:flex}.is-invalid.sc-nano-file-upload-h .file-upload__button.sc-nano-file-upload{color:var(--color-error)}.file-upload--dragging.sc-nano-file-upload .file-upload__button.sc-nano-file-upload{--nano-btn-border-style:dashed}.file-upload__clear-btn.sc-nano-file-upload{margin:0;font-size:inherit;padding:0;border:0;outline:none;display:flex;align-items:center;inline-size:auto;color:var(--color-btn-text);background:var(--color-btn-bg)}.is-invalid.sc-nano-file-upload-h .file-upload__clear-btn.sc-nano-file-upload{color:var(--color-error)}.file-upload__clear-btn.sc-nano-file-upload:focus-visible>nano-icon.sc-nano-file-upload{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.file-upload__clear-btn.sc-nano-file-upload .nano-icon.sc-nano-file-upload{margin:0.1rem 0 0 var(--nano-spacing-sm)}.file-upload--focus.sc-nano-file-upload .file-upload__btn-content.sc-nano-file-upload{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.file-upload__btn-content.sc-nano-file-upload div.sc-nano-file-upload{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-inline-size:0;display:block}.file-upload--focus.sc-nano-file-upload .file-upload__btn-content.sc-nano-file-upload div.sc-nano-file-upload{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.file-upload__icon.sc-nano-file-upload{align-self:center;margin-inline-start:var(--nano-spacing-sm);size:var(--nano-icon-size-small)}.file-upload__icon-error.sc-nano-file-upload{color:var(--color-error);opacity:0}.file-upload--invalid.sc-nano-file-upload .file-upload__icon-error.sc-nano-file-upload{opacity:1}.file-upload__icon-success.sc-nano-file-upload{color:var(--nano-color-success-1100);opacity:0}.file-upload--valid.sc-nano-file-upload .file-upload__icon-success.sc-nano-file-upload{opacity:1}";export{s as nano_file_upload}
4
+ import{r as i,c as o,g as a,a as l}from"./index-CX_Hk6ss.js";import{h as e}from"./renderer-ZmozgREV.js";let n=0,t=()=>new DataTransfer;try{t()}catch{try{t=()=>new ClipboardEvent("").clipboardData,t()}catch{t=null}}const s=class{constructor(a){i(this,a),this.nanoChange=o(this,"nanoChange",7),this.nanoFocus=o(this,"nanoFocus",7),this.nanoBlur=o(this,"nanoBlur",7),this.nanoValidate=o(this,"nanoValidate",7)}inputEl;publicInputEl;mo;fileInputId="nano-file-upload-"+n++;canChangeFileList=!!t;removeFiles=[];hasHelperSlot;hasLabelSlot;errorMessage="";isDragging=!1;fileList=[];fileListChange(){this.canChangeFileList&&(this.publicInputEl.value="",this.inputEl.files=this.arrToFileList(this.fileList.map((i=>i.file))),setTimeout((()=>{this.nanoChange.emit({value:this.value,files:this.files})}),20))}hasFocus;get host(){return a(this)}name;accept;capture;maxFileSize=1;maxFiles=1;_label="";get label(){return this.required&&!this._label.endsWith("*")?this._label+" *":this._label}set label(i){this._label=i}placeholder="Choose a file";hideLabel=!1;required=!1;disabled=!1;clearable=!1;showInlineError=!0;validateOn="submitThenDirty";form;shouldValidate(){this.inputEl&&(this.validate(),requestAnimationFrame((()=>{"dirty"===this.validateOn&&this.showInlineValidation()})))}_invalid=null;get invalid(){return this._invalid}get validityMessage(){return this.inputEl?this.inputEl.validationMessage:""}get files(){return this.inputEl?Array.from(this.inputEl.files).map((i=>(i.objectURL=URL.createObjectURL(i),i))):[]}set files(i){this.addNewFiles(this.arrToFileList(i))}get value(){return this.inputEl?this.inputEl.value:""}set value(i){""===i&&this.inputEl&&(this.fileList=[],this.inputEl.value="")}nanoChange;nanoFocus;nanoBlur;nanoValidate;async reportValidity(i){return i&&(this.validate(),this.showInlineValidation()),{isValid:!this.invalid,errorMessage:this.inputEl.validationMessage}}async setFocus(){this.inputEl&&this.inputEl.focus()}getInputElement(){return Promise.resolve(this.inputEl)}async showError(i){this.inputEl&&(this.inputEl.setCustomValidity(i),this.showInlineValidation())}globalClickHandler(i){this.hasFocus&&i.composedPath().every((i=>i!==this.host))&&this.onBlur()}globalKeydownHandler(i){this.hasFocus&&"Tab"===i.key&&i.target!==this.inputEl&&this.onBlur()}onReset(i){(this.form?document.querySelector("#"+this.form):this.host.closest("form"))&&i.target===this.host.closest("form")&&(this.value="")}onClearClick=()=>{this.value=""};onBlur=()=>{this.hasFocus=!1,this.validate(),"dirty"===this.validateOn&&this.showInlineValidation(),this.nanoBlur.emit()};onFocus=()=>{this.hasFocus=!0,this.nanoFocus.emit()};arrToFileList(i){const o=t();for(let a=0,l=i.length;a<l;a++)o.items.add(i[a]);return o.files}checkFileSize(i){return i/1e6<=this.maxFileSize}checkFileType(i){return!this.accept||!!i&&this.accept.match(i)&&this.accept.match(i).length>0}validate=()=>{let i;this.errorMessage="",this.inputEl.setCustomValidity(""),this.inputEl.validity.valid?this.fileList.length>this.maxFiles?i=`Maximum number of files exceeded (${this.maxFiles})`:this.fileList.forEach((o=>{let a=null;this.checkFileSize(o.file.size)?this.checkFileType(o.file.type)||(a=`File type is not allowed (${this.accept})`):a="Maximum file size exceeded. Max file size is "+this.maxFileSize+"Mb",o.validationMessage=a,o.valid=!a,a&&(i=a)})):i=this.inputEl.validationMessage,i?this.inputEl.setCustomValidity(i):(this.inputEl.setCustomValidity(""),this.errorMessage="")};showInlineValidation(i){"submitThenDirty"===this.validateOn&&(this.validateOn="dirty"),this._invalid=!1,this.errorMessage="",this.inputEl.validity.valid||(this.errorMessage=this.inputEl.validationMessage,this._invalid=!0),this.nanoValidate.emit({isValid:!this._invalid,errorMessage:this.inputEl.validationMessage,originalEvent:i})}slotChangeObserver(){this.mo&&this.mo.disconnect(),(this.mo=new MutationObserver((()=>this.processSlottedContent()))).observe(this.host,{childList:!0,subtree:!0})}processSlottedContent(){this.hasLabelSlot=!!this.host.querySelectorAll('[slot="label"]'),this.hasHelperSlot=!!this.host.querySelector('[slot="helper"]')}addNewFiles(i){const o=Array.from(i).map((i=>({file:i,location:URL.createObjectURL(i),valid:!0,validationMessage:null})));if(this.canChangeFileList&&this.maxFiles>1){const i=o.filter((i=>!this.fileList.find((o=>o.file.name===i.file.name))));this.fileList=[...this.fileList,...i]}else this.fileList=o}onInvalid=i=>{this.showInlineError&&i.preventDefault(),this.validate(),this.showInlineValidation(i)};onFileChoose=i=>{const o=i.target.files;o&&o.length&&this.addNewFiles(i.target.files)};onFileRemoveFileClick=(i,o)=>{this.canChangeFileList&&(this.removeFiles.push(o),i.target.closest(".file-upload__list-item--active").classList.remove("file-upload__list-item--active"))};onFileRemoveAnim=()=>{if(this.canChangeFileList&&this.removeFiles.length){this.fileList=this.fileList.filter((i=>!this.removeFiles.find((o=>o===i))));try{this.removeFiles.forEach((i=>i.location?URL.revokeObjectURL(i.location):""))}catch(i){console.error(i)}this.removeFiles=[]}};onInputChange=()=>{this.nanoChange.emit({value:this.value,files:this.files})};onDragStop=i=>{i.preventDefault(),i.stopPropagation(),this.isDragging=!1};onDragStart=i=>{i.preventDefault(),i.stopPropagation(),this.isDragging=!0};onDrop=i=>{this.onDragStop(i),i.dataTransfer.files&&i.dataTransfer.files.length&&this.addNewFiles(i.dataTransfer.files)};disconnectedCallback(){this.mo&&this.mo.disconnect()}componentDidLoad(){this.slotChangeObserver()}componentWillLoad(){this.processSlottedContent()}FileUploadInput=(i,o)=>{const a=this.fileInputId+"-lbl",l=this.showInlineError||this.hasHelperSlot?this.fileInputId+"-more":"";return[e("div",{class:"file-upload__"+i+"-wrap"},e("label",{class:"file-upload__"+i,htmlFor:this.fileInputId,id:a,onDrop:i=>{this.onDrop(i),this.onDragStop(i)},onDragEnd:this.onDragStop,onDragLeave:this.onDragStop,onDragEnter:this.onDragStart,onDragOver:this.onDragStart},(!!this.label||this.hasLabelSlot&&"drop"!==i)&&e("div",{class:"file-upload__label "+(this.hideLabel?"visually-hide":"")},this.label&&this.label.length?this.label:"",!this.label&&this.hasLabelSlot&&"drop"!==i&&e("slot",{name:"label"})),"drop"===i&&e("div",{class:"file-upload__drop-area"},e("div",null,this.hasLabelSlot&&e("slot",{name:"label"})),e("div",null,"Drag and drop or ",e("span",null,"browse"))),"btn"===i&&e("div",{class:"file-upload__button button--keyline button--icon-start "+(this.hasFocus?"button--focus":"")},e("nano-cta",{secondary:!0,class:"file-upload__btn-content"},e("div",{class:"button",disabled:this.disabled},this.fileList.length?this.fileList[0].file.name:this.placeholder)),!!this.value&&this.clearable&&!this.disabled&&e("button",{type:"button",class:"icon file-upload__clear-btn",tabindex:"0","aria-label":"Clear selected file",onClick:this.onClearClick},e("nano-icon",{name:"light/xmark"})),!this.disabled&&this.showInlineError&&e("nano-icon",this._invalid?{name:"solid/circle-xmark",class:"file-upload__icon file-upload__icon-error"}:{name:"solid/circle-check",class:"file-upload__icon file-upload__icon-success"})),e("input",{"aria-labelledby":a+" "+l+" "+o,type:"file",id:this.fileInputId,accept:this.accept,class:"file-upload__input",multiple:this.maxFiles>1,disabled:this.disabled,name:this.canChangeFileList?void 0:this.name,form:this.form,ref:i=>{this.canChangeFileList?this.publicInputEl=i:this.inputEl=i},onChange:this.onFileChoose,onFocus:this.onFocus,onReset:this.onInputChange})),e("input",{name:this.canChangeFileList?this.name:void 0,form:this.form,ref:i=>{this.canChangeFileList&&(this.inputEl=i)},type:"file",id:this.fileInputId+"-hidden",tabIndex:-1,multiple:!0,class:"file-upload__input",disabled:this.disabled,required:this.required,accept:this.accept,onInvalid:this.onInvalid,onChange:this.onInputChange})),this.showInlineError||this.hasHelperSlot?e("div",{class:"file-upload__more",id:l},this.showInlineError&&this.errorMessage.length?e("div",{class:"file-upload__error"},this.errorMessage):"",e("div",{class:"file-upload__help"},e("slot",{name:"helper"}))):""]};button=()=>this.FileUploadInput("btn");dropArea=()=>{const i=this.fileInputId+"-list";return[this.FileUploadInput("drop",i),e("output",{class:"file-upload__list-wrap",id:i},!!this.fileList&&this.fileList.length>0&&e("ul",{class:"file-upload__list list"},this.fileList.map((i=>e("li",{key:i.file.name,class:"file-upload__list-item file-upload__list-item--active list-item",onAnimationEnd:()=>this.onFileRemoveAnim()},e("span",{class:"list-title"},i.file.name),!i.valid&&e("nano-tooltip",{content:i.validationMessage,placement:"left"},e("nano-icon-button",{class:"list-button list-error",iconName:"light/triangle-exclamation",label:"File error"})),this.canChangeFileList&&e("nano-icon-button",{class:"list-button list-button--view",type:"button",iconName:"light/eye",label:"View file",target:"_blank",href:i.location}),this.canChangeFileList&&e("nano-icon-button",{onClick:o=>this.onFileRemoveFileClick(o,i),class:"list-button list-button--remove",iconName:"light/xmark",label:"Remove file"}))))))]};render(){return e(l,{key:"c6fc291c7ac3c990d5304a2589c7dd1a0193333e",class:"nano-file-upload"},e("div",{key:"12fd1e6551fe6ff6e1eb6a84000a21e526c61c36",class:{"file-upload":!0,"file-upload--dragging":this.isDragging,"file-upload--focus":this.hasFocus,"file-upload--invalid":!0===this._invalid,"file-upload--valid":!1===this._invalid}},e(this.maxFiles>1?this.dropArea:this.button,null)))}static get watchers(){return{fileList:["fileListChange","shouldValidate"],maxFiles:["shouldValidate"],maxFileSize:["shouldValidate"],capture:["shouldValidate"],accept:["shouldValidate"],required:["shouldValidate"],disabled:["shouldValidate"]}}};s.style=".sc-nano-file-upload-h,*.sc-nano-file-upload,*.sc-nano-file-upload::before,*.sc-nano-file-upload::after{box-sizing:border-box}[hidden].sc-nano-file-upload{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-file-upload-h,*.sc-nano-file-upload,*.sc-nano-file-upload::before,*.sc-nano-file-upload::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-file-upload-h,*.sc-nano-file-upload,*.sc-nano-file-upload::before,*.sc-nano-file-upload::after{box-sizing:border-box}[hidden].sc-nano-file-upload{display:none !important}@media (prefers-reduced-motion: reduce){.sc-nano-file-upload-h,*.sc-nano-file-upload,*.sc-nano-file-upload::before,*.sc-nano-file-upload::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}.sc-nano-file-upload-h{min-block-size:1rem;display:block;--color-error:var(--nano-color-danger-1100);--color-error-light:var(--nano-color-danger-100);--color-text:var(--nano-color-neutral-1400);--color-drop-browse:var(--nano-color-primary-1200);--color-drop-border:var(--nano-color-primary-1200);--color-drop-bg:var(--nano-color-primary-75);--drop-height:3.5em;--color-btn-bg:var(--nano-color-base-0);--color-btn-border:var(--nano-color-primary-1000);--color-btn-text:var(--nano-color-primary-1000)}[disabled].sc-nano-file-upload-h:not([disabled=false]){cursor:not-allowed}[disabled].sc-nano-file-upload-h:not([disabled=false]) *.sc-nano-file-upload{pointer-events:none !important}.file-upload--invalid.sc-nano-file-upload{--color-drop-bg:var(--color-error-light)}.file-upload--dragging.sc-nano-file-upload{--color-drop-bg:var(--nano-color-success-50)}.file-upload__label.sc-nano-file-upload{font-size:var(--nano-font-size-xs);margin:0;line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose)}[disabled].sc-nano-file-upload-h:not([disabled=false]) .file-upload__label.sc-nano-file-upload{color:var(--nano-color-neutral-1200)}.file-upload__input.sc-nano-file-upload{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.file-upload__error.sc-nano-file-upload,.file-upload__help.sc-nano-file-upload,.file-upload__more.sc-nano-file-upload,.file-upload__label.sc-nano-file-upload{display:block;inline-size:100%;white-space:nowrap;text-overflow:ellipsis}.file-upload__more.sc-nano-file-upload{margin-block:var(--nano-spacing-sm) 0;position:relative}.file-upload__more.sc-nano-file-upload:has(.file-upload__error) .file-upload__help.sc-nano-file-upload{display:none !important}.file-upload__error.sc-nano-file-upload,.file-upload__help.sc-nano-file-upload{inset-block-start:0;inset-inline-start:0;font-style:italic;font-size:var(--nano-font-size-2xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose)}.file-upload--invalid.sc-nano-file-upload .file-upload__error.sc-nano-file-upload,.file-upload--invalid.sc-nano-file-upload .file-upload__help.sc-nano-file-upload{opacity:1}.file-upload__error.sc-nano-file-upload{color:var(--color-error);opacity:0;display:none;transition:all var(--nano-transition-fast) ease;transition-behavior:allow-discrete}.file-upload--invalid.sc-nano-file-upload .file-upload__error.sc-nano-file-upload{opacity:1;display:block}.file-upload__help.sc-nano-file-upload{opacity:1;color:var(--color-text);display:block}.file-upload--invalid.sc-nano-file-upload .file-upload__help.sc-nano-file-upload{opacity:0;display:none}[disabled].sc-nano-file-upload-h:not([disabled=false]) .file-upload__help.sc-nano-file-upload{color:var(--nano-color-neutral-1200);opacity:0.8}.file-upload__drop.sc-nano-file-upload{position:relative;inline-size:100%;display:inline-block}.file-upload__drop-area.sc-nano-file-upload{flex-direction:column;background-color:var(--color-drop-bg);color:var(--color-text);min-block-size:var(--drop-height);padding:var(--nano-spacing-md);display:flex;align-items:center;justify-content:center;position:relative;transition:background-color var(--nano-transition-x-fast) ease-in-out;font-size:var(--nano-font-size-sm);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose)}[disabled].sc-nano-file-upload-h:not([disabled=false]) .file-upload__drop-area.sc-nano-file-upload{color:var(--nano-color-neutral-1200);background-color:var(--nano-color-neutral-300);border-color:var(--nano-color-neutral-1200)}.file-upload__drop-area.sc-nano-file-upload::after{content:\"\";position:absolute;border-width:1px;background-color:var(--color-drop-border);-webkit-mask-image:url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='white' stroke-width='2' stroke-dasharray='6%2c 8' stroke-dashoffset='0'/%3e%3c/svg%3e\");mask-image:url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='white' stroke-width='2' stroke-dasharray='6%2c 8' stroke-dashoffset='0'/%3e%3c/svg%3e\");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;inset:0;transition:top var(--nano-transition-x-fast) ease-in-out, bottom var(--nano-transition-x-fast) ease-in-out, left var(--nano-transition-x-fast) ease-in-out, right var(--nano-transition-x-fast) ease-in-out}.file-upload--invalid.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload::after{background-color:var(--color-error)}.file-upload--dragging.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload::after{background-color:var(--nano-color-success-1100);inset:5px}.file-upload__drop-area.sc-nano-file-upload span.sc-nano-file-upload{color:var(--color-drop-browse);text-decoration:underline;z-index:1;cursor:pointer;position:relative}[disabled].sc-nano-file-upload-h:not([disabled=false]) .file-upload__drop-area.sc-nano-file-upload span.sc-nano-file-upload{color:var(--nano-color-neutral-1200);opacity:0.8}.file-upload--focus.sc-nano-file-upload .file-upload__drop-area.sc-nano-file-upload span.sc-nano-file-upload{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.file-upload__list.sc-nano-file-upload{list-style:none;margin:var(--nano-spacing-xs) 0 0;padding:0}.file-upload__list-wrap.sc-nano-file-upload{position:relative;inset-block-start:-4px}.file-upload__list-item.sc-nano-file-upload{inline-size:100%;margin:0 0 2px;display:flex;align-items:center;animation:hideListItem var(--nano-transition-fast) ease-in-out forwards}@keyframes hideListItem{0%{opacity:1}100%{opacity:0}}.file-upload__list-item--active.sc-nano-file-upload{animation:showListItem var(--nano-transition-fast) ease-in-out forwards}@keyframes showListItem{0%{opacity:0}100%{opacity:1}}.file-upload__list.sc-nano-file-upload .list-title.sc-nano-file-upload{background:var(--color-drop-bg);padding:var(--nano-spacing-xs);margin-inline-end:2px;display:block;inline-size:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--nano-font-size-2xs);color:var(--color-text)}.file-upload__list.sc-nano-file-upload .list-button.sc-nano-file-upload{--padding:0.406rem;background:var(--color-drop-bg);margin:2px}.file-upload__list.sc-nano-file-upload .list-error.sc-nano-file-upload{--color:var(--color-error)}.file-upload__drop-area.sc-nano-file-upload,.file-upload__button.sc-nano-file-upload{margin-block:var(--nano-spacing-sm) 0}.file-upload__button.sc-nano-file-upload{max-inline-size:100%;display:flex}.is-invalid.sc-nano-file-upload-h .file-upload__button.sc-nano-file-upload{color:var(--color-error)}.file-upload--dragging.sc-nano-file-upload .file-upload__button.sc-nano-file-upload{--nano-btn-border-style:dashed}.file-upload__clear-btn.sc-nano-file-upload{margin:0;font-size:inherit;padding:0;border:0;outline:none;display:flex;align-items:center;inline-size:auto;color:var(--color-btn-text);background:var(--color-btn-bg)}.is-invalid.sc-nano-file-upload-h .file-upload__clear-btn.sc-nano-file-upload{color:var(--color-error)}.file-upload__clear-btn.sc-nano-file-upload:focus-visible>nano-icon.sc-nano-file-upload{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.file-upload__clear-btn.sc-nano-file-upload .nano-icon.sc-nano-file-upload{margin:0.1rem 0 0 var(--nano-spacing-sm)}.file-upload--focus.sc-nano-file-upload .file-upload__btn-content.sc-nano-file-upload{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.file-upload__btn-content.sc-nano-file-upload div.sc-nano-file-upload{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-inline-size:0;display:block}.file-upload--focus.sc-nano-file-upload .file-upload__btn-content.sc-nano-file-upload div.sc-nano-file-upload{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.file-upload__icon.sc-nano-file-upload{align-self:center;margin-inline-start:var(--nano-spacing-sm);size:var(--nano-icon-size-small)}.file-upload__icon-error.sc-nano-file-upload{color:var(--color-error);opacity:0}.file-upload--invalid.sc-nano-file-upload .file-upload__icon-error.sc-nano-file-upload{opacity:1}.file-upload__icon-success.sc-nano-file-upload{color:var(--nano-color-success-1100);opacity:0}.file-upload--valid.sc-nano-file-upload .file-upload__icon-success.sc-nano-file-upload{opacity:1}";export{s as nano_file_upload}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import{r as n,a as e,h as a,l as o}from"./index-DXvE-U_j.js";import{a as t}from"./style-xLaX004n.js";const d=class{constructor(e){n(this,e)}get host(){return e(this)}componentWillLoad(){t(this.host.shadowRoot)}render(){return a("footer",{key:"7df3395d83480c2efaffd3a745dcb8486492ec8d",class:"footer"},a("div",{key:"2277f9b209312a0be9c503590f9871c3da7ab7c5",class:"upper"},a("div",{key:"43ca2ad3f23948f23d787c3179f6012021fe0786",class:"top"},a("div",{key:"05ee9cb69076053c9accbae4d188232d344e7bf0",class:"top-start"},a("slot",{key:"a34bf50a87e10191e65d0be67f88c16abcf48304",name:"top-start_heading"}),a("slot",{key:"db386e86277ae22fa9b5e7723c78ec48b4ff5444",name:"top-start_content"})),a("div",{key:"061fd17bfdb8ad8af11dce8cd3abac07d7c58290",class:"top-center"},a("slot",{key:"885c3acef88311528147a249ca29003ec64b10c0",name:"top-center_heading"}),a("slot",{key:"8d4f513adfd5f24880ca76a214d2d2051d3b9ad7",name:"top-center_content"})),a("div",{key:"f6138faa2e07af7e9e46a20e1510708f58ddba27",class:"top-end"},a("slot",{key:"aa7570bfa51e27ec2745b2563db6736c1b7def19",name:"top-end_heading"}),a("slot",{key:"9dd64f4ad61d9a0d5dd1b305e9089c5190e89738",name:"top-end_content"})))),a("div",{key:"bbf554d8a85ee66cf0a38f82a8de608615510722",class:"lower nano-theme-dark"},a("div",{key:"4a46e9541cc2fa7b45cfa3fd3a8628e5aed47eae",class:"middle"},a("div",{key:"ef13e5c2a35f64533bba7522fa34c964c4ee8acc",class:"middle-start"},a("img",{key:"2bf403ca600f0588be99898b4e0a42ee5f64f736",src:o("../nano-assets/ont-logo-light.svg"),alt:"Oxford Nanopore Technologies logo. Featuring a stylised representation of a nanopore,\n (a tiny protein channel embedded in a membrane) through which DNA or RNA molecules are passed in for sequencing.",height:"46"})),a("div",{key:"c3796b77148a0ba37fba2a7d1f3583233294de22",class:"middle-center"},a("a",{key:"abd8ff0fcbb1b3e7365090310c67ae0c29a8073f",href:"https://x.com/nanopore",target:"_blank"},a("nano-icon",{key:"78ec0f32afa4da8f87fce46f36c2958a61cadaef",name:"brands/x-twitter",size:"large",ariaLabel:"X (formerly Twitter)"})),a("a",{key:"28315142cc17313a65d9039601b26bbe2400d715",href:"https://bsky.app/profile/nanoporetech.com",target:"_blank"},a("nano-icon",{key:"155bedeeea937afe7740c867f9780ad26dd6eadf",name:"brands/bluesky",size:"large",ariaLabel:"Bluesky"})),a("a",{key:"4047f00cd32d045bd46660aaa9eb17536a5555f4",href:"https://www.youtube.com/channel/UC5yMlYjHSgFfZ37LYq-dzig",target:"_blank"},a("nano-icon",{key:"63e9bb9f849a10b70b1a5cd32c1f9545587f8902",name:"brands/youtube",size:"large",ariaLabel:"YouTube"})),a("a",{key:"fd2f4d639c13c99523a9f026457414aa805171bc",href:"https://www.facebook.com/Oxford-Nanopore-Technologies-251034380246/",target:"_blank"},a("nano-icon",{key:"71a31a51945079e3419ce150a7908db2125a6523",name:"brands/facebook",size:"large",ariaLabel:"Facebook"})),a("a",{key:"426b6c582345b1e32bbd0e6ca206a75cd56ed434",href:"https://www.linkedin.com/company/oxford-nanopore-technologies",target:"_blank"},a("nano-icon",{key:"ec8256f6a70d0bb68beacab2a8c8adc381d26661",name:"brands/linkedin",size:"large",ariaLabel:"LinkedIn"})),a("a",{key:"ddf5456cb764238fb5d932b2b44cf5466e82ad2f",href:"https://www.instagram.com/oxfordnanopore",target:"_blank"},a("nano-icon",{key:"293464c660b8734f0bae8eb612c8377e763b8053",name:"brands/instagram",size:"large",ariaLabel:"Instagram"}))),a("div",{key:"6b7ed0e2ad110329ce9c5e4e085278d4e7dd4568",class:"middle-end"},a("slot",{key:"15c3d94e8f35ee98fafdc6f062d9639b0ac54b63",name:"middle-end"}))),a("div",{key:"a72b24bd18b825b160608a1b20e221b37c070bc4",class:"bottom"},a("div",{key:"a63f935bacfc660dc1c45e0dcb43514272837fdd",class:"bottom-start"},a("slot",{key:"1fb95aa9e6da5ae676470cf532c47ecbe5ae0015",name:"bottom-start"},a("p",{key:"d78582a9baa27c818155577a7a49ccbc6b0fe141"},"© 2008 - 2025 Oxford Nanopore Technologies plc. All rights reserved. Registered Office: Gosling Building, Edmund Halley Road, Oxford Science Park, OX4 4DQ, UK | Registered No. 05386273 | VAT No 336942382. Oxford Nanopore Technologies, the Wheel icon, EPI2ME, Flongle, GridION, Metrichor, MinION, MinIT, MinKNOW, Plongle, PromethION, SmidgION, Ubik and VolTRAX are registered trademarks of Oxford Nanopore Technologies plc in various countries. Oxford Nanopore Technologies products are not intended for use for health assessment or to diagnose, treat, mitigate, cure, or prevent any disease or condition."))),a("div",{key:"08a48aaf322de5c4292e24803e8ca6da40e1e3c5",class:"bottom-end"},a("slot",{key:"81873c5375cc33b1f1b533354b960a66eadaf94b",name:"bottom-end"})))))}};d.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 }:host {\n --col-gap: var(--nano-spacing-l1-default);\n --icon-gap-md: var(--nano-spacing-md);\n --icon-gap-sm: var(--nano-spacing-sm);\n --vertical-padding: var(--nano-spacing-l1-default);\n --horizontal-padding: 0;\n --header-margin: 0 0 var(--nano-spacing-l1-default) 0;\n display: block;\n}\n:host .footer {\n container-type: inline-size;\n container-name: footer-container;\n display: flex;\n flex-direction: column;\n}\n@container footer-container (max-width: 768px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-md);\n --col-gap: var(--nano-spacing-l);\n --vertical-padding: var(--nano-spacing-md);\n }\n :host .top-start,\n :host .top-center,\n :host .top-end {\n --header-margin: 0 0 var(--nano-spacing-md) 0;\n }\n}\n@container footer-container (max-width: 1023px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-l);\n }\n}\n@container footer-container (max-width: 1346px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-l1-default);\n }\n}\n:host .upper {\n border-block-start: 1px solid var(--nano-color-neutral-200);\n}\n:host .lower {\n background-color: var(--nano-color-basic-black);\n color: var(--nano-color-basic-white);\n}\n:host .top,\n:host .middle,\n:host .bottom {\n display: grid;\n gap: var(--col-gap);\n margin: 0 auto;\n max-inline-size: 1266px;\n}\n:host .top,\n:host .middle {\n grid-template-columns: repeat(3, 1fr);\n padding: var(--vertical-padding) var(--horizontal-padding);\n}\n:host .bottom {\n grid-template-columns: repeat(2, 1fr);\n padding-inline: var(--horizontal-padding);\n padding-block-end: var(--vertical-padding);\n}\n:host .middle-center a {\n color: inherit;\n}\n:host .middle-center a:hover {\n color: var(--nano-color-primary-1000);\n}\n:host .middle-center a:focus-visible {\n outline: var(--nano-focus-ring);\n outline-offset: var(--nano-focus-ring-offset);\n}\n:host .top-start,\n:host .top-center,\n:host .top-end {\n flex-direction: column;\n}\n:host .middle-start,\n:host .middle-center,\n:host .middle-end {\n align-items: center;\n}\n:host .middle-start {\n display: flex;\n justify-content: flex-start;\n}\n:host .middle-center {\n display: flex;\n justify-content: center;\n gap: var(--icon-gap-md);\n flex-wrap: nowrap;\n}\n:host .middle-end {\n display: grid;\n grid-template-columns: repeat(3, minmax(0, 20rem));\n gap: var(--icon-gap-sm);\n justify-content: end;\n}\n:host [slot=middle-end] {\n inline-size: 100%;\n}\n:host .bottom-start p,\n:host .bottom-start ::slotted(p), .bottom-start :host::slotted(p) {\n font-weight: var(--nano-font-weight-normal) !important;\n font-size: var(--nano-font-size-xs) !important;\n line-height: var(--nano-line-height-normal) !important;\n letter-spacing: var(--nano-letter-spacing-loose) !important;\n margin-block: 0 !important;\n}\n:host .bottom-end {\n display: flex;\n justify-content: flex-end;\n}\n:host .bottom-end ::slotted(*), .bottom-end :host::slotted(*) {\n --input-font-size: var(--nano-font-size-2xs) !important;\n max-inline-size: 9rem !important;\n}\n@container footer-container (max-width: 912px) {\n :host .top,\n :host .middle,\n :host .bottom {\n grid-template-columns: 1fr;\n }\n :host .middle-center {\n flex-wrap: wrap;\n }\n :host .middle-end {\n grid-template-columns: minmax(0, 6.6rem);\n }\n :host .bottom {\n display: flex;\n flex-direction: column-reverse;\n align-items: center;\n }\n :host .middle-start,\n :host .middle-center,\n :host .middle-end {\n justify-content: center;\n }\n}";export{d as nano_footer}
4
+ import{r as n,g as e,h as a,k as o}from"./index-CX_Hk6ss.js";import{a as t}from"./style-xLaX004n.js";const d=class{constructor(e){n(this,e)}get host(){return e(this)}componentWillLoad(){t(this.host.shadowRoot)}render(){return a("footer",{key:"7df3395d83480c2efaffd3a745dcb8486492ec8d",class:"footer"},a("div",{key:"2277f9b209312a0be9c503590f9871c3da7ab7c5",class:"upper"},a("div",{key:"43ca2ad3f23948f23d787c3179f6012021fe0786",class:"top"},a("div",{key:"05ee9cb69076053c9accbae4d188232d344e7bf0",class:"top-start"},a("slot",{key:"a34bf50a87e10191e65d0be67f88c16abcf48304",name:"top-start_heading"}),a("slot",{key:"db386e86277ae22fa9b5e7723c78ec48b4ff5444",name:"top-start_content"})),a("div",{key:"061fd17bfdb8ad8af11dce8cd3abac07d7c58290",class:"top-center"},a("slot",{key:"885c3acef88311528147a249ca29003ec64b10c0",name:"top-center_heading"}),a("slot",{key:"8d4f513adfd5f24880ca76a214d2d2051d3b9ad7",name:"top-center_content"})),a("div",{key:"f6138faa2e07af7e9e46a20e1510708f58ddba27",class:"top-end"},a("slot",{key:"aa7570bfa51e27ec2745b2563db6736c1b7def19",name:"top-end_heading"}),a("slot",{key:"9dd64f4ad61d9a0d5dd1b305e9089c5190e89738",name:"top-end_content"})))),a("div",{key:"bbf554d8a85ee66cf0a38f82a8de608615510722",class:"lower nano-theme-dark"},a("div",{key:"4a46e9541cc2fa7b45cfa3fd3a8628e5aed47eae",class:"middle"},a("div",{key:"ef13e5c2a35f64533bba7522fa34c964c4ee8acc",class:"middle-start"},a("img",{key:"2bf403ca600f0588be99898b4e0a42ee5f64f736",src:o("../nano-assets/ont-logo-light.svg"),alt:"Oxford Nanopore Technologies logo. Featuring a stylised representation of a nanopore,\n (a tiny protein channel embedded in a membrane) through which DNA or RNA molecules are passed in for sequencing.",height:"46"})),a("div",{key:"c3796b77148a0ba37fba2a7d1f3583233294de22",class:"middle-center"},a("a",{key:"abd8ff0fcbb1b3e7365090310c67ae0c29a8073f",href:"https://x.com/nanopore",target:"_blank"},a("nano-icon",{key:"78ec0f32afa4da8f87fce46f36c2958a61cadaef",name:"brands/x-twitter",size:"large",ariaLabel:"X (formerly Twitter)"})),a("a",{key:"28315142cc17313a65d9039601b26bbe2400d715",href:"https://bsky.app/profile/nanoporetech.com",target:"_blank"},a("nano-icon",{key:"155bedeeea937afe7740c867f9780ad26dd6eadf",name:"brands/bluesky",size:"large",ariaLabel:"Bluesky"})),a("a",{key:"4047f00cd32d045bd46660aaa9eb17536a5555f4",href:"https://www.youtube.com/channel/UC5yMlYjHSgFfZ37LYq-dzig",target:"_blank"},a("nano-icon",{key:"63e9bb9f849a10b70b1a5cd32c1f9545587f8902",name:"brands/youtube",size:"large",ariaLabel:"YouTube"})),a("a",{key:"fd2f4d639c13c99523a9f026457414aa805171bc",href:"https://www.facebook.com/Oxford-Nanopore-Technologies-251034380246/",target:"_blank"},a("nano-icon",{key:"71a31a51945079e3419ce150a7908db2125a6523",name:"brands/facebook",size:"large",ariaLabel:"Facebook"})),a("a",{key:"426b6c582345b1e32bbd0e6ca206a75cd56ed434",href:"https://www.linkedin.com/company/oxford-nanopore-technologies",target:"_blank"},a("nano-icon",{key:"ec8256f6a70d0bb68beacab2a8c8adc381d26661",name:"brands/linkedin",size:"large",ariaLabel:"LinkedIn"})),a("a",{key:"ddf5456cb764238fb5d932b2b44cf5466e82ad2f",href:"https://www.instagram.com/oxfordnanopore",target:"_blank"},a("nano-icon",{key:"293464c660b8734f0bae8eb612c8377e763b8053",name:"brands/instagram",size:"large",ariaLabel:"Instagram"}))),a("div",{key:"6b7ed0e2ad110329ce9c5e4e085278d4e7dd4568",class:"middle-end"},a("slot",{key:"15c3d94e8f35ee98fafdc6f062d9639b0ac54b63",name:"middle-end"}))),a("div",{key:"a72b24bd18b825b160608a1b20e221b37c070bc4",class:"bottom"},a("div",{key:"a63f935bacfc660dc1c45e0dcb43514272837fdd",class:"bottom-start"},a("slot",{key:"1fb95aa9e6da5ae676470cf532c47ecbe5ae0015",name:"bottom-start"},a("p",{key:"d78582a9baa27c818155577a7a49ccbc6b0fe141"},"© 2008 - 2025 Oxford Nanopore Technologies plc. All rights reserved. Registered Office: Gosling Building, Edmund Halley Road, Oxford Science Park, OX4 4DQ, UK | Registered No. 05386273 | VAT No 336942382. Oxford Nanopore Technologies, the Wheel icon, EPI2ME, Flongle, GridION, Metrichor, MinION, MinIT, MinKNOW, Plongle, PromethION, SmidgION, Ubik and VolTRAX are registered trademarks of Oxford Nanopore Technologies plc in various countries. Oxford Nanopore Technologies products are not intended for use for health assessment or to diagnose, treat, mitigate, cure, or prevent any disease or condition."))),a("div",{key:"08a48aaf322de5c4292e24803e8ca6da40e1e3c5",class:"bottom-end"},a("slot",{key:"81873c5375cc33b1f1b533354b960a66eadaf94b",name:"bottom-end"})))))}};d.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 }:host {\n --col-gap: var(--nano-spacing-l1-default);\n --icon-gap-md: var(--nano-spacing-md);\n --icon-gap-sm: var(--nano-spacing-sm);\n --vertical-padding: var(--nano-spacing-l1-default);\n --horizontal-padding: 0;\n --header-margin: 0 0 var(--nano-spacing-l1-default) 0;\n display: block;\n}\n:host .footer {\n container-type: inline-size;\n container-name: footer-container;\n display: flex;\n flex-direction: column;\n}\n@container footer-container (max-width: 768px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-md);\n --col-gap: var(--nano-spacing-l);\n --vertical-padding: var(--nano-spacing-md);\n }\n :host .top-start,\n :host .top-center,\n :host .top-end {\n --header-margin: 0 0 var(--nano-spacing-md) 0;\n }\n}\n@container footer-container (max-width: 1023px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-l);\n }\n}\n@container footer-container (max-width: 1346px) {\n :host .top,\n :host .middle,\n :host .bottom {\n --horizontal-padding: var(--nano-spacing-l1-default);\n }\n}\n:host .upper {\n border-block-start: 1px solid var(--nano-color-neutral-200);\n}\n:host .lower {\n background-color: var(--nano-color-basic-black);\n color: var(--nano-color-basic-white);\n}\n:host .top,\n:host .middle,\n:host .bottom {\n display: grid;\n gap: var(--col-gap);\n margin: 0 auto;\n max-inline-size: 1266px;\n}\n:host .top,\n:host .middle {\n grid-template-columns: repeat(3, 1fr);\n padding: var(--vertical-padding) var(--horizontal-padding);\n}\n:host .bottom {\n grid-template-columns: repeat(2, 1fr);\n padding-inline: var(--horizontal-padding);\n padding-block-end: var(--vertical-padding);\n}\n:host .middle-center a {\n color: inherit;\n}\n:host .middle-center a:hover {\n color: var(--nano-color-primary-1000);\n}\n:host .middle-center a:focus-visible {\n outline: var(--nano-focus-ring);\n outline-offset: var(--nano-focus-ring-offset);\n}\n:host .top-start,\n:host .top-center,\n:host .top-end {\n flex-direction: column;\n}\n:host .middle-start,\n:host .middle-center,\n:host .middle-end {\n align-items: center;\n}\n:host .middle-start {\n display: flex;\n justify-content: flex-start;\n}\n:host .middle-center {\n display: flex;\n justify-content: center;\n gap: var(--icon-gap-md);\n flex-wrap: nowrap;\n}\n:host .middle-end {\n display: grid;\n grid-template-columns: repeat(3, minmax(0, 20rem));\n gap: var(--icon-gap-sm);\n justify-content: end;\n}\n:host [slot=middle-end] {\n inline-size: 100%;\n}\n:host .bottom-start p,\n:host .bottom-start ::slotted(p), .bottom-start :host::slotted(p) {\n font-weight: var(--nano-font-weight-normal) !important;\n font-size: var(--nano-font-size-xs) !important;\n line-height: var(--nano-line-height-normal) !important;\n letter-spacing: var(--nano-letter-spacing-loose) !important;\n margin-block: 0 !important;\n}\n:host .bottom-end {\n display: flex;\n justify-content: flex-end;\n}\n:host .bottom-end ::slotted(*), .bottom-end :host::slotted(*) {\n --input-font-size: var(--nano-font-size-2xs) !important;\n max-inline-size: 9rem !important;\n}\n@container footer-container (max-width: 912px) {\n :host .top,\n :host .middle,\n :host .bottom {\n grid-template-columns: 1fr;\n }\n :host .middle-center {\n flex-wrap: wrap;\n }\n :host .middle-end {\n grid-template-columns: minmax(0, 6.6rem);\n }\n :host .bottom {\n display: flex;\n flex-direction: column-reverse;\n align-items: center;\n }\n :host .middle-start,\n :host .middle-center,\n :host .middle-end {\n justify-content: center;\n }\n}";export{d as nano_footer}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import{a as n,r as e,c as a,d as o,l as t}from"./index-DXvE-U_j.js";import{h as i}from"./renderer-BUaAsDso.js";import{a as r}from"./algoliasearch-lite.esm.browser-C1SNUAIj.js";import{d as s}from"./throttle-C93FMm2Z.js";import{a as l}from"./style-xLaX004n.js";import{s as c}from"./search-insights-8OL2oeQN.js";const h=class{get host(){return n(this)}overflowMenu;overflowOpen=!1;logoUrl=location.protocol+"//"+location.host;cartUrl="";msgUrl="";loginUrl="";logoutUrl="";contactUrl="https://nanoporetech.com/contact";_sessionRedirect=window.location.href;get sessionRedirect(){return encodeURIComponent(this._sessionRedirect)}set sessionRedirect(n){this._sessionRedirect=n}cartCount=0;msgCount=0;async openOverflowMenu(){this.overflowOpen=!0}async closeOverflowMenu(){this.overflowOpen=!1}myAccountUrl;async handleMyAccountUrl(){this.myAccountUrl&&("local-logged-in"!==this.myAccountUrl?"local-logged-out"!==this.myAccountUrl?fetch(this.myAccountUrl+"/nav_bar_data.json").then((n=>n.json())).then((n=>{this.myAccountData=n})).catch((n=>{console.error("Error fetching MyAccount data",n)})):this.myAccountData=await import("./local-logged-out-BhOAka-2.js"):this.myAccountData=await import("./local-logged-in-Bycp-mPl.js"))}myAccountData;nanoUserData;userLinks=[];isLoggedIn=!1;get myAccountUser(){return this.myAccountData?.user?.uuid?this.myAccountData.user:null}processUserData(){this.myAccountUser&&(this.userLinks=this.myAccountData?.links.filter((n=>"profile-panel-list"===n.area)),this.loginUrl=this.loginUrl||this.myAccountData.urls.login,this.logoutUrl=this.logoutUrl||this.myAccountData.urls.logout,this.msgUrl=this.msgUrl||this.myAccountData.urls.messages,this.msgCount=this.msgCount||this.myAccountData.notifications.count,this.cartUrl=this.cartUrl||this.myAccountData.urls.cart,this.cartCount=this.cartCount||this.myAccountData.cart.count,this.isLoggedIn=!0,this.nanoUserData.emit(this.myAccountUser))}formatLoginLink(n){return n?this.sessionRedirect?n.endsWith("=")?n+this.sessionRedirect:n.includes("?")?n+"&ReplayState="+this.sessionRedirect:n+"?ReplayState="+this.sessionRedirect:n:""}resizeObserver;cachedWidth;mainMenu;_mainMenuBar;get mainMenuBar(){return this._mainMenuBar}set mainMenuBar(n){this._mainMenuBar!==n&&(this._mainMenuBar=n,this.addMainmenuRo())}shouldResize=!0;breakpoint=0;breakpointChanged(){this.breakpoint<this.bpPartials.mainMenu.breakpoint&&!1===this.shouldResize&&(this.overflowOpen=!1)}debounceResetResize=s((()=>{this.shouldResize=!1}),300);addMainmenuRo(){this.removeMainmenuRo(),(this.resizeObserver=new ResizeObserver((()=>{this.shouldResize||this.mainMenuBar.clientWidth>=this.cachedWidth&&0===this.breakpoint||this.mainMenuBar.clientWidth<=this.cachedWidth&&this.mainMenuBar.clientWidth>=this.mainMenu.scrollWidth||(this.shouldResize=!0,this.breakpoint=0)}))).observe(this.mainMenuBar)}removeMainmenuRo(){this.resizeObserver&&(this.mainMenuBar?this.resizeObserver.unobserve(this.mainMenuBar):this.resizeObserver.disconnect())}handleResize=()=>{this.shouldResize&&(this.breakpoint<4&&this.mainMenu.scrollWidth>this.mainMenuBar.clientWidth?this.breakpoint++:(this.cachedWidth=this.mainMenuBar.clientWidth,this.debounceResetResize()))};algoliaClient;searchResults;searchInput;activeIndex;autocompleteResults;searchForm;searchIndices=[];searchBarShown=!1;searchLoading=!1;_searchValue="";nanoSearchResult;nanoSearchError;nanoSearchReset;searchIndex="All";get searchValue(){return this._searchValue}set searchValue(n){n&&this.host.componentOnReady().then((()=>{this.searchBarShown=!0,this.handleSearchTermChangeEvent(n)}))}async submitSearch(){this.onSearchSubmit()}handleSearchIndex(){if(this.searchIndices?.length){if(this.searchIndex)return this.activeIndex=this.searchIndices.find((n=>n.name===this.searchIndex))||this.searchIndices[0],this.activeIndex;this.activeIndex=this.searchIndices[0]}}initSearch(){if(!this.myAccountData)return;const{search:n}=this.myAccountData;n?.app_id&&n?.api_key&&(this.algoliaClient=r(n.app_id,n.api_key),c.init(n.app_id,n.api_key).then((()=>{this.myAccountUser&&c.setUser(this.myAccountUser.uuid)})),this.searchIndices=this.myAccountData.search.indeces,this.searchIndices.forEach((n=>{n.algoliaIndex=this.algoliaClient.initIndex(n.index)})),this.searchIndex||(this.searchIndex=this.searchIndices[0].name))}onSearchSubmit=async n=>{if(n&&n.preventDefault(),!this.activeIndex||!this.myAccountData||this._searchValue?.length<3)return;this.searchResults||await this.doAlgoliaSearch();const{search:e}=this.myAccountData,a=this.searchResults.results.find((n=>this.activeIndex.index===n.index)),{index:o,domain:t,filters:i,query:r,replicas:s}=a;this.searchBarShown=!1,this.nanoSearchResult.emit({meta:{indexTitle:a.indexName,index:o,domain:t,filters:i,query:r,replicas:s},client:{apiKey:e.api_key,appId:e.app_id}})};async doAlgoliaSearch(){this.searchResults=null;const n=this.searchIndices.map((n=>{const e={clickAnalytics:!0,attributesToSnippet:["body:5","title:8"],indexName:n.index,query:this._searchValue,facets:n.filters,hitsPerPage:5,filters:""};return"Community"===n.name&&(e.filters="created > "+Math.floor((Date.now()-631152e5)/1e3)),e}));try{this.searchLoading=!0,this.searchResults=this.processSearchResults(await this.algoliaClient.search(n))}catch(n){console.error(n),this.nanoSearchError.emit(n)}return this.searchLoading=!1,this.searchResults}processSearchResults(n){const e=n,a=n;return e.results?(e.results.forEach(((n,a)=>{n={...n,indexName:this.searchIndices[a].name,selected:this.activeIndex.name===this.searchIndices[a].name,domain:this.activeIndex.domain||null,domains:this.myAccountData.domains||null,allGroup:!!this.searchIndices[a].allGroup,filters:this.searchIndices[a].filters,replicas:this.activeIndex.replicas},e.results[a]=this.processSearchResults(n)})),e):(a.hits.map((n=>{n.url&&!n.url.match(/^http/)&&(n.url=location.protocol+"//"+this.domainFor(n.origin)+n.url)})),a)}domainFor(n){if(!this.myAccountData)return"";const e=this.myAccountData.domains.find((e=>e.origin===n));return e?e.domain:""}async setAutocompleteResults(){this.autocompleteResults=null,this._searchValue.length<3?this._searchValue.length||this.nanoSearchReset.emit():this.autocompleteResults=(await this.doAlgoliaSearch()).results.find((n=>n.selected))}autocompleteSnippet(n){return n._snippetResult?.title?.value||n.title}handleSearchOpenEvent=n=>{n.target.classList.contains("gn__search-dropdown")&&(this.searchInput.setFocus(),this.searchBarShown=!0)};handleSearchCloseEvent=n=>{n.target.classList.contains("gn__search-dropdown")&&(this.searchBarShown=!1)};handleSearchTermInputEvent=n=>{"input"===n.detail.type&&this.searchInput.value.length>=3&&(this.autocompleteResults=null,this.searchLoading=!0)};handleSearchTermChangeEvent=n=>{this._searchValue!==n&&(this._searchValue=n,this.setAutocompleteResults())};handleSearchIndexChangeEvent=n=>{if(!n.detail?.value?.length)return;const e=n.detail.value;if(this.activeIndex.index===e)return;const a=this.searchIndices.find((n=>n.index===e));a&&a.algoliaIndex&&(this.searchIndex=a.name,this._searchValue.length>=3&&(this.searchInput.setFocus(),this.searchBarShown=!0,this.setAutocompleteResults()))};constructor(n){e(this,n),this.nanoUserData=a(this,"nanoUserData",7),this.nanoSearchResult=a(this,"nanoSearchResult",7),this.nanoSearchError=a(this,"nanoSearchError",7),this.nanoSearchReset=a(this,"nanoSearchReset",7),this.handleResize=s(this.handleResize,75)}componentWillLoad(){this.handleMyAccountUrl(),this.initSearch(),this.processUserData(),l(this.host.shadowRoot)}componentDidRender(){this.handleResize()}loggedInPanel(){if(this.isLoggedIn&&this.myAccountUser)return i("div",{part:"user-panel",class:"gn__user-panel nano-theme-dark"},i("div",{class:"gn__user-panel-head",slot:"label"},i("nano-avatar",{initials:this.myAccountUser.first_name?.charAt(0)+this.myAccountUser.last_name?.charAt(0)},this.myAccountUser.small_avatar_url&&!this.myAccountUser.small_avatar_url.includes("generic")&&i("img",{src:this.myAccountUser.small_avatar_url,alt:"User Avatar",height:40,width:40})),i("div",null,this.myAccountUser.name,i("br",null),this.myAccountUser.job_title,", ",this.myAccountUser.company)),i("div",{class:"gn__user-panel-body"},this.userLinks.map((n=>i("a",{href:n.address,target:n.target||void 0},n.title,("Messages"===n.title||n.address.includes(this.msgUrl)||this.msgUrl.includes(n.address))&&this.msgCount>0&&i("nano-badge",{theme:"danger",strength:"2"},this.msgCount))))),i("div",{class:"gn__user-panel-foot"},i("nano-cta",{secondary:!0,size:"small",icon:"false",class:"gn__login-cta"},i("a",{href:this.formatLoginLink(this.logoutUrl)},"Logout"))))}bpPartials={contact:{tpl:()=>i("a",{href:this.contactUrl},"Contact"),breakpoint:0},mainMenu:{tpl:()=>i("slot",{name:"menu"}),breakpoint:1},logo:{tpl:()=>{},breakpoint:2}};noResultPartial(){if(this.searchLoading||this.autocompleteResults?.hits.length||this._searchValue.length<3)return;const n=[];return"All"===this.searchIndex?(n.push(i("div",{slot:"no-result",class:"gn__search-no-results"},'No results matching for "',i("strong",null,this._searchValue),'" Try another phrase')),n):(this.searchResults.results.forEach((e=>{e.hits.length&&n.push(i("nano-option",{class:"gn__search-result",onNanoSelect:n=>{n.preventDefault(),this.searchIndex=e.indexName,this.onSearchSubmit(n)}},'Show results for "',i("strong",null,this._searchValue),'" in ',i("strong",null,e.indexName)))})),n.unshift(i("div",{slot:n.length?"list-top":"no-result",class:"gn__search-no-results"},'No results matching for "',i("strong",null,this._searchValue),'" in'," ",i("strong",null,this.searchIndex),". Try another phrase")),n)}render(){const n=this.bpPartials;return i(o,{key:"66132ed8841605602bff8c2c750a657ec4d6d83a",class:{"overflow-menu":this.breakpoint>n.mainMenu.breakpoint,"bar-menu":this.breakpoint<=n.mainMenu.breakpoint,"nano-global-nav":!0}},i("div",{key:"c8dfcf4b405c72a14f576fb7b14ce41e8ff49b83",class:{gn:!0,"gn__search-open":this.searchBarShown}},i("nano-drawer",{key:"741e6dc6df0253450f65e792f45fe2a337bb007d",ref:n=>this.overflowMenu=n,label:"Main menu",part:"drawer",class:"gn__drawer nano-theme-dark",placement:"start",open:this.overflowOpen,onNanoAfterHide:()=>this.overflowOpen=!1,onNanoAfterShow:()=>this.overflowOpen=!0},i("div",{key:"b8d197424ed2d4dff32234457b7836507d9777ba",class:"gn__drawer-header",part:"overflow-header",slot:"label"},"Main menu"),i("nav",{key:"36ef3c9a323078bfbf4f28682afd4b33475c6d1d",class:"gn__drawer-menu",part:"overflow-menu"},this.breakpoint>n.mainMenu.breakpoint?n.mainMenu.tpl():"",i("slot",{key:"569277672e49d95702583537c90db8de51d89a35",name:"overflow"}))),i("div",{key:"367e4bfffe6a8359bf49e6a4ea7a69dfdd20e6af",class:"gn__menu-bar-wrapper"},i("div",{key:"aca6cb95a4b03c46509cfd6d0a55e722976200e9",class:"gn__menu-bar",part:"menu-bar",ref:n=>this.mainMenuBar=n},i("nav",{key:"8c56fcfde4d896b30a277a00f79de3dfb75d93ef",class:"gn__main-menu "+(this.shouldResize?"resizing":""),part:"main-menu",ref:n=>this.mainMenu=n},this.breakpoint>n.mainMenu.breakpoint&&i("nano-icon-button",{key:"fb8ca915d6460ee871a0a357b8a25d2e720620ac",class:"gn__overflow-button",iconName:"light/bars",label:"Open Menu",onClick:()=>this.overflowMenu.show()}),i("slot",{key:"96962d7ccd0d55f5c054dae0e8480398e7ea1415",name:"logo"},i("a",{key:"dcfa5d446ef38afb07285172dd5c0269da604d44",href:this.logoUrl,class:"gn__logo-link",part:"logo-link"},i("img",this.breakpoint<=n.logo.breakpoint?{src:t("../nano-assets/ont-logo.svg"),alt:"Oxford Nanopore Technologies logo. Features a stylised representation of a nanopore,\n (a tiny protein channel embedded in a membrane) through which DNA or RNA molecules are passed in for sequencing.",class:"gn__logo gn__logo--large",width:"152",height:"36",part:"logo logo--large"}:{src:t("../nano-assets/ont-wheel.svg"),alt:"Oxford Nanopore Technologies logo. A stylised representation of a nanopore,\n (a tiny protein channel embedded in a membrane) through which DNA or RNA molecules are passed in for sequencing.",class:"gn__logo gn__logo--small",width:"36",height:"36",part:"logo logo--small"}))),this.breakpoint<=n.mainMenu.breakpoint&&i("div",{key:"c4e2a7166c5766eede74e6f9e5763e157c47ac74",class:"gn__main-menu-links"},n.mainMenu.tpl()),i("div",{key:"e6bb457db190019f21c1c712bb8c9bab5abec91b",class:"gn__main-menu-actions"},i("nano-dropdown",{key:"d46c596a07189f129a1644118560590e70101a2b",dialogTitle:"Search Oxford Nanopore Technologies",placement:"bottom",class:"gn__search-dropdown",skidding:-30,distance:25,open:this.searchBarShown,onNanoAfterShow:this.handleSearchOpenEvent,onNanoAfterHide:this.handleSearchCloseEvent,autoOpen:!!this.searchIndices.length},i("nano-icon-button",{key:"00df8fe73a5c1e5b0e3263ee584549c1b450675f",class:"gn__search-button",slot:"trigger",iconName:"light/magnifying-glass",label:"Search"}),!!this.searchIndices.length&&i("form",{key:"b03a0c3f58a7a50939ec09258dda85a49157cf48",ref:n=>this.searchForm=n,class:"gn__search-form",part:"search-form",onSubmit:this.onSearchSubmit},this.searchIndices.length>1&&i("nano-select",{key:"367ed61df9546497f9cef04d833e86f59389f48a",part:"search-select",label:"Which site do you wish to search in?",mask:!0,hideLabel:!0,value:this.activeIndex?.index,onNanoChange:this.handleSearchIndexChangeEvent},this.searchIndices.map((n=>i("nano-option",{selected:n.name===this.searchIndex,value:n.index},n.name||n.index)))),i("nano-input",{key:"d8013a6f1cd8953bc63ba6f518367a4b278197bd",ref:n=>this.searchInput=n,part:"search-input",label:"Search Oxford Nanopore Technologies",placeholder:"Search Oxford Nanopore...",hideLabel:!0,clearable:!0,onNanoChange:n=>{this.handleSearchTermChangeEvent(n.detail.value)},onNanoInput:this.handleSearchTermInputEvent,debounce:500,value:this._searchValue},i("nano-icon",{key:"fe62a269a2f3ca318ad1e071404f693c9540317b",slot:"end",name:"light/magnifying-glass"}),i("nano-datalist",{key:"87d39b1dc2be07a66b546ba53eea56351bb103ec",class:"gn__search-results",onNanoSelect:n=>n.preventDefault(),dropDownConfig:{tetherTo:this.searchForm},disableFilter:!0},this.searchLoading&&i("div",{key:"fade49b478eddeb181f332b8db31b0f88c98305f",slot:"no-result",class:"gn__search-loading"},i("nano-spinner",{key:"e7c946dc5ec1ee76d115fd2575b1288f95d71c43"},"Searching...")),this.noResultPartial(),!!this.autocompleteResults?.hits.length&&[this.autocompleteResults.hits.map(((n,e)=>i("nano-option",{href:n.url,class:"gn__search-result",onClick:()=>{c.sendClick({index:this.activeIndex.index,eventName:"Global nav quick search - search result clicked",queryID:this.autocompleteResults.queryID,objectIDs:[n.objectID],positions:[e+1]})}},i("span",{innerHTML:this.autocompleteSnippet(n)})))),i("nano-option",{key:"74852e060130852064b4987f1de0c8f0fa2a395e",class:"gn__search-viewall",onNanoSelect:this.onSearchSubmit},"View all results")])))),i("div",{key:"e66b10d8ce1de533d772bfd66bf7c73511f338ff",class:"gn__cart"},i("nano-icon-button",{key:"47b8fc7ad91f5ea1048a670407ad602d29eb347f",iconName:"light/cart-shopping",label:"View your cart",href:this.cartUrl}),!!this.cartCount&&i("nano-badge",{key:"75c8ffb6264bd4a390ad77d15c408105d6f77393",theme:"danger",strength:"2"},this.cartCount>9?"9+":this.cartCount)),this.breakpoint<=n.contact.breakpoint?n.contact.tpl():"",this.isLoggedIn?i("nano-dropdown",{dialogTitle:"User menu",class:"gn__user-dropdown",distance:10,placement:"bottom-end"},i("button",{slot:"trigger",class:"gn__user-dropdown-trigger"},i("nano-icon",{name:"light/user"}),i("nano-icon",{name:"light/chevron-down",class:"gn__user-dropdown-chevron"}),!!this.msgCount&&i("nano-badge",{theme:"danger",strength:"2"},this.msgCount>9?"9+":this.msgCount)),this.loggedInPanel()):i("nano-cta",{secondary:!0,size:"small",icon:"false",class:"gn__login-cta"},i("a",{href:this.formatLoginLink(this.loginUrl)},"Login")))))),i("div",{key:"798ee16df74983e3d5689639f3320198bd1fe14d",class:"gn__site",part:"site-wrapper"},i("nano-global-search-results",{key:"a51edbf9c6bc9b0e34e207e21b4341704032e82f",part:"site-search-results"},i("slot",{key:"4ae65a7bc4d8897d95e43692b87830cf9f9d8a8f"})))))}static get assetsDirs(){return["assets"]}static get watchers(){return{myAccountUrl:["handleMyAccountUrl"],myAccountData:["processUserData","initSearch"],shouldResize:["breakpointChanged"],breakpoint:["breakpointChanged"],searchIndices:["handleSearchIndex"],searchIndex:["handleSearchIndex"]}}};h.style=':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{--main-menu-bar-bg-color:var(--nano-color-base-0);--main-menu-text-color:var(--nano-color-base-1000);--main-menu-hover-text-color:var(--nano-color-primary-1000);--main-menu-active-text-color:var(--nano-color-primary-1200);--main-menu-active-border-color:var(--nano-color-primary-1000);--overflow-bg-color:var(--nano-color-grey-mono-1600);--overflow-text-color:var(--nano-color-basic-white);--overflow-hover-text-color:var(--nano-color-blue-cerulean-700);--overflow-active-text-color:var(--nano-color-blue-cerulean-300);display:block;color:var(--main-menu-text-color)}img{max-inline-size:none;display:block}::slotted(a),:host::slotted(a),a{text-decoration:none}a:has(img){display:inline-block}a:focus{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}nano-drawer:not(:defined){display:none}nano-badge{position:absolute;font-size:0.5625rem;pointer-events:none}.gn__cart{position:relative}.gn__cart nano-badge{inset-block-start:-0.35rem;inset-inline-end:-0.4rem}.gn__login-cta{--bg:transparent}.gn__menu-bar-wrapper{z-index:var(--nano-z-index-menubar);position:relative}.gn__menu-bar-wrapper::after{content:"";position:absolute;block-size:1px;inline-size:100%;inset-inline:0;inset-block-end:-1px;z-index:-3;background-color:var(--nano-color-neutral-200)}.gn__menu-bar{inline-size:100%;overflow:clip}.gn__menu-bar a{color:var(--main-menu-text-color)}.gn__menu-bar a:hover{color:var(--main-menu-hover-text-color)}.gn__menu-bar a:active{color:var(--main-menu-active-text-color)}.gn__main-menu{display:inline-flex;align-items:center;background-color:var(--main-menu-bar-bg-color);min-inline-size:100%;padding:var(--nano-spacing-md);transition:opacity var(--nano-transition-x-fast) ease;opacity:1}.gn__main-menu.resizing{transition:none;opacity:0}.gn__main-menu>*{margin-inline-end:var(--nano-spacing-xl)}.gn__main-menu>*:is(slot,slot-fb){display:flex}.gn__main-menu>*:last-child{margin-inline-end:0}.gn__overflow-button{--padding:0.5rem 0.875rem 0.5rem 0;margin-inline-end:0.875rem;font-size:1.125rem;position:relative}.gn__overflow-button::after{content:"";position:absolute;inline-size:1px;block-size:100%;inset-inline-end:0;background-color:var(--nano-color-neutral-300);opacity:0.7;inset-block-start:0}.gn__main-menu-links,.gn__main-menu-actions{display:inline-flex;align-items:center}.gn__main-menu-links .nano-icon,.gn__main-menu-links .nano-icon-button,.gn__main-menu-actions .nano-icon,.gn__main-menu-actions .nano-icon-button{--active-color:var(--main-menu-active-text-color);--hover-color:var(--main-menu-hover-text-color);font-size:1rem}.gn__main-menu-links .nano-icon-button:hover,.gn__main-menu-actions .nano-icon-button:hover{color:var(--main-menu-hover-text-color)}.gn__main-menu-links{gap:var(--nano-spacing-xl)}.gn__main-menu-links ::slotted(a),.gn__main-menu-links::slotted(a){color:var(--main-menu-text-color)}.gn__main-menu-links ::slotted(a:hover){color:var(--main-menu-hover-text-color)}.gn__main-menu-links ::slotted(*:active){color:var(--main-menu-active-text-color)}.gn__main-menu-actions{margin-inline-start:auto;font-size:0.9375rem;gap:var(--nano-spacing-md)}.gn__search-dropdown{--overflow:visible;--padding:0;--background:transparent}.gn__search-dropdown .nano-icon-button{position:relative}.gn__search-dropdown .nano-icon-button::before{content:"";position:absolute;background-color:var(--main-menu-active-border-color);block-size:4px;inset-inline:5px 2px;inset-block-end:-1.5625rem;transform:translateZ(0) scaleX(0);transform-origin:0 center;transition:transform var(--nano-transition-x-fast) ease-in-out}.gn__search-open .gn__search-dropdown .nano-icon-button::before{transform:translateZ(0) scaleX(1)}.gn__search-form{display:inline-flex;max-inline-size:100vw;inline-size:30.625rem}.gn__search-form .nano-select{--input-bg-color:var(--nano-color-neutral-200);flex:0}.gn__search-form .nano-select:focus-within{z-index:1}.gn__search-form .nano-select .form-ctrl__input{border-inline-end:none}.gn__search-form .nano-input{flex:1}.gn__search-results{--padding-start:var(--nano-spacing-md);--padding-top:var(--nano-spacing-sm);--padding-bottom:var(--nano-spacing-sm);font-size:var(--nano-font-size-2xs)}.gn__search-loading{display:flex;justify-content:center}.gn__search-result{--padding-start:0.3125rem;--padding-top:var(--nano-spacing-sm);--padding-bottom:var(--nano-spacing-sm);--bg-focus:var(--nano-color-primary-300);--color-focus:var(--nano-color-neutral-1400);--color:var(--nano-color-neutral-1400);font-size:var(--nano-font-size-2xs)}.gn__search-result .search__highlight{font-style:normal;background:var(--nano-color-highlight)}.gn__search-viewall{--bg-focus:var(--nano-color-primary-300);--color-focus:var(--nano-color-neutral-1400);--color:var(--nano-color-primary-1200)}.gn__search-viewall::part(label){justify-content:flex-end;text-decoration:underline}.gn__user-dropdown-trigger{all:unset;cursor:pointer;color:var(--nano-color-primary-1200);display:flex;white-space:nowrap;gap:var(--nano-spacing-xs);align-items:center;position:relative;padding-inline-start:var(--nano-spacing-md)}.gn__user-dropdown-trigger:hover{color:var(--main-menu-hover-text-color)}.gn__user-dropdown-trigger:active{color:var(--main-menu-active-text-color)}.gn__user-dropdown-trigger:focus-visible{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.gn__user-dropdown-trigger::before{content:"";position:absolute;inline-size:1px;block-size:100%;inset-inline-start:0;background-color:var(--nano-color-neutral-300);opacity:0.7;inset-block-start:0}.gn__user-dropdown-trigger .gn__user-dropdown-chevron{transition:rotate var(--nano-transition-x-fast) linear}[open] .gn__user-dropdown-trigger .gn__user-dropdown-chevron{rotate:180deg}.gn__user-dropdown-trigger nano-badge{inset-block-start:-0.7rem;inset-inline-end:-0.7rem}.gn__user-dropdown{--background:var(--overflow-bg-color);--padding:0;--overflow:visible}.gn__user-panel{inline-size:21.25rem;max-inline-size:21.25rem;color:var(--overflow-text-color);padding:var(--nano-spacing-md)}.gn__user-panel a{color:var(--overflow-text-color)}.gn__user-panel a:hover{text-decoration:underline;color:var(--overflow-hover-text-color)}.gn__user-panel-head{font-size:var(--nano-font-size-xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose);padding-block-end:var(--nano-spacing-md);display:flex;align-items:center;gap:var(--nano-spacing-sm);font-size:var(--nano-font-size-xs)}.gn__user-panel-head .gn__user-avatar nano-icon{font-size:2.5rem}.gn__user-panel-body{display:flex;flex-direction:column}.gn__user-panel-body a{position:relative;border-block-end:1px solid rgb(var(--nano-color-base-rgb-1000)/10%);padding-block:var(--nano-spacing-md)}.gn__user-panel-body a:first-child{border-block-start:1px solid rgb(var(--nano-color-base-rgb-1000)/10%)}.gn__user-panel-foot{padding-block-start:var(--nano-spacing-md);display:flex;align-items:center;justify-content:space-between;gap:var(--nano-spacing-md)}.gn__drawer{--panel-background:var(--overflow-bg-color);--header-button-color:var(--overflow-text-color);--body-spacing:0;--header-spacing:var(--nano-spacing-md) 0;--footer-spacing:var(--nano-spacing-md)}.gn__drawer::part(title){display:flex;justify-content:flex-end}.gn__drawer::part(header-actions){order:-1}.gn__drawer-header{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.gn__drawer-menu{display:flex;flex-direction:column;margin:0 var(--nano-spacing-md);padding-block-end:var(--nano-spacing-md);color:var(--overflow-text-color);border-block-start:1px solid rgb(var(--nano-color-base-rgb-1000)/10%);position:relative}.gn__drawer-menu ::slotted(a),.gn__drawer-menu::slotted(a){padding:var(--nano-spacing-md) 0}.gn__drawer-menu ::slotted(a),.gn__drawer-menu ::slotted(.nano-nav-item),.gn__drawer-menu::slotted(a),.gn__drawer-menu::slotted(.nano-nav-item){--padding:var(--nano-spacing-md) 0;display:block;color:inherit !important;border-block-end:1px solid rgb(var(--nano-color-base-rgb-1000)/10%)}.gn__drawer-menu ::slotted(a:hover),.gn__drawer-menu ::slotted(.nano-nav-item:hover){text-decoration:underline;color:var(--overflow-hover-text-color) !important}';export{h as nano_global_nav}
4
+ import{g as n,r as e,c as a,a as o,k as t}from"./index-CX_Hk6ss.js";import{h as i}from"./renderer-ZmozgREV.js";import{a as r}from"./algoliasearch-lite.esm.browser-C1SNUAIj.js";import{d as s}from"./throttle-C93FMm2Z.js";import{a as l}from"./style-xLaX004n.js";import{s as c}from"./search-insights-8OL2oeQN.js";const h=class{get host(){return n(this)}overflowMenu;overflowOpen=!1;logoUrl=location.protocol+"//"+location.host;cartUrl="";msgUrl="";loginUrl="";logoutUrl="";contactUrl="https://nanoporetech.com/contact";_sessionRedirect=window.location.href;get sessionRedirect(){return encodeURIComponent(this._sessionRedirect)}set sessionRedirect(n){this._sessionRedirect=n}cartCount=0;msgCount=0;async openOverflowMenu(){this.overflowOpen=!0}async closeOverflowMenu(){this.overflowOpen=!1}myAccountUrl;async handleMyAccountUrl(){this.myAccountUrl&&("local-logged-in"!==this.myAccountUrl?"local-logged-out"!==this.myAccountUrl?fetch(this.myAccountUrl+"/nav_bar_data.json").then((n=>n.json())).then((n=>{this.myAccountData=n})).catch((n=>{console.error("Error fetching MyAccount data",n)})):this.myAccountData=await import("./local-logged-out-BhOAka-2.js"):this.myAccountData=await import("./local-logged-in-Bycp-mPl.js"))}myAccountData;nanoUserData;userLinks=[];isLoggedIn=!1;get myAccountUser(){return this.myAccountData?.user?.uuid?this.myAccountData.user:null}processUserData(){this.myAccountUser&&(this.userLinks=this.myAccountData?.links.filter((n=>"profile-panel-list"===n.area)),this.loginUrl=this.loginUrl||this.myAccountData.urls.login,this.logoutUrl=this.logoutUrl||this.myAccountData.urls.logout,this.msgUrl=this.msgUrl||this.myAccountData.urls.messages,this.msgCount=this.msgCount||this.myAccountData.notifications.count,this.cartUrl=this.cartUrl||this.myAccountData.urls.cart,this.cartCount=this.cartCount||this.myAccountData.cart.count,this.isLoggedIn=!0,this.nanoUserData.emit(this.myAccountUser))}formatLoginLink(n){return n?this.sessionRedirect?n.endsWith("=")?n+this.sessionRedirect:n.includes("?")?n+"&ReplayState="+this.sessionRedirect:n+"?ReplayState="+this.sessionRedirect:n:""}resizeObserver;cachedWidth;mainMenu;_mainMenuBar;get mainMenuBar(){return this._mainMenuBar}set mainMenuBar(n){this._mainMenuBar!==n&&(this._mainMenuBar=n,this.addMainmenuRo())}shouldResize=!0;breakpoint=0;breakpointChanged(){this.breakpoint<this.bpPartials.mainMenu.breakpoint&&!1===this.shouldResize&&(this.overflowOpen=!1)}debounceResetResize=s((()=>{this.shouldResize=!1}),300);addMainmenuRo(){this.removeMainmenuRo(),(this.resizeObserver=new ResizeObserver((()=>{this.shouldResize||this.mainMenuBar.clientWidth>=this.cachedWidth&&0===this.breakpoint||this.mainMenuBar.clientWidth<=this.cachedWidth&&this.mainMenuBar.clientWidth>=this.mainMenu.scrollWidth||(this.shouldResize=!0,this.breakpoint=0)}))).observe(this.mainMenuBar)}removeMainmenuRo(){this.resizeObserver&&(this.mainMenuBar?this.resizeObserver.unobserve(this.mainMenuBar):this.resizeObserver.disconnect())}handleResize=()=>{this.shouldResize&&(this.breakpoint<4&&this.mainMenu.scrollWidth>this.mainMenuBar.clientWidth?this.breakpoint++:(this.cachedWidth=this.mainMenuBar.clientWidth,this.debounceResetResize()))};algoliaClient;searchResults;searchInput;activeIndex;autocompleteResults;searchForm;searchIndices=[];searchBarShown=!1;searchLoading=!1;_searchValue="";nanoSearchResult;nanoSearchError;nanoSearchReset;searchIndex="All";get searchValue(){return this._searchValue}set searchValue(n){n&&this.host.componentOnReady().then((()=>{this.searchBarShown=!0,this.handleSearchTermChangeEvent(n)}))}async submitSearch(){this.onSearchSubmit()}handleSearchIndex(){if(this.searchIndices?.length){if(this.searchIndex)return this.activeIndex=this.searchIndices.find((n=>n.name===this.searchIndex))||this.searchIndices[0],this.activeIndex;this.activeIndex=this.searchIndices[0]}}initSearch(){if(!this.myAccountData)return;const{search:n}=this.myAccountData;n?.app_id&&n?.api_key&&(this.algoliaClient=r(n.app_id,n.api_key),c.init(n.app_id,n.api_key).then((()=>{this.myAccountUser&&c.setUser(this.myAccountUser.uuid)})),this.searchIndices=this.myAccountData.search.indeces,this.searchIndices.forEach((n=>{n.algoliaIndex=this.algoliaClient.initIndex(n.index)})),this.searchIndex||(this.searchIndex=this.searchIndices[0].name))}onSearchSubmit=async n=>{if(n&&n.preventDefault(),!this.activeIndex||!this.myAccountData||this._searchValue?.length<3)return;this.searchResults||await this.doAlgoliaSearch();const{search:e}=this.myAccountData,a=this.searchResults.results.find((n=>this.activeIndex.index===n.index)),{index:o,domain:t,filters:i,query:r,replicas:s}=a;this.searchBarShown=!1,this.nanoSearchResult.emit({meta:{indexTitle:a.indexName,index:o,domain:t,filters:i,query:r,replicas:s},client:{apiKey:e.api_key,appId:e.app_id}})};async doAlgoliaSearch(){this.searchResults=null;const n=this.searchIndices.map((n=>{const e={clickAnalytics:!0,attributesToSnippet:["body:5","title:8"],indexName:n.index,query:this._searchValue,facets:n.filters,hitsPerPage:5,filters:""};return"Community"===n.name&&(e.filters="created > "+Math.floor((Date.now()-631152e5)/1e3)),e}));try{this.searchLoading=!0,this.searchResults=this.processSearchResults(await this.algoliaClient.search(n))}catch(n){console.error(n),this.nanoSearchError.emit(n)}return this.searchLoading=!1,this.searchResults}processSearchResults(n){const e=n,a=n;return e.results?(e.results.forEach(((n,a)=>{n={...n,indexName:this.searchIndices[a].name,selected:this.activeIndex.name===this.searchIndices[a].name,domain:this.activeIndex.domain||null,domains:this.myAccountData.domains||null,allGroup:!!this.searchIndices[a].allGroup,filters:this.searchIndices[a].filters,replicas:this.activeIndex.replicas},e.results[a]=this.processSearchResults(n)})),e):(a.hits.map((n=>{n.url&&!n.url.match(/^http/)&&(n.url=location.protocol+"//"+this.domainFor(n.origin)+n.url)})),a)}domainFor(n){if(!this.myAccountData)return"";const e=this.myAccountData.domains.find((e=>e.origin===n));return e?e.domain:""}async setAutocompleteResults(){this.autocompleteResults=null,this._searchValue.length<3?this._searchValue.length||this.nanoSearchReset.emit():this.autocompleteResults=(await this.doAlgoliaSearch()).results.find((n=>n.selected))}autocompleteSnippet(n){return n._snippetResult?.title?.value||n.title}handleSearchOpenEvent=n=>{n.target.classList.contains("gn__search-dropdown")&&(this.searchInput.setFocus(),this.searchBarShown=!0)};handleSearchCloseEvent=n=>{n.target.classList.contains("gn__search-dropdown")&&(this.searchBarShown=!1)};handleSearchTermInputEvent=n=>{"input"===n.detail.type&&this.searchInput.value.length>=3&&(this.autocompleteResults=null,this.searchLoading=!0)};handleSearchTermChangeEvent=n=>{this._searchValue!==n&&(this._searchValue=n,this.setAutocompleteResults())};handleSearchIndexChangeEvent=n=>{if(!n.detail?.value?.length)return;const e=n.detail.value;if(this.activeIndex.index===e)return;const a=this.searchIndices.find((n=>n.index===e));a&&a.algoliaIndex&&(this.searchIndex=a.name,this._searchValue.length>=3&&(this.searchInput.setFocus(),this.searchBarShown=!0,this.setAutocompleteResults()))};constructor(n){e(this,n),this.nanoUserData=a(this,"nanoUserData",7),this.nanoSearchResult=a(this,"nanoSearchResult",7),this.nanoSearchError=a(this,"nanoSearchError",7),this.nanoSearchReset=a(this,"nanoSearchReset",7),this.handleResize=s(this.handleResize,75)}componentWillLoad(){this.handleMyAccountUrl(),this.initSearch(),this.processUserData(),l(this.host.shadowRoot)}componentDidRender(){this.handleResize()}loggedInPanel(){if(this.isLoggedIn&&this.myAccountUser)return i("div",{part:"user-panel",class:"gn__user-panel nano-theme-dark"},i("div",{class:"gn__user-panel-head",slot:"label"},i("nano-avatar",{initials:this.myAccountUser.first_name?.charAt(0)+this.myAccountUser.last_name?.charAt(0)},this.myAccountUser.small_avatar_url&&!this.myAccountUser.small_avatar_url.includes("generic")&&i("img",{src:this.myAccountUser.small_avatar_url,alt:"User Avatar",height:40,width:40})),i("div",null,this.myAccountUser.name,i("br",null),this.myAccountUser.job_title,", ",this.myAccountUser.company)),i("div",{class:"gn__user-panel-body"},this.userLinks.map((n=>i("a",{href:n.address,target:n.target||void 0},n.title,("Messages"===n.title||n.address.includes(this.msgUrl)||this.msgUrl.includes(n.address))&&this.msgCount>0&&i("nano-badge",{theme:"danger",strength:"2"},this.msgCount))))),i("div",{class:"gn__user-panel-foot"},i("nano-cta",{secondary:!0,size:"small",icon:"false",class:"gn__login-cta"},i("a",{href:this.formatLoginLink(this.logoutUrl)},"Logout"))))}bpPartials={contact:{tpl:()=>i("a",{href:this.contactUrl},"Contact"),breakpoint:0},mainMenu:{tpl:()=>i("slot",{name:"menu"}),breakpoint:1},logo:{tpl:()=>{},breakpoint:2}};noResultPartial(){if(this.searchLoading||this.autocompleteResults?.hits.length||this._searchValue.length<3)return;const n=[];return"All"===this.searchIndex?(n.push(i("div",{slot:"no-result",class:"gn__search-no-results"},'No results matching for "',i("strong",null,this._searchValue),'" Try another phrase')),n):(this.searchResults.results.forEach((e=>{e.hits.length&&n.push(i("nano-option",{class:"gn__search-result",onNanoSelect:n=>{n.preventDefault(),this.searchIndex=e.indexName,this.onSearchSubmit(n)}},'Show results for "',i("strong",null,this._searchValue),'" in ',i("strong",null,e.indexName)))})),n.unshift(i("div",{slot:n.length?"list-top":"no-result",class:"gn__search-no-results"},'No results matching for "',i("strong",null,this._searchValue),'" in'," ",i("strong",null,this.searchIndex),". Try another phrase")),n)}render(){const n=this.bpPartials;return i(o,{key:"66132ed8841605602bff8c2c750a657ec4d6d83a",class:{"overflow-menu":this.breakpoint>n.mainMenu.breakpoint,"bar-menu":this.breakpoint<=n.mainMenu.breakpoint,"nano-global-nav":!0}},i("div",{key:"c8dfcf4b405c72a14f576fb7b14ce41e8ff49b83",class:{gn:!0,"gn__search-open":this.searchBarShown}},i("nano-drawer",{key:"741e6dc6df0253450f65e792f45fe2a337bb007d",ref:n=>this.overflowMenu=n,label:"Main menu",part:"drawer",class:"gn__drawer nano-theme-dark",placement:"start",open:this.overflowOpen,onNanoAfterHide:()=>this.overflowOpen=!1,onNanoAfterShow:()=>this.overflowOpen=!0},i("div",{key:"b8d197424ed2d4dff32234457b7836507d9777ba",class:"gn__drawer-header",part:"overflow-header",slot:"label"},"Main menu"),i("nav",{key:"36ef3c9a323078bfbf4f28682afd4b33475c6d1d",class:"gn__drawer-menu",part:"overflow-menu"},this.breakpoint>n.mainMenu.breakpoint?n.mainMenu.tpl():"",i("slot",{key:"569277672e49d95702583537c90db8de51d89a35",name:"overflow"}))),i("div",{key:"367e4bfffe6a8359bf49e6a4ea7a69dfdd20e6af",class:"gn__menu-bar-wrapper"},i("div",{key:"aca6cb95a4b03c46509cfd6d0a55e722976200e9",class:"gn__menu-bar",part:"menu-bar",ref:n=>this.mainMenuBar=n},i("nav",{key:"8c56fcfde4d896b30a277a00f79de3dfb75d93ef",class:"gn__main-menu "+(this.shouldResize?"resizing":""),part:"main-menu",ref:n=>this.mainMenu=n},this.breakpoint>n.mainMenu.breakpoint&&i("nano-icon-button",{key:"fb8ca915d6460ee871a0a357b8a25d2e720620ac",class:"gn__overflow-button",iconName:"light/bars",label:"Open Menu",onClick:()=>this.overflowMenu.show()}),i("slot",{key:"96962d7ccd0d55f5c054dae0e8480398e7ea1415",name:"logo"},i("a",{key:"dcfa5d446ef38afb07285172dd5c0269da604d44",href:this.logoUrl,class:"gn__logo-link",part:"logo-link"},i("img",this.breakpoint<=n.logo.breakpoint?{src:t("../nano-assets/ont-logo.svg"),alt:"Oxford Nanopore Technologies logo. Features a stylised representation of a nanopore,\n (a tiny protein channel embedded in a membrane) through which DNA or RNA molecules are passed in for sequencing.",class:"gn__logo gn__logo--large",width:"152",height:"36",part:"logo logo--large"}:{src:t("../nano-assets/ont-wheel.svg"),alt:"Oxford Nanopore Technologies logo. A stylised representation of a nanopore,\n (a tiny protein channel embedded in a membrane) through which DNA or RNA molecules are passed in for sequencing.",class:"gn__logo gn__logo--small",width:"36",height:"36",part:"logo logo--small"}))),this.breakpoint<=n.mainMenu.breakpoint&&i("div",{key:"c4e2a7166c5766eede74e6f9e5763e157c47ac74",class:"gn__main-menu-links"},n.mainMenu.tpl()),i("div",{key:"e6bb457db190019f21c1c712bb8c9bab5abec91b",class:"gn__main-menu-actions"},i("nano-dropdown",{key:"d46c596a07189f129a1644118560590e70101a2b",dialogTitle:"Search Oxford Nanopore Technologies",placement:"bottom",class:"gn__search-dropdown",skidding:-30,distance:25,open:this.searchBarShown,onNanoAfterShow:this.handleSearchOpenEvent,onNanoAfterHide:this.handleSearchCloseEvent,autoOpen:!!this.searchIndices.length},i("nano-icon-button",{key:"00df8fe73a5c1e5b0e3263ee584549c1b450675f",class:"gn__search-button",slot:"trigger",iconName:"light/magnifying-glass",label:"Search"}),!!this.searchIndices.length&&i("form",{key:"b03a0c3f58a7a50939ec09258dda85a49157cf48",ref:n=>this.searchForm=n,class:"gn__search-form",part:"search-form",onSubmit:this.onSearchSubmit},this.searchIndices.length>1&&i("nano-select",{key:"367ed61df9546497f9cef04d833e86f59389f48a",part:"search-select",label:"Which site do you wish to search in?",mask:!0,hideLabel:!0,value:this.activeIndex?.index,onNanoChange:this.handleSearchIndexChangeEvent},this.searchIndices.map((n=>i("nano-option",{selected:n.name===this.searchIndex,value:n.index},n.name||n.index)))),i("nano-input",{key:"d8013a6f1cd8953bc63ba6f518367a4b278197bd",ref:n=>this.searchInput=n,part:"search-input",label:"Search Oxford Nanopore Technologies",placeholder:"Search Oxford Nanopore...",hideLabel:!0,clearable:!0,onNanoChange:n=>{this.handleSearchTermChangeEvent(n.detail.value)},onNanoInput:this.handleSearchTermInputEvent,debounce:500,value:this._searchValue},i("nano-icon",{key:"fe62a269a2f3ca318ad1e071404f693c9540317b",slot:"end",name:"light/magnifying-glass"}),i("nano-datalist",{key:"87d39b1dc2be07a66b546ba53eea56351bb103ec",class:"gn__search-results",onNanoSelect:n=>n.preventDefault(),dropDownConfig:{tetherTo:this.searchForm},disableFilter:!0},this.searchLoading&&i("div",{key:"fade49b478eddeb181f332b8db31b0f88c98305f",slot:"no-result",class:"gn__search-loading"},i("nano-spinner",{key:"e7c946dc5ec1ee76d115fd2575b1288f95d71c43"},"Searching...")),this.noResultPartial(),!!this.autocompleteResults?.hits.length&&[this.autocompleteResults.hits.map(((n,e)=>i("nano-option",{href:n.url,class:"gn__search-result",onClick:()=>{c.sendClick({index:this.activeIndex.index,eventName:"Global nav quick search - search result clicked",queryID:this.autocompleteResults.queryID,objectIDs:[n.objectID],positions:[e+1]})}},i("span",{innerHTML:this.autocompleteSnippet(n)})))),i("nano-option",{key:"74852e060130852064b4987f1de0c8f0fa2a395e",class:"gn__search-viewall",onNanoSelect:this.onSearchSubmit},"View all results")])))),i("div",{key:"e66b10d8ce1de533d772bfd66bf7c73511f338ff",class:"gn__cart"},i("nano-icon-button",{key:"47b8fc7ad91f5ea1048a670407ad602d29eb347f",iconName:"light/cart-shopping",label:"View your cart",href:this.cartUrl}),!!this.cartCount&&i("nano-badge",{key:"75c8ffb6264bd4a390ad77d15c408105d6f77393",theme:"danger",strength:"2"},this.cartCount>9?"9+":this.cartCount)),this.breakpoint<=n.contact.breakpoint?n.contact.tpl():"",this.isLoggedIn?i("nano-dropdown",{dialogTitle:"User menu",class:"gn__user-dropdown",distance:10,placement:"bottom-end"},i("button",{slot:"trigger",class:"gn__user-dropdown-trigger"},i("nano-icon",{name:"light/user"}),i("nano-icon",{name:"light/chevron-down",class:"gn__user-dropdown-chevron"}),!!this.msgCount&&i("nano-badge",{theme:"danger",strength:"2"},this.msgCount>9?"9+":this.msgCount)),this.loggedInPanel()):i("nano-cta",{secondary:!0,size:"small",icon:"false",class:"gn__login-cta"},i("a",{href:this.formatLoginLink(this.loginUrl)},"Login")))))),i("div",{key:"798ee16df74983e3d5689639f3320198bd1fe14d",class:"gn__site",part:"site-wrapper"},i("nano-global-search-results",{key:"a51edbf9c6bc9b0e34e207e21b4341704032e82f",part:"site-search-results"},i("slot",{key:"4ae65a7bc4d8897d95e43692b87830cf9f9d8a8f"})))))}static get assetsDirs(){return["assets"]}static get watchers(){return{myAccountUrl:["handleMyAccountUrl"],myAccountData:["processUserData","initSearch"],shouldResize:["breakpointChanged"],breakpoint:["breakpointChanged"],searchIndices:["handleSearchIndex"],searchIndex:["handleSearchIndex"]}}};h.style=':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{--main-menu-bar-bg-color:var(--nano-color-base-0);--main-menu-text-color:var(--nano-color-base-1000);--main-menu-hover-text-color:var(--nano-color-primary-1000);--main-menu-active-text-color:var(--nano-color-primary-1200);--main-menu-active-border-color:var(--nano-color-primary-1000);--overflow-bg-color:var(--nano-color-grey-mono-1600);--overflow-text-color:var(--nano-color-basic-white);--overflow-hover-text-color:var(--nano-color-blue-cerulean-700);--overflow-active-text-color:var(--nano-color-blue-cerulean-300);display:block;color:var(--main-menu-text-color)}img{max-inline-size:none;display:block}::slotted(a),:host::slotted(a),a{text-decoration:none}a:has(img){display:inline-block}a:focus{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}nano-drawer:not(:defined){display:none}nano-badge{position:absolute;font-size:0.5625rem;pointer-events:none}.gn__cart{position:relative}.gn__cart nano-badge{inset-block-start:-0.35rem;inset-inline-end:-0.4rem}.gn__login-cta{--bg:transparent}.gn__menu-bar-wrapper{z-index:var(--nano-z-index-menubar);position:relative}.gn__menu-bar-wrapper::after{content:"";position:absolute;block-size:1px;inline-size:100%;inset-inline:0;inset-block-end:-1px;z-index:-3;background-color:var(--nano-color-neutral-200)}.gn__menu-bar{inline-size:100%;overflow:clip}.gn__menu-bar a{color:var(--main-menu-text-color)}.gn__menu-bar a:hover{color:var(--main-menu-hover-text-color)}.gn__menu-bar a:active{color:var(--main-menu-active-text-color)}.gn__main-menu{display:inline-flex;align-items:center;background-color:var(--main-menu-bar-bg-color);min-inline-size:100%;padding:var(--nano-spacing-md);transition:opacity var(--nano-transition-x-fast) ease;opacity:1}.gn__main-menu.resizing{transition:none;opacity:0}.gn__main-menu>*{margin-inline-end:var(--nano-spacing-xl)}.gn__main-menu>*:is(slot,slot-fb){display:flex}.gn__main-menu>*:last-child{margin-inline-end:0}.gn__overflow-button{--padding:0.5rem 0.875rem 0.5rem 0;margin-inline-end:0.875rem;font-size:1.125rem;position:relative}.gn__overflow-button::after{content:"";position:absolute;inline-size:1px;block-size:100%;inset-inline-end:0;background-color:var(--nano-color-neutral-300);opacity:0.7;inset-block-start:0}.gn__main-menu-links,.gn__main-menu-actions{display:inline-flex;align-items:center}.gn__main-menu-links .nano-icon,.gn__main-menu-links .nano-icon-button,.gn__main-menu-actions .nano-icon,.gn__main-menu-actions .nano-icon-button{--active-color:var(--main-menu-active-text-color);--hover-color:var(--main-menu-hover-text-color);font-size:1rem}.gn__main-menu-links .nano-icon-button:hover,.gn__main-menu-actions .nano-icon-button:hover{color:var(--main-menu-hover-text-color)}.gn__main-menu-links{gap:var(--nano-spacing-xl)}.gn__main-menu-links ::slotted(a),.gn__main-menu-links::slotted(a){color:var(--main-menu-text-color)}.gn__main-menu-links ::slotted(a:hover){color:var(--main-menu-hover-text-color)}.gn__main-menu-links ::slotted(*:active){color:var(--main-menu-active-text-color)}.gn__main-menu-actions{margin-inline-start:auto;font-size:0.9375rem;gap:var(--nano-spacing-md)}.gn__search-dropdown{--overflow:visible;--padding:0;--background:transparent}.gn__search-dropdown .nano-icon-button{position:relative}.gn__search-dropdown .nano-icon-button::before{content:"";position:absolute;background-color:var(--main-menu-active-border-color);block-size:4px;inset-inline:5px 2px;inset-block-end:-1.5625rem;transform:translateZ(0) scaleX(0);transform-origin:0 center;transition:transform var(--nano-transition-x-fast) ease-in-out}.gn__search-open .gn__search-dropdown .nano-icon-button::before{transform:translateZ(0) scaleX(1)}.gn__search-form{display:inline-flex;max-inline-size:100vw;inline-size:30.625rem}.gn__search-form .nano-select{--input-bg-color:var(--nano-color-neutral-200);flex:0}.gn__search-form .nano-select:focus-within{z-index:1}.gn__search-form .nano-select .form-ctrl__input{border-inline-end:none}.gn__search-form .nano-input{flex:1}.gn__search-results{--padding-start:var(--nano-spacing-md);--padding-top:var(--nano-spacing-sm);--padding-bottom:var(--nano-spacing-sm);font-size:var(--nano-font-size-2xs)}.gn__search-loading{display:flex;justify-content:center}.gn__search-result{--padding-start:0.3125rem;--padding-top:var(--nano-spacing-sm);--padding-bottom:var(--nano-spacing-sm);--bg-focus:var(--nano-color-primary-300);--color-focus:var(--nano-color-neutral-1400);--color:var(--nano-color-neutral-1400);font-size:var(--nano-font-size-2xs)}.gn__search-result .search__highlight{font-style:normal;background:var(--nano-color-highlight)}.gn__search-viewall{--bg-focus:var(--nano-color-primary-300);--color-focus:var(--nano-color-neutral-1400);--color:var(--nano-color-primary-1200)}.gn__search-viewall::part(label){justify-content:flex-end;text-decoration:underline}.gn__user-dropdown-trigger{all:unset;cursor:pointer;color:var(--nano-color-primary-1200);display:flex;white-space:nowrap;gap:var(--nano-spacing-xs);align-items:center;position:relative;padding-inline-start:var(--nano-spacing-md)}.gn__user-dropdown-trigger:hover{color:var(--main-menu-hover-text-color)}.gn__user-dropdown-trigger:active{color:var(--main-menu-active-text-color)}.gn__user-dropdown-trigger:focus-visible{outline:var(--nano-focus-ring);outline-offset:var(--nano-focus-ring-offset)}.gn__user-dropdown-trigger::before{content:"";position:absolute;inline-size:1px;block-size:100%;inset-inline-start:0;background-color:var(--nano-color-neutral-300);opacity:0.7;inset-block-start:0}.gn__user-dropdown-trigger .gn__user-dropdown-chevron{transition:rotate var(--nano-transition-x-fast) linear}[open] .gn__user-dropdown-trigger .gn__user-dropdown-chevron{rotate:180deg}.gn__user-dropdown-trigger nano-badge{inset-block-start:-0.7rem;inset-inline-end:-0.7rem}.gn__user-dropdown{--background:var(--overflow-bg-color);--padding:0;--overflow:visible}.gn__user-panel{inline-size:21.25rem;max-inline-size:21.25rem;color:var(--overflow-text-color);padding:var(--nano-spacing-md)}.gn__user-panel a{color:var(--overflow-text-color)}.gn__user-panel a:hover{text-decoration:underline;color:var(--overflow-hover-text-color)}.gn__user-panel-head{font-size:var(--nano-font-size-xs);line-height:var(--nano-line-height-normal);letter-spacing:var(--nano-letter-spacing-loose);padding-block-end:var(--nano-spacing-md);display:flex;align-items:center;gap:var(--nano-spacing-sm);font-size:var(--nano-font-size-xs)}.gn__user-panel-head .gn__user-avatar nano-icon{font-size:2.5rem}.gn__user-panel-body{display:flex;flex-direction:column}.gn__user-panel-body a{position:relative;border-block-end:1px solid rgb(var(--nano-color-base-rgb-1000)/10%);padding-block:var(--nano-spacing-md)}.gn__user-panel-body a:first-child{border-block-start:1px solid rgb(var(--nano-color-base-rgb-1000)/10%)}.gn__user-panel-foot{padding-block-start:var(--nano-spacing-md);display:flex;align-items:center;justify-content:space-between;gap:var(--nano-spacing-md)}.gn__drawer{--panel-background:var(--overflow-bg-color);--header-button-color:var(--overflow-text-color);--body-spacing:0;--header-spacing:var(--nano-spacing-md) 0;--footer-spacing:var(--nano-spacing-md)}.gn__drawer::part(title){display:flex;justify-content:flex-end}.gn__drawer::part(header-actions){order:-1}.gn__drawer-header{clip-path:inset(50%);block-size:1px;overflow:hidden;position:absolute;white-space:nowrap;inline-size:1px}.gn__drawer-menu{display:flex;flex-direction:column;margin:0 var(--nano-spacing-md);padding-block-end:var(--nano-spacing-md);color:var(--overflow-text-color);border-block-start:1px solid rgb(var(--nano-color-base-rgb-1000)/10%);position:relative}.gn__drawer-menu ::slotted(a),.gn__drawer-menu::slotted(a){padding:var(--nano-spacing-md) 0}.gn__drawer-menu ::slotted(a),.gn__drawer-menu ::slotted(.nano-nav-item),.gn__drawer-menu::slotted(a),.gn__drawer-menu::slotted(.nano-nav-item){--padding:var(--nano-spacing-md) 0;display:block;color:inherit !important;border-block-end:1px solid rgb(var(--nano-color-base-rgb-1000)/10%)}.gn__drawer-menu ::slotted(a:hover),.gn__drawer-menu ::slotted(.nano-nav-item:hover){text-decoration:underline;color:var(--overflow-hover-text-color) !important}';export{h as nano_global_nav}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import{r as e,h as r}from"./index-DXvE-U_j.js";const s=class{constructor(r){e(this,r)}render(){return r("slot",{key:"8df6ce243d4a12c9cfe966f33d70b181eeb84b43"})}};s.style=":host { display: inline-block; }";export{s as nano_grid_item}
4
+ import{r as s,h as e}from"./index-CX_Hk6ss.js";const r=class{constructor(e){s(this,e)}render(){return e("slot",{key:"8df6ce243d4a12c9cfe966f33d70b181eeb84b43"})}};r.style=":host { display: inline-block; }";export{r as nano_grid_item}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Custom elements for Nanopore-Digital Web applications
3
3
  */
4
- import{h as t,d as i,a as e,r as n,c as r}from"./index-DXvE-U_j.js";import{h as s}from"./renderer-BUaAsDso.js";const o=(()=>{try{return!!new CSSStyleSheet}catch(t){return!1}})(),a=new WeakMap;function c(i,e,n){(function(t){for(const i in t)if(i in t&&Array.isArray(t[i]))return t[i]}(i)||[]).push(t("style",{type:"text/css","constructible-style":e},n))}function l(t,i,e,n){i.__constructableStyle||(i.__constructableStyle={});const r=t[n.cacheKeyProperty];return i.__constructableStyle[r]||(i.__constructableStyle[r]=new CSSStyleSheet,i.__constructableStyle[r].replace(e)),i.__constructableStyle[r]}const d=class{constructor(t){n(this,t)}grids=[];cacheKey;sSize=300;mSize=550;lSize=800;xlSize=1e3;sCols;mCols;lCols;xlCols;xxlCols;sTpl;mTpl;lTpl;xlTpl;xxlTpl;showHelper=!1;constructSizeArray(){this.grids=[],this.sCols&&this.grids.push({cols:this.sCols,breakpoint:0,name:"s",template:this.sTpl}),this.mCols&&this.grids.push({cols:this.mCols,breakpoint:this.sSize,name:"m",template:this.mTpl}),this.lCols&&this.grids.push({cols:this.lCols,breakpoint:this.mSize,name:"l",template:this.lTpl}),this.xlCols&&this.grids.push({cols:this.xlCols,breakpoint:this.lSize,name:"xl",template:this.xlTpl}),this.xxlCols&&this.grids.push({cols:this.xxlCols,breakpoint:this.xlSize,name:"xxl",template:this.xxlTpl}),this.cacheKey=this.grids.map((t=>`${t.cols}-${t.breakpoint}-${t.template||""}`)).join("")+"-helper-"+this.showHelper}styles=()=>`\n ${this.grids.map((t=>`\n @container (min-width: ${Number(t.breakpoint+1)?Number(t.breakpoint)+1+"px":t.breakpoint}) {\n [cache-key="${this.cacheKey}"].grid {\n --current-grid-size: "grid size: ${t.name}";\n ${t.template?`grid-template: ${t.template};`:`grid-template-columns: repeat(${t.cols}, minmax(calc((100% / ${t.cols}) - var(--grid-col-gap)), 1fr));`}\n }\n ${[...Array(t.cols)].map(((i,e)=>{const n=e+1;return`\n [cache-key="${this.cacheKey}"].grid > [grid-states~="${t.name}-col-start-${n}"],\n ::slotted([grid-states~="${t.name}-col-start-${n}"]) {\n grid-column-start: ${n} !important;\n }\n [cache-key="${this.cacheKey}"].grid > [grid-states~="${t.name}-col-span-${n}"],\n ::slotted([grid-states~="${t.name}-col-span-${n}"]) {\n grid-column-end: span ${n} !important;\n }\n `})).join("")}\n ${[...Array(24)].map(((i,e)=>{const n=e+1;return`\n [cache-key="${this.cacheKey}"].grid > [grid-states~="${t.name}-row-start-${n}"],\n ::slotted([grid-states~="${t.name}-row-start-${n}"]) {\n grid-row-start: ${n} !important;\n }\n [cache-key="${this.cacheKey}"].grid > [grid-states~="${t.name}-row-span-${n}"],\n ::slotted([grid-states~="${t.name}-row-span-${n}"]) {\n grid-row-end: span ${n} !important;\n }\n `})).join("")}\n ${this.showHelper?`\n [cache-key="${this.cacheKey}"].grid--helper :nth-child(-n+${t.cols}) {\n display: block !important;\n }\n `:""}\n }\n `)).join("")}\n `.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s{2,}/g," ").replace(/\s*([{}:;,])\s*/g,"$1").replace(/\n/g,"");componentWillLoad(){this.constructSizeArray()}render(){return s(i,{key:"410e2e3fce3867216adb0f9bf0501f8d40514bce",class:"nano-grid"},s("div",{key:"424f6da1b39d37ef70912e87e5d61320b5ff8d11",part:"grid",class:"grid","cache-key":this.cacheKey},s("slot",{key:"051bdae40a3d63dfdb744a980c74a42c2ac9c05f"})),this.showHelper&&s("div",{key:"b24395cdacf9d7ba3a15b1a9b064a2a97f3afac1",class:"grid grid--helper",part:"helper","cache-key":this.cacheKey},[...Array(24)].map((()=>s("div",{class:"grid__helper-item"})))))}static get watchers(){return{sTpl:["constructSizeArray"],mTpl:["constructSizeArray"],lTpl:["constructSizeArray"],xlTpl:["constructSizeArray"],xxlTpl:["constructSizeArray"],sSize:["constructSizeArray"],mSize:["constructSizeArray"],lSize:["constructSizeArray"],xlSize:["constructSizeArray"],sCols:["constructSizeArray"],mCols:["constructSizeArray"],lCols:["constructSizeArray"],xlCols:["constructSizeArray"],xxlCols:["constructSizeArray"],showHelper:["constructSizeArray"]}}};(function(t,i,e,n){var r,s=arguments.length,o=s<3?i:null===n?n=Object.getOwnPropertyDescriptor(i,e):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,i,e,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(i,e,o):r(i,e))||o);s>3&&o&&Object.defineProperty(i,e,o)})([function(n={}){return(r,s)=>{n.cacheKeyProperty||(n.cacheKeyProperty=s);const{componentWillLoad:d,render:h,componentWillRender:m}=r;if(d||console.warn(`ConstructibleStyle requires you to have a \`componentWillLoad\` lifecycle method in \`${r.constructor.name}\`. Failure to add this function may cause ConstructibleStyle to fail due to StencilJS build optimizations.`),o){const t=t=>{if(!t[n.cacheKeyProperty]||a.get(t)&&a.get(t)===t[n.cacheKeyProperty])return;a.set(t,t[n.cacheKeyProperty]);const i=e(t),o="function"==typeof t[s]?t[s]():t[s],c=i.shadowRoot||document;c.adoptedStyleSheets=[...c.adoptedStyleSheets||[],l(t,r,o,n)]};r.componentWillLoad=function(){const i=d&&d.call(this);return t(this),i},r.componentWillRender=function(){const i=m&&m.call(this);return t(this),i}}else r.render=function(){const e="function"==typeof this[s]?this[s]():this[s];let n=h.call(this);if(function(t){for(const e in t)if(e in t&&t[e]===i)return!0;return!1}(n))c(n,r.constructor.name,e);else if(n=t(i,null,n),"attachShadow"in HTMLElement.prototype){if(!r.__constructableStyle){const t=document.createElement("style");t.setAttribute("type","text/css"),t.setAttribute("constructible-style",r.constructor.name),t.innerHTML=e,r.__constructableStyle=t,document.head.appendChild(t)}}else c(n,r.constructor.name,e);return n}}}({cacheKeyProperty:"cacheKey"}),function(t,i){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,i)}("design:type",Object)],d.prototype,"styles",void 0),d.style=':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{--grid-col-gap:var(--nano-spacing-medium, 16px);--grid-row-gap:var(--nano-spacing-medium, 16px);--grid-align-items:start;--current-grid-size:"grid size: s";container-type:inline-size;display:block}:host .grid{display:grid;gap:var(--grid-row-gap) var(--grid-col-gap);block-size:inherit;min-block-size:inherit;align-items:var(--grid-align-items)}:host([show-helper]:not([show-helper=false])){position:relative}:host([show-helper]:not([show-helper=false])) .grid--helper{position:absolute;inset:0;pointer-events:none;display:grid !important;overflow:hidden}:host([show-helper]:not([show-helper=false])) .grid--helper::before{content:var(--current-grid-size);font-size:30px;position:absolute;inline-size:100%;inset-inline-start:0;text-align:center;inset-block-start:50%;transform:translateY(-50%);color:rgba(0, 0, 0, 0.2);text-transform:uppercase;z-index:99;pointer-events:none}:host([show-helper]:not([show-helper=false])) .grid__helper-item{background:hsla(204, 80%, 72%, 0.25);block-size:100vh}';const h=class{constructor(t){n(this,t),this.nanoImgWillLoad=r(this,"nanoImgWillLoad",7),this.nanoImgDidLoad=r(this,"nanoImgDidLoad",7),this.nanoImgError=r(this,"nanoImgError",7)}io;_srcSet={};get host(){return e(this)}loadSrc;loadError;hasLoaded=!1;imgStates=null;_src;_srcChanged(){this.hasLoaded=!1,this.addIO()}alt;src;srcChanged(){this._src=this.src}srcSet;srcSetChanged(){this.srcSet&&(delete this._srcSet,this._srcSet={},this.imgStates=this.srcSet.split(",").map((t=>{const[i,e]=t.split(" ").filter((t=>t.length));return this._srcSet[i]={src:e,active:!1},i})).join(", "))}lazy=!0;lazyChanged(){this.lazy||this.load()}background;autoHeight="content";nanoImgWillLoad;nanoImgDidLoad;nanoImgError;addIO(){this._src&&!this.hasLoaded&&(this.lazy?"undefined"!=typeof window&&"IntersectionObserver"in window?(this.removeIO(),this.io=new IntersectionObserver((t=>{t[0].isIntersecting&&(this.load(),this.removeIO())})),this.io.observe(this.host)):setTimeout((()=>this.load()),200):this.load())}load(){this.loadError=this.onError,this.loadSrc=this._src,this.nanoImgWillLoad.emit()}onLoad=()=>{this.nanoImgDidLoad.emit(),setTimeout((()=>this.hasLoaded=!0),50)};onError=()=>{this.nanoImgError.emit()};onResize=t=>{Object.entries(t.detail).forEach((([t,i])=>{this._srcSet[t].active=!!i}));const i=[];Object.keys(this._srcSet).sort().forEach((t=>{this._srcSet[t].active&&i.push(this._srcSet[t].src)})),this._src=i.length?i.slice(-1)[0]:this.src};removeIO(){this.io&&(this.io.disconnect(),this.io=void 0)}connectedCallback(){this.srcChanged(),this.srcSetChanged(),this.lazyChanged()}componentDidLoad(){this.addIO()}disconnectedCallback(){this.removeIO()}render(){const t=this.loadSrc?{"background-image":`url(${this.loadSrc})`}:{};return s(i,{key:"a9d5cb1d0be8540d7ea690fd13d92b1f5ec614af",class:"nano-img"},s("div",{key:"1f40afc64a5652f53b224403c59b4f108e5eb044",class:"img"},s("div",{key:"7b3a0b8521888092effb1fc675b0c52bce7faa6f",class:"img__loader n-loader-skeleton"},"Loading"),!!this.background&&s("div",{key:"1f4d59fc6ff3e0be42f18d1db4a099a32d099872",class:{loaded:this.hasLoaded,img__bg:!0,"no-height":"image"===this.autoHeight},style:t},s("slot",{key:"d987180d13fa9ef34868c8e962344da9e0f6b876"})),s("img",{key:"f3d603cf35bf0c37c4e1eb530e9a9ea7d7e81beb",class:{img__image:!0,loaded:this.hasLoaded,hide:this.background,"no-height":"content"===this.autoHeight},decoding:"async",src:this.loadSrc,loading:void 0,alt:this.alt,onLoad:this.onLoad,onError:this.loadError}),s("nano-resize-observe",{key:"cf77dadeb8d5b01ef1afff5e6df5eb6aacad13e6",class:"img__observer",onNanoResizeStateChange:this.onResize,states:this.imgStates})))}static get watchers(){return{_src:["_srcChanged"],src:["srcChanged"],srcSet:["srcSetChanged"],lazy:["lazyChanged"]}}};h.style=":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}";export{d as nano_grid,h as nano_img}
4
+ import{h as t,a as i,g as e,r as n,c as r}from"./index-CX_Hk6ss.js";import{h as s}from"./renderer-ZmozgREV.js";const o=(()=>{try{return!!new CSSStyleSheet}catch(t){return!1}})(),a=new WeakMap;function c(i,e,n){(function(t){for(const i in t)if(i in t&&Array.isArray(t[i]))return t[i]}(i)||[]).push(t("style",{type:"text/css","constructible-style":e},n))}function l(t,i,e,n){i.__constructableStyle||(i.__constructableStyle={});const r=t[n.cacheKeyProperty];return i.__constructableStyle[r]||(i.__constructableStyle[r]=new CSSStyleSheet,i.__constructableStyle[r].replace(e)),i.__constructableStyle[r]}const h=class{constructor(t){n(this,t)}grids=[];cacheKey;sSize=300;mSize=550;lSize=800;xlSize=1e3;sCols;mCols;lCols;xlCols;xxlCols;sTpl;mTpl;lTpl;xlTpl;xxlTpl;showHelper=!1;constructSizeArray(){this.grids=[],this.sCols&&this.grids.push({cols:this.sCols,breakpoint:0,name:"s",template:this.sTpl}),this.mCols&&this.grids.push({cols:this.mCols,breakpoint:this.sSize,name:"m",template:this.mTpl}),this.lCols&&this.grids.push({cols:this.lCols,breakpoint:this.mSize,name:"l",template:this.lTpl}),this.xlCols&&this.grids.push({cols:this.xlCols,breakpoint:this.lSize,name:"xl",template:this.xlTpl}),this.xxlCols&&this.grids.push({cols:this.xxlCols,breakpoint:this.xlSize,name:"xxl",template:this.xxlTpl}),this.cacheKey=this.grids.map((t=>`${t.cols}-${t.breakpoint}-${t.template||""}`)).join("")+"-helper-"+this.showHelper}styles=()=>`\n ${this.grids.map((t=>`\n @container (min-width: ${Number(t.breakpoint+1)?Number(t.breakpoint)+1+"px":t.breakpoint}) {\n [cache-key="${this.cacheKey}"].grid {\n --current-grid-size: "grid size: ${t.name}";\n ${t.template?`grid-template: ${t.template};`:`grid-template-columns: repeat(${t.cols}, minmax(calc((100% / ${t.cols}) - var(--grid-col-gap)), 1fr));`}\n }\n ${[...Array(t.cols)].map(((i,e)=>{const n=e+1;return`\n [cache-key="${this.cacheKey}"].grid > [grid-states~="${t.name}-col-start-${n}"],\n ::slotted([grid-states~="${t.name}-col-start-${n}"]) {\n grid-column-start: ${n} !important;\n }\n [cache-key="${this.cacheKey}"].grid > [grid-states~="${t.name}-col-span-${n}"],\n ::slotted([grid-states~="${t.name}-col-span-${n}"]) {\n grid-column-end: span ${n} !important;\n }\n `})).join("")}\n ${[...Array(24)].map(((i,e)=>{const n=e+1;return`\n [cache-key="${this.cacheKey}"].grid > [grid-states~="${t.name}-row-start-${n}"],\n ::slotted([grid-states~="${t.name}-row-start-${n}"]) {\n grid-row-start: ${n} !important;\n }\n [cache-key="${this.cacheKey}"].grid > [grid-states~="${t.name}-row-span-${n}"],\n ::slotted([grid-states~="${t.name}-row-span-${n}"]) {\n grid-row-end: span ${n} !important;\n }\n `})).join("")}\n ${this.showHelper?`\n [cache-key="${this.cacheKey}"].grid--helper :nth-child(-n+${t.cols}) {\n display: block !important;\n }\n `:""}\n }\n `)).join("")}\n `.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s{2,}/g," ").replace(/\s*([{}:;,])\s*/g,"$1").replace(/\n/g,"");componentWillLoad(){this.constructSizeArray()}render(){return s(i,{key:"74b98156bf6fbb3bf105135be4f461737d7774ac",class:"nano-grid"},s("div",{key:"dda06ec152c7d25ee0e6090e6c301bc8e5e81aac",part:"grid",class:"grid","cache-key":this.cacheKey},s("slot",{key:"175e120e0198bfad25600316aa8a8becf9390866"})),this.showHelper&&s("div",{key:"773d0ca81af12cc416550578e4df88f08b7af3cd",class:"grid grid--helper",part:"helper","cache-key":this.cacheKey},[...Array(24)].map((()=>s("div",{class:"grid__helper-item"})))))}static get watchers(){return{sTpl:["constructSizeArray"],mTpl:["constructSizeArray"],lTpl:["constructSizeArray"],xlTpl:["constructSizeArray"],xxlTpl:["constructSizeArray"],sSize:["constructSizeArray"],mSize:["constructSizeArray"],lSize:["constructSizeArray"],xlSize:["constructSizeArray"],sCols:["constructSizeArray"],mCols:["constructSizeArray"],lCols:["constructSizeArray"],xlCols:["constructSizeArray"],xxlCols:["constructSizeArray"],showHelper:["constructSizeArray"]}}};(function(t,i,e,n){var r,s=arguments.length,o=s<3?i:null===n?n=Object.getOwnPropertyDescriptor(i,e):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,i,e,n);else for(var a=t.length-1;a>=0;a--)(r=t[a])&&(o=(s<3?r(o):s>3?r(i,e,o):r(i,e))||o);s>3&&o&&Object.defineProperty(i,e,o)})([function(n={}){return(r,s)=>{n.cacheKeyProperty||(n.cacheKeyProperty=s);const{componentWillLoad:h,render:d,componentWillRender:m}=r;if(h||console.warn(`ConstructibleStyle requires you to have a \`componentWillLoad\` lifecycle method in \`${r.constructor.name}\`. Failure to add this function may cause ConstructibleStyle to fail due to StencilJS build optimizations.`),o){const t=t=>{if(!t[n.cacheKeyProperty]||a.get(t)&&a.get(t)===t[n.cacheKeyProperty])return;a.set(t,t[n.cacheKeyProperty]);const i=e(t),o="function"==typeof t[s]?t[s]():t[s],c=i.shadowRoot||document;c.adoptedStyleSheets=[...c.adoptedStyleSheets||[],l(t,r,o,n)]};r.componentWillLoad=function(){const i=h&&h.call(this);return t(this),i},r.componentWillRender=function(){const i=m&&m.call(this);return t(this),i}}else r.render=function(){const e="function"==typeof this[s]?this[s]():this[s];let n=d.call(this);if(function(t){for(const e in t)if(e in t&&t[e]===i)return!0;return!1}(n))c(n,r.constructor.name,e);else if(n=t(i,null,n),"attachShadow"in HTMLElement.prototype){if(!r.__constructableStyle){const t=document.createElement("style");t.setAttribute("type","text/css"),t.setAttribute("constructible-style",r.constructor.name),t.innerHTML=e,r.__constructableStyle=t,document.head.appendChild(t)}}else c(n,r.constructor.name,e);return n}}}({cacheKeyProperty:"cacheKey"}),function(t,i){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,i)}("design:type",Object)],h.prototype,"styles",void 0),h.style=':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{--grid-col-gap:var(--nano-spacing-medium, 16px);--grid-row-gap:var(--nano-spacing-medium, 16px);--grid-align-items:start;--current-grid-size:"grid size: s";container-type:inline-size;display:block}:host .grid{display:grid;gap:var(--grid-row-gap) var(--grid-col-gap);block-size:inherit;min-block-size:inherit;align-items:var(--grid-align-items)}:host([show-helper]:not([show-helper=false])){position:relative}:host([show-helper]:not([show-helper=false])) .grid--helper{position:absolute;inset:0;pointer-events:none;display:grid !important;overflow:hidden}:host([show-helper]:not([show-helper=false])) .grid--helper::before{content:var(--current-grid-size);font-size:30px;position:absolute;inline-size:100%;inset-inline-start:0;text-align:center;inset-block-start:50%;transform:translateY(-50%);color:rgba(0, 0, 0, 0.2);text-transform:uppercase;z-index:99;pointer-events:none}:host([show-helper]:not([show-helper=false])) .grid__helper-item{background:hsla(204, 80%, 72%, 0.25);block-size:100vh}';const d=class{constructor(t){n(this,t),this.nanoImgWillLoad=r(this,"nanoImgWillLoad",7),this.nanoImgDidLoad=r(this,"nanoImgDidLoad",7),this.nanoImgError=r(this,"nanoImgError",7)}io;_srcSet={};get host(){return e(this)}loadSrc;loadError;hasLoaded=!1;imgStates=null;_src;_srcChanged(){this.hasLoaded=!1,this.addIO()}alt;src;srcChanged(){this._src=this.src}srcSet;srcSetChanged(){this.srcSet&&(delete this._srcSet,this._srcSet={},this.imgStates=this.srcSet.split(",").map((t=>{const[i,e]=t.split(" ").filter((t=>t.length));return this._srcSet[i]={src:e,active:!1},i})).join(", "))}lazy=!0;lazyChanged(){this.lazy||this.load()}background;autoHeight="content";nanoImgWillLoad;nanoImgDidLoad;nanoImgError;addIO(){this._src&&!this.hasLoaded&&(this.lazy?"undefined"!=typeof window&&"IntersectionObserver"in window?(this.removeIO(),this.io=new IntersectionObserver((t=>{t[0].isIntersecting&&(this.load(),this.removeIO())})),this.io.observe(this.host)):setTimeout((()=>this.load()),200):this.load())}load(){this.loadError=this.onError,this.loadSrc=this._src,this.nanoImgWillLoad.emit()}onLoad=()=>{this.nanoImgDidLoad.emit(),setTimeout((()=>this.hasLoaded=!0),50)};onError=()=>{this.nanoImgError.emit()};onResize=t=>{Object.entries(t.detail).forEach((([t,i])=>{this._srcSet[t].active=!!i}));const i=[];Object.keys(this._srcSet).sort().forEach((t=>{this._srcSet[t].active&&i.push(this._srcSet[t].src)})),this._src=i.length?i.slice(-1)[0]:this.src};removeIO(){this.io&&(this.io.disconnect(),this.io=void 0)}connectedCallback(){this.srcChanged(),this.srcSetChanged(),this.lazyChanged()}componentDidLoad(){this.addIO()}disconnectedCallback(){this.removeIO()}render(){const t=this.loadSrc?{"background-image":`url(${this.loadSrc})`}:{};return s(i,{key:"a9d5cb1d0be8540d7ea690fd13d92b1f5ec614af",class:"nano-img"},s("div",{key:"1f40afc64a5652f53b224403c59b4f108e5eb044",class:"img"},s("div",{key:"7b3a0b8521888092effb1fc675b0c52bce7faa6f",class:"img__loader n-loader-skeleton"},"Loading"),!!this.background&&s("div",{key:"1f4d59fc6ff3e0be42f18d1db4a099a32d099872",class:{loaded:this.hasLoaded,img__bg:!0,"no-height":"image"===this.autoHeight},style:t},s("slot",{key:"d987180d13fa9ef34868c8e962344da9e0f6b876"})),s("img",{key:"f3d603cf35bf0c37c4e1eb530e9a9ea7d7e81beb",class:{img__image:!0,loaded:this.hasLoaded,hide:this.background,"no-height":"content"===this.autoHeight},decoding:"async",src:this.loadSrc,loading:void 0,alt:this.alt,onLoad:this.onLoad,onError:this.loadError}),s("nano-resize-observe",{key:"cf77dadeb8d5b01ef1afff5e6df5eb6aacad13e6",class:"img__observer",onNanoResizeStateChange:this.onResize,states:this.imgStates})))}static get watchers(){return{_src:["_srcChanged"],src:["srcChanged"],srcSet:["srcSetChanged"],lazy:["lazyChanged"]}}};d.style=":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}";export{h as nano_grid,d as nano_img}