@nanoporetech-digital/components 2.7.0 → 2.10.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 (543) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/cjs/{algoliasearch.umd-dcf18a4a.js → algoliasearch.umd-7ee60729.js} +3 -3
  3. package/dist/cjs/{algoliasearch.umd-dcf18a4a.js.map → algoliasearch.umd-7ee60729.js.map} +1 -1
  4. package/dist/cjs/{component-store-722032a5.js → component-store-19844199.js} +37 -25
  5. package/dist/cjs/component-store-19844199.js.map +1 -0
  6. package/dist/cjs/{form-control-8f530f7d.js → form-control-d54a847f.js} +26 -19
  7. package/dist/cjs/form-control-d54a847f.js.map +1 -0
  8. package/dist/cjs/index-cb62df44.js +5 -0
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
  11. package/dist/cjs/nano-algolia-input.cjs.entry.js +2 -2
  12. package/dist/cjs/nano-algolia.cjs.entry.js +2 -2
  13. package/dist/cjs/nano-checkbox-group.cjs.entry.js +58 -20
  14. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nano-checkbox.cjs.entry.js +27 -15
  16. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nano-components.cjs.js +1 -1
  18. package/dist/cjs/nano-datalist_3.cjs.entry.js +4 -3
  19. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-date-input.cjs.entry.js +17 -4
  21. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-dialog.cjs.entry.js +13 -2
  23. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-dropdown.cjs.entry.js +1 -1
  25. package/dist/cjs/nano-field-validator.cjs.entry.js +529 -0
  26. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -0
  27. package/dist/cjs/nano-file-upload.cjs.entry.js +59 -36
  28. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-global-nav.cjs.entry.js +46 -41
  30. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nano-input.cjs.entry.js +36 -20
  33. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nano-nav-item_2.cjs.entry.js +53 -23
  35. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +6 -4
  37. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-sticker.cjs.entry.js +2 -2
  39. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nano-tab-group.cjs.entry.js +1 -1
  41. package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
  42. package/dist/cjs/{popover-8c86d338.js → popover-5f152a19.js} +3 -8
  43. package/dist/cjs/{popover-8c86d338.js.map → popover-5f152a19.js.map} +1 -1
  44. package/dist/collection/collection-manifest.json +2 -1
  45. package/dist/collection/components/accordion/accordion.js +1 -1
  46. package/dist/collection/components/alert/alert.js +1 -1
  47. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  48. package/dist/collection/components/algolia/algolia-input.js +5 -5
  49. package/dist/collection/components/algolia/algolia-results.js +1 -1
  50. package/dist/collection/components/algolia/algolia.js +6 -6
  51. package/dist/collection/components/checkbox/checkbox-group.css +9 -6
  52. package/dist/collection/components/checkbox/checkbox-group.js +119 -25
  53. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  54. package/dist/collection/components/checkbox/checkbox.css +1 -1
  55. package/dist/collection/components/checkbox/checkbox.js +83 -22
  56. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  57. package/dist/collection/components/datalist/datalist.js +4 -2
  58. package/dist/collection/components/datalist/datalist.js.map +1 -1
  59. package/dist/collection/components/date-input/date-input.js +44 -12
  60. package/dist/collection/components/date-input/date-input.js.map +1 -1
  61. package/dist/collection/components/date-picker/date-picker.js +5 -5
  62. package/dist/collection/components/details/details.js +1 -1
  63. package/dist/collection/components/dialog/dialog.js +34 -1
  64. package/dist/collection/components/dialog/dialog.js.map +1 -1
  65. package/dist/collection/components/dropdown/dropdown.js +1 -1
  66. package/dist/collection/components/field-validator/field-validator.js +577 -0
  67. package/dist/collection/components/field-validator/field-validator.js.map +1 -0
  68. package/dist/collection/components/file-upload/file-upload.css +17 -5
  69. package/dist/collection/components/file-upload/file-upload.js +111 -44
  70. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  71. package/dist/collection/components/form-control/form-control.js +25 -18
  72. package/dist/collection/components/form-control/form-control.js.map +1 -1
  73. package/dist/collection/components/global-nav/global-nav.js +73 -45
  74. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  75. package/dist/collection/components/grid/grid-item.js +1 -1
  76. package/dist/collection/components/icon/icon.js +2 -2
  77. package/dist/collection/components/icon/icon.js.map +1 -1
  78. package/dist/collection/components/input/input.css +56 -5
  79. package/dist/collection/components/input/input.js +65 -29
  80. package/dist/collection/components/input/input.js.map +1 -1
  81. package/dist/collection/components/menu/menu.js +1 -2
  82. package/dist/collection/components/menu/menu.js.map +1 -1
  83. package/dist/collection/components/nav-item/nav-item.js +4 -4
  84. package/dist/collection/components/range/range.js +4 -4
  85. package/dist/collection/components/resize-observe/resize-observe.js +7 -6
  86. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  87. package/dist/collection/components/select/select.css +61 -7
  88. package/dist/collection/components/select/select.js +88 -32
  89. package/dist/collection/components/select/select.js.map +1 -1
  90. package/dist/collection/components/slides/slides.js +7 -7
  91. package/dist/collection/components/{sticky → sticker}/sticker.css +0 -0
  92. package/dist/collection/components/{sticky → sticker}/sticker.js +2 -2
  93. package/dist/collection/components/sticker/sticker.js.map +1 -0
  94. package/dist/collection/components/tabs/tab-group.js +2 -2
  95. package/dist/collection/utils/popover.js +2 -7
  96. package/dist/collection/utils/popover.js.map +1 -1
  97. package/dist/collection/utils/store/component-store.js +4 -13
  98. package/dist/collection/utils/store/component-store.js.map +1 -1
  99. package/dist/collection/utils/store/get-set.js +15 -1
  100. package/dist/collection/utils/store/get-set.js.map +1 -1
  101. package/dist/components/algoliasearch.umd.js +2 -2
  102. package/dist/components/algoliasearch.umd.js.map +1 -1
  103. package/dist/components/component-store.js +36 -24
  104. package/dist/components/component-store.js.map +1 -1
  105. package/dist/components/datalist.js +3 -1
  106. package/dist/components/datalist.js.map +1 -1
  107. package/dist/components/form-control.js +25 -18
  108. package/dist/components/form-control.js.map +1 -1
  109. package/dist/components/icon.js.map +1 -1
  110. package/dist/components/input.js +39 -21
  111. package/dist/components/input.js.map +1 -1
  112. package/dist/components/menu.js +1 -2
  113. package/dist/components/menu.js.map +1 -1
  114. package/dist/components/nano-checkbox-group.js +62 -21
  115. package/dist/components/nano-checkbox-group.js.map +1 -1
  116. package/dist/components/nano-checkbox.js +31 -17
  117. package/dist/components/nano-checkbox.js.map +1 -1
  118. package/dist/components/nano-date-input.js +18 -4
  119. package/dist/components/nano-date-input.js.map +1 -1
  120. package/dist/components/nano-dialog.js +13 -1
  121. package/dist/components/nano-dialog.js.map +1 -1
  122. package/dist/components/nano-field-validator.d.ts +11 -0
  123. package/dist/components/nano-field-validator.js +557 -0
  124. package/dist/components/nano-field-validator.js.map +1 -0
  125. package/dist/components/nano-file-upload.js +62 -37
  126. package/dist/components/nano-file-upload.js.map +1 -1
  127. package/dist/components/nano-global-nav.js +45 -39
  128. package/dist/components/nano-global-nav.js.map +1 -1
  129. package/dist/components/popover.js +2 -7
  130. package/dist/components/popover.js.map +1 -1
  131. package/dist/components/resize-observe.js +6 -4
  132. package/dist/components/resize-observe.js.map +1 -1
  133. package/dist/components/select.js +57 -24
  134. package/dist/components/select.js.map +1 -1
  135. package/dist/components/sticker.js +2 -2
  136. package/dist/components/sticker.js.map +1 -1
  137. package/dist/custom-elements/index.d.ts +6 -0
  138. package/dist/custom-elements/index.js +2606 -705
  139. package/dist/custom-elements/index.js.map +1 -1
  140. package/dist/esm/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
  141. package/dist/esm/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +1 -1
  142. package/dist/esm/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
  143. package/dist/esm/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
  144. package/dist/esm/{component-store-b6fbfa35.js → component-store-d238fee4.js} +38 -26
  145. package/dist/esm/component-store-d238fee4.js.map +1 -0
  146. package/dist/esm/{form-control-c52b6256.js → form-control-ad05507c.js} +27 -20
  147. package/dist/esm/form-control-ad05507c.js.map +1 -0
  148. package/dist/esm/{index-5f8d16e7.js → index-c42becad.js} +7 -2
  149. package/dist/esm/{index-5f8d16e7.js.map → index-c42becad.js.map} +1 -1
  150. package/dist/esm/loader.js +2 -2
  151. package/dist/esm/nano-accordion.entry.js +1 -1
  152. package/dist/esm/nano-alert.entry.js +1 -1
  153. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  154. package/dist/esm/nano-algolia-input.entry.js +4 -4
  155. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  156. package/dist/esm/nano-algolia-results.entry.js +2 -2
  157. package/dist/esm/nano-algolia.entry.js +4 -4
  158. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  159. package/dist/esm/nano-checkbox-group.entry.js +59 -21
  160. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  161. package/dist/esm/nano-checkbox.entry.js +28 -16
  162. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  163. package/dist/esm/nano-components.js +2 -2
  164. package/dist/esm/nano-datalist_3.entry.js +5 -4
  165. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  166. package/dist/esm/nano-date-input.entry.js +18 -5
  167. package/dist/esm/nano-date-input.entry.js.map +1 -1
  168. package/dist/esm/nano-date-picker.entry.js +1 -1
  169. package/dist/esm/nano-details.entry.js +1 -1
  170. package/dist/esm/nano-dialog.entry.js +14 -3
  171. package/dist/esm/nano-dialog.entry.js.map +1 -1
  172. package/dist/esm/nano-drawer.entry.js +1 -1
  173. package/dist/esm/nano-dropdown.entry.js +2 -2
  174. package/dist/esm/nano-field-validator.entry.js +525 -0
  175. package/dist/esm/nano-field-validator.entry.js.map +1 -0
  176. package/dist/esm/nano-file-upload.entry.js +60 -37
  177. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  178. package/dist/esm/nano-global-nav.entry.js +47 -42
  179. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  180. package/dist/esm/nano-global-search-results.entry.js +1 -1
  181. package/dist/esm/nano-grid_3.entry.js +1 -1
  182. package/dist/esm/nano-hero.entry.js +1 -1
  183. package/dist/esm/nano-icon-button.entry.js +1 -1
  184. package/dist/esm/nano-icon.entry.js +1 -1
  185. package/dist/esm/nano-icon.entry.js.map +1 -1
  186. package/dist/esm/nano-input.entry.js +38 -22
  187. package/dist/esm/nano-input.entry.js.map +1 -1
  188. package/dist/esm/nano-menu-drawer.entry.js +1 -1
  189. package/dist/esm/nano-nav-item_2.entry.js +55 -25
  190. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  191. package/dist/esm/nano-range.entry.js +1 -1
  192. package/dist/esm/nano-rating.entry.js +1 -1
  193. package/dist/esm/nano-resize-observe_2.entry.js +7 -5
  194. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  195. package/dist/esm/nano-slide.entry.js +1 -1
  196. package/dist/esm/nano-slides.entry.js +1 -1
  197. package/dist/esm/nano-spinner.entry.js +1 -1
  198. package/dist/esm/nano-split-pane.entry.js +1 -1
  199. package/dist/esm/nano-sticker.entry.js +3 -3
  200. package/dist/esm/nano-sticker.entry.js.map +1 -1
  201. package/dist/esm/nano-tab-content.entry.js +1 -1
  202. package/dist/esm/nano-tab-group.entry.js +2 -2
  203. package/dist/esm/nano-tab.entry.js +1 -1
  204. package/dist/esm/nano-tooltip.entry.js +2 -2
  205. package/dist/esm/{popover-7639005b.js → popover-a03563f3.js} +3 -8
  206. package/dist/esm/{popover-7639005b.js.map → popover-a03563f3.js.map} +1 -1
  207. package/dist/esm-es5/{algolia-data-dd72d1b7.js → algolia-data-80c1169a.js} +2 -2
  208. package/dist/esm-es5/{algolia-data-dd72d1b7.js.map → algolia-data-80c1169a.js.map} +0 -0
  209. package/dist/esm-es5/{algoliasearch.umd-6143495f.js → algoliasearch.umd-86359963.js} +3 -3
  210. package/dist/esm-es5/{algoliasearch.umd-6143495f.js.map → algoliasearch.umd-86359963.js.map} +1 -1
  211. package/dist/esm-es5/component-store-d238fee4.js +5 -0
  212. package/dist/esm-es5/component-store-d238fee4.js.map +1 -0
  213. package/dist/esm-es5/form-control-ad05507c.js +5 -0
  214. package/dist/esm-es5/form-control-ad05507c.js.map +1 -0
  215. package/dist/esm-es5/{index-5f8d16e7.js → index-c42becad.js} +2 -2
  216. package/dist/esm-es5/{index-5f8d16e7.js.map → index-c42becad.js.map} +0 -0
  217. package/dist/esm-es5/loader.js +1 -1
  218. package/dist/esm-es5/loader.js.map +1 -1
  219. package/dist/esm-es5/nano-accordion.entry.js +1 -1
  220. package/dist/esm-es5/nano-alert.entry.js +1 -1
  221. package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
  222. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  223. package/dist/esm-es5/nano-algolia-pagination.entry.js +1 -1
  224. package/dist/esm-es5/nano-algolia-results.entry.js +1 -1
  225. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  226. package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
  227. package/dist/esm-es5/nano-checkbox-group.entry.js +2 -2
  228. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  229. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  230. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  231. package/dist/esm-es5/nano-components.js +1 -1
  232. package/dist/esm-es5/nano-components.js.map +1 -1
  233. package/dist/esm-es5/nano-datalist_3.entry.js +1 -1
  234. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
  235. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  236. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  237. package/dist/esm-es5/nano-date-picker.entry.js +1 -1
  238. package/dist/esm-es5/nano-details.entry.js +1 -1
  239. package/dist/esm-es5/nano-dialog.entry.js +1 -1
  240. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  241. package/dist/esm-es5/nano-drawer.entry.js +1 -1
  242. package/dist/esm-es5/nano-dropdown.entry.js +1 -1
  243. package/dist/esm-es5/nano-field-validator.entry.js +5 -0
  244. package/dist/esm-es5/nano-field-validator.entry.js.map +1 -0
  245. package/dist/esm-es5/nano-file-upload.entry.js +2 -2
  246. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  247. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  248. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  249. package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
  250. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  251. package/dist/esm-es5/nano-hero.entry.js +1 -1
  252. package/dist/esm-es5/nano-icon-button.entry.js +1 -1
  253. package/dist/esm-es5/nano-icon.entry.js +1 -1
  254. package/dist/esm-es5/nano-icon.entry.js.map +1 -1
  255. package/dist/esm-es5/nano-input.entry.js +1 -1
  256. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  257. package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
  258. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  259. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  260. package/dist/esm-es5/nano-range.entry.js +1 -1
  261. package/dist/esm-es5/nano-rating.entry.js +1 -1
  262. package/dist/esm-es5/nano-resize-observe_2.entry.js +2 -2
  263. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  264. package/dist/esm-es5/nano-slide.entry.js +1 -1
  265. package/dist/esm-es5/nano-slides.entry.js +1 -1
  266. package/dist/esm-es5/nano-spinner.entry.js +1 -1
  267. package/dist/esm-es5/nano-split-pane.entry.js +1 -1
  268. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  269. package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
  270. package/dist/esm-es5/nano-tab-content.entry.js +1 -1
  271. package/dist/esm-es5/nano-tab-group.entry.js +1 -1
  272. package/dist/esm-es5/nano-tab.entry.js +2 -2
  273. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  274. package/dist/esm-es5/{popover-7639005b.js → popover-a03563f3.js} +2 -2
  275. package/dist/esm-es5/popover-a03563f3.js.map +1 -0
  276. package/dist/nano-components/nano-components.css +1 -1
  277. package/dist/nano-components/nano-components.esm.js +1 -1
  278. package/dist/nano-components/nano-components.esm.js.map +1 -1
  279. package/dist/nano-components/nano-components.js +1 -1
  280. package/dist/nano-components/p-00eaa36a.entry.js +5 -0
  281. package/dist/nano-components/p-00eaa36a.entry.js.map +1 -0
  282. package/dist/nano-components/{p-4429caac.system.entry.js → p-0c6c2141.system.entry.js} +2 -2
  283. package/dist/nano-components/{p-4429caac.system.entry.js.map → p-0c6c2141.system.entry.js.map} +0 -0
  284. package/dist/nano-components/{p-7232c046.system.entry.js → p-0d0dfc06.system.entry.js} +2 -2
  285. package/dist/nano-components/{p-7232c046.system.entry.js.map → p-0d0dfc06.system.entry.js.map} +0 -0
  286. package/dist/nano-components/{p-e562bffd.entry.js → p-0e2e3f4a.entry.js} +2 -2
  287. package/dist/nano-components/{p-e562bffd.entry.js.map → p-0e2e3f4a.entry.js.map} +0 -0
  288. package/dist/nano-components/{p-56ba0d63.entry.js → p-1030797a.entry.js} +2 -2
  289. package/dist/nano-components/{p-56ba0d63.entry.js.map → p-1030797a.entry.js.map} +0 -0
  290. package/dist/nano-components/p-11451a4b.system.entry.js +5 -0
  291. package/dist/nano-components/p-11451a4b.system.entry.js.map +1 -0
  292. package/dist/nano-components/p-129e2b4b.system.js +5 -0
  293. package/dist/nano-components/p-129e2b4b.system.js.map +1 -0
  294. package/dist/nano-components/{p-c0ddb4c3.entry.js → p-166ade3e.entry.js} +2 -2
  295. package/dist/nano-components/{p-c0ddb4c3.entry.js.map → p-166ade3e.entry.js.map} +0 -0
  296. package/dist/nano-components/{p-5653961d.system.entry.js → p-1a30dfdd.system.entry.js} +2 -2
  297. package/dist/nano-components/p-1a30dfdd.system.entry.js.map +1 -0
  298. package/dist/nano-components/p-1b120f53.entry.js +5 -0
  299. package/dist/nano-components/p-1b120f53.entry.js.map +1 -0
  300. package/dist/nano-components/{p-7d351076.system.entry.js → p-21af2a5e.system.entry.js} +2 -2
  301. package/dist/nano-components/{p-7d351076.system.entry.js.map → p-21af2a5e.system.entry.js.map} +0 -0
  302. package/dist/nano-components/{p-346588cc.entry.js → p-222d8095.entry.js} +2 -2
  303. package/dist/nano-components/{p-346588cc.entry.js.map → p-222d8095.entry.js.map} +0 -0
  304. package/dist/nano-components/p-241d90eb.system.entry.js +5 -0
  305. package/dist/nano-components/p-241d90eb.system.entry.js.map +1 -0
  306. package/dist/nano-components/{p-040b6cda.entry.js → p-2649fc8e.entry.js} +2 -2
  307. package/dist/nano-components/{p-040b6cda.entry.js.map → p-2649fc8e.entry.js.map} +0 -0
  308. package/dist/nano-components/{p-3456db01.entry.js → p-27efac97.entry.js} +2 -2
  309. package/dist/nano-components/{p-3456db01.entry.js.map → p-27efac97.entry.js.map} +0 -0
  310. package/dist/nano-components/{p-462ad4f1.entry.js → p-2c8d7273.entry.js} +2 -2
  311. package/dist/nano-components/{p-462ad4f1.entry.js.map → p-2c8d7273.entry.js.map} +0 -0
  312. package/dist/nano-components/{p-2e6c55e2.entry.js → p-2d53d1a0.entry.js} +2 -2
  313. package/dist/nano-components/{p-2e6c55e2.entry.js.map → p-2d53d1a0.entry.js.map} +0 -0
  314. package/dist/nano-components/{p-1f99d776.entry.js → p-3093915f.entry.js} +2 -2
  315. package/dist/nano-components/{p-1f99d776.entry.js.map → p-3093915f.entry.js.map} +0 -0
  316. package/dist/nano-components/{p-8a8f893b.system.entry.js → p-316f83a9.system.entry.js} +2 -2
  317. package/dist/nano-components/{p-8a8f893b.system.entry.js.map → p-316f83a9.system.entry.js.map} +0 -0
  318. package/dist/nano-components/{p-7246bef5.entry.js → p-325c1cad.entry.js} +2 -2
  319. package/dist/nano-components/{p-7246bef5.entry.js.map → p-325c1cad.entry.js.map} +0 -0
  320. package/dist/nano-components/{p-ec39b143.system.entry.js → p-32f396c0.system.entry.js} +2 -2
  321. package/dist/nano-components/{p-ec39b143.system.entry.js.map → p-32f396c0.system.entry.js.map} +0 -0
  322. package/dist/nano-components/p-32f4516e.js +5 -0
  323. package/dist/nano-components/p-32f4516e.js.map +1 -0
  324. package/dist/nano-components/{p-43543d18.entry.js → p-333237e8.entry.js} +2 -2
  325. package/dist/nano-components/{p-43543d18.entry.js.map → p-333237e8.entry.js.map} +0 -0
  326. package/dist/nano-components/{p-e7fdc62d.entry.js → p-35108e08.entry.js} +2 -2
  327. package/dist/nano-components/{p-e7fdc62d.entry.js.map → p-35108e08.entry.js.map} +0 -0
  328. package/dist/nano-components/{p-a898bf92.system.entry.js → p-379e21d9.system.entry.js} +2 -2
  329. package/dist/nano-components/{p-a898bf92.system.entry.js.map → p-379e21d9.system.entry.js.map} +0 -0
  330. package/dist/nano-components/{p-3ad1d5aa.system.entry.js → p-39d36fd1.system.entry.js} +2 -2
  331. package/dist/nano-components/{p-3ad1d5aa.system.entry.js.map → p-39d36fd1.system.entry.js.map} +0 -0
  332. package/dist/nano-components/{p-41a2e2e4.system.js → p-3a00de47.system.js} +2 -2
  333. package/dist/nano-components/{p-41a2e2e4.system.js.map → p-3a00de47.system.js.map} +0 -0
  334. package/dist/nano-components/{p-6afdb510.system.entry.js → p-3ccb176c.system.entry.js} +2 -2
  335. package/dist/nano-components/{p-6afdb510.system.entry.js.map → p-3ccb176c.system.entry.js.map} +0 -0
  336. package/dist/nano-components/{p-178c34e3.js → p-3de7735c.js} +2 -2
  337. package/dist/nano-components/p-3de7735c.js.map +1 -0
  338. package/dist/nano-components/{p-08b43111.entry.js → p-3e930ac7.entry.js} +2 -2
  339. package/dist/nano-components/{p-08b43111.entry.js.map → p-3e930ac7.entry.js.map} +0 -0
  340. package/dist/nano-components/{p-d8d8bac6.system.entry.js → p-42cebbfe.system.entry.js} +2 -2
  341. package/dist/nano-components/{p-d8d8bac6.system.entry.js.map → p-42cebbfe.system.entry.js.map} +0 -0
  342. package/dist/nano-components/p-45070c8f.entry.js +5 -0
  343. package/dist/nano-components/p-45070c8f.entry.js.map +1 -0
  344. package/dist/nano-components/{p-3ef30ded.system.entry.js → p-48874481.system.entry.js} +2 -2
  345. package/dist/nano-components/{p-3ef30ded.system.entry.js.map → p-48874481.system.entry.js.map} +0 -0
  346. package/dist/nano-components/{p-08ffc9a1.entry.js → p-4e2c0abb.entry.js} +2 -2
  347. package/dist/nano-components/{p-08ffc9a1.entry.js.map → p-4e2c0abb.entry.js.map} +0 -0
  348. package/dist/nano-components/{p-090f22a9.system.entry.js → p-5100ae70.system.entry.js} +2 -2
  349. package/dist/nano-components/{p-090f22a9.system.entry.js.map → p-5100ae70.system.entry.js.map} +0 -0
  350. package/dist/nano-components/{p-593de29b.system.entry.js → p-52769304.system.entry.js} +2 -2
  351. package/dist/nano-components/{p-593de29b.system.entry.js.map → p-52769304.system.entry.js.map} +0 -0
  352. package/dist/nano-components/{p-8278c5d2.system.entry.js → p-56f86047.system.entry.js} +2 -2
  353. package/dist/nano-components/{p-8278c5d2.system.entry.js.map → p-56f86047.system.entry.js.map} +0 -0
  354. package/dist/nano-components/{p-3c475740.system.entry.js → p-5b66bb8f.system.entry.js} +2 -2
  355. package/dist/nano-components/p-5b66bb8f.system.entry.js.map +1 -0
  356. package/dist/nano-components/{p-033296c7.system.entry.js → p-5d17cfbb.system.entry.js} +2 -2
  357. package/dist/nano-components/{p-033296c7.system.entry.js.map → p-5d17cfbb.system.entry.js.map} +0 -0
  358. package/dist/nano-components/{p-88f17c86.system.entry.js → p-5d5ea4ab.system.entry.js} +2 -2
  359. package/dist/nano-components/{p-88f17c86.system.entry.js.map → p-5d5ea4ab.system.entry.js.map} +0 -0
  360. package/dist/nano-components/{p-20387cde.system.entry.js → p-6b4dd158.system.entry.js} +2 -2
  361. package/dist/nano-components/{p-20387cde.system.entry.js.map → p-6b4dd158.system.entry.js.map} +0 -0
  362. package/dist/nano-components/{p-d24811c8.system.js → p-6b5760b1.system.js} +3 -3
  363. package/dist/nano-components/{p-d24811c8.system.js.map → p-6b5760b1.system.js.map} +1 -1
  364. package/dist/nano-components/p-6d138abf.entry.js +5 -0
  365. package/dist/nano-components/p-6d138abf.entry.js.map +1 -0
  366. package/dist/nano-components/{p-5066e563.system.entry.js → p-6dad332b.system.entry.js} +2 -2
  367. package/dist/nano-components/{p-5066e563.system.entry.js.map → p-6dad332b.system.entry.js.map} +0 -0
  368. package/dist/nano-components/{p-730f60ea.entry.js → p-6ddb51e4.entry.js} +2 -2
  369. package/dist/nano-components/p-6ddb51e4.entry.js.map +1 -0
  370. package/dist/nano-components/p-71bbb7ba.entry.js +5 -0
  371. package/dist/nano-components/p-71bbb7ba.entry.js.map +1 -0
  372. package/dist/nano-components/p-71e9fa33.js +5 -0
  373. package/dist/nano-components/p-71e9fa33.js.map +1 -0
  374. package/dist/nano-components/p-72ed603c.system.entry.js +5 -0
  375. package/dist/nano-components/p-72ed603c.system.entry.js.map +1 -0
  376. package/dist/nano-components/{p-c9d09839.entry.js → p-73985eda.entry.js} +2 -2
  377. package/dist/nano-components/{p-c9d09839.entry.js.map → p-73985eda.entry.js.map} +0 -0
  378. package/dist/nano-components/{p-58d7f10f.entry.js → p-76c903db.entry.js} +2 -2
  379. package/dist/nano-components/{p-58d7f10f.entry.js.map → p-76c903db.entry.js.map} +0 -0
  380. package/dist/nano-components/{p-3aa1d07d.entry.js → p-76d9d1d4.entry.js} +2 -2
  381. package/dist/nano-components/p-76d9d1d4.entry.js.map +1 -0
  382. package/dist/nano-components/{p-f53989c3.system.entry.js → p-7aa7425d.system.entry.js} +2 -2
  383. package/dist/nano-components/{p-f53989c3.system.entry.js.map → p-7aa7425d.system.entry.js.map} +1 -1
  384. package/dist/nano-components/{p-531d5275.system.entry.js → p-7ad4a27a.system.entry.js} +2 -2
  385. package/dist/nano-components/p-7ad4a27a.system.entry.js.map +1 -0
  386. package/dist/nano-components/{p-9acc4596.system.entry.js → p-7e55b214.system.entry.js} +3 -3
  387. package/dist/nano-components/{p-9acc4596.system.entry.js.map → p-7e55b214.system.entry.js.map} +0 -0
  388. package/dist/nano-components/{p-62ecd3a1.system.entry.js → p-7f1374b6.system.entry.js} +2 -2
  389. package/dist/nano-components/{p-62ecd3a1.system.entry.js.map → p-7f1374b6.system.entry.js.map} +0 -0
  390. package/dist/nano-components/{p-1e974cad.entry.js → p-7fe9d769.entry.js} +2 -2
  391. package/dist/nano-components/{p-1e974cad.entry.js.map → p-7fe9d769.entry.js.map} +0 -0
  392. package/dist/nano-components/p-85c8b070.system.entry.js +5 -0
  393. package/dist/nano-components/p-85c8b070.system.entry.js.map +1 -0
  394. package/dist/nano-components/{p-f2e7d2f9.system.entry.js → p-88779174.system.entry.js} +2 -2
  395. package/dist/nano-components/{p-f2e7d2f9.system.entry.js.map → p-88779174.system.entry.js.map} +0 -0
  396. package/dist/nano-components/{p-4535e3bb.entry.js → p-8b6fcd6d.entry.js} +2 -2
  397. package/dist/nano-components/{p-4535e3bb.entry.js.map → p-8b6fcd6d.entry.js.map} +0 -0
  398. package/dist/nano-components/{p-6ade3290.entry.js → p-8eb4f24a.entry.js} +2 -2
  399. package/dist/nano-components/{p-6ade3290.entry.js.map → p-8eb4f24a.entry.js.map} +0 -0
  400. package/dist/nano-components/{p-07bdf44d.entry.js → p-8fe2f846.entry.js} +2 -2
  401. package/dist/nano-components/{p-07bdf44d.entry.js.map → p-8fe2f846.entry.js.map} +0 -0
  402. package/dist/nano-components/p-96150b2c.system.entry.js +5 -0
  403. package/dist/nano-components/p-96150b2c.system.entry.js.map +1 -0
  404. package/dist/nano-components/{p-bcd69559.entry.js → p-97b13ad2.entry.js} +2 -2
  405. package/dist/nano-components/{p-bcd69559.entry.js.map → p-97b13ad2.entry.js.map} +0 -0
  406. package/dist/nano-components/{p-c9c1a345.system.entry.js → p-a02cc654.system.entry.js} +2 -2
  407. package/dist/nano-components/{p-c9c1a345.system.entry.js.map → p-a02cc654.system.entry.js.map} +0 -0
  408. package/dist/nano-components/{p-a77e3fbb.js → p-a0b93616.js} +3 -3
  409. package/dist/nano-components/{p-a77e3fbb.js.map → p-a0b93616.js.map} +1 -1
  410. package/dist/nano-components/p-a4969844.entry.js +5 -0
  411. package/dist/nano-components/p-a4969844.entry.js.map +1 -0
  412. package/dist/nano-components/{p-70dec19f.entry.js → p-a6327a9a.entry.js} +2 -2
  413. package/dist/nano-components/{p-70dec19f.entry.js.map → p-a6327a9a.entry.js.map} +0 -0
  414. package/dist/nano-components/p-a81db037.entry.js +5 -0
  415. package/dist/nano-components/p-a81db037.entry.js.map +1 -0
  416. package/dist/nano-components/{p-a315ed2c.entry.js → p-a9a4fc3e.entry.js} +2 -2
  417. package/dist/nano-components/{p-a315ed2c.entry.js.map → p-a9a4fc3e.entry.js.map} +1 -1
  418. package/dist/nano-components/{p-98222c39.system.entry.js → p-ab07c1fa.system.entry.js} +2 -2
  419. package/dist/nano-components/{p-98222c39.system.entry.js.map → p-ab07c1fa.system.entry.js.map} +0 -0
  420. package/dist/nano-components/{p-ab5813a7.js → p-b5c33aff.js} +2 -2
  421. package/dist/nano-components/{p-ab5813a7.js.map → p-b5c33aff.js.map} +0 -0
  422. package/dist/nano-components/p-bc394857.system.entry.js +5 -0
  423. package/dist/nano-components/p-bc394857.system.entry.js.map +1 -0
  424. package/dist/nano-components/{p-ee3fe567.entry.js → p-bce998f2.entry.js} +2 -2
  425. package/dist/nano-components/p-bce998f2.entry.js.map +1 -0
  426. package/dist/nano-components/{p-92f85aaf.system.entry.js → p-bf9aa89d.system.entry.js} +2 -2
  427. package/dist/nano-components/{p-92f85aaf.system.entry.js.map → p-bf9aa89d.system.entry.js.map} +0 -0
  428. package/dist/nano-components/p-c070ffd3.system.entry.js +5 -0
  429. package/dist/nano-components/p-c070ffd3.system.entry.js.map +1 -0
  430. package/dist/nano-components/{p-50514e5e.entry.js → p-c4156fea.entry.js} +2 -2
  431. package/dist/nano-components/{p-50514e5e.entry.js.map → p-c4156fea.entry.js.map} +0 -0
  432. package/dist/nano-components/p-c9a2d24c.entry.js +5 -0
  433. package/dist/nano-components/p-c9a2d24c.entry.js.map +1 -0
  434. package/dist/nano-components/p-d01bd3c3.system.js +5 -0
  435. package/dist/nano-components/p-d01bd3c3.system.js.map +1 -0
  436. package/dist/nano-components/{p-1238f0fc.system.entry.js → p-d0385948.system.entry.js} +2 -2
  437. package/dist/nano-components/{p-1238f0fc.system.entry.js.map → p-d0385948.system.entry.js.map} +0 -0
  438. package/dist/nano-components/{p-b59d2bd5.entry.js → p-d122b1ff.entry.js} +2 -2
  439. package/dist/nano-components/{p-b59d2bd5.entry.js.map → p-d122b1ff.entry.js.map} +0 -0
  440. package/dist/nano-components/{p-394c3c19.entry.js → p-defd4552.entry.js} +2 -2
  441. package/dist/nano-components/{p-394c3c19.entry.js.map → p-defd4552.entry.js.map} +0 -0
  442. package/dist/nano-components/{p-9745d44e.system.js → p-e43ec257.system.js} +2 -2
  443. package/dist/nano-components/p-e43ec257.system.js.map +1 -0
  444. package/dist/nano-components/p-e7140887.system.js +5 -0
  445. package/dist/nano-components/p-e7140887.system.js.map +1 -0
  446. package/dist/nano-components/{p-69439aa1.system.entry.js → p-e817ab4a.system.entry.js} +2 -2
  447. package/dist/nano-components/{p-69439aa1.system.entry.js.map → p-e817ab4a.system.entry.js.map} +0 -0
  448. package/dist/nano-components/{p-22884654.system.entry.js → p-eacf5b5b.system.entry.js} +2 -2
  449. package/dist/nano-components/{p-22884654.system.entry.js.map → p-eacf5b5b.system.entry.js.map} +0 -0
  450. package/dist/nano-components/p-ed336501.entry.js +5 -0
  451. package/dist/nano-components/p-ed336501.entry.js.map +1 -0
  452. package/dist/nano-components/{p-5ae80fd7.js → p-ef7f1e9c.js} +2 -2
  453. package/dist/nano-components/{p-5ae80fd7.js.map → p-ef7f1e9c.js.map} +0 -0
  454. package/dist/nano-components/{p-59b3d24b.system.js → p-f48be9f5.system.js} +2 -2
  455. package/dist/nano-components/{p-59b3d24b.system.js.map → p-f48be9f5.system.js.map} +0 -0
  456. package/dist/nano-components/p-f710c763.system.entry.js +5 -0
  457. package/dist/nano-components/p-f710c763.system.entry.js.map +1 -0
  458. package/dist/nano-components/{p-65c10b3f.entry.js → p-fbe3c89e.entry.js} +2 -2
  459. package/dist/nano-components/{p-65c10b3f.entry.js.map → p-fbe3c89e.entry.js.map} +0 -0
  460. package/dist/nano-components/p-fc3702a0.system.entry.js +5 -0
  461. package/dist/nano-components/p-fc3702a0.system.entry.js.map +1 -0
  462. package/dist/nano-components/{p-ba13bb56.entry.js → p-ffc2063a.entry.js} +2 -2
  463. package/dist/nano-components/{p-ba13bb56.entry.js.map → p-ffc2063a.entry.js.map} +0 -0
  464. package/dist/nano-components/{p-383fda90.system.entry.js → p-fff27907.system.entry.js} +2 -2
  465. package/dist/nano-components/{p-383fda90.system.entry.js.map → p-fff27907.system.entry.js.map} +0 -0
  466. package/dist/types/components/checkbox/checkbox-group.d.ts +12 -1
  467. package/dist/types/components/checkbox/checkbox.d.ts +11 -3
  468. package/dist/types/components/date-input/date-input.d.ts +4 -0
  469. package/dist/types/components/dialog/dialog.d.ts +4 -1
  470. package/dist/types/components/field-validator/field-validator.d.ts +125 -0
  471. package/dist/types/components/file-upload/file-upload.d.ts +8 -0
  472. package/dist/types/components/form-control/form-control.d.ts +2 -0
  473. package/dist/types/components/global-nav/global-nav.d.ts +10 -3
  474. package/dist/types/components/icon/icon.d.ts +1 -1
  475. package/dist/types/components/input/input.d.ts +9 -1
  476. package/dist/types/components/resize-observe/resize-observe.d.ts +0 -1
  477. package/dist/types/components/select/select.d.ts +9 -1
  478. package/dist/types/components/{sticky → sticker}/sticker.d.ts +0 -0
  479. package/dist/types/components.d.ts +198 -7
  480. package/dist/types/utils/store/get-set.d.ts +1 -1
  481. package/docs-json.json +474 -18
  482. package/docs-vscode.json +83 -3
  483. package/package.json +3 -2
  484. package/dist/cjs/component-store-722032a5.js.map +0 -1
  485. package/dist/cjs/form-control-8f530f7d.js.map +0 -1
  486. package/dist/collection/components/sticky/sticker.js.map +0 -1
  487. package/dist/esm/component-store-b6fbfa35.js.map +0 -1
  488. package/dist/esm/form-control-c52b6256.js.map +0 -1
  489. package/dist/esm-es5/component-store-b6fbfa35.js +0 -5
  490. package/dist/esm-es5/component-store-b6fbfa35.js.map +0 -1
  491. package/dist/esm-es5/form-control-c52b6256.js +0 -5
  492. package/dist/esm-es5/form-control-c52b6256.js.map +0 -1
  493. package/dist/esm-es5/popover-7639005b.js.map +0 -1
  494. package/dist/nano-components/p-0618fac6.system.entry.js +0 -5
  495. package/dist/nano-components/p-0618fac6.system.entry.js.map +0 -1
  496. package/dist/nano-components/p-096682d9.system.js +0 -5
  497. package/dist/nano-components/p-096682d9.system.js.map +0 -1
  498. package/dist/nano-components/p-10a6216d.system.entry.js +0 -5
  499. package/dist/nano-components/p-10a6216d.system.entry.js.map +0 -1
  500. package/dist/nano-components/p-173bae15.system.entry.js +0 -5
  501. package/dist/nano-components/p-173bae15.system.entry.js.map +0 -1
  502. package/dist/nano-components/p-178c34e3.js.map +0 -1
  503. package/dist/nano-components/p-3aa1d07d.entry.js.map +0 -1
  504. package/dist/nano-components/p-3c475740.system.entry.js.map +0 -1
  505. package/dist/nano-components/p-4265cf95.system.entry.js +0 -5
  506. package/dist/nano-components/p-4265cf95.system.entry.js.map +0 -1
  507. package/dist/nano-components/p-4ee978ff.entry.js +0 -5
  508. package/dist/nano-components/p-4ee978ff.entry.js.map +0 -1
  509. package/dist/nano-components/p-531d5275.system.entry.js.map +0 -1
  510. package/dist/nano-components/p-5653961d.system.entry.js.map +0 -1
  511. package/dist/nano-components/p-5a0095f9.js +0 -5
  512. package/dist/nano-components/p-5a0095f9.js.map +0 -1
  513. package/dist/nano-components/p-5a315696.entry.js +0 -5
  514. package/dist/nano-components/p-5a315696.entry.js.map +0 -1
  515. package/dist/nano-components/p-5e7c7d3d.entry.js +0 -5
  516. package/dist/nano-components/p-5e7c7d3d.entry.js.map +0 -1
  517. package/dist/nano-components/p-730f60ea.entry.js.map +0 -1
  518. package/dist/nano-components/p-802e1416.system.entry.js +0 -5
  519. package/dist/nano-components/p-802e1416.system.entry.js.map +0 -1
  520. package/dist/nano-components/p-820d9e23.system.entry.js +0 -5
  521. package/dist/nano-components/p-820d9e23.system.entry.js.map +0 -1
  522. package/dist/nano-components/p-829d7f05.system.entry.js +0 -5
  523. package/dist/nano-components/p-829d7f05.system.entry.js.map +0 -1
  524. package/dist/nano-components/p-894d6967.entry.js +0 -5
  525. package/dist/nano-components/p-894d6967.entry.js.map +0 -1
  526. package/dist/nano-components/p-8e5afc61.system.entry.js +0 -5
  527. package/dist/nano-components/p-8e5afc61.system.entry.js.map +0 -1
  528. package/dist/nano-components/p-9745d44e.system.js.map +0 -1
  529. package/dist/nano-components/p-9d35768b.entry.js +0 -5
  530. package/dist/nano-components/p-9d35768b.entry.js.map +0 -1
  531. package/dist/nano-components/p-aaef7cc7.js +0 -5
  532. package/dist/nano-components/p-aaef7cc7.js.map +0 -1
  533. package/dist/nano-components/p-af7abf5e.entry.js +0 -5
  534. package/dist/nano-components/p-af7abf5e.entry.js.map +0 -1
  535. package/dist/nano-components/p-df0897ec.system.js +0 -5
  536. package/dist/nano-components/p-df0897ec.system.js.map +0 -1
  537. package/dist/nano-components/p-e1f46998.system.js +0 -5
  538. package/dist/nano-components/p-e1f46998.system.js.map +0 -1
  539. package/dist/nano-components/p-e7c69d4f.entry.js +0 -5
  540. package/dist/nano-components/p-e7c69d4f.entry.js.map +0 -1
  541. package/dist/nano-components/p-ee3fe567.entry.js.map +0 -1
  542. package/dist/nano-components/p-f3bf942d.entry.js +0 -5
  543. package/dist/nano-components/p-f3bf942d.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/utils/fetch.ts","src/components/global-nav/global-nav.scss?tag=nano-global-nav&encapsulation=shadow","src/components/global-nav/global-nav.tsx"],"names":["async","clientFetch","url","_a","body","customConfig","__rest","headers","Accept","Access-Control-Allow-Origin","Content-Type","Cache","config","Object","assign","method","credentials","keepalive","mode","JSON","stringify","id","setTimeout","window","AbortController","controller","timeout","abort","signal","response","fetch","clearTimeout","ok","json","errorMessage","text","Error","globalNavCss","THRESHOLDBREAKS","search","about","main","login","icon","GlobalNav","[object Object]","hostRef","this","currSize","thresholdsGoingUp","THRESHOLDLIMIT","keys","length","autocompleteEles","currAIndex","isLoggedIn","myAccData","aboutNavItms","siteNavItms","loggedInNavItms","hasLoggedinSlot","hasSiteSlot","hasPromotionSlot","aboutSlotLen","iconSlotLen","mainSlotLen","overflowSlotLen","searchSlotLen","internalSearchIndeces","thresholdReady","remoteDataReady","ready","isResizing","threshold","modalOpen","modalIsOpen","searchBarShown","scrollingUp","searchLoading","showAutocomplete","secondaryMenuOpen","userMenuOpen","menuFullScreen","searchValInternal","env","ssoRedirect","encodeURIComponent","location","href","getMyAccountData","activeMyAccountSections","showSearch","showLogo","logoUrl","protocol","host","searchIndeces","myAccountUser","searchValue","searchIndex","cartCount","msgCount","cartUrl","msgUrl","setResizingState","state","debounceSetResizingState","debounce","onMenuBtnKeyDown","ev","key","menuClose","menuOpen","onMenuBtnClick","e","preventDefault","menuDiv","style","display","menuWrapDiv","addEventListener","focus","preventScroll","scrollHeight","innerHeight","document","overflow","overflowX","onMenuHidden","removeEventListener","activeElement","menuBtn","mainBarDiv","force","relatedTarget","closestElement","closest","subMenuClose","target","open","onUserBtnClick","onUserBtnKeyDown","onUserMenuBlur","onSearchBtnClick","searchbarShow","searchbarHide","onSearchBtnKeyDown","onSearchBarShown","searchBarEl","searchInput","setFocus","onSearchBarHidden","height","onSearchInput","value","isSearchValSet","detail","type","onSearchChange","autocompleteResults","nanoSearchReset","emit","currentIndex","currentSelectedIndex","processSearchResults","alogliaIndex","attributesToSnippet","hitsPerPage","filters","Math","floor","Date","now","console","error","scopeSearch","onSearchSubmit","showAutocompleteResults","algoliaSearchResults","queries","map","index","indexName","query","facets","algoliaClient","multipleQueries","nanoSearchError","results","result","i","name","selected","domain","domains","allGroup","nanoSearchResult","client","apiKey","searchApiKey","appId","searchAppId","onSearchIndexChange","indexStr","selectedIndex","find","switchIndexSubmit","onAutocompleteBlur","hits","onAutocompleteInteract","testIndex","el","shadowRoot","found","ele","setActiveElement","click","ssoDataUrl","__sc_import_nano_components","user","processMyAccLinks","processMyAccData","foundIndex","algoliasearch","addAlgoliaIndeces","forEach","initIndex","newThreshold","oldThreshold","intersectRatio","ratioChange","siteContent","minHeight","barsDiv","clientHeight","menuItems","barItems","readTask","Array","from","querySelectorAll","push","writeTask","item","classList","add","remove","attachIO","nanoIsReady","classes","innerWidth","secondaryMenu","stopPropagation","menuContentDiv","displayTransition","userLinkPanel","querySelector","hit","lookFor","_snippetResult","prop","matchLevel","title","substring","autocompleteEle","setAttribute","io","root","IntersectionObserver","data","slice","intersectionRatio","observe","debounceResize","onWindowResize","bind","initAlgoliaClient","ComponentStore","init","MutationObserver","mo","assessSlottedContent","childList","subtree","disconnect","undefined","getMyAccData","content","currentScopeHits","scopeChangeSuggestions","scopeSuggestReducer","total","currentSuggestReducer","reduce","scopeSuggestions","h","class","role","ref","a","tabindex","innerHTML","autocompleteSnippet","button","onClick","onMouseDown","aria-expanded","hidden","onKeyDown","onSubmit","label","hideLabel","showInlineError","onNanoChange","mask","slot","aria-label","clear-input","placeholder","input","onNanoInput","aria-autocomplete","aria-activedescendant","aria-controls","onNanoFocus","search-icon","search-icon--search","search-icon--show","search-icon--loader","isRtl","ownerDocument","dir","searchWidget","autocompleteList","Host","thresholdClasses","join","search-bar-shown","search-auto-complete-shown","modal-open","resizing","global-nav","scrolling-down","gn-menu","has-promotion","menu-full-screen","secondary-open","div","includes","urls","link","address","forgot_password","logout","auto-resize","break-point-max","quietMode","w","btn","src","getAssetPath","alt","aria-owns","icon-btn","user-links-btn","search-bar","show","onTouchEnd","origin","dm","multiResults","singleResult","match","domainFor","indeces","api_key","app_id","cart","count","notifications","messages","links","area"],"mappings":"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","sourcesContent":["interface FetchInputConfig {\n body?: { [prop: string]: string };\n headers?: { [prop: string]: string };\n [prop: string]: any;\n}\n\nexport async function clientFetch(\n url: string,\n { body, ...customConfig }: FetchInputConfig = {}\n) {\n const headers: { [prop: string]: string } = {\n Accept: 'application/json, text/plain, */*',\n 'Access-Control-Allow-Origin': '*',\n 'Content-Type': 'application/json',\n Cache: 'no-cache',\n };\n const config: RequestInit = {\n method: body ? 'POST' : 'GET',\n credentials: 'include',\n keepalive: true,\n mode: 'cors',\n ...customConfig,\n headers: {\n ...headers,\n ...customConfig.headers,\n },\n };\n if (body) {\n config.body = JSON.stringify(body);\n }\n\n let id = setTimeout(() => {}, 0);\n if (window.AbortController) {\n const controller = new AbortController();\n const { timeout = 500 } = customConfig;\n id = setTimeout(() => controller.abort(), timeout);\n config.signal = controller.signal;\n }\n\n const response = await fetch(url, config);\n clearTimeout(id);\n\n if (response.ok) {\n return await response.json();\n } else {\n const errorMessage = await response.text();\n return new Error(errorMessage);\n }\n}\n","@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/colours';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --padding: padding used for many elements. Defaults to '12px 0'.\n * @prop --padding-top: top padding used for many elements. Defaults to --padding.\n * @prop --padding-bottom: bottom padding used for many elements. Defaults to --padding.\n * @prop --padding-end: end (left on l2r / right on r2l) padding used for many elements. Defaulst to --padding.\n * @prop --padding-start: start (right on l2r / left on r2l) padding used for many elements. Defaults to --padding.\n * @prop --bar-background: Background of the bar element. Defaults to rgb(17, 85, 113).\n * @prop --bar-text-color: Text color within the bar element. Defaults to white.\n * @prop --bar-color-shade: Color variant used within the bar element. Defaults to rgb(40, 110, 133).\n * @prop --bar-color-tint: Color variant used within the bar element. Defaults to rgb(88, 140, 161).\n * @prop --bar-color-focus: Focus color of the form element within search. Defaults to #90c6e7;\n * @prop --bar-color-focus: Focus color of the form element within search. Defaults to #90c6e7;\n * @prop --menu-background: Background 'burger', menu element. Defaults to #001a21;\n * @prop --menu-text-color: Text color 'burger', menu element. Defaults to white;\n */\n --padding: 12px;\n --padding-top: var(--padding);\n --padding-end: var(--padding);\n --padding-bottom: var(--padding);\n --padding-start: var(--padding);\n --bar-background: #005c75;\n --bar-text-color: white;\n --bar-color-shade: rgb(19, 89, 111);\n --bar-color-tint: rgb(19, 89, 111);\n --bar-color-focus: #90c6e7;\n --menu-background: #001a21;\n --menu-text-color: white;\n --menu-dropdown-bg: #196c82;\n --menu-dropdown-color: white;\n\n display: block;\n position: relative;\n line-height: 1.5;\n height: 100%;\n\n * {\n box-sizing: inherit;\n }\n}\n\n// Common\n.global-nav {\n @include text-inherit();\n\n font-size: 0.88em;\n z-index: #{$layer-index-menubar};\n\n button {\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n }\n\n .icon-btn {\n position: relative;\n background: none;\n color: inherit;\n border: none;\n align-self: normal;\n padding: 9px 7px;\n cursor: pointer;\n display: flex;\n align-items: center;\n\n nano-icon {\n width: 18px;\n height: 18px;\n }\n }\n\n ::slotted(nano-nav-item[slot='icon']) {\n --padding-top: 9px;\n --padding-bottom: 9px;\n --padding-start: 7px;\n --padding-end: 7px;\n --display: flex;\n\n font-size: 18px;\n }\n\n a {\n color: inherit;\n text-decoration: none;\n white-space: nowrap;\n }\n\n .nav-links {\n &_title {\n margin: 8px 0 3px;\n }\n\n ul {\n margin: 0;\n padding: 0;\n }\n\n li {\n list-style: none;\n }\n }\n\n .login-btn {\n display: flex;\n align-items: center;\n font-size: 0.94em;\n }\n\n .menu-btn {\n padding: 9px var(--padding) 9px var(--padding);\n }\n}\n\n// Popup / Slideout Menu\n.gn-menu {\n position: fixed;\n top: 0;\n left: 0;\n z-index: -1;\n display: none;\n transition: z-index 0.01s ease 0.2s;\n height: 100vh;\n width: 100vw;\n overflow-y: auto;\n\n @include rtl-host() {\n left: auto;\n right: 0;\n }\n\n :host(.threshold-2) & {\n position: absolute;\n width: calc(100vw - 20px);\n }\n\n &.menu-full-screen {\n width: 100vw !important;\n }\n\n // &.secondary-open {\n // overflow-y: hidden;\n // }\n\n &_wrap {\n max-width: 92vw;\n width: 335px;\n background: var(--menu-background);\n color: var(--menu-text-color);\n padding: var(--padding) 0;\n box-shadow: 0 0 36px 0 rgba(0, 0, 0, 0.8);\n position: relative;\n pointer-events: all;\n margin-bottom: 36px;\n opacity: 0;\n outline: none;\n transition: transform 0.2s ease, opacity 0.2s ease;\n\n &.has-promotion {\n padding: var(--padding) 0 0;\n }\n }\n\n &.open {\n z-index: #{$layer-index-dropdown};\n transition: z-index 0.01s ease;\n\n .gn-menu_wrap {\n opacity: 1;\n transform: translate3d(0, 0, 0) !important;\n transition: transform 0.2s ease 0.01s, opacity 0.2s ease 0.01s;\n }\n }\n\n &_actions {\n @include padding(null, calc(var(--padding) / 2), null, null);\n\n display: flex;\n justify-content: space-between;\n\n &-counter {\n background: #d0021b;\n color: #fff;\n position: absolute;\n bottom: 4px;\n right: 0;\n left: auto;\n font-size: 9px;\n height: 14px;\n line-height: 14px;\n width: auto;\n min-width: 14px;\n border-radius: 50%;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n text-align: center;\n text-indent: 0;\n }\n }\n\n .content {\n &-wrap {\n position: relative;\n overflow: hidden;\n transition: 0.2s ease min-height;\n min-height: 190px;\n }\n\n &--sub {\n padding: var(--padding) 0 var(--padding) 7px;\n }\n }\n\n .menu-btn {\n @include margin(null, auto, null, null);\n }\n\n .nav-links {\n display: flex;\n flex-wrap: wrap;\n\n ::slotted(nano-nav-item),\n nano-nav-item {\n --icon-size: 14px;\n --display: inline-block;\n --secondary-bg-color: #001a21;\n --padding-top: 10px;\n --padding-bottom: 10px;\n --padding-end: calc(var(--padding) * 2);\n --padding-start: calc(var(--padding) + 3px);\n --color: white;\n --color-hover: #{map.get($colors, lightblue)};\n --bg-color-hover: transparent;\n --bg-color-focus: #002530;\n --focus-outline: none;\n\n font-size: 0.99em;\n width: 100%;\n // margin: 0 0;\n }\n\n .user-nav {\n --bg-color: #193037;\n --padding-top: 9px;\n --padding-bottom: 9px;\n\n font-weight: bold;\n margin: 5px 0 0;\n\n ::slotted(nano-nav-item),\n nano-nav-item {\n font-weight: 500;\n\n --bg-color: transparent;\n }\n }\n\n &_title {\n margin: 0 var(--padding) 4px;\n border-bottom: 1px solid #33484d;\n padding-bottom: 8px;\n font-size: 0.86em;\n text-transform: uppercase;\n color: map.get($colors, lightblue);\n letter-spacing: 1px;\n font-weight: 700;\n }\n\n &-wrap {\n margin: 18px 0;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n .back-btn {\n border-top: 1px solid #33484d;\n border-bottom: 1px solid #33484d;\n display: flex;\n align-items: center;\n padding: 10px 11px 10px 0;\n width: 100%;\n font-size: 12px;\n text-transform: uppercase;\n color: map.get($colors, lightblue);\n letter-spacing: 1px;\n font-weight: 700;\n\n nano-icon {\n @include margin(null, 10px, null, null);\n\n font-size: 12px;\n color: white;\n }\n }\n\n &--sub {\n display: flex;\n flex-wrap: wrap;\n\n ::slotted(nano-nav-item),\n nano-nav-item {\n --border-bottom: none;\n --padding-end: var(--padding);\n --padding-start: var(--padding);\n --padding-top: 8px;\n --padding-bottom: 8px;\n\n margin: 0;\n width: 50%;\n line-height: 1.8;\n }\n }\n\n .content {\n padding: 8px var(--padding);\n }\n }\n\n .login-btn {\n @include padding(9px, var(--padding), 9px, 7px);\n\n nano-icon {\n @include margin(null, null, null, 10px);\n }\n }\n\n .logout-btn {\n justify-content: flex-end;\n\n a {\n padding: 0 5px;\n }\n }\n}\n\n// Main Bar\n.sticker-trigger {\n background: var(--bar-background);\n width: 100%;\n z-index: calc(#{$layer-index-menubar} + 1);\n}\n\n.bars {\n color: var(--bar-text-color);\n z-index: #{$layer-index-menubar};\n position: relative;\n max-width: 100%;\n min-width: 100%;\n box-shadow: none;\n transition: 0.2s ease box-shadow;\n\n [stuck] & {\n box-shadow: 0 1px 25px 0 rgba(0, 0, 0, 0.15);\n }\n\n &::before {\n content: '';\n width: 100%;\n height: 100%;\n z-index: -1;\n background: var(--bar-background);\n position: absolute;\n }\n\n .search {\n &-widget {\n @include margin(null, auto, null, 11px);\n\n position: relative;\n flex: 1 1 auto;\n max-width: 45vw;\n min-width: 269px;\n max-height: 36px;\n }\n\n &-inputs {\n display: flex;\n margin: 0;\n\n input[type='submit'] {\n display: none;\n }\n }\n\n &-autocomplete {\n position: absolute;\n top: calc(100% - 2px);\n width: 100%;\n left: 0;\n background: white;\n border: 2px solid var(--bar-color-tint);\n border-radius: 0 0 5px 5px;\n color: map.get($colors, black);\n font-size: 0.85em;\n padding: calc(var(--padding) / 2) 0 1px 0;\n z-index: 1;\n\n @include rtl-host() {\n left: auto;\n right: 0;\n }\n\n &-hit {\n padding:\n calc(var(--padding) / 4) var(--padding)\n calc(var(--padding) / 4) var(--padding);\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n text-align: left;\n line-height: 1.5;\n cursor: pointer;\n\n @include rtl-host() {\n text-align: right;\n }\n\n &-scope {\n font-size: 0.76em;\n // text-indent: 10px;\n color: rgb(167, 176, 179);\n font-weight: 600;\n }\n\n &:hover,\n &:focus {\n background-color: map.get($colors, lightgrey);\n }\n\n .search__highlight,\n em {\n font-weight: bold;\n font-style: normal;\n }\n\n &--no-result {\n &:hover,\n &:focus {\n background: none !important;\n }\n }\n }\n\n &-foot {\n margin: 7px 0 0;\n }\n\n &-submit {\n background: none;\n border: none;\n align-self: normal;\n padding: 9px var(--padding);\n cursor: pointer;\n display: flex;\n align-items: center;\n color: map.get($colors, blue);\n justify-content: flex-end;\n width: 100%;\n text-decoration: underline;\n border-top: 1px solid rgb(232, 234, 234);\n\n &:hover,\n &:focus {\n background-color: map.get($colors, lightgrey);\n }\n }\n }\n }\n\n .search-input {\n --input-border-style: solid 1px rgb(85, 140, 157);\n --input-border-style--focus: solid 1px var(--bar-color-focus, #90c6e7);\n --input-border-width: 1px;\n\n font-size: 0.9em;\n }\n\n nano-select.search-input {\n --input-bg-color: var(--bar-color-tint, rgb(88, 140, 161));\n --input-text-color: inherit;\n --input-border-radius: 5px 0 0 5px;\n\n flex: 0 1 auto;\n width: auto;\n display: flex;\n align-items: center;\n flex-direction: column;\n position: relative;\n left: 1px;\n\n @include rtl-host() {\n --input-border-radius: 0 5px 5px 0;\n }\n\n :host(:not(.ready)) & {\n overflow: hidden;\n max-height: 1em;\n }\n\n .down-arrow {\n font-size: 0.65em;\n }\n }\n\n nano-input.search-input {\n --input-text-color: inherit;\n --input-bg-color: var(--bar-color-shade, rgb(40, 110, 133));\n --clear-btn-color: #{map.get($colors, black)};\n --input-border-radius: 0 5px 5px 0;\n --placeholder-color: white;\n\n width: 206px;\n display: flex;\n align-items: center;\n flex-direction: column;\n flex: 1;\n\n @include rtl-host() {\n --input-border-radius: 5px 0 0 5px;\n }\n\n :host(:not(.ready)) & {\n overflow: hidden;\n max-height: 1em;\n }\n\n &.has-value {\n --input-bg-color: #{map.get($colors, white)};\n --input-text-color: #{map.get($colors, black)};\n\n .search-icon {\n color: #{map.get($colors, black)};\n }\n }\n\n .search-icon {\n background: none;\n color: white;\n padding: 0 8px;\n display: none;\n\n &--show {\n display: flex;\n }\n\n &--loader {\n animation: spin 1s linear infinite;\n\n @keyframes spin {\n 100% {\n transform: rotate(360deg);\n }\n }\n }\n\n nano-icon {\n height: 1.4em;\n }\n }\n }\n}\n\n.main-bar {\n width: 100%;\n\n @include padding(var(--padding), var(--padding), var(--padding), 0);\n\n display: flex;\n align-items: center;\n justify-content: space-between;\n overflow-x: hidden;\n\n &:focus {\n outline: none;\n }\n\n :host(.ready) & {\n overflow-x: visible;\n }\n\n > *,\n ::slotted(*) {\n transition: opacity 0.2s ease;\n\n :host(:not(.ready)) & {\n opacity: 0 !important;\n }\n\n :host(.ready) & {\n opacity: 1;\n }\n\n :host(.resizing) & {\n opacity: 0 !important;\n }\n }\n\n > * {\n flex: 0 0 auto;\n\n ::slotted(nano-nav-item[slot='icon']) {\n @include margin(null, null, null, 11px);\n }\n\n ::slotted(nano-nav-item),\n nano-nav-item {\n --color-hover: #{map.get($colors, lightgrey)};\n --secondary-bg-color: var(--menu-dropdown-bg);\n --secondary-color: var(--menu-dropdown-color);\n --bg-color-open: var(--bar-background);\n\n text-decoration: none !important;\n }\n }\n\n .icon-btn {\n @include margin(0, null, 0, 6px);\n\n :host(.threshold-2) & {\n @include margin(0, null, 0, 11px);\n }\n }\n\n .menu-btn.icon-btn {\n margin: 0 !important;\n\n @include ltr-host() {\n border-right: 1.5px solid var(--bar-color-shade);\n }\n\n @include rtl-host() {\n border-left: 1.5px solid var(--bar-color-shade);\n }\n }\n\n .user-links {\n position: relative;\n\n .icon-btn {\n @include padding(null, 0, null, null);\n\n font-size: 0.93em;\n font-weight: 500;\n\n nano-icon {\n @include margin(null, null, null, 5px);\n\n width: 16px;\n height: 16px;\n transform-origin: center;\n transition: transform 0.2s ease, color 0.2s ease;\n }\n\n &.open {\n nano-icon {\n transform: rotate(180deg);\n color: map.get($colors, blue);\n }\n }\n }\n\n &-panel {\n display: none;\n position: absolute;\n border-radius: 4px 0 4px 4px;\n box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.4);\n background-color: #568c9d;\n opacity: 0;\n transform: translate3d(0, 24px, 0);\n transition: transform 0.2s ease, opacity 0.2s ease;\n right: 0;\n font-size: 0.85em;\n min-width: 250px;\n z-index: 1;\n\n @include rtl-host() {\n right: auto;\n left: 0;\n }\n\n &:focus {\n outline: none;\n }\n\n &.show {\n opacity: 1;\n transform: translate3d(0, 4px, 0);\n }\n\n &-content {\n padding: 0 18px;\n display: flex;\n flex-direction: column;\n\n a {\n padding: 11px 0;\n border-bottom: #669dac 1px solid;\n\n &:hover,\n &:focus {\n color: map.get($colors, darkgrey);\n }\n\n &:last-child {\n border-bottom: none;\n }\n }\n }\n\n &-foot {\n background-color: #aac5cd;\n border-radius: 0 0 4px 4px;\n padding: var(--padding);\n color: #455556;\n display: flex;\n align-items: center;\n font-weight: 500;\n justify-content: space-between;\n\n a:hover {\n text-decoration: underline;\n }\n }\n }\n }\n\n .logo {\n height: 34px;\n width: auto;\n min-width: 196px;\n\n :host(:not(.threshold-1)) & {\n height: 30px;\n }\n }\n\n .logo-link {\n @include margin(null, auto, null, 0);\n @include padding(null, 11px, null, 11px);\n\n display: flex;\n align-items: center;\n border: none;\n }\n\n .nav-links {\n font-size: 0.75rem;\n flex: 1 0 auto;\n display: flex;\n justify-content: space-around;\n\n ul {\n display: flex;\n justify-content: space-around;\n }\n\n ::slotted(nano-nav-item),\n nano-nav-item {\n --padding-top: 7px;\n --padding-bottom: 7px;\n --padding-end: 2px;\n --padding-start: 2px;\n --margin: 0 8px;\n }\n\n &--main {\n justify-content: flex-start;\n letter-spacing: 0.33px;\n font-weight: 600;\n font-stretch: expanded;\n font-size: 0.8125rem;\n\n ::slotted(nano-nav-item) {\n --color: #fff;\n --padding-end: 3px;\n --padding-start: 0;\n }\n }\n\n &--sub {\n @include margin(null, null, null, 6px);\n\n --color: #e2e2e2;\n\n justify-content: flex-end;\n }\n }\n\n .login-btn {\n display: inline-block;\n border-radius: 4px;\n background-color: #17bb75;\n color: #fff;\n padding: 3px 10px;\n position: relative;\n left: auto;\n bottom: auto;\n\n @include margin(null, 0, null, 11px);\n }\n\n .measure-ele {\n min-width: 1px;\n display: block;\n margin: 0;\n padding: 0;\n }\n}\n\n.search-bar {\n height: 0;\n overflow: hidden;\n transition: 0.2s ease height;\n padding: 0 var(--padding);\n outline: none;\n max-width: 45em;\n margin-left: auto;\n\n .search-widget {\n @include margin(0, 0, 0, 0);\n\n overflow: inherit;\n max-width: none;\n max-height: none;\n padding: 0 0 var(--padding);\n }\n\n .search-inputs {\n padding: 0 0;\n margin: 0 0;\n }\n\n .search-autocomplete {\n top: calc(100% - (var(--padding) + 1px));\n }\n}\n\n.site-content {\n display: flex;\n transition: min-height 0.2s ease;\n min-height: calc(100% - 61px);\n position: relative;\n z-index: auto;\n align-items: stretch;\n}\n\n.mask {\n opacity: 0;\n background: rgba(0, 0, 0, 0.3);\n position: fixed;\n left: 0;\n right: 0;\n top: 0;\n height: 100vh;\n z-index: -1;\n transition:\n transform 0.2s ease,\n opacity 0.2s ease,\n visibility 0.01s ease 0.2s,\n z-index 0.01s ease 0.2s;\n visibility: hidden;\n\n &.open {\n opacity: 1;\n transition:\n z-index 0.01s ease,\n visibility 0.01s ease,\n transform 0.2s ease 0.01s,\n opacity 0.2s ease 0.01s;\n z-index: 3;\n visibility: visible;\n }\n}\n","import {\n Component,\n h,\n Host,\n Element,\n State,\n Watch,\n Event,\n EventEmitter,\n Prop,\n Listen,\n Build,\n getAssetPath,\n readTask,\n writeTask,\n Method,\n VNode,\n ComponentInterface,\n} from '@stencil/core';\nimport algoliasearch, { SearchClient as AlgoliaClient } from 'algoliasearch';\nimport { debounce, closestElement, displayTransition } from '../../utils';\nimport { clientFetch } from '../../utils/fetch';\nimport {\n InputChangeEventDetail,\n SelectChangeEventDetail,\n AlgoliaResults,\n SearchIndex,\n MyAccountLink,\n AloliaSearchResultDetail,\n AlgoliaMultiResult,\n MyAccountUser,\n NavItemEventDetail,\n AlgoliaResultHit,\n AlgoliaNetworkError,\n AlgoliaMultiResults,\n} from '../../interface';\nimport { ComponentStore } from '../../utils/store/component-store';\n\ninterface MyAccountData {\n user: MyAccountUser;\n cart: {\n count: number;\n url: string;\n };\n notifications: { count: number };\n hs: { lists?: Array<number> };\n registration: { next_url: string | null };\n links: null | MyAccountLink[];\n urls: {\n forgot_password: string | null;\n logout: string | null;\n login: string | null;\n messages: string | null;\n cart: string | null;\n };\n domains: [\n {\n origin: string;\n domain: string;\n }\n ];\n search: {\n app_id: string;\n api_key: string;\n indeces: [\n {\n index: string;\n name: string;\n domain: string;\n all_group?: boolean;\n filters?: [string];\n }\n ];\n };\n}\n\n// the 'breakpoints' that different segments of content go into or out-of the burger / overflow menu\nconst THRESHOLDBREAKS = {\n search: 0,\n about: 1,\n main: 2,\n login: 3,\n icon: 4,\n};\n\n/**\n * Nanopore digital global navigation and search bar.\n * Incorporates MyAccount / SSO states (messages / cart / user name etc).\n * Incorporates Algolia search.\n * GlobalNav is designed to be at the root of the `<body>`.\n * There should only be one <nano-global-nav> in the DOM.\n * The following demo uses static data.\n * @slot main - main nav items. Should be used with nano-nav-item's\n * @slot icon - nano-nav-item's displayed alongside icon links that come from MyAccount\n * @slot loggedin - nano-nav-item's to display when users are signed in, alongside links from from MyAccount (within the overflow menu panel).\n * @slot about - nano-nav-item's to display with about links that come from MyAccount\n * @slot site - nano-nav-item's to display with site links that come from MyAccount\n * @slot overflow - items to always display in the overflow menu\n * @slot search - when not using myaccount search OR show-search=\"false\" you can utilise the search slot\n * @slot promotion - a free area for any promotional content, displayed within the overflow menu panel\n * @slot logo - when show-logo=\"false\" you can utilise the logo slot\n */\n@Component({\n tag: 'nano-global-nav',\n styleUrl: 'global-nav.scss',\n shadow: true,\n assetsDirs: ['assets'],\n})\nexport class GlobalNav implements ComponentInterface {\n // position and dimension state\n private io: IntersectionObserver;\n private debounceResize: () => {};\n private debounceSetResizingState: () => {};\n private currSize: number = 0;\n private thresholdsGoingUp: boolean = false;\n private THRESHOLDLIMIT = Object.keys(THRESHOLDBREAKS).length;\n\n // menu\n private menuDiv: HTMLElement;\n private menuBtn: HTMLButtonElement;\n private menuWrapDiv: HTMLDivElement;\n private menuContentDiv: HTMLDivElement;\n\n // search\n private searchBarEl: HTMLDivElement;\n private searchInput: HTMLNanoInputElement;\n private algoliaClient: AlgoliaClient;\n private currentIndex: SearchIndex;\n private autocompleteResults: AlgoliaResults | null;\n private autocompleteEles: Array<HTMLAnchorElement | HTMLButtonElement> = [];\n private currAIndex: number = -1;\n private algoliaSearchResults: AlgoliaMultiResults | null;\n private scopeSearch: AlgoliaMultiResults | null;\n\n // general\n private mainBarDiv: HTMLElement;\n private barsDiv: HTMLDivElement;\n private siteContent: HTMLDivElement;\n private userLinkPanel: HTMLDivElement;\n private isLoggedIn: boolean = false;\n\n private myAccData: MyAccountData = null;\n\n // myaccount links\n private aboutNavItms: MyAccountLink[] = [];\n private siteNavItms: MyAccountLink[] = [];\n private loggedInNavItms: MyAccountLink[] = [];\n\n // has slot tests\n private mo?: MutationObserver;\n @State() hasLoggedinSlot: boolean = false;\n @State() hasSiteSlot: boolean = false;\n @State() hasPromotionSlot: boolean = false;\n\n // slot item number tests\n @State() aboutSlotLen: number = 0;\n @State() iconSlotLen: number = 0;\n @State() mainSlotLen: number = 0;\n @State() overflowSlotLen: number = 0;\n @State() searchSlotLen: number = 0;\n\n @State() internalSearchIndeces: Array<SearchIndex> = [];\n @State() thresholdReady: boolean = false;\n @State() remoteDataReady: boolean = false;\n @State() ready: boolean = false;\n @State() isResizing: boolean = false;\n @State() intersectRatio: number;\n @State() threshold: number = this.THRESHOLDLIMIT;\n @State() modalOpen: boolean = false;\n @State() modalIsOpen: boolean = false;\n @State() searchBarShown: boolean = false;\n @State() scrollingUp: boolean = true;\n @State() searchLoading: boolean = false;\n @State() showAutocomplete: boolean = false;\n @State() secondaryMenuOpen: boolean = false;\n @State() userMenuOpen: boolean = false;\n @State() menuFullScreen: boolean = false;\n @State() searchValInternal: string = '';\n\n @Element() private el: HTMLNanoGlobalNavElement;\n\n /**\n * Connect to local, dev, test or prod MyAccount\n * environments to retrieve global nav / sso data.\n * Alternatively, you can use the `ssoDataUrl` prop.\n */\n @Prop() env?: 'local' | 'dev' | 'test' | 'prod' = 'prod';\n\n /**\n * A base url to retrieve global nav / sso data.\n * `nav_bar_data.json` will be appended to this url.\n * An alternative to the pre-defined `env` urls\n */\n @Prop() ssoDataUrl?: string;\n\n /**\n * Where to take user after SSO login\n */\n @Prop() ssoRedirect: string = encodeURIComponent(window.location.href);\n\n /**\n * Whether to attempt to get global nav / sso data from MyAccount\n */\n @Prop() getMyAccountData: boolean = true;\n\n /**\n * Active MyAccount link sections. By default all will show.\n */\n @Prop() activeMyAccountSections: (\n | 'about'\n | 'loggedin'\n | 'sites'\n | 'icons'\n )[] = null;\n\n /**\n * Whether to show search functionality\n */\n @Prop() showSearch: boolean = true;\n\n /**\n * Whether to show Nanopore logo\n */\n @Prop() showLogo: boolean = true;\n\n /**\n * The link to put on the logo\n */\n @Prop() logoUrl: string = location.protocol + '//' + location.host;\n\n /**\n * An array of Algolia search indexes (and optional display names). Will be automatically populated from MyAccount\n */\n @Prop() searchIndeces: Array<SearchIndex> = [];\n\n /**\n * Logged in user details automatically populated from MyAccount\n */\n @Prop({ mutable: true }) myAccountUser: {\n id: string | null;\n name: string | null;\n first_name: string | null;\n last_name: string | null;\n email: string | null;\n company: string | null;\n lifecycle_stage: string | null;\n indirect_customer: boolean;\n } = null;\n\n /**\n * An Algolia App ID key. Will be automatically populated from MyAccount\n */\n @Prop({ mutable: true }) searchAppId: string;\n\n /**\n * An Algolia API Key. Will be automatically populated from MyAccount\n */\n @Prop({ mutable: true }) searchApiKey: string;\n\n /**\n * A search value to passed to Algolia to programatically get or to preload search results\n */\n @Prop({ mutable: true }) searchValue: string = '';\n\n /**\n * Algolia search index to programatically set or to set an initial index\n */\n @Prop({ mutable: true }) searchIndex: string = 'all_prod_en';\n\n /**\n * MyAccount store cart count.\n */\n @Prop({ mutable: true }) cartCount: number = 0;\n\n /**\n * MyAccount undread message count.\n */\n @Prop({ mutable: true }) msgCount: number = 0;\n\n /**\n * Url to the Nanopore store cart. Will default to the url supplied by MyAccount\n */\n @Prop({ mutable: true }) cartUrl: string = null;\n\n /**\n * Url to the Nanopore message center. Will default to the url supplied by MyAccount\n */\n @Prop({ mutable: true }) msgUrl: string = null;\n\n /**\n * Emitted when the global nav is ready.\n */\n @Event() nanoIsReady!: EventEmitter<void>;\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n */\n @Event() nanoSearchResult!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Emitted when algolia returns an error.\n */\n @Event() nanoSearchError!: EventEmitter<AlgoliaNetworkError>;\n\n /**\n * Emitted when search field is cleared.\n */\n @Event() nanoSearchReset!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Submit the search form (a search value must be present)\n */\n @Method()\n async submitSearch() {\n this.onSearchSubmit();\n this.showAutocomplete = false;\n return;\n }\n\n @Watch('env')\n @Watch('ssoDataUrl')\n async getMyAccData() {\n if (!this.getMyAccountData || this.myAccData) {\n this.remoteDataReady = true;\n return;\n }\n\n let url = this.ssoDataUrl;\n\n if (!url) {\n switch (this.env) {\n case 'dev':\n url = 'https://myaccount-dev.nanoporetech.com/';\n break;\n case 'test':\n url = 'https://myaccount-test.nanoporetech.com/';\n break;\n default:\n url = 'https://myaccount.nanoporetech.com/';\n break;\n }\n }\n\n var config = { timeout: 5000 };\n\n try {\n if (this.env === 'local') {\n this.myAccData = (await import(\n `./assets/local-my-account.json`\n )) as unknown as MyAccountData;\n } else {\n this.myAccData = await clientFetch(url + 'nav_bar_data.json', config);\n }\n if (this.myAccData.user.id) {\n this.isLoggedIn = true;\n this.myAccountUser = this.myAccData.user;\n }\n this.processMyAccLinks();\n this.processMyAccData();\n setTimeout(() => (this.remoteDataReady = true), 300);\n } catch (e) {\n console.error(e);\n this.remoteDataReady = true;\n }\n }\n\n @Watch('searchIndex')\n currentSelectedIndex() {\n if (!this.internalSearchIndeces.length) {\n return;\n }\n\n let foundIndex = this.internalSearchIndeces.find(\n (index) => index.index === this.searchIndex\n );\n\n if (!foundIndex) {\n this.currentIndex = this.internalSearchIndeces[0];\n console.error('index not found');\n return;\n }\n\n this.currentIndex = foundIndex;\n return foundIndex;\n }\n\n @Watch('searchValInternal')\n changeInternalSearchVal() {\n if (this.searchValInternal !== this.searchValue)\n this.searchValue = this.searchValInternal;\n }\n\n @Watch('searchApiKey')\n @Watch('searchAppId')\n initAlgoliaClient() {\n if (!this.searchAppId || !this.searchApiKey) return;\n\n this.algoliaClient = algoliasearch(this.searchAppId, this.searchApiKey);\n this.addAlgoliaIndeces();\n }\n\n @Watch('searchIndeces')\n addIndeces() {\n this.internalSearchIndeces = [\n ...this.internalSearchIndeces,\n ...this.searchIndeces,\n ];\n }\n\n @Watch('internalSearchIndeces')\n addAlgoliaIndeces() {\n if (!this.algoliaClient || !this.internalSearchIndeces.length) return;\n\n this.internalSearchIndeces.forEach((searchIndex) => {\n searchIndex.alogliaIndex = this.algoliaClient.initIndex(\n searchIndex.index\n );\n });\n if (!this.searchIndex)\n this.searchIndex = this.internalSearchIndeces[0].index;\n }\n\n @Watch('threshold')\n thresholdChange(newThreshold, oldThreshold) {\n if (newThreshold > oldThreshold) {\n // we've resized to larger screen.\n this.thresholdsGoingUp = true;\n this.setResizingState(true);\n }\n }\n\n /**\n * Primary logic for resizing changes.\n * When content doesn't fit - we loop down through break points until it does\n */\n @Watch('intersectRatio')\n ratioChange() {\n if (this.intersectRatio < 1 && this.threshold > 0) {\n // content doesn't fit\n if (this.thresholdsGoingUp) this.setResizingState(true);\n this.threshold--;\n setTimeout(() => this.ratioChange(), 500);\n } else {\n this.thresholdReady = true;\n\n // content now fits so add / remove context classes\n // on nav-items depending on whether they're added to bar or burger.\n this.siteContent.style.minHeight = `calc(100% - ${\n this.barsDiv.clientHeight + 1\n }px)`;\n\n let menuItems: Array<Element>, barItems: Array<Element>;\n readTask(() => {\n menuItems = [\n ...Array.from(this.el.querySelectorAll('nano-nav-item[slot=\"site\"]')),\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"overflow\"]')\n ),\n ];\n barItems = [];\n\n if (this.threshold < this.THRESHOLDLIMIT - THRESHOLDBREAKS.icon)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"icon\"]')\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"icon\"]')\n )\n );\n\n if (this.threshold < this.THRESHOLDLIMIT - THRESHOLDBREAKS.login)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"loggedin\"]')\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"loggedin\"]')\n )\n );\n\n if (this.threshold < this.THRESHOLDLIMIT - THRESHOLDBREAKS.main)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"main\"]')\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"main\"]')\n )\n );\n\n if (this.threshold < this.THRESHOLDLIMIT - THRESHOLDBREAKS.about)\n menuItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"about\"]')\n )\n );\n else\n barItems.push(\n ...Array.from(\n this.el.querySelectorAll('nano-nav-item[slot=\"about\"]')\n )\n );\n });\n\n writeTask(() => {\n menuItems.forEach((item) => {\n item.classList.add('nano-global-nav-menu');\n item.classList.remove('nano-global-nav-bar');\n });\n barItems.forEach((item) => {\n item.classList.remove('nano-global-nav-menu');\n item.classList.add('nano-global-nav-bar');\n });\n });\n }\n }\n\n @Watch('thresholdReady')\n @Watch('remoteDataReady')\n assessReady() {\n if (this.thresholdReady && this.remoteDataReady) {\n this.ready = true;\n }\n }\n\n @Watch('remoteDataReady')\n remoteReady() {\n this.attachIO();\n }\n\n @Watch('ready')\n isReady() {\n this.nanoIsReady.emit();\n }\n\n /**\n * Add / remove events when autocomplete results show / hide.\n */\n @Watch('showAutocomplete')\n setupAutocompleteBlur() {\n this.searchInput.clientWidth; // force reflow\n if (this.showAutocomplete) {\n this.el.shadowRoot.addEventListener('click', this.onAutocompleteBlur);\n } else {\n this.el.shadowRoot.removeEventListener('click', this.onAutocompleteBlur);\n }\n }\n\n /**\n * As relevant slotted items change, reset resizing breakpoints\n */\n @Watch('aboutSlotLen')\n @Watch('iconSlotLen')\n @Watch('mainSlotLen')\n @Watch('overflowSlotLen')\n @Watch('searchSlotLen')\n slotChange() {\n this.threshold = this.THRESHOLDLIMIT;\n }\n\n // General classes for visuals\n\n private thresholdClasses() {\n let classes = [];\n let i = 0;\n for (i; i < this.threshold; i++) classes.push('threshold-' + (i + 1));\n return classes;\n }\n\n /**\n * provides 'isResizing' - we use this to fade content out on 'breakpoint' increase\n * (when the screen size increases). Otherwise the stepping through of\n * breakpoints to calculate if content currently fits shows on screen (looks ugly)\n */\n private setResizingState = (state: boolean = false) => {\n if (typeof this.debounceSetResizingState === 'undefined') {\n this.debounceSetResizingState = debounce(this.setResizingState, 600);\n }\n if (state) {\n this.isResizing = true;\n this.debounceSetResizingState();\n } else {\n this.isResizing = false;\n this.thresholdsGoingUp = false;\n }\n };\n\n // Global DOM Events\n\n private onWindowResize() {\n if (\n this.threshold < this.THRESHOLDLIMIT &&\n window.innerWidth > this.currSize\n ) {\n this.threshold = this.THRESHOLDLIMIT;\n }\n this.currSize = window.innerWidth;\n this.searchBarShown = false;\n }\n\n // Burger / Overflow Menu\n\n // listen to nav-item secondary open / close events primarily for resizing the menu\n @Listen('nanoOpen')\n secondaryOpen(ev: CustomEvent) {\n if (!(ev.detail as NavItemEventDetail).secondaryMenu) return;\n ev.stopPropagation();\n this.secondaryMenuOpen = true;\n this.menuContentDiv.style.minHeight =\n (ev.detail as NavItemEventDetail).secondaryMenu.scrollHeight + 'px';\n }\n\n @Listen('nanoClose')\n secondaryClose(ev: CustomEvent) {\n if (!(ev.detail as NavItemEventDetail).secondaryMenu) return;\n ev.stopPropagation();\n this.secondaryMenuOpen = false;\n this.menuContentDiv.style.minHeight = '';\n }\n\n private onMenuBtnKeyDown = (ev: KeyboardEvent) => {\n switch (ev.key) {\n case 'Enter':\n case ' ':\n this.modalOpen ? this.menuClose(ev, true) : this.menuOpen();\n break;\n }\n };\n\n private onMenuBtnClick = (ev: MouseEvent) => {\n this.menuClose(ev, true);\n };\n\n private menuOpen = (e?: MouseEvent) => {\n if (e) e.preventDefault();\n\n this.menuDiv.style.display = 'block';\n // need to open menu in stages\n // wait for re-flow after changing display\n // wait for repaint after animate, then focus\n\n this.menuDiv.clientWidth; // force reflow\n\n this.modalOpen = true;\n this.modalIsOpen = true;\n this.menuWrapDiv.addEventListener('focusout', this.menuClose);\n\n this.menuDiv.clientWidth; // force reflow\n\n this.menuWrapDiv.focus({ preventScroll: true });\n if (\n this.threshold < 2 ||\n this.menuWrapDiv.scrollHeight > window.innerHeight\n ) {\n document.body.style.overflow = 'hidden';\n this.menuFullScreen = true;\n } else document.body.style.overflowX = 'hidden';\n };\n\n private onMenuHidden = () => {\n this.menuDiv.removeEventListener('transitionend', this.onMenuHidden);\n this.menuWrapDiv.removeEventListener('focusout', this.menuClose);\n\n document.body.style.overflow = '';\n this.menuDiv.style.display = 'none';\n this.modalIsOpen = false;\n this.menuFullScreen = false;\n\n setTimeout(() => {\n if (document.activeElement === document.body && this.menuBtn)\n this.mainBarDiv.focus({ preventScroll: true });\n }, 50);\n };\n\n private menuClose = (\n ev?: FocusEvent | MouseEvent | KeyboardEvent | TouchEvent,\n force: boolean = false\n ) => {\n if (!force) {\n let e = ev as FocusEvent;\n if (\n e &&\n e.relatedTarget &&\n closestElement('#global-nav-menu', e.relatedTarget as HTMLElement)\n )\n return;\n if (\n e &&\n e.relatedTarget &&\n (e.relatedTarget as HTMLElement).closest('#global-nav-menu')\n )\n return;\n if (\n e &&\n e.relatedTarget &&\n (e.relatedTarget as HTMLElement).closest('[slot=\"promotion\"]')\n )\n return;\n if (this.secondaryMenuOpen) return;\n }\n\n this.modalOpen = false;\n this.menuDiv.addEventListener('transitionend', this.onMenuHidden);\n };\n\n private subMenuClose = (ev?: MouseEvent) => {\n ev.preventDefault();\n (ev.target as HTMLNanoNavItemElement).closest('nano-nav-item').open = false;\n };\n\n // User profile menu\n\n private onUserBtnClick = (ev: MouseEvent) => {\n ev.preventDefault();\n this.userMenuOpen = !this.userMenuOpen;\n };\n\n private onUserBtnKeyDown = (ev: KeyboardEvent) => {\n switch (ev.key) {\n case 'Enter':\n case ' ':\n this.userMenuOpen = !this.userMenuOpen;\n break;\n }\n };\n\n private onUserMenuBlur = (ev: FocusEvent) => {\n if (!ev.relatedTarget) {\n this.userMenuOpen = false;\n return;\n }\n if (!!(ev.relatedTarget as HTMLElement).closest('.user-links-panel'))\n return false;\n this.userMenuOpen = false;\n };\n\n @Watch('userMenuOpen')\n async handleUserMenu() {\n await displayTransition(this.userLinkPanel, 'show', this.userMenuOpen);\n if (this.userMenuOpen) {\n this.userLinkPanel.focus();\n this.userLinkPanel.addEventListener('focusout', this.onUserMenuBlur);\n } else {\n this.userLinkPanel.removeEventListener('focusout', this.onUserMenuBlur);\n this.el.focus();\n }\n }\n\n // Search bar (smaller screens / mobile)\n\n private onSearchBtnClick = (ev: MouseEvent) => {\n ev.preventDefault();\n if (!this.searchBarShown) this.searchbarShow();\n else this.searchbarHide();\n };\n\n private onSearchBtnKeyDown = (ev: KeyboardEvent) => {\n switch (ev.key) {\n case 'Enter':\n case ' ':\n this.searchBarShown ? this.searchbarHide() : this.searchbarShow();\n break;\n }\n };\n\n private searchbarShow() {\n this.searchBarShown = true;\n this.searchBarEl.addEventListener('transitionend', this.onSearchBarShown);\n this.searchBarEl.style.display = 'block';\n\n setTimeout(() => {\n this.searchBarEl.style.height =\n this.searchBarEl.querySelector('.search-widget').scrollHeight + 'px';\n }, 50);\n }\n\n private onSearchBarShown = () => {\n this.searchBarEl.removeEventListener(\n 'transitionend',\n this.onSearchBarShown\n );\n if (this.searchInput) this.searchInput.setFocus();\n this.searchBarEl.style.overflow = 'visible';\n };\n\n private searchbarHide = (ev?: FocusEvent) => {\n if (\n ev &&\n ev.relatedTarget &&\n (ev.relatedTarget as HTMLElement).closest('#global-nav-search-bar')\n )\n return;\n this.showAutocomplete = false;\n if (this.searchValInternal.length && ev) return;\n\n this.searchBarEl.addEventListener('transitionend', this.onSearchBarHidden);\n this.searchBarEl.style.overflow = 'hidden';\n this.searchBarEl.style.height = '0px';\n };\n\n private onSearchBarHidden = () => {\n this.searchBarEl.removeEventListener(\n 'transitionend',\n this.onSearchBarHidden\n );\n this.searchBarEl.style.display = 'none';\n this.searchBarShown = false;\n };\n\n // Algolia search\n\n private autocompleteSnippet(hit: AlgoliaResultHit) {\n let lookFor = ['title']; // , 'body'\n if (hit._snippetResult) {\n let found = lookFor.find(\n (prop) =>\n hit._snippetResult[prop] &&\n hit._snippetResult[prop].matchLevel !== 'none'\n );\n\n if (found) {\n if (found !== 'title')\n return (\n (hit.title.length > 15\n ? hit.title.substring(0, 15) + ' ...'\n : hit.title) +\n ' ' +\n hit._snippetResult[found].value\n );\n else return hit._snippetResult['title'].value;\n }\n }\n return hit.title;\n }\n\n private onSearchInput = (ev: CustomEvent<InputEvent>) => {\n this.searchValInternal = this.searchInput.value;\n\n if (!this.isSearchValSet()) {\n this.searchLoading = false;\n return;\n }\n\n if (ev.detail.type === 'input') {\n this.showAutocomplete = false;\n this.searchLoading = true;\n }\n };\n\n private onSearchChange = async (ev?: CustomEvent<InputChangeEventDetail>) => {\n this.searchValInternal = this.searchValue = ev\n ? ev.detail.value\n : this.searchValInternal;\n this.showAutocomplete = false;\n this.autocompleteResults = null;\n\n if (!this.isSearchValSet()) {\n if (!this.searchValInternal.length) {\n this.nanoSearchReset.emit();\n }\n this.searchLoading = false;\n return;\n }\n if (!this.currentIndex) this.currentSelectedIndex();\n\n try {\n this.autocompleteResults = this.processSearchResults(\n (await this.currentIndex.alogliaIndex.search(this.searchValInternal, {\n attributesToSnippet: ['body:5', 'title:8'],\n hitsPerPage: 5,\n filters: 'created > ' + Math.floor((Date.now() - 63115200000) / 1000), // only get last 2 years\n })) as any\n ) as AlgoliaResults;\n } catch (e) {\n console.error(e);\n }\n\n this.scopeSearch = null;\n this.scopeSearch = await this.onSearchSubmit(null, false);\n\n this.searchLoading = false;\n this.showAutocompleteResults();\n };\n\n private onSearchSubmit = async (ev?, emit: boolean = true) => {\n if (ev) ev.preventDefault();\n if (!this.isSearchValSet()) return;\n this.searchLoading = true;\n this.algoliaSearchResults = null;\n\n if (!this.currentIndex) this.currentSelectedIndex();\n\n let queries = this.internalSearchIndeces.map((index) => {\n return {\n indexName: index.index,\n query: this.searchValInternal,\n facets: index.filters,\n hitsPerPage: 10,\n filters: 'created > ' + Math.floor((Date.now() - 63115200000) / 1000), // only get last 2 years\n };\n });\n\n try {\n this.algoliaSearchResults = this.processSearchResults(\n (await this.algoliaClient.multipleQueries(queries)) as any\n ) as AlgoliaMultiResults;\n } catch (e) {\n this.nanoSearchError.emit(e as AlgoliaNetworkError);\n }\n this.searchLoading = false;\n if (!this.algoliaSearchResults) return;\n\n this.algoliaSearchResults.results.map((result, i) => {\n result.indexName = this.internalSearchIndeces[i].name;\n result.selected =\n this.currentIndex.name === this.internalSearchIndeces[i].name;\n result.domain = this.currentIndex.domain || null;\n result.domains = this.myAccData.domains || null;\n result.allGroup = !!this.internalSearchIndeces[i].allGroup;\n result.filters = this.internalSearchIndeces[i].filters;\n });\n\n if (emit) {\n this.nanoSearchResult.emit({\n results: this.algoliaSearchResults.results,\n client: { apiKey: this.searchApiKey, appId: this.searchAppId },\n });\n this.showAutocomplete = false;\n }\n return this.algoliaSearchResults;\n };\n\n private onSearchIndexChange = async (\n index: CustomEvent<SelectChangeEventDetail> | string\n ) => {\n let ev = index as CustomEvent<SelectChangeEventDetail>;\n let indexStr = index as string;\n\n if (!this.currentIndex) this.currentSelectedIndex();\n\n if (ev.detail && ev.detail.value.length)\n indexStr = ev.detail.value as string;\n if (!indexStr || !indexStr.length) return;\n if (this.currentIndex.index === indexStr) return;\n\n let selectedIndex = this.internalSearchIndeces.find(\n (index) => index.index === indexStr\n );\n if (!selectedIndex || !selectedIndex.alogliaIndex) return;\n\n this.searchIndex = selectedIndex.index;\n if (this.isSearchValSet()) await this.onSearchChange();\n };\n\n private isSearchValSet() {\n if (this.searchValInternal.length < 3) return false;\n return true;\n }\n\n private switchIndexSubmit = async (index: string) => {\n if (this.isSearchValSet()) {\n await this.onSearchIndexChange(index);\n this.onSearchSubmit();\n } else this.onSearchIndexChange(index);\n };\n\n // Autocomplete\n\n @Watch('showAutocomplete')\n resetHitFocus() {\n this.currAIndex = -1;\n }\n\n private onAutocompleteBlur = (ev: MouseEvent) => {\n if (!this.showAutocomplete || !this.autocompleteResults) return;\n if (ev && ev.target && (ev.target as HTMLElement).closest('.search-widget'))\n return;\n this.showAutocomplete = false;\n };\n\n private showAutocompleteResults = () => {\n if (!this.autocompleteResults || !this.autocompleteResults.hits) return;\n this.showAutocomplete = true;\n };\n\n private setActiveElement(\n autocompleteEle: HTMLAnchorElement | HTMLButtonElement\n ) {\n this.autocompleteEles.map((ele) =>\n ele.setAttribute('aria-selected', 'false')\n );\n autocompleteEle.focus({ preventScroll: true });\n autocompleteEle.setAttribute('aria-selected', 'true');\n }\n\n private onAutocompleteInteract = (ev: KeyboardEvent) => {\n // list open, navigate items with arrows\n if (!this.showAutocomplete || !this.autocompleteResults) return;\n let testIndex = this.currAIndex;\n\n switch (ev.key) {\n case 'Tab':\n setTimeout(() => {\n if (\n !this.el.shadowRoot.activeElement ||\n !this.el.shadowRoot.activeElement.closest('.search-widget')\n ) {\n this.showAutocomplete = false;\n return;\n } else {\n let found = this.autocompleteEles.find((ele, i) => {\n if (ele === this.el.shadowRoot.activeElement) {\n this.currAIndex = i;\n return true;\n }\n });\n if (found) this.setActiveElement(found);\n else this.currAIndex = -1;\n }\n });\n break;\n case 'ArrowDown':\n case 'ArrowUp':\n if (ev.key === 'ArrowDown') testIndex++;\n else if (ev.key === 'ArrowUp') testIndex--;\n\n let found = this.autocompleteEles[testIndex];\n if (\n found ||\n testIndex < 0 ||\n testIndex > this.autocompleteEles.length - 1\n )\n ev.preventDefault();\n this.searchInput.clientWidth; // force reflow\n\n if (found) {\n this.setActiveElement(found);\n this.currAIndex = testIndex;\n } else if (testIndex < 0) {\n this.searchInput.setFocus();\n this.currAIndex = -1;\n }\n break;\n case 'Enter':\n case ' ':\n if (this.autocompleteEles[this.currAIndex]) {\n this.autocompleteEles[this.currAIndex].click();\n }\n break;\n }\n };\n\n // Various.\n\n /**\n * Assesses what content is present in which slots\n */\n private assessSlottedContent() {\n readTask(() => {\n this.hasSiteSlot = !!this.el.querySelectorAll('[slot=\"site\"]').length;\n this.hasLoggedinSlot =\n !!this.el.querySelectorAll('[slot=\"loggedin\"]').length;\n this.hasPromotionSlot =\n !!this.el.querySelectorAll('[slot=\"promotion\"]').length;\n\n this.aboutSlotLen = this.el.querySelectorAll('[slot=\"about\"]').length;\n this.iconSlotLen = this.el.querySelectorAll('[slot=\"icon\"]').length;\n this.mainSlotLen = this.el.querySelectorAll('[slot=\"main\"]').length;\n this.overflowSlotLen =\n this.el.querySelectorAll('[slot=\"overflow\"]').length;\n this.searchSlotLen = this.el.querySelectorAll('[slot=\"search\"]').length;\n });\n }\n\n /**\n * Attach the IntersectionObserver - from which all threshold / breakpoint logic hinges\n */\n private attachIO() {\n if (this.io) return;\n let root = this.el.shadowRoot.querySelector('.global-nav .main-bar');\n if (\n Build.isBrowser &&\n typeof window !== 'undefined' &&\n (window as any).IntersectionObserver &&\n !!root\n ) {\n const io = (this.io = new (window as any).IntersectionObserver(\n (data: IntersectionObserverEntry[]) => {\n this.intersectRatio = data.slice(-1)[0].intersectionRatio;\n },\n { root, threshold: 1 }\n ));\n io.observe(root.querySelector('.measure-ele'));\n }\n }\n\n // Stencil Lifecycle / Rendering\n\n componentDidLoad() {\n if (Build.isBrowser) {\n this.debounceResize = debounce(this.onWindowResize.bind(this), 300);\n\n window.addEventListener('resize', this.debounceResize);\n this.currSize = window.innerWidth;\n }\n\n this.initAlgoliaClient();\n this.addAlgoliaIndeces();\n if (this.remoteDataReady) this.attachIO();\n }\n\n componentWillLoad() {\n ComponentStore.init(\n this,\n ['searchIndex', 'searchValue'],\n 'url-hash',\n 'gns'\n );\n\n if (\n Build.isBrowser &&\n typeof window !== 'undefined' &&\n (window as any).MutationObserver\n ) {\n const mo = (this.mo = new MutationObserver(() => {\n this.assessSlottedContent();\n }));\n mo.observe(this.el, { childList: true, subtree: false });\n }\n this.assessSlottedContent();\n }\n\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n if (this.mo) {\n this.mo.disconnect();\n this.mo = undefined;\n }\n if (Build.isBrowser)\n window.removeEventListener('resize', this.debounceResize);\n }\n\n async connectedCallback() {\n this.getMyAccData();\n }\n\n // Render output\n\n private autocompleteList(): VNode {\n let content;\n if (this.showAutocomplete && this.scrollingUp) {\n let currentScopeHits = 0;\n let scopeChangeSuggestions = 0;\n\n let scopeSuggestReducer = (total: number, result: AlgoliaMultiResult) => {\n return result.index !== this.currentIndex.index\n ? total + result.hits.length\n : total;\n };\n let currentSuggestReducer = (\n total: number,\n result: AlgoliaMultiResult\n ) => {\n return result.index === this.currentIndex.index\n ? total + result.hits.length\n : total;\n };\n\n if (this.scopeSearch) {\n scopeChangeSuggestions = this.scopeSearch.results.reduce(\n scopeSuggestReducer,\n 0\n );\n currentScopeHits = this.scopeSearch.results.reduce(\n currentSuggestReducer,\n 0\n );\n }\n\n if (\n (this.autocompleteResults && this.autocompleteResults.hits.length) ||\n (scopeChangeSuggestions && !currentScopeHits)\n ) {\n let scopeSuggestions = 0;\n\n content = (\n <div>\n {!currentScopeHits && (\n <div class=\"search-autocomplete-hit search-autocomplete-hit--no-result\">\n No results matching '{this.searchValInternal}' were found in{' '}\n <strong>{this.currentIndex.name}</strong>. Try another phrase.\n </div>\n )}\n {this.autocompleteResults && [\n this.autocompleteResults.hits.map((hit, i) => {\n return (\n <a\n role=\"option\"\n ref={(a) => this.autocompleteEles.push(a)}\n tabindex=\"-1\"\n id={'autocomplete-hit-' + i}\n href={hit.url}\n class=\"search-autocomplete-hit\"\n innerHTML={this.autocompleteSnippet(hit)}\n ></a>\n );\n }),\n ]}\n {(!currentScopeHits || this.currentIndex.allGroup) &&\n this.scopeSearch &&\n this.scopeSearch.results && [\n this.scopeSearch.results.map((result, i) => {\n if (\n !result.hits.length ||\n result.index === this.currentIndex.index ||\n scopeSuggestions > 1\n )\n return;\n scopeSuggestions++;\n return (\n <button\n role=\"option\"\n ref={(button) => this.autocompleteEles.push(button)}\n tabindex=\"-1\"\n id={'autocomplete-scope-' + i}\n class=\"search-autocomplete-hit\"\n onClick={() => this.switchIndexSubmit(result.index)}\n onMouseDown={() => this.switchIndexSubmit(result.index)}\n >\n \"{this.searchValInternal}\"{' '}\n <div class=\"search-autocomplete-hit-scope\">\n in {result.indexName}\n </div>\n </button>\n );\n }),\n ]}\n {!!currentScopeHits && (\n <div class=\"search-autocomplete-foot\">\n <button\n role=\"option\"\n class=\"search-autocomplete-submit\"\n ref={(button) => this.autocompleteEles.push(button)}\n id={'autocomplete-foot'}\n onClick={this.onSearchSubmit}\n onMouseDown={this.onSearchSubmit}\n >\n View all results\n </button>\n </div>\n )}\n </div>\n );\n } else if (!currentScopeHits) {\n content = (\n <div class=\"search-autocomplete-hit search-autocomplete-hit--no-result\">\n No results matching '{this.searchValInternal}' were found. Try\n another phrase.\n </div>\n );\n }\n }\n\n return (\n <div\n class=\"search-autocomplete\"\n role=\"listbox\"\n id=\"autocomplete-results\"\n aria-expanded={this.showAutocomplete ? 'true' : 'false'}\n hidden={!this.showAutocomplete}\n onKeyDown={this.onAutocompleteInteract}\n >\n {content}\n </div>\n );\n }\n\n private searchWidget(): VNode[] {\n return [\n <form\n class=\"search-inputs\"\n onSubmit={this.onSearchSubmit}\n id=\"global-nav-search\"\n >\n <nano-select\n class=\"search-input\"\n label=\"Which area of content would you like to search?\"\n hideLabel={true}\n showInlineError={false}\n value={this.searchIndex}\n onNanoChange={this.onSearchIndexChange}\n mask={true}\n >\n {this.internalSearchIndeces.map((index) => {\n return (\n <nano-option\n selected={index.index === this.searchIndex}\n value={index.index}\n >\n {index.name || index.index}\n </nano-option>\n );\n })}\n <nano-icon\n name=\"solid/caret-down\"\n class=\"down-arrow\"\n slot=\"down-arrow\"\n ></nano-icon>\n </nano-select>\n <nano-input\n class=\"search-input\"\n label=\"What would you like to search for?\"\n aria-label=\"What would you like to search for?\"\n hideLabel={true}\n showInlineError={false}\n clear-input\n placeholder=\"Search...\"\n type=\"text\"\n ref={(input) => (this.searchInput = input)}\n onNanoChange={this.onSearchChange}\n onNanoInput={this.onSearchInput}\n onKeyDown={this.onAutocompleteInteract}\n debounce={500}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n this.autocompleteEles[this.currAIndex]\n ? this.autocompleteEles[this.currAIndex].id\n : false\n }\n aria-controls=\"autocomplete-results\"\n onNanoFocus={this.showAutocompleteResults}\n value={this.searchValue}\n role=\"textbox\"\n >\n <button\n class={{\n 'search-icon': true,\n 'search-icon--search': true,\n 'search-icon--show': !this.searchValInternal.length,\n }}\n slot=\"end\"\n onMouseDown={(e) => {\n this.searchValInternal = this.searchInput.value;\n this.onSearchSubmit(e, true);\n }}\n >\n <nano-icon name=\"light/search\"></nano-icon>\n </button>\n <span\n class={{\n 'search-icon': true,\n 'search-icon--loader': true,\n 'search-icon--show': this.searchLoading,\n }}\n slot=\"end\"\n >\n <nano-icon name=\"light/spinner-third\"></nano-icon>\n </span>\n </nano-input>\n <input type=\"submit\" />\n </form>,\n ];\n }\n\n render() {\n this.autocompleteEles = [];\n let isRtl = (this.el.ownerDocument as Document).dir === 'rtl';\n\n let searchWidget = this.searchWidget();\n searchWidget.push(this.autocompleteList());\n\n return (\n <Host\n class={{\n [this.thresholdClasses().join(' ')]: true,\n ready: this.ready,\n 'search-bar-shown': this.searchBarShown && this.scrollingUp,\n 'search-auto-complete-shown':\n this.showAutocomplete && this.scrollingUp,\n 'modal-open': this.modalIsOpen,\n resizing: this.isResizing,\n }}\n dir={isRtl ? 'rtl' : null}\n >\n <div\n class={{\n 'global-nav': true,\n 'scrolling-down': !this.scrollingUp,\n }}\n >\n {/* START BURGER / OVERFLOW MENU */}\n <nav\n id=\"global-nav-menu\"\n class={{\n 'gn-menu': true,\n open: this.modalOpen,\n 'has-promotion': this.hasPromotionSlot,\n 'menu-full-screen': this.menuFullScreen,\n 'secondary-open': this.secondaryMenuOpen,\n }}\n aria-expanded={this.modalOpen ? 'true' : 'false'}\n ref={(div) => (this.menuDiv = div)}\n >\n <div\n class=\"gn-menu_wrap\"\n ref={(div) => (this.menuWrapDiv = div)}\n tabindex=\"-1\"\n >\n <div class=\"gn-menu_actions\">\n <button\n class=\"menu-btn icon-btn icon-btn\"\n onMouseDown={this.onMenuBtnClick}\n onKeyDown={this.onMenuBtnKeyDown}\n >\n {this.threshold < this.THRESHOLDLIMIT - 3 && (\n <nano-icon\n name=\"light/times\"\n aria-label=\"close menu\"\n ></nano-icon>\n )}\n {this.threshold >= this.THRESHOLDLIMIT - 3 && (\n <nano-icon\n name=\"light/bars\"\n aria-label=\"close menu\"\n ></nano-icon>\n )}\n </button>\n\n {this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.icon && [\n !!this.iconSlotLen && <slot name=\"icon\" />,\n this.myAccData &&\n (!this.activeMyAccountSections ||\n this.activeMyAccountSections.includes('icons')) && [\n this.msgUrl && (\n <a href={this.msgUrl} class=\"icon-btn\">\n <nano-icon name=\"light/bell\"></nano-icon>\n {this.msgCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.msgCount}\n </span>\n )}\n </a>\n ),\n this.cartUrl && (\n <a href={this.cartUrl} class=\"icon-btn\">\n <nano-icon name=\"light/shopping-cart\"></nano-icon>\n {this.cartCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.cartCount}\n </span>\n )}\n </a>\n ),\n ],\n ]}\n\n {this.myAccData && this.myAccData.urls.login && (\n <a\n href={this.myAccData.urls.login + this.ssoRedirect}\n class=\"login-btn\"\n >\n Login / Register{' '}\n <nano-icon name=\"solid/chevron-right\"></nano-icon>\n </a>\n )}\n </div>\n\n <div\n class=\"content-wrap\"\n ref={(div) => (this.menuContentDiv = div)}\n >\n <div class=\"content\">\n <nav class=\"nav-links nav-links--main\">\n <slot name=\"overflow\" />\n {this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.main &&\n !!this.mainSlotLen && <slot name=\"main\" />}\n </nav>\n\n {/* ABOUT AND SITE MENU IN BURGER */}\n {(((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.about) ||\n this.hasSiteSlot ||\n !!this.siteNavItms.length) && (\n <div>\n {(!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.about && [\n // About Menu as an open list (before more items are added to burger)\n (this.threshold >=\n this.THRESHOLDLIMIT - (THRESHOLDBREAKS.about + 1) ||\n this.mainSlotLen < 2) &&\n this.overflowSlotLen < 2 && (\n <div class=\"nav-links-wrap\">\n {!!this.aboutNavItms.length && (\n <h4 class=\"nav-links_title\">About</h4>\n )}\n <nav\n class=\"nav-links nav-links--sub\"\n aria-label=\"About the company links\"\n >\n <slot name=\"about\" />\n\n {this.aboutNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={link.address}\n target={link.target}\n >\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </nav>\n </div>\n ),\n // About Menu as hidden list (when more items are added to burger)\n ((this.threshold <\n this.THRESHOLDLIMIT - (THRESHOLDBREAKS.about + 1) &&\n this.mainSlotLen >= 2) ||\n this.overflowSlotLen >= 2) && (\n <nav\n class=\"nav-links\"\n aria-label=\"About the company links\"\n >\n {!this.aboutNavItms.length && (\n <slot name=\"about\" />\n )}\n {!!this.aboutNavItms.length && (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n Company\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-right\"\n ></nano-icon>\n <div slot=\"secondary\">\n <div class=\"content\">\n <button\n class=\"back-btn\"\n onClick={this.subMenuClose}\n >\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-left\"\n aria-label=\"go back\"\n ></nano-icon>\n Company\n </button>\n <slot name=\"about\" />\n <div class=\"content--sub\">\n {this.aboutNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={link.address}\n target={link.target}\n >\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </div>\n </div>\n </div>\n </nano-nav-item>\n )}\n </nav>\n ),\n ]}\n\n {/* SITES MENU (Always in burger) */}\n {(this.hasSiteSlot || !!this.siteNavItms.length) && [\n (this.threshold >= this.THRESHOLDLIMIT - 2 ||\n this.mainSlotLen < 2) &&\n this.overflowSlotLen < 2 && (\n <div class=\"nav-links-wrap\">\n <h4 class=\"nav-links_title\">Sites</h4>\n <nav\n class=\"nav-links nav-links--sub\"\n aria-label=\"Different company site links\"\n >\n <slot name=\"site\" />\n {this.siteNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={link.address}\n target={link.target}\n >\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </nav>\n </div>\n ),\n ((this.threshold < this.THRESHOLDLIMIT - 2 &&\n this.mainSlotLen >= 2) ||\n this.overflowSlotLen >= 2) && (\n <nav\n class=\"nav-links\"\n aria-label=\"Different company site links\"\n >\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n Sites\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-right\"\n ></nano-icon>\n <div slot=\"secondary\">\n <div class=\"content\">\n <button\n class=\"back-btn\"\n onClick={this.subMenuClose}\n >\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-left\"\n aria-label=\"go back\"\n ></nano-icon>\n Sites\n </button>\n <div class=\"content--sub\">\n <slot name=\"site\" />\n {this.siteNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={link.address}\n target={link.target}\n >\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </div>\n </div>\n </div>\n </nano-nav-item>\n </nav>\n ),\n ]}\n </div>\n )}\n </div>\n\n {this.isLoggedIn &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.login &&\n (this.loggedInNavItms.length || this.hasLoggedinSlot) && (\n <nav class=\"nav-links\" aria-label=\"Your user account links\">\n <nano-nav-item class=\"nano-global-nav user-nav nano-global-nav-menu\">\n {this.myAccountUser.name}\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-right\"\n ></nano-icon>\n <div slot=\"secondary\">\n <div class=\"content\">\n <button\n class=\"back-btn\"\n onClick={this.subMenuClose}\n >\n <nano-icon\n slot=\"icon-end\"\n name=\"solid/chevron-left\"\n aria-label=\"go back\"\n ></nano-icon>\n {this.myAccountUser.name}\n </button>\n <div class=\"content--sub\">\n <slot name=\"loggedin\" />\n {this.loggedInNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a href={link.address} target={link.target}>\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n <nano-nav-item class=\"nano-global-nav nano-global-nav-menu\">\n <a\n href={\n this.myAccData.urls.forgot_password +\n this.ssoRedirect\n }\n >\n Change Password\n </a>\n </nano-nav-item>\n </div>\n </div>\n </div>\n </nano-nav-item>\n </nav>\n )}\n\n <slot name=\"promotion\" />\n\n {this.myAccData && this.myAccData.urls.logout && (\n <div class=\"login-btn logout-btn\">\n <a href={this.myAccData.urls.logout + this.ssoRedirect}>\n Logout\n </a>\n </div>\n )}\n </div>\n </div>\n </nav>\n {/* END BURGER / OVERFLOW MENU */}\n\n {/* START MAIN NAV BAR */}\n <nano-sticker\n auto-resize=\"false\"\n break-point-max=\"800\"\n quietMode={{ h: 600, w: 800 }}\n >\n <div class=\"bars\" ref={(div) => (this.barsDiv = div)}>\n <nav\n class=\"main-bar\"\n aria-label=\"Main site navigation\"\n tabindex=\"-1\"\n ref={(div) => (this.mainBarDiv = div)}\n >\n {(this.hasPromotionSlot ||\n !!this.overflowSlotLen ||\n ((this.myAccData || !!this.iconSlotLen) &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.icon) ||\n (this.isLoggedIn &&\n (!!this.loggedInNavItms.length || this.hasLoggedinSlot) &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.login) ||\n (!!this.mainSlotLen &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.main) ||\n ((!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.about) ||\n this.hasSiteSlot ||\n !!this.siteNavItms.length) && (\n <button\n class=\"menu-btn icon-btn\"\n onMouseDown={this.menuOpen}\n onKeyDown={this.onMenuBtnKeyDown}\n aria-expanded={this.modalOpen ? 'true' : 'false'}\n aria-controls=\"global-nav-menu\"\n ref={(btn) => (this.menuBtn = btn)}\n >\n <nano-icon\n name=\"light/bars\"\n aria-label=\"open menu\"\n ></nano-icon>\n </button>\n )}\n\n {this.showLogo && (\n <a href={this.logoUrl} class=\"logo-link\">\n <img\n src={getAssetPath(`./assets/ont-logo.svg`)}\n alt=\"Oxford Nanopore Technologies Logo\"\n class=\"logo\"\n />\n </a>\n )}\n {!this.showLogo && (\n <div class=\"logo-link\">\n <slot name=\"logo\" />\n </div>\n )}\n\n <div class=\"nav-links nav-links--main\">\n <slot name=\"main\" />\n </div>\n\n {this.threshold >=\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.search && [\n this.showSearch && !!this.internalSearchIndeces.length && (\n <div\n class=\"search-widget\"\n role=\"combobox\"\n aria-owns=\"autocomplete-results\"\n aria-expanded={\n this.showAutocomplete && this.autocompleteResults\n ? 'true'\n : 'false'\n }\n >\n {searchWidget}\n </div>\n ),\n (!this.showSearch || !this.myAccData) &&\n !!this.searchSlotLen && <slot name=\"search\" />,\n ]}\n\n {(!!this.aboutSlotLen || !!this.aboutNavItms.length) &&\n this.threshold >=\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.about && (\n <nav\n class=\"nav-links nav-links--sub\"\n aria-label=\"About the company. Links\"\n >\n <slot name=\"about\" />\n {this.aboutNavItms.map((link) => {\n return (\n <nano-nav-item class=\"nano-global-nav nano-global-nav-bar\">\n <a href={link.address} target={link.target}>\n {link.title}\n </a>\n </nano-nav-item>\n );\n })}\n </nav>\n )}\n\n {this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.search &&\n ((this.showSearch && !!this.internalSearchIndeces.length) ||\n !!this.searchSlotLen) && (\n <button\n class=\"icon-btn\"\n aria-controls=\"global-nav-search-bar\"\n aria-expanded={this.searchBarShown ? 'true' : 'false'}\n onMouseDown={this.onSearchBtnClick}\n onKeyDown={this.onSearchBtnKeyDown}\n >\n <nano-icon name=\"light/search\"></nano-icon>\n </button>\n )}\n\n {this.threshold >=\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.icon && [\n !!this.iconSlotLen && <slot name=\"icon\" />,\n this.myAccData &&\n (!this.activeMyAccountSections ||\n this.activeMyAccountSections.includes('icons')) && [\n this.msgUrl && (\n <a href={this.msgUrl} class=\"icon-btn\">\n <nano-icon name=\"light/bell\"></nano-icon>\n {this.msgCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.msgCount}\n </span>\n )}\n </a>\n ),\n this.cartUrl && (\n <a href={this.cartUrl} class=\"icon-btn\">\n <nano-icon name=\"light/shopping-cart\"></nano-icon>\n {this.cartCount > 0 && (\n <span class=\"gn-menu_actions-counter\">\n {this.cartCount}\n </span>\n )}\n </a>\n ),\n ],\n ]}\n\n {this.myAccData &&\n (!this.activeMyAccountSections ||\n this.activeMyAccountSections.includes('loggedin')) &&\n this.threshold >=\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.login && [\n this.myAccData.urls.login && (\n <a\n href={this.myAccData.urls.login + this.ssoRedirect}\n class=\"login-btn\"\n >\n Login / Register\n </a>\n ),\n this.myAccountUser && (\n <div class=\"user-links\">\n <button\n class={{\n 'icon-btn': true,\n 'user-links-btn': true,\n open: this.userMenuOpen,\n }}\n onMouseDown={this.onUserBtnClick}\n onKeyDown={this.onUserBtnKeyDown}\n >\n {' '}\n {this.myAccountUser.name}\n <nano-icon name=\"solid/caret-down\"></nano-icon>\n </button>\n <div\n class=\"user-links-panel\"\n tabindex=\"-1\"\n ref={(div) => (this.userLinkPanel = div)}\n >\n <div class=\"user-links-panel-content\">\n {this.loggedInNavItms.map((link) => {\n return (\n <a href={link.address} target={link.target}>\n {link.title}\n </a>\n );\n })}\n </div>\n <div class=\"user-links-panel-foot\">\n <a\n href={\n this.myAccData.urls.forgot_password +\n this.ssoRedirect\n }\n >\n Change Password\n </a>\n <a\n href={\n this.myAccData.urls.logout + this.ssoRedirect\n }\n >\n Logout\n </a>\n </div>\n </div>\n </div>\n ),\n ]}\n <span class=\"measure-ele\"></span>\n </nav>\n\n {this.threshold <\n this.THRESHOLDLIMIT - THRESHOLDBREAKS.search && (\n <div\n id=\"global-nav-search-bar\"\n class={{\n 'search-bar': true,\n show: this.searchBarShown,\n }}\n aria-expanded={this.searchBarShown ? 'true' : 'false'}\n role=\"region\"\n tabindex=\"-1\"\n ref={(div) => (this.searchBarEl = div)}\n >\n <div class=\"search-widget\">\n {this.showSearch && !!this.internalSearchIndeces.length && (\n <div>{searchWidget}</div>\n )}\n {(!this.showSearch || !this.myAccData) &&\n !!this.searchSlotLen && <slot name=\"search\" />}\n </div>\n </div>\n )}\n </div>\n </nano-sticker>\n {/* END MAIN NAV BAR */}\n\n {(this.threshold < this.THRESHOLDLIMIT - 3 ||\n this.menuFullScreen) && (\n <div\n class={{\n mask: true,\n open: this.modalOpen,\n }}\n onClick={this.menuClose}\n onTouchEnd={this.menuClose}\n ></div>\n )}\n </div>\n <div class=\"site-content\" ref={(div) => (this.siteContent = div)}>\n <slot />\n </div>\n </Host>\n );\n }\n\n // Data processing\n\n private domainFor(origin: string): string {\n if (!this.myAccData) return '';\n let domain = this.myAccData.domains.find((dm) => dm.origin === origin);\n return domain ? domain.domain : '';\n }\n\n private processSearchResults(results: AlgoliaMultiResults | AlgoliaResults) {\n let multiResults = results as AlgoliaMultiResults;\n let singleResult = results as AlgoliaResults;\n\n if (multiResults.results) {\n multiResults.results.forEach((result, i) => {\n multiResults.results[i] = this.processSearchResults(\n result\n ) as AlgoliaResults;\n });\n return multiResults;\n } else {\n singleResult.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url =\n location.protocol + '//' + this.domainFor(hit.origin) + hit.url;\n });\n return singleResult;\n }\n }\n\n private processMyAccData() {\n if (!this.myAccData || !this.myAccData.search.indeces.length) return;\n\n if (this.myAccData.search.api_key)\n this.searchApiKey = this.myAccData.search.api_key;\n if (this.myAccData.search.app_id)\n this.searchAppId = this.myAccData.search.app_id;\n\n if (this.myAccData.cart.count) this.cartCount = this.myAccData.cart.count;\n if (this.myAccData.notifications.count)\n this.msgCount = this.myAccData.notifications.count;\n\n if (!this.searchAppId || !this.searchApiKey) return;\n this.internalSearchIndeces = [\n ...this.myAccData.search.indeces,\n ...this.searchIndeces,\n ];\n\n if (this.myAccData.urls.cart && !this.cartUrl)\n this.cartUrl = this.myAccData.urls.cart;\n if (this.myAccData.urls.messages && !this.msgUrl)\n this.msgUrl = this.myAccData.urls.messages;\n }\n\n private processMyAccLinks() {\n if (!this.myAccData.links || !this.myAccData.links.length) return;\n\n this.myAccData.links.forEach((link) => {\n switch (link.area) {\n case 'left-side-logged-in':\n case 'left-side-logged-out':\n if (\n this.activeMyAccountSections &&\n !this.activeMyAccountSections.includes('sites')\n )\n break;\n if (this.isLoggedIn && link.area === 'left-side-logged-in')\n this.siteNavItms.push(link);\n else if (!this.isLoggedIn && link.area === 'left-side-logged-out')\n this.siteNavItms.push(link);\n break;\n case 'right-side-logged-in':\n case 'right-side-logged-out':\n if (\n this.activeMyAccountSections &&\n !this.activeMyAccountSections.includes('about')\n )\n break;\n if (this.isLoggedIn && link.area === 'right-side-logged-in')\n this.aboutNavItms.push(link);\n else if (!this.isLoggedIn && link.area === 'right-side-logged-out')\n this.aboutNavItms.push(link);\n break;\n case 'profile-panel-list':\n if (\n this.activeMyAccountSections &&\n !this.activeMyAccountSections.includes('loggedin')\n )\n break;\n this.loggedInNavItms.push(link);\n break;\n }\n });\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  var __awaiter=this&&this.__awaiter||function(e,t,n,i){function s(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,r){function a(e){try{l(i.next(e))}catch(t){r(t)}}function o(e){try{l(i["throw"](e))}catch(t){r(t)}}function l(e){e.done?n(e.value):s(e.value).then(a,o)}l((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,s,r,a;return a={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function o(e){return function(t){return l([e,t])}}function l(a){if(i)throw new TypeError("Generator is already executing.");while(n)try{if(i=1,s&&(r=a[0]&2?s["return"]:a[0]?s["throw"]||((r=s["return"])&&r.call(s),0):s.next)&&!(r=r.call(s,a[1])).done)return r;if(s=0,r)a=[a[0]&2,r.value];switch(a[0]){case 0:case 1:r=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;s=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!r||a[1]>r[0]&&a[1]<r[3])){n.label=a[1];break}if(a[0]===6&&n.label<r[1]){n.label=r[1];r=a;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(a);break}if(r[2])n.ops.pop();n.trys.pop();continue}a=t.call(e,n)}catch(o){a=[6,o];s=0}finally{i=r=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t){for(var n=0,i=t.length,s=e.length;n<i;n++,s++)e[s]=t[n];return e};
