@nanoporetech-digital/components 1.15.6 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (981) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/cjs/active-element-2f9bf0aa.js +21 -0
  3. package/dist/cjs/active-element-2f9bf0aa.js.map +1 -0
  4. package/dist/cjs/{algoliasearch.umd-0ccd70ce.js → algoliasearch.umd-79e17a1a.js} +3 -3
  5. package/dist/cjs/{algoliasearch.umd-0ccd70ce.js.map → algoliasearch.umd-79e17a1a.js.map} +1 -1
  6. package/dist/cjs/{dom-5f3fae1a.js → dom-52f9b8b7.js} +25 -6
  7. package/dist/cjs/dom-52f9b8b7.js.map +1 -0
  8. package/dist/cjs/form-control-3bc82e3e.js +80 -0
  9. package/dist/cjs/form-control-3bc82e3e.js.map +1 -0
  10. package/dist/cjs/{index-117f36a4.js → index-53d02e05.js} +12 -27
  11. package/dist/cjs/index-53d02e05.js.map +1 -0
  12. package/dist/cjs/index-cb62df44.js +12 -12
  13. package/dist/cjs/index.cjs.js +3 -3
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/{modal-01eed1bf.js → modal-f09e431f.js} +2 -2
  17. package/dist/cjs/{modal-01eed1bf.js.map → modal-f09e431f.js.map} +1 -1
  18. package/dist/cjs/nano-accordion.cjs.entry.js +2 -4
  19. package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-alert.cjs.entry.js +6 -6
  21. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
  23. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-algolia-input.cjs.entry.js +1 -1
  25. package/dist/cjs/nano-algolia.cjs.entry.js +9 -5
  26. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
  28. package/dist/cjs/nano-aspect-ratio.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-checkbox-group.cjs.entry.js +4 -1
  30. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-checkbox.cjs.entry.js +1 -1
  32. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nano-components.cjs.js +1 -1
  34. package/dist/cjs/nano-datalist_3.cjs.entry.js +790 -0
  35. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -0
  36. package/dist/cjs/nano-date-input.cjs.entry.js +9 -5
  37. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/{nano-date-picker_2.cjs.entry.js → nano-date-picker.cjs.entry.js} +2 -274
  39. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -0
  40. package/dist/cjs/nano-details.cjs.entry.js +2 -2
  41. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nano-dialog.cjs.entry.js +5 -5
  43. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nano-drawer.cjs.entry.js +5 -5
  45. package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nano-dropdown.cjs.entry.js +307 -0
  47. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -0
  48. package/dist/cjs/nano-file-upload.cjs.entry.js +1 -1
  49. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nano-global-nav.cjs.entry.js +19 -24
  51. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nano-global-search-results.cjs.entry.js +200 -115
  53. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-grid_3.cjs.entry.js +15 -7
  55. package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nano-hero.cjs.entry.js +13 -5
  57. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nano-icon-button.cjs.entry.js +2 -2
  59. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nano-icon.cjs.entry.js +1 -1
  61. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  62. package/dist/cjs/nano-input.cjs.entry.js +80 -75
  63. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nano-menu-drawer.cjs.entry.js +2 -2
  65. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  66. package/dist/cjs/nano-nav-item_2.cjs.entry.js +287 -533
  67. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  68. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  69. package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
  70. package/dist/cjs/nano-rating.cjs.entry.js +2 -2
  71. package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
  72. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -1
  73. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  74. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  75. package/dist/cjs/nano-slide.cjs.entry.js.map +1 -1
  76. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  77. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  78. package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
  79. package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
  80. package/dist/cjs/nano-sticker.cjs.entry.js +3 -3
  81. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  82. package/dist/cjs/nano-tab-content.cjs.entry.js +2 -2
  83. package/dist/cjs/nano-tab-content.cjs.entry.js.map +1 -1
  84. package/dist/cjs/nano-tab-group.cjs.entry.js +72 -36
  85. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  86. package/dist/cjs/nano-tab.cjs.entry.js +9 -2
  87. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  88. package/dist/cjs/nano-tooltip.cjs.entry.js +2 -2
  89. package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
  90. package/dist/cjs/{popover-d033efa2.js → popover-86f1775c.js} +10 -1
  91. package/dist/cjs/popover-86f1775c.js.map +1 -0
  92. package/dist/cjs/{scroll-d7753eed.js → scroll-6b9e6870.js} +2 -2
  93. package/dist/cjs/{scroll-d7753eed.js.map → scroll-6b9e6870.js.map} +1 -1
  94. package/dist/cjs/{tabbable-615c30e1.js → tabbable-de4c23d8.js} +8 -6
  95. package/dist/cjs/tabbable-de4c23d8.js.map +1 -0
  96. package/dist/collection/collection-manifest.json +3 -2
  97. package/dist/collection/components/accordion/accordion.css +3 -0
  98. package/dist/collection/components/accordion/accordion.js +2 -5
  99. package/dist/collection/components/accordion/accordion.js.map +1 -1
  100. package/dist/collection/components/alert/alert.css +5 -6
  101. package/dist/collection/components/alert/alert.helpers.js +2 -2
  102. package/dist/collection/components/alert/alert.helpers.js.map +1 -1
  103. package/dist/collection/components/alert/alert.js +1 -1
  104. package/dist/collection/components/algolia/algolia-filter.css +3 -0
  105. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  106. package/dist/collection/components/algolia/algolia-input.js +5 -5
  107. package/dist/collection/components/algolia/algolia-results.js +1 -1
  108. package/dist/collection/components/algolia/algolia.css +3 -0
  109. package/dist/collection/components/algolia/algolia.js +6 -6
  110. package/dist/collection/components/aspect-ratio/aspect-ratio.css +3 -0
  111. package/dist/collection/components/checkbox/checkbox-group.css +3 -0
  112. package/dist/collection/components/checkbox/checkbox-group.js +5 -2
  113. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  114. package/dist/collection/components/checkbox/checkbox.css +3 -0
  115. package/dist/collection/components/checkbox/checkbox.js +3 -3
  116. package/dist/collection/components/datalist/datalist.css +55 -0
  117. package/dist/collection/components/datalist/datalist.js +796 -0
  118. package/dist/collection/components/datalist/datalist.js.map +1 -0
  119. package/dist/collection/components/date-input/date-input.css +3 -0
  120. package/dist/collection/components/date-input/date-input.js +18 -10
  121. package/dist/collection/components/date-input/date-input.js.map +1 -1
  122. package/dist/collection/components/date-picker/date-picker.css +3 -0
  123. package/dist/collection/components/date-picker/date-picker.js +5 -5
  124. package/dist/collection/components/details/details.css +3 -0
  125. package/dist/collection/components/details/details.js +2 -3
  126. package/dist/collection/components/details/details.js.map +1 -1
  127. package/dist/collection/components/dialog/dialog.css +4 -1
  128. package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
  129. package/dist/collection/components/dialog/dialog.js +1 -1
  130. package/dist/collection/components/drawer/drawer.css +3 -0
  131. package/dist/collection/components/dropdown/dropdown.css +19 -2
  132. package/dist/collection/components/dropdown/dropdown.js +56 -39
  133. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  134. package/dist/collection/components/file-upload/file-upload.css +5 -2
  135. package/dist/collection/components/file-upload/file-upload.js +4 -4
  136. package/dist/collection/components/form-control/form-control.js +73 -0
  137. package/dist/collection/components/form-control/form-control.js.map +1 -0
  138. package/dist/collection/components/global-nav/global-nav.css +43 -37
  139. package/dist/collection/components/global-nav/global-nav.js +21 -26
  140. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  141. package/dist/collection/components/global-search-results/global-search-results.css +299 -18
  142. package/dist/collection/components/global-search-results/global-search-results.js +200 -113
  143. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  144. package/dist/collection/components/grid/grid-item.css +3 -0
  145. package/dist/collection/components/grid/grid-item.js +1 -1
  146. package/dist/collection/components/grid/grid.css +3 -0
  147. package/dist/collection/components/grid/grid.js +37 -6
  148. package/dist/collection/components/grid/grid.js.map +1 -1
  149. package/dist/collection/components/hero/hero.css +13 -5
  150. package/dist/collection/components/hero/hero.js +32 -22
  151. package/dist/collection/components/hero/hero.js.map +1 -1
  152. package/dist/collection/components/icon/icon.css +3 -0
  153. package/dist/collection/components/icon/icon.js +1 -1
  154. package/dist/collection/components/icon-button/icon-button.css +6 -1
  155. package/dist/collection/components/icon-button/icon-button.js +1 -1
  156. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  157. package/dist/collection/components/img/img.css +3 -0
  158. package/dist/collection/components/input/input.css +242 -232
  159. package/dist/collection/components/input/input.js +111 -114
  160. package/dist/collection/components/input/input.js.map +1 -1
  161. package/dist/collection/components/menu/menu.css +27 -35
  162. package/dist/collection/components/menu/menu.js +222 -48
  163. package/dist/collection/components/menu/menu.js.map +1 -1
  164. package/dist/collection/components/menu-drawer/menu-drawer.css +3 -0
  165. package/dist/collection/components/nav-item/nav-item.css +3 -0
  166. package/dist/collection/components/nav-item/nav-item.js +5 -5
  167. package/dist/collection/components/nav-item/nav-item.js.map +1 -1
  168. package/dist/collection/components/option/option-interface.js +5 -0
  169. package/dist/collection/components/option/option-interface.js.map +1 -0
  170. package/dist/collection/components/option/option.css +187 -0
  171. package/dist/collection/components/option/option.js +242 -0
  172. package/dist/collection/components/option/option.js.map +1 -0
  173. package/dist/collection/components/range/range.css +3 -0
  174. package/dist/collection/components/range/range.js +4 -4
  175. package/dist/collection/components/rating/rating.css +3 -0
  176. package/dist/collection/components/resize-observe/resize-observe.js +1 -1
  177. package/dist/collection/components/select/select.css +458 -391
  178. package/dist/collection/components/select/select.js +367 -607
  179. package/dist/collection/components/select/select.js.map +1 -1
  180. package/dist/collection/components/skeleton/skeleton.css +3 -0
  181. package/dist/collection/components/slides/slide.css +3 -0
  182. package/dist/collection/components/slides/slides.css +3 -0
  183. package/dist/collection/components/slides/slides.js +7 -7
  184. package/dist/collection/components/spinner/spinner.css +3 -0
  185. package/dist/collection/components/sticky/sticker.css +3 -0
  186. package/dist/collection/components/tabs/tab-content.css +3 -0
  187. package/dist/collection/components/tabs/tab-content.js +3 -3
  188. package/dist/collection/components/tabs/tab-content.js.map +1 -1
  189. package/dist/collection/components/tabs/tab-group.css +16 -5
  190. package/dist/collection/components/tabs/tab-group.js +137 -41
  191. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  192. package/dist/collection/components/tabs/tab.css +36 -6
  193. package/dist/collection/components/tabs/tab.js +45 -2
  194. package/dist/collection/components/tabs/tab.js.map +1 -1
  195. package/dist/collection/components/tooltip/tooltip.css +3 -0
  196. package/dist/collection/utils/active-element.js +16 -0
  197. package/dist/collection/utils/active-element.js.map +1 -0
  198. package/dist/collection/utils/dom.js +24 -5
  199. package/dist/collection/utils/dom.js.map +1 -1
  200. package/dist/collection/utils/index.js +13 -13
  201. package/dist/collection/utils/index.js.map +1 -1
  202. package/dist/collection/utils/popover.js +9 -0
  203. package/dist/collection/utils/popover.js.map +1 -1
  204. package/dist/collection/utils/tabbable.js +7 -5
  205. package/dist/collection/utils/tabbable.js.map +1 -1
  206. package/dist/collection/utils/template.js +5 -1
  207. package/dist/collection/utils/template.js.map +1 -1
  208. package/dist/collection/utils/testing/index.js +11 -1
  209. package/dist/collection/utils/testing/index.js.map +1 -1
  210. package/dist/components/ResizeObserver.es.js +933 -0
  211. package/dist/components/ResizeObserver.es.js.map +1 -0
  212. package/dist/components/_commonjsHelpers.js +41 -0
  213. package/dist/components/_commonjsHelpers.js.map +1 -0
  214. package/dist/components/active-element.js +19 -0
  215. package/dist/components/active-element.js.map +1 -0
  216. package/dist/components/algolia-data.js +49 -0
  217. package/dist/components/algolia-data.js.map +1 -0
  218. package/dist/components/algolia.js +906 -0
  219. package/dist/components/algolia.js.map +1 -0
  220. package/dist/components/algoliasearch.umd.js +13 -0
  221. package/dist/components/algoliasearch.umd.js.map +1 -0
  222. package/dist/components/component-store.js +2234 -0
  223. package/dist/components/component-store.js.map +1 -0
  224. package/dist/components/datalist.js +557 -0
  225. package/dist/components/datalist.js.map +1 -0
  226. package/dist/components/date-picker.js +624 -0
  227. package/dist/components/date-picker.js.map +1 -0
  228. package/dist/{esm/dom-a791b223.js → components/dom.js} +25 -6
  229. package/dist/components/dom.js.map +1 -0
  230. package/dist/components/dropdown.js +332 -0
  231. package/dist/components/dropdown.js.map +1 -0
  232. package/dist/components/focus-visible.js +66 -0
  233. package/dist/components/focus-visible.js.map +1 -0
  234. package/dist/components/form-control.js +77 -0
  235. package/dist/components/form-control.js.map +1 -0
  236. package/dist/components/grid-item.js +112 -0
  237. package/dist/components/grid-item.js.map +1 -0
  238. package/dist/components/grid.js +276 -0
  239. package/dist/components/grid.js.map +1 -0
  240. package/dist/components/icon-button.js +70 -0
  241. package/dist/components/icon-button.js.map +1 -0
  242. package/dist/components/icon.js +269 -0
  243. package/dist/components/icon.js.map +1 -0
  244. package/dist/components/img.js +184 -0
  245. package/dist/components/img.js.map +1 -0
  246. package/dist/components/index.d.ts +26 -0
  247. package/dist/components/index.js +251 -0
  248. package/dist/components/index.js.map +1 -0
  249. package/dist/{esm/index-f41ae118.js → components/index2.js} +13 -27
  250. package/dist/components/index2.js.map +1 -0
  251. package/dist/components/index3.js +1075 -0
  252. package/dist/components/index3.js.map +1 -0
  253. package/dist/components/index4.js +637 -0
  254. package/dist/components/index4.js.map +1 -0
  255. package/dist/components/input.js +474 -0
  256. package/dist/components/input.js.map +1 -0
  257. package/dist/components/intersection-observer.js +985 -0
  258. package/dist/components/intersection-observer.js.map +1 -0
  259. package/dist/components/local-my-account.js +353 -0
  260. package/dist/components/local-my-account.js.map +1 -0
  261. package/dist/components/menu.js +235 -0
  262. package/dist/components/menu.js.map +1 -0
  263. package/dist/components/modal.js +48 -0
  264. package/dist/components/modal.js.map +1 -0
  265. package/dist/components/nano-accordion.d.ts +11 -0
  266. package/dist/components/nano-accordion.js +63 -0
  267. package/dist/components/nano-accordion.js.map +1 -0
  268. package/dist/components/nano-alert.d.ts +11 -0
  269. package/dist/components/nano-alert.js +296 -0
  270. package/dist/components/nano-alert.js.map +1 -0
  271. package/dist/components/nano-algolia-filter.d.ts +11 -0
  272. package/dist/components/nano-algolia-filter.js +317 -0
  273. package/dist/components/nano-algolia-filter.js.map +1 -0
  274. package/dist/components/nano-algolia-input.d.ts +11 -0
  275. package/dist/components/nano-algolia-input.js +224 -0
  276. package/dist/components/nano-algolia-input.js.map +1 -0
  277. package/dist/components/nano-algolia-pagination.d.ts +11 -0
  278. package/dist/components/nano-algolia-pagination.js +104 -0
  279. package/dist/components/nano-algolia-pagination.js.map +1 -0
  280. package/dist/components/nano-algolia-results.d.ts +11 -0
  281. package/dist/components/nano-algolia-results.js +224 -0
  282. package/dist/components/nano-algolia-results.js.map +1 -0
  283. package/dist/components/nano-algolia.d.ts +11 -0
  284. package/dist/components/nano-algolia.js +11 -0
  285. package/dist/components/nano-algolia.js.map +1 -0
  286. package/dist/components/nano-aspect-ratio.d.ts +11 -0
  287. package/dist/components/nano-aspect-ratio.js +74 -0
  288. package/dist/components/nano-aspect-ratio.js.map +1 -0
  289. package/dist/components/nano-checkbox-group.d.ts +11 -0
  290. package/dist/components/nano-checkbox-group.js +235 -0
  291. package/dist/components/nano-checkbox-group.js.map +1 -0
  292. package/dist/components/nano-checkbox.d.ts +11 -0
  293. package/dist/components/nano-checkbox.js +231 -0
  294. package/dist/components/nano-checkbox.js.map +1 -0
  295. package/dist/components/nano-datalist.d.ts +11 -0
  296. package/dist/components/nano-datalist.js +11 -0
  297. package/dist/components/nano-datalist.js.map +1 -0
  298. package/dist/components/nano-date-input.d.ts +11 -0
  299. package/dist/components/nano-date-input.js +408 -0
  300. package/dist/components/nano-date-input.js.map +1 -0
  301. package/dist/components/nano-date-picker.d.ts +11 -0
  302. package/dist/components/nano-date-picker.js +11 -0
  303. package/dist/components/nano-date-picker.js.map +1 -0
  304. package/dist/components/nano-details.d.ts +11 -0
  305. package/dist/components/nano-details.js +162 -0
  306. package/dist/components/nano-details.js.map +1 -0
  307. package/dist/components/nano-dialog.d.ts +11 -0
  308. package/dist/components/nano-dialog.js +231 -0
  309. package/dist/components/nano-dialog.js.map +1 -0
  310. package/dist/components/nano-drawer.d.ts +11 -0
  311. package/dist/components/nano-drawer.js +217 -0
  312. package/dist/components/nano-drawer.js.map +1 -0
  313. package/dist/components/nano-dropdown.d.ts +11 -0
  314. package/dist/components/nano-dropdown.js +11 -0
  315. package/dist/components/nano-dropdown.js.map +1 -0
  316. package/dist/components/nano-file-upload.d.ts +11 -0
  317. package/dist/components/nano-file-upload.js +421 -0
  318. package/dist/components/nano-file-upload.js.map +1 -0
  319. package/dist/components/nano-global-nav.d.ts +11 -0
  320. package/dist/components/nano-global-nav.js +1221 -0
  321. package/dist/components/nano-global-nav.js.map +1 -0
  322. package/dist/components/nano-global-search-results.d.ts +11 -0
  323. package/dist/components/nano-global-search-results.js +608 -0
  324. package/dist/components/nano-global-search-results.js.map +1 -0
  325. package/dist/components/nano-grid-item.d.ts +11 -0
  326. package/dist/components/nano-grid-item.js +11 -0
  327. package/dist/components/nano-grid-item.js.map +1 -0
  328. package/dist/components/nano-grid.d.ts +11 -0
  329. package/dist/components/nano-grid.js +11 -0
  330. package/dist/components/nano-grid.js.map +1 -0
  331. package/dist/components/nano-hero.d.ts +11 -0
  332. package/dist/components/nano-hero.js +187 -0
  333. package/dist/components/nano-hero.js.map +1 -0
  334. package/dist/components/nano-icon-button.d.ts +11 -0
  335. package/dist/components/nano-icon-button.js +11 -0
  336. package/dist/components/nano-icon-button.js.map +1 -0
  337. package/dist/components/nano-icon.d.ts +11 -0
  338. package/dist/components/nano-icon.js +11 -0
  339. package/dist/components/nano-icon.js.map +1 -0
  340. package/dist/components/nano-img.d.ts +11 -0
  341. package/dist/components/nano-img.js +11 -0
  342. package/dist/components/nano-img.js.map +1 -0
  343. package/dist/components/nano-input.d.ts +11 -0
  344. package/dist/components/nano-input.js +11 -0
  345. package/dist/components/nano-input.js.map +1 -0
  346. package/dist/components/nano-menu-drawer.d.ts +11 -0
  347. package/dist/components/nano-menu-drawer.js +221 -0
  348. package/dist/components/nano-menu-drawer.js.map +1 -0
  349. package/dist/components/nano-menu.d.ts +11 -0
  350. package/dist/components/nano-menu.js +11 -0
  351. package/dist/components/nano-menu.js.map +1 -0
  352. package/dist/components/nano-nav-item.d.ts +11 -0
  353. package/dist/components/nano-nav-item.js +11 -0
  354. package/dist/components/nano-nav-item.js.map +1 -0
  355. package/dist/components/nano-option.d.ts +11 -0
  356. package/dist/components/nano-option.js +11 -0
  357. package/dist/components/nano-option.js.map +1 -0
  358. package/dist/components/nano-range.d.ts +11 -0
  359. package/dist/components/nano-range.js +430 -0
  360. package/dist/components/nano-range.js.map +1 -0
  361. package/dist/components/nano-rating.d.ts +11 -0
  362. package/dist/components/nano-rating.js +240 -0
  363. package/dist/components/nano-rating.js.map +1 -0
  364. package/dist/components/nano-resize-observe.d.ts +11 -0
  365. package/dist/components/nano-resize-observe.js +11 -0
  366. package/dist/components/nano-resize-observe.js.map +1 -0
  367. package/dist/components/nano-select.d.ts +11 -0
  368. package/dist/components/nano-select.js +11 -0
  369. package/dist/components/nano-select.js.map +1 -0
  370. package/dist/components/nano-skeleton.d.ts +11 -0
  371. package/dist/components/nano-skeleton.js +11 -0
  372. package/dist/components/nano-skeleton.js.map +1 -0
  373. package/dist/components/nano-slide.d.ts +11 -0
  374. package/dist/components/nano-slide.js +66 -0
  375. package/dist/components/nano-slide.js.map +1 -0
  376. package/dist/components/nano-slides.d.ts +11 -0
  377. package/dist/components/nano-slides.js +4335 -0
  378. package/dist/components/nano-slides.js.map +1 -0
  379. package/dist/components/nano-spinner.d.ts +11 -0
  380. package/dist/components/nano-spinner.js +11 -0
  381. package/dist/components/nano-spinner.js.map +1 -0
  382. package/dist/components/nano-sticker.d.ts +11 -0
  383. package/dist/components/nano-sticker.js +11 -0
  384. package/dist/components/nano-sticker.js.map +1 -0
  385. package/dist/components/nano-tab-content.d.ts +11 -0
  386. package/dist/components/nano-tab-content.js +49 -0
  387. package/dist/components/nano-tab-content.js.map +1 -0
  388. package/dist/components/nano-tab-group.d.ts +11 -0
  389. package/dist/components/nano-tab-group.js +460 -0
  390. package/dist/components/nano-tab-group.js.map +1 -0
  391. package/dist/components/nano-tab.d.ts +11 -0
  392. package/dist/components/nano-tab.js +86 -0
  393. package/dist/components/nano-tab.js.map +1 -0
  394. package/dist/components/nano-tooltip.d.ts +11 -0
  395. package/dist/components/nano-tooltip.js +11 -0
  396. package/dist/components/nano-tooltip.js.map +1 -0
  397. package/dist/components/nav-item.js +327 -0
  398. package/dist/components/nav-item.js.map +1 -0
  399. package/dist/components/option.js +120 -0
  400. package/dist/components/option.js.map +1 -0
  401. package/dist/{esm/popover-2c7b2326.js → components/popover.js} +10 -1
  402. package/dist/components/popover.js.map +1 -0
  403. package/dist/components/resize-observe.js +162 -0
  404. package/dist/components/resize-observe.js.map +1 -0
  405. package/dist/{esm/scroll-5cd0ab13.js → components/scroll.js} +2 -2
  406. package/dist/components/scroll.js.map +1 -0
  407. package/dist/components/select.js +670 -0
  408. package/dist/components/select.js.map +1 -0
  409. package/dist/components/skeleton.js +43 -0
  410. package/dist/components/skeleton.js.map +1 -0
  411. package/dist/components/slot.js +48 -0
  412. package/dist/components/slot.js.map +1 -0
  413. package/dist/components/spinner.js +49 -0
  414. package/dist/components/spinner.js.map +1 -0
  415. package/dist/components/sticker.js +665 -0
  416. package/dist/components/sticker.js.map +1 -0
  417. package/dist/{esm/tabbable-e21f860a.js → components/tabbable.js} +8 -6
  418. package/dist/components/tabbable.js.map +1 -0
  419. package/dist/components/theme.js +29 -0
  420. package/dist/components/theme.js.map +1 -0
  421. package/dist/components/throttle.js +55 -0
  422. package/dist/components/throttle.js.map +1 -0
  423. package/dist/components/tooltip.js +216 -0
  424. package/dist/components/tooltip.js.map +1 -0
  425. package/dist/custom-elements/index.d.ts +12 -6
  426. package/dist/custom-elements/index.js +1745 -1116
  427. package/dist/custom-elements/index.js.map +1 -1
  428. package/dist/esm/active-element-75b7c8a0.js +19 -0
  429. package/dist/esm/active-element-75b7c8a0.js.map +1 -0
  430. package/dist/esm/{algoliasearch.umd-8e5aff52.js → algoliasearch.umd-6d09b727.js} +3 -3
  431. package/dist/esm/{algoliasearch.umd-8e5aff52.js.map → algoliasearch.umd-6d09b727.js.map} +1 -1
  432. package/dist/esm/dom-faa69d29.js +75 -0
  433. package/dist/esm/dom-faa69d29.js.map +1 -0
  434. package/dist/esm/form-control-67eeb108.js +77 -0
  435. package/dist/esm/form-control-67eeb108.js.map +1 -0
  436. package/dist/esm/index-5f8d16e7.js +12 -12
  437. package/dist/esm/index-bf53664b.js +74 -0
  438. package/dist/esm/{index-f41ae118.js.map → index-bf53664b.js.map} +1 -1
  439. package/dist/esm/index.js +4 -4
  440. package/dist/esm/index.js.map +1 -1
  441. package/dist/esm/loader.js +1 -1
  442. package/dist/esm/{modal-eb0a9bb3.js → modal-215df46b.js} +2 -2
  443. package/dist/esm/{modal-eb0a9bb3.js.map → modal-215df46b.js.map} +1 -1
  444. package/dist/esm/nano-accordion.entry.js +2 -4
  445. package/dist/esm/nano-accordion.entry.js.map +1 -1
  446. package/dist/esm/nano-alert.entry.js +6 -6
  447. package/dist/esm/nano-alert.entry.js.map +1 -1
  448. package/dist/esm/nano-algolia-filter.entry.js +1 -1
  449. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  450. package/dist/esm/nano-algolia-input.entry.js +1 -1
  451. package/dist/esm/nano-algolia.entry.js +9 -5
  452. package/dist/esm/nano-algolia.entry.js.map +1 -1
  453. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  454. package/dist/esm/nano-aspect-ratio.entry.js.map +1 -1
  455. package/dist/esm/nano-checkbox-group.entry.js +4 -1
  456. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  457. package/dist/esm/nano-checkbox.entry.js +1 -1
  458. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  459. package/dist/esm/nano-components.js +1 -1
  460. package/dist/esm/nano-datalist_3.entry.js +784 -0
  461. package/dist/esm/nano-datalist_3.entry.js.map +1 -0
  462. package/dist/esm/nano-date-input.entry.js +9 -5
  463. package/dist/esm/nano-date-input.entry.js.map +1 -1
  464. package/dist/esm/{nano-date-picker_2.entry.js → nano-date-picker.entry.js} +3 -274
  465. package/dist/esm/nano-date-picker.entry.js.map +1 -0
  466. package/dist/esm/nano-details.entry.js +2 -2
  467. package/dist/esm/nano-details.entry.js.map +1 -1
  468. package/dist/esm/nano-dialog.entry.js +5 -5
  469. package/dist/esm/nano-dialog.entry.js.map +1 -1
  470. package/dist/esm/nano-drawer.entry.js +5 -5
  471. package/dist/esm/nano-drawer.entry.js.map +1 -1
  472. package/dist/esm/nano-dropdown.entry.js +303 -0
  473. package/dist/esm/nano-dropdown.entry.js.map +1 -0
  474. package/dist/esm/nano-file-upload.entry.js +1 -1
  475. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  476. package/dist/esm/nano-global-nav.entry.js +19 -24
  477. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  478. package/dist/esm/nano-global-search-results.entry.js +200 -115
  479. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  480. package/dist/esm/nano-grid_3.entry.js +16 -8
  481. package/dist/esm/nano-grid_3.entry.js.map +1 -1
  482. package/dist/esm/nano-hero.entry.js +14 -6
  483. package/dist/esm/nano-hero.entry.js.map +1 -1
  484. package/dist/esm/nano-icon-button.entry.js +2 -2
  485. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  486. package/dist/esm/nano-icon.entry.js +1 -1
  487. package/dist/esm/nano-icon.entry.js.map +1 -1
  488. package/dist/esm/nano-input.entry.js +80 -75
  489. package/dist/esm/nano-input.entry.js.map +1 -1
  490. package/dist/esm/nano-menu-drawer.entry.js +2 -2
  491. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  492. package/dist/esm/nano-nav-item_2.entry.js +287 -533
  493. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  494. package/dist/esm/nano-range.entry.js +2 -2
  495. package/dist/esm/nano-range.entry.js.map +1 -1
  496. package/dist/esm/nano-rating.entry.js +2 -2
  497. package/dist/esm/nano-rating.entry.js.map +1 -1
  498. package/dist/esm/nano-resize-observe_2.entry.js +1 -1
  499. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  500. package/dist/esm/nano-slide.entry.js +1 -1
  501. package/dist/esm/nano-slide.entry.js.map +1 -1
  502. package/dist/esm/nano-slides.entry.js +1 -1
  503. package/dist/esm/nano-slides.entry.js.map +1 -1
  504. package/dist/esm/nano-spinner.entry.js +1 -1
  505. package/dist/esm/nano-spinner.entry.js.map +1 -1
  506. package/dist/esm/nano-sticker.entry.js +3 -3
  507. package/dist/esm/nano-sticker.entry.js.map +1 -1
  508. package/dist/esm/nano-tab-content.entry.js +2 -2
  509. package/dist/esm/nano-tab-content.entry.js.map +1 -1
  510. package/dist/esm/nano-tab-group.entry.js +72 -36
  511. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  512. package/dist/esm/nano-tab.entry.js +10 -3
  513. package/dist/esm/nano-tab.entry.js.map +1 -1
  514. package/dist/esm/nano-tooltip.entry.js +2 -2
  515. package/dist/esm/nano-tooltip.entry.js.map +1 -1
  516. package/dist/esm/popover-db86a392.js +1893 -0
  517. package/dist/esm/popover-db86a392.js.map +1 -0
  518. package/dist/esm/scroll-881feb46.js +76 -0
  519. package/dist/esm/{scroll-5cd0ab13.js.map → scroll-881feb46.js.map} +1 -1
  520. package/dist/esm/tabbable-614f515e.js +94 -0
  521. package/dist/esm/tabbable-614f515e.js.map +1 -0
  522. package/dist/esm-es5/active-element-75b7c8a0.js +5 -0
  523. package/dist/esm-es5/active-element-75b7c8a0.js.map +1 -0
  524. package/dist/esm-es5/{algoliasearch.umd-8e5aff52.js → algoliasearch.umd-6d09b727.js} +3 -3
  525. package/dist/esm-es5/{algoliasearch.umd-8e5aff52.js.map → algoliasearch.umd-6d09b727.js.map} +1 -1
  526. package/dist/esm-es5/dom-faa69d29.js +5 -0
  527. package/dist/esm-es5/dom-faa69d29.js.map +1 -0
  528. package/dist/esm-es5/form-control-67eeb108.js +5 -0
  529. package/dist/esm-es5/form-control-67eeb108.js.map +1 -0
  530. package/dist/esm-es5/index-5f8d16e7.js +1 -1
  531. package/dist/esm-es5/index-bf53664b.js +5 -0
  532. package/dist/esm-es5/index-bf53664b.js.map +1 -0
  533. package/dist/esm-es5/index.js +1 -1
  534. package/dist/esm-es5/index.js.map +1 -1
  535. package/dist/esm-es5/loader.js +1 -1
  536. package/dist/esm-es5/loader.js.map +1 -1
  537. package/dist/esm-es5/{modal-eb0a9bb3.js → modal-215df46b.js} +2 -2
  538. package/dist/esm-es5/{modal-eb0a9bb3.js.map → modal-215df46b.js.map} +0 -0
  539. package/dist/esm-es5/nano-accordion.entry.js +1 -1
  540. package/dist/esm-es5/nano-accordion.entry.js.map +1 -1
  541. package/dist/esm-es5/nano-alert.entry.js +1 -1
  542. package/dist/esm-es5/nano-alert.entry.js.map +1 -1
  543. package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
  544. package/dist/esm-es5/nano-algolia-filter.entry.js.map +1 -1
  545. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  546. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  547. package/dist/esm-es5/nano-algolia.entry.js.map +1 -1
  548. package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
  549. package/dist/esm-es5/nano-aspect-ratio.entry.js.map +1 -1
  550. package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
  551. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  552. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  553. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  554. package/dist/esm-es5/nano-components.js +1 -1
  555. package/dist/esm-es5/nano-components.js.map +1 -1
  556. package/dist/esm-es5/nano-datalist_3.entry.js +5 -0
  557. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -0
  558. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  559. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  560. package/dist/esm-es5/nano-date-picker.entry.js +5 -0
  561. package/dist/esm-es5/nano-date-picker.entry.js.map +1 -0
  562. package/dist/esm-es5/nano-details.entry.js +1 -1
  563. package/dist/esm-es5/nano-details.entry.js.map +1 -1
  564. package/dist/esm-es5/nano-dialog.entry.js +1 -1
  565. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  566. package/dist/esm-es5/nano-drawer.entry.js +1 -1
  567. package/dist/esm-es5/nano-drawer.entry.js.map +1 -1
  568. package/dist/esm-es5/nano-dropdown.entry.js +5 -0
  569. package/dist/esm-es5/nano-dropdown.entry.js.map +1 -0
  570. package/dist/esm-es5/nano-file-upload.entry.js +1 -1
  571. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  572. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  573. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  574. package/dist/esm-es5/nano-global-search-results.entry.js +2 -2
  575. package/dist/esm-es5/nano-global-search-results.entry.js.map +1 -1
  576. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  577. package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
  578. package/dist/esm-es5/nano-hero.entry.js +1 -1
  579. package/dist/esm-es5/nano-hero.entry.js.map +1 -1
  580. package/dist/esm-es5/nano-icon-button.entry.js +1 -1
  581. package/dist/esm-es5/nano-icon-button.entry.js.map +1 -1
  582. package/dist/esm-es5/nano-icon.entry.js +1 -1
  583. package/dist/esm-es5/nano-icon.entry.js.map +1 -1
  584. package/dist/esm-es5/nano-input.entry.js +2 -2
  585. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  586. package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
  587. package/dist/esm-es5/nano-menu-drawer.entry.js.map +1 -1
  588. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  589. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  590. package/dist/esm-es5/nano-range.entry.js +1 -1
  591. package/dist/esm-es5/nano-range.entry.js.map +1 -1
  592. package/dist/esm-es5/nano-rating.entry.js +1 -1
  593. package/dist/esm-es5/nano-rating.entry.js.map +1 -1
  594. package/dist/esm-es5/nano-resize-observe_2.entry.js +2 -2
  595. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  596. package/dist/esm-es5/nano-slide.entry.js +1 -1
  597. package/dist/esm-es5/nano-slide.entry.js.map +1 -1
  598. package/dist/esm-es5/nano-slides.entry.js +1 -1
  599. package/dist/esm-es5/nano-slides.entry.js.map +1 -1
  600. package/dist/esm-es5/nano-spinner.entry.js +1 -1
  601. package/dist/esm-es5/nano-spinner.entry.js.map +1 -1
  602. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  603. package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
  604. package/dist/esm-es5/nano-tab-content.entry.js +1 -1
  605. package/dist/esm-es5/nano-tab-content.entry.js.map +1 -1
  606. package/dist/esm-es5/nano-tab-group.entry.js +2 -2
  607. package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
  608. package/dist/esm-es5/nano-tab.entry.js +2 -2
  609. package/dist/esm-es5/nano-tab.entry.js.map +1 -1
  610. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  611. package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
  612. package/dist/esm-es5/{popover-2c7b2326.js → popover-db86a392.js} +2 -2
  613. package/dist/esm-es5/popover-db86a392.js.map +1 -0
  614. package/dist/esm-es5/{scroll-5cd0ab13.js → scroll-881feb46.js} +2 -2
  615. package/dist/esm-es5/{scroll-5cd0ab13.js.map → scroll-881feb46.js.map} +0 -0
  616. package/dist/esm-es5/tabbable-614f515e.js +5 -0
  617. package/dist/esm-es5/tabbable-614f515e.js.map +1 -0
  618. package/dist/nano-components/index.esm.js +1 -1
  619. package/dist/nano-components/index.esm.js.map +1 -1
  620. package/dist/nano-components/nano-components.css +1 -1
  621. package/dist/nano-components/nano-components.esm.js +1 -1
  622. package/dist/nano-components/nano-components.esm.js.map +1 -1
  623. package/dist/nano-components/{p-2f21a443.system.entry.js → p-033296c7.system.entry.js} +2 -2
  624. package/dist/nano-components/{p-2f21a443.system.entry.js.map → p-033296c7.system.entry.js.map} +1 -1
  625. package/dist/nano-components/p-040b6cda.entry.js +5 -0
  626. package/dist/nano-components/{p-61565b5a.entry.js.map → p-040b6cda.entry.js.map} +1 -1
  627. package/dist/nano-components/p-05c7bde1.system.entry.js +5 -0
  628. package/dist/nano-components/{p-30df44d9.system.entry.js.map → p-05c7bde1.system.entry.js.map} +1 -1
  629. package/dist/nano-components/p-07bdf44d.entry.js +5 -0
  630. package/dist/nano-components/{p-88bcf55b.entry.js.map → p-07bdf44d.entry.js.map} +1 -1
  631. package/dist/nano-components/p-09066701.system.entry.js +5 -0
  632. package/dist/nano-components/p-09066701.system.entry.js.map +1 -0
  633. package/dist/nano-components/p-090f22a9.system.entry.js +5 -0
  634. package/dist/nano-components/{p-854df906.system.entry.js.map → p-090f22a9.system.entry.js.map} +1 -1
  635. package/dist/nano-components/p-096682d9.system.js +1 -1
  636. package/dist/nano-components/p-096682d9.system.js.map +1 -1
  637. package/dist/nano-components/p-09d2d944.system.js +5 -0
  638. package/dist/nano-components/p-09d2d944.system.js.map +1 -0
  639. package/dist/nano-components/{p-bfc12324.system.entry.js → p-0bee6fe6.system.entry.js} +2 -2
  640. package/dist/nano-components/{p-bfc12324.system.entry.js.map → p-0bee6fe6.system.entry.js.map} +0 -0
  641. package/dist/nano-components/{p-21c2a9a5.system.entry.js → p-173bae15.system.entry.js} +2 -2
  642. package/dist/nano-components/{p-21c2a9a5.system.entry.js.map → p-173bae15.system.entry.js.map} +1 -1
  643. package/dist/nano-components/{p-731935b1.js → p-1805d59a.js} +2 -2
  644. package/dist/nano-components/{p-731935b1.js.map → p-1805d59a.js.map} +0 -0
  645. package/dist/nano-components/p-1a293bd0.entry.js +5 -0
  646. package/dist/nano-components/{p-8b7f8ef4.entry.js.map → p-1a293bd0.entry.js.map} +1 -1
  647. package/dist/nano-components/p-1c216ca4.system.js +5 -0
  648. package/dist/{esm-es5/index-f41ae118.js.map → nano-components/p-1c216ca4.system.js.map} +1 -1
  649. package/dist/nano-components/p-1d13dbdf.system.js +5 -0
  650. package/dist/nano-components/p-1d13dbdf.system.js.map +1 -0
  651. package/dist/nano-components/p-1e974cad.entry.js +5 -0
  652. package/dist/nano-components/{p-7e60c331.entry.js.map → p-1e974cad.entry.js.map} +1 -1
  653. package/dist/nano-components/p-20387cde.system.entry.js +5 -0
  654. package/dist/nano-components/{p-91778977.system.entry.js.map → p-20387cde.system.entry.js.map} +1 -1
  655. package/dist/nano-components/p-20db18f3.entry.js +5 -0
  656. package/dist/nano-components/{p-a9dd7cf9.entry.js.map → p-20db18f3.entry.js.map} +1 -1
  657. package/dist/nano-components/p-22884654.system.entry.js +5 -0
  658. package/dist/nano-components/{p-3d0fbd0e.system.entry.js.map → p-22884654.system.entry.js.map} +1 -1
  659. package/dist/nano-components/p-2559e9c1.entry.js +5 -0
  660. package/dist/nano-components/p-2559e9c1.entry.js.map +1 -0
  661. package/dist/nano-components/p-289aa03f.js +5 -0
  662. package/dist/nano-components/p-289aa03f.js.map +1 -0
  663. package/dist/nano-components/p-2e6c55e2.entry.js +5 -0
  664. package/dist/nano-components/{p-6f3d20fe.entry.js.map → p-2e6c55e2.entry.js.map} +1 -1
  665. package/dist/nano-components/{p-60c9b580.system.js → p-3258c568.system.js} +2 -2
  666. package/dist/nano-components/p-3258c568.system.js.map +1 -0
  667. package/dist/nano-components/p-3456db01.entry.js +5 -0
  668. package/dist/nano-components/p-3456db01.entry.js.map +1 -0
  669. package/dist/nano-components/p-346588cc.entry.js +5 -0
  670. package/dist/nano-components/p-346588cc.entry.js.map +1 -0
  671. package/dist/nano-components/p-394c3c19.entry.js +5 -0
  672. package/dist/nano-components/{p-217f71aa.entry.js.map → p-394c3c19.entry.js.map} +1 -1
  673. package/dist/nano-components/p-3a13948a.system.entry.js +5 -0
  674. package/dist/nano-components/p-3a13948a.system.entry.js.map +1 -0
  675. package/dist/nano-components/p-3a725f1f.system.entry.js +5 -0
  676. package/dist/nano-components/p-3a725f1f.system.entry.js.map +1 -0
  677. package/dist/nano-components/p-3aa1d07d.entry.js +5 -0
  678. package/dist/nano-components/{p-6a1c69d3.entry.js.map → p-3aa1d07d.entry.js.map} +1 -1
  679. package/dist/nano-components/p-3ad1d5aa.system.entry.js +5 -0
  680. package/dist/nano-components/p-3ad1d5aa.system.entry.js.map +1 -0
  681. package/dist/nano-components/p-3ef30ded.system.entry.js +5 -0
  682. package/dist/nano-components/{p-9bf4a6e0.system.entry.js.map → p-3ef30ded.system.entry.js.map} +1 -1
  683. package/dist/nano-components/p-3fc52f19.system.entry.js +5 -0
  684. package/dist/nano-components/p-3fc52f19.system.entry.js.map +1 -0
  685. package/dist/nano-components/p-4429caac.system.entry.js +5 -0
  686. package/dist/nano-components/p-4429caac.system.entry.js.map +1 -0
  687. package/dist/nano-components/p-4535e3bb.entry.js +5 -0
  688. package/dist/nano-components/{p-143bca0d.entry.js.map → p-4535e3bb.entry.js.map} +1 -1
  689. package/dist/nano-components/p-462ad4f1.entry.js +5 -0
  690. package/dist/nano-components/p-462ad4f1.entry.js.map +1 -0
  691. package/dist/nano-components/p-46d0bb7b.entry.js +5 -0
  692. package/dist/nano-components/p-46d0bb7b.entry.js.map +1 -0
  693. package/dist/nano-components/p-5066e563.system.entry.js +5 -0
  694. package/dist/nano-components/{p-006f2fd3.system.entry.js.map → p-5066e563.system.entry.js.map} +1 -1
  695. package/dist/nano-components/p-52ab579e.system.entry.js +5 -0
  696. package/dist/nano-components/p-52ab579e.system.entry.js.map +1 -0
  697. package/dist/nano-components/p-531d5275.system.entry.js +5 -0
  698. package/dist/nano-components/{p-b79dc23a.system.entry.js.map → p-531d5275.system.entry.js.map} +1 -1
  699. package/dist/nano-components/p-5653961d.system.entry.js +5 -0
  700. package/dist/nano-components/{p-18f49ebf.system.entry.js.map → p-5653961d.system.entry.js.map} +1 -1
  701. package/dist/nano-components/p-56ba0d63.entry.js +5 -0
  702. package/dist/nano-components/p-56ba0d63.entry.js.map +1 -0
  703. package/dist/nano-components/p-593de29b.system.entry.js +5 -0
  704. package/dist/nano-components/{p-76b13c27.system.entry.js.map → p-593de29b.system.entry.js.map} +1 -1
  705. package/dist/nano-components/p-5a476bba.system.entry.js +5 -0
  706. package/dist/nano-components/p-5a476bba.system.entry.js.map +1 -0
  707. package/dist/nano-components/{p-8a608e6d.entry.js → p-5e7c7d3d.entry.js} +2 -2
  708. package/dist/nano-components/{p-8a608e6d.entry.js.map → p-5e7c7d3d.entry.js.map} +1 -1
  709. package/dist/nano-components/p-672e5547.js +5 -0
  710. package/dist/nano-components/p-672e5547.js.map +1 -0
  711. package/dist/nano-components/{p-a16651a6.system.js → p-67cc0d9b.system.js} +3 -3
  712. package/dist/nano-components/{p-a16651a6.system.js.map → p-67cc0d9b.system.js.map} +1 -1
  713. package/dist/nano-components/p-69439aa1.system.entry.js +5 -0
  714. package/dist/nano-components/p-69439aa1.system.entry.js.map +1 -0
  715. package/dist/nano-components/p-6ade3290.entry.js +5 -0
  716. package/dist/nano-components/{p-1e03f9bf.entry.js.map → p-6ade3290.entry.js.map} +1 -1
  717. package/dist/nano-components/p-70dec19f.entry.js +5 -0
  718. package/dist/nano-components/{p-d0e9b177.entry.js.map → p-70dec19f.entry.js.map} +1 -1
  719. package/dist/nano-components/p-71c26ace.entry.js +5 -0
  720. package/dist/nano-components/p-71c26ace.entry.js.map +1 -0
  721. package/dist/nano-components/p-7232c046.system.entry.js +5 -0
  722. package/dist/nano-components/{p-92b3f99b.system.entry.js.map → p-7232c046.system.entry.js.map} +1 -1
  723. package/dist/nano-components/p-730f60ea.entry.js +5 -0
  724. package/dist/nano-components/{p-78cf9d39.entry.js.map → p-730f60ea.entry.js.map} +1 -1
  725. package/dist/nano-components/p-74a7fc4f.js +5 -0
  726. package/dist/nano-components/p-74a7fc4f.js.map +1 -0
  727. package/dist/nano-components/p-774e090b.system.entry.js +5 -0
  728. package/dist/nano-components/p-774e090b.system.entry.js.map +1 -0
  729. package/dist/nano-components/{p-d31761c8.system.js → p-7be6b7f3.system.js} +2 -2
  730. package/dist/nano-components/p-7be6b7f3.system.js.map +1 -0
  731. package/dist/nano-components/p-7d2e2685.entry.js +5 -0
  732. package/dist/nano-components/p-7d2e2685.entry.js.map +1 -0
  733. package/dist/nano-components/p-820d9e23.system.entry.js +5 -0
  734. package/dist/nano-components/p-820d9e23.system.entry.js.map +1 -0
  735. package/dist/nano-components/p-8278c5d2.system.entry.js +5 -0
  736. package/dist/nano-components/{p-badf69ee.system.entry.js.map → p-8278c5d2.system.entry.js.map} +1 -1
  737. package/dist/nano-components/p-82f4b071.entry.js +5 -0
  738. package/dist/nano-components/p-82f4b071.entry.js.map +1 -0
  739. package/dist/nano-components/p-88f17c86.system.entry.js +5 -0
  740. package/dist/nano-components/p-88f17c86.system.entry.js.map +1 -0
  741. package/dist/nano-components/p-8a8f893b.system.entry.js +5 -0
  742. package/dist/nano-components/{p-cc668975.system.entry.js.map → p-8a8f893b.system.entry.js.map} +1 -1
  743. package/dist/nano-components/p-93448bcd.system.entry.js +5 -0
  744. package/dist/nano-components/{p-02e82e14.system.entry.js.map → p-93448bcd.system.entry.js.map} +1 -1
  745. package/dist/nano-components/p-94593617.system.entry.js +5 -0
  746. package/dist/nano-components/{p-2442eda0.system.entry.js.map → p-94593617.system.entry.js.map} +1 -1
  747. package/dist/nano-components/{p-56113dd3.js → p-9a385481.js} +2 -2
  748. package/dist/nano-components/p-9a385481.js.map +1 -0
  749. package/dist/nano-components/{p-8134c14e.system.js → p-9de508a5.system.js} +2 -2
  750. package/dist/nano-components/p-9de508a5.system.js.map +1 -0
  751. package/dist/nano-components/p-a315ed2c.entry.js +5 -0
  752. package/dist/nano-components/{p-13801651.entry.js.map → p-a315ed2c.entry.js.map} +1 -1
  753. package/dist/nano-components/p-a4075d49.entry.js +5 -0
  754. package/dist/nano-components/p-a4075d49.entry.js.map +1 -0
  755. package/dist/nano-components/p-b19e0775.system.entry.js +5 -0
  756. package/dist/nano-components/p-b19e0775.system.entry.js.map +1 -0
  757. package/dist/nano-components/{p-18411914.system.js → p-b370e3ef.system.js} +2 -2
  758. package/dist/nano-components/{p-18411914.system.js.map → p-b370e3ef.system.js.map} +0 -0
  759. package/dist/nano-components/p-b59d2bd5.entry.js +5 -0
  760. package/dist/nano-components/p-b59d2bd5.entry.js.map +1 -0
  761. package/dist/nano-components/p-b619500f.js +5 -0
  762. package/dist/nano-components/p-b619500f.js.map +1 -0
  763. package/dist/nano-components/{p-23f65b34.entry.js → p-ba13bb56.entry.js} +2 -2
  764. package/dist/nano-components/{p-23f65b34.entry.js.map → p-ba13bb56.entry.js.map} +1 -1
  765. package/dist/nano-components/p-c0ddb4c3.entry.js +5 -0
  766. package/dist/nano-components/{p-78569d39.entry.js.map → p-c0ddb4c3.entry.js.map} +1 -1
  767. package/dist/nano-components/p-c954c040.entry.js +5 -0
  768. package/dist/nano-components/p-c954c040.entry.js.map +1 -0
  769. package/dist/nano-components/p-c9c1a345.system.entry.js +5 -0
  770. package/dist/nano-components/{p-38a3e791.system.entry.js.map → p-c9c1a345.system.entry.js.map} +1 -1
  771. package/dist/nano-components/{p-8c8963f6.js → p-cb79d1ec.js} +2 -2
  772. package/dist/nano-components/{p-8c8963f6.js.map → p-cb79d1ec.js.map} +0 -0
  773. package/dist/nano-components/p-d6569144.entry.js +5 -0
  774. package/dist/nano-components/{p-c7b7f7ab.entry.js.map → p-d6569144.entry.js.map} +1 -1
  775. package/dist/nano-components/{p-2d1a856e.system.js → p-d84ef175.system.js} +2 -2
  776. package/dist/nano-components/{p-2d1a856e.system.js.map → p-d84ef175.system.js.map} +0 -0
  777. package/dist/nano-components/p-d9c7909e.js +5 -0
  778. package/dist/nano-components/p-d9c7909e.js.map +1 -0
  779. package/dist/nano-components/p-e11bd40d.entry.js +5 -0
  780. package/dist/nano-components/{p-a21d90aa.entry.js.map → p-e11bd40d.entry.js.map} +1 -1
  781. package/dist/nano-components/p-e15be516.system.entry.js +5 -0
  782. package/dist/nano-components/p-e15be516.system.entry.js.map +1 -0
  783. package/dist/nano-components/p-e2ae11d2.entry.js +5 -0
  784. package/dist/nano-components/p-e2ae11d2.entry.js.map +1 -0
  785. package/dist/nano-components/{p-8757b4eb.js → p-e3583b00.js} +3 -3
  786. package/dist/nano-components/{p-8757b4eb.js.map → p-e3583b00.js.map} +1 -1
  787. package/dist/nano-components/p-e35eac75.entry.js +5 -0
  788. package/dist/nano-components/p-e35eac75.entry.js.map +1 -0
  789. package/dist/nano-components/p-e562bffd.entry.js +5 -0
  790. package/dist/nano-components/p-e562bffd.entry.js.map +1 -0
  791. package/dist/nano-components/p-e6f41b97.entry.js +5 -0
  792. package/dist/nano-components/p-e6f41b97.entry.js.map +1 -0
  793. package/dist/nano-components/p-e6f8f9f7.system.entry.js +5 -0
  794. package/dist/nano-components/p-e6f8f9f7.system.entry.js.map +1 -0
  795. package/dist/nano-components/p-ea5eb591.system.js +5 -0
  796. package/dist/nano-components/p-ea5eb591.system.js.map +1 -0
  797. package/dist/nano-components/p-ef4e0912.system.entry.js +5 -0
  798. package/dist/nano-components/{p-2aed806d.system.entry.js.map → p-ef4e0912.system.entry.js.map} +1 -1
  799. package/dist/nano-components/{p-981cc614.entry.js → p-f1bf1099.entry.js} +2 -2
  800. package/dist/nano-components/{p-981cc614.entry.js.map → p-f1bf1099.entry.js.map} +0 -0
  801. package/dist/nano-components/p-f2e7d2f9.system.entry.js +5 -0
  802. package/dist/nano-components/p-f2e7d2f9.system.entry.js.map +1 -0
  803. package/dist/nano-components/p-f3bf942d.entry.js +5 -0
  804. package/dist/nano-components/p-f3bf942d.entry.js.map +1 -0
  805. package/dist/nano-components/p-f53989c3.system.entry.js +5 -0
  806. package/dist/nano-components/{p-6621e4f1.system.entry.js.map → p-f53989c3.system.entry.js.map} +1 -1
  807. package/dist/themes/nanopore.css +1 -1
  808. package/dist/themes/nanopore.css.map +1 -1
  809. package/dist/types/components/accordion/accordion.d.ts +0 -1
  810. package/dist/types/components/checkbox/checkbox-group.d.ts +1 -0
  811. package/dist/types/components/datalist/datalist.d.ts +98 -0
  812. package/dist/types/components/date-input/date-input.d.ts +2 -0
  813. package/dist/types/components/dialog/dialog.helpers.d.ts +2 -2
  814. package/dist/types/components/dropdown/dropdown.d.ts +8 -4
  815. package/dist/types/components/form-control/form-control.d.ts +35 -0
  816. package/dist/types/components/global-search-results/global-search-results.d.ts +1 -0
  817. package/dist/types/components/grid/grid.d.ts +7 -1
  818. package/dist/types/components/hero/hero.d.ts +2 -0
  819. package/dist/types/components/input/input.d.ts +13 -9
  820. package/dist/types/components/menu/menu.d.ts +22 -8
  821. package/dist/types/components/option/option-interface.d.ts +7 -0
  822. package/dist/types/components/option/option.d.ts +45 -0
  823. package/dist/types/components/select/select.d.ts +43 -49
  824. package/dist/types/components/tabs/tab-group.d.ts +32 -6
  825. package/dist/types/components/tabs/tab.d.ts +6 -1
  826. package/dist/types/components.d.ts +241 -70
  827. package/dist/types/interface.d.ts +1 -0
  828. package/dist/types/utils/active-element.d.ts +1 -0
  829. package/dist/types/utils/dom.d.ts +9 -1
  830. package/dist/types/utils/index.d.ts +2 -1
  831. package/dist/types/utils/tabbable.d.ts +2 -2
  832. package/dist/types/utils/testing/index.d.ts +3 -2
  833. package/docs-json.json +1244 -262
  834. package/docs-vscode.json +102 -33
  835. package/package.json +5 -5
  836. package/dist/cjs/dom-5f3fae1a.js.map +0 -1
  837. package/dist/cjs/index-117f36a4.js.map +0 -1
  838. package/dist/cjs/nano-date-picker_2.cjs.entry.js.map +0 -1
  839. package/dist/cjs/nano-menu.cjs.entry.js +0 -156
  840. package/dist/cjs/nano-menu.cjs.entry.js.map +0 -1
  841. package/dist/cjs/nano-select-option.cjs.entry.js +0 -43
  842. package/dist/cjs/nano-select-option.cjs.entry.js.map +0 -1
  843. package/dist/cjs/popover-d033efa2.js.map +0 -1
  844. package/dist/cjs/tabbable-615c30e1.js.map +0 -1
  845. package/dist/collection/components/select/select-option.css +0 -15
  846. package/dist/collection/components/select/select-option.js +0 -127
  847. package/dist/collection/components/select/select-option.js.map +0 -1
  848. package/dist/esm/dom-a791b223.js.map +0 -1
  849. package/dist/esm/nano-date-picker_2.entry.js.map +0 -1
  850. package/dist/esm/nano-menu.entry.js +0 -152
  851. package/dist/esm/nano-menu.entry.js.map +0 -1
  852. package/dist/esm/nano-select-option.entry.js +0 -39
  853. package/dist/esm/nano-select-option.entry.js.map +0 -1
  854. package/dist/esm/popover-2c7b2326.js.map +0 -1
  855. package/dist/esm/tabbable-e21f860a.js.map +0 -1
  856. package/dist/esm-es5/dom-a791b223.js +0 -5
  857. package/dist/esm-es5/dom-a791b223.js.map +0 -1
  858. package/dist/esm-es5/index-f41ae118.js +0 -5
  859. package/dist/esm-es5/nano-date-picker_2.entry.js +0 -5
  860. package/dist/esm-es5/nano-date-picker_2.entry.js.map +0 -1
  861. package/dist/esm-es5/nano-menu.entry.js +0 -5
  862. package/dist/esm-es5/nano-menu.entry.js.map +0 -1
  863. package/dist/esm-es5/nano-select-option.entry.js +0 -5
  864. package/dist/esm-es5/nano-select-option.entry.js.map +0 -1
  865. package/dist/esm-es5/popover-2c7b2326.js.map +0 -1
  866. package/dist/esm-es5/tabbable-e21f860a.js +0 -5
  867. package/dist/esm-es5/tabbable-e21f860a.js.map +0 -1
  868. package/dist/nano-components/p-006f2fd3.system.entry.js +0 -5
  869. package/dist/nano-components/p-02e82e14.system.entry.js +0 -5
  870. package/dist/nano-components/p-05a8014a.entry.js +0 -5
  871. package/dist/nano-components/p-05a8014a.entry.js.map +0 -1
  872. package/dist/nano-components/p-13801651.entry.js +0 -5
  873. package/dist/nano-components/p-13fa75fc.entry.js +0 -5
  874. package/dist/nano-components/p-13fa75fc.entry.js.map +0 -1
  875. package/dist/nano-components/p-143bca0d.entry.js +0 -5
  876. package/dist/nano-components/p-18f49ebf.system.entry.js +0 -5
  877. package/dist/nano-components/p-19428228.system.entry.js +0 -5
  878. package/dist/nano-components/p-19428228.system.entry.js.map +0 -1
  879. package/dist/nano-components/p-1e03f9bf.entry.js +0 -5
  880. package/dist/nano-components/p-217f71aa.entry.js +0 -5
  881. package/dist/nano-components/p-2442eda0.system.entry.js +0 -5
  882. package/dist/nano-components/p-2946bd70.system.entry.js +0 -5
  883. package/dist/nano-components/p-2946bd70.system.entry.js.map +0 -1
  884. package/dist/nano-components/p-2aed806d.system.entry.js +0 -5
  885. package/dist/nano-components/p-30df44d9.system.entry.js +0 -5
  886. package/dist/nano-components/p-38a3e791.system.entry.js +0 -5
  887. package/dist/nano-components/p-3a49ceab.entry.js +0 -5
  888. package/dist/nano-components/p-3a49ceab.entry.js.map +0 -1
  889. package/dist/nano-components/p-3d0fbd0e.system.entry.js +0 -5
  890. package/dist/nano-components/p-3f00179c.js +0 -5
  891. package/dist/nano-components/p-3f00179c.js.map +0 -1
  892. package/dist/nano-components/p-48e6bea3.entry.js +0 -5
  893. package/dist/nano-components/p-48e6bea3.entry.js.map +0 -1
  894. package/dist/nano-components/p-4d62ec32.system.js +0 -5
  895. package/dist/nano-components/p-4d62ec32.system.js.map +0 -1
  896. package/dist/nano-components/p-4e451498.entry.js +0 -5
  897. package/dist/nano-components/p-4e451498.entry.js.map +0 -1
  898. package/dist/nano-components/p-51d9570d.entry.js +0 -5
  899. package/dist/nano-components/p-51d9570d.entry.js.map +0 -1
  900. package/dist/nano-components/p-51fa04a6.entry.js +0 -5
  901. package/dist/nano-components/p-51fa04a6.entry.js.map +0 -1
  902. package/dist/nano-components/p-55189485.system.entry.js +0 -5
  903. package/dist/nano-components/p-55189485.system.entry.js.map +0 -1
  904. package/dist/nano-components/p-56113dd3.js.map +0 -1
  905. package/dist/nano-components/p-5bbd6c81.entry.js +0 -5
  906. package/dist/nano-components/p-5bbd6c81.entry.js.map +0 -1
  907. package/dist/nano-components/p-5e9170ae.entry.js +0 -5
  908. package/dist/nano-components/p-5e9170ae.entry.js.map +0 -1
  909. package/dist/nano-components/p-60c9b580.system.js.map +0 -1
  910. package/dist/nano-components/p-61565b5a.entry.js +0 -5
  911. package/dist/nano-components/p-621750cc.js +0 -5
  912. package/dist/nano-components/p-621750cc.js.map +0 -1
  913. package/dist/nano-components/p-6621e4f1.system.entry.js +0 -5
  914. package/dist/nano-components/p-6a1c69d3.entry.js +0 -5
  915. package/dist/nano-components/p-6ab8d211.system.entry.js +0 -5
  916. package/dist/nano-components/p-6ab8d211.system.entry.js.map +0 -1
  917. package/dist/nano-components/p-6e9b3d60.system.entry.js +0 -5
  918. package/dist/nano-components/p-6e9b3d60.system.entry.js.map +0 -1
  919. package/dist/nano-components/p-6f3d20fe.entry.js +0 -5
  920. package/dist/nano-components/p-6feac35e.entry.js +0 -5
  921. package/dist/nano-components/p-6feac35e.entry.js.map +0 -1
  922. package/dist/nano-components/p-723c212f.system.entry.js +0 -5
  923. package/dist/nano-components/p-723c212f.system.entry.js.map +0 -1
  924. package/dist/nano-components/p-76b13c27.system.entry.js +0 -5
  925. package/dist/nano-components/p-78569d39.entry.js +0 -5
  926. package/dist/nano-components/p-78cf9d39.entry.js +0 -5
  927. package/dist/nano-components/p-7e60c331.entry.js +0 -5
  928. package/dist/nano-components/p-8134c14e.system.js.map +0 -1
  929. package/dist/nano-components/p-81b4ed2a.system.entry.js +0 -5
  930. package/dist/nano-components/p-81b4ed2a.system.entry.js.map +0 -1
  931. package/dist/nano-components/p-854df906.system.entry.js +0 -5
  932. package/dist/nano-components/p-88bcf55b.entry.js +0 -5
  933. package/dist/nano-components/p-8b7f8ef4.entry.js +0 -5
  934. package/dist/nano-components/p-8c3993ff.entry.js +0 -5
  935. package/dist/nano-components/p-8c3993ff.entry.js.map +0 -1
  936. package/dist/nano-components/p-91778977.system.entry.js +0 -5
  937. package/dist/nano-components/p-92b3f99b.system.entry.js +0 -5
  938. package/dist/nano-components/p-9bd73d1d.js +0 -5
  939. package/dist/nano-components/p-9bd73d1d.js.map +0 -1
  940. package/dist/nano-components/p-9bf4a6e0.system.entry.js +0 -5
  941. package/dist/nano-components/p-9df226fd.system.entry.js +0 -5
  942. package/dist/nano-components/p-9df226fd.system.entry.js.map +0 -1
  943. package/dist/nano-components/p-a0b55c38.system.entry.js +0 -5
  944. package/dist/nano-components/p-a0b55c38.system.entry.js.map +0 -1
  945. package/dist/nano-components/p-a21d90aa.entry.js +0 -5
  946. package/dist/nano-components/p-a9dd7cf9.entry.js +0 -5
  947. package/dist/nano-components/p-ad069ba4.entry.js +0 -5
  948. package/dist/nano-components/p-ad069ba4.entry.js.map +0 -1
  949. package/dist/nano-components/p-b246a7bb.entry.js +0 -5
  950. package/dist/nano-components/p-b246a7bb.entry.js.map +0 -1
  951. package/dist/nano-components/p-b45d4be9.entry.js +0 -5
  952. package/dist/nano-components/p-b45d4be9.entry.js.map +0 -1
  953. package/dist/nano-components/p-b79dc23a.system.entry.js +0 -5
  954. package/dist/nano-components/p-b86fc6b7.system.js +0 -5
  955. package/dist/nano-components/p-b86fc6b7.system.js.map +0 -1
  956. package/dist/nano-components/p-badf69ee.system.entry.js +0 -5
  957. package/dist/nano-components/p-bde0deae.system.entry.js +0 -5
  958. package/dist/nano-components/p-bde0deae.system.entry.js.map +0 -1
  959. package/dist/nano-components/p-be3df2e8.system.entry.js +0 -5
  960. package/dist/nano-components/p-be3df2e8.system.entry.js.map +0 -1
  961. package/dist/nano-components/p-c39c1e8d.entry.js +0 -5
  962. package/dist/nano-components/p-c39c1e8d.entry.js.map +0 -1
  963. package/dist/nano-components/p-c7b7f7ab.entry.js +0 -5
  964. package/dist/nano-components/p-c82ccbc8.entry.js +0 -5
  965. package/dist/nano-components/p-c82ccbc8.entry.js.map +0 -1
  966. package/dist/nano-components/p-cc668975.system.entry.js +0 -5
  967. package/dist/nano-components/p-cfd4c9de.system.entry.js +0 -5
  968. package/dist/nano-components/p-cfd4c9de.system.entry.js.map +0 -1
  969. package/dist/nano-components/p-d0e9b177.entry.js +0 -5
  970. package/dist/nano-components/p-d31761c8.system.js.map +0 -1
  971. package/dist/nano-components/p-d47d297b.system.entry.js +0 -5
  972. package/dist/nano-components/p-d47d297b.system.entry.js.map +0 -1
  973. package/dist/nano-components/p-e48a53f5.system.entry.js +0 -5
  974. package/dist/nano-components/p-e48a53f5.system.entry.js.map +0 -1
  975. package/dist/nano-components/p-e5f01860.entry.js +0 -5
  976. package/dist/nano-components/p-e5f01860.entry.js.map +0 -1
  977. package/dist/nano-components/p-f2b2cd38.system.entry.js +0 -5
  978. package/dist/nano-components/p-f2b2cd38.system.entry.js.map +0 -1
  979. package/dist/nano-components/p-fcb5ffaf.system.entry.js +0 -5
  980. package/dist/nano-components/p-fcb5ffaf.system.entry.js.map +0 -1
  981. package/dist/types/components/select/select-option.d.ts +0 -23
