@nanoporetech-digital/components 2.10.1 → 2.13.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 (441) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/cjs/{date-utils-0ae9a12d.js → date-utils-b3af910d.js} +2 -2
  3. package/dist/cjs/date-utils-b3af910d.js.map +1 -0
  4. package/dist/cjs/{global-0d4f3b77.js → global-989678ec.js} +1 -8
  5. package/dist/cjs/global-989678ec.js.map +1 -0
  6. package/dist/cjs/index.cjs.js +2 -0
  7. package/dist/cjs/index.cjs.js.map +1 -1
  8. package/dist/cjs/loader.cjs.js +2 -2
  9. package/dist/cjs/nano-algolia.cjs.entry.js +5 -1
  10. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  11. package/dist/cjs/nano-components.cjs.js +2 -2
  12. package/dist/cjs/nano-datalist_3.cjs.entry.js +3 -1
  13. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/nano-date-input.cjs.entry.js +16 -5
  15. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  16. package/dist/cjs/nano-date-picker.cjs.entry.js +2 -2
  17. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
  18. package/dist/cjs/nano-details.cjs.entry.js +1 -2
  19. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-field-validator.cjs.entry.js +292 -96
  21. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-file-upload.cjs.entry.js +5 -2
  23. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-global-search-results.cjs.entry.js +21 -6
  25. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  26. package/dist/cjs/nano-grid_3.cjs.entry.js +1 -2
  27. package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nano-icon-button.cjs.entry.js +4 -0
  29. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nano-input.cjs.entry.js +16 -3
  31. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nano-nav-item_2.cjs.entry.js +2 -0
  33. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -2
  35. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nano-slides.cjs.entry.js +1 -2
  37. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-sticker.cjs.entry.js +2 -3
  39. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nano-tab-group.cjs.entry.js +4 -2
  41. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nano-tab.cjs.entry.js +5 -1
  43. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nano-tooltip.cjs.entry.js +1 -1
  45. package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
  46. package/dist/collection/components/accordion/accordion.js +1 -1
  47. package/dist/collection/components/alert/alert.js +1 -1
  48. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  49. package/dist/collection/components/algolia/algolia-input.js +5 -5
  50. package/dist/collection/components/algolia/algolia-results.js +1 -1
  51. package/dist/collection/components/algolia/algolia.js +12 -6
  52. package/dist/collection/components/algolia/algolia.js.map +1 -1
  53. package/dist/collection/components/checkbox/checkbox-group.js +2 -2
  54. package/dist/collection/components/checkbox/checkbox.js +3 -3
  55. package/dist/collection/components/datalist/datalist.js +4 -2
  56. package/dist/collection/components/datalist/datalist.js.map +1 -1
  57. package/dist/collection/components/date-input/date-input.js +65 -11
  58. package/dist/collection/components/date-input/date-input.js.map +1 -1
  59. package/dist/collection/components/date-picker/date-picker.css +1 -1
  60. package/dist/collection/components/date-picker/date-picker.js +5 -5
  61. package/dist/collection/components/details/details.js +1 -2
  62. package/dist/collection/components/details/details.js.map +1 -1
  63. package/dist/collection/components/dialog/dialog.js +1 -1
  64. package/dist/collection/components/dropdown/dropdown.js +1 -1
  65. package/dist/collection/components/field-validator/field-validator-interface.js +5 -0
  66. package/dist/collection/components/field-validator/field-validator-interface.js.map +1 -0
  67. package/dist/collection/components/field-validator/field-validator.js +434 -113
  68. package/dist/collection/components/field-validator/field-validator.js.map +1 -1
  69. package/dist/collection/components/file-upload/file-upload.css +0 -1
  70. package/dist/collection/components/file-upload/file-upload.js +10 -7
  71. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  72. package/dist/collection/components/global-nav/global-nav.js +4 -4
  73. package/dist/collection/components/global-search-results/global-search-results.css +7 -0
  74. package/dist/collection/components/global-search-results/global-search-results.js +19 -4
  75. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  76. package/dist/collection/components/grid/grid-item.js +1 -1
  77. package/dist/collection/components/grid/grid.js +0 -1
  78. package/dist/collection/components/grid/grid.js.map +1 -1
  79. package/dist/collection/components/icon/icon.js +1 -1
  80. package/dist/collection/components/icon-button/icon-button.js +23 -1
  81. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  82. package/dist/collection/components/input/input.js +37 -8
  83. package/dist/collection/components/input/input.js.map +1 -1
  84. package/dist/collection/components/nav-item/nav-item.js +4 -4
  85. package/dist/collection/components/range/range.js +4 -4
  86. package/dist/collection/components/resize-observe/resize-observe.js +1 -2
  87. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  88. package/dist/collection/components/select/select.js +9 -7
  89. package/dist/collection/components/select/select.js.map +1 -1
  90. package/dist/collection/components/slides/slides.js +7 -8
  91. package/dist/collection/components/slides/slides.js.map +1 -1
  92. package/dist/collection/components/sticker/sticker.js +0 -1
  93. package/dist/collection/components/sticker/sticker.js.map +1 -1
  94. package/dist/collection/components/tabs/tab-group.js +5 -3
  95. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  96. package/dist/collection/components/tabs/tab.js +5 -1
  97. package/dist/collection/components/tabs/tab.js.map +1 -1
  98. package/dist/collection/components/tooltip/tooltip.css +0 -1
  99. package/dist/collection/global/script/global.js +0 -7
  100. package/dist/collection/global/script/global.js.map +1 -1
  101. package/dist/collection/index.js +1 -0
  102. package/dist/collection/index.js.map +1 -1
  103. package/dist/collection/utils/date-utils.js +1 -1
  104. package/dist/collection/utils/date-utils.js.map +1 -1
  105. package/dist/components/algolia.js +5 -1
  106. package/dist/components/algolia.js.map +1 -1
  107. package/dist/components/datalist.js +3 -1
  108. package/dist/components/datalist.js.map +1 -1
  109. package/dist/components/date-picker.js +2 -2
  110. package/dist/components/date-picker.js.map +1 -1
  111. package/dist/components/grid.js +1 -2
  112. package/dist/components/grid.js.map +1 -1
  113. package/dist/components/icon-button.js +6 -1
  114. package/dist/components/icon-button.js.map +1 -1
  115. package/dist/components/index.js +1 -7
  116. package/dist/components/index.js.map +1 -1
  117. package/dist/components/input.js +17 -3
  118. package/dist/components/input.js.map +1 -1
  119. package/dist/components/nano-date-input.js +17 -4
  120. package/dist/components/nano-date-input.js.map +1 -1
  121. package/dist/components/nano-details.js +1 -2
  122. package/dist/components/nano-details.js.map +1 -1
  123. package/dist/components/nano-field-validator.js +300 -99
  124. package/dist/components/nano-field-validator.js.map +1 -1
  125. package/dist/components/nano-file-upload.js +6 -3
  126. package/dist/components/nano-file-upload.js.map +1 -1
  127. package/dist/components/nano-global-search-results.js +21 -6
  128. package/dist/components/nano-global-search-results.js.map +1 -1
  129. package/dist/components/nano-slides.js +1 -2
  130. package/dist/components/nano-slides.js.map +1 -1
  131. package/dist/components/nano-tab-group.js +4 -2
  132. package/dist/components/nano-tab-group.js.map +1 -1
  133. package/dist/components/nano-tab.js +5 -1
  134. package/dist/components/nano-tab.js.map +1 -1
  135. package/dist/components/resize-observe.js +1 -2
  136. package/dist/components/resize-observe.js.map +1 -1
  137. package/dist/components/select.js +2 -0
  138. package/dist/components/select.js.map +1 -1
  139. package/dist/components/sticker.js +2 -3
  140. package/dist/components/sticker.js.map +1 -1
  141. package/dist/components/tooltip.js +1 -1
  142. package/dist/components/tooltip.js.map +1 -1
  143. package/dist/custom-elements/index.js +386 -2046
  144. package/dist/custom-elements/index.js.map +1 -1
  145. package/dist/esm/{date-utils-e4b757ff.js → date-utils-839cb010.js} +2 -2
  146. package/dist/esm/date-utils-839cb010.js.map +1 -0
  147. package/dist/esm/{global-d5ec4d53.js → global-8047b4ff.js} +1 -8
  148. package/dist/esm/global-8047b4ff.js.map +1 -0
  149. package/dist/esm/index.js +1 -0
  150. package/dist/esm/index.js.map +1 -1
  151. package/dist/esm/loader.js +2 -2
  152. package/dist/esm/nano-algolia.entry.js +5 -1
  153. package/dist/esm/nano-algolia.entry.js.map +1 -1
  154. package/dist/esm/nano-components.js +2 -2
  155. package/dist/esm/nano-datalist_3.entry.js +3 -1
  156. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  157. package/dist/esm/nano-date-input.entry.js +16 -5
  158. package/dist/esm/nano-date-input.entry.js.map +1 -1
  159. package/dist/esm/nano-date-picker.entry.js +2 -2
  160. package/dist/esm/nano-date-picker.entry.js.map +1 -1
  161. package/dist/esm/nano-details.entry.js +1 -2
  162. package/dist/esm/nano-details.entry.js.map +1 -1
  163. package/dist/esm/nano-field-validator.entry.js +292 -96
  164. package/dist/esm/nano-field-validator.entry.js.map +1 -1
  165. package/dist/esm/nano-file-upload.entry.js +5 -2
  166. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  167. package/dist/esm/nano-global-search-results.entry.js +21 -6
  168. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  169. package/dist/esm/nano-grid_3.entry.js +1 -2
  170. package/dist/esm/nano-grid_3.entry.js.map +1 -1
  171. package/dist/esm/nano-icon-button.entry.js +4 -0
  172. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  173. package/dist/esm/nano-input.entry.js +16 -3
  174. package/dist/esm/nano-input.entry.js.map +1 -1
  175. package/dist/esm/nano-nav-item_2.entry.js +2 -0
  176. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  177. package/dist/esm/nano-resize-observe_2.entry.js +1 -2
  178. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  179. package/dist/esm/nano-slides.entry.js +1 -2
  180. package/dist/esm/nano-slides.entry.js.map +1 -1
  181. package/dist/esm/nano-sticker.entry.js +2 -3
  182. package/dist/esm/nano-sticker.entry.js.map +1 -1
  183. package/dist/esm/nano-tab-group.entry.js +4 -2
  184. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  185. package/dist/esm/nano-tab.entry.js +5 -1
  186. package/dist/esm/nano-tab.entry.js.map +1 -1
  187. package/dist/esm/nano-tooltip.entry.js +1 -1
  188. package/dist/esm/nano-tooltip.entry.js.map +1 -1
  189. package/dist/esm-es5/date-utils-839cb010.js +5 -0
  190. package/dist/esm-es5/date-utils-839cb010.js.map +1 -0
  191. package/dist/esm-es5/{global-d5ec4d53.js → global-8047b4ff.js} +2 -2
  192. package/dist/esm-es5/global-8047b4ff.js.map +1 -0
  193. package/dist/esm-es5/index.js +2 -2
  194. package/dist/esm-es5/index.js.map +1 -1
  195. package/dist/esm-es5/loader.js +1 -1
  196. package/dist/esm-es5/loader.js.map +1 -1
  197. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  198. package/dist/esm-es5/nano-algolia.entry.js.map +1 -1
  199. package/dist/esm-es5/nano-components.js +1 -1
  200. package/dist/esm-es5/nano-components.js.map +1 -1
  201. package/dist/esm-es5/nano-datalist_3.entry.js +1 -1
  202. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -1
  203. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  204. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  205. package/dist/esm-es5/nano-date-picker.entry.js +1 -1
  206. package/dist/esm-es5/nano-date-picker.entry.js.map +1 -1
  207. package/dist/esm-es5/nano-details.entry.js +1 -1
  208. package/dist/esm-es5/nano-details.entry.js.map +1 -1
  209. package/dist/esm-es5/nano-field-validator.entry.js +2 -2
  210. package/dist/esm-es5/nano-field-validator.entry.js.map +1 -1
  211. package/dist/esm-es5/nano-file-upload.entry.js +1 -1
  212. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  213. package/dist/esm-es5/nano-global-search-results.entry.js +1 -1
  214. package/dist/esm-es5/nano-global-search-results.entry.js.map +1 -1
  215. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  216. package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
  217. package/dist/esm-es5/nano-icon-button.entry.js +2 -2
  218. package/dist/esm-es5/nano-icon-button.entry.js.map +1 -1
  219. package/dist/esm-es5/nano-input.entry.js +1 -1
  220. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  221. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  222. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  223. package/dist/esm-es5/nano-resize-observe_2.entry.js +1 -1
  224. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  225. package/dist/esm-es5/nano-slides.entry.js +2 -2
  226. package/dist/esm-es5/nano-slides.entry.js.map +1 -1
  227. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  228. package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
  229. package/dist/esm-es5/nano-tab-group.entry.js +2 -2
  230. package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
  231. package/dist/esm-es5/nano-tab.entry.js +2 -2
  232. package/dist/esm-es5/nano-tab.entry.js.map +1 -1
  233. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  234. package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
  235. package/dist/nano-components/index.esm.js +1 -1
  236. package/dist/nano-components/index.esm.js.map +1 -1
  237. package/dist/nano-components/nano-components.esm.js +1 -1
  238. package/dist/nano-components/nano-components.esm.js.map +1 -1
  239. package/dist/nano-components/nano-components.js +1 -1
  240. package/dist/nano-components/p-018b7047.entry.js +5 -0
  241. package/dist/nano-components/p-018b7047.entry.js.map +1 -0
  242. package/dist/nano-components/p-0193a282.entry.js +5 -0
  243. package/dist/nano-components/p-0193a282.entry.js.map +1 -0
  244. package/dist/nano-components/p-0320410c.entry.js +5 -0
  245. package/dist/nano-components/p-0320410c.entry.js.map +1 -0
  246. package/dist/nano-components/p-0d699368.system.js +5 -0
  247. package/dist/nano-components/{p-3258c568.system.js.map → p-0d699368.system.js.map} +1 -1
  248. package/dist/nano-components/p-18863670.system.entry.js +5 -0
  249. package/dist/nano-components/p-18863670.system.entry.js.map +1 -0
  250. package/dist/nano-components/p-32900c91.entry.js +5 -0
  251. package/dist/nano-components/p-32900c91.entry.js.map +1 -0
  252. package/dist/nano-components/p-33fce1a6.js +5 -0
  253. package/dist/nano-components/p-33fce1a6.js.map +1 -0
  254. package/dist/nano-components/p-371aebe7.system.entry.js +23 -0
  255. package/dist/nano-components/p-371aebe7.system.entry.js.map +1 -0
  256. package/dist/nano-components/p-41899a31.system.entry.js +5 -0
  257. package/dist/nano-components/p-41899a31.system.entry.js.map +1 -0
  258. package/dist/nano-components/p-53957ec6.system.js +5 -0
  259. package/dist/nano-components/{p-e7140887.system.js.map → p-53957ec6.system.js.map} +1 -1
  260. package/dist/nano-components/p-561500f0.system.entry.js +5 -0
  261. package/dist/nano-components/p-561500f0.system.entry.js.map +1 -0
  262. package/dist/nano-components/p-596c1711.system.entry.js +5 -0
  263. package/dist/nano-components/p-596c1711.system.entry.js.map +1 -0
  264. package/dist/nano-components/{p-01667573.entry.js → p-634a58f7.entry.js} +2 -2
  265. package/dist/nano-components/p-634a58f7.entry.js.map +1 -0
  266. package/dist/nano-components/p-6a949280.system.entry.js +5 -0
  267. package/dist/nano-components/p-6a949280.system.entry.js.map +1 -0
  268. package/dist/nano-components/{p-bf9aa89d.system.entry.js → p-6af10533.system.entry.js} +3 -3
  269. package/dist/nano-components/p-6af10533.system.entry.js.map +1 -0
  270. package/dist/nano-components/p-70272eae.js +5 -0
  271. package/dist/nano-components/p-70272eae.js.map +1 -0
  272. package/dist/nano-components/p-755d9227.entry.js +5 -0
  273. package/dist/nano-components/p-755d9227.entry.js.map +1 -0
  274. package/dist/nano-components/p-7bd25494.entry.js +5 -0
  275. package/dist/nano-components/p-7bd25494.entry.js.map +1 -0
  276. package/dist/nano-components/p-7c837460.entry.js +5 -0
  277. package/dist/nano-components/p-7c837460.entry.js.map +1 -0
  278. package/dist/nano-components/p-7f051c20.entry.js +5 -0
  279. package/dist/nano-components/p-7f051c20.entry.js.map +1 -0
  280. package/dist/nano-components/{p-93880c28.system.js → p-82e28afd.system.js} +2 -2
  281. package/dist/nano-components/p-82e28afd.system.js.map +1 -0
  282. package/dist/nano-components/p-8378428e.system.js +5 -0
  283. package/dist/nano-components/p-8378428e.system.js.map +1 -0
  284. package/dist/nano-components/p-8df4f125.system.entry.js +5 -0
  285. package/dist/nano-components/p-8df4f125.system.entry.js.map +1 -0
  286. package/dist/nano-components/{p-d0385948.system.entry.js → p-93596c3d.system.entry.js} +2 -2
  287. package/dist/nano-components/p-93596c3d.system.entry.js.map +1 -0
  288. package/dist/nano-components/{p-3e930ac7.entry.js → p-9d9b0b66.entry.js} +2 -2
  289. package/dist/nano-components/p-9d9b0b66.entry.js.map +1 -0
  290. package/dist/nano-components/p-9ffdf6cc.entry.js +5 -0
  291. package/dist/nano-components/{p-222d8095.entry.js.map → p-9ffdf6cc.entry.js.map} +1 -1
  292. package/dist/nano-components/p-a07cf44c.system.entry.js +5 -0
  293. package/dist/nano-components/p-a07cf44c.system.entry.js.map +1 -0
  294. package/dist/nano-components/p-a1444980.entry.js +5 -0
  295. package/dist/nano-components/p-a1444980.entry.js.map +1 -0
  296. package/dist/nano-components/p-aa84c727.system.entry.js +5 -0
  297. package/dist/nano-components/p-aa84c727.system.entry.js.map +1 -0
  298. package/dist/nano-components/p-ac5e3775.system.entry.js +5 -0
  299. package/dist/nano-components/p-ac5e3775.system.entry.js.map +1 -0
  300. package/dist/nano-components/p-b85cf493.system.entry.js +5 -0
  301. package/dist/nano-components/{p-e817ab4a.system.entry.js.map → p-b85cf493.system.entry.js.map} +1 -1
  302. package/dist/nano-components/{p-96d9b8b9.system.entry.js → p-c2bbf0fb.system.entry.js} +2 -2
  303. package/dist/nano-components/p-c2bbf0fb.system.entry.js.map +1 -0
  304. package/dist/nano-components/{p-f780d2f6.system.entry.js → p-cb512cff.system.entry.js} +2 -2
  305. package/dist/nano-components/p-cb512cff.system.entry.js.map +1 -0
  306. package/dist/nano-components/{p-4e2c0abb.entry.js → p-ccd6c206.entry.js} +2 -2
  307. package/dist/nano-components/p-ccd6c206.entry.js.map +1 -0
  308. package/dist/nano-components/{p-1030797a.entry.js → p-d37e1489.entry.js} +2 -2
  309. package/dist/nano-components/p-d37e1489.entry.js.map +1 -0
  310. package/dist/nano-components/p-da88981f.entry.js +23 -0
  311. package/dist/nano-components/p-da88981f.entry.js.map +1 -0
  312. package/dist/nano-components/p-e8a913ac.system.entry.js +5 -0
  313. package/dist/nano-components/p-e8a913ac.system.entry.js.map +1 -0
  314. package/dist/nano-components/p-e9fddc1a.entry.js +5 -0
  315. package/dist/nano-components/p-e9fddc1a.entry.js.map +1 -0
  316. package/dist/nano-components/p-ea54ee12.entry.js +5 -0
  317. package/dist/nano-components/p-ea54ee12.entry.js.map +1 -0
  318. package/dist/nano-components/{p-86bd5194.entry.js → p-ed0bdea9.entry.js} +2 -2
  319. package/dist/nano-components/p-ed0bdea9.entry.js.map +1 -0
  320. package/dist/nano-components/p-faba2fc1.system.entry.js +5 -0
  321. package/dist/nano-components/p-faba2fc1.system.entry.js.map +1 -0
  322. package/dist/nano-components/p-ff026352.system.entry.js +5 -0
  323. package/dist/nano-components/p-ff026352.system.entry.js.map +1 -0
  324. package/dist/themes/nanopore.css +1 -1
  325. package/dist/themes/nanopore.css.map +1 -1
  326. package/dist/types/components/algolia/algolia.d.ts +1 -0
  327. package/dist/types/components/date-input/date-input.d.ts +6 -1
  328. package/dist/types/components/field-validator/field-validator-interface.d.ts +19 -0
  329. package/dist/types/components/field-validator/field-validator.d.ts +77 -31
  330. package/dist/types/components/file-upload/file-upload.d.ts +2 -1
  331. package/dist/types/components/global-search-results/global-search-results.d.ts +1 -0
  332. package/dist/types/components/icon-button/icon-button.d.ts +2 -0
  333. package/dist/types/components/input/input.d.ts +6 -1
  334. package/dist/types/components/tabs/tab.d.ts +1 -0
  335. package/dist/types/components.d.ts +67 -12
  336. package/dist/types/index.d.ts +1 -0
  337. package/dist/types/interface.d.ts +1 -0
  338. package/docs-json.json +161 -13
  339. package/docs-vscode.json +6 -2
  340. package/package.json +2 -4
  341. package/dist/cjs/ResizeObserver.es-09b81a1b.js +0 -935
  342. package/dist/cjs/ResizeObserver.es-09b81a1b.js.map +0 -1
  343. package/dist/cjs/date-utils-0ae9a12d.js.map +0 -1
  344. package/dist/cjs/global-0d4f3b77.js.map +0 -1
  345. package/dist/cjs/intersection-observer-1822c787.js +0 -987
  346. package/dist/cjs/intersection-observer-1822c787.js.map +0 -1
  347. package/dist/components/ResizeObserver.es.js +0 -933
  348. package/dist/components/ResizeObserver.es.js.map +0 -1
  349. package/dist/components/intersection-observer.js +0 -985
  350. package/dist/components/intersection-observer.js.map +0 -1
  351. package/dist/esm/ResizeObserver.es-724af9fd.js +0 -933
  352. package/dist/esm/ResizeObserver.es-724af9fd.js.map +0 -1
  353. package/dist/esm/date-utils-e4b757ff.js.map +0 -1
  354. package/dist/esm/global-d5ec4d53.js.map +0 -1
  355. package/dist/esm/intersection-observer-dff9fb5b.js +0 -985
  356. package/dist/esm/intersection-observer-dff9fb5b.js.map +0 -1
  357. package/dist/esm-es5/ResizeObserver.es-724af9fd.js +0 -5
  358. package/dist/esm-es5/ResizeObserver.es-724af9fd.js.map +0 -1
  359. package/dist/esm-es5/date-utils-e4b757ff.js +0 -5
  360. package/dist/esm-es5/date-utils-e4b757ff.js.map +0 -1
  361. package/dist/esm-es5/global-d5ec4d53.js.map +0 -1
  362. package/dist/esm-es5/intersection-observer-dff9fb5b.js +0 -5
  363. package/dist/esm-es5/intersection-observer-dff9fb5b.js.map +0 -1
  364. package/dist/nano-components/p-00eaa36a.entry.js +0 -5
  365. package/dist/nano-components/p-00eaa36a.entry.js.map +0 -1
  366. package/dist/nano-components/p-01667573.entry.js.map +0 -1
  367. package/dist/nano-components/p-1030797a.entry.js.map +0 -1
  368. package/dist/nano-components/p-11a2dcce.js +0 -5
  369. package/dist/nano-components/p-11a2dcce.js.map +0 -1
  370. package/dist/nano-components/p-1a30dfdd.system.entry.js +0 -5
  371. package/dist/nano-components/p-1a30dfdd.system.entry.js.map +0 -1
  372. package/dist/nano-components/p-1b120f53.entry.js +0 -5
  373. package/dist/nano-components/p-1b120f53.entry.js.map +0 -1
  374. package/dist/nano-components/p-21d6d31e.system.entry.js +0 -5
  375. package/dist/nano-components/p-21d6d31e.system.entry.js.map +0 -1
  376. package/dist/nano-components/p-222d8095.entry.js +0 -5
  377. package/dist/nano-components/p-241d90eb.system.entry.js +0 -5
  378. package/dist/nano-components/p-241d90eb.system.entry.js.map +0 -1
  379. package/dist/nano-components/p-2c8d7273.entry.js +0 -5
  380. package/dist/nano-components/p-2c8d7273.entry.js.map +0 -1
  381. package/dist/nano-components/p-3093915f.entry.js +0 -5
  382. package/dist/nano-components/p-3093915f.entry.js.map +0 -1
  383. package/dist/nano-components/p-3258c568.system.js +0 -5
  384. package/dist/nano-components/p-325c1cad.entry.js +0 -5
  385. package/dist/nano-components/p-325c1cad.entry.js.map +0 -1
  386. package/dist/nano-components/p-32f396c0.system.entry.js +0 -5
  387. package/dist/nano-components/p-32f396c0.system.entry.js.map +0 -1
  388. package/dist/nano-components/p-35108e08.entry.js +0 -5
  389. package/dist/nano-components/p-35108e08.entry.js.map +0 -1
  390. package/dist/nano-components/p-3ccb176c.system.entry.js +0 -5
  391. package/dist/nano-components/p-3ccb176c.system.entry.js.map +0 -1
  392. package/dist/nano-components/p-3e930ac7.entry.js.map +0 -1
  393. package/dist/nano-components/p-42cebbfe.system.entry.js +0 -5
  394. package/dist/nano-components/p-42cebbfe.system.entry.js.map +0 -1
  395. package/dist/nano-components/p-4e2c0abb.entry.js.map +0 -1
  396. package/dist/nano-components/p-5d17cfbb.system.entry.js +0 -23
  397. package/dist/nano-components/p-5d17cfbb.system.entry.js.map +0 -1
  398. package/dist/nano-components/p-5d5ea4ab.system.entry.js +0 -5
  399. package/dist/nano-components/p-5d5ea4ab.system.entry.js.map +0 -1
  400. package/dist/nano-components/p-6722447c.entry.js +0 -5
  401. package/dist/nano-components/p-6722447c.entry.js.map +0 -1
  402. package/dist/nano-components/p-6d138abf.entry.js +0 -5
  403. package/dist/nano-components/p-6d138abf.entry.js.map +0 -1
  404. package/dist/nano-components/p-76d9d1d4.entry.js +0 -5
  405. package/dist/nano-components/p-76d9d1d4.entry.js.map +0 -1
  406. package/dist/nano-components/p-866f083f.system.entry.js +0 -5
  407. package/dist/nano-components/p-866f083f.system.entry.js.map +0 -1
  408. package/dist/nano-components/p-86bd5194.entry.js.map +0 -1
  409. package/dist/nano-components/p-88779174.system.entry.js +0 -5
  410. package/dist/nano-components/p-88779174.system.entry.js.map +0 -1
  411. package/dist/nano-components/p-93880c28.system.js.map +0 -1
  412. package/dist/nano-components/p-96d9b8b9.system.entry.js.map +0 -1
  413. package/dist/nano-components/p-97b13ad2.entry.js +0 -5
  414. package/dist/nano-components/p-97b13ad2.entry.js.map +0 -1
  415. package/dist/nano-components/p-b430a9b6.system.js +0 -5
  416. package/dist/nano-components/p-b430a9b6.system.js.map +0 -1
  417. package/dist/nano-components/p-bc394857.system.entry.js +0 -5
  418. package/dist/nano-components/p-bc394857.system.entry.js.map +0 -1
  419. package/dist/nano-components/p-bf9aa89d.system.entry.js.map +0 -1
  420. package/dist/nano-components/p-c3830c43.entry.js +0 -5
  421. package/dist/nano-components/p-c3830c43.entry.js.map +0 -1
  422. package/dist/nano-components/p-d0385948.system.entry.js.map +0 -1
  423. package/dist/nano-components/p-debd9efc.js +0 -5
  424. package/dist/nano-components/p-debd9efc.js.map +0 -1
  425. package/dist/nano-components/p-e195ab77.system.js +0 -5
  426. package/dist/nano-components/p-e195ab77.system.js.map +0 -1
  427. package/dist/nano-components/p-e7140887.system.js +0 -5
  428. package/dist/nano-components/p-e817ab4a.system.entry.js +0 -5
  429. package/dist/nano-components/p-f5d4d13b.system.js +0 -5
  430. package/dist/nano-components/p-f5d4d13b.system.js.map +0 -1
  431. package/dist/nano-components/p-f66958c1.js +0 -5
  432. package/dist/nano-components/p-f66958c1.js.map +0 -1
  433. package/dist/nano-components/p-f710c763.system.entry.js +0 -5
  434. package/dist/nano-components/p-f710c763.system.entry.js.map +0 -1
  435. package/dist/nano-components/p-f780d2f6.system.entry.js.map +0 -1
  436. package/dist/nano-components/p-f9c7d961.js +0 -5
  437. package/dist/nano-components/p-f9c7d961.js.map +0 -1
  438. package/dist/nano-components/p-ffc2063a.entry.js +0 -23
  439. package/dist/nano-components/p-ffc2063a.entry.js.map +0 -1
  440. package/dist/nano-components/p-fff27907.system.entry.js +0 -5
  441. package/dist/nano-components/p-fff27907.system.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/input/input.scss?tag=nano-input&encapsulation=scoped","src/components/input/input.tsx"],"names":["inputCss","inputIds","Input","[object Object]","hostRef","this","inputId","didBlurAfterEdit","rtl","charCount","hasRendered","hasFocus","hasLabelSlot","hasHelperSlot","hasHelperEndSlot","errorMessage","datalist","_invalid","autocapitalise","autocomplete","autocorrect","autofocus","clearInput","debounce","disabled","validateOn","showInlineError","hideLabel","floatLabel","name","readonly","required","spellcheck","type","value","resize","rows","showCharCount","validate","ev","nativeInput","validity","valid","preventDefault","validationMessage","nanoValidate","emit","isValid","originalEvent","onInput","input","target","nanoInput","onBlur","focusChanged","nanoBlur","onFocus","nanoFocus","onKeydown","shouldClearOnEdit","hasValue","clearTextInput","stopPropagation","event","window","Event","dispatchEvent","handleBlur","bind","nativeInputWrap","_nativeInputWrap","ele","setDataListOpts","currDWConfig","dropDownConfig","Object","assign","skidding","tetherTo","invalid","validityMessage","requestAnimationFrame","nanoChange","length","style","height","scrollHeight","debounceEvent","validateFirst","Promise","resolve","setTimeout","focus","click","select","message","setCustomValidity","e","form","document","querySelector","el","closest","kev","raf","KeyboardEvent","key","activeElement","FocusEvent","closestElement","tagName","toLowerCase","clearOnEdit","undefined","getValue","mo","disconnect","MutationObserver","processSlottedContent","observe","childList","subtree","querySelectorAll","console","warn","debounceChanged","CustomEvent","detail","slotChangeObserver","_","setFocus","labelId","moreId","helperEndId","ownerDocument","dir","compWrapOptions","label","placeholder","maxlength","wrapOptions","controlId","controlOptions","clearControl","h","Host","aria-disabled","class","createColorClasses","color","has-value","has-focus","is-invalid","FormControlWrap","FormControl","onClearText","control","ref","id","aria-labelledby","accept","autoCapitalize","autoComplete","autoCorrect","autoFocus","inputMode","inputmode","min","max","minLength","minlength","maxLength","multiple","pattern","readOnly","step","size","onChange","onKeyDown","onInvalid","input__native-ctrl","input__resizable"],"mappings":"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","sourcesContent":["@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n@import '../form-control/form-control';\n@import '../form-control/form-control-vars';\n\n:host {\n @include formControlVars;\n\n position: relative;\n width: 100%;\n padding: 0 !important;\n color: currentColor;\n display: block;\n}\n\n:host(.nano-color) {\n color: current-color(base);\n\n --input-border-style--focus: #{$input-border-style} var(--nano-color-tint, #{nano-color(primary, tint)});\n}\n\n.input__native-ctrl {\n @include text-inherit();\n\n padding-left: unset;\n padding-right: unset;\n padding-top: 0;\n padding-bottom: 0;\n padding-inline-start: var(--padding-start);\n padding-inline-end: var(--padding-end);\n border-radius: var(--input-border-radius);\n text-overflow: ellipsis;\n color: var(--input-text-color);\n display: inline-block;\n flex: 1;\n width: 100%;\n max-width: 100%;\n max-height: 100%;\n border: 0;\n outline: none;\n background: transparent;\n appearance: none;\n margin: 0;\n box-sizing: border-box;\n resize: none;\n overflow: hidden;\n line-height: 2.5em;\n min-height: 2.5em;\n\n .has-float-label & {\n line-height: 2.1em;\n min-height: 2.1em;\n padding-top: 1.4em;\n }\n\n &::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n line-height: inherit;\n min-height: inherit;\n }\n\n &::-moz-placeholder {\n line-height: 2.8em;\n text-overflow: ellipsis;\n }\n\n &:-webkit-autofill {\n background-color: transparent;\n }\n\n &::-webkit-search-decoration,\n &::-webkit-search-cancel-button,\n &::-webkit-search-results-button,\n &::-webkit-search-results-decoration {\n appearance: none;\n }\n\n &:invalid {\n box-shadow: none;\n }\n\n &::-ms-clear,\n &::-ms-reveal {\n display: none;\n }\n\n &.input__resizable {\n resize: vertical;\n overflow: auto;\n }\n\n .form-ctrl__textarea & {\n line-height: 1.5em;\n padding-top: var(--padding-top);\n padding-bottom: 0.25em;\n white-space: pre-wrap;\n\n &::placeholder {\n line-height: 1.5em;\n }\n\n .has-float-label & {\n padding-top: 1.75em;\n }\n }\n\n :host([readonly]:not([readonly='false'])) & {\n user-select: none;\n }\n}\n","import {\n Build,\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n Listen,\n} from '@stencil/core';\n\nimport {\n Color,\n ControlValidity,\n ControlValidityEventDetail,\n InputChangeEventDetail,\n TextFieldTypes,\n} from '../../interface';\nimport {\n debounceEvent,\n closestElement,\n createColorClasses,\n raf,\n debounce,\n} from '../../utils';\nimport { FormControl, FormControlWrap } from '../form-control/form-control';\n\nlet inputIds = 0;\n\n/**\n * The input component is a wrapper to the HTML input element with custom styling and additional functionality. It accepts most of the same properties as the HTML [input](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input), but works great on desktop devices and integrates with the keyboard on mobile devices.\n\nIt is meant for text type inputs only, such as \"text\", \"password\", \"email\", \"number\", \"search\", \"tel\", and \"url\". It supports all standard text input events including keyup, keydown, keypress, and more.\nThe default styling reference comes from the [ONT styleguide](https://nanoporetech.zeroheight.com/styleguide/s/31282/p/230c74-text-input--textarea/b/942ee4)\n * @slot start - suitable for inline action buttons or icons that may add extra contextual information\n * @slot end - suitable for inline action buttons or icons that may add extra contextual information\n * @slot value-start - similar to 'start', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist\n * @slot value-end - similar to 'end', however clicking elements using this slot will activate the input control. This would be suitable to show a secodary 'value' for context or to show a dropdown arrow if using a datalist\n * @slot label - if you do not set a label attribute, you can use this slot for more complex markup\n * @slot helper - helper text to accompany the form field underneath.\n * @slot helper-end - helper text to accompany the form field on the side.\n * @slot - can be used with a `nano-datalist`. See the `nano-datalist` docs for more information\n */\n@Component({\n tag: 'nano-input',\n styleUrl: 'input.scss',\n scoped: true,\n})\nexport class Input implements ComponentInterface {\n private nativeInput?: HTMLInputElement | HTMLTextAreaElement;\n private inputId = `nano-input-${inputIds++}`;\n private didBlurAfterEdit = false;\n private rtl: boolean = false;\n private mo?: MutationObserver;\n private charCount = 0;\n private hasRendered = false;\n\n // we don't want these rendered eles decorated with @State\n // because that will cause re-renders. User get/set to set datalist options\n private _nativeInputWrap: HTMLElement;\n private get nativeInputWrap() {\n return this._nativeInputWrap;\n }\n private set nativeInputWrap(ele: HTMLElement) {\n if (this._nativeInputWrap === ele) return;\n this._nativeInputWrap = ele;\n this.setDataListOpts();\n }\n\n constructor() {\n this.validate = debounce(this.validate, 50);\n this.handleBlur = this.handleBlur.bind(this);\n }\n\n @State() hasFocus = false;\n @State() hasLabelSlot = false;\n @State() hasHelperSlot = false;\n @State() hasHelperEndSlot = false;\n @State() errorMessage: string = '';\n @State() datalist: HTMLNanoDatalistElement = null;\n\n @Watch('datalist')\n setDataListOpts() {\n if (!this.datalist) return;\n const currDWConfig = this.datalist.dropDownConfig || {};\n this.datalist.dropDownConfig = {\n ...currDWConfig,\n skidding: -1,\n tetherTo: this.nativeInputWrap,\n };\n }\n\n @Element() el!: HTMLNanoInputElement;\n\n /**\n * This will be true when the control is in an invalid state.\n * Validity is determined by the `required` prop. Or if custom validity message is set. @readonly\n */\n @Prop({ reflect: true })\n get invalid() {\n return this._invalid;\n }\n @State() _invalid = false;\n\n /**\n * Current validation message - if any. @readonly\n */\n @Prop()\n get validityMessage() {\n if (!this.nativeInput) return '';\n return this.nativeInput.validationMessage;\n }\n\n /**\n * The color to use from the application's color palette.\n */\n @Prop() color?: Color;\n\n /**\n * If the value of the type attribute is `\"file\"`, then this attribute will indicate the types of files that the server accepts, otherwise it will be ignored. The value must be a comma-separated list of unique content type specifiers.\n */\n @Prop() accept?: string;\n\n /**\n * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\n */\n @Prop() autocapitalise: 'none' | 'sentences' | 'words' | 'characters' =\n 'none';\n\n /**\n * Indicates whether the value of the control can be automatically completed by the browser.\n */\n @Prop() autocomplete: 'on' | 'off' = 'off';\n\n /**\n * Whether auto correction should be enabled when the user is entering/editing the text value.\n */\n @Prop() autocorrect: 'on' | 'off' = 'off';\n\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.\n */\n @Prop() clearInput = false;\n\n /**\n * If `true`, the value will be cleared after focus upon edit. Defaults to `true` when `type` is `\"password\"`, `false` for all other types.\n */\n @Prop() clearOnEdit?: boolean;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `nanoChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n\n /**\n * If `true`, the user cannot interact with the input.\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode?:\n | 'none'\n | 'text'\n | 'tel'\n | 'url'\n | 'email'\n | 'numeric'\n | 'decimal'\n | 'search';\n\n /**\n * When should the field perform validation\n */\n @Prop({ mutable: true }) validateOn: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /**\n * Whether to show validation errors underneath input\n */\n @Prop({ reflect: true }) showInlineError = true;\n\n /**\n * String to place within a label element. Alternatively you may use a label slot.\n */\n @Prop() label!: string;\n\n /**\n * Visually hide the label - but make it accessible.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * Enable floating label behaviour. Will disable placeholder if set.\n */\n @Prop() floatLabel: boolean = false;\n\n /**\n * The maximum value, which must not be less than its minimum (min attribute) value.\n */\n @Prop() max?: string;\n\n /**\n * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.\n */\n @Prop() maxlength?: number;\n\n /**\n * The minimum value, which must not be greater than its maximum (max attribute) value.\n */\n @Prop() min?: string;\n\n /**\n * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.\n */\n @Prop() minlength?: number;\n\n /**\n * If `true`, the user can enter more than one value. This attribute applies when the type attribute is set to `\"email\"` or `\"file\"`, otherwise it is ignored.\n */\n @Prop() multiple?: boolean;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * A regular expression that the value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is `\"text\"`, `\"search\"`, `\"tel\"`, `\"url\"`, `\"email\"`, or `\"password\"`, otherwise it is ignored.\n */\n @Prop() pattern?: string;\n\n /**\n * Instructional text that shows before the input has a value.\n */\n @Prop() placeholder?: string | null;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the element will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\n\n /**\n * Works with the min and max attributes to limit the increments at which a value can be set.\n * Possible values are: `\"any\"` or a positive floating point number.\n */\n @Prop() step?: string;\n\n /**\n * The initial size of the control. This value is in pixels unless the value of the type attribute is `\"text\"` or `\"password\"`, in which case it is an integer number of characters. This attribute applies only when the `type` attribute is set to `\"text\"`, `\"search\"`, `\"tel\"`, `\"url\"`, `\"email\"`, or `\"password\"`, otherwise it is ignored.\n */\n @Prop() size?: number;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop({ reflect: true }) type: TextFieldTypes = 'text';\n\n /**\n * The form element to associate the input with (its form owner). Must be the id of a form.\n */\n @Prop() form?: string | null;\n\n /**\n * The value of the input.\n */\n @Prop({ mutable: true }) value?: string | null = '';\n\n /**\n * relevant to type=\"textarea\". Vertical resizing - enable / disable or make automatic.\n */\n @Prop() resize: 'true' | 'false' | 'auto' = 'auto';\n\n /**\n * relevant to type=\"textarea\". Default number of rows to show\n */\n @Prop() rows = 2;\n\n /**\n * relevant to type=\"textarea\".\n */\n @Prop() showCharCount = false;\n\n @Watch('minlength')\n @Watch('maxlength')\n @Watch('min')\n @Watch('max')\n @Watch('required')\n @Watch('disabled')\n @Watch('readonly')\n @Watch('pattern')\n @Watch('inputmode')\n protected shouldValidate() {\n if (!this.hasRendered) return;\n requestAnimationFrame(() => {\n if (this.validateOn === 'dirty') this.validate();\n });\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n this.nanoChange.emit({ value: this.value });\n this.charCount = this.value.length;\n\n if (this.type === 'textarea' && this.resize === 'auto') {\n this.nativeInput.style.height = 'auto';\n if (this.value.length)\n this.nativeInput.style.height = this.nativeInput.scrollHeight + 'px';\n }\n\n requestAnimationFrame(() => {\n if (this.validateOn === 'dirty') this.validate();\n });\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n this.nanoChange = debounceEvent(this.nanoChange, this.debounce);\n }\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() nanoInput!: EventEmitter<InputEvent>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() nanoChange!: EventEmitter<InputChangeEventDetail>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the input has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the input has been created.\n * @internal\n */\n @Event() nanoDidLoad!: EventEmitter<void>;\n\n /**\n * Emitted when the input has been removed.\n * @internal\n */\n @Event() nanoDidUnload!: EventEmitter<void>;\n\n /**\n * Called when validation is performed (which depends on `validateOn`).\n * @returns event.detail: `{ isValid: boolean, errorMessage: string, originalEvent: Event }`.\n */\n @Event() nanoValidate: EventEmitter<ControlValidityEventDetail>;\n\n /**\n * Get the current state of the control.\n * @param validateFirst - perform validation first before reporting\n * @returns `{ isValid: boolean, errorMessage: string }`\n */\n @Method()\n async reportValidity(validateFirst: boolean): Promise<ControlValidity> {\n return new Promise((resolve) => {\n if (validateFirst) this.validate();\n setTimeout(() => {\n resolve({\n isValid: !this._invalid,\n errorMessage: this.nativeInput.validationMessage,\n });\n }, 50);\n });\n }\n\n /**\n * Sets focus on the specified `nano-input`. Use this method instead of the global\n * `input.focus()`.\n */\n @Method()\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n this.nativeInput.click();\n }\n }\n\n /**\n * Sets focus and select the text on the specified `nano-input`. Use this method instead of the global\n * `input.select()`.\n */\n @Method()\n async select() {\n if (this.nativeInput) {\n this.nativeInput.select();\n }\n }\n\n /**\n * Returns the native `<input>` element used under the hood.\n */\n @Method()\n getInputElement(): Promise<HTMLInputElement | HTMLTextAreaElement> {\n return Promise.resolve(this.nativeInput);\n }\n\n /**\n * Invalidate the field and show a custom error message. To clear the error you will need to re-call this method with an empty string.\n */\n @Method()\n async showError(message: string) {\n if (this.nativeInput) {\n this.nativeInput.setCustomValidity(message);\n this.validate();\n }\n }\n\n @Listen('reset', { target: 'body' })\n onReset(e) {\n const form = this.form\n ? document.querySelector('#' + this.form)\n : this.el.closest('form');\n if (!form || e.target !== this.el.closest('form')) return;\n\n this.value = '';\n }\n\n @Listen('mousedown', { target: 'body' })\n @Listen('keydown')\n handleBlur(e: KeyboardEvent | MouseEvent | FocusEvent) {\n if (!this.hasFocus) return;\n\n const kev = e as KeyboardEvent;\n let target: Element;\n\n raf(() => {\n if (e instanceof KeyboardEvent && kev.key) {\n if (kev.key !== 'Tab') return;\n target = document.activeElement;\n } else if (e instanceof FocusEvent) {\n target = document.activeElement;\n } else target = e.target as Element;\n\n if (closestElement(this.el.tagName.toLowerCase(), target) !== this.el) {\n this.onBlur();\n }\n });\n }\n\n private shouldClearOnEdit() {\n const { type, clearOnEdit } = this;\n return clearOnEdit === undefined ? type === 'password' : clearOnEdit;\n }\n\n private getValue(): string {\n return this.value || '';\n }\n\n private validate = (ev?: Event) => {\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n\n if (!this.nativeInput.validity.valid) {\n if (this.showInlineError) {\n if (ev) ev.preventDefault();\n this.errorMessage = this.nativeInput.validationMessage;\n }\n this._invalid = true;\n } else this._invalid = false;\n\n this.nanoValidate.emit({\n isValid: !this._invalid,\n errorMessage: this.nativeInput.validationMessage,\n originalEvent: ev,\n });\n };\n\n private onInput = (ev: InputEvent) => {\n const input = ev.target as HTMLInputElement | null;\n this.value = input?.value || '';\n this.nanoInput.emit(ev);\n };\n\n private onBlur = () => {\n this.hasFocus = false;\n this.focusChanged();\n if (this.validateOn === 'dirty') this.validate();\n this.nanoBlur.emit();\n };\n\n private onFocus = () => {\n this.hasFocus = true;\n this.focusChanged();\n this.nanoFocus.emit();\n };\n\n private onKeydown = () => {\n if (this.shouldClearOnEdit()) {\n // Did the input value change after it was blurred and edited?\n if (this.didBlurAfterEdit && this.hasValue()) {\n // Clear the input\n this.clearTextInput();\n }\n\n // Reset the flag\n this.didBlurAfterEdit = false;\n }\n };\n\n private clearTextInput = (ev?: Event) => {\n if (this.clearInput && !this.readonly && !this.disabled && ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n\n this.value = '';\n this.nativeInput.value = '';\n const event = new window.Event('change');\n this.nativeInput.dispatchEvent(event);\n };\n\n private focusChanged() {\n // If clearOnEdit is enabled and the input blurred but has a value, set a flag\n if (!this.hasFocus && this.shouldClearOnEdit() && this.hasValue()) {\n this.didBlurAfterEdit = true;\n }\n }\n\n private hasValue(): boolean {\n return this.getValue().length > 0;\n }\n\n private slotChangeObserver() {\n if (!Build.isBrowser) return;\n\n if (this.mo) this.mo.disconnect();\n const mo = (this.mo = new MutationObserver(() =>\n this.processSlottedContent()\n ));\n mo.observe(this.el, { childList: true, subtree: true });\n }\n\n private processSlottedContent() {\n // see if we have label / button content\n this.hasLabelSlot = !!this.el.querySelectorAll('[slot=\"label\"]');\n this.hasHelperSlot = !!this.el.querySelector('[slot=\"helper\"]');\n this.hasHelperEndSlot = !!this.el.querySelector('[slot=\"helper-end\"]');\n this.datalist = this.el.querySelector('nano-datalist:not([slot])');\n\n // breaking change introduced in v2. Rm in v3\n if (!!this.el.querySelector('[slot=\"inline-button\"]')) {\n console.warn(\n 'The `inline-button` slot was renamed to `end` in v2 - please update your code',\n this.el\n );\n }\n\n // breaking change introduced in v2. Rm in v3\n if (!!this.el.querySelector('[slot=\"legacy\"]')) {\n console.warn(\n 'The `legacy` slot has been removed. Please update your code',\n this.el\n );\n }\n }\n\n connectedCallback() {\n this.debounceChanged();\n if (Build.isBrowser) {\n this.el.dispatchEvent(\n new CustomEvent('nanoDidLoad', {\n detail: this.el,\n })\n );\n }\n }\n\n disconnectedCallback() {\n if (Build.isBrowser) {\n document.dispatchEvent(\n new CustomEvent('nanoDidUnload', {\n detail: this.el,\n })\n );\n }\n if (this.mo) this.mo.disconnect();\n }\n\n componentDidLoad() {\n this.slotChangeObserver();\n this.hasRendered = true;\n if (this.autofocus) setTimeout((_) => this.setFocus(), 300);\n }\n\n componentWillLoad() {\n this.processSlottedContent();\n }\n\n render() {\n const value = this.getValue();\n const labelId = this.inputId + '-lbl';\n const moreId =\n this.showInlineError || this.hasHelperSlot ? this.inputId + '-more' : '';\n const helperEndId = this.hasHelperEndSlot ? this.inputId + '-helper' : '';\n this.rtl = (this.el.ownerDocument as Document).dir === 'rtl';\n\n const compWrapOptions = (({\n el,\n floatLabel,\n label,\n errorMessage,\n type,\n showInlineError,\n hasHelperSlot,\n hasLabelSlot,\n hideLabel,\n placeholder,\n maxlength,\n charCount,\n showCharCount,\n rtl,\n hasHelperEndSlot,\n }) => ({\n el,\n floatLabel,\n label,\n errorMessage,\n type,\n showInlineError,\n hasHelperSlot,\n hasLabelSlot,\n hideLabel,\n placeholder,\n maxlength,\n charCount,\n showCharCount,\n rtl,\n hasHelperEndSlot,\n }))(this);\n const wrapOptions = {\n ...compWrapOptions,\n labelId,\n moreId,\n helperEndId,\n hasValue: this.hasValue(),\n controlId: this.inputId,\n };\n\n const controlOptions = (({ clearInput, readonly, disabled }) => ({\n clearInput,\n readonly,\n disabled,\n clearControl: this.clearInput,\n }))(this);\n\n return (\n <Host\n aria-disabled={this.disabled ? 'true' : null}\n dir={this.rtl ? 'rtl' : null}\n class={{\n ...createColorClasses(this.color),\n 'has-value': this.hasValue(),\n 'has-focus': this.hasFocus,\n 'is-invalid': this._invalid,\n }}\n >\n <FormControlWrap {...wrapOptions}>\n <FormControl\n {...controlOptions}\n onClearText={this.clearTextInput}\n control={this.el}\n ref={(el) => (this.nativeInputWrap = el)}\n >\n {this.type !== 'textarea' && (\n <input\n id={this.inputId}\n class=\"input__native-ctrl\"\n ref={(input) => (this.nativeInput = input)}\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n disabled={this.disabled}\n accept={this.accept}\n autoCapitalize={this.autocapitalise}\n autoComplete={this.autocomplete}\n autoCorrect={this.autocorrect}\n autoFocus={this.autofocus}\n inputMode={this.inputmode}\n form={this.form}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n multiple={this.multiple}\n name={this.name}\n pattern={this.pattern}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n step={this.step}\n size={this.size}\n type={this.type}\n value={value}\n onInput={this.onInput}\n onChange={this.onInput}\n onFocus={this.onFocus}\n onBlur={this.handleBlur}\n onKeyDown={this.onKeydown}\n onInvalid={this.validate}\n />\n )}\n {this.type === 'textarea' && (\n <textarea\n rows={this.floatLabel ? 1 : this.rows}\n id={this.inputId}\n class={{\n 'input__native-ctrl': true,\n input__resizable: this.resize === 'true',\n }}\n ref={(input) => (this.nativeInput = input)}\n aria-labelledby={labelId + ' ' + moreId + ' ' + helperEndId}\n disabled={this.disabled}\n autoCapitalize={this.autocapitalise}\n autoCorrect={this.autocorrect}\n autoFocus={this.autofocus}\n inputMode={this.inputmode}\n form={this.form}\n minLength={this.minlength}\n maxLength={this.maxlength}\n name={this.name}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n value={value}\n onInput={this.onInput}\n onChange={this.onInput}\n onFocus={this.onFocus}\n onKeyDown={this.onKeydown}\n onInvalid={this.validate}\n onBlur={this.handleBlur}\n ></textarea>\n )}\n </FormControl>\n <slot />\n </FormControlWrap>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ var __spreadArray=this&&this.__spreadArray||function(e,t){for(var n=0,a=t.length,i=e.length;n<a;n++,i++)e[i]=t[n];return e};
2
+ /*!
3
+ * Web Components for Nanopore digital Web Apps
4
+ */System.register(["./p-f48be9f5.system.js","./p-1c216ca4.system.js"],(function(e){"use strict";var t,n,a,i,r;return{setters:[function(e){t=e.r;n=e.h;a=e.e;i=e.g},function(e){r=e.r}],execute:function(){var l=':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{display:block;-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%}.main-search{display:-webkit-box;display:-ms-flexbox;display:flex;background:white;font-size:14px;min-height:calc(100vh - 63px);-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.main-search__wrap{display:contents;height:100%}.main-search ul{margin:0;padding:0;list-style:none}.main-search li{margin:0;padding:0}.main-search button:not(.result__tags-tag){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;position:relative;top:-2px}.main-search .icon-button{color:inherit;-ms-flex-item-align:normal;-ms-grid-row-align:normal;align-self:normal;padding:9px 7px;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.main-search__topbar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:1em}.main-search__topbar::after{content:"";width:calc(100% - 30px);left:30px;position:relative;border-bottom:1px solid #e5eef1;padding-top:0.9em}.main-search__applied-filters{border:solid 1px #e4e6e8;text-transform:uppercase;border-radius:3px;font-weight:bold;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;line-height:0.9;padding:5px 5px 0 5px;letter-spacing:2px;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:0.5rem}.main-search__applied-filters span{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}:host(.small) .main-search__applied-filters{display:none}.main-search__applied-nofilter{margin-left:0;margin-right:5px;margin-top:0;margin-bottom:3px;padding-left:7px;padding-right:7px;padding-top:10px;padding-bottom:10px;font-size:12px;color:rgba(69, 85, 86, 0.85)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__applied-nofilter{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__applied-nofilter{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px}}.main-search__applied-filter{padding-left:8px;padding-right:2px;padding-top:5px;padding-bottom:3px;margin-left:0;margin-right:5px;margin-top:0;margin-bottom:5px;color:#455556;font-size:11px;border-radius:2px;border:solid 1px rgba(0, 132, 169, 0.5);background-color:rgba(0, 132, 169, 0.2);line-height:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__applied-filter{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:2px;padding-inline-end:2px}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__applied-filter{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:5px;margin-inline-end:5px}}.main-search__applied-filter .icon-button{padding-left:10px;padding-right:4px;padding-top:2px;padding-bottom:1px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__applied-filter .icon-button{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:4px;padding-inline-end:4px}}.main-search__applied-filter .icon-button nano-icon{pointer-events:none}.main-search .topbar__bkbtn{position:relative;left:-7px}:host(.small) .main-search .topbar__query{display:none}.main-search .topbar__filtering{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-left:1em;margin-right:0;margin-top:0;margin-bottom:0;-webkit-box-flex:1;-ms-flex:1;flex:1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search .topbar__filtering{margin-left:unset;margin-right:unset;-webkit-margin-start:1em;margin-inline-start:1em;-webkit-margin-end:0;margin-inline-end:0}}.main-search .topbar__order{min-width:175px;max-width:200px;margin-left:auto;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search .topbar__order{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:0;margin-inline-end:0}}:host(.small) .main-search .topbar__order{max-width:300px}.main-search .topbar nano-select{opacity:1;-webkit-transition:0.1s ease opacity;transition:0.1s ease opacity}.main-search .topbar nano-select:not(.hydrated){opacity:0}.main-search .topbar__show-filters{margin-left:0.5em;margin-right:0;margin-top:0;margin-bottom:0;text-transform:uppercase;display:none;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search .topbar__show-filters{margin-left:unset;margin-right:unset;-webkit-margin-start:0.5em;margin-inline-start:0.5em;-webkit-margin-end:0;margin-inline-end:0}}.main-search .topbar__show-filters nano-icon{font-size:20px}:host(.small) .main-search .topbar__show-filters{display:-webkit-box;display:-ms-flexbox;display:flex}.main-search .topbar__filter-count{width:12px;height:12px;-webkit-box-shadow:inset 0 3px 4px 0 rgba(0, 0, 0, 0.2);box-shadow:inset 0 3px 4px 0 rgba(0, 0, 0, 0.2);border:solid 1px #005c76;background-color:#005c76;color:white;font-size:7px;border-radius:50%;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;line-height:1;margin-bottom:3px}.main-search__results{font-size:14px;padding:1em 40px;color:rgba(69, 85, 86, 0.85);width:70%;height:100%}@media (max-width: 576px){.main-search__results{padding:1em 20px}}:host(.small) .main-search__results{width:100%}.main-search__filters{outline:none;padding-left:0;padding-right:40px;padding-top:1.8em;padding-bottom:1em;-webkit-box-flex:1;-ms-flex:1 1 30%;flex:1 1 30%;-webkit-box-sizing:border-box;box-sizing:border-box}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__filters{padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:40px;padding-inline-end:40px}}@media (max-width: 576px){.main-search__filters{padding-right:20px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.main-search__filters{padding-right:unset;-webkit-padding-end:20px;padding-inline-end:20px}}}:host(:not(.small)) .main-search__filters{max-width:350px;min-width:220px}.filters{color:#455556;background:white;font-size:14px}:host(.small) .filters{position:fixed;width:0;height:0;z-index:10;top:0;right:0;-webkit-transition:all 0s ease 0.5s;transition:all 0s ease 0.5s;background:none}:host(.small) .filters.show{height:100vh;width:100vw;-webkit-transition:all 0s ease 0s;transition:all 0s ease 0s}:host(.small) .filters.show::after{opacity:1}:host(.small) .filters::after{content:"";background:rgba(0, 0, 0, 0.5);position:absolute;left:0;top:0;right:0;bottom:0;z-index:-1;opacity:0;-webkit-transition:0.1s ease opacity;transition:0.1s ease opacity}.filters__close-filters{display:none !important;font-size:1.4em}:host(.small) .filters__close-filters{display:inline-block !important;margin-left:auto;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host(.small) .filters__close-filters{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:0;margin-inline-end:0}}.filters__old-posts{-webkit-margin-start:1rem;margin-inline-start:1rem}:host(.small) .filters-wrap{position:absolute;top:0;right:0;background:#f7f6f6;-webkit-transform:translateX(100%);transform:translateX(100%);width:300px;min-width:200px;max-width:80vw;-webkit-transition:-webkit-transform 0.3s ease;transition:-webkit-transform 0.3s ease;transition:transform 0.3s ease;transition:transform 0.3s ease, -webkit-transform 0.3s ease;padding:1em;color:black;overflow:auto;height:100vh}:host(.small) .filters.show .filters-wrap{-webkit-transform:translateX(0%);transform:translateX(0%);-webkit-box-shadow:-3px -3px 7px rgba(0, 0, 0, 0.1);box-shadow:-3px -3px 7px rgba(0, 0, 0, 0.1)}.filters ul{margin:0;padding:0;list-style:none}.filters li{margin:0;padding:0}.filters nano-details{--padding:0.8em;margin:0.8em 0}.filters nano-details strong[slot]{display:block;padding-left:calc(20px - 0.8em)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.filters nano-details strong[slot]{padding-left:unset;-webkit-padding-start:calc(20px - 0.8em);padding-inline-start:calc(20px - 0.8em);}}.filters nano-details nano-icon[slot=icon-end]{padding-left:calc(20px - 0.8em);padding-right:calc(20px - 0.8em)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.filters nano-details nano-icon[slot=icon-end]{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(20px - 0.8em);padding-inline-start:calc(20px - 0.8em);-webkit-padding-end:calc(20px - 0.8em);padding-inline-end:calc(20px - 0.8em)}}.filters li:last-child .filter-label{margin-bottom:0}.filters .filter-label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;margin:0.5em 0;line-height:1.4;z-index:0}.filters .filter-label::before{margin-left:0;margin-right:1em;margin-top:0;margin-bottom:0;content:"";border:1px solid #007495;background:#fff;border-radius:3px;height:1em;width:1em;min-width:1em;min-height:1em;display:inline-block}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.filters .filter-label::before{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:1em;margin-inline-end:1em}}.filters .filter-label::after{background-image:url("data:image/svg+xml;charset=utf-8,<svg%20xmlns=\'http://www.w3.org/2000/svg\'%20viewBox=\'0%200%20512%20512\'><path%20fill=\'%23ffffff\'%20d=\'M173.898%20439.404l-166.4-166.4c-9.997-9.997-9.997-26.206%200-36.204l36.203-36.204c9.997-9.998%2026.207-9.998%2036.204%200L192%20312.69%20432.095%2072.596c9.997-9.997%2026.207-9.997%2036.204%200l36.203%2036.204c9.997%209.997%209.997%2026.206%200%2036.204l-294.4%20294.401c-9.998%209.997-26.207%209.997-36.204-.001z\'/></svg>");content:"";height:0.7em;width:0.7em;position:absolute;left:2px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:1;display:block;background-size:100%;background-position:center center;background-repeat:no-repeat}:host([dir=rtl]) .filters .filter-label::after{right:1px;left:auto}.filters .filter-cb{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}.filters .filter-cb:checked+.filter-label::before{background:#245a6f}.filters .filter-cb:focus+.filter-label::before{-webkit-box-shadow:0 0 0 1px rgba(0, 0, 0, 0.7);box-shadow:0 0 0 1px rgba(0, 0, 0, 0.7)}.filters-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-bottom:1px solid #90c6e7;padding-bottom:0.5rem;margin-bottom:0.5rem}.filters-reset{color:#007495;font-size:12px;text-decoration:underline;margin-left:auto;margin-right:0;margin-top:0;margin-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.filters-reset{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:0;margin-inline-end:0}}:host(.small) .filters-reset{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.filters-title{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;text-transform:uppercase;color:rgba(69, 85, 86, 0.85);font-weight:bold;font-size:14px}:host(.small) .filters-title{display:none}.result{text-decoration:none;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;padding-bottom:14px;border-bottom:1px solid #90c6e7}.result *{word-wrap:break-word;word-break:break-word}.result__title{margin:1em 0 0.5em 0;width:70%;display:-webkit-box;display:-ms-flexbox;display:flex}.result__title a{color:#0084a9;font-size:14px;line-height:1.43;text-decoration:none;font-weight:600}.result__title nano-icon{margin-left:0;margin-right:0.5em;margin-top:0;margin-bottom:0;min-width:20px;min-height:20px;opacity:0.8}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.result__title nano-icon{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0.5em;margin-inline-end:0.5em}}@media (max-width: 992px){.result__title{width:100%}}.result__body{color:#455556;font-size:13px;width:70%;text-decoration:none}@media (max-width: 992px){.result__body{width:100%}}.result__pdf{display:inline-block;-webkit-margin-start:0.5rem;margin-inline-start:0.5rem;color:#b5aea7}.result__meta{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;color:#455556;font-size:11px;line-height:13px;width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.result__meta>*{margin-top:0.5rem}.result__meta>*:not(:last-child){-webkit-padding-end:0;padding-inline-end:0}.result__meta>*:not(:last-child)::after{content:"";height:1rem;width:1px;background:#90c6e7;display:inline-block;-webkit-margin-start:0.7rem;margin-inline-start:0.7rem;-webkit-margin-end:0.7rem;margin-inline-end:0.7rem}@media (max-width: 576px){.result__meta>*:not(:last-child)::after{display:none}}@media (max-width: 576px){.result__meta{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}}.result__tags{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media (max-width: 576px){.result__tags{-webkit-padding-start:0;padding-inline-start:0}}.result__tags-tag{color:#455556;display:inline-block;font-size:0.4375rem;letter-spacing:1.4px;background:#fff;border-radius:2px;text-transform:uppercase;padding:0 4px 1px 5px;font-weight:600;margin:3px 0.25rem 0.25rem 0;border:1px solid #b5aea7;white-space:nowrap;line-height:13px}.result__type{font-weight:600;text-transform:capitalize;white-space:nowrap;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.result__date{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#455556}.result__source{color:#455556;-webkit-padding-end:0.75rem;padding-inline-end:0.75rem}.result__authors{font-size:12px;color:#455556;margin-bottom:0.25rem;text-decoration:none;width:70%}.result__buttons{width:70%;margin-bottom:0.5rem}.result__buttons-button{background-color:#007495;color:#fff;padding:5px 8px 1px;border-radius:4px;display:inline-block;font-size:11px;text-decoration:none;border:none}.result__promo{width:70%;margin-bottom:0.5rem;text-decoration:none;color:#455556}.result__promo-box{width:300px;background-color:#e3eef1;padding:12px 12px 8px 4px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;margin-top:1rem}.result__promo-bigdate{-webkit-box-flex:0;-ms-flex:0 1 60px;flex:0 1 60px;text-align:center;font-weight:600;color:#007495;text-transform:uppercase;line-height:1.25;letter-spacing:1.5px}@media (max-width: 992px){.result__promo-bigdate{width:100%}}.result__promo-bigdate span{color:#455556;display:block}.result__promo-bigdate~div{-webkit-padding-start:1rem;padding-inline-start:1rem;-webkit-border-start:1px solid #c5dbe1;border-inline-start:1px solid #c5dbe1}.result__promo-date{font-size:12px}.result__promo-venue{font-size:12px}.result__promo nano-icon{color:#007495;position:relative;top:1px;-webkit-padding-end:2px;padding-inline-end:2px}.result__image{display:block;background-size:cover;background-repeat:no-repeat;background-position:center;border-radius:4px;position:relative;width:100%;height:150px;margin-bottom:0.5rem}@media (min-width: 576px){.result__image{width:142px;height:80px}}.result__image nano-icon{position:absolute;top:calc(50% - 0.75rem);left:calc(50% - 0.75rem);font-size:1.5rem;color:#0084a9;--primary-color:#fff;--secondary-color:#0084a9;--primary-opacity:1}@media (max-width: 576px){.result__image nano-icon{font-size:3rem;top:calc(50% - 1.5rem);left:calc(50% - 1.5rem)}}.result__video-body{width:70%;text-decoration:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}@media (max-width: 992px){.result__video-body{width:100%}}@media (max-width: 576px){.result__video-body{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}}.result__video-body .result__body{-webkit-padding-start:1rem;padding-inline-start:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-bottom:0;-webkit-box-flex:1;-ms-flex:1;flex:1}@media (max-width: 576px){.result__video-body .result__body{-webkit-padding-start:0;padding-inline-start:0}}.result__video-body .result__body p{display:inline;margin:0}.result__video-body .result__body u,.result__video-body .result__body li,.result__video-body .result__body a{text-decoration:none}.result__video-body .result__body .result__meta{margin-top:0.5rem}.result__video-body .result__body .result__description{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.search-empty{padding:3rem 0;text-align:center;border-top:1px solid #e5eef1}.search-empty h2{color:#455556;font-size:1.125rem;margin-bottom:0.5rem}.search-empty-icon{font-size:7rem;--icon-color:#e4e6e8;margin-bottom:2rem}.search__highlight{background:#fbffbf;font-style:normal}';var s="created > "+Math.floor((Date.now()-631152e5)/1e3);var o=e("nano_global_search_results",function(){function e(e){var n=this;t(this,e);this.tagClick=function(e){e.preventDefault();var t=e.target.dataset.value;t=t==="publication"?"publications":t;t=t.toLowerCase();var a=n.algoliaEle.querySelector('nano-algolia-filter[filter-name="tags"]');if(a.value.indexOf(t)===-1){a.value=a.value?__spreadArray(__spreadArray([],a.value),[t]):[t]}}}e.prototype.handleAlgoliaCredsChange=function(){if(!this.apiKey||!this.appId||!this.algoliaEle)return;this.algoliaEle.apiKey=this.apiKey;this.algoliaEle.appId=this.appId};e.prototype.handleAlgoliaIndexChange=function(){if(!this.index||!this.algoliaEle)return;this.algoliaEle.searchIndex=this.index};e.prototype.handleGlobalNavReset=function(e){if(e.target.tagName!=="NANO-GLOBAL-NAV")return;this.algoliaResultsEle=null;this.goback()};e.prototype.handleGlobalNavSearch=function(e){if(e.target.tagName!=="NANO-GLOBAL-NAV")return;var t=e.detail,n=t.results,a=t.client;var i=n.find((function(e){return e.selected}));this.apiKey=a.apiKey;this.appId=a.appId;this.index={name:i.indexName,index:i.index,domain:i.domain,filters:i.filters};this.algoliaEle.query=i.query};e.prototype.handleReorder=function(e){if(e.composedPath().find((function(e){return e.classList&&e.classList.contains("indexchange")}))&&!!this.algoliaResultsEle){this.changeOrder(e)}};e.prototype.attachListeners=function(e){var t=this;if(!e.composedPath().find((function(e){return e.id&&e.id==="main-search"})))return;this.algoliaResultsEle=this.algoliaEle.querySelector("#main-search-results");this.attachResultListeners();this.algoliaEle.querySelectorAll(".filters-reset").forEach((function(e){e.addEventListener("click",(function(){t.removeAllFilters()}))}));this.algoliaEle.querySelectorAll(".close-filters").forEach((function(e){e.addEventListener("click",(function(){t.closefilters()}))}));var n=this.algoliaEle.querySelector(".filters-wrap");if(n){n.addEventListener("click",(function(e){e.stopPropagation()}))}this.filtersDiv=this.algoliaEle.querySelector("#main-search-filters");var a=this.algoliaEle.querySelector(".old-posts");if(a){a.addEventListener("change",(function(e){t.toggleOldResults(e.target.checked)}))}};e.prototype.attachResultListeners=function(e){var t=this;if(e&&e.composedPath().find((function(e){return e===t.algoliaEle}))){this.algoliaResultsEle=this.algoliaEle.querySelector("nano-algolia-results")}if(!this.algoliaResultsEle)return;var n=this.algoliaResultsEle;n.querySelectorAll(".remove-filter").forEach((function(e){e.addEventListener("click",(function(e){var n=e.target;t.removeFilter(n.dataset.filter,n.dataset.filterVal)}))}));n.querySelectorAll(".back-btn").forEach((function(e){e.addEventListener("click",(function(){t.goback()}))}));n.querySelectorAll(".topbar__show-filters").forEach((function(e){t.openFilterBtn=e;e.addEventListener("click",(function(){t.filtersDiv.tabIndex=-1;t.filtersDiv.classList.add("show");t.filtersDiv.setAttribute("aria-expanded","true");document.body.style.overflow="hidden";setTimeout((function(){return t.filtersDiv.focus()}),20)}))}));var a=Array.from(n.querySelectorAll(".result__tags-tag"));a.forEach((function(e){e.removeEventListener("click",t.tagClick);e.addEventListener("click",t.tagClick)}))};e.prototype.changeOrder=function(e){this.algoliaEle.replicaIndex=e.detail.value};e.prototype.goback=function(){this.removeAllFilters();this.algoliaEle.showResults=false;this.algoliaEle.query=""};e.prototype.removeFilter=function(e,t){this.algoliaEle.removeFilters(e,t)};e.prototype.removeAllFilters=function(){this.algoliaEle.removeFilters()};e.prototype.closefilters=function(){var e=this;if(!this.filtersDiv)return;this.filtersDiv.tabIndex=null;this.filtersDiv.classList.remove("show");this.filtersDiv.setAttribute("aria-expanded","false");document.body.style.overflow="";setTimeout((function(){return e.openFilterBtn.focus()}),20)};e.prototype.toggleOldResults=function(e){if(e)this.algoliaEle.filters=this.algoliaEle.filters.filter((function(e){return!e.startsWith("created > ")}));else this.algoliaEle.filters=__spreadArray(__spreadArray([],this.algoliaEle.filters),[s]);console.log(this.algoliaEle.filters)};e.prototype.componentDidLoad=function(){var e=this;this.ro=new ResizeObserver((function(t){for(var n=0,a=t;n<a.length;n++){var i=a[n];if(!i.contentRect.width)return;e.currentWidth=i.contentRect.width}}));this.ro.observe(this.el);this.algoliaEle.filters=[s]};e.prototype.render=function(){var e=this;return n(a,{class:{small:this.currentWidth<677},dir:this.el.ownerDocument.dir==="rtl"?"rtl":false},n("nano-algolia",{"store-id":"searchq","store-method":"url-hash-push",class:"main-search__wrap sc-nano-global-search-results",ref:function(t){return r((function(){return e.algoliaEle=t}))},id:"main-search"},n("script",{type:"text/template",slot:"template"},'<div class="main-search sc-nano-global-search-results">\n <nano-algolia-results id="main-search-results" class="main-search__results sc-nano-global-search-results" infinite-scroll>\n <script type="text/template" slot="start-template">\n <div class="sc-nano-global-search-results main-search__topbar topbar">\n <button class="sc-nano-global-search-results topbar__bkbtn back-btn icon-button">\n <nano-icon class="sc-nano-global-search-results" name="light/chevron-left" size="small"></nano-icon>\n </button>\n <div>\n <em class="sc-nano-global-search-results topbar__query">\'{{ it.query }}\' - </em> <strong>{{ it.totalHitsWithFilters }}</strong> Results\n </div>\n\n <div class="sc-nano-global-search-results topbar__filtering">\n {{ @if (it.results.length) }}\n\n {{ @if (it.indexName === \'All\') }}\n <nano-select class="sc-nano-global-search-results topbar__order topbar__order--www indexchange" value="{{ it.index }}" hide-label="true" label="Sort order" show-inline-error="false">\n <nano-option value="all_prod_en">Sort by: Most relevant</nano-option>\n <nano-option value="all_prod_en_date_desc">Sort by: Newest</nano-option>\n <nano-option value="all_prod_en_date_asc">Sort by: Oldest</nano-option>\n <nano-option value="all_prod_en_activity_date_desc">Sort by: Recent activity</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === \'www\') }}\n <nano-select class="sc-nano-global-search-results topbar__order topbar__order--www indexchange" value="{{ it.index }}" hide-label="true" label="Sort order" show-inline-error="false">\n <nano-option value="cws_english_en">Sort by: Most relevant</nano-option>\n <nano-option value="cws_english_en_date_desc">Sort by: Newest</nano-option>\n <nano-option value="cws_english_en_date_asc">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === \'Resources\') }}\n <nano-select class="sc-nano-global-search-results topbar__order topbar__order--www indexchange" value="{{ it.index }}" hide-label="true" label="Sort order" show-inline-error="false">\n <nano-option value="cws_english_resources_en">Sort by: Most relevant</nano-option>\n <nano-option value="cws_english_resources_en_featured_desc">Sort by: Newest</nano-option>\n <nano-option value="cws_english_resources_en_featured_asc">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === \'Store\') }}\n <nano-select class="sc-nano-global-search-results topbar__order topbar__order--www indexchange" value="{{ it.index }}" hide-label="true" label="Sort order" show-inline-error="false">\n <nano-option value="store_prod">Sort by: Most relevant</nano-option>\n <nano-option value="store_prod_date_desc">Sort by: Newest</nano-option>\n <nano-option value="store_prod_date_asc">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === \'Community\') }}\n <nano-select class="sc-nano-global-search-results topbar__order topbar__order--community indexchange" value="{{ it.index }}" hide-label="true" label="Sort order" show-inline-error="false">\n <nano-option value="community_prod">Sort by: Most relevant</nano-option>\n <nano-option value="community_prod_date_desc">Sort by: Newest</nano-option>\n <nano-option value="community_prod_date_asc">Sort by: Oldest</nano-option>\n <nano-option value="community_prod_activity_date_desc">Sort by: Recent activity</nano-option>\n </nano-select>\n {{ /if }}\n {{ /if }}\n\n <button class="sc-nano-global-search-results topbar__show-filters filters-title" aria-controls="main-search-filters">\n {{ @if (it.appliedFilters && it.appliedFilters.length > 0) }}\n <span class="sc-nano-global-search-results topbar__filter-count">\n {{ (it.appliedFilters.reduce(function(a, b) { return a + (b.values ? b.values.length : 0) }, 0)) }}\n </span>\n {{ /if }}\n <nano-icon class="sc-nano-global-search-results" name="light/filter"></nano-icon>\n </button>\n </div>\n </div>\n\n {{ @if (it.results.length) }}\n <div class="sc-nano-global-search-results main-search__applied-filters">\n {{ @if (it.appliedFilters) }}\n {{ @each(it.appliedFilters) => filterObj }}\n {{ @each(filterObj.values) => filterVal }}\n <span class="sc-nano-global-search-results main-search__applied-filter">\n {{ filterVal | public_name }}\n <button class="sc-nano-global-search-results icon-button remove-filter" data-filter="{{ filterObj.name }}" data-filter-val="{{ filterVal }}">\n <nano-icon class="sc-nano-global-search-results" name="light/times"></nano-icon>\n </button>\n </span>\n {{ /each }}\n {{ /each }}\n {{ #else }}\n <span class="sc-nano-global-search-results main-search__applied-nofilter">&nbsp;</span>\n {{ /if }}\n </div>\n {{ /if }}\n <\/script>\n\n <script type="text/template" slot="result-template">\n \x3c!-- START NO CONTENT --\x3e\n {{ @if ((!it.results || !it.results.length)) }}\n <div class="search-empty">\n <nano-icon name="light/search" class="search-empty-icon"></nano-icon>\n <h2>No matches found...</h2>\n <p>Please try a different search query.</p>\n </div>\n {{ /if }}\n \x3c!-- END NO CONTENT --\x3e\n {{ @if (it.totalHitsWithFilters > 0) }}\n {{ @each(it.results) => result }}\n {{ contentType = result.content_type ? result.content_type : result.type }}\n <li class="sc-nano-global-search-results">\n <div class="sc-nano-global-search-results result">\n <h4 class="sc-nano-global-search-results result__title" data-icon-set="{{(iconSet = false)}}">\n <a href="{{ result.url | abs_url(it, result) }}">\n {{ result._snippetResult.title.value | safe }}\n {{ @if (contentType === \'technical_document\' || contentType === \'literature\' || contentType === \'white_paper\' || contentType === \'protocol\') }}\n <span class="sc-nano-global-search-results result__pdf">PDF</span>\n {{ /if }}\n </a>\n </h4>\n {{ @if (result.authors) }}\n {{ @if (typeof result.authors === \'string\') }}\n <a class="sc-nano-global-search-results result__authors" href="{{ result.url | abs_url(it, result) }}">Authors: {{ result.authors | trim_to(50) }}</a>\n {{ #else }}\n <a class="sc-nano-global-search-results result__authors" href="{{ result.url | abs_url(it, result) }}">\n {{ @each(result.authors) => author, index }}\n \x3c!-- {{ @if(index == 0)}} --\x3e\n Athors: {{ author | trim_to(60) }}\n \x3c!-- {{ /if }} --\x3e\n {{ /each }}\n </a>\n {{ /if }}\n {{ /if }}\n {{ @if (contentType === \'video\' || contentType === \'lc_lightning_talk\' ) }}\n {{ @if (result.name) }}\n <a class="sc-nano-global-search-results result__authors" href="{{ result.url | abs_url(it, result) }}">Speaker: {{ result.name | trim_to(50) }}</a>\n {{ /if }}\n <a class="sc-nano-global-search-results result__video-body" href="{{ result.url | abs_url(it, result) }}">\n {{ @if (result.image) }}\n <div class="sc-nano-global-search-results result__image" style="background-image: url(\'{{ result.image | abs_url(it, result) }}\')">\n <nano-icon class="sc-nano-global-search-results" name="duotone/play-circle"></nano-icon>\n </div>\n {{ /if }}\n <div class="sc-nano-global-search-results result__body">\n <div class="sc-nano-global-search-results result__description">\n {{ @if (result.description) }}\n {{ result._snippetResult.description.value | safe }}\n {{ /if }}\n </div>\n </div>\n <div class="sc-nano-global-search-results result__meta">\n {{ @if (result.type || result.content_type) }}\n <div class="sc-nano-global-search-results result__type">\n {{ @if (contentType === \'lc_lightning_talk\') }}\n Presentation\n {{ #else }}\n {{ contentType }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.tags) }}\n <div class="sc-nano-global-search-results result__tags">\n {{ @if (typeof result.tags === \'string\') }}\n <button data-value="{{ result.tags | lowercase }}" class="sc-nano-global-search-results result__tags-tag">{{ result.tags }}</button>\n {{ #else }}\n {{ @each(result.tags) => tag, index }}\n {{ @if(index < 5)}}\n {{ @if (tag !== "No video" && tag !== "Resources" && tag !== "Video") }}\n <button data-value="{{ tag | lowercase }}" class="sc-nano-global-search-results result__tags-tag">{{ tag }}</button>\n {{ /if }}\n {{ /if }}\n {{ /each }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.source) }}\n <div class="sc-nano-global-search-results result__source">Source: {{ result.source }}</div>\n {{ /if }}\n </div>\n </a>\n {{ /if }}\n {{ @if (result.body) }}\n <a class="sc-nano-global-search-results result__body" href="{{ result.url | abs_url(it, result) }}">{{ result._snippetResult.body.value | safe }}</a>\n {{ /if }}\n {{ @if (contentType === \'product\' }}\n <div class="sc-nano-global-search-results result__buttons">\n <a class="sc-nano-global-search-results result__buttons-button" href="{{ result.url | abs_url(it, result) }}">View product</a>\n </div>\n {{ /if }}\n {{ @if (contentType === \'event\') }}\n <a class="sc-nano-global-search-results result__promo" href="{{ result.url | abs_url(it, result) }}">\n <div class="sc-nano-global-search-results result__promo-box">\n <div class="sc-nano-global-search-results result__promo-bigdate">\n {{ result.start_date | date_long({year: undefined, month: \'short\', day: undefined}) }}\n <span>{{ result.start_date | date_long({year: undefined, month: undefined, day: \'numeric\'}) }}</span>\n </div>\n <div>\n <div class="sc-nano-global-search-results result__promo-date">\n <nano-icon class="sc-nano-global-search-results" name="light/calendar-alt"></nano-icon>\n {{ @if (result.end_date) }}\n {{ @if (result.end_date !== result.start_date) }}\n {{ result.start_date | date_long({weekday: \'short\', day: \'numeric\', month: \'short\'}) }} - {{ result.end_date | date_long({weekday: \'short\', day: \'numeric\', year: \'numeric\', month: \'short\'}) }}\n {{ #else }}\n {{ result.start_date | date_long({weekday: \'short\', day: \'numeric\', year: \'numeric\', month: \'short\'}) }}\n {{ /if }}\n {{ #else }}\n {{ @if (result.start_date) }}\n {{ result.start_date | date_long({weekday: \'short\', day: \'numeric\', year: \'numeric\', month: \'short\'}) }}\n {{ /if }}\n {{ /if }}\n </div>\n <div class="sc-nano-global-search-results result__promo-venue">\n <nano-icon class="sc-nano-global-search-results" name="light/map-marker-alt"></nano-icon>\n Venue\n </div>\n </div>\n </div>\n </a>\n {{ /if }}\n {{ @if (contentType !== \'lc_lightning_talk\' && contentType !== \'video\') }}\n <div class="sc-nano-global-search-results result__meta">\n {{ @if (result.type || result.content_type) }}\n <div class="sc-nano-global-search-results result__type">\n {{ @if (contentType === \'news_item\') }}\n News\n {{ #elif (contentType === \'static_page\' || contentType === \'bespoke\') }}\n Page\n {{ #elif (contentType === \'case_study\') }}\n Case study\n {{ #elif (contentType === \'lc_poster\') }}\n Poster\n {{ #elif (contentType === \'nanopore_live\') }}\n Live stream\n {{ #elif (contentType === \'data_release\') }}\n Data release\n {{ #elif (contentType === \'research_area\') }}\n Research area\n {{ #elif (contentType === \'white_paper\') }}\n White paper\n {{ #elif (contentType === \'technical_document\') }}\n Technical document\n {{ #elif (contentType === \'info_sheet\') }}\n Info sheet\n {{ #elif (contentType === \'lc_home\' || contentType === \'lc_venue\') }}\n London Calling\n {{ #else }}\n {{ contentType }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (contentType !== \'event\') }}\n {{ @if (result.updated) }}\n <div class="sc-nano-global-search-results result__date">{{ result.updated | date_long({year: \'numeric\', month: \'short\', day: \'numeric\'}) }}</div>\n {{ #else }}\n {{ @if (result.created) }}\n <div class="sc-nano-global-search-results result__date">{{ result.created | date_long({year: \'numeric\', month: \'short\', day: \'numeric\'}) }}</div>\n {{ /if }}\n {{ /if }}\n {{ /if }}\n {{ @if (result.tags) }}\n <div class="sc-nano-global-search-results result__tags">\n {{ @if (typeof result.tags === \'string\') }}\n {{ @if (result.tags !== "Resources" && result.tags !== "Tools" && result.tags !== "Publications" && result.tags !== "Case studies") }}\n <button data-value="{{ result.tags | lowercase }}" class="sc-nano-global-search-results result__tags-tag">{{ result.tags }}</button>\n {{ /if }}\n {{ #else }}\n {{ @each(result.tags) => tag, index }}\n {{ @if(index < 5)}}\n {{ @if (tag !== "Resources" && tag !== "Tools" && tag !== "Publications" && tag !== "Case studies") }}\n <button data-value="{{ tag | lowercase }}" class="sc-nano-global-search-results result__tags-tag">{{ tag }}</button>\n {{ /if }}\n {{ /if }}\n {{ /each }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.source) }}\n <div class="sc-nano-global-search-results result__source">Source: {{ result.source }}</div>\n {{ /if }}\n </div>\n {{ /if }}\n </div>\n </li>\n {{ /each }}\n {{ /if }}\n <\/script>\n\n <div slot="start-output"></div>\n <ul slot="result-output" class="sc-nano-global-search-results"></ul>\n </nano-algolia-results>\n\n {{ @if(Object.keys(it.origFilters).length) }}\n <div class="sc-nano-global-search-results main-search__filters filters close-filters" id="main-search-filters">\n <div class="sc-nano-global-search-results filters-wrap">\n {{ @if(it.totalHits) }}\n <div class="sc-nano-global-search-results filters-header">\n <strong class="sc-nano-global-search-results filters-title">Filters</strong>\n <button class="sc-nano-global-search-results filters-reset">Reset</button>\n <button class="sc-nano-global-search-results filters__close-filters close-filters icon-button" aria-controls="main-search-filters">\n <nano-icon class="sc-nano-global-search-results" name="light/times"></nano-icon>\n </button>\n </div>\n {{ /if }}\n\n <div>\n <input class="sc-nano-global-search-results filter-cb old-posts filters__old-posts" type="checkbox" name="old-posts" id="old-posts" value="nice" />\n <label class="sc-nano-global-search-results filter-label" for="old-posts">\n <span>Include posts older than 2 years</span>\n </label>\n {{ @if(it.origFilters[\'type\']) }}\n <nano-details class="sc-nano-global-search-results" open={true} icon-rotation="180">\n <strong slot="label">Type</strong>\n <nano-icon slot="icon-end" name="light/chevron-down" size="small"></nano-icon>\n <nano-algolia-filter store-id="searchf1" store-method="url-hash-push" filter-name="type">\n <script type="text/template" slot="filter-template">\n <ul class="sc-nano-global-search-results" data-num="{{(x = 0)}}">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class="sc-nano-global-search-results" data-num="{{(x++)}}">\n <input class="sc-nano-global-search-results filter-cb" type="checkbox" value="{{ filter }}" id="type-{{ filter }}-{{x}}" />\n <label class="sc-nano-global-search-results filter-label" for="type-{{ filter }}-{{x}}">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n <\/script>\n <div slot="output"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters[\'channel\']) }}\n <nano-details open={true} icon-rotation="180">\n <strong slot="label">Channels</strong>\n <nano-icon slot="icon-end" name="light/chevron-down" size="small"></nano-icon>\n <nano-algolia-filter store-id="searchf2" store-method="url-hash-push" filter-name="channel">\n <script type="text/template" slot="filter-template">\n <ul class="sc-nano-global-search-results" data-num="{{(x = 0)}}">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class="sc-nano-global-search-results" data-num="{{(x++)}}">\n <input class="filter-cb sc-nano-global-search-results" type="checkbox" value="{{ filter }}" id="channel-{{ filter }}-{{x}}" />\n <label class="filter-label sc-nano-global-search-results" for="channel-{{ filter }}-{{x}}">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n <\/script>\n <div slot="output"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters[\'authors\']) }}\n <nano-details open={true} icon-rotation="180">\n <strong slot="label">Authors</strong>\n <nano-icon slot="icon-end" name="light/chevron-down" size="small"></nano-icon>\n <nano-algolia-filter store-id="searchf3" store-method="url-hash-push" filter-name="authors">\n <script type="text/template" slot="filter-template">\n <ul class="sc-nano-global-search-results" data-num="{{(x = 0)}}">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class="sc-nano-global-search-results" data-num="{{(x++)}}">\n <input class="filter-cb sc-nano-global-search-results" type="checkbox" value="{{ filter }}" id="authors-{{ filter }}-{{x}}" />\n <label class="filter-label sc-nano-global-search-results" for="authors-{{ filter }}-{{x}}">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n <\/script>\n <div slot="output"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters[\'categories_without_path\']) }}\n <nano-details open={true} icon-rotation="180">\n <strong slot="label">Category</strong>\n <nano-icon slot="icon-end" name="light/chevron-down" size="small"></nano-icon>\n <nano-algolia-filter store-id="searchf4" store-method="url-hash-push" filter-name="categories_without_path">\n <script type="text/template" slot="filter-template">\n <ul class="sc-nano-global-search-results" data-num="{{(x = 0)}}">\n {{ @foreach(it.dyn) => filter, filterVal }}\n {{ @if(!filter.match(/publication/)) }}\n <li class="sc-nano-global-search-results" data-num="{{(x++)}}">\n <input class="sc-nano-global-search-results filter-cb" type="checkbox" value="{{ filter }}" id="cwp-{{ filter }}-{{x}}" />\n <label class="sc-nano-global-search-results filter-label" for="cwp-{{ filter }}-{{x}}">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /if }}\n {{ /foreach }}\n </ul>\n <\/script>\n <div slot="output"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters[\'tags\']) }}\n <nano-details open={true} icon-rotation="180">\n <strong slot="label">Tags</strong>\n <nano-icon slot="icon-end" name="light/chevron-down" size="small"></nano-icon>\n <nano-algolia-filter store-id="searchf5" store-method="url-hash-push" filter-name="tags">\n <script type="text/template" slot="filter-template">\n <ul class="sc-nano-global-search-results" data-num="{{(x = 0)}}">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class="sc-nano-global-search-results" data-num="{{(x++)}}">\n <input class="filter-cb sc-nano-global-search-results" type="checkbox" value="{{ filter | lowercase }}" id="tags-{{ filter }}-{{x}}" />\n <label class="filter-label sc-nano-global-search-results" for="tags-{{ filter }}-{{x}}">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n <\/script>\n <div slot="output"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n </div>\n </div>\n </div>\n {{ /if }}\n </div>'),n("div",{slot:"output"}),n("slot",null)))};Object.defineProperty(e.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(e,"watchers",{get:function(){return{algoliaEle:["handleAlgoliaCredsChange","handleAlgoliaIndexChange"],apiKey:["handleAlgoliaCredsChange"],appId:["handleAlgoliaCredsChange"],index:["handleAlgoliaIndexChange"]}},enumerable:false,configurable:true});return e}());o.style=l}}}));
5
+ //# sourceMappingURL=p-6a949280.system.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/global-search-results/global-search-results.scss?tag=nano-global-search-results&encapsulation=shadow","src/components/global-search-results/global-search-results.tsx"],"names":["globalSearchResultsCss","filterOldPosts","Math","floor","Date","now","GlobalSearchResults","exports","class_1","hostRef","_this","this","tagClick","e","preventDefault","tagVal","target","dataset","value","toLowerCase","filter","algoliaEle","querySelector","indexOf","__spreadArray","prototype","handleAlgoliaCredsChange","apiKey","appId","handleAlgoliaIndexChange","index","searchIndex","handleGlobalNavReset","tagName","algoliaResultsEle","goback","handleGlobalNavSearch","_a","detail","results","client","result","find","selected","name","indexName","domain","filters","query","handleReorder","composedPath","ele","classList","contains","changeOrder","attachListeners","id","attachResultListeners","querySelectorAll","forEach","item","addEventListener","removeAllFilters","closefilters","filterWrap","stopPropagation","filtersDiv","oldResults","toggleOldResults","checked","el","resultEle","clickEv","removeFilter","filterVal","openFilterBtn","tabIndex","add","setAttribute","document","body","style","overflow","setTimeout","focus","tags","Array","from","tag","removeEventListener","ev","replicaIndex","showResults","facet","removeFilters","remove","show","f","startsWith","console","log","componentDidLoad","ro","ResizeObserver","entries","_i","entries_1","length","entry","contentRect","width","currentWidth","observe","render","h","Host","class","small","dir","ownerDocument","store-id","store-method","ref","raf","type","slot"],"mappings":"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","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/colours';\n\n:host {\n display: block;\n flex: 1 1 100%;\n}\n\n.main-search {\n display: flex;\n background: white;\n font-size: 14px;\n min-height: calc(100vh - 63px);\n justify-content: space-between;\n\n &__wrap {\n /* autoprefixer: ignore next */\n display: contents;\n height: 100%;\n }\n\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n li {\n margin: 0;\n padding: 0;\n }\n\n button:not(.result__tags-tag) {\n appearance: none;\n border: none;\n background: none;\n position: relative;\n top: -2px;\n }\n\n .icon-button {\n color: inherit;\n align-self: normal;\n padding: 9px 7px;\n cursor: pointer;\n display: flex;\n align-items: center;\n }\n\n &__topbar {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n margin-bottom: 1em;\n\n &::after {\n content: '';\n width: calc(100% - 30px);\n left: 30px;\n position: relative;\n border-bottom: 1px solid #e5eef1;\n padding-top: 0.9em;\n }\n }\n\n &__applied-filters {\n border: solid 1px map.get($colors, lightgrey);\n text-transform: uppercase;\n border-radius: 3px;\n font-weight: bold;\n display: flex;\n align-items: center;\n line-height: 0.9;\n padding: 5px 5px 0 5px;\n letter-spacing: 2px;\n flex-wrap: wrap;\n margin-bottom: 0.5rem;\n\n span {\n display: flex;\n align-items: center;\n }\n\n :host(.small) & {\n display: none;\n }\n }\n\n &__applied-nofilter {\n @include margin(0, 5px, 3px, 0);\n @include padding(10px, 7px, 10px, 7px);\n\n font-size: 12px;\n color: rgba(69, 85, 86, 0.85);\n }\n\n &__applied-filter {\n @include padding(5px, 2px, 3px, 8px);\n @include margin(0, 5px, 5px, 0);\n\n color: map.get($colors, darkgrey);\n font-size: 11px;\n border-radius: 2px;\n border: solid 1px rgba(0, 132, 169, 0.5);\n background-color: rgba(0, 132, 169, 0.2);\n line-height: 1;\n\n .icon-button {\n @include padding(2px, 4px, 1px, 10px);\n\n nano-icon {\n pointer-events: none;\n }\n }\n }\n\n .topbar {\n &__bkbtn {\n position: relative;\n left: -7px;\n }\n\n &__query {\n :host(.small) & {\n display: none;\n }\n }\n\n &__filtering {\n display: flex;\n align-items: center;\n\n @include margin(0, 0, 0, 1em);\n\n flex: 1;\n }\n\n &__order {\n min-width: 175px;\n max-width: 200px;\n\n @include margin(0, 0, 0, auto);\n\n :host(.small) & {\n max-width: 300px;\n }\n }\n\n nano-select {\n opacity: 1;\n transition: 0.1s ease opacity;\n\n &:not(.hydrated) {\n opacity: 0;\n }\n }\n\n &__show-filters {\n @include margin(0, 0, 0, 0.5em);\n\n text-transform: uppercase;\n display: none;\n flex-direction: column;\n align-items: center;\n\n nano-icon {\n font-size: 20px;\n }\n\n // @include media-breakpoint-down('sm') {\n // display: flex;\n // }\n\n :host(.small) & {\n display: flex;\n }\n }\n\n &__filter-count {\n width: 12px;\n height: 12px;\n box-shadow: inset 0 3px 4px 0 rgba(0, 0, 0, 0.2);\n border: solid 1px #005c76;\n background-color: #005c76;\n color: white;\n font-size: 7px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n margin-bottom: 3px;\n }\n }\n\n &__results {\n font-size: 14px;\n padding: 1em 40px;\n color: rgba(69, 85, 86, 0.85);\n width: 70%;\n height: 100%;\n\n @include media-breakpoint-down('sm') {\n padding: 1em 20px;\n }\n\n :host(.small) & {\n width: 100%;\n }\n }\n\n &__filters {\n outline: none;\n\n @include padding(1.8em, 40px, 1em, 0);\n\n @include media-breakpoint-down('sm') {\n @include padding(null, 20px, null, null);\n }\n\n flex: 1 1 30%;\n box-sizing: border-box;\n\n :host(:not(.small)) & {\n max-width: 350px;\n min-width: 220px;\n }\n }\n}\n\n.filters {\n color: map.get($colors, darkgrey);\n background: white;\n font-size: 14px;\n\n :host(.small) & {\n position: fixed;\n width: 0;\n height: 0;\n z-index: 10;\n top: 0;\n right: 0;\n transition: all 0s ease 0.5s;\n background: none;\n\n &.show {\n height: 100vh;\n width: 100vw;\n transition: all 0s ease 0s;\n\n &::after {\n opacity: 1;\n }\n }\n\n &::after {\n content: '';\n background: rgba(0, 0, 0, 0.5);\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: -1;\n opacity: 0;\n transition: 0.1s ease opacity;\n }\n }\n\n &__close-filters {\n display: none !important;\n font-size: 1.4em;\n\n :host(.small) & {\n display: inline-block !important;\n\n @include margin(0, 0, 0, auto);\n }\n }\n\n &__old-posts {\n margin-inline-start: 1rem;\n }\n\n &-wrap {\n :host(.small) & {\n position: absolute;\n top: 0;\n right: 0;\n background: rgb(247, 246, 246);\n transform: translateX(100%);\n width: 300px;\n min-width: 200px;\n max-width: 80vw;\n transition: transform 0.3s ease;\n padding: 1em;\n color: black;\n overflow: auto;\n height: 100vh;\n }\n }\n\n &.show {\n .filters-wrap {\n :host(.small) & {\n transform: translateX(0%);\n box-shadow: -3px -3px 7px rgba(0, 0, 0, 0.1);\n }\n }\n }\n\n ul {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n\n li {\n margin: 0;\n padding: 0;\n }\n\n nano-details {\n --padding: 0.8em;\n\n margin: 0.8em 0;\n\n strong[slot] {\n display: block;\n\n @include padding(null, null, null, calc(20px - 0.8em));\n }\n\n nano-icon[slot='icon-end'] {\n @include padding(null, calc(20px - 0.8em), null, calc(20px - 0.8em));\n }\n }\n\n li:last-child .filter-label {\n margin-bottom: 0;\n }\n\n .filter-label {\n display: flex;\n align-items: center;\n position: relative;\n margin: 0.5em 0;\n line-height: 1.4;\n z-index: 0;\n\n &::before {\n @include margin(0, 1em, 0, 0);\n\n content: '';\n border: 1px solid map.get($colors, blue);\n background: map.get($colors, white);\n border-radius: 3px;\n height: 1em;\n width: 1em;\n min-width: 1em;\n min-height: 1em;\n display: inline-block;\n }\n\n &::after {\n @include svg-background-image(\n \"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='#ffffff' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/></svg>\"\n );\n\n content: '';\n height: 0.7em;\n width: 0.7em;\n position: absolute;\n left: 2px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 1;\n display: block;\n background-size: 100%;\n background-position: center center;\n background-repeat: no-repeat;\n\n @include rtl-host() {\n right: 1px;\n left: auto;\n }\n }\n }\n\n .filter-cb {\n @include visually-hide;\n\n &:checked + .filter-label {\n &::before {\n background: map.get($colors, blue--darker);\n }\n }\n\n &:focus + .filter-label {\n &::before {\n box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.7);\n }\n }\n }\n\n &-header {\n display: flex;\n align-items: center;\n border-bottom: 1px solid map.get($colors, lightblue);\n padding-bottom: 0.5rem;\n margin-bottom: 0.5rem;\n }\n\n &-reset {\n color: map.get($colors, blue);\n font-size: 12px;\n text-decoration: underline;\n\n @include margin(0, 0, 0, auto);\n\n :host(.small) & {\n @include margin(0, 0, 0, 0);\n }\n }\n\n &-title {\n @include margin(0, 0, 0, 0);\n\n text-transform: uppercase;\n color: rgba(69, 85, 86, 0.85);\n font-weight: bold;\n font-size: 14px;\n\n :host(.small) & {\n display: none;\n }\n }\n}\n\n.result {\n text-decoration: none;\n display: flex;\n flex-wrap: wrap;\n flex-direction: row;\n padding-bottom: 14px;\n border-bottom: 1px solid map.get($colors, lightblue);\n\n * {\n word-wrap: break-word;\n word-break: break-word;\n }\n\n &__title {\n margin: 1em 0 0.5em 0;\n width: 70%;\n display: flex;\n\n a {\n color: lighten(map.get($colors, blue), 4%);\n font-size: 14px;\n line-height: 1.43;\n text-decoration: none;\n font-weight: 600;\n }\n\n nano-icon {\n @include margin(0, 0.5em, 0, 0);\n\n min-width: 20px;\n min-height: 20px;\n opacity: 0.8;\n }\n\n @include media-breakpoint-down('lg') {\n width: 100%;\n }\n }\n\n &__body {\n color: map.get($colors, darkgrey);\n font-size: 13px;\n width: 70%;\n text-decoration: none;\n\n @include media-breakpoint-down('lg') {\n width: 100%;\n }\n }\n\n &__pdf {\n display: inline-block;\n margin-inline-start: 0.5rem;\n color: map.get($colors, palegrey);\n }\n\n &__meta {\n display: flex;\n flex-flow: row wrap;\n color: map.get($colors, darkgrey);\n font-size: 11px;\n line-height: 13px;\n width: 100%;\n align-items: center;\n\n > * {\n margin-top: 0.5rem;\n\n &:not(:last-child) {\n padding-inline-end: 0;\n\n &::after {\n content: '';\n height: 1rem;\n width: 1px;\n background: #90c6e7;\n display: inline-block;\n margin-inline-start: 0.7rem;\n margin-inline-end: 0.7rem;\n\n @include media-breakpoint-down('sm') {\n display: none;\n }\n }\n }\n }\n\n @include media-breakpoint-down('sm') {\n flex-flow: column;\n align-items: flex-start;\n }\n }\n\n &__tags {\n display: flex;\n flex-flow: row wrap;\n\n @include media-breakpoint-down('sm') {\n padding-inline-start: 0;\n }\n\n &-tag {\n color: map.get($colors, darkgrey);\n display: inline-block;\n font-size: 0.4375rem;\n letter-spacing: 1.4px;\n background: #fff;\n border-radius: 2px;\n text-transform: uppercase;\n padding: 0 4px 1px 5px;\n font-weight: 600;\n margin: 3px 0.25rem 0.25rem 0;\n border: 1px solid #b5aea7;\n white-space: nowrap;\n line-height: 13px;\n }\n }\n\n &__type {\n font-weight: 600;\n text-transform: capitalize;\n white-space: nowrap;\n display: flex;\n align-items: center;\n }\n\n &__date {\n display: flex;\n align-items: center;\n color: map.get($colors, darkgrey);\n }\n\n &__source {\n color: map.get($colors, darkgrey);\n padding-inline-end: 0.75rem;\n }\n\n &__authors {\n font-size: 12px;\n color: map.get($colors, darkgrey);\n margin-bottom: 0.25rem;\n text-decoration: none;\n width: 70%;\n }\n\n &__buttons {\n width: 70%;\n margin-bottom: 0.5rem;\n\n &-button {\n background-color: map.get($colors, blue);\n color: #fff;\n padding: 5px 8px 1px;\n border-radius: 4px;\n display: inline-block;\n font-size: 11px;\n text-decoration: none;\n border: none;\n }\n }\n\n &__promo {\n width: 70%;\n margin-bottom: 0.5rem;\n text-decoration: none;\n color: map.get($colors, darkgrey);\n\n &-box {\n width: 300px;\n background-color: #e3eef1;\n padding: 12px 12px 8px 4px;\n display: flex;\n flex-flow: row nowrap;\n margin-top: 1rem;\n }\n\n &-bigdate {\n flex: 0 1 60px;\n text-align: center;\n font-weight: 600;\n color: map.get($colors, blue);\n text-transform: uppercase;\n line-height: 1.25;\n letter-spacing: 1.5px;\n\n @include media-breakpoint-down('lg') {\n width: 100%;\n }\n\n span {\n color: map.get($colors, darkgrey);\n display: block;\n }\n\n & ~ div {\n padding-inline-start: 1rem;\n border-inline-start: 1px solid #c5dbe1;\n }\n }\n\n &-date {\n font-size: 12px;\n }\n\n &-venue {\n font-size: 12px;\n }\n\n nano-icon {\n color: map.get($colors, blue);\n position: relative;\n top: 1px;\n padding-inline-end: 2px;\n }\n }\n\n &__image {\n display: block;\n background-size: cover;\n background-repeat: no-repeat;\n background-position: center;\n border-radius: 4px;\n position: relative;\n width: 100%;\n height: 150px;\n margin-bottom: 0.5rem;\n\n @include media-breakpoint-up('sm') {\n width: 142px;\n height: 80px;\n }\n\n nano-icon {\n position: absolute;\n top: calc(50% - 0.75rem);\n left: calc(50% - 0.75rem);\n font-size: 1.5rem;\n color: #0084a9;\n\n --primary-color: #fff;\n --secondary-color: #0084a9;\n --primary-opacity: 1;\n\n @include media-breakpoint-down('sm') {\n font-size: 3rem;\n top: calc(50% - 1.5rem);\n left: calc(50% - 1.5rem);\n }\n }\n }\n\n &__video {\n &-body {\n width: 70%;\n text-decoration: none;\n display: flex;\n flex-flow: row wrap;\n\n @include media-breakpoint-down('lg') {\n width: 100%;\n }\n\n @include media-breakpoint-down('sm') {\n flex-flow: column;\n }\n\n .result__body {\n padding-inline-start: 1rem;\n display: flex;\n flex-direction: column;\n margin-bottom: 0;\n flex: 1;\n\n @include media-breakpoint-down('sm') {\n padding-inline-start: 0;\n }\n\n p {\n display: inline;\n margin: 0;\n }\n\n u,\n li,\n a {\n text-decoration: none;\n }\n\n .result__meta {\n margin-top: 0.5rem;\n }\n\n .result__description {\n flex: 1 0 auto;\n }\n }\n }\n }\n}\n\n.search-empty {\n padding: 3rem 0;\n text-align: center;\n border-top: 1px solid #e5eef1;\n\n h2 {\n color: #455556;\n font-size: 1.125rem;\n margin-bottom: 0.5rem;\n }\n\n &-icon {\n font-size: 7rem;\n\n --icon-color: #e4e6e8;\n\n margin-bottom: 2rem;\n }\n}\n\n.search__highlight {\n background: #fbffbf;\n font-style: normal;\n}\n","import {\n Component,\n h,\n Host,\n Element,\n State,\n ComponentInterface,\n Watch,\n Listen,\n} from '@stencil/core';\n\nimport { AloliaSearchResultDetail } from '../../interface';\nimport { SearchIndex } from '../../interface';\nimport { raf } from '../../utils';\n\nconst filterOldPosts =\n 'created > ' + Math.floor((Date.now() - 63115200000) / 1000);\n\n/**\n * Nanopore Global Search results component\n * to be used in conjunction with [Globla-Nav](/story/nano-compounds-global-nav).\n * A shortcut / helper which combines algolia components.\n * There should only be one <nano-global-search-results> per page\n * and should be a direct child of <nano-global-nav>\n */\n@Component({\n tag: 'nano-global-search-results',\n styleUrl: 'global-search-results.scss',\n shadow: true,\n})\nexport class GlobalSearchResults implements ComponentInterface {\n private algoliaResultsEle: HTMLNanoAlgoliaResultsElement;\n private filtersDiv: HTMLElement;\n private openFilterBtn: HTMLButtonElement;\n private ro: ResizeObserver;\n\n @State() algoliaEle: HTMLNanoAlgoliaElement;\n @State() currentWidth: number;\n @State() apiKey: string;\n @State() appId: string;\n @State() index: SearchIndex;\n\n @Element() private el: HTMLNanoGlobalSearchResultsElement;\n\n @Watch('algoliaEle')\n @Watch('apiKey')\n @Watch('appId')\n handleAlgoliaCredsChange() {\n if (!this.apiKey || !this.appId || !this.algoliaEle) return;\n this.algoliaEle.apiKey = this.apiKey;\n this.algoliaEle.appId = this.appId;\n }\n\n @Watch('algoliaEle')\n @Watch('index')\n handleAlgoliaIndexChange() {\n if (!this.index || !this.algoliaEle) return;\n this.algoliaEle.searchIndex = this.index;\n }\n\n @Listen('nanoSearchReset', { target: 'body' })\n handleGlobalNavReset(e: CustomEvent & { target: HTMLElement }) {\n if (e.target.tagName !== 'NANO-GLOBAL-NAV') return;\n this.algoliaResultsEle = null;\n this.goback();\n }\n\n @Listen('nanoSearchResult', { target: 'body' })\n handleGlobalNavSearch(e: CustomEvent & { target: HTMLElement }) {\n if (e.target.tagName !== 'NANO-GLOBAL-NAV') return;\n const {\n detail: { results, client },\n } = e as { detail: AloliaSearchResultDetail };\n const result = results.find((result) => result.selected);\n\n this.apiKey = client.apiKey;\n this.appId = client.appId;\n this.index = {\n name: result.indexName,\n index: result.index,\n domain: result.domain,\n filters: result.filters,\n };\n this.algoliaEle.query = result.query;\n }\n\n @Listen('nanoChange')\n handleReorder(e: CustomEvent & { target: HTMLNanoSelectElement }) {\n if (\n e\n .composedPath()\n .find(\n (ele: HTMLElement) =>\n ele.classList && ele.classList.contains('indexchange')\n ) &&\n !!this.algoliaResultsEle\n ) {\n this.changeOrder(e);\n }\n }\n\n @Listen('nanoResultsShown')\n attachListeners(e: CustomEvent & { target: HTMLElement }) {\n if (\n !e\n .composedPath()\n .find((ele: HTMLElement) => ele.id && ele.id === 'main-search')\n )\n return;\n\n this.algoliaResultsEle = this.algoliaEle.querySelector(\n '#main-search-results'\n );\n\n // add results listeners\n this.attachResultListeners();\n\n this.algoliaEle.querySelectorAll('.filters-reset').forEach((item) => {\n item.addEventListener('click', () => {\n this.removeAllFilters();\n });\n });\n\n this.algoliaEle.querySelectorAll('.close-filters').forEach((item) => {\n item.addEventListener('click', () => {\n this.closefilters();\n });\n });\n\n let filterWrap = this.algoliaEle.querySelector('.filters-wrap');\n if (filterWrap) {\n filterWrap.addEventListener('click', (e) => {\n e.stopPropagation();\n });\n }\n\n this.filtersDiv = this.algoliaEle.querySelector('#main-search-filters');\n\n let oldResults = this.algoliaEle.querySelector('.old-posts');\n if (oldResults) {\n oldResults.addEventListener(\n 'change',\n (e: Event & { target: HTMLInputElement }) => {\n this.toggleOldResults(e.target.checked);\n }\n );\n }\n }\n\n @Listen('nanoNewResults', { target: 'body' })\n attachResultListeners(e?: CustomEvent & { target: HTMLElement }) {\n if (e && e.composedPath().find((el) => el === this.algoliaEle)) {\n this.algoliaResultsEle = this.algoliaEle.querySelector(\n 'nano-algolia-results'\n );\n }\n if (!this.algoliaResultsEle) return;\n let resultEle = this.algoliaResultsEle;\n\n resultEle.querySelectorAll('.remove-filter').forEach((item) => {\n item.addEventListener('click', (clickEv: MouseEvent) => {\n let filter = clickEv.target as HTMLElement;\n this.removeFilter(filter.dataset.filter, filter.dataset.filterVal);\n });\n });\n\n resultEle.querySelectorAll('.back-btn').forEach((item) => {\n item.addEventListener('click', () => {\n this.goback();\n });\n });\n\n resultEle.querySelectorAll('.topbar__show-filters').forEach((item) => {\n this.openFilterBtn = item as HTMLButtonElement;\n item.addEventListener('click', () => {\n this.filtersDiv.tabIndex = -1;\n this.filtersDiv.classList.add('show');\n this.filtersDiv.setAttribute('aria-expanded', 'true');\n document.body.style.overflow = 'hidden';\n setTimeout(() => this.filtersDiv.focus(), 20);\n });\n });\n\n const tags = Array.from(resultEle.querySelectorAll('.result__tags-tag'));\n tags.forEach((tag) => {\n tag.removeEventListener('click', this.tagClick);\n tag.addEventListener('click', this.tagClick);\n });\n }\n\n private tagClick = (e: MouseEvent & { target: HTMLElement }) => {\n e.preventDefault();\n let tagVal = e.target.dataset.value;\n tagVal = tagVal === 'publication' ? 'publications' : tagVal;\n tagVal = tagVal.toLowerCase();\n\n const filter: HTMLNanoAlgoliaFilterElement = this.algoliaEle.querySelector(\n 'nano-algolia-filter[filter-name=\"tags\"]'\n );\n if (filter.value.indexOf(tagVal) === -1) {\n filter.value = filter.value ? [...filter.value, tagVal] : [tagVal];\n }\n };\n\n private changeOrder(ev) {\n this.algoliaEle.replicaIndex = ev.detail.value;\n }\n\n private goback() {\n this.removeAllFilters();\n this.algoliaEle.showResults = false;\n this.algoliaEle.query = '';\n }\n\n private removeFilter(facet, filter) {\n this.algoliaEle.removeFilters(facet, filter);\n }\n\n private removeAllFilters() {\n this.algoliaEle.removeFilters();\n }\n\n private closefilters() {\n if (!this.filtersDiv) return;\n this.filtersDiv.tabIndex = null;\n this.filtersDiv.classList.remove('show');\n this.filtersDiv.setAttribute('aria-expanded', 'false');\n document.body.style.overflow = '';\n setTimeout(() => this.openFilterBtn.focus(), 20);\n }\n\n private toggleOldResults(show: boolean) {\n if (show)\n this.algoliaEle.filters = this.algoliaEle.filters.filter(\n (f) => !f.startsWith('created > ')\n );\n else this.algoliaEle.filters = [...this.algoliaEle.filters, filterOldPosts];\n\n console.log(this.algoliaEle.filters);\n }\n\n componentDidLoad() {\n this.ro = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (!entry.contentRect.width) return;\n this.currentWidth = entry.contentRect.width;\n }\n });\n this.ro.observe(this.el);\n this.algoliaEle.filters = [filterOldPosts]; // only get last 2 years\n }\n\n render() {\n return (\n <Host\n class={{ small: this.currentWidth < 677 }}\n dir={(this.el.ownerDocument as Document).dir === 'rtl' ? 'rtl' : false}\n >\n <nano-algolia\n store-id=\"searchq\"\n store-method=\"url-hash-push\"\n class=\"main-search__wrap sc-nano-global-search-results\"\n ref={(ele) => raf(() => (this.algoliaEle = ele))}\n id=\"main-search\"\n >\n <script type=\"text/template\" slot=\"template\">\n {`<div class=\"main-search sc-nano-global-search-results\">\n <nano-algolia-results id=\"main-search-results\" class=\"main-search__results sc-nano-global-search-results\" infinite-scroll>\n <script type=\"text/template\" slot=\"start-template\">\n <div class=\"sc-nano-global-search-results main-search__topbar topbar\">\n <button class=\"sc-nano-global-search-results topbar__bkbtn back-btn icon-button\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/chevron-left\" size=\"small\"></nano-icon>\n </button>\n <div>\n <em class=\"sc-nano-global-search-results topbar__query\">'{{ it.query }}' - </em> <strong>{{ it.totalHitsWithFilters }}</strong> Results\n </div>\n\n <div class=\"sc-nano-global-search-results topbar__filtering\">\n {{ @if (it.results.length) }}\n\n {{ @if (it.indexName === 'All') }}\n <nano-select class=\"sc-nano-global-search-results topbar__order topbar__order--www indexchange\" value=\"{{ it.index }}\" hide-label=\"true\" label=\"Sort order\" show-inline-error=\"false\">\n <nano-option value=\"all_prod_en\">Sort by: Most relevant</nano-option>\n <nano-option value=\"all_prod_en_date_desc\">Sort by: Newest</nano-option>\n <nano-option value=\"all_prod_en_date_asc\">Sort by: Oldest</nano-option>\n <nano-option value=\"all_prod_en_activity_date_desc\">Sort by: Recent activity</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'www') }}\n <nano-select class=\"sc-nano-global-search-results topbar__order topbar__order--www indexchange\" value=\"{{ it.index }}\" hide-label=\"true\" label=\"Sort order\" show-inline-error=\"false\">\n <nano-option value=\"cws_english_en\">Sort by: Most relevant</nano-option>\n <nano-option value=\"cws_english_en_date_desc\">Sort by: Newest</nano-option>\n <nano-option value=\"cws_english_en_date_asc\">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'Resources') }}\n <nano-select class=\"sc-nano-global-search-results topbar__order topbar__order--www indexchange\" value=\"{{ it.index }}\" hide-label=\"true\" label=\"Sort order\" show-inline-error=\"false\">\n <nano-option value=\"cws_english_resources_en\">Sort by: Most relevant</nano-option>\n <nano-option value=\"cws_english_resources_en_featured_desc\">Sort by: Newest</nano-option>\n <nano-option value=\"cws_english_resources_en_featured_asc\">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'Store') }}\n <nano-select class=\"sc-nano-global-search-results topbar__order topbar__order--www indexchange\" value=\"{{ it.index }}\" hide-label=\"true\" label=\"Sort order\" show-inline-error=\"false\">\n <nano-option value=\"store_prod\">Sort by: Most relevant</nano-option>\n <nano-option value=\"store_prod_date_desc\">Sort by: Newest</nano-option>\n <nano-option value=\"store_prod_date_asc\">Sort by: Oldest</nano-option>\n </nano-select>\n {{ /if }}\n\n {{ @if (it.indexName === 'Community') }}\n <nano-select class=\"sc-nano-global-search-results topbar__order topbar__order--community indexchange\" value=\"{{ it.index }}\" hide-label=\"true\" label=\"Sort order\" show-inline-error=\"false\">\n <nano-option value=\"community_prod\">Sort by: Most relevant</nano-option>\n <nano-option value=\"community_prod_date_desc\">Sort by: Newest</nano-option>\n <nano-option value=\"community_prod_date_asc\">Sort by: Oldest</nano-option>\n <nano-option value=\"community_prod_activity_date_desc\">Sort by: Recent activity</nano-option>\n </nano-select>\n {{ /if }}\n {{ /if }}\n\n <button class=\"sc-nano-global-search-results topbar__show-filters filters-title\" aria-controls=\"main-search-filters\">\n {{ @if (it.appliedFilters && it.appliedFilters.length > 0) }}\n <span class=\"sc-nano-global-search-results topbar__filter-count\">\n {{ (it.appliedFilters.reduce(function(a, b) { return a + (b.values ? b.values.length : 0) }, 0)) }}\n </span>\n {{ /if }}\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/filter\"></nano-icon>\n </button>\n </div>\n </div>\n\n {{ @if (it.results.length) }}\n <div class=\"sc-nano-global-search-results main-search__applied-filters\">\n {{ @if (it.appliedFilters) }}\n {{ @each(it.appliedFilters) => filterObj }}\n {{ @each(filterObj.values) => filterVal }}\n <span class=\"sc-nano-global-search-results main-search__applied-filter\">\n {{ filterVal | public_name }}\n <button class=\"sc-nano-global-search-results icon-button remove-filter\" data-filter=\"{{ filterObj.name }}\" data-filter-val=\"{{ filterVal }}\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/times\"></nano-icon>\n </button>\n </span>\n {{ /each }}\n {{ /each }}\n {{ #else }}\n <span class=\"sc-nano-global-search-results main-search__applied-nofilter\">&nbsp;</span>\n {{ /if }}\n </div>\n {{ /if }}\n </script>\n\n <script type=\"text/template\" slot=\"result-template\">\n <!-- START NO CONTENT -->\n {{ @if ((!it.results || !it.results.length)) }}\n <div class=\"search-empty\">\n <nano-icon name=\"light/search\" class=\"search-empty-icon\"></nano-icon>\n <h2>No matches found...</h2>\n <p>Please try a different search query.</p>\n </div>\n {{ /if }}\n <!-- END NO CONTENT -->\n {{ @if (it.totalHitsWithFilters > 0) }}\n {{ @each(it.results) => result }}\n {{ contentType = result.content_type ? result.content_type : result.type }}\n <li class=\"sc-nano-global-search-results\">\n <div class=\"sc-nano-global-search-results result\">\n <h4 class=\"sc-nano-global-search-results result__title\" data-icon-set=\"{{(iconSet = false)}}\">\n <a href=\"{{ result.url | abs_url(it, result) }}\">\n {{ result._snippetResult.title.value | safe }}\n {{ @if (contentType === 'technical_document' || contentType === 'literature' || contentType === 'white_paper' || contentType === 'protocol') }}\n <span class=\"sc-nano-global-search-results result__pdf\">PDF</span>\n {{ /if }}\n </a>\n </h4>\n {{ @if (result.authors) }}\n {{ @if (typeof result.authors === 'string') }}\n <a class=\"sc-nano-global-search-results result__authors\" href=\"{{ result.url | abs_url(it, result) }}\">Authors: {{ result.authors | trim_to(50) }}</a>\n {{ #else }}\n <a class=\"sc-nano-global-search-results result__authors\" href=\"{{ result.url | abs_url(it, result) }}\">\n {{ @each(result.authors) => author, index }}\n <!-- {{ @if(index == 0)}} -->\n Athors: {{ author | trim_to(60) }}\n <!-- {{ /if }} -->\n {{ /each }}\n </a>\n {{ /if }}\n {{ /if }}\n {{ @if (contentType === 'video' || contentType === 'lc_lightning_talk' ) }}\n {{ @if (result.name) }}\n <a class=\"sc-nano-global-search-results result__authors\" href=\"{{ result.url | abs_url(it, result) }}\">Speaker: {{ result.name | trim_to(50) }}</a>\n {{ /if }}\n <a class=\"sc-nano-global-search-results result__video-body\" href=\"{{ result.url | abs_url(it, result) }}\">\n {{ @if (result.image) }}\n <div class=\"sc-nano-global-search-results result__image\" style=\"background-image: url('{{ result.image | abs_url(it, result) }}')\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"duotone/play-circle\"></nano-icon>\n </div>\n {{ /if }}\n <div class=\"sc-nano-global-search-results result__body\">\n <div class=\"sc-nano-global-search-results result__description\">\n {{ @if (result.description) }}\n {{ result._snippetResult.description.value | safe }}\n {{ /if }}\n </div>\n </div>\n <div class=\"sc-nano-global-search-results result__meta\">\n {{ @if (result.type || result.content_type) }}\n <div class=\"sc-nano-global-search-results result__type\">\n {{ @if (contentType === 'lc_lightning_talk') }}\n Presentation\n {{ #else }}\n {{ contentType }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.tags) }}\n <div class=\"sc-nano-global-search-results result__tags\">\n {{ @if (typeof result.tags === 'string') }}\n <button data-value=\"{{ result.tags | lowercase }}\" class=\"sc-nano-global-search-results result__tags-tag\">{{ result.tags }}</button>\n {{ #else }}\n {{ @each(result.tags) => tag, index }}\n {{ @if(index < 5)}}\n {{ @if (tag !== \"No video\" && tag !== \"Resources\" && tag !== \"Video\") }}\n <button data-value=\"{{ tag | lowercase }}\" class=\"sc-nano-global-search-results result__tags-tag\">{{ tag }}</button>\n {{ /if }}\n {{ /if }}\n {{ /each }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.source) }}\n <div class=\"sc-nano-global-search-results result__source\">Source: {{ result.source }}</div>\n {{ /if }}\n </div>\n </a>\n {{ /if }}\n {{ @if (result.body) }}\n <a class=\"sc-nano-global-search-results result__body\" href=\"{{ result.url | abs_url(it, result) }}\">{{ result._snippetResult.body.value | safe }}</a>\n {{ /if }}\n {{ @if (contentType === 'product' }}\n <div class=\"sc-nano-global-search-results result__buttons\">\n <a class=\"sc-nano-global-search-results result__buttons-button\" href=\"{{ result.url | abs_url(it, result) }}\">View product</a>\n </div>\n {{ /if }}\n {{ @if (contentType === 'event') }}\n <a class=\"sc-nano-global-search-results result__promo\" href=\"{{ result.url | abs_url(it, result) }}\">\n <div class=\"sc-nano-global-search-results result__promo-box\">\n <div class=\"sc-nano-global-search-results result__promo-bigdate\">\n {{ result.start_date | date_long({year: undefined, month: 'short', day: undefined}) }}\n <span>{{ result.start_date | date_long({year: undefined, month: undefined, day: 'numeric'}) }}</span>\n </div>\n <div>\n <div class=\"sc-nano-global-search-results result__promo-date\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/calendar-alt\"></nano-icon>\n {{ @if (result.end_date) }}\n {{ @if (result.end_date !== result.start_date) }}\n {{ result.start_date | date_long({weekday: 'short', day: 'numeric', month: 'short'}) }} - {{ result.end_date | date_long({weekday: 'short', day: 'numeric', year: 'numeric', month: 'short'}) }}\n {{ #else }}\n {{ result.start_date | date_long({weekday: 'short', day: 'numeric', year: 'numeric', month: 'short'}) }}\n {{ /if }}\n {{ #else }}\n {{ @if (result.start_date) }}\n {{ result.start_date | date_long({weekday: 'short', day: 'numeric', year: 'numeric', month: 'short'}) }}\n {{ /if }}\n {{ /if }}\n </div>\n <div class=\"sc-nano-global-search-results result__promo-venue\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/map-marker-alt\"></nano-icon>\n Venue\n </div>\n </div>\n </div>\n </a>\n {{ /if }}\n {{ @if (contentType !== 'lc_lightning_talk' && contentType !== 'video') }}\n <div class=\"sc-nano-global-search-results result__meta\">\n {{ @if (result.type || result.content_type) }}\n <div class=\"sc-nano-global-search-results result__type\">\n {{ @if (contentType === 'news_item') }}\n News\n {{ #elif (contentType === 'static_page' || contentType === 'bespoke') }}\n Page\n {{ #elif (contentType === 'case_study') }}\n Case study\n {{ #elif (contentType === 'lc_poster') }}\n Poster\n {{ #elif (contentType === 'nanopore_live') }}\n Live stream\n {{ #elif (contentType === 'data_release') }}\n Data release\n {{ #elif (contentType === 'research_area') }}\n Research area\n {{ #elif (contentType === 'white_paper') }}\n White paper\n {{ #elif (contentType === 'technical_document') }}\n Technical document\n {{ #elif (contentType === 'info_sheet') }}\n Info sheet\n {{ #elif (contentType === 'lc_home' || contentType === 'lc_venue') }}\n London Calling\n {{ #else }}\n {{ contentType }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (contentType !== 'event') }}\n {{ @if (result.updated) }}\n <div class=\"sc-nano-global-search-results result__date\">{{ result.updated | date_long({year: 'numeric', month: 'short', day: 'numeric'}) }}</div>\n {{ #else }}\n {{ @if (result.created) }}\n <div class=\"sc-nano-global-search-results result__date\">{{ result.created | date_long({year: 'numeric', month: 'short', day: 'numeric'}) }}</div>\n {{ /if }}\n {{ /if }}\n {{ /if }}\n {{ @if (result.tags) }}\n <div class=\"sc-nano-global-search-results result__tags\">\n {{ @if (typeof result.tags === 'string') }}\n {{ @if (result.tags !== \"Resources\" && result.tags !== \"Tools\" && result.tags !== \"Publications\" && result.tags !== \"Case studies\") }}\n <button data-value=\"{{ result.tags | lowercase }}\" class=\"sc-nano-global-search-results result__tags-tag\">{{ result.tags }}</button>\n {{ /if }}\n {{ #else }}\n {{ @each(result.tags) => tag, index }}\n {{ @if(index < 5)}}\n {{ @if (tag !== \"Resources\" && tag !== \"Tools\" && tag !== \"Publications\" && tag !== \"Case studies\") }}\n <button data-value=\"{{ tag | lowercase }}\" class=\"sc-nano-global-search-results result__tags-tag\">{{ tag }}</button>\n {{ /if }}\n {{ /if }}\n {{ /each }}\n {{ /if }}\n </div>\n {{ /if }}\n {{ @if (result.source) }}\n <div class=\"sc-nano-global-search-results result__source\">Source: {{ result.source }}</div>\n {{ /if }}\n </div>\n {{ /if }}\n </div>\n </li>\n {{ /each }}\n {{ /if }}\n </script>\n\n <div slot=\"start-output\"></div>\n <ul slot=\"result-output\" class=\"sc-nano-global-search-results\"></ul>\n </nano-algolia-results>\n\n {{ @if(Object.keys(it.origFilters).length) }}\n <div class=\"sc-nano-global-search-results main-search__filters filters close-filters\" id=\"main-search-filters\">\n <div class=\"sc-nano-global-search-results filters-wrap\">\n {{ @if(it.totalHits) }}\n <div class=\"sc-nano-global-search-results filters-header\">\n <strong class=\"sc-nano-global-search-results filters-title\">Filters</strong>\n <button class=\"sc-nano-global-search-results filters-reset\">Reset</button>\n <button class=\"sc-nano-global-search-results filters__close-filters close-filters icon-button\" aria-controls=\"main-search-filters\">\n <nano-icon class=\"sc-nano-global-search-results\" name=\"light/times\"></nano-icon>\n </button>\n </div>\n {{ /if }}\n\n <div>\n <input class=\"sc-nano-global-search-results filter-cb old-posts filters__old-posts\" type=\"checkbox\" name=\"old-posts\" id=\"old-posts\" value=\"nice\" />\n <label class=\"sc-nano-global-search-results filter-label\" for=\"old-posts\">\n <span>Include posts older than 2 years</span>\n </label>\n {{ @if(it.origFilters['type']) }}\n <nano-details class=\"sc-nano-global-search-results\" open={true} icon-rotation=\"180\">\n <strong slot=\"label\">Type</strong>\n <nano-icon slot=\"icon-end\" name=\"light/chevron-down\" size=\"small\"></nano-icon>\n <nano-algolia-filter store-id=\"searchf1\" store-method=\"url-hash-push\" filter-name=\"type\">\n <script type=\"text/template\" slot=\"filter-template\">\n <ul class=\"sc-nano-global-search-results\" data-num=\"{{(x = 0)}}\">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class=\"sc-nano-global-search-results\" data-num=\"{{(x++)}}\">\n <input class=\"sc-nano-global-search-results filter-cb\" type=\"checkbox\" value=\"{{ filter }}\" id=\"type-{{ filter }}-{{x}}\" />\n <label class=\"sc-nano-global-search-results filter-label\" for=\"type-{{ filter }}-{{x}}\">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n </script>\n <div slot=\"output\"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['channel']) }}\n <nano-details open={true} icon-rotation=\"180\">\n <strong slot=\"label\">Channels</strong>\n <nano-icon slot=\"icon-end\" name=\"light/chevron-down\" size=\"small\"></nano-icon>\n <nano-algolia-filter store-id=\"searchf2\" store-method=\"url-hash-push\" filter-name=\"channel\">\n <script type=\"text/template\" slot=\"filter-template\">\n <ul class=\"sc-nano-global-search-results\" data-num=\"{{(x = 0)}}\">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class=\"sc-nano-global-search-results\" data-num=\"{{(x++)}}\">\n <input class=\"filter-cb sc-nano-global-search-results\" type=\"checkbox\" value=\"{{ filter }}\" id=\"channel-{{ filter }}-{{x}}\" />\n <label class=\"filter-label sc-nano-global-search-results\" for=\"channel-{{ filter }}-{{x}}\">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n </script>\n <div slot=\"output\"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['authors']) }}\n <nano-details open={true} icon-rotation=\"180\">\n <strong slot=\"label\">Authors</strong>\n <nano-icon slot=\"icon-end\" name=\"light/chevron-down\" size=\"small\"></nano-icon>\n <nano-algolia-filter store-id=\"searchf3\" store-method=\"url-hash-push\" filter-name=\"authors\">\n <script type=\"text/template\" slot=\"filter-template\">\n <ul class=\"sc-nano-global-search-results\" data-num=\"{{(x = 0)}}\">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class=\"sc-nano-global-search-results\" data-num=\"{{(x++)}}\">\n <input class=\"filter-cb sc-nano-global-search-results\" type=\"checkbox\" value=\"{{ filter }}\" id=\"authors-{{ filter }}-{{x}}\" />\n <label class=\"filter-label sc-nano-global-search-results\" for=\"authors-{{ filter }}-{{x}}\">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n </script>\n <div slot=\"output\"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['categories_without_path']) }}\n <nano-details open={true} icon-rotation=\"180\">\n <strong slot=\"label\">Category</strong>\n <nano-icon slot=\"icon-end\" name=\"light/chevron-down\" size=\"small\"></nano-icon>\n <nano-algolia-filter store-id=\"searchf4\" store-method=\"url-hash-push\" filter-name=\"categories_without_path\">\n <script type=\"text/template\" slot=\"filter-template\">\n <ul class=\"sc-nano-global-search-results\" data-num=\"{{(x = 0)}}\">\n {{ @foreach(it.dyn) => filter, filterVal }}\n {{ @if(!filter.match(/publication/)) }}\n <li class=\"sc-nano-global-search-results\" data-num=\"{{(x++)}}\">\n <input class=\"sc-nano-global-search-results filter-cb\" type=\"checkbox\" value=\"{{ filter }}\" id=\"cwp-{{ filter }}-{{x}}\" />\n <label class=\"sc-nano-global-search-results filter-label\" for=\"cwp-{{ filter }}-{{x}}\">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /if }}\n {{ /foreach }}\n </ul>\n </script>\n <div slot=\"output\"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n\n {{ @if(it.origFilters['tags']) }}\n <nano-details open={true} icon-rotation=\"180\">\n <strong slot=\"label\">Tags</strong>\n <nano-icon slot=\"icon-end\" name=\"light/chevron-down\" size=\"small\"></nano-icon>\n <nano-algolia-filter store-id=\"searchf5\" store-method=\"url-hash-push\" filter-name=\"tags\">\n <script type=\"text/template\" slot=\"filter-template\">\n <ul class=\"sc-nano-global-search-results\" data-num=\"{{(x = 0)}}\">\n {{ @foreach(it.dyn) => filter, filterVal }}\n <li class=\"sc-nano-global-search-results\" data-num=\"{{(x++)}}\">\n <input class=\"filter-cb sc-nano-global-search-results\" type=\"checkbox\" value=\"{{ filter | lowercase }}\" id=\"tags-{{ filter }}-{{x}}\" />\n <label class=\"filter-label sc-nano-global-search-results\" for=\"tags-{{ filter }}-{{x}}\">\n <span>{{ filter | public_name }} (<strong>{{ filterVal }}</strong>)</span>\n </label></li>\n {{ /foreach }}\n </ul>\n </script>\n <div slot=\"output\"></div>\n </nano-algolia-filter>\n </nano-details>\n {{ /if }}\n </div>\n </div>\n </div>\n {{ /if }}\n </div>`}\n </script>\n <div slot=\"output\"></div>\n <slot />\n </nano-algolia>\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
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};
1
+ var __awaiter=this&&this.__awaiter||function(e,t,n,i){function r(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,s){function a(e){try{l(i.next(e))}catch(t){s(t)}}function o(e){try{l(i["throw"](e))}catch(t){s(t)}}function l(e){e.done?n(e.value):r(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(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,r,s,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,r&&(s=a[0]&2?r["return"]:a[0]?r["throw"]||((s=r["return"])&&s.call(r),0):r.next)&&!(s=s.call(r,a[1])).done)return s;if(r=0,s)a=[a[0]&2,s.value];switch(a[0]){case 0:case 1:s=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;r=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(s=n.trys,s=s.length>0&&s[s.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!s||a[1]>s[0]&&a[1]<s[3])){n.label=a[1];break}if(a[0]===6&&n.label<s[1]){n.label=s[1];s=a;break}if(s&&n.label<s[2]){n.label=s[2];n.ops.push(a);break}if(s[2])n.ops.pop();n.trys.pop();continue}a=t.call(e,n)}catch(o){a=[6,o];r=0}finally{i=s=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,r=e.length;n<i;n++,r++)e[r]=t[n];return e};
2
2
  /*!
3
3
  * Web Components for Nanopore digital Web Apps
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
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,r,s,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;r=e.c;s=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 r=new Map;var s={wormholes:r,state:n};m.set(e,s);var a=e.connectedCallback;e.connectedCallback=function(){m.set(e,s);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(r.has(n))return;if(typeof n!=="symbol"){var a=n.connectedCallback,o=n.disconnectedCallback;n.connectedCallback=function(){r.set(n,e.detail);if(a){a.call(n)}};n.disconnectedCallback=function(){r.delete(n);if(o){o.call(n)}}}r.set(n,e.detail);x(e.detail,s.state);i===null||i===void 0?void 0:i.resolve((function(){r.delete(n)}))}));i.addEventListener("closeWormhole",(function(e){var t=e.detail;r.delete(t)}))},Provider:function(e,t){var i=e.state;var r=n();if(m.has(r)){var s=m.get(r);s.state=i;s.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,r=new Error(e);return n=r,i=t.prototype,Object.setPrototypeOf?Object.setPrototypeOf(n,i):n.__proto__=i,r}function n(e,n,i){var r=n.slice(0,i).split(/\n/),s=r.length,a=r[s-1].length+1;throw t(e+=" at line "+s+" col "+a+":\n\n "+n.split(/\n/)[s-1]+"\n "+Array(a).join(" ")+"^")}t.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var i=new Function("return this")().Promise,r=!1;try{r=new Function("return (async function(){}).constructor")()}catch(e){if(!(e instanceof SyntaxError))throw e}function s(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function a(e,t,n){for(var i in t)s(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 r=i.prefixes,s=[r.h,r.b,r.i,r.r,r.c,r.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*("+s+")?\\s*","g"),d=0,p=!1;function g(t,r){var s,f={f:[]},g=0,v="c";function y(t){var r=e.slice(d,t),s=r.trim();if("f"===v)"safe"===s?f.raw=!0:i.async&&o.test(s)?(s=s.replace(o,""),f.f.push([s,"",!0])):f.f.push([s,""]);else if("fp"===v)f.f[f.f.length-1][1]+=s;else if("err"===v){if(s){var a=r.search(/\S/);n("invalid syntax",e,d+a)}}else f[v]=s;d=t+1}for("h"===r||"b"===r||"c"===r?v="n":"r"===r&&(f.raw=!0,r="i"),a.lastIndex=d;null!==(s=a.exec(e));){var m=s[1],x=s[2],b=s[3],w=s[4],I=s[5],F=s.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,s.index),a.lastIndex=_+2}else if("'"===x){u.lastIndex=s.index,u.exec(e)?a.lastIndex=u.lastIndex:n("unclosed string",e,s.index)}else if('"'===x){c.lastIndex=s.index,c.exec(e)?a.lastIndex=c.lastIndex:n("unclosed string",e,s.index)}else if("`"===x){l.lastIndex=s.index,l.exec(e)?a.lastIndex=l.lastIndex:n("unclosed string",e,s.index)}}else if(b)return y(F),d=F+s[0].length,h.lastIndex=d,p=I,w&&"h"===r&&(r="s"),f.t=r,f}return n("unclosed tag",e,t),f}var v=function s(a,l){a.b=[],a.d=[];var u,c=!1,f=[];function v(e,t){e&&(e=function(e,t,n,i){var r,s;return"string"==typeof t.autoTrim?r=s=t.autoTrim:Array.isArray(t.autoTrim)&&(r=t.autoTrim[1],s=t.autoTrim[0]),(n||!1===n)&&(r=n),(i||!1===i)&&(s=i),"slurp"===r&&"slurp"===s?e.trim():("_"===r||"slurp"===r?e=String.prototype.trimLeft?e.trimLeft():e.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==r&&"nl"!==r||(e=e.replace(/^(?:\n|\r|\r\n)/,"")),"_"===s||"slurp"===s?e=String.prototype.trimRight?e.trimRight():e.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==s&&"nl"!==s||(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 r)if(r[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=s(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 r=0;r<t.plugins.length;r++){var s=t.plugins[r];s.processFnString&&(i=s.processFnString(i,t))}return i}function g(e,t){for(var n=0;n<t.length;n++){var i=t[n][0],r=t[n][1];e=(t[n][2]?"await ":"")+"c.l('F','"+i+"')("+e,r&&(e+=","+r),e+=")"}return e}function v(e,t,n,i,r,s){var a="{exec:"+(r?"async ":"")+m(n,t,e)+",params:["+i+"]";return s&&(a+=",name:'"+s+"'"),r&&(a+=",async:true"),a+="}"}function y(e,t){for(var n="[",i=0;i<e.length;i++){var r=e[i];n+=v(t,r.res||"",r.d,r.p||"",r.a,r.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,r="";n<i;n++){var s=e[n];if("string"==typeof s){r+="tR+='"+s+"';"}else{var a=s.t,o=s.c||"",l=s.f,u=s.n||"",c=s.p||"",h=s.res||"",f=s.b,d=!!s.a;if("i"===a){t.defaultFilter&&(o="c.l('F','"+t.defaultFilter+"')("+o+")");var p=g(o,l);!s.raw&&t.autoEscape&&(p="c.l('F','e')("+p+")"),r+="tR+="+p+";"}else if("h"===a)if(t.storage.nativeHelpers.get(u))r+=t.storage.nativeHelpers.get(u)(s,t);else{var m=(d?"await ":"")+"c.l('H','"+u+"')("+v(t,h,s.d,c,d);m+=f?","+y(f,t):",[]",r+="tR+="+g(m+=",c)",l)+";"}else"s"===a?r+="tR+="+g((d?"await ":"")+"c.l('H','"+u+"')({params:["+c+"]},[],c)",l)+";":"e"===a&&(r+=o+"\n")}}return r}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,r){if(n&&n.length>0)throw t((r?"Native":"")+"Helper '"+e+"' doesn't accept blocks");if(i&&i.length>0)throw t((r?"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,r,s){i(t[n],n).then((function(a){r+=a,n===t.length-1?s(r):e(t,n+1,i,r,s)}))}(i,0,e.exec,n,t)}));for(var r=0;r<i.length;r++)n+=e.exec(i[r],r);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,r,s,a){r(n[i],t[n[i]]).then((function(o){s+=o,i===n.length-1?a(s):e(t,n,i+1,r,s,a)}))}(n,Object.keys(n),0,e.exec,"",t)}));var i="";for(var r in n)s(n,r)&&(i+=e.exec(r,n[r]));return i},include:function(e,n,i){w("include",n,!1);var r=i.storage.templates.get(e.params[0]);if(!r)throw t('Could not fetch template "'+e.params[0]+'"');return r(e.params[1],i)},extends:function(e,n,i){var r=e.params[1]||{};r.content=e.exec();for(var s=0;s<n.length;s++){var a=n[s];r[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(r,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 r=e.b[i];"else"===r.n?n+="else{"+x(r.d,t)+"}":"elif"===r.n&&(n+="else if("+r.p+"){"+x(r.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)+"}",r=e.b[0];return i+="catch"+(r.res?"("+r.res+")":"")+"{"+x(r.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 r=this.storage.filters.get(n);if(r)return r;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||{}),s=Function;if(i.async){if(!r)throw t("This environment doesn't support async/await");s=r}try{return new s(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,r,s){var a=k(r||{});if(!a.async)return E(e,a)(n,a);if(!s){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,s)}catch(e){return s(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 r=t.domains.find((function(e){return e.origin===n.origin}));i=r?r.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=r(this,"nanoDidLoad",7);this.nanoResultsShown=r(this,"nanoResultsShown",3);this.nanoBeforeQuery=r(this,"nanoBeforeQuery",7);this.nanoAfterQuery=r(this,"nanoAfterQuery",7);this.nanoNewResults=r(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(r){switch(r.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=r.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(){s((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";s((function(){e.resultsDiv.addEventListener("transitionend",e.onResultDisplay);e.resultsDiv.style.display="block";setTimeout((function(){return e.resultsDiv.classList.add("show")}),50)}))}else{s((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.handleFilterpropChange=function(){this.algoliaSearch(u.Init)};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(r){n=t[r];e[r]=e[r]||{name:n.facetName,or:[],and:[],not:[]};i=e[r][n.operator];if(n.value&&n.value.length){e[r][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 r;var s;Object.values(e).forEach((function(e){Object.keys(e).filter((function(e){return e.match(/(or|and|not)/)})).forEach((function(t){r=e;s=e.name;if(t==="or"||t==="and"){if(r[t].length){i.push("( "+r[t].map((function(e){if(e.length)return n(s,e)})).join(" "+t.toLocaleUpperCase()+" ")+" )")}}else{if(r.not.length){i.push("( "+r[t].map((function(e){if(e.length)return"NOT "+n(s,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(r){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(r){i.placedAlgoliaEles=i.placedAlgoliaEles.filter((function(e){return e!==r.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"])')}s((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"],filters:["handleFilterpropChange"]}},enumerable:false,configurable:true});return e}());k.style=P}}}));
5
+ //# sourceMappingURL=p-6af10533.system.entry.js.map