2
2
  /*!
3
3
  * Web Components for Nanopore digital Web Apps
4
- */System.register(["./p-59b3d24b.system.js","./p-41a2e2e4.system.js","./p-1c216ca4.system.js","./p-d24811c8.system.js","./p-9edbf25d.system.js","./p-e1f46998.system.js","./p-1d13dbdf.system.js","./p-ef053a2f.system.js"],(function(e){"use strict";var t,n,i,s,r,a,o,l,u,c,h,f,d,p,g,v,y;return{setters:[function(e){t=e.g;n=e.l;i=e.r;s=e.c;r=e.f;a=e.i;o=e.h;l=e.e},function(e){u=e.S},function(e){c=e.r},function(e){h=e.a},function(e){f=e.b;d=e.c;p=e.a},function(e){g=e.C},function(e){v=e.g},function(e){y=e.d}],execute:function(){var m=new Map;var x=function(e,t){var n=e.fields,i=e.updater;n.forEach((function(e){i(e,t[e])}))};var b={create:function(e,n){var i=t(e);var s=new Map;var r={wormholes:s,state:n};m.set(e,r);var a=e.connectedCallback;e.connectedCallback=function(){m.set(e,r);if(a){a.call(e)}};var o=e.disconnectedCallback;e.disconnectedCallback=function(){m.delete(e);if(o){o.call(e)}};i.addEventListener("openWormhole",(function(e){e.stopPropagation();var t=e.detail,n=t.consumer,i=t.onOpen;if(s.has(n))return;if(typeof n!=="symbol"){var a=n.connectedCallback,o=n.disconnectedCallback;n.connectedCallback=function(){s.set(n,e.detail);if(a){a.call(n)}};n.disconnectedCallback=function(){s.delete(n);if(o){o.call(n)}}}s.set(n,e.detail);x(e.detail,r.state);i===null||i===void 0?void 0:i.resolve((function(){s.delete(n)}))}));i.addEventListener("closeWormhole",(function(e){var t=e.detail;s.delete(t)}))},Provider:function(e,t){var i=e.state;var s=n();if(m.has(s)){var r=m.get(s);r.state=i;r.wormholes.forEach((function(e){x(e,i)}))}return t}};var w=d((function(e,t){!function(e,n){n(t)}(p,(function(e){function t(e){var n,i,s=new Error(e);return n=s,i=t.prototype,Object.setPrototypeOf?Object.setPrototypeOf(n,i):n.__proto__=i,s}function n(e,n,i){var s=n.slice(0,i).split(/\n/),r=s.length,a=s[r-1].length+1;throw t(e+=" at line "+r+" col "+a+":\n\n "+n.split(/\n/)[r-1]+"\n "+Array(a).join(" ")+"^")}t.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var i=new Function("return this")().Promise,s=!1;try{s=new Function("return (async function(){}).constructor")()}catch(e){if(!(e instanceof SyntaxError))throw e}function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function a(e,t,n){for(var i in t)r(t,i)&&(null==t[i]||"object"!=typeof t[i]||"storage"!==i&&"prefixes"!==i||n?e[i]=t[i]:e[i]=a({},t[i]));return e}var o=/^async +/,l=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,u=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,c=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,h=/[.*+\-?^${}()|[\]\\]/g;function f(e){return h.test(e)?e.replace(h,"\\$&"):e}function d(e,i){i.rmWhitespace&&(e=e.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),l.lastIndex=0,u.lastIndex=0,c.lastIndex=0;var s=i.prefixes,r=[s.h,s.b,s.i,s.r,s.c,s.e].reduce((function(e,t){return e&&t?e+"|"+f(t):t?f(t):e}),""),a=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+f(i.tags[1])+")","g"),h=new RegExp("([^]*?)"+f(i.tags[0])+"(-|_)?\\s*("+r+")?\\s*","g"),d=0,p=!1;function g(t,s){var r,f={f:[]},g=0,v="c";function y(t){var s=e.slice(d,t),r=s.trim();if("f"===v)"safe"===r?f.raw=!0:i.async&&o.test(r)?(r=r.replace(o,""),f.f.push([r,"",!0])):f.f.push([r,""]);else if("fp"===v)f.f[f.f.length-1][1]+=r;else if("err"===v){if(r){var a=s.search(/\S/);n("invalid syntax",e,d+a)}}else f[v]=r;d=t+1}for("h"===s||"b"===s||"c"===s?v="n":"r"===s&&(f.raw=!0,s="i"),a.lastIndex=d;null!==(r=a.exec(e));){var m=r[1],x=r[2],b=r[3],w=r[4],I=r[5],F=r.index;if(m)"("===m?(0===g&&("n"===v?(y(F),v="p"):"f"===v&&(y(F),v="fp")),g++):")"===m?0===--g&&"c"!==v&&(y(F),v="err"):0===g&&"|"===m?(y(F),v="f"):"=>"===m&&(y(F),d+=1,v="res");else if(x){if("/*"===x){var _=e.indexOf("*/",a.lastIndex);-1===_&&n("unclosed comment",e,r.index),a.lastIndex=_+2}else if("'"===x){u.lastIndex=r.index,u.exec(e)?a.lastIndex=u.lastIndex:n("unclosed string",e,r.index)}else if('"'===x){c.lastIndex=r.index,c.exec(e)?a.lastIndex=c.lastIndex:n("unclosed string",e,r.index)}else if("`"===x){l.lastIndex=r.index,l.exec(e)?a.lastIndex=l.lastIndex:n("unclosed string",e,r.index)}}else if(b)return y(F),d=F+r[0].length,h.lastIndex=d,p=I,w&&"h"===s&&(s="s"),f.t=s,f}return n("unclosed tag",e,t),f}var v=function r(a,l){a.b=[],a.d=[];var u,c=!1,f=[];function v(e,t){e&&(e=function(e,t,n,i){var s,r;return"string"==typeof t.autoTrim?s=r=t.autoTrim:Array.isArray(t.autoTrim)&&(s=t.autoTrim[1],r=t.autoTrim[0]),(n||!1===n)&&(s=n),(i||!1===i)&&(r=i),"slurp"===s&&"slurp"===r?e.trim():("_"===s||"slurp"===s?e=String.prototype.trimLeft?e.trimLeft():e.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==s&&"nl"!==s||(e=e.replace(/^(?:\n|\r|\r\n)/,"")),"_"===r||"slurp"===r?e=String.prototype.trimRight?e.trimRight():e.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==r&&"nl"!==r||(e=e.replace(/(?:\n|\r|\r\n)$/,"")),e)}(e,i,p,t))&&(e=e.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),f.push(e))}for(;null!==(u=h.exec(e));){var y,m=u[1],x=u[2],b=u[3]||"";for(var w in s)if(s[w]===b){y=w;break}v(m,x),d=u.index+u[0].length,y||n("unrecognized tag type: "+b,e,d);var I=g(u.index,y),F=I.t;if("h"===F){var _=I.n||"";i.async&&o.test(_)&&(I.a=!0,I.n=_.replace(o,"")),I=r(I),f.push(I)}else if("c"===F){if(a.n===I.n)return c?(c.d=f,a.b.push(c)):a.d=f,a;n("Helper start and end don't match",e,u.index+u[0].length)}else if("b"===F){c?(c.d=f,a.b.push(c)):a.d=f;var R=I.n||"";i.async&&o.test(R)&&(I.a=!0,I.n=R.replace(o,"")),c=I,f=[]}else if("s"===F){var C=I.n||"";i.async&&o.test(C)&&(I.a=!0,I.n=C.replace(o,"")),f.push(I)}else f.push(I)}if(!l)throw t('unclosed helper "'+a.n+'"');return v(e.slice(d,e.length),!1),a.d=f,a}({f:[]},!0);if(i.plugins)for(var y=0;y<i.plugins.length;y++){var m=i.plugins[y];m.processAST&&(v.d=m.processAST(v.d,i))}return v.d}function p(e,t){var n=d(e,t),i="var tR='';"+(t.useWith?"with("+t.varName+"||{}){":"")+x(n,t)+"if(cb){cb(null,tR)} return tR"+(t.useWith?"}":"");if(t.plugins)for(var s=0;s<t.plugins.length;s++){var r=t.plugins[s];r.processFnString&&(i=r.processFnString(i,t))}return i}function g(e,t){for(var n=0;n<t.length;n++){var i=t[n][0],s=t[n][1];e=(t[n][2]?"await ":"")+"c.l('F','"+i+"')("+e,s&&(e+=","+s),e+=")"}return e}function v(e,t,n,i,s,r){var a="{exec:"+(s?"async ":"")+m(n,t,e)+",params:["+i+"]";return r&&(a+=",name:'"+r+"'"),s&&(a+=",async:true"),a+="}"}function y(e,t){for(var n="[",i=0;i<e.length;i++){var s=e[i];n+=v(t,s.res||"",s.d,s.p||"",s.a,s.n),i<e.length&&(n+=",")}return n+="]"}function m(e,t,n){return"function("+t+"){var tR='';"+x(e,n)+"return tR}"}function x(e,t){for(var n=0,i=e.length,s="";n<i;n++){var r=e[n];if("string"==typeof r){s+="tR+='"+r+"';"}else{var a=r.t,o=r.c||"",l=r.f,u=r.n||"",c=r.p||"",h=r.res||"",f=r.b,d=!!r.a;if("i"===a){t.defaultFilter&&(o="c.l('F','"+t.defaultFilter+"')("+o+")");var p=g(o,l);!r.raw&&t.autoEscape&&(p="c.l('F','e')("+p+")"),s+="tR+="+p+";"}else if("h"===a)if(t.storage.nativeHelpers.get(u))s+=t.storage.nativeHelpers.get(u)(r,t);else{var m=(d?"await ":"")+"c.l('H','"+u+"')("+v(t,h,r.d,c,d);m+=f?","+y(f,t):",[]",s+="tR+="+g(m+=",c)",l)+";"}else"s"===a?s+="tR+="+g((d?"await ":"")+"c.l('H','"+u+"')({params:["+c+"]},[],c)",l)+";":"e"===a&&(s+=o+"\n")}}return s}var b=function(){function e(e){this.cache=e}return e.prototype.define=function(e,t){this.cache[e]=t},e.prototype.get=function(e){return this.cache[e]},e.prototype.remove=function(e){delete this.cache[e]},e.prototype.reset=function(){this.cache={}},e.prototype.load=function(e){a(this.cache,e,!0)},e}();function w(e,n,i,s){if(n&&n.length>0)throw t((s?"Native":"")+"Helper '"+e+"' doesn't accept blocks");if(i&&i.length>0)throw t((s?"Native":"")+"Helper '"+e+"' doesn't accept filters")}var I={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function F(e){return I[e]}var _=new b({}),R=new b({each:function(e,t){var n="",i=e.params[0];if(w("each",t,!1),e.async)return new Promise((function(t){!function e(t,n,i,s,r){i(t[n],n).then((function(a){s+=a,n===t.length-1?r(s):e(t,n+1,i,s,r)}))}(i,0,e.exec,n,t)}));for(var s=0;s<i.length;s++)n+=e.exec(i[s],s);return n},foreach:function(e,t){var n=e.params[0];if(w("foreach",t,!1),e.async)return new Promise((function(t){!function e(t,n,i,s,r,a){s(n[i],t[n[i]]).then((function(o){r+=o,i===n.length-1?a(r):e(t,n,i+1,s,r,a)}))}(n,Object.keys(n),0,e.exec,"",t)}));var i="";for(var s in n)r(n,s)&&(i+=e.exec(s,n[s]));return i},include:function(e,n,i){w("include",n,!1);var s=i.storage.templates.get(e.params[0]);if(!s)throw t('Could not fetch template "'+e.params[0]+'"');return s(e.params[1],i)},extends:function(e,n,i){var s=e.params[1]||{};s.content=e.exec();for(var r=0;r<n.length;r++){var a=n[r];s[a.name]=a.exec()}var o=i.storage.templates.get(e.params[0]);if(!o)throw t('Could not fetch template "'+e.params[0]+'"');return o(s,i)},useScope:function(e,t){return w("useScope",t,!1),e.exec(e.params[0])}}),C=new b({if:function(e,t){w("if",!1,e.f,!0);var n="if("+e.p+"){"+x(e.d,t)+"}";if(e.b)for(var i=0;i<e.b.length;i++){var s=e.b[i];"else"===s.n?n+="else{"+x(s.d,t)+"}":"elif"===s.n&&(n+="else if("+s.p+"){"+x(s.d,t)+"}")}return n},try:function(e,n){if(w("try",!1,e.f,!0),!e.b||1!==e.b.length||"catch"!==e.b[0].n)throw t("native helper 'try' only accepts 1 block, 'catch'");var i="try{"+x(e.d,n)+"}",s=e.b[0];return i+="catch"+(s.res?"("+s.res+")":"")+"{"+x(s.d,n)+"}"},block:function(e,t){return w("block",e.b,e.f,!0),"if(!"+t.varName+"["+e.p+"]){tR+=("+m(e.d,"",t)+")()}else{tR+="+t.varName+"["+e.p+"]}"}}),P=new b({e:function(e){var t=String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,F):t}}),S={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(e,n){if("H"===e){var i=this.storage.helpers.get(n);if(i)return i;throw t("Can't find helper '"+n+"'")}if("F"===e){var s=this.storage.filters.get(n);if(s)return s;throw t("Can't find filter '"+n+"'")}},async:!1,storage:{helpers:R,nativeHelpers:C,filters:P,templates:_},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function k(e,t){var n={};return a(n,S),t&&a(n,t),e&&a(n,e),n.l.bind(n),n}function A(e,n){var i=k(n||{}),r=Function;if(i.async){if(!s)throw t("This environment doesn't support async/await");r=s}try{return new r(i.varName,"c","cb",p(e,i))}catch(n){throw n instanceof SyntaxError?t("Bad template syntax\n\n"+n.message+"\n"+Array(n.message.length+1).join("=")+"\n"+p(e,i)):n}}function E(e,t){var n;return t.cache&&t.name&&t.storage.templates.get(t.name)?t.storage.templates.get(t.name):(n="function"==typeof e?e:A(e,t),t.cache&&t.name&&t.storage.templates.define(t.name,n),n)}S.l.bind(S),e.compile=A,e.compileScope=x,e.compileScopeIntoFunction=m,e.compileToString=p,e.defaultConfig=S,e.filters=P,e.getConfig=k,e.helpers=R,e.nativeHelpers=C,e.parse=d,e.render=function(e,n,s,r){var a=k(s||{});if(!a.async)return E(e,a)(n,a);if(!r){if("function"==typeof i)return new i((function(t,i){try{t(E(e,a)(n,a))}catch(e){i(e)}}));throw t("Please provide a callback function, this env doesn't support Promises")}try{E(e,a)(n,a,r)}catch(e){return r(e)}},e.templates=_,Object.defineProperty(e,"__esModule",{value:!0})}))}));var I=f(w);var F=Object.freeze(Object.assign(Object.create(null),w,{default:I}));var _=F;_.filters.define("date_long",(function(e,t){if(t===void 0){t={year:"numeric",month:"long",day:"numeric"}}if(!e)return;var n=new Date(parseInt(e)*1e3);e=n.toLocaleDateString("en-GB",t);return e}));_.filters.define("date_short",(function(e,t){if(t===void 0){t="d/m/y"}if(!e)return;var n=new Date(parseInt(e)*1e3);e=t.replace(/(d)/,n.getDate().toString());e=e.replace(/(m)/,(n.getMonth()+1).toString());e=e.replace(/(y)/,n.getFullYear().toString());return e}));_.filters.define("public_name",(function(e){if(!e)return;e=e.split("_").map((function(e){return e.length<3?e.toUpperCase():e})).join(" ");return e.charAt(0).toUpperCase()+e.slice(1)}));_.filters.define("trim_to",(function(e,t){if(t===void 0){t=100}if(!e)return;if(e.length<=t)return e;return e.substr(0,t)+"..."}));_.filters.define("classname",(function(e){if(!e)return;return e.replace(/[\W]+/g,"")}));_.filters.define("abs_url",(function(e,t,n){if(t===void 0){t=null}if(!t)return e;if(!e)return;var i=undefined;if(t.domains&&n&&n.origin){var s=t.domains.find((function(e){return e.origin===n.origin}));i=s?s.domain:""}else if(t.domain)i=t.domain;if(!i)return e;return e.match(/^http/)?e:location.protocol+"//"+i+e}));_.filters.define("replace",(function(e,t,n){return e.replace(t,n)}));_.filters.define("remove_spaces",(function(e){return e.replace(/ /g,"_")}));_.filters.define("add_spaces",(function(e){return e=e.replace(/[_\-]/g," ")}));_.filters.define("capitalise",(function(e){return e=e.charAt(0).toUpperCase()+e.slice(1)}));_.filters.define("lowercase",(function(e){return e=e.toLowerCase()}));var R=_;var C=function(){function e(){this.queue=[];this.workingOnPromise=false;this.stop=false;this.limit=null}e.prototype.enqueue=function(e){var t=this;return new Promise((function(n,i){t.queue.push({promise:e,resolve:n,reject:i});t.dequeue()}))};e.prototype.dequeue=function(){var e=this;if(this.workingOnPromise){return false}if(this.stop){this.queue=[];this.stop=false;return}var t=this.queue.shift();if(!t){return false}try{this.workingOnPromise=true;t.promise().then((function(n){e.workingOnPromise=false;t.resolve(n);e.dequeue()})).catch((function(n){e.workingOnPromise=false;t.reject(n);e.dequeue()}))}catch(n){this.workingOnPromise=false;t.reject(n);this.dequeue()}return true};return e}();C.pendingPromise=false;var P=":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{position:relative;display:block}:host ::slotted([slot=search-template]),:host::slotted([slot=search-template]){display:none !important}.loader{opacity:0;position:fixed;height:100%;width:100%;min-height:100%;max-height:100vh !important;max-width:100vw !important;left:0;top:0;z-index:-10;font-size:60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:opacity 0.2s ease, z-index 0.01s ease 0.2s;transition:opacity 0.2s ease, z-index 0.01s ease 0.2s}.loader.loading{opacity:1;z-index:10;-webkit-transition:z-index 0.01s ease, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, opacity 0.2s ease 0.01s}.default{height:100%}.default:focus{outline:none}.results{opacity:0;outline:none;overflow:auto;-webkit-transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;-webkit-transform:translate(0, 100px);transform:translate(0, 100px);visibility:hidden;z-index:-1;position:absolute;top:0;left:0;display:none}.results-container{position:relative}.results.show{-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;-webkit-transform:translate(0, 0);transform:translate(0, 0);visibility:visible;opacity:1;z-index:10;overflow:hidden}.results.shown{height:auto !important;width:auto !important;display:block;position:static;-webkit-transform:none;transform:none;z-index:auto;visibility:inherit;opacity:initial}";var S=!!document.head.attachShadow;var k=e("nano_algolia",function(){function e(e){var t=this;i(this,e);this.nanoDidLoad=s(this,"nanoDidLoad",7);this.nanoResultsShown=s(this,"nanoResultsShown",3);this.nanoBeforeQuery=s(this,"nanoBeforeQuery",7);this.nanoAfterQuery=s(this,"nanoAfterQuery",7);this.nanoNewResults=s(this,"nanoNewResults",7);this.staticFacetFilters={};this.dynFacetFilters={};this.hasLoadSlot=false;this.placedAlgoliaEles=[];this.promiseQueue=new C;this._dynFacetFilters={};this.indeces=[];this.filterChanged="";this.changeEvent=u.Init;this.isLoading=false;this.wormholeState=this;this.showResults=false;this.resultsPage=0;this.searchIndex={};this.searchIndexName="";this.listenTo=null;this.query="";this.operator="and";this.filters=[];this.tplEngine=R;this.tplRenderFn=R.render;this.replicaIndex="";this.browseIndex=false;this.minChars=2;this.storeMethod="session";this.searchChange=function(){return __awaiter(t,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){if(!this.algoliaIndex)return[2];if(!this.query||this.query.length<this.minChars){if(!this.browseIndex){if(!this.query||this.query.length===0){this.handleSearchReset();return[2]}else return[2]}else if(this.query!=="*"){this.query="*";return[2]}}this.isLoading=true;setTimeout((function(){return __awaiter(e,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){switch(t.label){case 0:this.resetPage();return[4,this.algoliaSearch(u.Init)];case 1:t.sent();return[4,this.updateContent()];case 2:t.sent();setTimeout((function(t){return e.isLoading=false}),800);this.showResults=true;this.nanoResultsShown.emit(this.indexResults);return[2]}}))}))}),200);return[2]}))}))};this.makeAppliedFilters=function(){var e=[];var n=function(t){Object.values(t).forEach((function(t){if(t.value&&t.value.length){var n=e.find((function(e){return e.name===t.facetName}));if(!n)e.push({name:t.facetName,values:__spreadArray([],t.value)});else n.values=__spreadArray(__spreadArray([],n.values),t.value)}}))};n(t.dynFacetFilters);n(t.staticFacetFilters);if(e.length)return e;return null};this.algoliaSearch=function(e){return __awaiter(t,void 0,void 0,(function(){var t=this;return __generator(this,(function(n){return[2,this.promiseQueue.enqueue((function(){return t.queueSearch(e)}))]}))}))};this.queueSearch=function(e){return __awaiter(t,void 0,void 0,(function(){var t,n;var i=this;return __generator(this,(function(s){switch(s.label){case 0:if(!this.algoliaIndex||!this.query||!this.searchIndex||!this.searchIndex.index)return[2];this.nanoBeforeQuery.emit(this.indexResults);if(u.Init===e)this.clearAllFacetFilters();t={filters:this.algoliaFilterStr(),page:this.indexResults?this.indexResults.currentPage:0};if(this.searchIndex.filters)t.facets=this.searchIndex.filters;if(this.searchIndex.hitsPerPage)t.hitsPerPage=this.searchIndex.hitsPerPage;return[4,this.algoliaIndex.search(this.query,t)];case 1:n=s.sent();n=this.fixDomain(n);this.changeEvent=e;if(e===u.Init||!this.indexResults){this.indexResults={currentPage:0,totalHits:n.nbHits,hitsPerPage:null,origFilters:n.facets,query:this.query,domain:this.searchIndex.domain||null,legacy:!S,totalHitsWithFilters:0,results:[],totalPages:0,appliedFilters:this.makeAppliedFilters(),indexName:this.searchIndex.name||null,index:this.searchIndex.index}}this.indexResults.dynFilters=n.facets;this.indexResults.results=n.hits;this.indexResults.totalHitsWithFilters=n.nbHits;this.indexResults.currentPage=n.page;this.indexResults.totalPages=n.nbPages;this.indexResults.hitsPerPage=n.hitsPerPage;this.indexResults.query=n.query;if(this.changeEvent!==u.Page&&this.changeEvent!==u.Replica){this.facets=n.facets}this.nanoAfterQuery.emit(this.indexResults);return[2,new Promise((function(e){setTimeout((function(){return e("tpl updated")}),20)})).then((function(e){i.currentHits=i.indexResults.results;i.resultsPage=i.indexResults.currentPage}))]}}))}))};this.handleSearchReset=function(){t.showResults=false;t.indexResults=null};this.onResultDisplay=function(){r((function(){t.resultsDiv.removeEventListener("transitionend",t.onResultDisplay);if(!t.showResults)t.resultsDiv.style.display="none";else{t.defaultDiv.style.display="none";t.resultsDiv.classList.add("shown");t.resultsDiv.style.minHeight="";t.resultsDiv.style.width=""}}))}}e.prototype.removeFilters=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n=this;return __generator(this,(function(i){if(!e&&!t)this.clearAllFacetFilters();else{Object.keys(this._dynFacetFilters).forEach((function(i){if(e&&n._dynFacetFilters[i].facetName===e){if(!t)n._dynFacetFilters[i].element.value="";else{n._dynFacetFilters[i].element.value=n._dynFacetFilters[i].value.filter((function(e){return e!==t}))}}}))}return[2]}))}))};e.prototype.onAllTplUpdate=function(e){var t=this;e.stopPropagation();if(e.target.tagName==="NANO-ALGOLIA-RESULTS"){c((function(){t.nanoNewResults.emit(t.indexResults)}))}};e.prototype.onPageChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:if(!this.indexResults)return[2];t=this.resultsPage;if(e){e.stopPropagation();t=e.detail.page}t=Math.min(this.indexResults.totalPages-1,t);t=Math.max(t,0);if(this.indexResults.currentPage===t)return[2];this.indexResults.currentPage=t;return[4,this.algoliaSearch(u.Page)];case 1:n.sent();return[2]}}))}))};e.prototype.onFilterChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n;return __generator(this,(function(i){e.stopPropagation();t={};n=e.detail;n.element=e.target;if(this.indexResults){if(this.staticFacetFilters[n.filterId])this.staticFacetFilters[n.filterId]=n;else{t[n.filterId]=n;this._dynFacetFilters=Object.assign(Object.assign({},this._dynFacetFilters),t)}this.indexResults.appliedFilters=this.makeAppliedFilters()}else this.staticFacetFilters[n.filterId]=n;this.filterChanged=n.value&&n.value.length?n.filterId:"all";this.resetPage();this.algoliaSearch(u.Filter);return[2]}))}))};e.prototype.dynFacetFiltersChange=function(){var e=this;Object.values(this._dynFacetFilters).forEach((function(t){if(e.host.ownerDocument===t.element.ownerDocument)e.dynFacetFilters[t.filterId]=t;else delete e.dynFacetFilters[t.filterId]}))};e.prototype.browseIndexChange=function(){if(this.browseIndex&&(!this.query||this.query.length<this.minChars)){this.query="*"}};e.prototype.inputFieldSet=function(){if(!this.inputField)return;if(this.query!=="*"&&this.inputField&&this.inputField.value!==this.query)this.inputField.value=this.query};e.prototype.queryChange=function(){this.searchChange()};e.prototype.internalIndexSwitch=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!this.replicaIndex||!this.indexResults||this.indexResults.index===this.replicaIndex)return[2];this.indexResults.index=this.replicaIndex;this.algoliaIndex=this.algoliaClient.initIndex(this.indexResults.index);this.resetPage();this.algoliaSearch(u.Replica);return[2]}))}))};e.prototype.pageChange=function(){this.onPageChange()};e.prototype.searchIndexNameChange=function(){if(!this.searchIndexName||!this.searchIndexName.length||this.searchIndex&&this.searchIndex.index===this.searchIndexName)return;this.searchIndex={index:this.searchIndexName}};e.prototype.initAlgoliaClient=function(){if(!this.appId||!this.apiKey)return;this.algoliaClient=h(this.appId,this.apiKey)};e.prototype.initAlgoliaIndex=function(){if(!this.algoliaClient||!this.searchIndex)return;if(this.searchIndex.index){if(this.replicaIndex)this.searchIndex.index=this.replicaIndex;this.searchIndexName=this.searchIndex.index;this.algoliaIndex=this.algoliaClient.initIndex(this.searchIndex.index);this.searchChange()}};e.prototype.showResultsChange=function(){var e=this;if(!this.resultsDiv||!this.defaultDiv)return;if(this.showResults){this.resultsDiv.style.width=this.host.scrollWidth+"px";this.resultsDiv.style.minHeight=this.host.scrollHeight+"px";r((function(){e.resultsDiv.addEventListener("transitionend",e.onResultDisplay);e.resultsDiv.style.display="block";setTimeout((function(){return e.resultsDiv.classList.add("show")}),50)}))}else{r((function(){e.resultsDiv.classList.remove("shown");e.defaultDiv.style.display="block";setTimeout((function(){e.resultsDiv.addEventListener("transitionend",e.onResultDisplay);e.resultsDiv.classList.remove("show");if(!!e.slottedInput)e.slottedInput.focus({preventScroll:true});else e.defaultDiv.focus({preventScroll:true})}),50)}))}};e.prototype.fixDomain=function(e){var t=this;if(!this.searchIndex||!this.searchIndex.domain)return e;e.hits.map((function(e){if(e.url&&!e.url.match(/^http/))e.url=location.protocol+"//"+t.searchIndex.domain+e.url}));return e};e.prototype.resetPage=function(){if(!this.indexResults)return;this.indexResults.currentPage=0};e.prototype.clearAllFacetFilters=function(){Object.values(this._dynFacetFilters).forEach((function(e){e.element.value=""}));this._dynFacetFilters={}};e.prototype.algoliaFilterStr=function(){var e={};var t=function(t){var n;var i;Object.keys(t).forEach((function(s){n=t[s];e[s]=e[s]||{name:n.facetName,or:[],and:[],not:[]};i=e[s][n.operator];if(n.value&&n.value.length){e[s][n.operator]=__spreadArray(__spreadArray([],i),n.value)}}))};t(this.dynFacetFilters);t(this.staticFacetFilters);var n=function(e,t){if(t.indexOf(" ")>-1)return e+':"'+t+'"';else return e+":"+t};var i=[];var s;var r;Object.values(e).forEach((function(e){Object.keys(e).filter((function(e){return e.match(/(or|and|not)/)})).forEach((function(t){s=e;r=e.name;if(t==="or"||t==="and"){if(s[t].length){i.push("( "+s[t].map((function(e){if(e.length)return n(r,e)})).join(" "+t.toLocaleUpperCase()+" ")+" )")}}else{if(s.not.length){i.push("( "+s[t].map((function(e){if(e.length)return"NOT "+n(r,e)})).join(" AND ")+" )")}}}))}));i=__spreadArray(__spreadArray([],this.filters),i);return i.join(" "+this.operator.toLocaleUpperCase()+" ")};e.prototype.handleInputChange=function(e){if(e.target!==this.inputField)return;this.query=this.inputField.value};e.prototype.updateContent=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){return[2,this.promiseQueue.enqueue((function(){return e.updateContentQueue()}))]}))}))};e.prototype.updateContentQueue=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n;var i=this;return __generator(this,(function(s){e=this.outputSlot||this.resultsDiv;if(!e||!this.tpl)return[2,"no tpl"];t=document.createElement("div");t.innerHTML=this.tpl;n=[];this.placedAlgoliaEles=[];Array.from(t.querySelectorAll("nano-algolia, nano-algolia-filter, nano-algolia-results")).forEach((function(e,t){var i=document.createElement("div");i.dataset.placeholderId=t.toString();i.classList.add("nano-ele-placeholder");n.push(e);e.parentNode.replaceChild(i,e)}));e.innerHTML=this.tplRenderFn(t.innerHTML.replace(/&gt;/gm,">").replace(/&lt;/gm,"<").replace(/&amp;/gm,"&"),this.indexResults);Array.from(e.querySelectorAll("div.nano-ele-placeholder")).forEach((function(e){e.parentNode.replaceChild(n[parseInt(e.dataset.placeholderId)],e);i.placedAlgoliaEles.push(n[parseInt(e.dataset.placeholderId)])}));if(!this.placedAlgoliaEles.length)return[2,Promise.resolve("algolia setup")];return[2,new Promise((function(t){var n=function(s){i.placedAlgoliaEles=i.placedAlgoliaEles.filter((function(e){return e!==s.detail}));if(!i.placedAlgoliaEles.length){setTimeout((function(){return t("tpl updated")}),500);e.removeEventListener("nanoTplUpdated",n)}};e.addEventListener("nanoTplUpdated",n)}))]}))}))};e.prototype.componentWillLoad=function(){var e=this;a((function(t){e.tplSlot=v(e.host,'[slot="template"]')[0];e.outputSlot=v(e.host,'[slot="output"]')[0];e.slottedInput=v(e.host,'[slot="search-input"]')[0];e.hasLoadSlot=!!v(e.host,'[slot="loader"]')[0];if(!!e.tplSlot)e.tpl=e.tplSlot.innerHTML;if(e.slottedInput&&(e.slottedInput.tagName.toLocaleLowerCase()==="nano-input"||e.slottedInput instanceof HTMLInputElement)){e.inputField=e.slottedInput}else if(e.slottedInput){e.inputField=e.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])')}r((function(t){if(e.showResults&&e.tpl)e.searchChange()}))}));this.searchIndexNameChange();this.initAlgoliaClient();this.initAlgoliaIndex();b.create(this,this.wormholeState);if(this.storeId){g.init(this,["query","replicaIndex"],this.storeMethod,this.storeId);g.init(this,["apiKey","appId","searchIndex"],"session",this.storeId+"_api")}this.internalIndexSwitch()};e.prototype.connectedCallback=function(){this.searchChange=y(this.searchChange,300);this.browseIndexChange();this.host.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.host}))};e.prototype.render=function(){var e=this;var t={indexResults:this.indexResults,results:this.currentHits,filterChanged:this.filterChanged,tplRenderFn:this.tplRenderFn,resultsPage:this.resultsPage,changeEvent:this.changeEvent,facets:this.facets,algoliaIndex:this.algoliaIndex,searchIndex:this.searchIndex,globalStoreMethod:this.storeMethod,isLoading:this.isLoading};return o(l,{class:{"show-results":this.showResults,"is-loading":this.isLoading},"aria-busy":this.isLoading},this.hasLoadSlot&&o("div",{hidden:!this.isLoading},o("slot",{name:"loader"})),!this.hasLoadSlot&&o("div",{class:{loader:true,loading:this.isLoading}},o("nano-spinner",{overlay:true,type:"circle"})),o(b.Provider,{state:t},o("slot",{name:"search-input"}),o("div",{class:"results-container","aria-live":"polite"},o("div",{ref:function(t){return e.resultsDiv=t},class:"results"},o("slot",{name:"output"})))),o("div",{ref:function(t){return e.defaultDiv=t},class:"default",tabindex:"-1"},o("slot",null)))};Object.defineProperty(e.prototype,"host",{get:function(){return t(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{_dynFacetFilters:["dynFacetFiltersChange"],browseIndex:["browseIndexChange"],inputField:["inputFieldSet"],query:["queryChange"],replicaIndex:["internalIndexSwitch"],resultsPage:["pageChange"],searchIndexName:["searchIndexNameChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaIndex"],showResults:["showResultsChange"]}},enumerable:false,configurable:true});return e}());k.style=P}}}));
5
- //# sourceMappingURL=p-92f85aaf.system.entry.js.map
4
+ */System.register(["./p-f48be9f5.system.js","./p-3a00de47.system.js","./p-1c216ca4.system.js","./p-6b5760b1.system.js","./p-9edbf25d.system.js","./p-129e2b4b.system.js","./p-1d13dbdf.system.js","./p-ef053a2f.system.js"],(function(e){"use strict";var t,n,i,s,r,a,o,l,u,c,h,f,d,p,g,v,y;return{setters:[function(e){t=e.g;n=e.k;i=e.r;s=e.c;r=e.f;a=e.i;o=e.h;l=e.e},function(e){u=e.S},function(e){c=e.r},function(e){h=e.a},function(e){f=e.b;d=e.c;p=e.a},function(e){g=e.C},function(e){v=e.g},function(e){y=e.d}],execute:function(){var m=new Map;var x=function(e,t){var n=e.fields,i=e.updater;n.forEach((function(e){i(e,t[e])}))};var b={create:function(e,n){var i=t(e);var s=new Map;var r={wormholes:s,state:n};m.set(e,r);var a=e.connectedCallback;e.connectedCallback=function(){m.set(e,r);if(a){a.call(e)}};var o=e.disconnectedCallback;e.disconnectedCallback=function(){m.delete(e);if(o){o.call(e)}};i.addEventListener("openWormhole",(function(e){e.stopPropagation();var t=e.detail,n=t.consumer,i=t.onOpen;if(s.has(n))return;if(typeof n!=="symbol"){var a=n.connectedCallback,o=n.disconnectedCallback;n.connectedCallback=function(){s.set(n,e.detail);if(a){a.call(n)}};n.disconnectedCallback=function(){s.delete(n);if(o){o.call(n)}}}s.set(n,e.detail);x(e.detail,r.state);i===null||i===void 0?void 0:i.resolve((function(){s.delete(n)}))}));i.addEventListener("closeWormhole",(function(e){var t=e.detail;s.delete(t)}))},Provider:function(e,t){var i=e.state;var s=n();if(m.has(s)){var r=m.get(s);r.state=i;r.wormholes.forEach((function(e){x(e,i)}))}return t}};var w=d((function(e,t){!function(e,n){n(t)}(p,(function(e){function t(e){var n,i,s=new Error(e);return n=s,i=t.prototype,Object.setPrototypeOf?Object.setPrototypeOf(n,i):n.__proto__=i,s}function n(e,n,i){var s=n.slice(0,i).split(/\n/),r=s.length,a=s[r-1].length+1;throw t(e+=" at line "+r+" col "+a+":\n\n "+n.split(/\n/)[r-1]+"\n "+Array(a).join(" ")+"^")}t.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var i=new Function("return this")().Promise,s=!1;try{s=new Function("return (async function(){}).constructor")()}catch(e){if(!(e instanceof SyntaxError))throw e}function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function a(e,t,n){for(var i in t)r(t,i)&&(null==t[i]||"object"!=typeof t[i]||"storage"!==i&&"prefixes"!==i||n?e[i]=t[i]:e[i]=a({},t[i]));return e}var o=/^async +/,l=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,u=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,c=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,h=/[.*+\-?^${}()|[\]\\]/g;function f(e){return h.test(e)?e.replace(h,"\\$&"):e}function d(e,i){i.rmWhitespace&&(e=e.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),l.lastIndex=0,u.lastIndex=0,c.lastIndex=0;var s=i.prefixes,r=[s.h,s.b,s.i,s.r,s.c,s.e].reduce((function(e,t){return e&&t?e+"|"+f(t):t?f(t):e}),""),a=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+f(i.tags[1])+")","g"),h=new RegExp("([^]*?)"+f(i.tags[0])+"(-|_)?\\s*("+r+")?\\s*","g"),d=0,p=!1;function g(t,s){var r,f={f:[]},g=0,v="c";function y(t){var s=e.slice(d,t),r=s.trim();if("f"===v)"safe"===r?f.raw=!0:i.async&&o.test(r)?(r=r.replace(o,""),f.f.push([r,"",!0])):f.f.push([r,""]);else if("fp"===v)f.f[f.f.length-1][1]+=r;else if("err"===v){if(r){var a=s.search(/\S/);n("invalid syntax",e,d+a)}}else f[v]=r;d=t+1}for("h"===s||"b"===s||"c"===s?v="n":"r"===s&&(f.raw=!0,s="i"),a.lastIndex=d;null!==(r=a.exec(e));){var m=r[1],x=r[2],b=r[3],w=r[4],I=r[5],F=r.index;if(m)"("===m?(0===g&&("n"===v?(y(F),v="p"):"f"===v&&(y(F),v="fp")),g++):")"===m?0===--g&&"c"!==v&&(y(F),v="err"):0===g&&"|"===m?(y(F),v="f"):"=>"===m&&(y(F),d+=1,v="res");else if(x){if("/*"===x){var _=e.indexOf("*/",a.lastIndex);-1===_&&n("unclosed comment",e,r.index),a.lastIndex=_+2}else if("'"===x){u.lastIndex=r.index,u.exec(e)?a.lastIndex=u.lastIndex:n("unclosed string",e,r.index)}else if('"'===x){c.lastIndex=r.index,c.exec(e)?a.lastIndex=c.lastIndex:n("unclosed string",e,r.index)}else if("`"===x){l.lastIndex=r.index,l.exec(e)?a.lastIndex=l.lastIndex:n("unclosed string",e,r.index)}}else if(b)return y(F),d=F+r[0].length,h.lastIndex=d,p=I,w&&"h"===s&&(s="s"),f.t=s,f}return n("unclosed tag",e,t),f}var v=function r(a,l){a.b=[],a.d=[];var u,c=!1,f=[];function v(e,t){e&&(e=function(e,t,n,i){var s,r;return"string"==typeof t.autoTrim?s=r=t.autoTrim:Array.isArray(t.autoTrim)&&(s=t.autoTrim[1],r=t.autoTrim[0]),(n||!1===n)&&(s=n),(i||!1===i)&&(r=i),"slurp"===s&&"slurp"===r?e.trim():("_"===s||"slurp"===s?e=String.prototype.trimLeft?e.trimLeft():e.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==s&&"nl"!==s||(e=e.replace(/^(?:\n|\r|\r\n)/,"")),"_"===r||"slurp"===r?e=String.prototype.trimRight?e.trimRight():e.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==r&&"nl"!==r||(e=e.replace(/(?:\n|\r|\r\n)$/,"")),e)}(e,i,p,t))&&(e=e.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),f.push(e))}for(;null!==(u=h.exec(e));){var y,m=u[1],x=u[2],b=u[3]||"";for(var w in s)if(s[w]===b){y=w;break}v(m,x),d=u.index+u[0].length,y||n("unrecognized tag type: "+b,e,d);var I=g(u.index,y),F=I.t;if("h"===F){var _=I.n||"";i.async&&o.test(_)&&(I.a=!0,I.n=_.replace(o,"")),I=r(I),f.push(I)}else if("c"===F){if(a.n===I.n)return c?(c.d=f,a.b.push(c)):a.d=f,a;n("Helper start and end don't match",e,u.index+u[0].length)}else if("b"===F){c?(c.d=f,a.b.push(c)):a.d=f;var R=I.n||"";i.async&&o.test(R)&&(I.a=!0,I.n=R.replace(o,"")),c=I,f=[]}else if("s"===F){var C=I.n||"";i.async&&o.test(C)&&(I.a=!0,I.n=C.replace(o,"")),f.push(I)}else f.push(I)}if(!l)throw t('unclosed helper "'+a.n+'"');return v(e.slice(d,e.length),!1),a.d=f,a}({f:[]},!0);if(i.plugins)for(var y=0;y<i.plugins.length;y++){var m=i.plugins[y];m.processAST&&(v.d=m.processAST(v.d,i))}return v.d}function p(e,t){var n=d(e,t),i="var tR='';"+(t.useWith?"with("+t.varName+"||{}){":"")+x(n,t)+"if(cb){cb(null,tR)} return tR"+(t.useWith?"}":"");if(t.plugins)for(var s=0;s<t.plugins.length;s++){var r=t.plugins[s];r.processFnString&&(i=r.processFnString(i,t))}return i}function g(e,t){for(var n=0;n<t.length;n++){var i=t[n][0],s=t[n][1];e=(t[n][2]?"await ":"")+"c.l('F','"+i+"')("+e,s&&(e+=","+s),e+=")"}return e}function v(e,t,n,i,s,r){var a="{exec:"+(s?"async ":"")+m(n,t,e)+",params:["+i+"]";return r&&(a+=",name:'"+r+"'"),s&&(a+=",async:true"),a+="}"}function y(e,t){for(var n="[",i=0;i<e.length;i++){var s=e[i];n+=v(t,s.res||"",s.d,s.p||"",s.a,s.n),i<e.length&&(n+=",")}return n+="]"}function m(e,t,n){return"function("+t+"){var tR='';"+x(e,n)+"return tR}"}function x(e,t){for(var n=0,i=e.length,s="";n<i;n++){var r=e[n];if("string"==typeof r){s+="tR+='"+r+"';"}else{var a=r.t,o=r.c||"",l=r.f,u=r.n||"",c=r.p||"",h=r.res||"",f=r.b,d=!!r.a;if("i"===a){t.defaultFilter&&(o="c.l('F','"+t.defaultFilter+"')("+o+")");var p=g(o,l);!r.raw&&t.autoEscape&&(p="c.l('F','e')("+p+")"),s+="tR+="+p+";"}else if("h"===a)if(t.storage.nativeHelpers.get(u))s+=t.storage.nativeHelpers.get(u)(r,t);else{var m=(d?"await ":"")+"c.l('H','"+u+"')("+v(t,h,r.d,c,d);m+=f?","+y(f,t):",[]",s+="tR+="+g(m+=",c)",l)+";"}else"s"===a?s+="tR+="+g((d?"await ":"")+"c.l('H','"+u+"')({params:["+c+"]},[],c)",l)+";":"e"===a&&(s+=o+"\n")}}return s}var b=function(){function e(e){this.cache=e}return e.prototype.define=function(e,t){this.cache[e]=t},e.prototype.get=function(e){return this.cache[e]},e.prototype.remove=function(e){delete this.cache[e]},e.prototype.reset=function(){this.cache={}},e.prototype.load=function(e){a(this.cache,e,!0)},e}();function w(e,n,i,s){if(n&&n.length>0)throw t((s?"Native":"")+"Helper '"+e+"' doesn't accept blocks");if(i&&i.length>0)throw t((s?"Native":"")+"Helper '"+e+"' doesn't accept filters")}var I={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function F(e){return I[e]}var _=new b({}),R=new b({each:function(e,t){var n="",i=e.params[0];if(w("each",t,!1),e.async)return new Promise((function(t){!function e(t,n,i,s,r){i(t[n],n).then((function(a){s+=a,n===t.length-1?r(s):e(t,n+1,i,s,r)}))}(i,0,e.exec,n,t)}));for(var s=0;s<i.length;s++)n+=e.exec(i[s],s);return n},foreach:function(e,t){var n=e.params[0];if(w("foreach",t,!1),e.async)return new Promise((function(t){!function e(t,n,i,s,r,a){s(n[i],t[n[i]]).then((function(o){r+=o,i===n.length-1?a(r):e(t,n,i+1,s,r,a)}))}(n,Object.keys(n),0,e.exec,"",t)}));var i="";for(var s in n)r(n,s)&&(i+=e.exec(s,n[s]));return i},include:function(e,n,i){w("include",n,!1);var s=i.storage.templates.get(e.params[0]);if(!s)throw t('Could not fetch template "'+e.params[0]+'"');return s(e.params[1],i)},extends:function(e,n,i){var s=e.params[1]||{};s.content=e.exec();for(var r=0;r<n.length;r++){var a=n[r];s[a.name]=a.exec()}var o=i.storage.templates.get(e.params[0]);if(!o)throw t('Could not fetch template "'+e.params[0]+'"');return o(s,i)},useScope:function(e,t){return w("useScope",t,!1),e.exec(e.params[0])}}),C=new b({if:function(e,t){w("if",!1,e.f,!0);var n="if("+e.p+"){"+x(e.d,t)+"}";if(e.b)for(var i=0;i<e.b.length;i++){var s=e.b[i];"else"===s.n?n+="else{"+x(s.d,t)+"}":"elif"===s.n&&(n+="else if("+s.p+"){"+x(s.d,t)+"}")}return n},try:function(e,n){if(w("try",!1,e.f,!0),!e.b||1!==e.b.length||"catch"!==e.b[0].n)throw t("native helper 'try' only accepts 1 block, 'catch'");var i="try{"+x(e.d,n)+"}",s=e.b[0];return i+="catch"+(s.res?"("+s.res+")":"")+"{"+x(s.d,n)+"}"},block:function(e,t){return w("block",e.b,e.f,!0),"if(!"+t.varName+"["+e.p+"]){tR+=("+m(e.d,"",t)+")()}else{tR+="+t.varName+"["+e.p+"]}"}}),P=new b({e:function(e){var t=String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,F):t}}),S={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(e,n){if("H"===e){var i=this.storage.helpers.get(n);if(i)return i;throw t("Can't find helper '"+n+"'")}if("F"===e){var s=this.storage.filters.get(n);if(s)return s;throw t("Can't find filter '"+n+"'")}},async:!1,storage:{helpers:R,nativeHelpers:C,filters:P,templates:_},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function k(e,t){var n={};return a(n,S),t&&a(n,t),e&&a(n,e),n.l.bind(n),n}function A(e,n){var i=k(n||{}),r=Function;if(i.async){if(!s)throw t("This environment doesn't support async/await");r=s}try{return new r(i.varName,"c","cb",p(e,i))}catch(n){throw n instanceof SyntaxError?t("Bad template syntax\n\n"+n.message+"\n"+Array(n.message.length+1).join("=")+"\n"+p(e,i)):n}}function E(e,t){var n;return t.cache&&t.name&&t.storage.templates.get(t.name)?t.storage.templates.get(t.name):(n="function"==typeof e?e:A(e,t),t.cache&&t.name&&t.storage.templates.define(t.name,n),n)}S.l.bind(S),e.compile=A,e.compileScope=x,e.compileScopeIntoFunction=m,e.compileToString=p,e.defaultConfig=S,e.filters=P,e.getConfig=k,e.helpers=R,e.nativeHelpers=C,e.parse=d,e.render=function(e,n,s,r){var a=k(s||{});if(!a.async)return E(e,a)(n,a);if(!r){if("function"==typeof i)return new i((function(t,i){try{t(E(e,a)(n,a))}catch(e){i(e)}}));throw t("Please provide a callback function, this env doesn't support Promises")}try{E(e,a)(n,a,r)}catch(e){return r(e)}},e.templates=_,Object.defineProperty(e,"__esModule",{value:!0})}))}));var I=f(w);var F=Object.freeze(Object.assign(Object.create(null),w,{default:I}));var _=F;_.filters.define("date_long",(function(e,t){if(t===void 0){t={year:"numeric",month:"long",day:"numeric"}}if(!e)return;var n=new Date(parseInt(e)*1e3);e=n.toLocaleDateString("en-GB",t);return e}));_.filters.define("date_short",(function(e,t){if(t===void 0){t="d/m/y"}if(!e)return;var n=new Date(parseInt(e)*1e3);e=t.replace(/(d)/,n.getDate().toString());e=e.replace(/(m)/,(n.getMonth()+1).toString());e=e.replace(/(y)/,n.getFullYear().toString());return e}));_.filters.define("public_name",(function(e){if(!e)return;e=e.split("_").map((function(e){return e.length<3?e.toUpperCase():e})).join(" ");return e.charAt(0).toUpperCase()+e.slice(1)}));_.filters.define("trim_to",(function(e,t){if(t===void 0){t=100}if(!e)return;if(e.length<=t)return e;return e.substr(0,t)+"..."}));_.filters.define("classname",(function(e){if(!e)return;return e.replace(/[\W]+/g,"")}));_.filters.define("abs_url",(function(e,t,n){if(t===void 0){t=null}if(!t)return e;if(!e)return;var i=undefined;if(t.domains&&n&&n.origin){var s=t.domains.find((function(e){return e.origin===n.origin}));i=s?s.domain:""}else if(t.domain)i=t.domain;if(!i)return e;return e.match(/^http/)?e:location.protocol+"//"+i+e}));_.filters.define("replace",(function(e,t,n){return e.replace(t,n)}));_.filters.define("remove_spaces",(function(e){return e.replace(/ /g,"_")}));_.filters.define("add_spaces",(function(e){return e=e.replace(/[_\-]/g," ")}));_.filters.define("capitalise",(function(e){return e=e.charAt(0).toUpperCase()+e.slice(1)}));_.filters.define("lowercase",(function(e){return e=e.toLowerCase()}));var R=_;var C=function(){function e(){this.queue=[];this.workingOnPromise=false;this.stop=false;this.limit=null}e.prototype.enqueue=function(e){var t=this;return new Promise((function(n,i){t.queue.push({promise:e,resolve:n,reject:i});t.dequeue()}))};e.prototype.dequeue=function(){var e=this;if(this.workingOnPromise){return false}if(this.stop){this.queue=[];this.stop=false;return}var t=this.queue.shift();if(!t){return false}try{this.workingOnPromise=true;t.promise().then((function(n){e.workingOnPromise=false;t.resolve(n);e.dequeue()})).catch((function(n){e.workingOnPromise=false;t.reject(n);e.dequeue()}))}catch(n){this.workingOnPromise=false;t.reject(n);this.dequeue()}return true};return e}();C.pendingPromise=false;var P=":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{position:relative;display:block}:host ::slotted([slot=search-template]),:host::slotted([slot=search-template]){display:none !important}.loader{opacity:0;position:fixed;height:100%;width:100%;min-height:100%;max-height:100vh !important;max-width:100vw !important;left:0;top:0;z-index:-10;font-size:60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:opacity 0.2s ease, z-index 0.01s ease 0.2s;transition:opacity 0.2s ease, z-index 0.01s ease 0.2s}.loader.loading{opacity:1;z-index:10;-webkit-transition:z-index 0.01s ease, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, opacity 0.2s ease 0.01s}.default{height:100%}.default:focus{outline:none}.results{opacity:0;outline:none;overflow:auto;-webkit-transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;-webkit-transform:translate(0, 100px);transform:translate(0, 100px);visibility:hidden;z-index:-1;position:absolute;top:0;left:0;display:none}.results-container{position:relative}.results.show{-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;-webkit-transform:translate(0, 0);transform:translate(0, 0);visibility:visible;opacity:1;z-index:10;overflow:hidden}.results.shown{height:auto !important;width:auto !important;display:block;position:static;-webkit-transform:none;transform:none;z-index:auto;visibility:inherit;opacity:initial}";var S=!!document.head.attachShadow;var k=e("nano_algolia",function(){function e(e){var t=this;i(this,e);this.nanoDidLoad=s(this,"nanoDidLoad",7);this.nanoResultsShown=s(this,"nanoResultsShown",3);this.nanoBeforeQuery=s(this,"nanoBeforeQuery",7);this.nanoAfterQuery=s(this,"nanoAfterQuery",7);this.nanoNewResults=s(this,"nanoNewResults",7);this.staticFacetFilters={};this.dynFacetFilters={};this.hasLoadSlot=false;this.placedAlgoliaEles=[];this.promiseQueue=new C;this._dynFacetFilters={};this.indeces=[];this.filterChanged="";this.changeEvent=u.Init;this.isLoading=false;this.wormholeState=this;this.showResults=false;this.resultsPage=0;this.searchIndex={};this.searchIndexName="";this.listenTo=null;this.query="";this.operator="and";this.filters=[];this.tplEngine=R;this.tplRenderFn=R.render;this.replicaIndex="";this.browseIndex=false;this.minChars=2;this.storeMethod="session";this.searchChange=function(){return __awaiter(t,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){if(!this.algoliaIndex)return[2];if(!this.query||this.query.length<this.minChars){if(!this.browseIndex){if(!this.query||this.query.length===0){this.handleSearchReset();return[2]}else return[2]}else if(this.query!=="*"){this.query="*";return[2]}}this.isLoading=true;setTimeout((function(){return __awaiter(e,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){switch(t.label){case 0:this.resetPage();return[4,this.algoliaSearch(u.Init)];case 1:t.sent();return[4,this.updateContent()];case 2:t.sent();setTimeout((function(t){return e.isLoading=false}),800);this.showResults=true;this.nanoResultsShown.emit(this.indexResults);return[2]}}))}))}),200);return[2]}))}))};this.makeAppliedFilters=function(){var e=[];var n=function(t){Object.values(t).forEach((function(t){if(t.value&&t.value.length){var n=e.find((function(e){return e.name===t.facetName}));if(!n)e.push({name:t.facetName,values:__spreadArray([],t.value)});else n.values=__spreadArray(__spreadArray([],n.values),t.value)}}))};n(t.dynFacetFilters);n(t.staticFacetFilters);if(e.length)return e;return null};this.algoliaSearch=function(e){return __awaiter(t,void 0,void 0,(function(){var t=this;return __generator(this,(function(n){return[2,this.promiseQueue.enqueue((function(){return t.queueSearch(e)}))]}))}))};this.queueSearch=function(e){return __awaiter(t,void 0,void 0,(function(){var t,n;var i=this;return __generator(this,(function(s){switch(s.label){case 0:if(!this.algoliaIndex||!this.query||!this.searchIndex||!this.searchIndex.index)return[2];this.nanoBeforeQuery.emit(this.indexResults);if(u.Init===e)this.clearAllFacetFilters();t={filters:this.algoliaFilterStr(),page:this.indexResults?this.indexResults.currentPage:0};if(this.searchIndex.filters)t.facets=this.searchIndex.filters;if(this.searchIndex.hitsPerPage)t.hitsPerPage=this.searchIndex.hitsPerPage;return[4,this.algoliaIndex.search(this.query,t)];case 1:n=s.sent();n=this.fixDomain(n);this.changeEvent=e;if(e===u.Init||!this.indexResults){this.indexResults={currentPage:0,totalHits:n.nbHits,hitsPerPage:null,origFilters:n.facets,query:this.query,domain:this.searchIndex.domain||null,legacy:!S,totalHitsWithFilters:0,results:[],totalPages:0,appliedFilters:this.makeAppliedFilters(),indexName:this.searchIndex.name||null,index:this.searchIndex.index}}this.indexResults.dynFilters=n.facets;this.indexResults.results=n.hits;this.indexResults.totalHitsWithFilters=n.nbHits;this.indexResults.currentPage=n.page;this.indexResults.totalPages=n.nbPages;this.indexResults.hitsPerPage=n.hitsPerPage;this.indexResults.query=n.query;if(this.changeEvent!==u.Page&&this.changeEvent!==u.Replica){this.facets=n.facets}this.nanoAfterQuery.emit(this.indexResults);return[2,new Promise((function(e){setTimeout((function(){return e("tpl updated")}),20)})).then((function(e){i.currentHits=i.indexResults.results;i.resultsPage=i.indexResults.currentPage}))]}}))}))};this.handleSearchReset=function(){t.showResults=false;t.indexResults=null};this.onResultDisplay=function(){r((function(){t.resultsDiv.removeEventListener("transitionend",t.onResultDisplay);if(!t.showResults)t.resultsDiv.style.display="none";else{t.defaultDiv.style.display="none";t.resultsDiv.classList.add("shown");t.resultsDiv.style.minHeight="";t.resultsDiv.style.width=""}}))}}e.prototype.removeFilters=function(e,t){return __awaiter(this,void 0,void 0,(function(){var n=this;return __generator(this,(function(i){if(!e&&!t)this.clearAllFacetFilters();else{Object.keys(this._dynFacetFilters).forEach((function(i){if(e&&n._dynFacetFilters[i].facetName===e){if(!t)n._dynFacetFilters[i].element.value="";else{n._dynFacetFilters[i].element.value=n._dynFacetFilters[i].value.filter((function(e){return e!==t}))}}}))}return[2]}))}))};e.prototype.onAllTplUpdate=function(e){var t=this;e.stopPropagation();if(e.target.tagName==="NANO-ALGOLIA-RESULTS"){c((function(){t.nanoNewResults.emit(t.indexResults)}))}};e.prototype.onPageChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(n){switch(n.label){case 0:if(!this.indexResults)return[2];t=this.resultsPage;if(e){e.stopPropagation();t=e.detail.page}t=Math.min(this.indexResults.totalPages-1,t);t=Math.max(t,0);if(this.indexResults.currentPage===t)return[2];this.indexResults.currentPage=t;return[4,this.algoliaSearch(u.Page)];case 1:n.sent();return[2]}}))}))};e.prototype.onFilterChange=function(e){return __awaiter(this,void 0,void 0,(function(){var t,n;return __generator(this,(function(i){e.stopPropagation();t={};n=e.detail;n.element=e.target;if(this.indexResults){if(this.staticFacetFilters[n.filterId])this.staticFacetFilters[n.filterId]=n;else{t[n.filterId]=n;this._dynFacetFilters=Object.assign(Object.assign({},this._dynFacetFilters),t)}this.indexResults.appliedFilters=this.makeAppliedFilters()}else this.staticFacetFilters[n.filterId]=n;this.filterChanged=n.value&&n.value.length?n.filterId:"all";this.resetPage();this.algoliaSearch(u.Filter);return[2]}))}))};e.prototype.dynFacetFiltersChange=function(){var e=this;Object.values(this._dynFacetFilters).forEach((function(t){if(e.host.ownerDocument===t.element.ownerDocument)e.dynFacetFilters[t.filterId]=t;else delete e.dynFacetFilters[t.filterId]}))};e.prototype.browseIndexChange=function(){if(this.browseIndex&&(!this.query||this.query.length<this.minChars)){this.query="*"}};e.prototype.inputFieldSet=function(){if(!this.inputField)return;if(this.query!=="*"&&this.inputField&&this.inputField.value!==this.query)this.inputField.value=this.query};e.prototype.queryChange=function(){this.searchChange()};e.prototype.internalIndexSwitch=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!this.replicaIndex||!this.indexResults||this.indexResults.index===this.replicaIndex)return[2];this.indexResults.index=this.replicaIndex;this.algoliaIndex=this.algoliaClient.initIndex(this.indexResults.index);this.resetPage();this.algoliaSearch(u.Replica);return[2]}))}))};e.prototype.pageChange=function(){this.onPageChange()};e.prototype.searchIndexNameChange=function(){if(!this.searchIndexName||!this.searchIndexName.length||this.searchIndex&&this.searchIndex.index===this.searchIndexName)return;this.searchIndex={index:this.searchIndexName}};e.prototype.initAlgoliaClient=function(){if(!this.appId||!this.apiKey)return;this.algoliaClient=h(this.appId,this.apiKey)};e.prototype.initAlgoliaIndex=function(){if(!this.algoliaClient||!this.searchIndex)return;if(this.searchIndex.index){if(this.replicaIndex)this.searchIndex.index=this.replicaIndex;this.searchIndexName=this.searchIndex.index;this.algoliaIndex=this.algoliaClient.initIndex(this.searchIndex.index);this.searchChange()}};e.prototype.showResultsChange=function(){var e=this;if(!this.resultsDiv||!this.defaultDiv)return;if(this.showResults){this.resultsDiv.style.width=this.host.scrollWidth+"px";this.resultsDiv.style.minHeight=this.host.scrollHeight+"px";r((function(){e.resultsDiv.addEventListener("transitionend",e.onResultDisplay);e.resultsDiv.style.display="block";setTimeout((function(){return e.resultsDiv.classList.add("show")}),50)}))}else{r((function(){e.resultsDiv.classList.remove("shown");e.defaultDiv.style.display="block";setTimeout((function(){e.resultsDiv.addEventListener("transitionend",e.onResultDisplay);e.resultsDiv.classList.remove("show");if(!!e.slottedInput)e.slottedInput.focus({preventScroll:true});else e.defaultDiv.focus({preventScroll:true})}),50)}))}};e.prototype.fixDomain=function(e){var t=this;if(!this.searchIndex||!this.searchIndex.domain)return e;e.hits.map((function(e){if(e.url&&!e.url.match(/^http/))e.url=location.protocol+"//"+t.searchIndex.domain+e.url}));return e};e.prototype.resetPage=function(){if(!this.indexResults)return;this.indexResults.currentPage=0};e.prototype.clearAllFacetFilters=function(){Object.values(this._dynFacetFilters).forEach((function(e){e.element.value=""}));this._dynFacetFilters={}};e.prototype.algoliaFilterStr=function(){var e={};var t=function(t){var n;var i;Object.keys(t).forEach((function(s){n=t[s];e[s]=e[s]||{name:n.facetName,or:[],and:[],not:[]};i=e[s][n.operator];if(n.value&&n.value.length){e[s][n.operator]=__spreadArray(__spreadArray([],i),n.value)}}))};t(this.dynFacetFilters);t(this.staticFacetFilters);var n=function(e,t){if(t.indexOf(" ")>-1)return e+':"'+t+'"';else return e+":"+t};var i=[];var s;var r;Object.values(e).forEach((function(e){Object.keys(e).filter((function(e){return e.match(/(or|and|not)/)})).forEach((function(t){s=e;r=e.name;if(t==="or"||t==="and"){if(s[t].length){i.push("( "+s[t].map((function(e){if(e.length)return n(r,e)})).join(" "+t.toLocaleUpperCase()+" ")+" )")}}else{if(s.not.length){i.push("( "+s[t].map((function(e){if(e.length)return"NOT "+n(r,e)})).join(" AND ")+" )")}}}))}));i=__spreadArray(__spreadArray([],this.filters),i);return i.join(" "+this.operator.toLocaleUpperCase()+" ")};e.prototype.handleInputChange=function(e){if(e.target!==this.inputField)return;this.query=this.inputField.value};e.prototype.updateContent=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){return[2,this.promiseQueue.enqueue((function(){return e.updateContentQueue()}))]}))}))};e.prototype.updateContentQueue=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,n;var i=this;return __generator(this,(function(s){e=this.outputSlot||this.resultsDiv;if(!e||!this.tpl)return[2,"no tpl"];t=document.createElement("div");t.innerHTML=this.tpl;n=[];this.placedAlgoliaEles=[];Array.from(t.querySelectorAll("nano-algolia, nano-algolia-filter, nano-algolia-results")).forEach((function(e,t){var i=document.createElement("div");i.dataset.placeholderId=t.toString();i.classList.add("nano-ele-placeholder");n.push(e);e.parentNode.replaceChild(i,e)}));e.innerHTML=this.tplRenderFn(t.innerHTML.replace(/&gt;/gm,">").replace(/&lt;/gm,"<").replace(/&amp;/gm,"&"),this.indexResults);Array.from(e.querySelectorAll("div.nano-ele-placeholder")).forEach((function(e){e.parentNode.replaceChild(n[parseInt(e.dataset.placeholderId)],e);i.placedAlgoliaEles.push(n[parseInt(e.dataset.placeholderId)])}));if(!this.placedAlgoliaEles.length)return[2,Promise.resolve("algolia setup")];return[2,new Promise((function(t){var n=function(s){i.placedAlgoliaEles=i.placedAlgoliaEles.filter((function(e){return e!==s.detail}));if(!i.placedAlgoliaEles.length){setTimeout((function(){return t("tpl updated")}),500);e.removeEventListener("nanoTplUpdated",n)}};e.addEventListener("nanoTplUpdated",n)}))]}))}))};e.prototype.componentWillLoad=function(){var e=this;a((function(t){e.tplSlot=v(e.host,'[slot="template"]')[0];e.outputSlot=v(e.host,'[slot="output"]')[0];e.slottedInput=v(e.host,'[slot="search-input"]')[0];e.hasLoadSlot=!!v(e.host,'[slot="loader"]')[0];if(!!e.tplSlot)e.tpl=e.tplSlot.innerHTML;if(e.slottedInput&&(e.slottedInput.tagName.toLocaleLowerCase()==="nano-input"||e.slottedInput instanceof HTMLInputElement)){e.inputField=e.slottedInput}else if(e.slottedInput){e.inputField=e.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])')}r((function(t){if(e.showResults&&e.tpl)e.searchChange()}))}));this.searchIndexNameChange();this.initAlgoliaClient();this.initAlgoliaIndex();b.create(this,this.wormholeState);if(this.storeId){g.init(this,["query","replicaIndex"],this.storeMethod,this.storeId);g.init(this,["apiKey","appId","searchIndex"],"session",this.storeId+"_api")}this.internalIndexSwitch()};e.prototype.connectedCallback=function(){this.searchChange=y(this.searchChange,300);this.browseIndexChange();this.host.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.host}))};e.prototype.render=function(){var e=this;var t={indexResults:this.indexResults,results:this.currentHits,filterChanged:this.filterChanged,tplRenderFn:this.tplRenderFn,resultsPage:this.resultsPage,changeEvent:this.changeEvent,facets:this.facets,algoliaIndex:this.algoliaIndex,searchIndex:this.searchIndex,globalStoreMethod:this.storeMethod,isLoading:this.isLoading};return o(l,{class:{"show-results":this.showResults,"is-loading":this.isLoading},"aria-busy":this.isLoading},this.hasLoadSlot&&o("div",{hidden:!this.isLoading},o("slot",{name:"loader"})),!this.hasLoadSlot&&o("div",{class:{loader:true,loading:this.isLoading}},o("nano-spinner",{overlay:true,type:"circle"})),o(b.Provider,{state:t},o("slot",{name:"search-input"}),o("div",{class:"results-container","aria-live":"polite"},o("div",{ref:function(t){return e.resultsDiv=t},class:"results"},o("slot",{name:"output"})))),o("div",{ref:function(t){return e.defaultDiv=t},class:"default",tabindex:"-1"},o("slot",null)))};Object.defineProperty(e.prototype,"host",{get:function(){return t(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{_dynFacetFilters:["dynFacetFiltersChange"],browseIndex:["browseIndexChange"],inputField:["inputFieldSet"],query:["queryChange"],replicaIndex:["internalIndexSwitch"],resultsPage:["pageChange"],searchIndexName:["searchIndexNameChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaIndex"],showResults:["showResultsChange"]}},enumerable:false,configurable:true});return e}());k.style=P}}}));
5
+ //# sourceMappingURL=p-bf9aa89d.system.entry.js.map
@@ -0,0 +1,5 @@
1
+ var __awaiter=this&&this.__awaiter||function(e,n,o,t){function c(e){return e instanceof o?e:new o((function(n){n(e)}))}return new(o||(o=Promise))((function(o,a){function i(e){try{s(t.next(e))}catch(n){a(n)}}function r(e){try{s(t["throw"](e))}catch(n){a(n)}}function s(e){e.done?o(e.value):c(e.value).then(i,r)}s((t=t.apply(e,n||[])).next())}))};var __generator=this&&this.__generator||function(e,n){var o={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},t,c,a,i;return i={next:r(0),throw:r(1),return:r(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function r(e){return function(n){return s([e,n])}}function s(i){if(t)throw new TypeError("Generator is already executing.");while(o)try{if(t=1,c&&(a=i[0]&2?c["return"]:i[0]?c["throw"]||((a=c["return"])&&a.call(c),0):c.next)&&!(a=a.call(c,i[1])).done)return a;if(c=0,a)i=[i[0]&2,a.value];switch(i[0]){case 0:case 1:a=i;break;case 4:o.label++;return{value:i[1],done:false};case 5:o.label++;c=i[1];i=[0];continue;case 7:i=o.ops.pop();o.trys.pop();continue;default:if(!(a=o.trys,a=a.length>0&&a[a.length-1])&&(i[0]===6||i[0]===2)){o=0;continue}if(i[0]===3&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(i[0]===6&&o.label<a[1]){o.label=a[1];a=i;break}if(a&&o.label<a[2]){o.label=a[2];o.ops.push(i);break}if(a[2])o.ops.pop();o.trys.pop();continue}i=n.call(e,o)}catch(r){i=[6,r];c=0}finally{t=a=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};
2
+ /*!
3
+ * Web Components for Nanopore digital Web Apps
4
+ */System.register(["./p-f48be9f5.system.js","./p-89edc042.system.js","./p-0784f2ad.system.js"],(function(e){"use strict";var n,o,t,c,a,i,r;return{setters:[function(e){n=e.r;o=e.c;t=e.h;c=e.e;a=e.g},function(e){i=e.c},function(e){r=e.f}],execute:function(){var s='.sc-nano-checkbox-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-checkbox,*.sc-nano-checkbox::before,*.sc-nano-checkbox::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-checkbox{display:none !important}.sc-nano-checkbox-h{--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));--invalid-shadow:0 0 0 0.1875rem #ef4135;--padding:initial;--check-bg-color:#fff;--check-border-style:1px solid #b5aea7;--check-checked-bg-color:#455556;--check-checked-border-color:#455556;--check-checked-higlight-color:#fff;--check-base-size:inherit;--tagbox-rgb:144, 198, 231;--tagbox-border-color:rgba(var(--tagbox-rgb), 0.5);--tagbox-bg-color:rgba(var(--tagbox-rgb), 0.2);--tagbox-border-radius:0;--segment-color:#007495;--segment-border-radius:3px;--segment-shadow:0 1px 4px rgba(0, 0, 0, 0.2);--cb-border-radius:2px;--radio-border-radius:50%;display:inline-block;max-width:100%}.sc-nano-checkbox-h *.sc-nano-checkbox{-webkit-box-sizing:inherit;box-sizing:inherit}[type=tag].sc-nano-checkbox-h{text-transform:uppercase;--control-padding:0.2rem 1rem}[type=segment].sc-nano-checkbox-h{--check-border-style:none;--control-padding:0.7em 1em 0.7em 1em}[type=segment-pill].sc-nano-checkbox-h{--check-border-style:1px solid rgba(181, 174, 167, 0.5);--segment-border-radius:5px;--control-padding:0.7em 1em 0.7em 1em}.nano-color.sc-nano-checkbox-h{--tagbox-rgb:var(--nano-color-base-rgb);--focus-shadow:0 0 0 0.1875rem var(--nano-color-shade)}[checked].sc-nano-checkbox-h:not([checked=false]){--tagbox-border-color:rgba(var(--tagbox-rgb), 0.8);--tagbox-bg-color:rgba(var(--tagbox-rgb), 0.5)}[has-focus].sc-nano-checkbox-h:not([has-focus=false]){--cb-border-radius:5px}[disabled].sc-nano-checkbox-h:not([disabled=false]){opacity:0.7;--tagbox-rgb:104, 117, 118;--check-bg-color:rgba(104, 117, 118, 0.5);--check-checked-bg-color:rgba(104, 117, 118, 0.5);--segment-color:#455556}.nanocb.sc-nano-checkbox{padding:var(--padding);cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:1.2;position:relative}.nanocb__input.sc-nano-checkbox{border-radius:var(--cb-border-radius, 3px);font-size:var(--check-base-size);position:relative;height:1.5em;width:1.5em;min-width:1.5em;border:var(--check-border-style);-webkit-box-shadow:0 1px 4px rgba(0, 0, 0, 0.2);box-shadow:0 1px 4px rgba(0, 0, 0, 0.2)}.nanocb__input.sc-nano-checkbox::before{border-radius:var(--cb-border-radius);position:absolute;content:"";left:0.625em;top:0.625em;width:0;height:0;border:2px solid var(--check-checked-higlight-color);-webkit-transform:scale(0);transform:scale(0)}.nanocb__input--radio.sc-nano-checkbox{border-radius:var(--radio-border-radius);background-color:var(--check-bg-color)}.nanocb__input--checkbox.sc-nano-checkbox{background-color:var(--check-bg-color)}.nanocb__input--checkbox.sc-nano-checkbox::after{border-radius:var(--cb-border-radius);position:absolute;content:"";left:0.75em;top:0.75em;height:0;width:0;border:solid var(--check-checked-higlight-color);border-width:0 0.1875em 0.1875em 0;-webkit-transform:rotate(0deg) scale(0);transform:rotate(0deg) scale(0);opacity:1;-webkit-transition:all 0.15s ease-out;transition:all 0.15s ease-out}.nanocb--indeterminate.sc-nano-checkbox .nanocb__input--checkbox.sc-nano-checkbox::after{border-width:0 0 0.1875em 0}.nanocb__input--segment.sc-nano-checkbox,.nanocb__input--segment-pill.sc-nano-checkbox{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nanocb__input--segment.sc-nano-checkbox::before,.nanocb__input--segment-pill.sc-nano-checkbox::before{display:none}.nanocb__input--tag.sc-nano-checkbox{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nanocb__input--tag.sc-nano-checkbox::before{display:none}.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input.sc-nano-checkbox{-webkit-box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--invalid-shadow);box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--invalid-shadow)}.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input--tag.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input--segment.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb--invalid.sc-nano-checkbox:not(.nanocb--focused) .nanocb__input--segment-pill.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox{-webkit-box-shadow:var(--invalid-shadow);box-shadow:var(--invalid-shadow);z-index:1}.nanocb.sc-nano-checkbox input.sc-nano-checkbox{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:focus~.nanocb__input.sc-nano-checkbox{-webkit-box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--focus-shadow);box-shadow:0 0 15px rgba(0, 0, 0, 0.2), var(--focus-shadow)}.nanocb.sc-nano-checkbox input.focus-visible.sc-nano-checkbox:focus~.nanocb__input--tag.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb.sc-nano-checkbox input.focus-visible.sc-nano-checkbox:focus~.nanocb__input--segment.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb.sc-nano-checkbox input.focus-visible.sc-nano-checkbox:focus~.nanocb__input--segment-pill.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox{-webkit-box-shadow:var(--focus-shadow);box-shadow:var(--focus-shadow);z-index:1}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input.sc-nano-checkbox{border-radius:var(--cb-border-radius);background-color:var(--check-checked-bg-color);-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1);opacity:1;border:0.125em solid var(--check-checked-border-color)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--segment.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox,.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--segment-pill.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox{color:var(--check-checked-higlight-color);background-color:var(--check-checked-bg-color);-webkit-box-shadow:inset 0 3px 4px rgba(0, 0, 0, 0.2);box-shadow:inset 0 3px 4px rgba(0, 0, 0, 0.2)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--radio.sc-nano-checkbox{border-radius:var(--radio-border-radius);border-width:0.3125em;background-color:var(--check-checked-higlight-color)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--radio.sc-nano-checkbox::after{border:solid var(--check-checked-border-color);border-width:0 0.125em 0.125em 0;opacity:0}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--radio.sc-nano-checkbox::before{border-radius:var(--radio-border-radius)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--checkbox.sc-nano-checkbox::after{-webkit-transform:rotate(45deg) scale(1);transform:rotate(45deg) scale(1);opacity:1;left:0.475em;top:0.1875em;width:0.375em;height:0.75em;border-radius:0}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:checked~.nanocb__input--tag.sc-nano-checkbox+.nanocb__label.sc-nano-checkbox::after{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:indeterminate~.nanocb__input--checkbox.sc-nano-checkbox{border-radius:var(--input-border-radius, 5px);background-color:var(--check-checked-bg-color);-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1);opacity:1;border:0.125em solid var(--check-checked-bg-color)}.nanocb.sc-nano-checkbox input.sc-nano-checkbox:indeterminate~.nanocb__input--checkbox.sc-nano-checkbox::after{-webkit-transform:scale(1);transform:scale(1);opacity:1;left:0.3125em;top:0;width:0.7em;height:0.7em;border-radius:0}.nanocb__label.sc-nano-checkbox{padding-left:10px;padding-right:0;padding-top:0;padding-bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-stretch:condensed;line-height:1;-webkit-box-flex:1;-ms-flex:1;flex:1;-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){.nanocb__label.sc-nano-checkbox{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:0;padding-inline-end:0}}.nanocb__label--segment.sc-nano-checkbox,.nanocb__label--segment-pill.sc-nano-checkbox{border:var(--check-border-style);border-radius:var(--segment-border-radius);-webkit-box-shadow:var(--segment-shadow);box-shadow:var(--segment-shadow);display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;padding:var(--control-padding);background:var(--check-bg-color);color:var(--segment-color);-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}.sc-nano-checkbox-h:first-of-type:not([dir=rtl]) .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:var(--segment-border-radius) 0 0 var(--segment-border-radius);border-right:none}.sc-nano-checkbox-h:first-of-type[dir=rtl] .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:0 var(--segment-border-radius) var(--segment-border-radius) 0;border-left:none}.sc-nano-checkbox-h:not(:last-of-type):not(:first-of-type):not([dir=rtl]) .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:0 0 0 0;border-right:none}.sc-nano-checkbox-h:not(:last-of-type):not(:first-of-type)[dir=rtl] .nanocb__label--segment-pill.sc-nano-checkbox{border-left:none}.sc-nano-checkbox-h:last-of-type:not([dir=rtl]) .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:0 var(--segment-border-radius) var(--segment-border-radius) 0}.sc-nano-checkbox-h:last-of-type[dir=rtl] .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:var(--segment-border-radius) 0 0 var(--segment-border-radius)}.sc-nano-checkbox-h:first-of-type:last-of-type .nanocb__label--segment-pill.sc-nano-checkbox{border-radius:var(--segment-border-radius);border:var(--check-border-style)}.nanocb__label--tag.sc-nano-checkbox{letter-spacing:2px;font-weight:500;font-size:0.65em;line-height:1.4;padding:var(--control-padding);border:2px solid #b5aea7;border-color:var(--tagbox-border-color);background-color:var(--tagbox-bg-color);-webkit-transition:all 0.2s;transition:all 0.2s;border-radius:var(--cb-border-radius);width:100%}.nanocb__label--tag.sc-nano-checkbox::after{content:"+";margin-left:0.3125em;margin-right:0;margin-top:0;margin-bottom:0;font-weight:200;position:relative;font-family:inherit;font-size:1.8em;display:inline-block;-webkit-transform:rotate(0deg);transform:rotate(0deg);-webkit-transform-origin:center;transform-origin:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.nanocb__label--tag.sc-nano-checkbox::after{margin-left:unset;margin-right:unset;-webkit-margin-start:0.3125em;margin-inline-start:0.3125em;-webkit-margin-end:0;margin-inline-end:0}}.nanocb__label--tag.sc-nano-checkbox span.sc-nano-checkbox{display:block}';var b=0;var h=e("nano_checkbox",function(){function e(e){var t=this;n(this,e);this.nanoChange=o(this,"nanoChange",7);this.nanoFocus=o(this,"nanoFocus",7);this.nanoBlur=o(this,"nanoBlur",7);this.inputId="nano-cb-"+b++;this.inputType="checkbox";this.hasFocus=false;this.checked=false;this.disabled=false;this.value="on";this.required=false;this.type="checkbox";this.indeterminate=false;this._invalid=false;this.handleInvalid=function(e){t._invalid=!e.target.validity.valid};this.handleChange=function(e){t.checked=e.target.checked;t.indeterminate=false};this.handleFocus=function(){t.hasFocus=true;t.nanoFocus.emit()};this.handleBlur=function(){t.hasFocus=false;t.nanoBlur.emit()}}e.prototype.handleCheckedChange=function(){return __awaiter(this,void 0,void 0,(function(){var e,n;var o=this;return __generator(this,(function(t){this.input.checked=this.checked;if(this.inputType==="radio"&&this.name&&this.checked){e=this.host.closest("form");n=void 0;if(e){n=Array.from(e.querySelectorAll('nano-checkbox[name="'+this.name+'"]'))}else{n=Array.from(document.querySelectorAll('nano-checkbox[name="'+this.name+'"]')).filter((function(e){return!e.closest("form")}))}n.map((function(e){if(e!==o.host)e.checked=false}))}this.nanoChange.emit({value:this.value,checked:this.checked});return[2]}))}))};e.prototype.typeChange=function(){if(this.type==="checkbox"||this.type==="tag")this.inputType="checkbox";else this.inputType="radio"};e.prototype.handleIndeterminateChange=function(){this.checked=false;this.input.indeterminate=this.indeterminate};Object.defineProperty(e.prototype,"invalid",{get:function(){return this._invalid},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"validityMessage",{get:function(){if(!this.input)return"";return this.input.validationMessage},enumerable:false,configurable:true});e.prototype.getInputElement=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.input)return[2,this.input];return[2]}))}))};e.prototype.reportValidity=function(e){if(e===void 0){e=false}return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(n){if(e)this.input.reportValidity();this._invalid=!this.input.validity.valid;return[2,{isValid:!this.invalid,errorMessage:this.input.validationMessage}]}))}))};e.prototype.setError=function(e,n){if(n===void 0){n=true}return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(o){if(!this.input)return[2];if(n)this._invalid=!!e.length;this.input.setCustomValidity(e);return[2]}))}))};e.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.input){this.input.focus();r.force(this.input)}return[2]}))}))};e.prototype.removeFocus=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(this.input){this.input.blur();r.force(this.input,false)}return[2]}))}))};e.prototype.onReset=function(e){var n=this.form?document.querySelector("#"+this.form):this.host.closest("form");if(!n||e.target!==this.host.closest("form"))return;this.checked=false};e.prototype.isRadioChecked=function(){var e=this;requestAnimationFrame((function(){return e.checked=e.input.checked}))};e.prototype.componentWillLoad=function(){this.typeChange()};e.prototype.componentDidLoad=function(){this.input.indeterminate=this.indeterminate;this.isRadioChecked();r.observe(this.input)};e.prototype.disconnectedCallback=function(){r.unobserve(this.input)};e.prototype.render=function(){var e=this;var n=this.inputId+"-lbl";var o=this.host.ownerDocument.dir==="rtl";return t(c,{class:Object.assign({},i(this.color)),dir:o?"rtl":null},t("label",{class:{nanocb:true,"nanocb--checked":this.checked,"nanocb--invalid":this.invalid,"nanocb--disabled":this.disabled,"nanocb--focused":this.hasFocus,"nanocb--indeterminate":this.indeterminate},htmlFor:this.inputId},t("input",{type:this.inputType,name:this.name,form:this.form,required:this.required,checked:this.checked,disabled:this.disabled,value:this.value,"aria-labelledby":n,onBlur:this.handleBlur,onFocus:this.handleFocus,onChange:this.handleChange,ref:function(n){return e.input=n},id:this.inputId,onInvalid:this.handleInvalid}),t("span",{class:"nanocb__input nanocb__input--"+this.type}),t("div",{id:n,class:"nanocb__label nanocb__label--"+this.type},this.label&&!!this.label.length&&t("span",null,this.label),t("span",{hidden:this.label&&!!this.label.length},t("slot",null)))))};Object.defineProperty(e.prototype,"host",{get:function(){return a(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{checked:["handleCheckedChange"],type:["typeChange"],indeterminate:["handleIndeterminateChange"]}},enumerable:false,configurable:true});return e}());h.style=s}}}));
5
+ //# sourceMappingURL=p-c070ffd3.system.entry.js.map