@@ -0,0 +1,1221 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import { HTMLElement, createEvent, readTask, writeTask, Build, h, Host, getAssetPath, proxyCustomElement } from '@stencil/core/internal/client';
5
+ import { a as algoliasearch_umd } from './algoliasearch.umd.js';
6
+ import { d as displayTransition } from './index2.js';
7
+ import { C as ComponentStore } from './component-store.js';
8
+ import { d as defineCustomElement$a } from './datalist.js';
9
+ import { d as defineCustomElement$9 } from './dropdown.js';
10
+ import { d as defineCustomElement$8 } from './icon.js';
11
+ import { d as defineCustomElement$7 } from './input.js';
12
+ import { d as defineCustomElement$6 } from './menu.js';
13
+ import { d as defineCustomElement$5 } from './nav-item.js';
14
+ import { d as defineCustomElement$4 } from './option.js';
15
+ import { d as defineCustomElement$3 } from './select.js';
16
+ import { d as defineCustomElement$2 } from './sticker.js';
17
+ import { d as debounce } from './throttle.js';
18
+ import { c as closestElement } from './dom.js';
19
+
20
+ var __rest = (undefined && undefined.__rest) || function (s, e) {
21
+ var t = {};
22
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
23
+ t[p] = s[p];
24
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
25
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
26
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
27
+ t[p[i]] = s[p[i]];
28
+ }
29
+ return t;
30
+ };
31
+ async function clientFetch(url, _a = {}) {
32
+ var { body } = _a, customConfig = __rest(_a, ["body"]);
33
+ const headers = {
34
+ Accept: 'application/json, text/plain, */*',
35
+ 'Access-Control-Allow-Origin': '*',
36
+ 'Content-Type': 'application/json',
37
+ Cache: 'no-cache',
38
+ };
39
+ const config = Object.assign(Object.assign({ method: body ? 'POST' : 'GET', credentials: 'include', keepalive: true, mode: 'cors' }, customConfig), { headers: Object.assign(Object.assign({}, headers), customConfig.headers) });
40
+ if (body) {
41
+ config.body = JSON.stringify(body);
42
+ }
43
+ let id = setTimeout(() => { }, 0);
44
+ if (window.AbortController) {
45
+ const controller = new AbortController();
46
+ const { timeout = 500 } = customConfig;
47
+ id = setTimeout(() => controller.abort(), timeout);
48
+ config.signal = controller.signal;
49
+ }
50
+ const response = await fetch(url, config);
51
+ clearTimeout(id);
52
+ if (response.ok) {
53
+ return await response.json();
54
+ }
55
+ else {
56
+ const errorMessage = await response.text();
57
+ return new Error(errorMessage);
58
+ }
59
+ }
60
+
61
+ const globalNavCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{--padding:12px;--padding-top:var(--padding);--padding-end:var(--padding);--padding-bottom:var(--padding);--padding-start:var(--padding);--bar-background:#005c75;--bar-text-color:white;--bar-color-shade:rgb(19, 89, 111);--bar-color-tint:rgb(19, 89, 111);--bar-color-focus:#90c6e7;--menu-background:#001a21;--menu-text-color:white;--menu-dropdown-bg:#196c82;--menu-dropdown-color:white;display:block;position:relative;line-height:1.5;height:100%}:host *{-webkit-box-sizing:inherit;box-sizing:inherit}.global-nav{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;font-size:0.88em;z-index:var(--nano-layer-index-menubar, 10)}.global-nav button{background:none;color:inherit;border:none;padding:0}.global-nav .icon-btn{position:relative;background:none;color:inherit;border:none;-ms-flex-item-align:normal;-ms-grid-row-align:normal;align-self:normal;padding:9px 7px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.global-nav .icon-btn nano-icon{width:18px;height:18px}.global-nav ::slotted(nano-nav-item[slot=icon]){--padding-top:9px;--padding-bottom:9px;--padding-start:7px;--padding-end:7px;--display:flex;font-size:18px}.global-nav a{color:inherit;text-decoration:none;white-space:nowrap}.global-nav .nav-links_title{margin:8px 0 3px}.global-nav .nav-links ul{margin:0;padding:0}.global-nav .nav-links li{list-style:none}.global-nav .login-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:0.94em}.global-nav .menu-btn{padding:9px var(--padding) 9px var(--padding)}.gn-menu{position:fixed;top:0;left:0;z-index:-1;display:none;-webkit-transition:z-index 0.01s ease 0.2s;transition:z-index 0.01s ease 0.2s;height:100vh;width:100vw;overflow-y:auto}:host([dir=rtl]) .gn-menu{left:auto;right:0}:host(.threshold-2) .gn-menu{position:absolute;width:calc(100vw - 20px)}.gn-menu.menu-full-screen{width:100vw !important}.gn-menu_wrap{max-width:92vw;width:335px;background:var(--menu-background);color:var(--menu-text-color);padding:var(--padding) 0;-webkit-box-shadow:0 0 36px 0 rgba(0, 0, 0, 0.8);box-shadow:0 0 36px 0 rgba(0, 0, 0, 0.8);position:relative;pointer-events:all;margin-bottom:36px;opacity:0;outline:none;-webkit-transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease}.gn-menu_wrap.has-promotion{padding:var(--padding) 0 0}.gn-menu.open{z-index:var(--nano-layer-index-dropdown, 300);-webkit-transition:z-index 0.01s ease;transition:z-index 0.01s ease}.gn-menu.open .gn-menu_wrap{opacity:1;-webkit-transform:translate3d(0, 0, 0) !important;transform:translate3d(0, 0, 0) !important;-webkit-transition:opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s;transition:transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s}.gn-menu_actions{padding-right:calc(var(--padding) / 2);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu_actions{padding-right:unset;-webkit-padding-end:calc(var(--padding) / 2);padding-inline-end:calc(var(--padding) / 2)}}.gn-menu_actions-counter{background:#d0021b;color:#fff;position:absolute;bottom:4px;right:0;left:auto;font-size:9px;height:14px;line-height:14px;width:auto;min-width:14px;border-radius:50%;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;text-indent:0}.gn-menu .content-wrap{position:relative;overflow:hidden;-webkit-transition:0.2s ease min-height;transition:0.2s ease min-height;min-height:190px}.gn-menu .content--sub{padding:var(--padding) 0 var(--padding) 7px}.gn-menu .menu-btn{margin-right:auto}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .menu-btn{margin-right:unset;-webkit-margin-end:auto;margin-inline-end:auto}}.gn-menu .nav-links{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.gn-menu .nav-links ::slotted(nano-nav-item),.gn-menu .nav-links nano-nav-item{--icon-size:14px;--display:inline-block;--secondary-bg-color:#001a21;--padding-top:10px;--padding-bottom:10px;--padding-end:calc(var(--padding) * 2);--padding-start:calc(var(--padding) + 3px);--color:white;--color-hover:#90c6e7;--bg-color-hover:transparent;--bg-color-focus:#002530;--focus-outline:none;font-size:0.99em;width:100%}.gn-menu .nav-links .user-nav{--bg-color:#193037;--padding-top:9px;--padding-bottom:9px;font-weight:bold;margin:5px 0 0}.gn-menu .nav-links .user-nav ::slotted(nano-nav-item),.gn-menu .nav-links .user-nav nano-nav-item{font-weight:500;--bg-color:transparent}.gn-menu .nav-links_title{margin:0 var(--padding) 4px;border-bottom:1px solid #33484d;padding-bottom:8px;font-size:0.86em;text-transform:uppercase;color:#90c6e7;letter-spacing:1px;font-weight:700}.gn-menu .nav-links-wrap{margin:18px 0}.gn-menu .nav-links-wrap:last-child{margin-bottom:0}.gn-menu .nav-links .back-btn{border-top:1px solid #33484d;border-bottom:1px solid #33484d;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:10px 11px 10px 0;width:100%;font-size:12px;text-transform:uppercase;color:#90c6e7;letter-spacing:1px;font-weight:700}.gn-menu .nav-links .back-btn nano-icon{margin-right:10px;font-size:12px;color:white}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .nav-links .back-btn nano-icon{margin-right:unset;-webkit-margin-end:10px;margin-inline-end:10px}}.gn-menu .nav-links--sub{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.gn-menu .nav-links--sub ::slotted(nano-nav-item),.gn-menu .nav-links--sub nano-nav-item{--border-bottom:none;--padding-end:var(--padding);--padding-start:var(--padding);--padding-top:8px;--padding-bottom:8px;margin:0;width:50%;line-height:1.8}.gn-menu .nav-links .content{padding:8px var(--padding)}.gn-menu .login-btn{padding-left:7px;padding-right:var(--padding);padding-top:9px;padding-bottom:9px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .login-btn{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:var(--padding);padding-inline-end:var(--padding)}}.gn-menu .login-btn nano-icon{margin-left:10px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.gn-menu .login-btn nano-icon{margin-left:unset;-webkit-margin-start:10px;margin-inline-start:10px;}}.gn-menu .logout-btn{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.gn-menu .logout-btn a{padding:0 5px}.sticker-trigger{background:var(--bar-background);width:100%;z-index:calc(var(--nano-layer-index-menubar, 10) + 1)}.bars{color:var(--bar-text-color);z-index:var(--nano-layer-index-menubar, 10);position:relative;max-width:100%;min-width:100%;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:0.2s ease box-shadow;transition:0.2s ease box-shadow}[stuck] .bars{-webkit-box-shadow:0 1px 25px 0 rgba(0, 0, 0, 0.15);box-shadow:0 1px 25px 0 rgba(0, 0, 0, 0.15)}.bars::before{content:\"\";width:100%;height:100%;z-index:-1;background:var(--bar-background);position:absolute}.bars .search-widget{margin-left:11px;margin-right:auto;position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:45vw;min-width:269px;max-height:36px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.bars .search-widget{margin-left:unset;margin-right:unset;-webkit-margin-start:11px;margin-inline-start:11px;-webkit-margin-end:auto;margin-inline-end:auto}}.bars .search-inputs{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0}.bars .search-inputs input[type=submit]{display:none}.bars .search-autocomplete{position:absolute;top:calc(100% - 2px);width:100%;left:0;background:white;border:2px solid var(--bar-color-tint);border-radius:0 0 5px 5px;color:#4a4a4a;font-size:0.85em;padding:calc(var(--padding) / 2) 0 1px 0;z-index:1}:host([dir=rtl]) .bars .search-autocomplete{left:auto;right:0}.bars .search-autocomplete-hit{padding:calc(var(--padding) / 4) var(--padding) calc(var(--padding) / 4) var(--padding);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;text-align:left;line-height:1.5;cursor:pointer}:host([dir=rtl]) .bars .search-autocomplete-hit{text-align:right}.bars .search-autocomplete-hit-scope{font-size:0.76em;color:#a7b0b3;font-weight:600}.bars .search-autocomplete-hit:hover,.bars .search-autocomplete-hit:focus{background-color:#e4e6e8}.bars .search-autocomplete-hit .search__highlight,.bars .search-autocomplete-hit em{font-weight:bold;font-style:normal}.bars .search-autocomplete-hit--no-result:hover,.bars .search-autocomplete-hit--no-result:focus{background:none !important}.bars .search-autocomplete-foot{margin:7px 0 0}.bars .search-autocomplete-submit{background:none;border:none;-ms-flex-item-align:normal;-ms-grid-row-align:normal;align-self:normal;padding:9px var(--padding);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#007495;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;width:100%;text-decoration:underline;border-top:1px solid #e8eaea}.bars .search-autocomplete-submit:hover,.bars .search-autocomplete-submit:focus{background-color:#e4e6e8}.bars .search-input{--input-border-style:solid 1px rgb(85, 140, 157);--input-border-style--focus:solid 1px var(--bar-color-focus, #90c6e7);--input-border-width:1px;font-size:0.9em}.bars nano-select.search-input{--input-bg-color:var(--bar-color-tint, rgb(88, 140, 161));--input-text-color:inherit;--input-border-radius:5px 0 0 5px;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative;left:1px}:host([dir=rtl]) .bars nano-select.search-input{--input-border-radius:0 5px 5px 0}:host(:not(.ready)) .bars nano-select.search-input{overflow:hidden;max-height:1em}.bars nano-select.search-input .down-arrow{font-size:0.65em}.bars nano-input.search-input{--input-text-color:inherit;--input-bg-color:var(--bar-color-shade, rgb(40, 110, 133));--clear-btn-color:#4a4a4a;--input-border-radius:0 5px 5px 0;--placeholder-color:white;width:206px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1}:host([dir=rtl]) .bars nano-input.search-input{--input-border-radius:5px 0 0 5px}:host(:not(.ready)) .bars nano-input.search-input{overflow:hidden;max-height:1em}.bars nano-input.search-input.has-value{--input-bg-color:#fff;--input-text-color:#4a4a4a}.bars nano-input.search-input.has-value .search-icon{color:#4a4a4a}.bars nano-input.search-input .search-icon{background:none;color:white;padding:0 8px;display:none}.bars nano-input.search-input .search-icon--show{display:-webkit-box;display:-ms-flexbox;display:flex}.bars nano-input.search-input .search-icon--loader{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.bars nano-input.search-input .search-icon nano-icon{height:1.4em}.main-bar{width:100%;padding-left:0;padding-right:var(--padding);padding-top:var(--padding);padding-bottom:var(--padding);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;overflow-x:hidden}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar{padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:var(--padding);padding-inline-end:var(--padding)}}.main-bar:focus{outline:none}:host(.ready) .main-bar{overflow-x:visible}.main-bar>*,.main-bar ::slotted(*){-webkit-transition:opacity 0.2s ease;transition:opacity 0.2s ease}:host(:not(.ready)) .main-bar>*,:host(:not(.ready)) .main-bar ::slotted(*){opacity:0 !important}:host(.ready) .main-bar>*,:host(.ready) .main-bar ::slotted(*){opacity:1}:host(.resizing) .main-bar>*,:host(.resizing) .main-bar ::slotted(*){opacity:0 !important}.main-bar>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.main-bar>* ::slotted(nano-nav-item[slot=icon]){margin-left:11px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar>* ::slotted(nano-nav-item[slot=icon]){margin-left:unset;-webkit-margin-start:11px;margin-inline-start:11px;}}.main-bar>* ::slotted(nano-nav-item),.main-bar>* nano-nav-item{--color-hover:#e4e6e8;--secondary-bg-color:var(--menu-dropdown-bg);--secondary-color:var(--menu-dropdown-color);--bg-color-open:var(--bar-background);text-decoration:none !important}.main-bar .icon-btn{margin-left:6px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .icon-btn{margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px;}}:host(.threshold-2) .main-bar .icon-btn{margin-left:11px;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.threshold-2) .main-bar .icon-btn{margin-left:unset;-webkit-margin-start:11px;margin-inline-start:11px;}}.main-bar .menu-btn.icon-btn{margin:0 !important}:host(:not([dir=rtl])) .main-bar .menu-btn.icon-btn{border-right:1.5px solid var(--bar-color-shade)}:host([dir=rtl]) .main-bar .menu-btn.icon-btn{border-left:1.5px solid var(--bar-color-shade)}.main-bar .user-links{position:relative}.main-bar .user-links .icon-btn{padding-right:0;font-size:0.93em;font-weight:500}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .user-links .icon-btn{padding-right:unset;-webkit-padding-end:0;padding-inline-end:0}}.main-bar .user-links .icon-btn nano-icon{margin-left:5px;width:16px;height:16px;-webkit-transform-origin:center;transform-origin:center;-webkit-transition:color 0.2s ease, -webkit-transform 0.2s ease;transition:color 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, color 0.2s ease;transition:transform 0.2s ease, color 0.2s ease, -webkit-transform 0.2s ease}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .user-links .icon-btn nano-icon{margin-left:unset;-webkit-margin-start:5px;margin-inline-start:5px;}}.main-bar .user-links .icon-btn.open nano-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);color:#007495}.main-bar .user-links-panel{display:none;position:absolute;border-radius:4px 0 4px 4px;-webkit-box-shadow:0 1px 5px 0 rgba(0, 0, 0, 0.4);box-shadow:0 1px 5px 0 rgba(0, 0, 0, 0.4);background-color:#568c9d;opacity:0;-webkit-transform:translate3d(0, 24px, 0);transform:translate3d(0, 24px, 0);-webkit-transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;right:0;font-size:0.85em;min-width:250px;z-index:1}:host([dir=rtl]) .main-bar .user-links-panel{right:auto;left:0}.main-bar .user-links-panel:focus{outline:none}.main-bar .user-links-panel.show{opacity:1;-webkit-transform:translate3d(0, 4px, 0);transform:translate3d(0, 4px, 0)}.main-bar .user-links-panel-content{padding:0 18px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.main-bar .user-links-panel-content a{padding:11px 0;border-bottom:#669dac 1px solid}.main-bar .user-links-panel-content a:hover,.main-bar .user-links-panel-content a:focus{color:#455556}.main-bar .user-links-panel-content a:last-child{border-bottom:none}.main-bar .user-links-panel-foot{background-color:#aac5cd;border-radius:0 0 4px 4px;padding:var(--padding);color:#455556;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-weight:500;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.main-bar .user-links-panel-foot a:hover{text-decoration:underline}.main-bar .logo{height:34px;width:auto;min-width:196px}:host(:not(.threshold-1)) .main-bar .logo{height:30px}.main-bar .logo-link{margin-left:0;margin-right:auto;padding-left:11px;padding-right:11px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .logo-link{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:auto;margin-inline-end:auto}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .logo-link{padding-left:unset;padding-right:unset;-webkit-padding-start:11px;padding-inline-start:11px;-webkit-padding-end:11px;padding-inline-end:11px}}.main-bar .nav-links{font-size:0.86em;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.main-bar .nav-links ul{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.main-bar .nav-links ::slotted(nano-nav-item),.main-bar .nav-links nano-nav-item{--padding-top:7px;--padding-bottom:7px;--padding-end:2px;--padding-start:2px;--margin:0 11px}.main-bar .nav-links--main{font-weight:bold;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.main-bar .nav-links--main ::slotted(nano-nav-item){--color:white;--padding-end:6px;--padding-start:6px}.main-bar .nav-links--sub{margin-left:6px;--color:#e2e2e2;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .nav-links--sub{margin-left:unset;-webkit-margin-start:6px;margin-inline-start:6px;}}.main-bar .login-btn{display:inline-block;border-radius:4px;background-color:#17bb75;color:#fff;padding:3px 10px;position:relative;left:auto;bottom:auto;margin-left:11px;margin-right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-bar .login-btn{margin-left:unset;margin-right:unset;-webkit-margin-start:11px;margin-inline-start:11px;-webkit-margin-end:0;margin-inline-end:0}}.main-bar .measure-ele{min-width:1px;display:block;margin:0;padding:0}.search-bar{height:0;overflow:hidden;-webkit-transition:0.2s ease height;transition:0.2s ease height;padding:0 var(--padding);outline:none}.search-bar .search-widget{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;overflow:inherit;max-width:none;max-height:none;padding:0 0 var(--padding)}.search-bar .search-inputs{padding:0 0;margin:0 0}.search-bar .search-autocomplete{top:calc(100% - (var(--padding) + 1px))}.site-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-transition:min-height 0.2s ease;transition:min-height 0.2s ease;min-height:calc(100% - 61px);position:relative;z-index:auto;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.mask{opacity:0;background:rgba(0, 0, 0, 0.3);position:fixed;left:0;right:0;top:0;height:100vh;z-index:-1;-webkit-transition:opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;transition:opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;transition:transform 0.2s ease, opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s;transition:transform 0.2s ease, opacity 0.2s ease, visibility 0.01s ease 0.2s, z-index 0.01s ease 0.2s, -webkit-transform 0.2s ease;visibility:hidden}.mask.open{opacity:1;-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s, -webkit-transform 0.2s ease 0.01s;z-index:3;visibility:visible}";
62
+
63
+ const THRESHOLDLIMIT = 5;
64
+ let GlobalNav = class extends HTMLElement {
65
+ constructor() {
66
+ super();
67
+ this.__registerHost();
68
+ this.__attachShadow();
69
+ this.nanoIsReady = createEvent(this, "nanoIsReady", 7);
70
+ this.nanoSearchResult = createEvent(this, "nanoSearchResult", 7);
71
+ this.nanoSearchError = createEvent(this, "nanoSearchError", 7);
72
+ this.nanoSearchReset = createEvent(this, "nanoSearchReset", 7);
73
+ this.currSize = 0;
74
+ this.thresholdsGoingUp = false;
75
+ this.autocompleteEles = [];
76
+ this.currAIndex = -1;
77
+ this.isLoggedIn = false;
78
+ this.myAccData = null;
79
+ // myaccount links
80
+ this.aboutNavItms = [];
81
+ this.siteNavItms = [];
82
+ this.loggedInNavItms = [];
83
+ this.hasLoggedinSlot = false;
84
+ this.hasSiteSlot = false;
85
+ this.hasPromotionSlot = false;
86
+ // slot item number tests
87
+ this.aboutSlotLen = 0;
88
+ this.iconSlotLen = 0;
89
+ this.mainSlotLen = 0;
90
+ this.overflowSlotLen = 0;
91
+ this.searchSlotLen = 0;
92
+ this.internalSearchIndeces = [];
93
+ this.thresholdReady = false;
94
+ this.remoteDataReady = false;
95
+ this.ready = false;
96
+ this.isResizing = false;
97
+ this.threshold = THRESHOLDLIMIT;
98
+ this.modalOpen = false;
99
+ this.modalIsOpen = false;
100
+ this.searchBarShown = false;
101
+ this.scrollingUp = true;
102
+ this.searchLoading = false;
103
+ this.showAutocomplete = false;
104
+ this.secondaryMenuOpen = false;
105
+ this.userMenuOpen = false;
106
+ this.menuFullScreen = false;
107
+ this.searchValInternal = '';
108
+ /**
109
+ * Connect to local, dev, test or prod MyAccount
110
+ * environments to retrieve global nav / sso data
111
+ */
112
+ this.env = 'prod';
113
+ /**
114
+ * Where to take user after SSO login
115
+ */
116
+ this.ssoRedirect = encodeURIComponent(window.location.href);
117
+ /**
118
+ * Whether to attempt to get global nav / sso data from MyAccount
119
+ */
120
+ this.getMyAccountData = true;
121
+ /**
122
+ * Active MyAccount link sections. By default all will show.
123
+ */
124
+ this.activeMyAccountSections = null;
125
+ /**
126
+ * Whether to show search functionality
127
+ */
128
+ this.showSearch = true;
129
+ /**
130
+ * Whether to show Nanopore logo
131
+ */
132
+ this.showLogo = true;
133
+ /**
134
+ * The link to put on the logo
135
+ */
136
+ this.logoUrl = location.protocol + '//' + location.host;
137
+ /**
138
+ * An array of Algolia search indexes (and optional display names). Will be automatically populated from MyAccount
139
+ */
140
+ this.searchIndeces = [];
141
+ /**
142
+ * Logged in user details automatically populated from MyAccount
143
+ */
144
+ this.myAccountUser = null;
145
+ /**
146
+ * A search value to passed to Algolia to programatically get or to preload search results
147
+ */
148
+ this.searchValue = '';
149
+ /**
150
+ * Algolia search index to programatically set or to set an initial index
151
+ */
152
+ this.searchIndex = 'all_prod_en';
153
+ /**
154
+ * MyAccount store cart count.
155
+ */
156
+ this.cartCount = 0;
157
+ /**
158
+ * MyAccount undread message count.
159
+ */
160
+ this.msgCount = 0;
161
+ /**
162
+ * Url to the Nanopore store cart. Will default to the url supplied by MyAccount
163
+ */
164
+ this.cartUrl = null;
165
+ /**
166
+ * Url to the Nanopore message center. Will default to the url supplied by MyAccount
167
+ */
168
+ this.msgUrl = null;
169
+ /**
170
+ * provides 'isResizing' - we use this to fade content out on 'breakpoint' increase
171
+ * (when the screen size increases). Otherwise the stepping through of
172
+ * breakpoints to calculate if content currently fits shows on screen (looks ugly)
173
+ */
174
+ this.setResizingState = (state = false) => {
175
+ if (typeof this.debounceSetResizingState === 'undefined') {
176
+ this.debounceSetResizingState = debounce(this.setResizingState, 600);
177
+ }
178
+ if (state) {
179
+ this.isResizing = true;
180
+ this.debounceSetResizingState();
181
+ }
182
+ else {
183
+ this.isResizing = false;
184
+ this.thresholdsGoingUp = false;
185
+ }
186
+ };
187
+ this.onMenuBtnKeyDown = (ev) => {
188
+ switch (ev.key) {
189
+ case 'Enter':
190
+ case ' ':
191
+ this.modalOpen ? this.menuClose(ev, true) : this.menuOpen();
192
+ break;
193
+ }
194
+ };
195
+ this.onMenuBtnClick = (ev) => {
196
+ this.menuClose(ev, true);
197
+ };
198
+ this.menuOpen = (e) => {
199
+ if (e)
200
+ e.preventDefault();
201
+ this.menuDiv.style.display = 'block';
202
+ this.modalOpen = true;
203
+ this.modalIsOpen = true;
204
+ this.menuWrapDiv.addEventListener('focusout', this.menuClose);
205
+ this.menuWrapDiv.focus({ preventScroll: true });
206
+ if (this.threshold < 2 ||
207
+ this.menuWrapDiv.scrollHeight > window.innerHeight) {
208
+ document.body.style.overflow = 'hidden';
209
+ this.menuFullScreen = true;
210
+ }
211
+ else
212
+ document.body.style.overflowX = 'hidden';
213
+ };
214
+ this.onMenuHidden = () => {
215
+ this.menuDiv.removeEventListener('transitionend', this.onMenuHidden);
216
+ this.menuWrapDiv.removeEventListener('focusout', this.menuClose);
217
+ document.body.style.overflow = '';
218
+ this.menuDiv.style.display = 'none';
219
+ this.modalIsOpen = false;
220
+ this.menuFullScreen = false;
221
+ setTimeout(() => {
222
+ if (document.activeElement === document.body && this.menuBtn)
223
+ this.mainBarDiv.focus({ preventScroll: true });
224
+ }, 50);
225
+ };
226
+ this.menuClose = (ev, force = false) => {
227
+ if (!force) {
228
+ let e = ev;
229
+ if (e &&
230
+ e.relatedTarget &&
231
+ closestElement('#global-nav-menu', e.relatedTarget))
232
+ return;
233
+ if (e &&
234
+ e.relatedTarget &&
235
+ e.relatedTarget.closest('#global-nav-menu'))
236
+ return;
237
+ if (e &&
238
+ e.relatedTarget &&
239
+ e.relatedTarget.closest('[slot="promotion"]'))
240
+ return;
241
+ if (this.secondaryMenuOpen)
242
+ return;
243
+ }
244
+ this.modalOpen = false;
245
+ this.menuDiv.addEventListener('transitionend', this.onMenuHidden);
246
+ };
247
+ this.subMenuClose = (ev) => {
248
+ ev.preventDefault();
249
+ ev.target.closest('nano-nav-item').open = false;
250
+ };
251
+ // User profile menu
252
+ this.onUserBtnClick = (ev) => {
253
+ ev.preventDefault();
254
+ this.userMenuOpen = !this.userMenuOpen;
255
+ };
256
+ this.onUserBtnKeyDown = (ev) => {
257
+ switch (ev.key) {
258
+ case 'Enter':
259
+ case ' ':
260
+ this.userMenuOpen = !this.userMenuOpen;
261
+ break;
262
+ }
263
+ };
264
+ this.onUserMenuBlur = (ev) => {
265
+ if (!ev.relatedTarget) {
266
+ this.userMenuOpen = false;
267
+ return;
268
+ }
269
+ if (!!ev.relatedTarget.closest('.user-links-panel'))
270
+ return false;
271
+ this.userMenuOpen = false;
272
+ };
273
+ // Search bar (smaller screens / mobile)
274
+ this.onSearchBtnClick = (ev) => {
275
+ ev.preventDefault();
276
+ if (!this.searchBarShown)
277
+ this.searchbarShow();
278
+ else
279
+ this.searchbarHide();
280
+ };
281
+ this.onSearchBtnKeyDown = (ev) => {
282
+ switch (ev.key) {
283
+ case 'Enter':
284
+ case ' ':
285
+ this.searchBarShown ? this.searchbarHide() : this.searchbarShow();
286
+ break;
287
+ }
288
+ };
289
+ this.onSearchBarShown = () => {
290
+ this.searchBarEl.removeEventListener('transitionend', this.onSearchBarShown);
291
+ if (this.searchInput)
292
+ this.searchInput.setFocus();
293
+ this.searchBarEl.style.overflow = 'visible';
294
+ };
295
+ this.searchbarHide = (ev) => {
296
+ if (ev &&
297
+ ev.relatedTarget &&
298
+ ev.relatedTarget.closest('#global-nav-search-bar'))
299
+ return;
300
+ this.showAutocomplete = false;
301
+ if (this.searchValInternal.length && ev)
302
+ return;
303
+ this.searchBarEl.addEventListener('transitionend', this.onSearchBarHidden);
304
+ this.searchBarEl.style.overflow = 'hidden';
305
+ this.searchBarEl.style.height = '0px';
306
+ };
307
+ this.onSearchBarHidden = () => {
308
+ this.searchBarEl.removeEventListener('transitionend', this.onSearchBarHidden);
309
+ this.searchBarEl.style.display = 'none';
310
+ this.searchBarShown = false;
311
+ };
312
+ this.onSearchInput = (ev) => {
313
+ this.searchValInternal = this.searchInput.value;
314
+ if (!this.isSearchValSet()) {
315
+ this.searchLoading = false;
316
+ return;
317
+ }
318
+ if (ev.detail.type === 'input') {
319
+ this.showAutocomplete = false;
320
+ this.searchLoading = true;
321
+ }
322
+ };
323
+ this.onSearchChange = async (ev) => {
324
+ this.searchValInternal = this.searchValue = ev
325
+ ? ev.detail.value
326
+ : this.searchValInternal;
327
+ this.showAutocomplete = false;
328
+ this.autocompleteResults = null;
329
+ if (!this.isSearchValSet()) {
330
+ if (!this.searchValInternal.length) {
331
+ this.nanoSearchReset.emit();
332
+ }
333
+ this.searchLoading = false;
334
+ return;
335
+ }
336
+ if (!this.currentIndex)
337
+ this.currentSelectedIndex();
338
+ try {
339
+ this.autocompleteResults = this.processSearchResults((await this.currentIndex.alogliaIndex.search(this.searchValInternal, {
340
+ attributesToSnippet: ['body:5', 'title:8'],
341
+ hitsPerPage: 5,
342
+ filters: 'created > ' + Math.floor((Date.now() - 63115200000) / 1000), // only get last 2 years
343
+ })));
344
+ }
345
+ catch (e) {
346
+ console.error(e);
347
+ }
348
+ this.scopeSearch = null;
349
+ this.scopeSearch = await this.onSearchSubmit(null, false);
350
+ this.searchLoading = false;
351
+ this.showAutocompleteResults();
352
+ };
353
+ this.onSearchSubmit = async (ev, emit = true) => {
354
+ if (ev)
355
+ ev.preventDefault();
356
+ if (!this.isSearchValSet())
357
+ return;
358
+ this.searchLoading = true;
359
+ this.algoliaSearchResults = null;
360
+ if (!this.currentIndex)
361
+ this.currentSelectedIndex();
362
+ let queries = this.internalSearchIndeces.map((index) => {
363
+ return {
364
+ indexName: index.index,
365
+ query: this.searchValInternal,
366
+ facets: index.filters,
367
+ hitsPerPage: 10,
368
+ filters: 'created > ' + Math.floor((Date.now() - 63115200000) / 1000), // only get last 2 years
369
+ };
370
+ });
371
+ try {
372
+ this.algoliaSearchResults = this.processSearchResults((await this.algoliaClient.multipleQueries(queries)));
373
+ }
374
+ catch (e) {
375
+ this.nanoSearchError.emit(e);
376
+ }
377
+ this.searchLoading = false;
378
+ if (!this.algoliaSearchResults)
379
+ return;
380
+ this.algoliaSearchResults.results.map((result, i) => {
381
+ result.indexName = this.internalSearchIndeces[i].name;
382
+ result.selected =
383
+ this.currentIndex.name === this.internalSearchIndeces[i].name;
384
+ result.domain = this.currentIndex.domain || null;
385
+ result.domains = this.myAccData.domains || null;
386
+ result.allGroup = !!this.internalSearchIndeces[i].allGroup;
387
+ result.filters = this.internalSearchIndeces[i].filters;
388
+ });
389
+ if (emit) {
390
+ this.nanoSearchResult.emit({
391
+ results: this.algoliaSearchResults.results,
392
+ client: { apiKey: this.searchApiKey, appId: this.searchAppId },
393
+ });
394
+ this.showAutocomplete = false;
395
+ }
396
+ return this.algoliaSearchResults;
397
+ };
398
+ this.onSearchIndexChange = async (index) => {
399
+ let ev = index;
400
+ let indexStr = index;
401
+ if (!this.currentIndex)
402
+ this.currentSelectedIndex();
403
+ if (ev.detail && ev.detail.value.length)
404
+ indexStr = ev.detail.value;
405
+ if (!indexStr || !indexStr.length)
406
+ return;
407
+ if (this.currentIndex.index === indexStr)
408
+ return;
409
+ let selectedIndex = this.internalSearchIndeces.find((index) => index.index === indexStr);
410
+ if (!selectedIndex || !selectedIndex.alogliaIndex)
411
+ return;
412
+ this.searchIndex = selectedIndex.index;
413
+ if (this.isSearchValSet())
414
+ await this.onSearchChange();
415
+ };
416
+ this.switchIndexSubmit = async (index) => {
417
+ if (this.isSearchValSet()) {
418
+ await this.onSearchIndexChange(index);
419
+ this.onSearchSubmit();
420
+ }
421
+ else
422
+ this.onSearchIndexChange(index);
423
+ };
424
+ this.onAutocompleteBlur = (ev) => {
425
+ if (!this.showAutocomplete || !this.autocompleteResults)
426
+ return;
427
+ if (ev && ev.target && ev.target.closest('.search-widget'))
428
+ return;
429
+ this.showAutocomplete = false;
430
+ };
431
+ this.showAutocompleteResults = () => {
432
+ if (!this.autocompleteResults || !this.autocompleteResults.hits)
433
+ return;
434
+ this.showAutocomplete = true;
435
+ };
436
+ this.onAutocompleteInteract = (ev) => {
437
+ // list open, navigate items with arrows
438
+ if (!this.showAutocomplete || !this.autocompleteResults)
439
+ return;
440
+ let testIndex = this.currAIndex;
441
+ switch (ev.key) {
442
+ case 'Tab':
443
+ setTimeout(() => {
444
+ if (!this.el.shadowRoot.activeElement ||
445
+ !this.el.shadowRoot.activeElement.closest('.search-widget')) {
446
+ this.showAutocomplete = false;
447
+ return;
448
+ }
449
+ else {
450
+ let found = this.autocompleteEles.find((ele, i) => {
451
+ if (ele === this.el.shadowRoot.activeElement) {
452
+ this.currAIndex = i;
453
+ return true;
454
+ }
455
+ });
456
+ if (found)
457
+ this.setActiveElement(found);
458
+ else
459
+ this.currAIndex = -1;
460
+ }
461
+ });
462
+ break;
463
+ case 'ArrowDown':
464
+ case 'ArrowUp':
465
+ if (ev.key === 'ArrowDown')
466
+ testIndex++;
467
+ else if (ev.key === 'ArrowUp')
468
+ testIndex--;
469
+ let found = this.autocompleteEles[testIndex];
470
+ if (found ||
471
+ testIndex < 0 ||
472
+ testIndex > this.autocompleteEles.length - 1)
473
+ ev.preventDefault();
474
+ if (found) {
475
+ this.setActiveElement(found);
476
+ this.currAIndex = testIndex;
477
+ }
478
+ else if (testIndex < 0) {
479
+ this.searchInput.setFocus();
480
+ this.currAIndex = -1;
481
+ }
482
+ break;
483
+ case 'Enter':
484
+ case ' ':
485
+ if (this.autocompleteEles[this.currAIndex]) {
486
+ this.autocompleteEles[this.currAIndex].click();
487
+ }
488
+ break;
489
+ }
490
+ };
491
+ }
492
+ /**
493
+ * Submit the search form (a search value must be present)
494
+ */
495
+ async submitSearch() {
496
+ this.onSearchSubmit();
497
+ this.showAutocomplete = false;
498
+ return;
499
+ }
500
+ currentSelectedIndex() {
501
+ if (!this.internalSearchIndeces.length) {
502
+ return;
503
+ }
504
+ let foundIndex = this.internalSearchIndeces.find((index) => index.index === this.searchIndex);
505
+ if (!foundIndex) {
506
+ this.currentIndex = this.internalSearchIndeces[0];
507
+ console.error('index not found');
508
+ return;
509
+ }
510
+ this.currentIndex = foundIndex;
511
+ return foundIndex;
512
+ }
513
+ changeInternalSearchVal() {
514
+ if (this.searchValInternal !== this.searchValue)
515
+ this.searchValue = this.searchValInternal;
516
+ }
517
+ initAlgoliaClient() {
518
+ if (!this.searchAppId || !this.searchApiKey)
519
+ return;
520
+ this.algoliaClient = algoliasearch_umd(this.searchAppId, this.searchApiKey);
521
+ this.addAlgoliaIndeces();
522
+ }
523
+ addIndeces() {
524
+ this.internalSearchIndeces = [
525
+ ...this.internalSearchIndeces,
526
+ ...this.searchIndeces,
527
+ ];
528
+ }
529
+ addAlgoliaIndeces() {
530
+ if (!this.algoliaClient || !this.internalSearchIndeces.length)
531
+ return;
532
+ this.internalSearchIndeces.forEach((searchIndex) => {
533
+ searchIndex.alogliaIndex = this.algoliaClient.initIndex(searchIndex.index);
534
+ });
535
+ if (!this.searchIndex)
536
+ this.searchIndex = this.internalSearchIndeces[0].index;
537
+ }
538
+ thresholdChange(newThreshold, oldThreshold) {
539
+ if (newThreshold > oldThreshold) {
540
+ // we've resized to larger screen.
541
+ this.thresholdsGoingUp = true;
542
+ this.setResizingState(true);
543
+ }
544
+ }
545
+ /**
546
+ * Primary logic for resizing changes.
547
+ * When content doesn't fit - we loop down through break points until it does
548
+ */
549
+ ratioChange() {
550
+ if (this.intersectRatio < 1 && this.threshold > 0) {
551
+ // content doesn't fit
552
+ if (this.thresholdsGoingUp)
553
+ this.setResizingState(true);
554
+ this.threshold--;
555
+ setTimeout(() => this.ratioChange(), 500);
556
+ }
557
+ else {
558
+ this.thresholdReady = true;
559
+ // content now fits so add / remove context classes
560
+ // on nav-items depending on whether they're added to bar or burger.
561
+ this.siteContent.style.minHeight = `calc(100% - ${this.barsDiv.clientHeight + 1}px)`;
562
+ let menuItems, barItems;
563
+ readTask(() => {
564
+ menuItems = [
565
+ ...Array.from(this.el.querySelectorAll('nano-nav-item[slot="site"]')),
566
+ ...Array.from(this.el.querySelectorAll('nano-nav-item[slot="overflow"]')),
567
+ ];
568
+ barItems = [];
569
+ if (this.threshold < THRESHOLDLIMIT - 4)
570
+ menuItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="icon"]')));
571
+ else
572
+ barItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="icon"]')));
573
+ if (this.threshold < THRESHOLDLIMIT - 3)
574
+ menuItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="loggedin"]')));
575
+ else
576
+ barItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="loggedin"]')));
577
+ if (this.threshold < THRESHOLDLIMIT - 2)
578
+ menuItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="main"]')));
579
+ else
580
+ barItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="main"]')));
581
+ if (this.threshold < THRESHOLDLIMIT - 1)
582
+ menuItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="about"]')));
583
+ else
584
+ barItems.push(...Array.from(this.el.querySelectorAll('nano-nav-item[slot="about"]')));
585
+ });
586
+ writeTask(() => {
587
+ menuItems.forEach((item) => {
588
+ item.classList.add('nano-global-nav-menu');
589
+ item.classList.remove('nano-global-nav-bar');
590
+ });
591
+ barItems.forEach((item) => {
592
+ item.classList.remove('nano-global-nav-menu');
593
+ item.classList.add('nano-global-nav-bar');
594
+ });
595
+ });
596
+ }
597
+ }
598
+ assessReady() {
599
+ if (this.thresholdReady && this.remoteDataReady) {
600
+ this.ready = true;
601
+ }
602
+ }
603
+ remoteReady() {
604
+ this.attachIO();
605
+ }
606
+ isReady() {
607
+ this.nanoIsReady.emit();
608
+ }
609
+ /**
610
+ * Add / remove events when autocomplete results show / hide.
611
+ */
612
+ setupAutocompleteBlur() {
613
+ if (this.showAutocomplete) {
614
+ this.el.shadowRoot.addEventListener('click', this.onAutocompleteBlur);
615
+ }
616
+ else {
617
+ this.el.shadowRoot.removeEventListener('click', this.onAutocompleteBlur);
618
+ }
619
+ }
620
+ /**
621
+ * As relevant slotted items change, reset resizing breakpoints
622
+ */
623
+ slotChange() {
624
+ this.threshold = THRESHOLDLIMIT;
625
+ }
626
+ // General classes for visuals
627
+ thresholdClasses() {
628
+ let classes = [];
629
+ let i = 0;
630
+ for (i; i < this.threshold; i++)
631
+ classes.push('threshold-' + (i + 1));
632
+ return classes;
633
+ }
634
+ // Global DOM Events
635
+ onWindowResize() {
636
+ if (this.threshold < THRESHOLDLIMIT && window.innerWidth > this.currSize) {
637
+ this.threshold = THRESHOLDLIMIT;
638
+ }
639
+ this.currSize = window.innerWidth;
640
+ this.searchBarShown = false;
641
+ }
642
+ // Burger / Overflow Menu
643
+ // listen to nav-item secondary open / close events primarily for resizing the menu
644
+ secondaryOpen(ev) {
645
+ if (!ev.detail.secondaryMenu)
646
+ return;
647
+ ev.stopPropagation();
648
+ this.secondaryMenuOpen = true;
649
+ this.menuContentDiv.style.minHeight =
650
+ ev.detail.secondaryMenu.scrollHeight + 'px';
651
+ }
652
+ secondaryClose(ev) {
653
+ if (!ev.detail.secondaryMenu)
654
+ return;
655
+ ev.stopPropagation();
656
+ this.secondaryMenuOpen = false;
657
+ this.menuContentDiv.style.minHeight = '';
658
+ }
659
+ async handleUserMenu() {
660
+ await displayTransition(this.userLinkPanel, 'show', this.userMenuOpen);
661
+ if (this.userMenuOpen) {
662
+ this.userLinkPanel.focus();
663
+ this.userLinkPanel.addEventListener('focusout', this.onUserMenuBlur);
664
+ }
665
+ else {
666
+ this.userLinkPanel.removeEventListener('focusout', this.onUserMenuBlur);
667
+ this.el.focus();
668
+ }
669
+ }
670
+ searchbarShow() {
671
+ this.searchBarShown = true;
672
+ this.searchBarEl.addEventListener('transitionend', this.onSearchBarShown);
673
+ this.searchBarEl.style.display = 'block';
674
+ setTimeout(() => {
675
+ this.searchBarEl.style.height =
676
+ this.searchBarEl.querySelector('.search-widget').scrollHeight + 'px';
677
+ }, 50);
678
+ }
679
+ // Algolia search
680
+ autocompleteSnippet(hit) {
681
+ let lookFor = ['title']; // , 'body'
682
+ if (hit._snippetResult) {
683
+ let found = lookFor.find((prop) => hit._snippetResult[prop] &&
684
+ hit._snippetResult[prop].matchLevel !== 'none');
685
+ if (found) {
686
+ if (found !== 'title')
687
+ return ((hit.title.length > 15
688
+ ? hit.title.substring(0, 15) + ' ...'
689
+ : hit.title) +
690
+ ' ' +
691
+ hit._snippetResult[found].value);
692
+ else
693
+ return hit._snippetResult['title'].value;
694
+ }
695
+ }
696
+ return hit.title;
697
+ }
698
+ isSearchValSet() {
699
+ if (this.searchValInternal.length < 3)
700
+ return false;
701
+ return true;
702
+ }
703
+ // Autocomplete
704
+ resetHitFocus() {
705
+ this.currAIndex = -1;
706
+ }
707
+ setActiveElement(autocompleteEle) {
708
+ this.autocompleteEles.map((ele) => ele.setAttribute('aria-selected', 'false'));
709
+ autocompleteEle.focus({ preventScroll: true });
710
+ autocompleteEle.setAttribute('aria-selected', 'true');
711
+ }
712
+ // Various.
713
+ /**
714
+ * Assesses what content is present in which slots
715
+ */
716
+ assessSlottedContent() {
717
+ readTask(() => {
718
+ this.hasSiteSlot = !!this.el.querySelectorAll('[slot="site"]').length;
719
+ this.hasLoggedinSlot =
720
+ !!this.el.querySelectorAll('[slot="loggedin"]').length;
721
+ this.hasPromotionSlot =
722
+ !!this.el.querySelectorAll('[slot="promotion"]').length;
723
+ this.aboutSlotLen = this.el.querySelectorAll('[slot="about"]').length;
724
+ this.iconSlotLen = this.el.querySelectorAll('[slot="icon"]').length;
725
+ this.mainSlotLen = this.el.querySelectorAll('[slot="main"]').length;
726
+ this.overflowSlotLen =
727
+ this.el.querySelectorAll('[slot="overflow"]').length;
728
+ this.searchSlotLen = this.el.querySelectorAll('[slot="search"]').length;
729
+ });
730
+ }
731
+ /**
732
+ * Attach the IntersectionObserver - from which all threshold / breakpoint logic hinges
733
+ */
734
+ attachIO() {
735
+ if (this.io)
736
+ return;
737
+ let root = this.el.shadowRoot.querySelector('.global-nav .main-bar');
738
+ if (Build.isBrowser &&
739
+ typeof window !== 'undefined' &&
740
+ window.IntersectionObserver &&
741
+ !!root) {
742
+ const io = (this.io = new window.IntersectionObserver((data) => {
743
+ this.intersectRatio = data.slice(-1)[0].intersectionRatio;
744
+ }, { root, threshold: 1 }));
745
+ io.observe(root.querySelector('.measure-ele'));
746
+ }
747
+ }
748
+ // Stencil Lifecycle / Rendering
749
+ componentDidLoad() {
750
+ if (Build.isBrowser) {
751
+ this.debounceResize = debounce(this.onWindowResize.bind(this), 300);
752
+ window.addEventListener('resize', this.debounceResize);
753
+ this.currSize = window.innerWidth;
754
+ }
755
+ this.initAlgoliaClient();
756
+ this.addAlgoliaIndeces();
757
+ if (this.remoteDataReady)
758
+ this.attachIO();
759
+ }
760
+ componentWillLoad() {
761
+ ComponentStore.init(this, ['searchIndex', 'searchValue'], 'url-hash', 'gns');
762
+ if (Build.isBrowser &&
763
+ typeof window !== 'undefined' &&
764
+ window.MutationObserver) {
765
+ const mo = (this.mo = new MutationObserver(() => {
766
+ this.assessSlottedContent();
767
+ }));
768
+ mo.observe(this.el, { childList: true, subtree: false });
769
+ }
770
+ this.assessSlottedContent();
771
+ }
772
+ disconnectedCallback() {
773
+ if (this.io) {
774
+ this.io.disconnect();
775
+ this.io = undefined;
776
+ }
777
+ if (this.mo) {
778
+ this.mo.disconnect();
779
+ this.mo = undefined;
780
+ }
781
+ if (Build.isBrowser)
782
+ window.removeEventListener('resize', this.debounceResize);
783
+ }
784
+ async connectedCallback() {
785
+ this.getMyAccData();
786
+ }
787
+ // Render output
788
+ autocompleteList() {
789
+ let content;
790
+ if (this.showAutocomplete && this.scrollingUp) {
791
+ let currentScopeHits = 0;
792
+ let scopeChangeSuggestions = 0;
793
+ let scopeSuggestReducer = (total, result) => {
794
+ return result.index !== this.currentIndex.index
795
+ ? total + result.hits.length
796
+ : total;
797
+ };
798
+ let currentSuggestReducer = (total, result) => {
799
+ return result.index === this.currentIndex.index
800
+ ? total + result.hits.length
801
+ : total;
802
+ };
803
+ if (this.scopeSearch) {
804
+ scopeChangeSuggestions = this.scopeSearch.results.reduce(scopeSuggestReducer, 0);
805
+ currentScopeHits = this.scopeSearch.results.reduce(currentSuggestReducer, 0);
806
+ }
807
+ if ((this.autocompleteResults && this.autocompleteResults.hits.length) ||
808
+ (scopeChangeSuggestions && !currentScopeHits)) {
809
+ let scopeSuggestions = 0;
810
+ content = (h("div", null, !currentScopeHits && (h("div", { class: "search-autocomplete-hit search-autocomplete-hit--no-result" }, "No results matching '", this.searchValInternal, "' were found in", ' ', h("strong", null, this.currentIndex.name), ". Try another phrase.")), this.autocompleteResults && [
811
+ this.autocompleteResults.hits.map((hit, i) => {
812
+ return (h("a", { role: "option", ref: (a) => this.autocompleteEles.push(a), tabindex: "-1", id: 'autocomplete-hit-' + i, href: hit.url, class: "search-autocomplete-hit", innerHTML: this.autocompleteSnippet(hit) }));
813
+ }),
814
+ ], (!currentScopeHits || this.currentIndex.allGroup) &&
815
+ this.scopeSearch &&
816
+ this.scopeSearch.results && [
817
+ this.scopeSearch.results.map((result, i) => {
818
+ if (!result.hits.length ||
819
+ result.index === this.currentIndex.index ||
820
+ scopeSuggestions > 1)
821
+ return;
822
+ scopeSuggestions++;
823
+ return (h("button", { role: "option", ref: (button) => this.autocompleteEles.push(button), tabindex: "-1", id: 'autocomplete-scope-' + i, class: "search-autocomplete-hit", onClick: () => this.switchIndexSubmit(result.index), onMouseDown: () => this.switchIndexSubmit(result.index) }, "\"", this.searchValInternal, "\"", ' ', h("div", { class: "search-autocomplete-hit-scope" }, "in ", result.indexName)));
824
+ }),
825
+ ], !!currentScopeHits && (h("div", { class: "search-autocomplete-foot" }, h("button", { role: "option", class: "search-autocomplete-submit", ref: (button) => this.autocompleteEles.push(button), id: 'autocomplete-foot', onClick: this.onSearchSubmit, onMouseDown: this.onSearchSubmit }, "View all results")))));
826
+ }
827
+ else if (!currentScopeHits) {
828
+ content = (h("div", { class: "search-autocomplete-hit search-autocomplete-hit--no-result" }, "No results matching '", this.searchValInternal, "' were found. Try another phrase."));
829
+ }
830
+ }
831
+ return (h("div", { class: "search-autocomplete", role: "listbox", id: "autocomplete-results", "aria-expanded": this.showAutocomplete ? 'true' : 'false', hidden: !this.showAutocomplete, onKeyDown: this.onAutocompleteInteract }, content));
832
+ }
833
+ searchWidget() {
834
+ return [
835
+ h("form", { class: "search-inputs", onSubmit: this.onSearchSubmit, id: "global-nav-search" }, h("nano-select", { class: "search-input", label: "Which area of content would you like to search?", hideLabel: true, showInlineError: false, value: this.searchIndex, onNanoChange: this.onSearchIndexChange, mask: true }, this.internalSearchIndeces.map((index) => {
836
+ return (h("nano-option", { selected: index.index === this.searchIndex, value: index.index }, index.name || index.index));
837
+ }), h("nano-icon", { name: "solid/caret-down", class: "down-arrow", slot: "down-arrow" })), h("nano-input", { class: "search-input", label: "What would you like to search for?", "aria-label": "What would you like to search for?", hideLabel: true, showInlineError: false, "clear-input": true, placeholder: "Search...", type: "text", ref: (input) => (this.searchInput = input), onNanoChange: this.onSearchChange, onNanoInput: this.onSearchInput, onKeyDown: this.onAutocompleteInteract, debounce: 500, "aria-autocomplete": "list", "aria-activedescendant": this.autocompleteEles[this.currAIndex]
838
+ ? this.autocompleteEles[this.currAIndex].id
839
+ : false, "aria-controls": "autocomplete-results", onNanoFocus: this.showAutocompleteResults, value: this.searchValue, role: "textbox" }, h("button", { class: {
840
+ 'search-icon': true,
841
+ 'search-icon--search': true,
842
+ 'search-icon--show': !this.searchValInternal.length,
843
+ }, slot: "end", onMouseDown: (e) => {
844
+ this.searchValInternal = this.searchInput.value;
845
+ this.onSearchSubmit(e, true);
846
+ } }, h("nano-icon", { name: "light/search" })), h("span", { class: {
847
+ 'search-icon': true,
848
+ 'search-icon--loader': true,
849
+ 'search-icon--show': this.searchLoading,
850
+ }, slot: "end" }, h("nano-icon", { name: "light/spinner-third" }))), h("input", { type: "submit" })),
851
+ ];
852
+ }
853
+ render() {
854
+ this.autocompleteEles = [];
855
+ let isRtl = this.el.ownerDocument.dir === 'rtl';
856
+ let searchWidget = this.searchWidget();
857
+ searchWidget.push(this.autocompleteList());
858
+ return (h(Host, { class: {
859
+ [this.thresholdClasses().join(' ')]: true,
860
+ ready: this.ready,
861
+ 'search-bar-shown': this.searchBarShown && this.scrollingUp,
862
+ 'search-auto-complete-shown': this.showAutocomplete && this.scrollingUp,
863
+ 'modal-open': this.modalIsOpen,
864
+ resizing: this.isResizing,
865
+ }, dir: isRtl ? 'rtl' : null }, h("div", { class: {
866
+ 'global-nav': true,
867
+ 'scrolling-down': !this.scrollingUp,
868
+ } }, h("nav", { id: "global-nav-menu", class: {
869
+ 'gn-menu': true,
870
+ open: this.modalOpen,
871
+ 'has-promotion': this.hasPromotionSlot,
872
+ 'menu-full-screen': this.menuFullScreen,
873
+ 'secondary-open': this.secondaryMenuOpen,
874
+ }, "aria-expanded": this.modalOpen ? 'true' : 'false', ref: (div) => (this.menuDiv = div) }, h("div", { class: "gn-menu_wrap", ref: (div) => (this.menuWrapDiv = div), tabindex: "-1" }, h("div", { class: "gn-menu_actions" }, h("button", { class: "menu-btn icon-btn icon-btn", onMouseDown: this.onMenuBtnClick, onKeyDown: this.onMenuBtnKeyDown }, this.threshold < THRESHOLDLIMIT - 3 && (h("nano-icon", { name: "light/times", "aria-label": "close menu" })), this.threshold >= THRESHOLDLIMIT - 3 && (h("nano-icon", { name: "light/bars", "aria-label": "close menu" }))), this.threshold < THRESHOLDLIMIT - 4 && [
875
+ !!this.iconSlotLen && h("slot", { name: "icon" }),
876
+ this.myAccData &&
877
+ (!this.activeMyAccountSections ||
878
+ this.activeMyAccountSections.includes('icons')) && [
879
+ this.msgUrl && (h("a", { href: this.msgUrl, class: "icon-btn" }, h("nano-icon", { name: "light/bell" }), this.msgCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.msgCount)))),
880
+ this.cartUrl && (h("a", { href: this.cartUrl, class: "icon-btn" }, h("nano-icon", { name: "light/shopping-cart" }), this.cartCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.cartCount)))),
881
+ ],
882
+ ], this.myAccData && this.myAccData.urls.login && (h("a", { href: this.myAccData.urls.login + this.ssoRedirect, class: "login-btn" }, "Login / Register", ' ', h("nano-icon", { name: "solid/chevron-right" })))), h("div", { class: "content-wrap", ref: (div) => (this.menuContentDiv = div) }, h("div", { class: "content" }, h("nav", { class: "nav-links nav-links--main" }, h("slot", { name: "overflow" }), this.threshold < THRESHOLDLIMIT - 2 &&
883
+ !!this.mainSlotLen && h("slot", { name: "main" })), (((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
884
+ this.threshold < THRESHOLDLIMIT) ||
885
+ this.hasSiteSlot ||
886
+ !!this.siteNavItms.length) && (h("div", null, (!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
887
+ this.threshold < THRESHOLDLIMIT && [
888
+ (this.threshold >= THRESHOLDLIMIT - 2 ||
889
+ this.mainSlotLen < 2) &&
890
+ this.overflowSlotLen < 2 && (h("div", { class: "nav-links-wrap" }, !!this.aboutNavItms.length && (h("h4", { class: "nav-links_title" }, "About")), h("nav", { class: "nav-links nav-links--sub", "aria-label": "About the company links" }, h("slot", { name: "about" }), this.aboutNavItms.map((link) => {
891
+ return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
892
+ })))),
893
+ ((this.threshold < THRESHOLDLIMIT - 2 &&
894
+ this.mainSlotLen >= 2) ||
895
+ this.overflowSlotLen >= 2) && (h("nav", { class: "nav-links", "aria-label": "About the company links" }, !this.aboutNavItms.length && (h("slot", { name: "about" })), !!this.aboutNavItms.length && (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, "Company", h("nano-icon", { slot: "icon-end", name: "solid/chevron-right" }), h("div", { slot: "secondary" }, h("div", { class: "content" }, h("button", { class: "back-btn", onClick: this.subMenuClose }, h("nano-icon", { slot: "icon-end", name: "solid/chevron-left", "aria-label": "go back" }), "Company"), h("slot", { name: "about" }), h("div", { class: "content--sub" }, this.aboutNavItms.map((link) => {
896
+ return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
897
+ })))))))),
898
+ ], (this.hasSiteSlot || !!this.siteNavItms.length) && [
899
+ (this.threshold >= THRESHOLDLIMIT - 2 ||
900
+ this.mainSlotLen < 2) &&
901
+ this.overflowSlotLen < 2 && (h("div", { class: "nav-links-wrap" }, h("h4", { class: "nav-links_title" }, "Sites"), h("nav", { class: "nav-links nav-links--sub", "aria-label": "Different company site links" }, h("slot", { name: "site" }), this.siteNavItms.map((link) => {
902
+ return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
903
+ })))),
904
+ ((this.threshold < THRESHOLDLIMIT - 2 &&
905
+ this.mainSlotLen >= 2) ||
906
+ this.overflowSlotLen >= 2) && (h("nav", { class: "nav-links", "aria-label": "Different company site links" }, h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, "Sites", h("nano-icon", { slot: "icon-end", name: "solid/chevron-right" }), h("div", { slot: "secondary" }, h("div", { class: "content" }, h("button", { class: "back-btn", onClick: this.subMenuClose }, h("nano-icon", { slot: "icon-end", name: "solid/chevron-left", "aria-label": "go back" }), "Sites"), h("div", { class: "content--sub" }, h("slot", { name: "site" }), this.siteNavItms.map((link) => {
907
+ return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
908
+ }))))))),
909
+ ]))), this.isLoggedIn &&
910
+ this.threshold < THRESHOLDLIMIT - 3 &&
911
+ (this.loggedInNavItms.length || this.hasLoggedinSlot) && (h("nav", { class: "nav-links", "aria-label": "Your user account links" }, h("nano-nav-item", { class: "nano-global-nav user-nav nano-global-nav-menu" }, this.myAccountUser.name, h("nano-icon", { slot: "icon-end", name: "solid/chevron-right" }), h("div", { slot: "secondary" }, h("div", { class: "content" }, h("button", { class: "back-btn", onClick: this.subMenuClose }, h("nano-icon", { slot: "icon-end", name: "solid/chevron-left", "aria-label": "go back" }), this.myAccountUser.name), h("div", { class: "content--sub" }, h("slot", { name: "loggedin" }), this.loggedInNavItms.map((link) => {
912
+ return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: link.address, target: link.target }, link.title)));
913
+ }), h("nano-nav-item", { class: "nano-global-nav nano-global-nav-menu" }, h("a", { href: this.myAccData.urls.forgot_password +
914
+ this.ssoRedirect }, "Change Password")))))))), h("slot", { name: "promotion" }), this.myAccData && this.myAccData.urls.logout && (h("div", { class: "login-btn logout-btn" }, h("a", { href: this.myAccData.urls.logout + this.ssoRedirect }, "Logout")))))), h("nano-sticker", { "auto-resize": "false", "break-point-max": "800", quietMode: { h: 600, w: 800 } }, h("div", { class: "bars", ref: (div) => (this.barsDiv = div) }, h("nav", { class: "main-bar", "aria-label": "Main site navigation", tabindex: "-1", ref: (div) => (this.mainBarDiv = div) }, (this.hasPromotionSlot ||
915
+ !!this.overflowSlotLen ||
916
+ ((this.myAccData || !!this.iconSlotLen) &&
917
+ this.threshold < THRESHOLDLIMIT - 4) ||
918
+ (this.isLoggedIn &&
919
+ (!!this.loggedInNavItms.length || this.hasLoggedinSlot) &&
920
+ this.threshold < THRESHOLDLIMIT - 3) ||
921
+ (!!this.mainSlotLen && this.threshold < THRESHOLDLIMIT - 2) ||
922
+ ((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
923
+ this.threshold < THRESHOLDLIMIT) ||
924
+ this.hasSiteSlot ||
925
+ !!this.siteNavItms.length) && (h("button", { class: "menu-btn icon-btn", onMouseDown: this.menuOpen, onKeyDown: this.onMenuBtnKeyDown, "aria-expanded": this.modalOpen ? 'true' : 'false', "aria-controls": "global-nav-menu", ref: (btn) => (this.menuBtn = btn) }, h("nano-icon", { name: "light/bars", "aria-label": "open menu" }))), this.showLogo && (h("a", { href: this.logoUrl, class: "logo-link" }, h("img", { src: getAssetPath(`./assets/ont-logo.svg`), alt: "Oxford Nanopore Technologies Logo", class: "logo" }))), !this.showLogo && (h("div", { class: "logo-link" }, h("slot", { name: "logo" }))), h("div", { class: "nav-links nav-links--main" }, h("slot", { name: "main" })), this.threshold >= THRESHOLDLIMIT - 1 && [
926
+ this.showSearch && !!this.internalSearchIndeces.length && (h("div", { class: "search-widget", role: "combobox", "aria-owns": "autocomplete-results", "aria-expanded": this.showAutocomplete && this.autocompleteResults
927
+ ? 'true'
928
+ : 'false' }, searchWidget)),
929
+ (!this.showSearch || !this.myAccData) &&
930
+ !!this.searchSlotLen && h("slot", { name: "search" }),
931
+ ], (this.threshold >= THRESHOLDLIMIT - 1 ||
932
+ !this.showSearch ||
933
+ !this.internalSearchIndeces.length) && (h("nav", { class: "nav-links nav-links--sub", "aria-label": "About the company links" }, (!!this.aboutSlotLen || !!this.aboutNavItms.length) &&
934
+ this.threshold === THRESHOLDLIMIT && [
935
+ h("slot", { name: "about" }),
936
+ this.aboutNavItms.map((link) => {
937
+ return (h("nano-nav-item", { class: "nano-global-nav nano-global-nav-bar" }, h("a", { href: link.address, target: link.target }, link.title)));
938
+ }),
939
+ ])), this.threshold < THRESHOLDLIMIT - 1 &&
940
+ ((this.showSearch && !!this.internalSearchIndeces.length) ||
941
+ !!this.searchSlotLen) && (h("button", { class: "icon-btn", "aria-controls": "global-nav-search-bar", "aria-expanded": this.searchBarShown ? 'true' : 'false', onMouseDown: this.onSearchBtnClick, onKeyDown: this.onSearchBtnKeyDown }, h("nano-icon", { name: "light/search" }))), this.threshold >= THRESHOLDLIMIT - 4 && [
942
+ !!this.iconSlotLen && h("slot", { name: "icon" }),
943
+ this.myAccData &&
944
+ (!this.activeMyAccountSections ||
945
+ this.activeMyAccountSections.includes('icons')) && [
946
+ this.msgUrl && (h("a", { href: this.msgUrl, class: "icon-btn" }, h("nano-icon", { name: "light/bell" }), this.msgCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.msgCount)))),
947
+ this.cartUrl && (h("a", { href: this.cartUrl, class: "icon-btn" }, h("nano-icon", { name: "light/shopping-cart" }), this.cartCount > 0 && (h("span", { class: "gn-menu_actions-counter" }, this.cartCount)))),
948
+ ],
949
+ ], this.myAccData &&
950
+ this.threshold >= THRESHOLDLIMIT - 3 && [
951
+ this.myAccData.urls.login && (h("a", { href: this.myAccData.urls.login + this.ssoRedirect, class: "login-btn" }, "Login / Register")),
952
+ this.myAccountUser && (h("div", { class: "user-links" }, h("button", { class: {
953
+ 'icon-btn': true,
954
+ 'user-links-btn': true,
955
+ open: this.userMenuOpen,
956
+ }, onMouseDown: this.onUserBtnClick, onKeyDown: this.onUserBtnKeyDown }, ' ', this.myAccountUser.name, h("nano-icon", { name: "solid/caret-down" })), h("div", { class: "user-links-panel", tabindex: "-1", ref: (div) => (this.userLinkPanel = div) }, h("div", { class: "user-links-panel-content" }, this.loggedInNavItms.map((link) => {
957
+ return (h("a", { href: link.address, target: link.target }, link.title));
958
+ })), h("div", { class: "user-links-panel-foot" }, h("a", { href: this.myAccData.urls.forgot_password +
959
+ this.ssoRedirect }, "Change Password"), h("a", { href: this.myAccData.urls.logout + this.ssoRedirect }, "Logout"))))),
960
+ ], h("span", { class: "measure-ele" })), this.threshold < THRESHOLDLIMIT - 1 && (h("div", { id: "global-nav-search-bar", class: {
961
+ 'search-bar': true,
962
+ show: this.searchBarShown,
963
+ }, "aria-expanded": this.searchBarShown ? 'true' : 'false', role: "region", tabindex: "-1", ref: (div) => (this.searchBarEl = div) }, h("div", { class: "search-widget" }, this.showSearch && !!this.internalSearchIndeces.length && (h("div", null, searchWidget)), (!this.showSearch || !this.myAccData) &&
964
+ !!this.searchSlotLen && h("slot", { name: "search" })))))), (this.threshold < THRESHOLDLIMIT - 3 || this.menuFullScreen) && (h("div", { class: {
965
+ mask: true,
966
+ open: this.modalOpen,
967
+ }, onClick: this.menuClose, onTouchEnd: this.menuClose }))), h("div", { class: "site-content", ref: (div) => (this.siteContent = div) }, h("slot", null))));
968
+ }
969
+ // Data processing
970
+ domainFor(origin) {
971
+ if (!this.myAccData)
972
+ return '';
973
+ let domain = this.myAccData.domains.find((dm) => dm.origin === origin);
974
+ return domain ? domain.domain : '';
975
+ }
976
+ processSearchResults(results) {
977
+ let multiResults = results;
978
+ let singleResult = results;
979
+ if (multiResults.results) {
980
+ multiResults.results.forEach((result, i) => {
981
+ multiResults.results[i] = this.processSearchResults(result);
982
+ });
983
+ return multiResults;
984
+ }
985
+ else {
986
+ singleResult.hits.map((hit) => {
987
+ if (hit.url && !hit.url.match(/^http/))
988
+ hit.url =
989
+ location.protocol + '//' + this.domainFor(hit.origin) + hit.url;
990
+ });
991
+ return singleResult;
992
+ }
993
+ }
994
+ async getMyAccData() {
995
+ if (!this.getMyAccountData || this.myAccData) {
996
+ this.remoteDataReady = true;
997
+ return;
998
+ }
999
+ let url;
1000
+ switch (this.env) {
1001
+ case 'dev':
1002
+ url = 'https://myaccount-dev.nanoporetech.com/';
1003
+ break;
1004
+ case 'test':
1005
+ url = 'https://myaccount-test.nanoporetech.com/';
1006
+ break;
1007
+ default:
1008
+ url = 'https://myaccount.nanoporetech.com/';
1009
+ break;
1010
+ }
1011
+ var config = { timeout: 5000 };
1012
+ try {
1013
+ if (this.env === 'local') {
1014
+ this.myAccData = (await import('./local-my-account.js'));
1015
+ }
1016
+ else {
1017
+ this.myAccData = await clientFetch(url + 'nav_bar_data.json', config);
1018
+ }
1019
+ if (this.myAccData.user.id) {
1020
+ this.isLoggedIn = true;
1021
+ this.myAccountUser = this.myAccData.user;
1022
+ }
1023
+ this.processMyAccLinks();
1024
+ this.processMyAccData();
1025
+ setTimeout(() => (this.remoteDataReady = true), 300);
1026
+ }
1027
+ catch (e) {
1028
+ console.error(e);
1029
+ this.remoteDataReady = true;
1030
+ }
1031
+ }
1032
+ processMyAccData() {
1033
+ if (!this.myAccData || !this.myAccData.search.indeces.length)
1034
+ return;
1035
+ if (this.myAccData.search.api_key)
1036
+ this.searchApiKey = this.myAccData.search.api_key;
1037
+ if (this.myAccData.search.app_id)
1038
+ this.searchAppId = this.myAccData.search.app_id;
1039
+ if (this.myAccData.cart.count)
1040
+ this.cartCount = this.myAccData.cart.count;
1041
+ if (this.myAccData.notifications.count)
1042
+ this.msgCount = this.myAccData.notifications.count;
1043
+ if (!this.searchAppId || !this.searchApiKey)
1044
+ return;
1045
+ this.internalSearchIndeces = [
1046
+ ...this.myAccData.search.indeces,
1047
+ ...this.searchIndeces,
1048
+ ];
1049
+ if (this.myAccData.urls.cart && !this.cartUrl)
1050
+ this.cartUrl = this.myAccData.urls.cart;
1051
+ if (this.myAccData.urls.messages && !this.msgUrl)
1052
+ this.msgUrl = this.myAccData.urls.messages;
1053
+ }
1054
+ processMyAccLinks() {
1055
+ if (!this.myAccData.links || !this.myAccData.links.length)
1056
+ return;
1057
+ this.myAccData.links.forEach((link) => {
1058
+ switch (link.area) {
1059
+ case 'left-side-logged-in':
1060
+ case 'left-side-logged-out':
1061
+ if (this.activeMyAccountSections &&
1062
+ !this.activeMyAccountSections.includes('sites'))
1063
+ break;
1064
+ if (this.isLoggedIn && link.area === 'left-side-logged-in')
1065
+ this.siteNavItms.push(link);
1066
+ else if (!this.isLoggedIn && link.area === 'left-side-logged-out')
1067
+ this.siteNavItms.push(link);
1068
+ break;
1069
+ case 'right-side-logged-in':
1070
+ case 'right-side-logged-out':
1071
+ if (this.activeMyAccountSections &&
1072
+ !this.activeMyAccountSections.includes('about'))
1073
+ break;
1074
+ if (this.isLoggedIn && link.area === 'right-side-logged-in')
1075
+ this.aboutNavItms.push(link);
1076
+ else if (!this.isLoggedIn && link.area === 'right-side-logged-out')
1077
+ this.aboutNavItms.push(link);
1078
+ break;
1079
+ case 'profile-panel-list':
1080
+ if (this.activeMyAccountSections &&
1081
+ !this.activeMyAccountSections.includes('loggedin'))
1082
+ break;
1083
+ this.loggedInNavItms.push(link);
1084
+ break;
1085
+ }
1086
+ });
1087
+ }
1088
+ static get assetsDirs() { return ["assets"]; }
1089
+ get el() { return this; }
1090
+ static get watchers() { return {
1091
+ "searchIndex": ["currentSelectedIndex"],
1092
+ "searchValInternal": ["changeInternalSearchVal"],
1093
+ "searchApiKey": ["initAlgoliaClient"],
1094
+ "searchAppId": ["initAlgoliaClient"],
1095
+ "searchIndeces": ["addIndeces"],
1096
+ "internalSearchIndeces": ["addAlgoliaIndeces"],
1097
+ "threshold": ["thresholdChange"],
1098
+ "intersectRatio": ["ratioChange"],
1099
+ "thresholdReady": ["assessReady"],
1100
+ "remoteDataReady": ["assessReady", "remoteReady"],
1101
+ "ready": ["isReady"],
1102
+ "showAutocomplete": ["setupAutocompleteBlur", "resetHitFocus"],
1103
+ "aboutSlotLen": ["slotChange"],
1104
+ "iconSlotLen": ["slotChange"],
1105
+ "mainSlotLen": ["slotChange"],
1106
+ "overflowSlotLen": ["slotChange"],
1107
+ "searchSlotLen": ["slotChange"],
1108
+ "userMenuOpen": ["handleUserMenu"]
1109
+ }; }
1110
+ static get style() { return globalNavCss; }
1111
+ };
1112
+ GlobalNav = /*@__PURE__*/ proxyCustomElement(GlobalNav, [1, "nano-global-nav", {
1113
+ "env": [1],
1114
+ "ssoRedirect": [1, "sso-redirect"],
1115
+ "getMyAccountData": [4, "get-my-account-data"],
1116
+ "activeMyAccountSections": [16],
1117
+ "showSearch": [4, "show-search"],
1118
+ "showLogo": [4, "show-logo"],
1119
+ "logoUrl": [1, "logo-url"],
1120
+ "searchIndeces": [16],
1121
+ "myAccountUser": [1040],
1122
+ "searchAppId": [1025, "search-app-id"],
1123
+ "searchApiKey": [1025, "search-api-key"],
1124
+ "searchValue": [1025, "search-value"],
1125
+ "searchIndex": [1025, "search-index"],
1126
+ "cartCount": [1026, "cart-count"],
1127
+ "msgCount": [1026, "msg-count"],
1128
+ "cartUrl": [1025, "cart-url"],
1129
+ "msgUrl": [1025, "msg-url"],
1130
+ "hasLoggedinSlot": [32],
1131
+ "hasSiteSlot": [32],
1132
+ "hasPromotionSlot": [32],
1133
+ "aboutSlotLen": [32],
1134
+ "iconSlotLen": [32],
1135
+ "mainSlotLen": [32],
1136
+ "overflowSlotLen": [32],
1137
+ "searchSlotLen": [32],
1138
+ "internalSearchIndeces": [32],
1139
+ "thresholdReady": [32],
1140
+ "remoteDataReady": [32],
1141
+ "ready": [32],
1142
+ "isResizing": [32],
1143
+ "intersectRatio": [32],
1144
+ "threshold": [32],
1145
+ "modalOpen": [32],
1146
+ "modalIsOpen": [32],
1147
+ "searchBarShown": [32],
1148
+ "scrollingUp": [32],
1149
+ "searchLoading": [32],
1150
+ "showAutocomplete": [32],
1151
+ "secondaryMenuOpen": [32],
1152
+ "userMenuOpen": [32],
1153
+ "menuFullScreen": [32],
1154
+ "searchValInternal": [32],
1155
+ "submitSearch": [64]
1156
+ }, [[0, "nanoOpen", "secondaryOpen"], [0, "nanoClose", "secondaryClose"]]]);
1157
+ function defineCustomElement$1() {
1158
+ if (typeof customElements === "undefined") {
1159
+ return;
1160
+ }
1161
+ const components = ["nano-global-nav", "nano-datalist", "nano-dropdown", "nano-icon", "nano-input", "nano-menu", "nano-nav-item", "nano-option", "nano-select", "nano-sticker"];
1162
+ components.forEach(tagName => { switch (tagName) {
1163
+ case "nano-global-nav":
1164
+ if (!customElements.get(tagName)) {
1165
+ customElements.define(tagName, GlobalNav);
1166
+ }
1167
+ break;
1168
+ case "nano-datalist":
1169
+ if (!customElements.get(tagName)) {
1170
+ defineCustomElement$a();
1171
+ }
1172
+ break;
1173
+ case "nano-dropdown":
1174
+ if (!customElements.get(tagName)) {
1175
+ defineCustomElement$9();
1176
+ }
1177
+ break;
1178
+ case "nano-icon":
1179
+ if (!customElements.get(tagName)) {
1180
+ defineCustomElement$8();
1181
+ }
1182
+ break;
1183
+ case "nano-input":
1184
+ if (!customElements.get(tagName)) {
1185
+ defineCustomElement$7();
1186
+ }
1187
+ break;
1188
+ case "nano-menu":
1189
+ if (!customElements.get(tagName)) {
1190
+ defineCustomElement$6();
1191
+ }
1192
+ break;
1193
+ case "nano-nav-item":
1194
+ if (!customElements.get(tagName)) {
1195
+ defineCustomElement$5();
1196
+ }
1197
+ break;
1198
+ case "nano-option":
1199
+ if (!customElements.get(tagName)) {
1200
+ defineCustomElement$4();
1201
+ }
1202
+ break;
1203
+ case "nano-select":
1204
+ if (!customElements.get(tagName)) {
1205
+ defineCustomElement$3();
1206
+ }
1207
+ break;
1208
+ case "nano-sticker":
1209
+ if (!customElements.get(tagName)) {
1210
+ defineCustomElement$2();
1211
+ }
1212
+ break;
1213
+ } });
1214
+ }
1215
+
1216
+ const NanoGlobalNav = GlobalNav;
1217
+ const defineCustomElement = defineCustomElement$1;
1218
+
1219
+ export { NanoGlobalNav, defineCustomElement };
1220
+
1221
+ //# sourceMappingURL=nano-global-nav.js.map