@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
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
- import{g as t,k as i,r as e,c as s,f as n,i as r,h as a,e as h}from"./p-b5c33aff.js";import{S as o}from"./p-ef7f1e9c.js";import{r as l}from"./p-289aa03f.js";import{a as f}from"./p-a0b93616.js";import{b as u,c,a as p}from"./p-69a3e911.js";import{C as d}from"./p-32f4516e.js";import{g as v}from"./p-b619500f.js";import{d as m}from"./p-1da5f8df.js";var y=new Map;var g=function(t,i){var e=t.fields,s=t.updater;e.forEach((function(t){s(t,i[t])}))};var b={create:function(i,e){var s=t(i);var n=new Map;var r={wormholes:n,state:e};y.set(i,r);var a=i.connectedCallback;i.connectedCallback=function(){y.set(i,r);if(a){a.call(i)}};var h=i.disconnectedCallback;i.disconnectedCallback=function(){y.delete(i);if(h){h.call(i)}};s.addEventListener("openWormhole",(function(t){t.stopPropagation();var i=t.detail,e=i.consumer,s=i.onOpen;if(n.has(e))return;if(typeof e!=="symbol"){var a=e.connectedCallback,h=e.disconnectedCallback;e.connectedCallback=function(){n.set(e,t.detail);if(a){a.call(e)}};e.disconnectedCallback=function(){n.delete(e);if(h){h.call(e)}}}n.set(e,t.detail);g(t.detail,r.state);s===null||s===void 0?void 0:s.resolve((function(){n.delete(e)}))}));s.addEventListener("closeWormhole",(function(t){var i=t.detail;n.delete(i)}))},Provider:function(t,e){var s=t.state;var n=i();if(y.has(n)){var r=y.get(n);r.state=s;r.wormholes.forEach((function(t){g(t,s)}))}return e}};var w=c((function(t,i){!function(t,e){e(i)}(p,(function(t){function i(t){var e,s,n=new Error(t);return e=n,s=i.prototype,Object.setPrototypeOf?Object.setPrototypeOf(e,s):e.__proto__=s,n}function e(t,e,s){var n=e.slice(0,s).split(/\n/),r=n.length,a=n[r-1].length+1;throw i(t+=" at line "+r+" col "+a+":\n\n "+e.split(/\n/)[r-1]+"\n "+Array(a).join(" ")+"^")}i.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var s=new Function("return this")().Promise,n=!1;try{n=new Function("return (async function(){}).constructor")()}catch(t){if(!(t instanceof SyntaxError))throw t}function r(t,i){return Object.prototype.hasOwnProperty.call(t,i)}function a(t,i,e){for(var s in i)r(i,s)&&(null==i[s]||"object"!=typeof i[s]||"storage"!==s&&"prefixes"!==s||e?t[s]=i[s]:t[s]=a({},i[s]));return t}var h=/^async +/,o=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,l=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,f=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,u=/[.*+\-?^${}()|[\]\\]/g;function c(t){return u.test(t)?t.replace(u,"\\$&"):t}function p(t,s){s.rmWhitespace&&(t=t.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),o.lastIndex=0,l.lastIndex=0,f.lastIndex=0;var n=s.prefixes,r=[n.h,n.b,n.i,n.r,n.c,n.e].reduce((function(t,i){return t&&i?t+"|"+c(i):i?c(i):t}),""),a=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+c(s.tags[1])+")","g"),u=new RegExp("([^]*?)"+c(s.tags[0])+"(-|_)?\\s*("+r+")?\\s*","g"),p=0,d=!1;function v(i,n){var r,c={f:[]},v=0,m="c";function y(i){var n=t.slice(p,i),r=n.trim();if("f"===m)"safe"===r?c.raw=!0:s.async&&h.test(r)?(r=r.replace(h,""),c.f.push([r,"",!0])):c.f.push([r,""]);else if("fp"===m)c.f[c.f.length-1][1]+=r;else if("err"===m){if(r){var a=n.search(/\S/);e("invalid syntax",t,p+a)}}else c[m]=r;p=i+1}for("h"===n||"b"===n||"c"===n?m="n":"r"===n&&(c.raw=!0,n="i"),a.lastIndex=p;null!==(r=a.exec(t));){var g=r[1],b=r[2],w=r[3],x=r[4],k=r[5],F=r.index;if(g)"("===g?(0===v&&("n"===m?(y(F),m="p"):"f"===m&&(y(F),m="fp")),v++):")"===g?0===--v&&"c"!==m&&(y(F),m="err"):0===v&&"|"===g?(y(F),m="f"):"=>"===g&&(y(F),p+=1,m="res");else if(b){if("/*"===b){var j=t.indexOf("*/",a.lastIndex);-1===j&&e("unclosed comment",t,r.index),a.lastIndex=j+2}else if("'"===b){l.lastIndex=r.index,l.exec(t)?a.lastIndex=l.lastIndex:e("unclosed string",t,r.index)}else if('"'===b){f.lastIndex=r.index,f.exec(t)?a.lastIndex=f.lastIndex:e("unclosed string",t,r.index)}else if("`"===b){o.lastIndex=r.index,o.exec(t)?a.lastIndex=o.lastIndex:e("unclosed string",t,r.index)}}else if(w)return y(F),p=F+r[0].length,u.lastIndex=p,d=k,x&&"h"===n&&(n="s"),c.t=n,c}return e("unclosed tag",t,i),c}var m=function r(a,o){a.b=[],a.d=[];var l,f=!1,c=[];function m(t,i){t&&(t=function(t,i,e,s){var n,r;return"string"==typeof i.autoTrim?n=r=i.autoTrim:Array.isArray(i.autoTrim)&&(n=i.autoTrim[1],r=i.autoTrim[0]),(e||!1===e)&&(n=e),(s||!1===s)&&(r=s),"slurp"===n&&"slurp"===r?t.trim():("_"===n||"slurp"===n?t=String.prototype.trimLeft?t.trimLeft():t.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==n&&"nl"!==n||(t=t.replace(/^(?:\n|\r|\r\n)/,"")),"_"===r||"slurp"===r?t=String.prototype.trimRight?t.trimRight():t.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==r&&"nl"!==r||(t=t.replace(/(?:\n|\r|\r\n)$/,"")),t)}(t,s,d,i))&&(t=t.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),c.push(t))}for(;null!==(l=u.exec(t));){var y,g=l[1],b=l[2],w=l[3]||"";for(var x in n)if(n[x]===w){y=x;break}m(g,b),p=l.index+l[0].length,y||e("unrecognized tag type: "+w,t,p);var k=v(l.index,y),F=k.t;if("h"===F){var j=k.n||"";s.async&&h.test(j)&&(k.a=!0,k.n=j.replace(h,"")),k=r(k),c.push(k)}else if("c"===F){if(a.n===k.n)return f?(f.d=c,a.b.push(f)):a.d=c,a;e("Helper start and end don't match",t,l.index+l[0].length)}else if("b"===F){f?(f.d=c,a.b.push(f)):a.d=c;var C=k.n||"";s.async&&h.test(C)&&(k.a=!0,k.n=C.replace(h,"")),f=k,c=[]}else if("s"===F){var I=k.n||"";s.async&&h.test(I)&&(k.a=!0,k.n=I.replace(h,"")),c.push(k)}else c.push(k)}if(!o)throw i('unclosed helper "'+a.n+'"');return m(t.slice(p,t.length),!1),a.d=c,a}({f:[]},!0);if(s.plugins)for(var y=0;y<s.plugins.length;y++){var g=s.plugins[y];g.processAST&&(m.d=g.processAST(m.d,s))}return m.d}function d(t,i){var e=p(t,i),s="var tR='';"+(i.useWith?"with("+i.varName+"||{}){":"")+b(e,i)+"if(cb){cb(null,tR)} return tR"+(i.useWith?"}":"");if(i.plugins)for(var n=0;n<i.plugins.length;n++){var r=i.plugins[n];r.processFnString&&(s=r.processFnString(s,i))}return s}function v(t,i){for(var e=0;e<i.length;e++){var s=i[e][0],n=i[e][1];t=(i[e][2]?"await ":"")+"c.l('F','"+s+"')("+t,n&&(t+=","+n),t+=")"}return t}function m(t,i,e,s,n,r){var a="{exec:"+(n?"async ":"")+g(e,i,t)+",params:["+s+"]";return r&&(a+=",name:'"+r+"'"),n&&(a+=",async:true"),a+="}"}function y(t,i){for(var e="[",s=0;s<t.length;s++){var n=t[s];e+=m(i,n.res||"",n.d,n.p||"",n.a,n.n),s<t.length&&(e+=",")}return e+="]"}function g(t,i,e){return"function("+i+"){var tR='';"+b(t,e)+"return tR}"}function b(t,i){for(var e=0,s=t.length,n="";e<s;e++){var r=t[e];if("string"==typeof r){n+="tR+='"+r+"';"}else{var a=r.t,h=r.c||"",o=r.f,l=r.n||"",f=r.p||"",u=r.res||"",c=r.b,p=!!r.a;if("i"===a){i.defaultFilter&&(h="c.l('F','"+i.defaultFilter+"')("+h+")");var d=v(h,o);!r.raw&&i.autoEscape&&(d="c.l('F','e')("+d+")"),n+="tR+="+d+";"}else if("h"===a)if(i.storage.nativeHelpers.get(l))n+=i.storage.nativeHelpers.get(l)(r,i);else{var g=(p?"await ":"")+"c.l('H','"+l+"')("+m(i,u,r.d,f,p);g+=c?","+y(c,i):",[]",n+="tR+="+v(g+=",c)",o)+";"}else"s"===a?n+="tR+="+v((p?"await ":"")+"c.l('H','"+l+"')({params:["+f+"]},[],c)",o)+";":"e"===a&&(n+=h+"\n")}}return n}var w=function(){function t(t){this.cache=t}return t.prototype.define=function(t,i){this.cache[t]=i},t.prototype.get=function(t){return this.cache[t]},t.prototype.remove=function(t){delete this.cache[t]},t.prototype.reset=function(){this.cache={}},t.prototype.load=function(t){a(this.cache,t,!0)},t}();function x(t,e,s,n){if(e&&e.length>0)throw i((n?"Native":"")+"Helper '"+t+"' doesn't accept blocks");if(s&&s.length>0)throw i((n?"Native":"")+"Helper '"+t+"' doesn't accept filters")}var k={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function F(t){return k[t]}var j=new w({}),C=new w({each:function(t,i){var e="",s=t.params[0];if(x("each",i,!1),t.async)return new Promise((function(i){!function t(i,e,s,n,r){s(i[e],e).then((function(a){n+=a,e===i.length-1?r(n):t(i,e+1,s,n,r)}))}(s,0,t.exec,e,i)}));for(var n=0;n<s.length;n++)e+=t.exec(s[n],n);return e},foreach:function(t,i){var e=t.params[0];if(x("foreach",i,!1),t.async)return new Promise((function(i){!function t(i,e,s,n,r,a){n(e[s],i[e[s]]).then((function(h){r+=h,s===e.length-1?a(r):t(i,e,s+1,n,r,a)}))}(e,Object.keys(e),0,t.exec,"",i)}));var s="";for(var n in e)r(e,n)&&(s+=t.exec(n,e[n]));return s},include:function(t,e,s){x("include",e,!1);var n=s.storage.templates.get(t.params[0]);if(!n)throw i('Could not fetch template "'+t.params[0]+'"');return n(t.params[1],s)},extends:function(t,e,s){var n=t.params[1]||{};n.content=t.exec();for(var r=0;r<e.length;r++){var a=e[r];n[a.name]=a.exec()}var h=s.storage.templates.get(t.params[0]);if(!h)throw i('Could not fetch template "'+t.params[0]+'"');return h(n,s)},useScope:function(t,i){return x("useScope",i,!1),t.exec(t.params[0])}}),I=new w({if:function(t,i){x("if",!1,t.f,!0);var e="if("+t.p+"){"+b(t.d,i)+"}";if(t.b)for(var s=0;s<t.b.length;s++){var n=t.b[s];"else"===n.n?e+="else{"+b(n.d,i)+"}":"elif"===n.n&&(e+="else if("+n.p+"){"+b(n.d,i)+"}")}return e},try:function(t,e){if(x("try",!1,t.f,!0),!t.b||1!==t.b.length||"catch"!==t.b[0].n)throw i("native helper 'try' only accepts 1 block, 'catch'");var s="try{"+b(t.d,e)+"}",n=t.b[0];return s+="catch"+(n.res?"("+n.res+")":"")+"{"+b(n.d,e)+"}"},block:function(t,i){return x("block",t.b,t.f,!0),"if(!"+i.varName+"["+t.p+"]){tR+=("+g(t.d,"",i)+")()}else{tR+="+i.varName+"["+t.p+"]}"}}),z=new w({e:function(t){var i=String(t);return/[&<>"']/.test(i)?i.replace(/[&<>"']/g,F):i}}),S={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(t,e){if("H"===t){var s=this.storage.helpers.get(e);if(s)return s;throw i("Can't find helper '"+e+"'")}if("F"===t){var n=this.storage.filters.get(e);if(n)return n;throw i("Can't find filter '"+e+"'")}},async:!1,storage:{helpers:C,nativeHelpers:I,filters:z,templates:j},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function O(t,i){var e={};return a(e,S),i&&a(e,i),t&&a(e,t),e.l.bind(e),e}function R(t,e){var s=O(e||{}),r=Function;if(s.async){if(!n)throw i("This environment doesn't support async/await");r=n}try{return new r(s.varName,"c","cb",d(t,s))}catch(e){throw e instanceof SyntaxError?i("Bad template syntax\n\n"+e.message+"\n"+Array(e.message.length+1).join("=")+"\n"+d(t,s)):e}}function A(t,i){var e;return i.cache&&i.name&&i.storage.templates.get(i.name)?i.storage.templates.get(i.name):(e="function"==typeof t?t:R(t,i),i.cache&&i.name&&i.storage.templates.define(i.name,e),e)}S.l.bind(S),t.compile=R,t.compileScope=b,t.compileScopeIntoFunction=g,t.compileToString=d,t.defaultConfig=S,t.filters=z,t.getConfig=O,t.helpers=C,t.nativeHelpers=I,t.parse=p,t.render=function(t,e,n,r){var a=O(n||{});if(!a.async)return A(t,a)(e,a);if(!r){if("function"==typeof s)return new s((function(i,s){try{i(A(t,a)(e,a))}catch(t){s(t)}}));throw i("Please provide a callback function, this env doesn't support Promises")}try{A(t,a)(e,a,r)}catch(t){return r(t)}},t.templates=j,Object.defineProperty(t,"__esModule",{value:!0})}))}));const x=u(w);const k=Object.freeze(Object.assign(Object.create(null),w,{default:x}));const F=k;F.filters.define("date_long",((t,i={year:"numeric",month:"long",day:"numeric"})=>{if(!t)return;let e=new Date(parseInt(t)*1e3);t=e.toLocaleDateString("en-GB",i);return t}));F.filters.define("date_short",((t,i="d/m/y")=>{if(!t)return;let e=new Date(parseInt(t)*1e3);t=i.replace(/(d)/,e.getDate().toString());t=t.replace(/(m)/,(e.getMonth()+1).toString());t=t.replace(/(y)/,e.getFullYear().toString());return t}));F.filters.define("public_name",(t=>{if(!t)return;t=t.split("_").map((t=>t.length<3?t.toUpperCase():t)).join(" ");return t.charAt(0).toUpperCase()+t.slice(1)}));F.filters.define("trim_to",((t,i=100)=>{if(!t)return;if(t.length<=i)return t;return t.substr(0,i)+"..."}));F.filters.define("classname",(t=>{if(!t)return;return t.replace(/[\W]+/g,"")}));F.filters.define("abs_url",((t,i=null,e)=>{if(!i)return t;if(!t)return;let s=undefined;if(i.domains&&e&&e.origin){let t=i.domains.find((t=>t.origin===e.origin));s=t?t.domain:""}else if(i.domain)s=i.domain;if(!s)return t;return t.match(/^http/)?t:location.protocol+"//"+s+t}));F.filters.define("replace",((t,i,e)=>t.replace(i,e)));F.filters.define("remove_spaces",(t=>t.replace(/ /g,"_")));F.filters.define("add_spaces",(t=>t=t.replace(/[_\-]/g," ")));F.filters.define("capitalise",(t=>t=t.charAt(0).toUpperCase()+t.slice(1)));F.filters.define("lowercase",(t=>t=t.toLowerCase()));const j=F;class C{constructor(){this.queue=[];this.workingOnPromise=false;this.stop=false;this.limit=null}enqueue(t){return new Promise(((i,e)=>{this.queue.push({promise:t,resolve:i,reject:e});this.dequeue()}))}dequeue(){if(this.workingOnPromise){return false}if(this.stop){this.queue=[];this.stop=false;return}const t=this.queue.shift();if(!t){return false}try{this.workingOnPromise=true;t.promise().then((i=>{this.workingOnPromise=false;t.resolve(i);this.dequeue()})).catch((i=>{this.workingOnPromise=false;t.reject(i);this.dequeue()}))}catch(i){this.workingOnPromise=false;t.reject(i);this.dequeue()}return true}}C.pendingPromise=false;const I=":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}";const z=!!document.head.attachShadow;let S=class{constructor(t){e(this,t);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=o.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=j;this.tplRenderFn=j.render;this.replicaIndex="";this.browseIndex=false;this.minChars=2;this.storeMethod="session";this.searchChange=async()=>{if(!this.algoliaIndex)return;if(!this.query||this.query.length<this.minChars){if(!this.browseIndex){if(!this.query||this.query.length===0){this.handleSearchReset();return}else return}else if(this.query!=="*"){this.query="*";return}}this.isLoading=true;setTimeout((async()=>{this.resetPage();await this.algoliaSearch(o.Init);await this.updateContent();setTimeout((t=>this.isLoading=false),800);this.showResults=true;this.nanoResultsShown.emit(this.indexResults)}),200)};this.makeAppliedFilters=()=>{let t=[];const i=i=>{Object.values(i).forEach((i=>{if(i.value&&i.value.length){let e=t.find((t=>t.name===i.facetName));if(!e)t.push({name:i.facetName,values:[...i.value]});else e.values=[...e.values,...i.value]}}))};i(this.dynFacetFilters);i(this.staticFacetFilters);if(t.length)return t;return null};this.algoliaSearch=async t=>this.promiseQueue.enqueue((()=>this.queueSearch(t)));this.queueSearch=async t=>{if(!this.algoliaIndex||!this.query||!this.searchIndex||!this.searchIndex.index)return;this.nanoBeforeQuery.emit(this.indexResults);if(o.Init===t)this.clearAllFacetFilters();let i={filters:this.algoliaFilterStr(),page:this.indexResults?this.indexResults.currentPage:0};if(this.searchIndex.filters)i.facets=this.searchIndex.filters;if(this.searchIndex.hitsPerPage)i.hitsPerPage=this.searchIndex.hitsPerPage;let e=await this.algoliaIndex.search(this.query,i);e=this.fixDomain(e);this.changeEvent=t;if(t===o.Init||!this.indexResults){this.indexResults={currentPage:0,totalHits:e.nbHits,hitsPerPage:null,origFilters:e.facets,query:this.query,domain:this.searchIndex.domain||null,legacy:!z,totalHitsWithFilters:0,results:[],totalPages:0,appliedFilters:this.makeAppliedFilters(),indexName:this.searchIndex.name||null,index:this.searchIndex.index}}this.indexResults.dynFilters=e.facets;this.indexResults.results=e.hits;this.indexResults.totalHitsWithFilters=e.nbHits;this.indexResults.currentPage=e.page;this.indexResults.totalPages=e.nbPages;this.indexResults.hitsPerPage=e.hitsPerPage;this.indexResults.query=e.query;if(this.changeEvent!==o.Page&&this.changeEvent!==o.Replica){this.facets=e.facets}this.nanoAfterQuery.emit(this.indexResults);return new Promise((t=>{setTimeout((()=>t("tpl updated")),20)})).then((t=>{this.currentHits=this.indexResults.results;this.resultsPage=this.indexResults.currentPage}))};this.handleSearchReset=()=>{this.showResults=false;this.indexResults=null};this.onResultDisplay=()=>{n((()=>{this.resultsDiv.removeEventListener("transitionend",this.onResultDisplay);if(!this.showResults)this.resultsDiv.style.display="none";else{this.defaultDiv.style.display="none";this.resultsDiv.classList.add("shown");this.resultsDiv.style.minHeight="";this.resultsDiv.style.width=""}}))}}async removeFilters(t,i){if(!t&&!i)this.clearAllFacetFilters();else{Object.keys(this._dynFacetFilters).forEach((e=>{if(t&&this._dynFacetFilters[e].facetName===t){if(!i)this._dynFacetFilters[e].element.value="";else{this._dynFacetFilters[e].element.value=this._dynFacetFilters[e].value.filter((t=>t!==i))}}}))}}onAllTplUpdate(t){t.stopPropagation();if(t.target.tagName==="NANO-ALGOLIA-RESULTS"){l((()=>{this.nanoNewResults.emit(this.indexResults)}))}}async onPageChange(t){if(!this.indexResults)return;let i=this.resultsPage;if(t){t.stopPropagation();i=t.detail.page}i=Math.min(this.indexResults.totalPages-1,i);i=Math.max(i,0);if(this.indexResults.currentPage===i)return;this.indexResults.currentPage=i;await this.algoliaSearch(o.Page)}async onFilterChange(t){t.stopPropagation();let i={};let e=t.detail;e.element=t.target;if(this.indexResults){if(this.staticFacetFilters[e.filterId])this.staticFacetFilters[e.filterId]=e;else{i[e.filterId]=e;this._dynFacetFilters=Object.assign(Object.assign({},this._dynFacetFilters),i)}this.indexResults.appliedFilters=this.makeAppliedFilters()}else this.staticFacetFilters[e.filterId]=e;this.filterChanged=e.value&&e.value.length?e.filterId:"all";this.resetPage();this.algoliaSearch(o.Filter)}dynFacetFiltersChange(){Object.values(this._dynFacetFilters).forEach((t=>{if(this.host.ownerDocument===t.element.ownerDocument)this.dynFacetFilters[t.filterId]=t;else delete this.dynFacetFilters[t.filterId]}))}browseIndexChange(){if(this.browseIndex&&(!this.query||this.query.length<this.minChars)){this.query="*"}}inputFieldSet(){if(!this.inputField)return;if(this.query!=="*"&&this.inputField&&this.inputField.value!==this.query)this.inputField.value=this.query}queryChange(){this.searchChange()}async internalIndexSwitch(){if(!this.replicaIndex||!this.indexResults||this.indexResults.index===this.replicaIndex)return;this.indexResults.index=this.replicaIndex;this.algoliaIndex=this.algoliaClient.initIndex(this.indexResults.index);this.resetPage();this.algoliaSearch(o.Replica)}pageChange(){this.onPageChange()}searchIndexNameChange(){if(!this.searchIndexName||!this.searchIndexName.length||this.searchIndex&&this.searchIndex.index===this.searchIndexName)return;this.searchIndex={index:this.searchIndexName}}initAlgoliaClient(){if(!this.appId||!this.apiKey)return;this.algoliaClient=f(this.appId,this.apiKey)}initAlgoliaIndex(){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()}}showResultsChange(){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";n((()=>{this.resultsDiv.addEventListener("transitionend",this.onResultDisplay);this.resultsDiv.style.display="block";setTimeout((()=>this.resultsDiv.classList.add("show")),50)}))}else{n((()=>{this.resultsDiv.classList.remove("shown");this.defaultDiv.style.display="block";setTimeout((()=>{this.resultsDiv.addEventListener("transitionend",this.onResultDisplay);this.resultsDiv.classList.remove("show");if(!!this.slottedInput)this.slottedInput.focus({preventScroll:true});else this.defaultDiv.focus({preventScroll:true})}),50)}))}}fixDomain(t){if(!this.searchIndex||!this.searchIndex.domain)return t;t.hits.map((t=>{if(t.url&&!t.url.match(/^http/))t.url=location.protocol+"//"+this.searchIndex.domain+t.url}));return t}resetPage(){if(!this.indexResults)return;this.indexResults.currentPage=0}clearAllFacetFilters(){Object.values(this._dynFacetFilters).forEach((t=>{t.element.value=""}));this._dynFacetFilters={}}algoliaFilterStr(){let t={};const i=i=>{let e;let s;Object.keys(i).forEach((n=>{e=i[n];t[n]=t[n]||{name:e.facetName,or:[],and:[],not:[]};s=t[n][e.operator];if(e.value&&e.value.length){t[n][e.operator]=[...s,...e.value]}}))};i(this.dynFacetFilters);i(this.staticFacetFilters);const e=(t,i)=>{if(i.indexOf(" ")>-1)return t+':"'+i+'"';else return t+":"+i};let s=[];let n;let r;Object.values(t).forEach((function(t){Object.keys(t).filter((t=>t.match(/(or|and|not)/))).forEach((i=>{n=t;r=t.name;if(i==="or"||i==="and"){if(n[i].length){s.push("( "+n[i].map((t=>{if(t.length)return e(r,t)})).join(" "+i.toLocaleUpperCase()+" ")+" )")}}else{if(n.not.length){s.push("( "+n[i].map((t=>{if(t.length)return"NOT "+e(r,t)})).join(" AND ")+" )")}}}))}));s=[...this.filters,...s];return s.join(" "+this.operator.toLocaleUpperCase()+" ")}handleInputChange(t){if(t.target!==this.inputField)return;this.query=this.inputField.value}async updateContent(){return this.promiseQueue.enqueue((()=>this.updateContentQueue()))}async updateContentQueue(){let t=this.outputSlot||this.resultsDiv;if(!t||!this.tpl)return"no tpl";let i=document.createElement("div");i.innerHTML=this.tpl;let e=[];this.placedAlgoliaEles=[];Array.from(i.querySelectorAll("nano-algolia, nano-algolia-filter, nano-algolia-results")).forEach(((t,i)=>{let s=document.createElement("div");s.dataset.placeholderId=i.toString();s.classList.add("nano-ele-placeholder");e.push(t);t.parentNode.replaceChild(s,t)}));t.innerHTML=this.tplRenderFn(i.innerHTML.replace(/&gt;/gm,">").replace(/&lt;/gm,"<").replace(/&amp;/gm,"&"),this.indexResults);Array.from(t.querySelectorAll("div.nano-ele-placeholder")).forEach((t=>{t.parentNode.replaceChild(e[parseInt(t.dataset.placeholderId)],t);this.placedAlgoliaEles.push(e[parseInt(t.dataset.placeholderId)])}));if(!this.placedAlgoliaEles.length)return Promise.resolve("algolia setup");return new Promise((i=>{const e=s=>{this.placedAlgoliaEles=this.placedAlgoliaEles.filter((t=>t!==s.detail));if(!this.placedAlgoliaEles.length){setTimeout((()=>i("tpl updated")),500);t.removeEventListener("nanoTplUpdated",e)}};t.addEventListener("nanoTplUpdated",e)}))}componentWillLoad(){r((t=>{this.tplSlot=v(this.host,'[slot="template"]')[0];this.outputSlot=v(this.host,'[slot="output"]')[0];this.slottedInput=v(this.host,'[slot="search-input"]')[0];this.hasLoadSlot=!!v(this.host,'[slot="loader"]')[0];if(!!this.tplSlot)this.tpl=this.tplSlot.innerHTML;if(this.slottedInput&&(this.slottedInput.tagName.toLocaleLowerCase()==="nano-input"||this.slottedInput instanceof HTMLInputElement)){this.inputField=this.slottedInput}else if(this.slottedInput){this.inputField=this.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])')}n((t=>{if(this.showResults&&this.tpl)this.searchChange()}))}));this.searchIndexNameChange();this.initAlgoliaClient();this.initAlgoliaIndex();b.create(this,this.wormholeState);if(this.storeId){d.init(this,["query","replicaIndex"],this.storeMethod,this.storeId);d.init(this,["apiKey","appId","searchIndex"],"session",this.storeId+"_api")}this.internalIndexSwitch()}connectedCallback(){this.searchChange=m(this.searchChange,300);this.browseIndexChange();this.host.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.host}))}render(){const 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 a(h,{class:{"show-results":this.showResults,"is-loading":this.isLoading},"aria-busy":this.isLoading},this.hasLoadSlot&&a("div",{hidden:!this.isLoading},a("slot",{name:"loader"})),!this.hasLoadSlot&&a("div",{class:{loader:true,loading:this.isLoading}},a("nano-spinner",{overlay:true,type:"circle"})),a(b.Provider,{state:t},a("slot",{name:"search-input"}),a("div",{class:"results-container","aria-live":"polite"},a("div",{ref:t=>this.resultsDiv=t,class:"results"},a("slot",{name:"output"})))),a("div",{ref:t=>this.defaultDiv=t,class:"default",tabindex:"-1"},a("slot",null)))}get host(){return t(this)}static get watchers(){return{_dynFacetFilters:["dynFacetFiltersChange"],browseIndex:["browseIndexChange"],inputField:["inputFieldSet"],query:["queryChange"],replicaIndex:["internalIndexSwitch"],resultsPage:["pageChange"],searchIndexName:["searchIndexNameChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaIndex"],showResults:["showResultsChange"]}}};S.style=I;export{S as nano_algolia};
5
- //# sourceMappingURL=p-4e2c0abb.entry.js.map
4
+ import{g as t,k as i,r as e,c as s,f as n,i as r,h as a,e as h}from"./p-b5c33aff.js";import{S as o}from"./p-ef7f1e9c.js";import{r as l}from"./p-289aa03f.js";import{a as f}from"./p-a0b93616.js";import{b as u,c,a as p}from"./p-69a3e911.js";import{C as d}from"./p-32f4516e.js";import{g as v}from"./p-b619500f.js";import{d as m}from"./p-1da5f8df.js";var y=new Map;var g=function(t,i){var e=t.fields,s=t.updater;e.forEach((function(t){s(t,i[t])}))};var b={create:function(i,e){var s=t(i);var n=new Map;var r={wormholes:n,state:e};y.set(i,r);var a=i.connectedCallback;i.connectedCallback=function(){y.set(i,r);if(a){a.call(i)}};var h=i.disconnectedCallback;i.disconnectedCallback=function(){y.delete(i);if(h){h.call(i)}};s.addEventListener("openWormhole",(function(t){t.stopPropagation();var i=t.detail,e=i.consumer,s=i.onOpen;if(n.has(e))return;if(typeof e!=="symbol"){var a=e.connectedCallback,h=e.disconnectedCallback;e.connectedCallback=function(){n.set(e,t.detail);if(a){a.call(e)}};e.disconnectedCallback=function(){n.delete(e);if(h){h.call(e)}}}n.set(e,t.detail);g(t.detail,r.state);s===null||s===void 0?void 0:s.resolve((function(){n.delete(e)}))}));s.addEventListener("closeWormhole",(function(t){var i=t.detail;n.delete(i)}))},Provider:function(t,e){var s=t.state;var n=i();if(y.has(n)){var r=y.get(n);r.state=s;r.wormholes.forEach((function(t){g(t,s)}))}return e}};var w=c((function(t,i){!function(t,e){e(i)}(p,(function(t){function i(t){var e,s,n=new Error(t);return e=n,s=i.prototype,Object.setPrototypeOf?Object.setPrototypeOf(e,s):e.__proto__=s,n}function e(t,e,s){var n=e.slice(0,s).split(/\n/),r=n.length,a=n[r-1].length+1;throw i(t+=" at line "+r+" col "+a+":\n\n "+e.split(/\n/)[r-1]+"\n "+Array(a).join(" ")+"^")}i.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var s=new Function("return this")().Promise,n=!1;try{n=new Function("return (async function(){}).constructor")()}catch(t){if(!(t instanceof SyntaxError))throw t}function r(t,i){return Object.prototype.hasOwnProperty.call(t,i)}function a(t,i,e){for(var s in i)r(i,s)&&(null==i[s]||"object"!=typeof i[s]||"storage"!==s&&"prefixes"!==s||e?t[s]=i[s]:t[s]=a({},i[s]));return t}var h=/^async +/,o=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,l=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,f=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,u=/[.*+\-?^${}()|[\]\\]/g;function c(t){return u.test(t)?t.replace(u,"\\$&"):t}function p(t,s){s.rmWhitespace&&(t=t.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),o.lastIndex=0,l.lastIndex=0,f.lastIndex=0;var n=s.prefixes,r=[n.h,n.b,n.i,n.r,n.c,n.e].reduce((function(t,i){return t&&i?t+"|"+c(i):i?c(i):t}),""),a=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+c(s.tags[1])+")","g"),u=new RegExp("([^]*?)"+c(s.tags[0])+"(-|_)?\\s*("+r+")?\\s*","g"),p=0,d=!1;function v(i,n){var r,c={f:[]},v=0,m="c";function y(i){var n=t.slice(p,i),r=n.trim();if("f"===m)"safe"===r?c.raw=!0:s.async&&h.test(r)?(r=r.replace(h,""),c.f.push([r,"",!0])):c.f.push([r,""]);else if("fp"===m)c.f[c.f.length-1][1]+=r;else if("err"===m){if(r){var a=n.search(/\S/);e("invalid syntax",t,p+a)}}else c[m]=r;p=i+1}for("h"===n||"b"===n||"c"===n?m="n":"r"===n&&(c.raw=!0,n="i"),a.lastIndex=p;null!==(r=a.exec(t));){var g=r[1],b=r[2],w=r[3],x=r[4],F=r[5],k=r.index;if(g)"("===g?(0===v&&("n"===m?(y(k),m="p"):"f"===m&&(y(k),m="fp")),v++):")"===g?0===--v&&"c"!==m&&(y(k),m="err"):0===v&&"|"===g?(y(k),m="f"):"=>"===g&&(y(k),p+=1,m="res");else if(b){if("/*"===b){var C=t.indexOf("*/",a.lastIndex);-1===C&&e("unclosed comment",t,r.index),a.lastIndex=C+2}else if("'"===b){l.lastIndex=r.index,l.exec(t)?a.lastIndex=l.lastIndex:e("unclosed string",t,r.index)}else if('"'===b){f.lastIndex=r.index,f.exec(t)?a.lastIndex=f.lastIndex:e("unclosed string",t,r.index)}else if("`"===b){o.lastIndex=r.index,o.exec(t)?a.lastIndex=o.lastIndex:e("unclosed string",t,r.index)}}else if(w)return y(k),p=k+r[0].length,u.lastIndex=p,d=F,x&&"h"===n&&(n="s"),c.t=n,c}return e("unclosed tag",t,i),c}var m=function r(a,o){a.b=[],a.d=[];var l,f=!1,c=[];function m(t,i){t&&(t=function(t,i,e,s){var n,r;return"string"==typeof i.autoTrim?n=r=i.autoTrim:Array.isArray(i.autoTrim)&&(n=i.autoTrim[1],r=i.autoTrim[0]),(e||!1===e)&&(n=e),(s||!1===s)&&(r=s),"slurp"===n&&"slurp"===r?t.trim():("_"===n||"slurp"===n?t=String.prototype.trimLeft?t.trimLeft():t.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==n&&"nl"!==n||(t=t.replace(/^(?:\n|\r|\r\n)/,"")),"_"===r||"slurp"===r?t=String.prototype.trimRight?t.trimRight():t.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==r&&"nl"!==r||(t=t.replace(/(?:\n|\r|\r\n)$/,"")),t)}(t,s,d,i))&&(t=t.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),c.push(t))}for(;null!==(l=u.exec(t));){var y,g=l[1],b=l[2],w=l[3]||"";for(var x in n)if(n[x]===w){y=x;break}m(g,b),p=l.index+l[0].length,y||e("unrecognized tag type: "+w,t,p);var F=v(l.index,y),k=F.t;if("h"===k){var C=F.n||"";s.async&&h.test(C)&&(F.a=!0,F.n=C.replace(h,"")),F=r(F),c.push(F)}else if("c"===k){if(a.n===F.n)return f?(f.d=c,a.b.push(f)):a.d=c,a;e("Helper start and end don't match",t,l.index+l[0].length)}else if("b"===k){f?(f.d=c,a.b.push(f)):a.d=c;var j=F.n||"";s.async&&h.test(j)&&(F.a=!0,F.n=j.replace(h,"")),f=F,c=[]}else if("s"===k){var I=F.n||"";s.async&&h.test(I)&&(F.a=!0,F.n=I.replace(h,"")),c.push(F)}else c.push(F)}if(!o)throw i('unclosed helper "'+a.n+'"');return m(t.slice(p,t.length),!1),a.d=c,a}({f:[]},!0);if(s.plugins)for(var y=0;y<s.plugins.length;y++){var g=s.plugins[y];g.processAST&&(m.d=g.processAST(m.d,s))}return m.d}function d(t,i){var e=p(t,i),s="var tR='';"+(i.useWith?"with("+i.varName+"||{}){":"")+b(e,i)+"if(cb){cb(null,tR)} return tR"+(i.useWith?"}":"");if(i.plugins)for(var n=0;n<i.plugins.length;n++){var r=i.plugins[n];r.processFnString&&(s=r.processFnString(s,i))}return s}function v(t,i){for(var e=0;e<i.length;e++){var s=i[e][0],n=i[e][1];t=(i[e][2]?"await ":"")+"c.l('F','"+s+"')("+t,n&&(t+=","+n),t+=")"}return t}function m(t,i,e,s,n,r){var a="{exec:"+(n?"async ":"")+g(e,i,t)+",params:["+s+"]";return r&&(a+=",name:'"+r+"'"),n&&(a+=",async:true"),a+="}"}function y(t,i){for(var e="[",s=0;s<t.length;s++){var n=t[s];e+=m(i,n.res||"",n.d,n.p||"",n.a,n.n),s<t.length&&(e+=",")}return e+="]"}function g(t,i,e){return"function("+i+"){var tR='';"+b(t,e)+"return tR}"}function b(t,i){for(var e=0,s=t.length,n="";e<s;e++){var r=t[e];if("string"==typeof r){n+="tR+='"+r+"';"}else{var a=r.t,h=r.c||"",o=r.f,l=r.n||"",f=r.p||"",u=r.res||"",c=r.b,p=!!r.a;if("i"===a){i.defaultFilter&&(h="c.l('F','"+i.defaultFilter+"')("+h+")");var d=v(h,o);!r.raw&&i.autoEscape&&(d="c.l('F','e')("+d+")"),n+="tR+="+d+";"}else if("h"===a)if(i.storage.nativeHelpers.get(l))n+=i.storage.nativeHelpers.get(l)(r,i);else{var g=(p?"await ":"")+"c.l('H','"+l+"')("+m(i,u,r.d,f,p);g+=c?","+y(c,i):",[]",n+="tR+="+v(g+=",c)",o)+";"}else"s"===a?n+="tR+="+v((p?"await ":"")+"c.l('H','"+l+"')({params:["+f+"]},[],c)",o)+";":"e"===a&&(n+=h+"\n")}}return n}var w=function(){function t(t){this.cache=t}return t.prototype.define=function(t,i){this.cache[t]=i},t.prototype.get=function(t){return this.cache[t]},t.prototype.remove=function(t){delete this.cache[t]},t.prototype.reset=function(){this.cache={}},t.prototype.load=function(t){a(this.cache,t,!0)},t}();function x(t,e,s,n){if(e&&e.length>0)throw i((n?"Native":"")+"Helper '"+t+"' doesn't accept blocks");if(s&&s.length>0)throw i((n?"Native":"")+"Helper '"+t+"' doesn't accept filters")}var F={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function k(t){return F[t]}var C=new w({}),j=new w({each:function(t,i){var e="",s=t.params[0];if(x("each",i,!1),t.async)return new Promise((function(i){!function t(i,e,s,n,r){s(i[e],e).then((function(a){n+=a,e===i.length-1?r(n):t(i,e+1,s,n,r)}))}(s,0,t.exec,e,i)}));for(var n=0;n<s.length;n++)e+=t.exec(s[n],n);return e},foreach:function(t,i){var e=t.params[0];if(x("foreach",i,!1),t.async)return new Promise((function(i){!function t(i,e,s,n,r,a){n(e[s],i[e[s]]).then((function(h){r+=h,s===e.length-1?a(r):t(i,e,s+1,n,r,a)}))}(e,Object.keys(e),0,t.exec,"",i)}));var s="";for(var n in e)r(e,n)&&(s+=t.exec(n,e[n]));return s},include:function(t,e,s){x("include",e,!1);var n=s.storage.templates.get(t.params[0]);if(!n)throw i('Could not fetch template "'+t.params[0]+'"');return n(t.params[1],s)},extends:function(t,e,s){var n=t.params[1]||{};n.content=t.exec();for(var r=0;r<e.length;r++){var a=e[r];n[a.name]=a.exec()}var h=s.storage.templates.get(t.params[0]);if(!h)throw i('Could not fetch template "'+t.params[0]+'"');return h(n,s)},useScope:function(t,i){return x("useScope",i,!1),t.exec(t.params[0])}}),I=new w({if:function(t,i){x("if",!1,t.f,!0);var e="if("+t.p+"){"+b(t.d,i)+"}";if(t.b)for(var s=0;s<t.b.length;s++){var n=t.b[s];"else"===n.n?e+="else{"+b(n.d,i)+"}":"elif"===n.n&&(e+="else if("+n.p+"){"+b(n.d,i)+"}")}return e},try:function(t,e){if(x("try",!1,t.f,!0),!t.b||1!==t.b.length||"catch"!==t.b[0].n)throw i("native helper 'try' only accepts 1 block, 'catch'");var s="try{"+b(t.d,e)+"}",n=t.b[0];return s+="catch"+(n.res?"("+n.res+")":"")+"{"+b(n.d,e)+"}"},block:function(t,i){return x("block",t.b,t.f,!0),"if(!"+i.varName+"["+t.p+"]){tR+=("+g(t.d,"",i)+")()}else{tR+="+i.varName+"["+t.p+"]}"}}),z=new w({e:function(t){var i=String(t);return/[&<>"']/.test(i)?i.replace(/[&<>"']/g,k):i}}),S={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(t,e){if("H"===t){var s=this.storage.helpers.get(e);if(s)return s;throw i("Can't find helper '"+e+"'")}if("F"===t){var n=this.storage.filters.get(e);if(n)return n;throw i("Can't find filter '"+e+"'")}},async:!1,storage:{helpers:j,nativeHelpers:I,filters:z,templates:C},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function O(t,i){var e={};return a(e,S),i&&a(e,i),t&&a(e,t),e.l.bind(e),e}function R(t,e){var s=O(e||{}),r=Function;if(s.async){if(!n)throw i("This environment doesn't support async/await");r=n}try{return new r(s.varName,"c","cb",d(t,s))}catch(e){throw e instanceof SyntaxError?i("Bad template syntax\n\n"+e.message+"\n"+Array(e.message.length+1).join("=")+"\n"+d(t,s)):e}}function A(t,i){var e;return i.cache&&i.name&&i.storage.templates.get(i.name)?i.storage.templates.get(i.name):(e="function"==typeof t?t:R(t,i),i.cache&&i.name&&i.storage.templates.define(i.name,e),e)}S.l.bind(S),t.compile=R,t.compileScope=b,t.compileScopeIntoFunction=g,t.compileToString=d,t.defaultConfig=S,t.filters=z,t.getConfig=O,t.helpers=j,t.nativeHelpers=I,t.parse=p,t.render=function(t,e,n,r){var a=O(n||{});if(!a.async)return A(t,a)(e,a);if(!r){if("function"==typeof s)return new s((function(i,s){try{i(A(t,a)(e,a))}catch(t){s(t)}}));throw i("Please provide a callback function, this env doesn't support Promises")}try{A(t,a)(e,a,r)}catch(t){return r(t)}},t.templates=C,Object.defineProperty(t,"__esModule",{value:!0})}))}));const x=u(w);const F=Object.freeze(Object.assign(Object.create(null),w,{default:x}));const k=F;k.filters.define("date_long",((t,i={year:"numeric",month:"long",day:"numeric"})=>{if(!t)return;let e=new Date(parseInt(t)*1e3);t=e.toLocaleDateString("en-GB",i);return t}));k.filters.define("date_short",((t,i="d/m/y")=>{if(!t)return;let e=new Date(parseInt(t)*1e3);t=i.replace(/(d)/,e.getDate().toString());t=t.replace(/(m)/,(e.getMonth()+1).toString());t=t.replace(/(y)/,e.getFullYear().toString());return t}));k.filters.define("public_name",(t=>{if(!t)return;t=t.split("_").map((t=>t.length<3?t.toUpperCase():t)).join(" ");return t.charAt(0).toUpperCase()+t.slice(1)}));k.filters.define("trim_to",((t,i=100)=>{if(!t)return;if(t.length<=i)return t;return t.substr(0,i)+"..."}));k.filters.define("classname",(t=>{if(!t)return;return t.replace(/[\W]+/g,"")}));k.filters.define("abs_url",((t,i=null,e)=>{if(!i)return t;if(!t)return;let s=undefined;if(i.domains&&e&&e.origin){let t=i.domains.find((t=>t.origin===e.origin));s=t?t.domain:""}else if(i.domain)s=i.domain;if(!s)return t;return t.match(/^http/)?t:location.protocol+"//"+s+t}));k.filters.define("replace",((t,i,e)=>t.replace(i,e)));k.filters.define("remove_spaces",(t=>t.replace(/ /g,"_")));k.filters.define("add_spaces",(t=>t=t.replace(/[_\-]/g," ")));k.filters.define("capitalise",(t=>t=t.charAt(0).toUpperCase()+t.slice(1)));k.filters.define("lowercase",(t=>t=t.toLowerCase()));const C=k;class j{constructor(){this.queue=[];this.workingOnPromise=false;this.stop=false;this.limit=null}enqueue(t){return new Promise(((i,e)=>{this.queue.push({promise:t,resolve:i,reject:e});this.dequeue()}))}dequeue(){if(this.workingOnPromise){return false}if(this.stop){this.queue=[];this.stop=false;return}const t=this.queue.shift();if(!t){return false}try{this.workingOnPromise=true;t.promise().then((i=>{this.workingOnPromise=false;t.resolve(i);this.dequeue()})).catch((i=>{this.workingOnPromise=false;t.reject(i);this.dequeue()}))}catch(i){this.workingOnPromise=false;t.reject(i);this.dequeue()}return true}}j.pendingPromise=false;const I=":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}";const z=!!document.head.attachShadow;let S=class{constructor(t){e(this,t);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 j;this._dynFacetFilters={};this.indeces=[];this.filterChanged="";this.changeEvent=o.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=C;this.tplRenderFn=C.render;this.replicaIndex="";this.browseIndex=false;this.minChars=2;this.storeMethod="session";this.searchChange=async()=>{if(!this.algoliaIndex)return;if(!this.query||this.query.length<this.minChars){if(!this.browseIndex){if(!this.query||this.query.length===0){this.handleSearchReset();return}else return}else if(this.query!=="*"){this.query="*";return}}this.isLoading=true;setTimeout((async()=>{this.resetPage();await this.algoliaSearch(o.Init);await this.updateContent();setTimeout((t=>this.isLoading=false),800);this.showResults=true;this.nanoResultsShown.emit(this.indexResults)}),200)};this.makeAppliedFilters=()=>{let t=[];const i=i=>{Object.values(i).forEach((i=>{if(i.value&&i.value.length){let e=t.find((t=>t.name===i.facetName));if(!e)t.push({name:i.facetName,values:[...i.value]});else e.values=[...e.values,...i.value]}}))};i(this.dynFacetFilters);i(this.staticFacetFilters);if(t.length)return t;return null};this.algoliaSearch=async t=>this.promiseQueue.enqueue((()=>this.queueSearch(t)));this.queueSearch=async t=>{if(!this.algoliaIndex||!this.query||!this.searchIndex||!this.searchIndex.index)return;this.nanoBeforeQuery.emit(this.indexResults);if(o.Init===t)this.clearAllFacetFilters();let i={filters:this.algoliaFilterStr(),page:this.indexResults?this.indexResults.currentPage:0};if(this.searchIndex.filters)i.facets=this.searchIndex.filters;if(this.searchIndex.hitsPerPage)i.hitsPerPage=this.searchIndex.hitsPerPage;let e=await this.algoliaIndex.search(this.query,i);e=this.fixDomain(e);this.changeEvent=t;if(t===o.Init||!this.indexResults){this.indexResults={currentPage:0,totalHits:e.nbHits,hitsPerPage:null,origFilters:e.facets,query:this.query,domain:this.searchIndex.domain||null,legacy:!z,totalHitsWithFilters:0,results:[],totalPages:0,appliedFilters:this.makeAppliedFilters(),indexName:this.searchIndex.name||null,index:this.searchIndex.index}}this.indexResults.dynFilters=e.facets;this.indexResults.results=e.hits;this.indexResults.totalHitsWithFilters=e.nbHits;this.indexResults.currentPage=e.page;this.indexResults.totalPages=e.nbPages;this.indexResults.hitsPerPage=e.hitsPerPage;this.indexResults.query=e.query;if(this.changeEvent!==o.Page&&this.changeEvent!==o.Replica){this.facets=e.facets}this.nanoAfterQuery.emit(this.indexResults);return new Promise((t=>{setTimeout((()=>t("tpl updated")),20)})).then((t=>{this.currentHits=this.indexResults.results;this.resultsPage=this.indexResults.currentPage}))};this.handleSearchReset=()=>{this.showResults=false;this.indexResults=null};this.onResultDisplay=()=>{n((()=>{this.resultsDiv.removeEventListener("transitionend",this.onResultDisplay);if(!this.showResults)this.resultsDiv.style.display="none";else{this.defaultDiv.style.display="none";this.resultsDiv.classList.add("shown");this.resultsDiv.style.minHeight="";this.resultsDiv.style.width=""}}))}}async removeFilters(t,i){if(!t&&!i)this.clearAllFacetFilters();else{Object.keys(this._dynFacetFilters).forEach((e=>{if(t&&this._dynFacetFilters[e].facetName===t){if(!i)this._dynFacetFilters[e].element.value="";else{this._dynFacetFilters[e].element.value=this._dynFacetFilters[e].value.filter((t=>t!==i))}}}))}}onAllTplUpdate(t){t.stopPropagation();if(t.target.tagName==="NANO-ALGOLIA-RESULTS"){l((()=>{this.nanoNewResults.emit(this.indexResults)}))}}async onPageChange(t){if(!this.indexResults)return;let i=this.resultsPage;if(t){t.stopPropagation();i=t.detail.page}i=Math.min(this.indexResults.totalPages-1,i);i=Math.max(i,0);if(this.indexResults.currentPage===i)return;this.indexResults.currentPage=i;await this.algoliaSearch(o.Page)}async onFilterChange(t){t.stopPropagation();let i={};let e=t.detail;e.element=t.target;if(this.indexResults){if(this.staticFacetFilters[e.filterId])this.staticFacetFilters[e.filterId]=e;else{i[e.filterId]=e;this._dynFacetFilters=Object.assign(Object.assign({},this._dynFacetFilters),i)}this.indexResults.appliedFilters=this.makeAppliedFilters()}else this.staticFacetFilters[e.filterId]=e;this.filterChanged=e.value&&e.value.length?e.filterId:"all";this.resetPage();this.algoliaSearch(o.Filter)}dynFacetFiltersChange(){Object.values(this._dynFacetFilters).forEach((t=>{if(this.host.ownerDocument===t.element.ownerDocument)this.dynFacetFilters[t.filterId]=t;else delete this.dynFacetFilters[t.filterId]}))}browseIndexChange(){if(this.browseIndex&&(!this.query||this.query.length<this.minChars)){this.query="*"}}inputFieldSet(){if(!this.inputField)return;if(this.query!=="*"&&this.inputField&&this.inputField.value!==this.query)this.inputField.value=this.query}queryChange(){this.searchChange()}async internalIndexSwitch(){if(!this.replicaIndex||!this.indexResults||this.indexResults.index===this.replicaIndex)return;this.indexResults.index=this.replicaIndex;this.algoliaIndex=this.algoliaClient.initIndex(this.indexResults.index);this.resetPage();this.algoliaSearch(o.Replica)}pageChange(){this.onPageChange()}searchIndexNameChange(){if(!this.searchIndexName||!this.searchIndexName.length||this.searchIndex&&this.searchIndex.index===this.searchIndexName)return;this.searchIndex={index:this.searchIndexName}}initAlgoliaClient(){if(!this.appId||!this.apiKey)return;this.algoliaClient=f(this.appId,this.apiKey)}initAlgoliaIndex(){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()}}showResultsChange(){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";n((()=>{this.resultsDiv.addEventListener("transitionend",this.onResultDisplay);this.resultsDiv.style.display="block";setTimeout((()=>this.resultsDiv.classList.add("show")),50)}))}else{n((()=>{this.resultsDiv.classList.remove("shown");this.defaultDiv.style.display="block";setTimeout((()=>{this.resultsDiv.addEventListener("transitionend",this.onResultDisplay);this.resultsDiv.classList.remove("show");if(!!this.slottedInput)this.slottedInput.focus({preventScroll:true});else this.defaultDiv.focus({preventScroll:true})}),50)}))}}handleFilterpropChange(){this.algoliaSearch(o.Init)}fixDomain(t){if(!this.searchIndex||!this.searchIndex.domain)return t;t.hits.map((t=>{if(t.url&&!t.url.match(/^http/))t.url=location.protocol+"//"+this.searchIndex.domain+t.url}));return t}resetPage(){if(!this.indexResults)return;this.indexResults.currentPage=0}clearAllFacetFilters(){Object.values(this._dynFacetFilters).forEach((t=>{t.element.value=""}));this._dynFacetFilters={}}algoliaFilterStr(){let t={};const i=i=>{let e;let s;Object.keys(i).forEach((n=>{e=i[n];t[n]=t[n]||{name:e.facetName,or:[],and:[],not:[]};s=t[n][e.operator];if(e.value&&e.value.length){t[n][e.operator]=[...s,...e.value]}}))};i(this.dynFacetFilters);i(this.staticFacetFilters);const e=(t,i)=>{if(i.indexOf(" ")>-1)return t+':"'+i+'"';else return t+":"+i};let s=[];let n;let r;Object.values(t).forEach((function(t){Object.keys(t).filter((t=>t.match(/(or|and|not)/))).forEach((i=>{n=t;r=t.name;if(i==="or"||i==="and"){if(n[i].length){s.push("( "+n[i].map((t=>{if(t.length)return e(r,t)})).join(" "+i.toLocaleUpperCase()+" ")+" )")}}else{if(n.not.length){s.push("( "+n[i].map((t=>{if(t.length)return"NOT "+e(r,t)})).join(" AND ")+" )")}}}))}));s=[...this.filters,...s];return s.join(" "+this.operator.toLocaleUpperCase()+" ")}handleInputChange(t){if(t.target!==this.inputField)return;this.query=this.inputField.value}async updateContent(){return this.promiseQueue.enqueue((()=>this.updateContentQueue()))}async updateContentQueue(){let t=this.outputSlot||this.resultsDiv;if(!t||!this.tpl)return"no tpl";let i=document.createElement("div");i.innerHTML=this.tpl;let e=[];this.placedAlgoliaEles=[];Array.from(i.querySelectorAll("nano-algolia, nano-algolia-filter, nano-algolia-results")).forEach(((t,i)=>{let s=document.createElement("div");s.dataset.placeholderId=i.toString();s.classList.add("nano-ele-placeholder");e.push(t);t.parentNode.replaceChild(s,t)}));t.innerHTML=this.tplRenderFn(i.innerHTML.replace(/&gt;/gm,">").replace(/&lt;/gm,"<").replace(/&amp;/gm,"&"),this.indexResults);Array.from(t.querySelectorAll("div.nano-ele-placeholder")).forEach((t=>{t.parentNode.replaceChild(e[parseInt(t.dataset.placeholderId)],t);this.placedAlgoliaEles.push(e[parseInt(t.dataset.placeholderId)])}));if(!this.placedAlgoliaEles.length)return Promise.resolve("algolia setup");return new Promise((i=>{const e=s=>{this.placedAlgoliaEles=this.placedAlgoliaEles.filter((t=>t!==s.detail));if(!this.placedAlgoliaEles.length){setTimeout((()=>i("tpl updated")),500);t.removeEventListener("nanoTplUpdated",e)}};t.addEventListener("nanoTplUpdated",e)}))}componentWillLoad(){r((t=>{this.tplSlot=v(this.host,'[slot="template"]')[0];this.outputSlot=v(this.host,'[slot="output"]')[0];this.slottedInput=v(this.host,'[slot="search-input"]')[0];this.hasLoadSlot=!!v(this.host,'[slot="loader"]')[0];if(!!this.tplSlot)this.tpl=this.tplSlot.innerHTML;if(this.slottedInput&&(this.slottedInput.tagName.toLocaleLowerCase()==="nano-input"||this.slottedInput instanceof HTMLInputElement)){this.inputField=this.slottedInput}else if(this.slottedInput){this.inputField=this.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])')}n((t=>{if(this.showResults&&this.tpl)this.searchChange()}))}));this.searchIndexNameChange();this.initAlgoliaClient();this.initAlgoliaIndex();b.create(this,this.wormholeState);if(this.storeId){d.init(this,["query","replicaIndex"],this.storeMethod,this.storeId);d.init(this,["apiKey","appId","searchIndex"],"session",this.storeId+"_api")}this.internalIndexSwitch()}connectedCallback(){this.searchChange=m(this.searchChange,300);this.browseIndexChange();this.host.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.host}))}render(){const 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 a(h,{class:{"show-results":this.showResults,"is-loading":this.isLoading},"aria-busy":this.isLoading},this.hasLoadSlot&&a("div",{hidden:!this.isLoading},a("slot",{name:"loader"})),!this.hasLoadSlot&&a("div",{class:{loader:true,loading:this.isLoading}},a("nano-spinner",{overlay:true,type:"circle"})),a(b.Provider,{state:t},a("slot",{name:"search-input"}),a("div",{class:"results-container","aria-live":"polite"},a("div",{ref:t=>this.resultsDiv=t,class:"results"},a("slot",{name:"output"})))),a("div",{ref:t=>this.defaultDiv=t,class:"default",tabindex:"-1"},a("slot",null)))}get host(){return t(this)}static get watchers(){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"]}}};S.style=I;export{S as nano_algolia};
5
+ //# sourceMappingURL=p-ccd6c206.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["node_modules/stencil-wormhole/dist/esm/universe.js","node_modules/squirrelly/dist/browser/squirrelly.min.js","src/utils/template.ts","src/utils/promise-queue.ts","src/components/algolia/algolia.scss?tag=nano-algolia&encapsulation=shadow","src/components/algolia/algolia.tsx"],"names":["multiverse","Map","updateConsumer","_a","state","fields","updater","forEach","field","Universe","create","creator","initialState","el","getElement","wormholes","universe","set","connectedCallback","call","disconnectedCallback","delete","addEventListener","event","stopPropagation","detail","consumer","onOpen","has","connectedCallback_1","disconnectedCallback_1","resolve","Provider","children","getRenderingRef","get","opening","e","t","exports","this","n","r","a","Error","prototype","Object","setPrototypeOf","__proto__","slice","split","i","length","s","Array","join","name","value","enumerable","Function","Promise","SyntaxError","hasOwnProperty","c","o","l","f","u","p","test","replace","h","rmWhitespace","lastIndex","prefixes","b","reduce","RegExp","tags","d","g","v","m","trim","raw","async","push","search","exec","y","x","w","F","S","index","I","indexOf","autoTrim","isArray","String","trimLeft","trimRight","R","T","plugins","processAST","useWith","varName","processFnString","res","defaultFilter","autoEscape","storage","nativeHelpers","cache","define","remove","reset","load","&","<",">","\"","'","each","params","then","foreach","keys","include","templates","extends","content","useScope","if","try","block","E","j","helpers","filters","H","bind","O","message","_","compile","compileScope","compileScopeIntoFunction","compileToString","defaultConfig","getConfig","parse","render","defineProperty","squirrel","Sqrl","str","options","year","month","day","date","Date","parseInt","toLocaleDateString","format","getDate","toString","getMonth","getFullYear","map","val","toUpperCase","charAt","substr","result","domain","undefined","domains","origin","found","find","dm","match","location","protocol","toLowerCase","Squirrel","PromiseQueue","[object Object]","queue","workingOnPromise","stop","limit","promise","reject","dequeue","item","shift","catch","err","pendingPromise","algoliaCss","CANSHADOW","document","head","attachShadow","Algolia","hostRef","staticFacetFilters","dynFacetFilters","hasLoadSlot","placedAlgoliaEles","promiseQueue","_dynFacetFilters","indeces","filterChanged","changeEvent","SearchChangeEvent","Init","isLoading","wormholeState","showResults","resultsPage","searchIndex","searchIndexName","listenTo","query","operator","tplEngine","tplRenderFn","replicaIndex","browseIndex","minChars","storeMethod","searchChange","algoliaIndex","handleSearchReset","setTimeout","resetPage","algoliaSearch","updateContent","nanoResultsShown","emit","indexResults","makeAppliedFilters","appliedFtrs","makeAppliedFilter","facetFilters","values","filter","appFilter","facetName","eventType","enqueue","queueSearch","nanoBeforeQuery","clearAllFacetFilters","searchParams","algoliaFilterStr","page","currentPage","facets","hitsPerPage","fixDomain","totalHits","nbHits","origFilters","legacy","totalHitsWithFilters","results","totalPages","appliedFilters","indexName","dynFilters","hits","nbPages","Page","Replica","nanoAfterQuery","currentHits","onResultDisplay","writeTask","resultsDiv","removeEventListener","style","display","defaultDiv","classList","add","minHeight","width","facetValue","filterId","element","ev","target","tagName","raf","nanoNewResults","Math","min","max","dynFilterObj","assign","Filter","host","ownerDocument","inputField","algoliaClient","initIndex","onPageChange","appId","apiKey","algoliasearch","scrollWidth","scrollHeight","slottedInput","focus","preventScroll","hit","url","facetFilterObj","groupFilters","filterOp","or","and","not","formatVal","filterStrParts","operatorGrp","filterName","filterProp","toLocaleUpperCase","updateContentQueue","outputTo","outputSlot","tpl","tmpCont","createElement","innerHTML","algoliaEles","from","querySelectorAll","placeholder","dataset","placeholderId","parentNode","replaceChild","childrenResolver","ele","readTask","tplSlot","getDirectChildren","toLocaleLowerCase","HTMLInputElement","querySelector","searchIndexNameChange","initAlgoliaClient","initAlgoliaIndex","storeId","ComponentStore","init","internalIndexSwitch","debounce","browseIndexChange","dispatchEvent","CustomEvent","globalStoreMethod","Host","class","show-results","is-loading","aria-busy","hidden","loader","loading","overlay","type","aria-live","ref","div","tabindex"],"mappings":"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","sourcesContent":["import { getElement, getRenderingRef } from \"@stencil/core\";\nvar multiverse = new Map();\nvar updateConsumer = function (_a, state) {\n var fields = _a.fields, updater = _a.updater;\n fields.forEach(function (field) { updater(field, state[field]); });\n};\nexport var Universe = {\n create: function (creator, initialState) {\n var el = getElement(creator);\n var wormholes = new Map();\n var universe = { wormholes: wormholes, state: initialState };\n multiverse.set(creator, universe);\n var connectedCallback = creator.connectedCallback;\n creator.connectedCallback = function () {\n multiverse.set(creator, universe);\n if (connectedCallback) {\n connectedCallback.call(creator);\n }\n };\n var disconnectedCallback = creator.disconnectedCallback;\n creator.disconnectedCallback = function () {\n multiverse.delete(creator);\n if (disconnectedCallback) {\n disconnectedCallback.call(creator);\n }\n };\n el.addEventListener('openWormhole', function (event) {\n event.stopPropagation();\n var _a = event.detail, consumer = _a.consumer, onOpen = _a.onOpen;\n if (wormholes.has(consumer))\n return;\n if (typeof consumer !== 'symbol') {\n var connectedCallback_1 = consumer.connectedCallback, disconnectedCallback_1 = consumer.disconnectedCallback;\n consumer.connectedCallback = function () {\n wormholes.set(consumer, event.detail);\n if (connectedCallback_1) {\n connectedCallback_1.call(consumer);\n }\n };\n consumer.disconnectedCallback = function () {\n wormholes.delete(consumer);\n if (disconnectedCallback_1) {\n disconnectedCallback_1.call(consumer);\n }\n };\n }\n wormholes.set(consumer, event.detail);\n updateConsumer(event.detail, universe.state);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen.resolve(function () { wormholes.delete(consumer); });\n });\n el.addEventListener('closeWormhole', function (event) {\n var consumer = event.detail;\n wormholes.delete(consumer);\n });\n },\n Provider: function (_a, children) {\n var state = _a.state;\n var creator = getRenderingRef();\n if (multiverse.has(creator)) {\n var universe = multiverse.get(creator);\n universe.state = state;\n universe.wormholes.forEach(function (opening) { updateConsumer(opening, state); });\n }\n return children;\n }\n};\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).Sqrl={})}(this,(function(e){\"use strict\";function t(e){var n,r,a=new Error(e);return n=a,r=t.prototype,Object.setPrototypeOf?Object.setPrototypeOf(n,r):n.__proto__=r,a}function n(e,n,r){var a=n.slice(0,r).split(/\\n/),i=a.length,s=a[i-1].length+1;throw t(e+=\" at line \"+i+\" col \"+s+\":\\n\\n \"+n.split(/\\n/)[i-1]+\"\\n \"+Array(s).join(\" \")+\"^\")}t.prototype=Object.create(Error.prototype,{name:{value:\"Squirrelly Error\",enumerable:!1}});var r=new Function(\"return this\")().Promise,a=!1;try{a=new Function(\"return (async function(){}).constructor\")()}catch(e){if(!(e instanceof SyntaxError))throw e}function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function s(e,t,n){for(var r in t)i(t,r)&&(null==t[r]||\"object\"!=typeof t[r]||\"storage\"!==r&&\"prefixes\"!==r||n?e[r]=t[r]:e[r]=s({},t[r]));return e}var c=/^async +/,o=/`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\\${)[^\\\\`])*`/g,l=/'(?:\\\\[\\s\\w\"'\\\\`]|[^\\n\\r'\\\\])*?'/g,f=/\"(?:\\\\[\\s\\w\"'\\\\`]|[^\\n\\r\"\\\\])*?\"/g,u=/[.*+\\-?^${}()|[\\]\\\\]/g;function p(e){return u.test(e)?e.replace(u,\"\\\\$&\"):e}function h(e,r){r.rmWhitespace&&(e=e.replace(/[\\r\\n]+/g,\"\\n\").replace(/^\\s+|\\s+$/gm,\"\")),o.lastIndex=0,l.lastIndex=0,f.lastIndex=0;var a=r.prefixes,i=[a.h,a.b,a.i,a.r,a.c,a.e].reduce((function(e,t){return e&&t?e+\"|\"+p(t):t?p(t):e}),\"\"),s=new RegExp(\"([|()]|=>)|('|\\\"|`|\\\\/\\\\*)|\\\\s*((\\\\/)?(-|_)?\"+p(r.tags[1])+\")\",\"g\"),u=new RegExp(\"([^]*?)\"+p(r.tags[0])+\"(-|_)?\\\\s*(\"+i+\")?\\\\s*\",\"g\"),h=0,d=!1;function g(t,a){var i,p={f:[]},g=0,v=\"c\";function m(t){var a=e.slice(h,t),i=a.trim();if(\"f\"===v)\"safe\"===i?p.raw=!0:r.async&&c.test(i)?(i=i.replace(c,\"\"),p.f.push([i,\"\",!0])):p.f.push([i,\"\"]);else if(\"fp\"===v)p.f[p.f.length-1][1]+=i;else if(\"err\"===v){if(i){var s=a.search(/\\S/);n(\"invalid syntax\",e,h+s)}}else p[v]=i;h=t+1}for(\"h\"===a||\"b\"===a||\"c\"===a?v=\"n\":\"r\"===a&&(p.raw=!0,a=\"i\"),s.lastIndex=h;null!==(i=s.exec(e));){var y=i[1],x=i[2],b=i[3],w=i[4],F=i[5],S=i.index;if(y)\"(\"===y?(0===g&&(\"n\"===v?(m(S),v=\"p\"):\"f\"===v&&(m(S),v=\"fp\")),g++):\")\"===y?0===--g&&\"c\"!==v&&(m(S),v=\"err\"):0===g&&\"|\"===y?(m(S),v=\"f\"):\"=>\"===y&&(m(S),h+=1,v=\"res\");else if(x){if(\"/*\"===x){var I=e.indexOf(\"*/\",s.lastIndex);-1===I&&n(\"unclosed comment\",e,i.index),s.lastIndex=I+2}else if(\"'\"===x){l.lastIndex=i.index,l.exec(e)?s.lastIndex=l.lastIndex:n(\"unclosed string\",e,i.index)}else if('\"'===x){f.lastIndex=i.index,f.exec(e)?s.lastIndex=f.lastIndex:n(\"unclosed string\",e,i.index)}else if(\"`\"===x){o.lastIndex=i.index,o.exec(e)?s.lastIndex=o.lastIndex:n(\"unclosed string\",e,i.index)}}else if(b)return m(S),h=S+i[0].length,u.lastIndex=h,d=F,w&&\"h\"===a&&(a=\"s\"),p.t=a,p}return n(\"unclosed tag\",e,t),p}var v=function i(s,o){s.b=[],s.d=[];var l,f=!1,p=[];function v(e,t){e&&(e=function(e,t,n,r){var a,i;return\"string\"==typeof t.autoTrim?a=i=t.autoTrim:Array.isArray(t.autoTrim)&&(a=t.autoTrim[1],i=t.autoTrim[0]),(n||!1===n)&&(a=n),(r||!1===r)&&(i=r),\"slurp\"===a&&\"slurp\"===i?e.trim():(\"_\"===a||\"slurp\"===a?e=String.prototype.trimLeft?e.trimLeft():e.replace(/^[\\s\\uFEFF\\xA0]+/,\"\"):\"-\"!==a&&\"nl\"!==a||(e=e.replace(/^(?:\\n|\\r|\\r\\n)/,\"\")),\"_\"===i||\"slurp\"===i?e=String.prototype.trimRight?e.trimRight():e.replace(/[\\s\\uFEFF\\xA0]+$/,\"\"):\"-\"!==i&&\"nl\"!==i||(e=e.replace(/(?:\\n|\\r|\\r\\n)$/,\"\")),e)}(e,r,d,t))&&(e=e.replace(/\\\\|'/g,\"\\\\$&\").replace(/\\r\\n|\\n|\\r/g,\"\\\\n\"),p.push(e))}for(;null!==(l=u.exec(e));){var m,y=l[1],x=l[2],b=l[3]||\"\";for(var w in a)if(a[w]===b){m=w;break}v(y,x),h=l.index+l[0].length,m||n(\"unrecognized tag type: \"+b,e,h);var F=g(l.index,m),S=F.t;if(\"h\"===S){var I=F.n||\"\";r.async&&c.test(I)&&(F.a=!0,F.n=I.replace(c,\"\")),F=i(F),p.push(F)}else if(\"c\"===S){if(s.n===F.n)return f?(f.d=p,s.b.push(f)):s.d=p,s;n(\"Helper start and end don't match\",e,l.index+l[0].length)}else if(\"b\"===S){f?(f.d=p,s.b.push(f)):s.d=p;var R=F.n||\"\";r.async&&c.test(R)&&(F.a=!0,F.n=R.replace(c,\"\")),f=F,p=[]}else if(\"s\"===S){var T=F.n||\"\";r.async&&c.test(T)&&(F.a=!0,F.n=T.replace(c,\"\")),p.push(F)}else p.push(F)}if(!o)throw t('unclosed helper \"'+s.n+'\"');return v(e.slice(h,e.length),!1),s.d=p,s}({f:[]},!0);if(r.plugins)for(var m=0;m<r.plugins.length;m++){var y=r.plugins[m];y.processAST&&(v.d=y.processAST(v.d,r))}return v.d}function d(e,t){var n=h(e,t),r=\"var tR='';\"+(t.useWith?\"with(\"+t.varName+\"||{}){\":\"\")+x(n,t)+\"if(cb){cb(null,tR)} return tR\"+(t.useWith?\"}\":\"\");if(t.plugins)for(var a=0;a<t.plugins.length;a++){var i=t.plugins[a];i.processFnString&&(r=i.processFnString(r,t))}return r}function g(e,t){for(var n=0;n<t.length;n++){var r=t[n][0],a=t[n][1];e=(t[n][2]?\"await \":\"\")+\"c.l('F','\"+r+\"')(\"+e,a&&(e+=\",\"+a),e+=\")\"}return e}function v(e,t,n,r,a,i){var s=\"{exec:\"+(a?\"async \":\"\")+y(n,t,e)+\",params:[\"+r+\"]\";return i&&(s+=\",name:'\"+i+\"'\"),a&&(s+=\",async:true\"),s+=\"}\"}function m(e,t){for(var n=\"[\",r=0;r<e.length;r++){var a=e[r];n+=v(t,a.res||\"\",a.d,a.p||\"\",a.a,a.n),r<e.length&&(n+=\",\")}return n+=\"]\"}function y(e,t,n){return\"function(\"+t+\"){var tR='';\"+x(e,n)+\"return tR}\"}function x(e,t){for(var n=0,r=e.length,a=\"\";n<r;n++){var i=e[n];if(\"string\"==typeof i){a+=\"tR+='\"+i+\"';\"}else{var s=i.t,c=i.c||\"\",o=i.f,l=i.n||\"\",f=i.p||\"\",u=i.res||\"\",p=i.b,h=!!i.a;if(\"i\"===s){t.defaultFilter&&(c=\"c.l('F','\"+t.defaultFilter+\"')(\"+c+\")\");var d=g(c,o);!i.raw&&t.autoEscape&&(d=\"c.l('F','e')(\"+d+\")\"),a+=\"tR+=\"+d+\";\"}else if(\"h\"===s)if(t.storage.nativeHelpers.get(l))a+=t.storage.nativeHelpers.get(l)(i,t);else{var y=(h?\"await \":\"\")+\"c.l('H','\"+l+\"')(\"+v(t,u,i.d,f,h);y+=p?\",\"+m(p,t):\",[]\",a+=\"tR+=\"+g(y+=\",c)\",o)+\";\"}else\"s\"===s?a+=\"tR+=\"+g((h?\"await \":\"\")+\"c.l('H','\"+l+\"')({params:[\"+f+\"]},[],c)\",o)+\";\":\"e\"===s&&(a+=c+\"\\n\")}}return a}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){s(this.cache,e,!0)},e}();function w(e,n,r,a){if(n&&n.length>0)throw t((a?\"Native\":\"\")+\"Helper '\"+e+\"' doesn't accept blocks\");if(r&&r.length>0)throw t((a?\"Native\":\"\")+\"Helper '\"+e+\"' doesn't accept filters\")}var F={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"};function S(e){return F[e]}var I=new b({}),R=new b({each:function(e,t){var n=\"\",r=e.params[0];if(w(\"each\",t,!1),e.async)return new Promise((function(t){!function e(t,n,r,a,i){r(t[n],n).then((function(s){a+=s,n===t.length-1?i(a):e(t,n+1,r,a,i)}))}(r,0,e.exec,n,t)}));for(var a=0;a<r.length;a++)n+=e.exec(r[a],a);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,r,a,i,s){a(n[r],t[n[r]]).then((function(c){i+=c,r===n.length-1?s(i):e(t,n,r+1,a,i,s)}))}(n,Object.keys(n),0,e.exec,\"\",t)}));var r=\"\";for(var a in n)i(n,a)&&(r+=e.exec(a,n[a]));return r},include:function(e,n,r){w(\"include\",n,!1);var a=r.storage.templates.get(e.params[0]);if(!a)throw t('Could not fetch template \"'+e.params[0]+'\"');return a(e.params[1],r)},extends:function(e,n,r){var a=e.params[1]||{};a.content=e.exec();for(var i=0;i<n.length;i++){var s=n[i];a[s.name]=s.exec()}var c=r.storage.templates.get(e.params[0]);if(!c)throw t('Could not fetch template \"'+e.params[0]+'\"');return c(a,r)},useScope:function(e,t){return w(\"useScope\",t,!1),e.exec(e.params[0])}}),T=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 r=0;r<e.b.length;r++){var a=e.b[r];\"else\"===a.n?n+=\"else{\"+x(a.d,t)+\"}\":\"elif\"===a.n&&(n+=\"else if(\"+a.p+\"){\"+x(a.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 r=\"try{\"+x(e.d,n)+\"}\",a=e.b[0];return r+=\"catch\"+(a.res?\"(\"+a.res+\")\":\"\")+\"{\"+x(a.d,n)+\"}\"},block:function(e,t){return w(\"block\",e.b,e.f,!0),\"if(!\"+t.varName+\"[\"+e.p+\"]){tR+=(\"+y(e.d,\"\",t)+\")()}else{tR+=\"+t.varName+\"[\"+e.p+\"]}\"}}),E=new b({e:function(e){var t=String(e);return/[&<>\"']/.test(t)?t.replace(/[&<>\"']/g,S):t}}),j={varName:\"it\",autoTrim:[!1,\"nl\"],autoEscape:!0,defaultFilter:!1,tags:[\"{{\",\"}}\"],l:function(e,n){if(\"H\"===e){var r=this.storage.helpers.get(n);if(r)return r;throw t(\"Can't find helper '\"+n+\"'\")}if(\"F\"===e){var a=this.storage.filters.get(n);if(a)return a;throw t(\"Can't find filter '\"+n+\"'\")}},async:!1,storage:{helpers:R,nativeHelpers:T,filters:E,templates:I},prefixes:{h:\"@\",b:\"#\",i:\"\",r:\"*\",c:\"/\",e:\"!\"},cache:!1,plugins:[],useWith:!1};function H(e,t){var n={};return s(n,j),t&&s(n,t),e&&s(n,e),n.l.bind(n),n}function O(e,n){var r=H(n||{}),i=Function;if(r.async){if(!a)throw t(\"This environment doesn't support async/await\");i=a}try{return new i(r.varName,\"c\",\"cb\",d(e,r))}catch(n){throw n instanceof SyntaxError?t(\"Bad template syntax\\n\\n\"+n.message+\"\\n\"+Array(n.message.length+1).join(\"=\")+\"\\n\"+d(e,r)):n}}function _(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:O(e,t),t.cache&&t.name&&t.storage.templates.define(t.name,n),n)}j.l.bind(j),e.compile=O,e.compileScope=x,e.compileScopeIntoFunction=y,e.compileToString=d,e.defaultConfig=j,e.filters=E,e.getConfig=H,e.helpers=R,e.nativeHelpers=T,e.parse=h,e.render=function(e,n,a,i){var s=H(a||{});if(!s.async)return _(e,s)(n,s);if(!i){if(\"function\"==typeof r)return new r((function(t,r){try{t(_(e,s)(n,s))}catch(e){r(e)}}));throw t(\"Please provide a callback function, this env doesn't support Promises\")}try{_(e,s)(n,s,i)}catch(e){return i(e)}},e.templates=I,Object.defineProperty(e,\"__esModule\",{value:!0})}));\n//# sourceMappingURL=squirrelly.min.js.map\n","import { IndexResult, AlgoliaResultHit } from '../interface';\nimport * as Sqrl from 'squirrelly';\n\nconst squirrel = Sqrl;\n\nsquirrel.filters.define(\n 'date_long',\n (\n str: string,\n options: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }\n ) => {\n if (!str) return;\n let date = new Date(parseInt(str) * 1000);\n str = date.toLocaleDateString('en-GB', options);\n return str;\n }\n);\n\nsquirrel.filters.define(\n 'date_short',\n (str: string, format: string = 'd/m/y') => {\n if (!str) return;\n let date = new Date(parseInt(str) * 1000);\n str = format.replace(/(d)/, date.getDate().toString());\n str = str.replace(/(m)/, (date.getMonth() + 1).toString());\n str = str.replace(/(y)/, date.getFullYear().toString());\n return str;\n }\n);\n\nsquirrel.filters.define('public_name', (str: string) => {\n if (!str) return;\n str = str\n .split('_')\n .map((val) => {\n return val.length < 3 ? val.toUpperCase() : val;\n })\n .join(' ');\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n\nsquirrel.filters.define('trim_to', (str: string, length: number = 100) => {\n if (!str) return;\n if (str.length <= length) return str;\n return str.substr(0, length) + '...';\n});\n\nsquirrel.filters.define('classname', (str: string) => {\n if (!str) return;\n return str.replace(/[\\W]+/g, '');\n});\n\nsquirrel.filters.define(\n 'abs_url',\n (str: string, index: IndexResult = null, result?: AlgoliaResultHit) => {\n if (!index) return str;\n if (!str) return;\n\n let domain = undefined;\n if (index.domains && result && result.origin) {\n let found = index.domains.find((dm) => dm.origin === result.origin);\n domain = found ? found.domain : '';\n } else if (index.domain) domain = index.domain;\n\n if (!domain) return str;\n return str.match(/^http/) ? str : location.protocol + '//' + domain + str;\n }\n);\n\nsquirrel.filters.define(\n 'replace',\n (str: string, search?: string, replace?: string) =>\n str.replace(search, replace)\n);\nsquirrel.filters.define('remove_spaces', (str: string) =>\n str.replace(/ /g, '_')\n);\nsquirrel.filters.define(\n 'add_spaces',\n (str: string) => (str = str.replace(/[_\\-]/g, ' '))\n);\nsquirrel.filters.define(\n 'capitalise',\n (str: string) => (str = str.charAt(0).toUpperCase() + str.slice(1))\n);\nsquirrel.filters.define(\n 'lowercase',\n (str: string) => (str = str.toLowerCase())\n);\n\nexport const Squirrel = squirrel;\n","export class PromiseQueue {\n public queue = [];\n private workingOnPromise = false;\n static pendingPromise = false;\n public stop = false;\n public limit = null;\n\n public enqueue(promise: () => Promise<unknown>) {\n return new Promise((resolve, reject) => {\n this.queue.push({\n promise,\n resolve,\n reject,\n });\n this.dequeue();\n });\n }\n\n public dequeue() {\n if (this.workingOnPromise) {\n return false;\n }\n if (this.stop) {\n this.queue = [];\n this.stop = false;\n return;\n }\n const item = this.queue.shift();\n if (!item) {\n return false;\n }\n try {\n this.workingOnPromise = true;\n item\n .promise()\n .then((value) => {\n this.workingOnPromise = false;\n item.resolve(value);\n this.dequeue();\n })\n .catch((err) => {\n this.workingOnPromise = false;\n item.reject(err);\n this.dequeue();\n });\n } catch (err) {\n this.workingOnPromise = false;\n item.reject(err);\n this.dequeue();\n }\n return true;\n }\n}\n",":host {\n position: relative;\n display: block;\n\n ::slotted([slot='search-template']),\n &::slotted([slot='search-template']) {\n display: none !important;\n }\n}\n\n.loader {\n opacity: 0;\n position: fixed;\n height: 100%;\n width: 100%;\n min-height: 100%;\n max-height: 100vh !important;\n max-width: 100vw !important;\n left: 0;\n top: 0;\n z-index: -10;\n font-size: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 0.2s ease, z-index 0.01s ease 0.2s;\n\n &.loading {\n opacity: 1;\n z-index: 10;\n transition: z-index 0.01s ease, opacity 0.2s ease 0.01s;\n }\n}\n\n.default {\n height: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.results {\n opacity: 0;\n outline: none;\n overflow: auto;\n transition:\n transform 0.3s ease,\n opacity 0.3s ease,\n visibility 0.01s ease 0.3s,\n z-index 0.01s ease 0.3s;\n transform: translate(0, 100px);\n visibility: hidden;\n z-index: -1;\n position: absolute;\n top: 0;\n left: 0;\n display: none;\n\n &-container {\n position: relative;\n }\n\n &.show {\n transition:\n z-index 0.01s ease,\n visibility 0.01s ease,\n transform 0.3s ease 0.01s,\n opacity 0.3s ease 0.01s;\n transform: translate(0, 0);\n visibility: visible;\n opacity: 1;\n z-index: 10;\n overflow: hidden;\n }\n\n &.shown {\n height: auto !important;\n width: auto !important;\n display: block;\n position: static;\n transform: none;\n z-index: auto;\n visibility: inherit;\n opacity: initial;\n }\n}\n","import {\n Component,\n h,\n Element,\n Host,\n Prop,\n Watch,\n State,\n Listen,\n Method,\n EventEmitter,\n Event,\n Build,\n writeTask,\n ComponentInterface,\n readTask,\n} from '@stencil/core';\nimport {\n AlgoliaMultiResult,\n IndexResult,\n AlgoliaResultHit,\n FilterChangeEventDetail,\n PageChangeEventDetail,\n AppliedFilter,\n AlgoliaFacet,\n SearchIndex,\n} from '../../interface';\nimport { Universe, SearchChangeEvent } from './algolia-data';\nimport { debounce, getDirectChildren, raf } from '../../utils';\nimport algoliasearch, {\n SearchClient as AlgoliaClient,\n SearchIndex as AlgoliaIndex,\n} from 'algoliasearch';\nimport { Squirrel } from '../../utils/template';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\nimport { PromiseQueue } from '../../utils/promise-queue';\n\ninterface FacetFilterQueryBlock {\n or: Array<string>;\n and: Array<string>;\n not: Array<string>;\n name: string;\n}\ninterface FacetFilter extends FilterChangeEventDetail {\n element: HTMLNanoAlgoliaFilterElement;\n}\ntype FilterGroup = { [prop: string]: FacetFilter };\n\nconst CANSHADOW = !!document.head.attachShadow;\n\n/**\n * Algolia search container to contain and sync nano-algolia-results and nano-algolia-filter components.\n * Can optionally contain nano-algolia-input components or use them as a 'resultsEmitter'\n * @slot search-input - optional. Should contain an algolia-input component.\n * @slot loader - optional. Elements to show when search results are loading.\n * @slot template - optional. Template string (format depends on 'tplEngine' property). May contain other algolia-... components with nested templates.\n * @slot output - Search result output. Will be a placeholder for template output or optionally nest algolia-... components.\n */\n@Component({\n tag: 'nano-algolia',\n shadow: true,\n styleUrl: 'algolia.scss',\n})\nexport class Algolia implements ComponentInterface {\n // filters that have an initial value\n private staticFacetFilters: FilterGroup = {};\n private dynFacetFilters: FilterGroup = {};\n private tplSlot: HTMLElement;\n private outputSlot: HTMLElement;\n private slottedInput: HTMLElement;\n private hasLoadSlot: boolean = false;\n private resultsDiv: HTMLDivElement;\n private defaultDiv: HTMLDivElement;\n private tpl: string;\n private facets: AlgoliaFacet;\n private placedAlgoliaEles: Element[] = [];\n private algoliaClient: AlgoliaClient;\n // lots of stuff happens asynchronously. This makes sure they fire in the corrent order\n private promiseQueue = new PromiseQueue();\n\n @Element() host: HTMLNanoAlgoliaElement;\n\n // Internal state\n\n // filters that change via a template. They have no initial value\n @State() _dynFacetFilters: FilterGroup = {};\n @State() inputField: HTMLNanoInputElement | HTMLInputElement;\n @State() algoliaIndex: AlgoliaIndex;\n @State() indeces: IndexResult[] = [];\n @State() resultsEmitterEle: HTMLElement;\n @State() indexResults: IndexResult;\n @State() filterChanged: string = '';\n @State() currentHits: AlgoliaResultHit[];\n @State() changeEvent: SearchChangeEvent = SearchChangeEvent.Init;\n @State() isLoading: boolean = false;\n @State() wormholeState: any = this;\n\n // Public props\n\n /**\n * Show the result panel. By default it will automatically show when the result receives new hits.\n */\n @Prop({ mutable: true }) showResults: boolean = false;\n\n /**\n * The current algolia page of results currently being viewed or to get.\n */\n @Prop({ mutable: true }) resultsPage: number = 0;\n\n /**\n * An Algolia App ID key. Used in conjunction with 'searchIndex' & 'apiKey'.\n */\n @Prop({ mutable: true }) appId: string;\n\n /**\n * An Algolia API Key. Used in conjunction with 'searchIndex' & 'appId'.\n */\n @Prop({ mutable: true }) apiKey: string;\n\n /**\n * Algolia search index. Used in conjunction with 'apiKey' & 'appId'.\n * ```\n * { index: string, // algolia index name\n * domain?: string, // used in template filters to resolve incomplete url fields\n * filters?: [string], // algolia facets to retrive\n * hitsPerPage?: number,\n * name?: string // human readable index name\n * }\n * ```\n */\n @Prop({ mutable: true }) searchIndex: SearchIndex = {} as SearchIndex;\n\n /**\n * Algolia search index name. Alternative to 'searchIndex'.\n * A simplified shortcut for setting an index.\n * Properties such as hitsPerPage and facets will come from the algolia index\n */\n @Prop({ mutable: true }) searchIndexName: string = '';\n\n /**\n * JS querSelector string of a `nano-input` / `input` element from which\n * to listen to `nano-change` or `change` events and change the `query` prop.\n * Not required if an appropriate field is in the 'search-input' slot\n */\n @Prop() listenTo?: string = null;\n\n /**\n * The query string used to search the index. Will automtically be set with any slotted\n * `search-input` input elements or from elements linked to from `listen-to`\n */\n @Prop({ mutable: true }) query: string = '';\n\n /**\n * The external operator joining filter values.\n */\n @Prop() operator: 'or' | 'and' = 'and';\n\n /**\n * Query filters to apply to all searches.\n * Refer to https://www.algolia.com/doc/api-reference/api-parameters/filters for format.\n */\n @Prop() filters: Array<string> = [];\n\n /**\n * Template engine to use when rendering results and filters.\n * Defaults to Squirrel v8 (https://squirrelly.js.org/). This gives you access\n * to the underlying squirrel object allowing you to modify it's configuration / add filters.\n */\n @Prop() tplEngine: Object = Squirrel;\n\n /**\n * Template engine render function to use when rendering results and filters.\n * Defaults to Squirrel v8's render (https://squirrelly.js.org/).\n */\n @Prop() tplRenderFn: (...args: any[]) => string = Squirrel.render;\n\n /**\n * Changes the index without removing any current filters. Most appropriate for algolia replicas.\n */\n @Prop({ mutable: true }) replicaIndex: string = '';\n\n /**\n * Will maintain a search all / '*' on init and reset allowing for a view\n * then filter experience rather than a search first experience\n */\n @Prop({ mutable: true }) browseIndex: boolean = false; // eslint-disable-line @stencil/strict-mutable\n\n /**\n * Minimum number of characters before performing a search\n */\n @Prop() minChars: number = 2;\n\n /**\n * Store search queries (against this ID) to the component store.\n * Use in conjunction with storeMethod\n */\n @Prop() storeId?: string;\n\n /**\n * The method of storage.\n * Either session storage, url hash (after the '#') or url query (after the '?').\n */\n @Prop() storeMethod: StorageMethods = 'session';\n\n // Events\n\n /**\n * Emitted when the algolia element has been created.\n */\n @Event() nanoDidLoad!: EventEmitter<HTMLNanoAlgoliaElement>;\n\n /**\n * Emitted when results and all filters are shown and have loaded.\n */\n @Event({ bubbles: false }) nanoResultsShown!: EventEmitter<IndexResult>;\n\n /**\n * Emitted before an algolia search.\n */\n @Event() nanoBeforeQuery!: EventEmitter<IndexResult>;\n\n /**\n * Emitted after an algolia search.\n */\n @Event() nanoAfterQuery!: EventEmitter<IndexResult>;\n\n /**\n * Emitted after an results have been updated\n */\n @Event() nanoNewResults!: EventEmitter<IndexResult>;\n\n // Public methods\n\n /**\n * @param facetName - will clear all filter selections of that type\n * @param facetValue - will remove a single filter selection\n * Remove facet filters (as set from nano-algolia-filter elements).\n * The omission or both will remove all facet filters\n */\n @Method()\n async removeFilters(facetName?: string, facetValue?: string) {\n if (!facetName && !facetValue) this.clearAllFacetFilters();\n else {\n Object.keys(this._dynFacetFilters).forEach((filterId) => {\n if (\n facetName &&\n this._dynFacetFilters[filterId].facetName === facetName\n ) {\n if (!facetValue) this._dynFacetFilters[filterId].element.value = '';\n else {\n this._dynFacetFilters[filterId].element.value =\n this._dynFacetFilters[filterId].value.filter(\n (val) => val !== facetValue\n );\n }\n }\n });\n }\n }\n\n // Listeners to external events\n\n // a child nano-algolia-... updated their template\n @Listen('nanoTplUpdated')\n onAllTplUpdate(ev: CustomEvent & { target: HTMLElement }) {\n ev.stopPropagation();\n\n if (ev.target.tagName === 'NANO-ALGOLIA-RESULTS') {\n raf(() => {\n this.nanoNewResults.emit(this.indexResults);\n });\n }\n }\n\n // a nano-algolia-pagination or nano-algolia-results changed the page\n @Listen('nanoPageChanged')\n async onPageChange(ev?: CustomEvent) {\n if (!this.indexResults) return;\n let page = this.resultsPage;\n if (ev) {\n ev.stopPropagation();\n page = (ev.detail as PageChangeEventDetail).page;\n }\n\n page = Math.min(this.indexResults.totalPages - 1, page);\n page = Math.max(page, 0);\n\n if (this.indexResults.currentPage === page) return;\n\n this.indexResults.currentPage = page;\n await this.algoliaSearch(SearchChangeEvent.Page);\n }\n\n /**\n * nano-algolia-filter changed value.\n * If that happened before a indexResults were setup, it was a static filter.\n * Static filters persist accross search changes\n */\n @Listen('nanoFilterChanged')\n async onFilterChange(ev: CustomEvent) {\n ev.stopPropagation();\n\n let dynFilterObj: FilterGroup = {};\n let filter = ev.detail as FacetFilter;\n filter.element = ev.target as HTMLNanoAlgoliaFilterElement;\n\n if (this.indexResults) {\n if (this.staticFacetFilters[filter.filterId])\n this.staticFacetFilters[filter.filterId] = filter;\n else {\n dynFilterObj[filter.filterId] = filter;\n this._dynFacetFilters = { ...this._dynFacetFilters, ...dynFilterObj };\n }\n\n this.indexResults.appliedFilters = this.makeAppliedFilters();\n } else this.staticFacetFilters[filter.filterId] = filter;\n\n this.filterChanged =\n filter.value && filter.value.length ? filter.filterId : 'all';\n\n this.resetPage();\n this.algoliaSearch(SearchChangeEvent.Filter);\n }\n\n // Internal state watchers\n\n // Filters can fire a change event, cause a re-render then get detached.\n // This can cause filter dupes. Check to see if the original element is still in the DOM.\n @Watch('_dynFacetFilters')\n dynFacetFiltersChange() {\n Object.values(this._dynFacetFilters).forEach((filter) => {\n if (this.host.ownerDocument === filter.element.ownerDocument)\n this.dynFacetFilters[filter.filterId] = filter;\n else delete this.dynFacetFilters[filter.filterId];\n });\n }\n\n @Watch('browseIndex')\n browseIndexChange() {\n if (\n this.browseIndex &&\n (!this.query || this.query.length < this.minChars)\n ) {\n this.query = '*';\n }\n }\n\n @Watch('inputField')\n inputFieldSet() {\n if (!this.inputField) return;\n if (\n this.query !== '*' &&\n this.inputField &&\n this.inputField.value !== this.query\n )\n this.inputField.value = this.query;\n }\n\n @Watch('query')\n queryChange() {\n this.searchChange();\n }\n private searchChange = async () => {\n if (!this.algoliaIndex) return;\n\n if (!this.query || this.query.length < this.minChars) {\n if (!this.browseIndex) {\n if (!this.query || this.query.length === 0) {\n this.handleSearchReset();\n return;\n } else return;\n } else if (this.query !== '*') {\n this.query = '*';\n return;\n }\n }\n // Do an initialise search (setup searchIndex)\n this.isLoading = true;\n\n setTimeout(async () => {\n // Clear dynamic filters and reset page\n this.resetPage();\n\n await this.algoliaSearch(SearchChangeEvent.Init);\n // Populate master content - optionally from template\n await this.updateContent();\n\n setTimeout((_) => (this.isLoading = false), 800);\n this.showResults = true;\n this.nanoResultsShown.emit(this.indexResults);\n }, 200);\n };\n\n @Watch('replicaIndex')\n async internalIndexSwitch() {\n if (\n !this.replicaIndex ||\n !this.indexResults ||\n this.indexResults.index === this.replicaIndex\n )\n return;\n this.indexResults.index = this.replicaIndex;\n this.algoliaIndex = this.algoliaClient.initIndex(this.indexResults.index);\n this.resetPage();\n this.algoliaSearch(SearchChangeEvent.Replica);\n }\n\n @Watch('resultsPage')\n pageChange() {\n this.onPageChange();\n }\n\n @Watch('searchIndexName')\n searchIndexNameChange() {\n if (\n !this.searchIndexName ||\n !this.searchIndexName.length ||\n (this.searchIndex && this.searchIndex.index === this.searchIndexName)\n )\n return;\n this.searchIndex = { index: this.searchIndexName };\n }\n\n @Watch('apiKey')\n @Watch('appId')\n initAlgoliaClient() {\n if (!this.appId || !this.apiKey) return;\n this.algoliaClient = algoliasearch(this.appId, this.apiKey);\n }\n\n @Watch('searchIndex')\n initAlgoliaIndex() {\n if (!this.algoliaClient || !this.searchIndex) return;\n if (this.searchIndex.index) {\n if (this.replicaIndex) this.searchIndex.index = this.replicaIndex;\n this.searchIndexName = this.searchIndex.index;\n this.algoliaIndex = this.algoliaClient.initIndex(this.searchIndex.index);\n this.searchChange();\n }\n }\n\n @Watch('showResults')\n showResultsChange() {\n if (!this.resultsDiv || !this.defaultDiv) return;\n\n if (this.showResults) {\n this.resultsDiv.style.width = this.host.scrollWidth + 'px';\n this.resultsDiv.style.minHeight = this.host.scrollHeight + 'px';\n\n writeTask(() => {\n this.resultsDiv.addEventListener('transitionend', this.onResultDisplay);\n this.resultsDiv.style.display = 'block';\n setTimeout(() => this.resultsDiv.classList.add('show'), 50);\n });\n } else {\n writeTask(() => {\n this.resultsDiv.classList.remove('shown');\n this.defaultDiv.style.display = 'block';\n setTimeout(() => {\n this.resultsDiv.addEventListener(\n 'transitionend',\n this.onResultDisplay\n );\n this.resultsDiv.classList.remove('show');\n\n if (!!this.slottedInput)\n this.slottedInput.focus({ preventScroll: true });\n else this.defaultDiv.focus({ preventScroll: true });\n }, 50);\n });\n }\n }\n\n @Watch('filters')\n handleFilterpropChange() {\n this.algoliaSearch(SearchChangeEvent.Init);\n }\n\n // Internal methods\n\n private fixDomain(results: AlgoliaMultiResult) {\n if (!this.searchIndex || !this.searchIndex.domain) return results;\n results.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url = location.protocol + '//' + this.searchIndex.domain + hit.url;\n });\n return results;\n }\n\n // Takes all current filters (dynamic and static)\n // and merges common filters' values togther\n private makeAppliedFilters = (): AppliedFilter[] => {\n let appliedFtrs: AppliedFilter[] = [];\n\n const makeAppliedFilter = (facetFilters: {\n [prop: string]: FacetFilter;\n }) => {\n Object.values(facetFilters).forEach((filter) => {\n if (filter.value && filter.value.length) {\n let found = appliedFtrs.find(\n (appFilter) => appFilter.name === filter.facetName\n );\n if (!found)\n appliedFtrs.push({\n name: filter.facetName,\n values: [...filter.value],\n });\n else found.values = [...found.values, ...filter.value];\n }\n });\n };\n makeAppliedFilter(this.dynFacetFilters);\n makeAppliedFilter(this.staticFacetFilters);\n\n if (appliedFtrs.length) return appliedFtrs;\n return null;\n };\n\n // Queue up a search\n private algoliaSearch = async (eventType: SearchChangeEvent) => {\n return this.promiseQueue.enqueue(() => this.queueSearch(eventType));\n };\n\n // Do a search\n private queueSearch = async (eventType: SearchChangeEvent) => {\n if (\n !this.algoliaIndex ||\n !this.query ||\n !this.searchIndex ||\n !this.searchIndex.index\n )\n return;\n\n this.nanoBeforeQuery.emit(this.indexResults);\n\n // clear all facet filters on init (new query)\n if (SearchChangeEvent.Init === eventType) this.clearAllFacetFilters();\n\n let searchParams: any = {\n filters: this.algoliaFilterStr(),\n page: this.indexResults ? this.indexResults.currentPage : 0,\n };\n\n if (this.searchIndex.filters)\n searchParams.facets = this.searchIndex.filters;\n if (this.searchIndex.hitsPerPage)\n searchParams.hitsPerPage = this.searchIndex.hitsPerPage;\n\n let result = (await this.algoliaIndex.search(\n this.query,\n searchParams\n )) as AlgoliaMultiResult;\n result = this.fixDomain(result);\n\n // set event type - this informs children components why things changed\n this.changeEvent = eventType;\n\n // Setup initial meta on new queries. Some of it should not change on filter / pagination\n if (eventType === SearchChangeEvent.Init || !this.indexResults) {\n this.indexResults = {\n currentPage: 0,\n totalHits: result.nbHits,\n hitsPerPage: null,\n origFilters: result.facets,\n query: this.query,\n domain: this.searchIndex.domain || null,\n legacy: !CANSHADOW,\n totalHitsWithFilters: 0,\n results: [],\n totalPages: 0,\n appliedFilters: this.makeAppliedFilters(),\n indexName: this.searchIndex.name || null,\n index: this.searchIndex.index,\n };\n }\n\n this.indexResults.dynFilters = result.facets;\n this.indexResults.results = result.hits as AlgoliaResultHit[];\n this.indexResults.totalHitsWithFilters = result.nbHits;\n this.indexResults.currentPage = result.page;\n this.indexResults.totalPages = result.nbPages;\n this.indexResults.hitsPerPage = result.hitsPerPage;\n this.indexResults.query = result.query;\n // console.log('I GOT NEW RESULTS', eventType, this.query, this.algoliaFilterStr(), this.indexResults.results.length, this.indexResults.currentPage )\n\n if (\n this.changeEvent !== SearchChangeEvent.Page &&\n this.changeEvent !== SearchChangeEvent.Replica\n ) {\n this.facets = result.facets;\n }\n this.nanoAfterQuery.emit(this.indexResults);\n\n // current hits and page will cause re-renders in children components.\n // Wait a tick before firing otherwise events can fire in the wrong order\n return new Promise((resolve) => {\n setTimeout(() => resolve('tpl updated'), 20);\n }).then((_) => {\n this.currentHits = this.indexResults.results;\n this.resultsPage = this.indexResults.currentPage;\n });\n };\n\n private resetPage() {\n if (!this.indexResults) return;\n this.indexResults.currentPage = 0;\n }\n\n private clearAllFacetFilters() {\n Object.values(this._dynFacetFilters).forEach((filter) => {\n filter.element.value = '';\n });\n this._dynFacetFilters = {};\n }\n\n private algoliaFilterStr() {\n // groups applied facet filters (from algolia-filter components)\n // with their applied, 'internal' operators (and, or, not)\n\n let facetFilterObj: { [prop: string]: FacetFilterQueryBlock } = {};\n\n const groupFilters = (facetFilters: { [prop: string]: FacetFilter }) => {\n let filter: FilterChangeEventDetail;\n let filterOp: Array<string>;\n\n Object.keys(facetFilters).forEach((filterId) => {\n filter = facetFilters[filterId];\n facetFilterObj[filterId] = facetFilterObj[filterId] || {\n name: filter.facetName,\n or: [],\n and: [],\n not: [],\n };\n\n filterOp = facetFilterObj[filterId][filter.operator];\n if (filter.value && filter.value.length) {\n facetFilterObj[filterId][filter.operator] = [\n ...filterOp,\n ...filter.value,\n ];\n }\n });\n };\n\n groupFilters(this.dynFacetFilters);\n groupFilters(this.staticFacetFilters);\n\n const formatVal = (name: string, val: string) => {\n if (val.indexOf(' ') > -1) return name + ':\"' + val + '\"';\n else return name + ':' + val;\n };\n let filterStrParts: Array<string> = [];\n let operatorGrp: FacetFilterQueryBlock;\n let filterName: string;\n // let processedFilters: string[] = [];\n\n // joins all applied facet filter operator groups with the set 'outer'\n // operator into an algolia filter query string\n Object.values(facetFilterObj).forEach(function (filter) {\n Object.keys(filter)\n .filter((filterProp) => filterProp.match(/(or|and|not)/))\n .forEach((operator) => {\n operatorGrp = filter;\n filterName = filter.name;\n\n if (operator === 'or' || operator === 'and') {\n if (operatorGrp[operator].length) {\n filterStrParts.push(\n '( \\\n ' +\n operatorGrp[operator]\n .map((val) => {\n if (val.length) return formatVal(filterName, val);\n })\n .join(' ' + operator.toLocaleUpperCase() + ' ') +\n ' \\\n )'\n );\n }\n } else {\n if (operatorGrp.not.length) {\n filterStrParts.push(\n '( \\\n ' +\n operatorGrp[operator]\n .map((val) => {\n if (val.length)\n return 'NOT ' + formatVal(filterName, val);\n })\n .join(' AND ') +\n ' \\\n )'\n );\n }\n }\n });\n });\n\n // add in any static applied filters from filters prop\n filterStrParts = [...this.filters, ...filterStrParts];\n // console.log('filterStr:', filterStrParts.join(' ' + this.operator.toLocaleUpperCase() + ' '))\n return filterStrParts.join(' ' + this.operator.toLocaleUpperCase() + ' ');\n }\n\n @Listen('nanoChange', { target: 'body' })\n @Listen('change', { target: 'body' })\n handleInputChange(ev: CustomEvent | (Event & { target: HTMLElement })) {\n if (ev.target !== this.inputField) return;\n this.query = this.inputField.value;\n }\n\n private handleSearchReset = () => {\n this.showResults = false;\n this.indexResults = null;\n };\n\n private onResultDisplay = () => {\n writeTask(() => {\n this.resultsDiv.removeEventListener(\n 'transitionend',\n this.onResultDisplay\n );\n if (!this.showResults) this.resultsDiv.style.display = 'none';\n else {\n this.defaultDiv.style.display = 'none';\n this.resultsDiv.classList.add('shown');\n this.resultsDiv.style.minHeight = '';\n this.resultsDiv.style.width = '';\n }\n });\n };\n\n private async updateContent() {\n return this.promiseQueue.enqueue(() => this.updateContentQueue());\n }\n\n private async updateContentQueue() {\n let outputTo = this.outputSlot || this.resultsDiv;\n\n if (!outputTo || !this.tpl) return 'no tpl';\n\n let tmpCont = document.createElement('div');\n tmpCont.innerHTML = this.tpl;\n\n let algoliaEles: Element[] = [];\n this.placedAlgoliaEles = [];\n\n // take out children algolia elements 'cos they have their own templates\n // don't want to swap in their templates\n Array.from(\n tmpCont.querySelectorAll(\n 'nano-algolia, nano-algolia-filter, nano-algolia-results'\n )\n ).forEach((el, i) => {\n let placeholder = document.createElement('div');\n placeholder.dataset.placeholderId = i.toString();\n placeholder.classList.add('nano-ele-placeholder');\n algoliaEles.push(el);\n el.parentNode.replaceChild(placeholder, el);\n });\n\n // swap in template content\n // (all this nonsense htmlencodes any < or >)\n\n outputTo.innerHTML = this.tplRenderFn(\n tmpCont.innerHTML\n .replace(/&gt;/gm, '>')\n .replace(/&lt;/gm, '<')\n .replace(/&amp;/gm, '&'),\n this.indexResults\n );\n\n // put back in algolia elements\n Array.from(outputTo.querySelectorAll('div.nano-ele-placeholder')).forEach(\n (el: HTMLDivElement) => {\n el.parentNode.replaceChild(\n algoliaEles[parseInt(el.dataset.placeholderId)],\n el\n );\n this.placedAlgoliaEles.push(\n algoliaEles[parseInt(el.dataset.placeholderId)]\n );\n }\n );\n\n if (!this.placedAlgoliaEles.length) return Promise.resolve('algolia setup');\n\n // wait for all children algolia elements to resolve before calling 'done'\n return new Promise((resolve) => {\n const childrenResolver = (ev: CustomEvent) => {\n this.placedAlgoliaEles = this.placedAlgoliaEles.filter(\n (ele) => ele !== (ev.detail as HTMLElement)\n );\n if (!this.placedAlgoliaEles.length) {\n setTimeout(() => resolve('tpl updated'), 500);\n outputTo.removeEventListener('nanoTplUpdated', childrenResolver);\n }\n };\n outputTo.addEventListener('nanoTplUpdated', childrenResolver);\n });\n }\n\n // Stencil hooks\n\n componentWillLoad() {\n readTask((_) => {\n this.tplSlot = getDirectChildren(this.host, '[slot=\"template\"]')[0];\n this.outputSlot = getDirectChildren(this.host, '[slot=\"output\"]')[0];\n this.slottedInput = getDirectChildren(\n this.host,\n '[slot=\"search-input\"]'\n )[0];\n this.hasLoadSlot = !!getDirectChildren(this.host, '[slot=\"loader\"]')[0];\n if (!!this.tplSlot) this.tpl = this.tplSlot.innerHTML;\n\n // get input field to listen to\n if (\n this.slottedInput &&\n (this.slottedInput.tagName.toLocaleLowerCase() === 'nano-input' ||\n this.slottedInput instanceof HTMLInputElement)\n ) {\n this.inputField = this.slottedInput as HTMLNanoInputElement;\n } else if (this.slottedInput) {\n this.inputField = this.slottedInput.querySelector(\n 'nano-input, input:not([type=\"radio\"]):not([type=\"checkbox\"])'\n );\n }\n\n writeTask((_) => {\n if (this.showResults && this.tpl) this.searchChange();\n });\n });\n\n this.searchIndexNameChange();\n this.initAlgoliaClient();\n this.initAlgoliaIndex();\n\n // Create wormwhole shared 'universe' (https://github.com/mihar-22/stencil-wormhole)\n Universe.create(this, this.wormholeState);\n\n if (this.storeId) {\n ComponentStore.init(\n this,\n ['query', 'replicaIndex'],\n this.storeMethod,\n this.storeId\n );\n ComponentStore.init(\n this,\n ['apiKey', 'appId', 'searchIndex'],\n 'session',\n this.storeId + '_api'\n );\n }\n this.internalIndexSwitch();\n }\n\n connectedCallback() {\n this.searchChange = debounce(this.searchChange, 300);\n this.browseIndexChange();\n\n if (!Build.isBrowser) return;\n this.host.dispatchEvent(\n new CustomEvent('nanoDidLoad', {\n detail: this.host,\n })\n );\n }\n\n render() {\n const wormholeState = {\n indexResults: this.indexResults,\n results: this.currentHits,\n filterChanged: this.filterChanged,\n tplRenderFn: this.tplRenderFn,\n resultsPage: this.resultsPage,\n changeEvent: this.changeEvent,\n facets: this.facets,\n algoliaIndex: this.algoliaIndex,\n searchIndex: this.searchIndex,\n globalStoreMethod: this.storeMethod,\n isLoading: this.isLoading,\n };\n return (\n <Host\n class={{\n 'show-results': this.showResults,\n 'is-loading': this.isLoading,\n }}\n aria-busy={this.isLoading}\n >\n {this.hasLoadSlot && (\n <div hidden={!this.isLoading}>\n <slot name=\"loader\" />\n </div>\n )}\n {!this.hasLoadSlot && (\n <div\n class={{\n loader: true,\n loading: this.isLoading,\n }}\n >\n <nano-spinner overlay={true} type=\"circle\"></nano-spinner>\n </div>\n )}\n\n <Universe.Provider state={wormholeState}>\n <slot name=\"search-input\"></slot>\n <div class=\"results-container\" aria-live=\"polite\">\n <div ref={(div) => (this.resultsDiv = div)} class=\"results\">\n <slot name=\"output\" />\n </div>\n </div>\n </Universe.Provider>\n\n <div\n ref={(div) => (this.defaultDiv = div)}\n class=\"default\"\n tabindex=\"-1\"\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
- import{r as o,h as n}from"./p-b5c33aff.js";import{f as t}from"./p-f8f89998.js";const a=".sc-nano-icon-button-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-icon-button,*.sc-nano-icon-button::before,*.sc-nano-icon-button::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-icon-button{display:none !important}.sc-nano-icon-button-h{display:inline-block;--border-radius:var(--nano-border-radius-medium, 4px);--active-color:#005c75;--hover-color:#007495;--nano-color-base:var(--color, #687576);--background:transparent;--padding:var(--nano-spacing-small, 8px)}.icon-button.sc-nano-icon-button{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;border-radius:var(--border-radius);background:var(--background);font-size:inherit;color:var(--color);padding:var(--padding);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-transition:-webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:-webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:box-shadow var(--nano-transition-fast, 0.1s) ease-in-out, -webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out}.icon-button.sc-nano-icon-button:hover:not(.icon-button--disabled),.icon-button.sc-nano-icon-button:focus:not(.icon-button--disabled){color:var(--hover-color);--nano-color-base:var(--hover-color)}.icon-button.sc-nano-icon-button:active:not(.icon-button--disabled){color:var(--active-color);--nano-color-base:var(--active-color)}.icon-button.sc-nano-icon-button:focus{outline:none}.icon-button--disabled.sc-nano-icon-button{opacity:0.5;cursor:not-allowed;pointer-events:none}.focus-visible.icon-button.sc-nano-icon-button:focus{-webkit-box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}";let i=class{constructor(n){o(this,n);this.type="button";this.disabled=false}componentDidLoad(){t.observe(this.button)}connectedCallback(){if(this.button)t.observe(this.button)}disconnectedCallback(){t.unobserve(this.button)}render(){const o=this.href===undefined?"button":"a";return n(o,{part:"base",ref:o=>this.button=o,class:{"icon-button":true,"icon-button--disabled":this.disabled},"aria-label":this.label,name:this.name,value:this.value,href:this.href||undefined,target:this.href&&this.target?this.target:undefined,type:!this.href&&this.type?this.type:undefined},n("nano-icon",{name:this.iconName,src:this.iconSrc,"aria-hidden":"true"}))}};i.style=a;export{i as nano_icon_button};
5
- //# sourceMappingURL=p-1030797a.entry.js.map
4
+ import{r as o,h as n}from"./p-b5c33aff.js";import{f as t}from"./p-f8f89998.js";const a=".sc-nano-icon-button-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-icon-button,*.sc-nano-icon-button::before,*.sc-nano-icon-button::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-icon-button{display:none !important}.sc-nano-icon-button-h{display:inline-block;--border-radius:var(--nano-border-radius-medium, 4px);--active-color:#005c75;--hover-color:#007495;--nano-color-base:var(--color, #687576);--background:transparent;--padding:var(--nano-spacing-small, 8px)}.icon-button.sc-nano-icon-button{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border:none;border-radius:var(--border-radius);background:var(--background);font-size:inherit;color:var(--color);padding:var(--padding);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-transition:-webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:-webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:box-shadow var(--nano-transition-fast, 0.1s) ease-in-out;transition:box-shadow var(--nano-transition-fast, 0.1s) ease-in-out, -webkit-box-shadow var(--nano-transition-fast, 0.1s) ease-in-out}.icon-button.sc-nano-icon-button:hover:not(.icon-button--disabled),.icon-button.sc-nano-icon-button:focus:not(.icon-button--disabled){color:var(--hover-color);--nano-color-base:var(--hover-color)}.icon-button.sc-nano-icon-button:active:not(.icon-button--disabled){color:var(--active-color);--nano-color-base:var(--active-color)}.icon-button.sc-nano-icon-button:focus{outline:none}.icon-button--disabled.sc-nano-icon-button{opacity:0.5;cursor:not-allowed;pointer-events:none}.focus-visible.icon-button.sc-nano-icon-button:focus{-webkit-box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}";let i=class{constructor(n){o(this,n);this.type="button";this.disabled=false}async setFocus(){this.button.focus()}componentDidLoad(){t.observe(this.button)}connectedCallback(){if(this.button)t.observe(this.button)}disconnectedCallback(){t.unobserve(this.button)}render(){const o=this.href===undefined?"button":"a";return n(o,{part:"base",ref:o=>this.button=o,class:{"icon-button":true,"icon-button--disabled":this.disabled},"aria-label":this.label,name:this.name,value:this.value,href:this.href||undefined,target:this.href&&this.target?this.target:undefined,type:!this.href&&this.type?this.type:undefined},n("nano-icon",{name:this.iconName,src:this.iconSrc,"aria-hidden":"true"}))}};i.style=a;export{i as nano_icon_button};
5
+ //# sourceMappingURL=p-d37e1489.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/icon-button/icon-button.scss?tag=nano-icon-button&encapsulation=scoped","src/components/icon-button/icon-button.tsx"],"names":["iconButtonCss","IconButton","[object Object]","hostRef","this","type","disabled","button","focus","focusVisible","observe","unobserve","TagType","href","undefined","h","part","ref","el","class","icon-button","icon-button--disabled","aria-label","label","name","value","target","iconName","src","iconSrc","aria-hidden"],"mappings":";;;+EAAA,MAAMA,EAAgB,qhECUTC,EAAU,MALvBC,YAAAC,aAe2BC,KAAAC,KAAsC,SAatCD,KAAAE,SAAW,MAYpCJ,iBACEE,KAAKG,OAAOC,QAGdN,mBACEO,EAAaC,QAAQN,KAAKG,QAG5BL,oBACE,GAAIE,KAAKG,OAAQE,EAAaC,QAAQN,KAAKG,QAG7CL,uBACEO,EAAaE,UAAUP,KAAKG,QAG9BL,SACE,MAAMU,EAAUR,KAAKS,OAASC,UAAY,SAAY,IAEtD,OACEC,EAACH,EAAO,CACNI,KAAK,OACLC,IAAMC,GAAQd,KAAKG,OAASW,EAC5BC,MAAO,CACLC,cAAe,KACfC,wBAAyBjB,KAAKE,UAC/BgB,aACWlB,KAAKmB,MACjBC,KAAMpB,KAAKoB,KACXC,MAAOrB,KAAKqB,MACZZ,KAAMT,KAAKS,MAAQC,UACnBY,OAAQtB,KAAKS,MAAQT,KAAKsB,OAAStB,KAAKsB,OAASZ,UACjDT,MAAOD,KAAKS,MAAQT,KAAKC,KAAOD,KAAKC,KAAOS,WAE5CC,EAAA,YAAA,CAAWS,KAAMpB,KAAKuB,SAAUC,IAAKxB,KAAKyB,QAAOC,cAAc","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/colours';\n@import '../../global/style/nano-theme/form';\n\n:host {\n /**\n * @prop --border-radius: defaults to #{$border-radius-medium};\n * @prop --border-radius: defaults to #{$border-radius-medium};\n * @prop --color: defaults to #{map.get($colors, palegrey)};\n * @prop --active-color: defaults to #{map.get($colors, darkblue--faded)};\n * @prop --hover-color: defaults to #{map.get($colors, blue)};\n * @prop --background: defaults to transparent;\n * @prop --padding: defaults to #{$spacing-small};\n */\n display: inline-block;\n\n --border-radius: #{$border-radius-medium};\n --active-color: #{map.get($colors, darkblue--faded)};\n --hover-color: #{map.get($colors, blue)};\n --nano-color-base: var(--color, #{map.get($colors, mediumgrey)});\n --background: transparent;\n --padding: #{$spacing-small};\n}\n\n.icon-button {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n border: none;\n border-radius: var(--border-radius);\n background: var(--background);\n font-size: inherit;\n color: var(--color);\n padding: var(--padding);\n cursor: pointer;\n appearance: none;\n -webkit-appearance: none;\n transition: box-shadow #{$transition-xfast} ease-in-out;\n\n &:hover:not(.icon-button--disabled),\n &:focus:not(.icon-button--disabled) {\n color: var(--hover-color);\n\n --nano-color-base: var(--hover-color);\n }\n\n &:active:not(.icon-button--disabled) {\n color: var(--active-color);\n\n --nano-color-base: var(--active-color);\n }\n\n &:focus {\n outline: none;\n }\n}\n\n.icon-button--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.focus-visible.icon-button:focus {\n box-shadow: #{$control-focus-style};\n}\n","import { Component, Prop, h, ComponentInterface, Method } from '@stencil/core';\nimport { focusVisible } from '../../utils/focus-visible';\n\n/** Icons buttons are simple, icon-only buttons that can be used for actions and in toolbars. */\n\n@Component({\n tag: 'nano-icon-button',\n styleUrl: 'icon-button.scss',\n scoped: true,\n})\nexport class IconButton implements ComponentInterface {\n private button: HTMLButtonElement;\n\n /** The name of the icon to draw. */\n @Prop() iconName?: string;\n\n /** An external URL of an SVG file. */\n @Prop() iconSrc?: string;\n\n /** The default behavior of the button. */\n @Prop({ reflect: true }) type: 'submit' | 'reset' | 'button' = 'button';\n\n /** The name of the button, submitted as a pair with the button’s value as part of the form data. */\n @Prop({ reflect: true }) name?: string;\n\n /** Defines the value associated with the button’s name when it’s submitted with the form data. */\n @Prop({ reflect: true }) value?: string;\n\n /** A description that gets read by screen readers and other assistive devices. For optimal accessibility, you should\n * always include a label that describes what the icon button does. */\n @Prop() label!: string;\n\n /** Set to true to disable the button. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Contains a URL or a URL fragment that the hyperlink points to.\n * If this property is set, an anchor tag will be rendered. */\n @Prop() href: string | undefined;\n\n /** Specifies where to display the linked URL. Only applies when an `href` is provided.\n * Special keywords: `\"_blank\"`, `\"_self\"`, `\"_parent\"`, `\"_top\"`. */\n @Prop() target: string | undefined;\n\n /** Sets focus on the internal button */\n @Method()\n async setFocus() {\n this.button.focus();\n }\n\n componentDidLoad() {\n focusVisible.observe(this.button);\n }\n\n connectedCallback() {\n if (this.button) focusVisible.observe(this.button);\n }\n\n disconnectedCallback() {\n focusVisible.unobserve(this.button);\n }\n\n render() {\n const TagType = this.href === undefined ? 'button' : ('a' as any);\n\n return (\n <TagType\n part=\"base\"\n ref={(el) => (this.button = el)}\n class={{\n 'icon-button': true,\n 'icon-button--disabled': this.disabled,\n }}\n aria-label={this.label}\n name={this.name}\n value={this.value}\n href={this.href || undefined}\n target={this.href && this.target ? this.target : undefined}\n type={!this.href && this.type ? this.type : undefined}\n >\n <nano-icon name={this.iconName} src={this.iconSrc} aria-hidden=\"true\" />\n </TagType>\n );\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import{r as t,c as i,h as s,e as n,g as h}from"./p-b5c33aff.js";import{c as e,a as r}from"./p-69a3e911.js";var a=e((function(t){(function(i,s){if(t.exports){t.exports=s()}else{i.EvEmitter=s()}})(typeof window!="undefined"?window:r,(function(){function t(){}var i=t.prototype;i.on=function(t,i){if(!t||!i){return}var s=this._events=this._events||{};var n=s[t]=s[t]||[];if(n.indexOf(i)==-1){n.push(i)}return this};i.once=function(t,i){if(!t||!i){return}this.on(t,i);var s=this._onceEvents=this._onceEvents||{};var n=s[t]=s[t]||{};n[i]=true;return this};i.off=function(t,i){var s=this._events&&this._events[t];if(!s||!s.length){return}var n=s.indexOf(i);if(n!=-1){s.splice(n,1)}return this};i.emitEvent=function(t,i){var s=this._events&&this._events[t];if(!s||!s.length){return}s=s.slice(0);i=i||[];var n=this._onceEvents&&this._onceEvents[t];for(var h=0;h<s.length;h++){var e=s[h];var r=n&&n[e];if(r){this.off(t,e);delete n[e]}e.apply(this,i)}return this};i.allOff=function(){delete this._events;delete this._onceEvents};return t}))}));var o=e((function(t){
5
+ /*!
6
+ * getSize v2.0.3
7
+ * measure size of elements
8
+ * MIT license
9
+ */
10
+ (function(i,s){if(t.exports){t.exports=s()}else{i.getSize=s()}})(window,(function t(){function i(t){var i=parseFloat(t);var s=t.indexOf("%")==-1&&!isNaN(i);return s&&i}function s(){}var n=typeof console=="undefined"?s:function(t){console.error(t)};var h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];var e=h.length;function r(){var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0};for(var i=0;i<e;i++){var s=h[i];t[s]=0}return t}function a(t){var i=getComputedStyle(t);if(!i){n("Style returned "+i+". Are you running this code in a hidden iframe on Firefox? "+"See https://bit.ly/getsizebug1")}return i}var o=false;var f;function u(){if(o){return}o=true;var t=document.createElement("div");t.style.width="200px";t.style.padding="1px 2px 3px 4px";t.style.borderStyle="solid";t.style.borderWidth="1px 2px 3px 4px";t.style.boxSizing="border-box";var s=document.body||document.documentElement;s.appendChild(t);var n=a(t);f=Math.round(i(n.width))==200;c.isBoxSizeOuter=f;s.removeChild(t)}function c(t){u();if(typeof t=="string"){t=document.querySelector(t)}if(!t||typeof t!="object"||!t.nodeType){return}var s=a(t);if(s.display=="none"){return r()}var n={};n.width=t.offsetWidth;n.height=t.offsetHeight;var o=n.isBorderBox=s.boxSizing=="border-box";for(var c=0;c<e;c++){var l=h[c];var v=s[l];var d=parseFloat(v);n[l]=!isNaN(d)?d:0}var p=n.paddingLeft+n.paddingRight;var y=n.paddingTop+n.paddingBottom;var g=n.marginLeft+n.marginRight;var b=n.marginTop+n.marginBottom;var w=n.borderLeftWidth+n.borderRightWidth;var m=n.borderTopWidth+n.borderBottomWidth;var k=o&&f;var x=i(s.width);if(x!==false){n.width=x+(k?0:p+w)}var M=i(s.height);if(M!==false){n.height=M+(k?0:y+m)}n.innerWidth=n.width-(p+w);n.innerHeight=n.height-(y+m);n.outerWidth=n.width+g;n.outerHeight=n.height+b;return n}return c}))}));var f=e((function(t){(function(i,s){if(t.exports){t.exports=s()}else{i.matchesSelector=s()}})(window,(function t(){var i=function(){var t=window.Element.prototype;if(t.matches){return"matches"}if(t.matchesSelector){return"matchesSelector"}var i=["webkit","moz","ms","o"];for(var s=0;s<i.length;s++){var n=i[s];var h=n+"MatchesSelector";if(t[h]){return h}}}();return function t(s,n){return s[i](n)}}))}));var u=e((function(t){(function(i,s){if(t.exports){t.exports=s(i,f)}else{i.fizzyUIUtils=s(i,i.matchesSelector)}})(window,(function t(i,s){var n={};n.extend=function(t,i){for(var s in i){t[s]=i[s]}return t};n.modulo=function(t,i){return(t%i+i)%i};var h=Array.prototype.slice;n.makeArray=function(t){if(Array.isArray(t)){return t}if(t===null||t===undefined){return[]}var i=typeof t=="object"&&typeof t.length=="number";if(i){return h.call(t)}return[t]};n.removeFrom=function(t,i){var s=t.indexOf(i);if(s!=-1){t.splice(s,1)}};n.getParent=function(t,i){while(t.parentNode&&t!=document.body){t=t.parentNode;if(s(t,i)){return t}}};n.getQueryElement=function(t){if(typeof t=="string"){return document.querySelector(t)}return t};n.handleEvent=function(t){var i="on"+t.type;if(this[i]){this[i](t)}};n.filterFindElements=function(t,i){t=n.makeArray(t);var h=[];t.forEach((function(t){if(!(t instanceof HTMLElement)){return}if(!i){h.push(t);return}if(s(t,i)){h.push(t)}var n=t.querySelectorAll(i);for(var e=0;e<n.length;e++){h.push(n[e])}}));return h};n.debounceMethod=function(t,i,s){s=s||100;var n=t.prototype[i];var h=i+"Timeout";t.prototype[i]=function(){var t=this[h];clearTimeout(t);var i=arguments;var e=this;this[h]=setTimeout((function(){n.apply(e,i);delete e[h]}),s)}};n.docReady=function(t){var i=document.readyState;if(i=="complete"||i=="interactive"){setTimeout(t)}else{document.addEventListener("DOMContentLoaded",t)}};n.toDashed=function(t){return t.replace(/(.)([A-Z])/g,(function(t,i,s){return i+"-"+s})).toLowerCase()};var e=i.console;n.htmlInit=function(t,s){n.docReady((function(){var h=n.toDashed(s);var r="data-"+h;var a=document.querySelectorAll("["+r+"]");var o=document.querySelectorAll(".js-"+h);var f=n.makeArray(a).concat(n.makeArray(o));var u=r+"-options";var c=i.jQuery;f.forEach((function(i){var n=i.getAttribute(r)||i.getAttribute(u);var h;try{h=n&&JSON.parse(n)}catch(o){if(e){e.error("Error parsing "+r+" on "+i.className+": "+o)}return}var a=new t(i,h);if(c){c.data(i,s,a)}}))}))};return n}))}));function c(t,i){this.element=t;this.parent=i;this.create()}var l=c.prototype;l.create=function(){this.element.style.position="absolute";this.element.setAttribute("aria-hidden","true");this.x=0;this.shift=0;Array.from(this.element.querySelectorAll("*")).forEach((t=>{t.setAttribute("tabindex","-1")}))};l.destroy=function(){this.unselect();this.element.style.position="";var t=this.parent.originSide;this.element.style[t]=""};l.getSize=function(){this.size=o(this.element)};l.setPosition=function(t){this.x=t;this.updateTarget();this.renderPosition(t)};l.updateTarget=l.setDefaultTarget=function(){var t=this.parent.originSide=="left"?"marginLeft":"marginRight";this.target=this.x+this.size[t]+this.size.width*this.parent.cellAlign};l.renderPosition=function(t){var i=this.parent.originSide;this.element.style[i]=this.parent.getPositionValue(t)};l.select=function(){this.element.classList.add("is-selected");this.element.removeAttribute("aria-hidden");Array.from(this.element.querySelectorAll("*")).forEach((t=>{t.removeAttribute("tabindex")}))};l.unselect=function(){this.element.classList.remove("is-selected");this.element.setAttribute("aria-hidden","true");Array.from(this.element.querySelectorAll("*")).forEach((t=>{t.setAttribute("tabindex","-1")}))};l.wrapShift=function(t){this.shift=t;this.renderPosition(this.x+this.parent.slideableWidth*t)};l.remove=function(){this.element.parentNode.removeChild(this.element)};function v(t){this.parent=t;this.isOriginLeft=t.originSide=="left";this.cells=[];this.outerWidth=0;this.height=0}var d=v.prototype;d.addCell=function(t){this.cells.push(t);this.outerWidth+=t.size.outerWidth;this.height=Math.max(t.size.outerHeight,this.height);if(this.cells.length==1){this.x=t.x;var i=this.isOriginLeft?"marginLeft":"marginRight";this.firstMargin=t.size[i]}};d.updateTarget=function(){var t=this.isOriginLeft?"marginRight":"marginLeft";var i=this.getLastCell();var s=i?i.size[t]:0;var n=this.outerWidth-(this.firstMargin+s);this.target=this.x+this.firstMargin+n*this.parent.cellAlign};d.getLastCell=function(){return this.cells[this.cells.length-1]};d.select=function(){this.cells.forEach((function(t){t.select()}))};d.unselect=function(){this.cells.forEach((function(t){t.unselect()}))};d.getCellElements=function(){return this.cells.map((function(t){return t.element}))};const p={};p.startAnimation=function(){if(this.isAnimating){return}this.isAnimating=true;this.restingFrames=0;this.animate()};p.animate=function(){this.applyDragForce();this.applySelectedAttraction();var t=this.x;this.integratePhysics();this.positionSlider();this.settle(t);if(this.isAnimating){var i=this;requestAnimationFrame((function t(){i.animate()}))}};p.positionSlider=function(){var t=this.x;if(this.options.wrapAround&&this.cells.length>1){t=u.modulo(t,this.slideableWidth);t=t-this.slideableWidth;this.shiftWrapCells(t)}this.setTranslateX(t,this.isAnimating);this.dispatchScrollEvent()};p.setTranslateX=function(t,i){t+=this.cursorPosition;t=this.options.rightToLeft?-t:t;var s=this.getPositionValue(t);this.slider.style.transform=i?"translate3d("+s+",0,0)":"translateX("+s+")"};p.dispatchScrollEvent=function(){var t=this.slides[0];if(!t){return}var i=-this.x-t.target;var s=i/this.slidesWidth;this.dispatchEvent("scroll",null,[s,i])};p.positionSliderAtSelected=function(){if(!this.cells.length){return}this.x=-this.selectedSlide.target;this.velocity=0;this.positionSlider()};p.getPositionValue=function(t){if(this.options.percentPosition){return Math.round(t/this.size.innerWidth*1e4)*.01+"%"}else{return Math.round(t)+"px"}};p.settle=function(t){if(!this.isPointerDown&&Math.round(this.x*100)==Math.round(t*100)){this.restingFrames++}if(this.restingFrames>2){this.isAnimating=false;delete this.isFreeScrolling;this.positionSlider();this.dispatchEvent("settle",null,[this.selectedIndex])}};p.shiftWrapCells=function(t){var i=this.cursorPosition+t;this._shiftCells(this.beforeShiftCells,i,-1);var s=this.size.innerWidth-(t+this.slideableWidth+this.cursorPosition);this._shiftCells(this.afterShiftCells,s,1)};p._shiftCells=function(t,i,s){for(var n=0;n<t.length;n++){var h=t[n];var e=i>0?s:0;h.wrapShift(e);i-=h.size.outerWidth}};p._unshiftCells=function(t){if(!t||!t.length){return}for(var i=0;i<t.length;i++){t[i].wrapShift(0)}};p.integratePhysics=function(){this.x+=this.velocity;this.velocity*=this.getFrictionFactor()};p.applyForce=function(t){this.velocity+=t};p.getFrictionFactor=function(){return 1-this.options[this.isFreeScrolling?"freeScrollFriction":"friction"]};p.getRestingPosition=function(){return this.x+this.velocity/(1-this.getFrictionFactor())};p.applyDragForce=function(){if(!this.isDraggable||!this.isPointerDown){return}var t=this.dragX-this.x;var i=t-this.velocity;this.applyForce(i)};p.applySelectedAttraction=function(){var t=this.isDraggable&&this.isPointerDown;if(t||this.isFreeScrolling||!this.slides.length){return}var i=this.selectedSlide.target*-1-this.x;var s=i*this.options.selectedAttraction;this.applyForce(s)};var y=window.getComputedStyle;var g=window.console;function b(t,i){t=u.makeArray(t);while(t.length){i.appendChild(t.shift())}}var w=0;var m={};function k(t,i){var s=u.getQueryElement(t);if(!s){if(g){g.error("Bad element for Flickity: "+(s||t))}return}this.element=s;if(this.element.flickityGUID){var n=m[this.element.flickityGUID];if(!m[this.element.flickityGUID])return;n.option(i);return n}this.options=u.extend({},this.constructor.defaults);this.option(i);this._create()}k.defaults={accessibility:true,cellAlign:"center",freeScrollFriction:.075,friction:.28,namespaceJQueryEvents:true,percentPosition:true,resize:true,selectedAttraction:.025,setGallerySize:true};k.createMethods=[];var x=k.prototype;u.extend(x,a.prototype);x._create=function(){var t=this.guid=++w;this.element.flickityGUID=t;m[t]=this;this.selectedIndex=0;this.restingFrames=0;this.x=0;this.velocity=0;this.originSide=this.options.rightToLeft?"right":"left";this.viewport=document.createElement("div");this.viewport.className="flickity-viewport";this._createSlider();if(this.options.resize||this.options.watchCSS){window.addEventListener("resize",this)}for(var i in this.options.on){var s=this.options.on[i];this.on(i,s)}k.createMethods.forEach((function(t){this[t]()}),this);if(this.options.watchCSS){this.watchCSS()}else{this.activate()}};x.option=function(t){u.extend(this.options,t)};x.activate=function(){if(this.isActive){return}this.isActive=true;this.element.classList.add("flickity-enabled");if(this.options.rightToLeft){this.element.classList.add("flickity-rtl")}this.getSize();var t=this.element.children;b(t,this.slider);this.viewport.appendChild(this.slider);this.element.appendChild(this.viewport);this.reloadCells();if(this.options.accessibility){this.element.tabIndex=0;this.element.addEventListener("keydown",this)}this.emitEvent("activate");this.selectInitialIndex();this.isInitActivated=true;this.dispatchEvent("ready")};x._createSlider=function(){var t=document.createElement("div");t.className="flickity-slider";t.style[this.originSide]=0;this.slider=t};x._filterFindCellElements=function(t){return u.filterFindElements(t,this.options.cellSelector)};x.reloadCells=function(){this.cells=this._makeCells(this.slider.getRootNode().host?this.slider.getRootNode().host.children:this.slider.children);this.positionCells();this._getWrapShiftCells();this.setGallerySize()};x._makeCells=function(t){var i=this._filterFindCellElements(t);var s=i.map((function(t){return new c(t,this)}),this);return s};x.getLastCell=function(){return this.cells[this.cells.length-1]};x.getLastSlide=function(){return this.slides[this.slides.length-1]};x.positionCells=function(){this._sizeCells(this.cells);this._positionCells(0)};x._positionCells=function(t){t=t||0;this.maxCellHeight=t?this.maxCellHeight||0:0;var i=0;if(t>0){var s=this.cells[t-1];i=s.x+s.size.outerWidth}var n=this.cells.length;for(var h=t;h<n;h++){var e=this.cells[h];e.setPosition(i);i+=e.size.outerWidth;this.maxCellHeight=Math.max(e.size.outerHeight,this.maxCellHeight)}this.slideableWidth=i;this.updateSlides();this._containSlides();this.slidesWidth=n?this.getLastSlide().target-this.slides[0].target:0};x._sizeCells=function(t){t.forEach((function(t){t.getSize()}))};x.updateSlides=function(){this.slides=[];if(!this.cells.length){return}var t=new v(this);this.slides.push(t);var i=this.originSide=="left";var s=i?"marginRight":"marginLeft";var n=this._getCanCellFit();this.cells.forEach((function(i,h){if(!t.cells.length){t.addCell(i);return}var e=t.outerWidth-t.firstMargin+(i.size.outerWidth-i.size[s]);if(n.call(this,h,e)){t.addCell(i)}else{t.updateTarget();t=new v(this);this.slides.push(t);t.addCell(i)}}),this);t.updateTarget();this.updateSelectedSlide()};x._getCanCellFit=function(){var t=this.options.groupCells;if(!t){return function(){return false}}else if(typeof t=="number"){var i=parseInt(t,10);return function(t){return t%i!==0}}var s=typeof t=="string"&&t.match(/^(\d+)%$/);var n=s?parseInt(s[1],10)/100:1;return function(t,i){return i<=(this.size.innerWidth+1)*n}};x._init=x.reposition=function(){this.positionCells();this.positionSliderAtSelected()};x.getSize=function(){this.size=o(this.element);this.setCellAlign();this.cursorPosition=this.size.innerWidth*this.cellAlign};var M={center:{left:.5,right:.5},left:{left:0,right:1},right:{right:0,left:1}};x.setCellAlign=function(){var t=M[this.options.cellAlign];this.cellAlign=t?t[this.originSide]:this.options.cellAlign};x.setGallerySize=function(){if(this.options.setGallerySize){var t=this.options.adaptiveHeight&&this.selectedSlide?this.selectedSlide.height:this.maxCellHeight;this.viewport.style.height=t+"px"}};x._getWrapShiftCells=function(){if(!this.options.wrapAround){return}this._unshiftCells(this.beforeShiftCells);this._unshiftCells(this.afterShiftCells);var t=this.cursorPosition;var i=this.cells.length-1;this.beforeShiftCells=this._getGapCells(t,i,-1);t=this.size.innerWidth-this.cursorPosition;this.afterShiftCells=this._getGapCells(t,0,1)};x._getGapCells=function(t,i,s){var n=[];while(t>0){var h=this.cells[i];if(!h){break}n.push(h);i+=s;t-=h.size.outerWidth}return n};x._containSlides=function(){if(!this.options.contain||this.options.wrapAround||!this.cells.length){return}var t=this.options.rightToLeft;var i=t?"marginRight":"marginLeft";var s=t?"marginLeft":"marginRight";var n=this.slideableWidth-this.getLastCell().size[s];var h=n<this.size.innerWidth;var e=this.cursorPosition+this.cells[0].size[i];var r=n-this.size.innerWidth*(1-this.cellAlign);this.slides.forEach((function(t){if(h){t.target=n*this.cellAlign}else{t.target=Math.max(t.target,e);t.target=Math.min(t.target,r)}}),this)};x.dispatchEvent=function(t,i,s){var n=i?[i].concat(s):s;this.emitEvent(t,n)};x.select=function(t,i,s){if(!this.isActive){return}t=parseInt(t,10);this._wrapSelect(t);if(this.options.wrapAround||i){t=u.modulo(t,this.slides.length)}if(!this.slides[t]){return}var n=this.selectedIndex;this.selectedIndex=t;this.updateSelectedSlide();if(s){this.positionSliderAtSelected()}else{this.startAnimation()}if(this.options.adaptiveHeight){this.setGallerySize()}this.dispatchEvent("select",null,[t]);if(t!=n){this.dispatchEvent("change",null,[t])}this.dispatchEvent("cellSelect")};x._wrapSelect=function(t){var i=this.slides.length;var s=this.options.wrapAround&&i>1;if(!s){return t}var n=u.modulo(t,i);var h=Math.abs(n-this.selectedIndex);var e=Math.abs(n+i-this.selectedIndex);var r=Math.abs(n-i-this.selectedIndex);if(!this.isDragSelect&&e<h){t+=i}else if(!this.isDragSelect&&r<h){t-=i}if(t<0){this.x-=this.slideableWidth}else if(t>=i){this.x+=this.slideableWidth}};x.previous=function(t,i){this.select(this.selectedIndex-1,t,i)};x.next=function(t,i){this.select(this.selectedIndex+1,t,i)};x.updateSelectedSlide=function(){var t=this.slides[this.selectedIndex];if(!t){return}this.unselectSelectedSlide();this.selectedSlide=t;t.select();this.selectedCells=t.cells;this.selectedElements=t.getCellElements();this.selectedCell=t.cells[0];this.selectedElement=this.selectedElements[0]};x.unselectSelectedSlide=function(){if(this.selectedSlide){this.selectedSlide.unselect()}};x.selectInitialIndex=function(){var t=this.options.initialIndex;if(this.isInitActivated){this.select(this.selectedIndex,false,true);return}if(t&&typeof t=="string"){var i=this.queryCell(t);if(i){this.selectCell(t,false,true);return}}var s=0;if(t&&this.slides[t]){s=t}this.select(s,false,true)};x.selectCell=function(t,i,s){var n=this.queryCell(t);if(!n){return}var h=this.getCellSlideIndex(n);this.select(h,i,s)};x.getCellSlideIndex=function(t){for(var i=0;i<this.slides.length;i++){var s=this.slides[i];var n=s.cells.indexOf(t);if(n!=-1){return i}}};x.getCell=function(t){for(var i=0;i<this.cells.length;i++){var s=this.cells[i];if(s.element==t){return s}}};x.getCells=function(t){t=u.makeArray(t);var i=[];t.forEach((function(t){var s=this.getCell(t);if(s){i.push(s)}}),this);return i};x.getCellElements=function(){return this.cells.map((function(t){return t.element}))};x.getParentCell=function(t){var i=this.getCell(t);if(i){return i}t=u.getParent(t,".flickity-slider > *");return this.getCell(t)};x.getAdjacentCellElements=function(t,i){if(!t){return this.selectedSlide.getCellElements()}i=i===undefined?this.selectedIndex:i;var s=this.slides.length;if(1+t*2>=s){return this.getCellElements()}var n=[];for(var h=i-t;h<=i+t;h++){var e=this.options.wrapAround?u.modulo(h,s):h;var r=this.slides[e];if(r){n=n.concat(r.getCellElements())}}return n};x.queryCell=function(t){if(typeof t=="number"){return this.cells[t]}if(typeof t=="string"){if(t.match(/^[#\.]?[\d\/]/)){return}t=this.element.querySelector(t)}return this.getCell(t)};x.uiChange=function(){this.emitEvent("uiChange")};x.childUIPointerDown=function(t){if(t.type!="touchstart"){t.preventDefault()}this.focus()};x.onresize=function(){this.watchCSS();this.resize()};u.debounceMethod(k,"onresize",150);x.resize=function(){if(!this.isActive){return}this.getSize();if(this.options.wrapAround){this.x=u.modulo(this.x,this.slideableWidth)}this.positionCells();this._getWrapShiftCells();this.setGallerySize();this.emitEvent("resize");var t=this.selectedElements&&this.selectedElements[0];this.selectCell(t,false,true)};x.watchCSS=function(){var t=this.options.watchCSS;if(!t){return}var i=y(this.element,":after").content;if(i.indexOf("flickity")!=-1){this.activate()}else{this.deactivate()}};x.onkeydown=function(t){var i=document.activeElement&&document.activeElement!=this.element;if(!this.options.accessibility||i){return}var s=k.keyboardHandlers[t.keyCode];if(s){s.call(this)}};k.keyboardHandlers={37:function(){var t=this.options.rightToLeft?"next":"previous";this.uiChange();this[t]()},39:function(){var t=this.options.rightToLeft?"previous":"next";this.uiChange();this[t]()}};x.focus=function(){var t=window.pageYOffset;this.element.focus({preventScroll:true});if(window.pageYOffset!=t){window.scrollTo(window.pageXOffset,t)}};x.deactivate=function(){if(!this.isActive){return}this.element.classList.remove("flickity-enabled");this.element.classList.remove("flickity-rtl");this.unselectSelectedSlide();this.cells.forEach((function(t){t.destroy()}));this.element.removeChild(this.viewport);b(this.slider.children,this.element);if(this.options.accessibility){this.element.removeAttribute("tabIndex");this.element.removeEventListener("keydown",this)}this.isActive=false;this.emitEvent("deactivate")};x.destroy=function(){this.deactivate();window.removeEventListener("resize",this);this.allOff();this.emitEvent("destroy");delete this.element.flickityGUID;delete m[this.guid]};u.extend(x,p);k.data=function(t){t=u.getQueryElement(t);var i=t&&t.flickityGUID;return i&&m[i]};u.htmlInit(k,"flickity");k.Cell=c;k.Slide=v;var C=e((function(t){
11
+ /*!
12
+ * Unipointer v2.4.0
13
+ * base class for doing one thing with pointer event
14
+ * MIT license
15
+ */
16
+ (function(i,s){if(t.exports){t.exports=s(i,a)}else{i.Unipointer=s(i,i.EvEmitter)}})(window,(function t(i,s){function n(){}function h(){}var e=h.prototype=Object.create(s.prototype);e.bindStartEvent=function(t){this._bindStartEvent(t,true)};e.unbindStartEvent=function(t){this._bindStartEvent(t,false)};e._bindStartEvent=function(t,s){s=s===undefined?true:s;var n=s?"addEventListener":"removeEventListener";var h="mousedown";if("ontouchstart"in i){h="touchstart"}else if(i.PointerEvent){h="pointerdown"}t[n](h,this)};e.handleEvent=function(t){var i="on"+t.type;if(this[i]){this[i](t)}};e.getTouch=function(t){for(var i=0;i<t.length;i++){var s=t[i];if(s.identifier==this.pointerIdentifier){return s}}};e.onmousedown=function(t){var i=t.button;if(i&&(i!==0&&i!==1)){return}this._pointerDown(t,t)};e.ontouchstart=function(t){this._pointerDown(t,t.changedTouches[0])};e.onpointerdown=function(t){this._pointerDown(t,t)};e._pointerDown=function(t,i){if(t.button||this.isPointerDown){return}this.isPointerDown=true;this.pointerIdentifier=i.pointerId!==undefined?i.pointerId:i.identifier;this.pointerDown(t,i)};e.pointerDown=function(t,i){this._bindPostStartEvents(t);this.emitEvent("pointerDown",[t,i])};var r={mousedown:["mousemove","mouseup"],touchstart:["touchmove","touchend","touchcancel"],pointerdown:["pointermove","pointerup","pointercancel"]};e._bindPostStartEvents=function(t){if(!t){return}var s=r[t.type];s.forEach((function(t){i.addEventListener(t,this)}),this);this._boundPointerEvents=s};e._unbindPostStartEvents=function(){if(!this._boundPointerEvents){return}this._boundPointerEvents.forEach((function(t){i.removeEventListener(t,this)}),this);delete this._boundPointerEvents};e.onmousemove=function(t){this._pointerMove(t,t)};e.onpointermove=function(t){if(t.pointerId==this.pointerIdentifier){this._pointerMove(t,t)}};e.ontouchmove=function(t){var i=this.getTouch(t.changedTouches);if(i){this._pointerMove(t,i)}};e._pointerMove=function(t,i){this.pointerMove(t,i)};e.pointerMove=function(t,i){this.emitEvent("pointerMove",[t,i])};e.onmouseup=function(t){this._pointerUp(t,t)};e.onpointerup=function(t){if(t.pointerId==this.pointerIdentifier){this._pointerUp(t,t)}};e.ontouchend=function(t){var i=this.getTouch(t.changedTouches);if(i){this._pointerUp(t,i)}};e._pointerUp=function(t,i){this._pointerDone();this.pointerUp(t,i)};e.pointerUp=function(t,i){this.emitEvent("pointerUp",[t,i])};e._pointerDone=function(){this._pointerReset();this._unbindPostStartEvents();this.pointerDone()};e._pointerReset=function(){this.isPointerDown=false;delete this.pointerIdentifier};e.pointerDone=n;e.onpointercancel=function(t){if(t.pointerId==this.pointerIdentifier){this._pointerCancel(t,t)}};e.ontouchcancel=function(t){var i=this.getTouch(t.changedTouches);if(i){this._pointerCancel(t,i)}};e._pointerCancel=function(t,i){this._pointerDone();this.pointerCancel(t,i)};e.pointerCancel=function(t,i){this.emitEvent("pointerCancel",[t,i])};h.getPointerPoint=function(t){return{x:t.pageX,y:t.pageY}};return h}))}));var S=e((function(t){
17
+ /*!
18
+ * Unidragger v2.4.0
19
+ * Draggable base class
20
+ * MIT license
21
+ */
22
+ (function(i,s){if(t.exports){t.exports=s(i,C)}else{i.Unidragger=s(i,i.Unipointer)}})(window,(function t(i,s){function n(){}var h=n.prototype=Object.create(s.prototype);h.bindHandles=function(){this._bindHandles(true)};h.unbindHandles=function(){this._bindHandles(false)};h._bindHandles=function(t){t=t===undefined?true:t;var s=t?"addEventListener":"removeEventListener";var n=t?this._touchActionValue:"";for(var h=0;h<this.handles.length;h++){var e=this.handles[h];this._bindStartEvent(e,t);e[s]("click",this);if(i.PointerEvent){e.style.touchAction=n}}};h._touchActionValue="none";h.pointerDown=function(t,i){var s=this.okayPointerDown(t);if(!s){return}this.pointerDownPointer={pageX:i.pageX,pageY:i.pageY};t.preventDefault();this.pointerDownBlur();this._bindPostStartEvents(t);this.emitEvent("pointerDown",[t,i])};var e={TEXTAREA:true,INPUT:true,SELECT:true,OPTION:true};var r={radio:true,checkbox:true,button:true,submit:true,image:true,file:true};h.okayPointerDown=function(t){var i=e[t.target.nodeName];var s=r[t.target.type];var n=!i||s;if(!n){this._pointerReset()}return n};h.pointerDownBlur=function(){var t=document.activeElement;var i=t&&t.blur&&t!=document.body;if(i){t.blur()}};h.pointerMove=function(t,i){var s=this._dragPointerMove(t,i);this.emitEvent("pointerMove",[t,i,s]);this._dragMove(t,i,s)};h._dragPointerMove=function(t,i){var s={x:i.pageX-this.pointerDownPointer.pageX,y:i.pageY-this.pointerDownPointer.pageY};if(!this.isDragging&&this.hasDragStarted(s)){this._dragStart(t,i)}return s};h.hasDragStarted=function(t){return Math.abs(t.x)>3||Math.abs(t.y)>3};h.pointerUp=function(t,i){this.emitEvent("pointerUp",[t,i]);this._dragPointerUp(t,i)};h._dragPointerUp=function(t,i){if(this.isDragging){this._dragEnd(t,i)}else{this._staticClick(t,i)}};h._dragStart=function(t,i){this.isDragging=true;this.isPreventingClicks=true;this.dragStart(t,i)};h.dragStart=function(t,i){this.emitEvent("dragStart",[t,i])};h._dragMove=function(t,i,s){if(!this.isDragging){return}this.dragMove(t,i,s)};h.dragMove=function(t,i,s){t.preventDefault();this.emitEvent("dragMove",[t,i,s])};h._dragEnd=function(t,i){this.isDragging=false;setTimeout(function(){delete this.isPreventingClicks}.bind(this));this.dragEnd(t,i)};h.dragEnd=function(t,i){this.emitEvent("dragEnd",[t,i])};h.onclick=function(t){if(this.isPreventingClicks){t.preventDefault()}};h._staticClick=function(t,i){if(this.isIgnoringMouseUp&&t.type=="mouseup"){return}this.staticClick(t,i);if(t.type!="mouseup"){this.isIgnoringMouseUp=true;setTimeout(function(){delete this.isIgnoringMouseUp}.bind(this),400)}};h.staticClick=function(t,i){this.emitEvent("staticClick",[t,i])};n.getPointerPoint=s.getPointerPoint;return n}))}));u.extend(k.defaults,{draggable:">1",dragThreshold:3});k.createMethods.push("_createDrag");var z=k.prototype;u.extend(z,S.prototype);z._touchActionValue="pan-y";var L="createTouch"in document;var T=false;z._createDrag=function(){this.on("activate",this.onActivateDrag);this.on("uiChange",this._uiChangeDrag);this.on("deactivate",this.onDeactivateDrag);this.on("cellChange",this.updateDraggable);if(L&&!T){window.addEventListener("touchmove",(function(){}));T=true}};z.onActivateDrag=function(){this.handles=[this.viewport];this.bindHandles();this.updateDraggable()};z.onDeactivateDrag=function(){this.unbindHandles();this.element.classList.remove("is-draggable")};z.updateDraggable=function(){if(this.options.draggable==">1"){this.isDraggable=this.slides.length>1}else{this.isDraggable=this.options.draggable}if(this.isDraggable){this.element.classList.add("is-draggable")}else{this.element.classList.remove("is-draggable")}};z.bindDrag=function(){this.options.draggable=true;this.updateDraggable()};z.unbindDrag=function(){this.options.draggable=false;this.updateDraggable()};z._uiChangeDrag=function(){delete this.isFreeScrolling};z.pointerDown=function(t,i){if(!this.isDraggable){this._pointerDownDefault(t,i);return}var s=this.okayPointerDown(t);if(!s){return}this._pointerDownPreventDefault(t);this.pointerDownFocus(t);if(document.activeElement!=this.element){this.pointerDownBlur()}this.dragX=this.x;this.viewport.classList.add("is-pointer-down");this.pointerDownScroll=A();window.addEventListener("scroll",this);this._pointerDownDefault(t,i)};z._pointerDownDefault=function(t,i){this.pointerDownPointer={pageX:i.pageX,pageY:i.pageY};this._bindPostStartEvents(t);this.dispatchEvent("pointerDown",t,[i])};var P={INPUT:true,TEXTAREA:true,SELECT:true};z.pointerDownFocus=function(t){var i=P[t.target.nodeName];if(!i){this.focus()}};z._pointerDownPreventDefault=function(t){var i=t.type=="touchstart";var s=t.pointerType=="touch";var n=P[t.target.nodeName];if(!i&&!s&&!n){t.preventDefault()}};z.hasDragStarted=function(t){return Math.abs(t.x)>this.options.dragThreshold};z.pointerUp=function(t,i){delete this.isTouchScrolling;this.viewport.classList.remove("is-pointer-down");this.dispatchEvent("pointerUp",t,[i]);this._dragPointerUp(t,i)};z.pointerDone=function(){window.removeEventListener("scroll",this);delete this.pointerDownScroll};z.dragStart=function(t,i){if(!this.isDraggable){return}this.dragStartPosition=this.x;this.startAnimation();window.removeEventListener("scroll",this);this.dispatchEvent("dragStart",t,[i])};z.pointerMove=function(t,i){var s=this._dragPointerMove(t,i);this.dispatchEvent("pointerMove",t,[i,s]);this._dragMove(t,i,s)};z.dragMove=function(t,i,s){if(!this.isDraggable){return}t.preventDefault();this.previousDragX=this.dragX;var n=this.options.rightToLeft?-1:1;if(this.options.wrapAround){s.x=s.x%this.slideableWidth}var h=this.dragStartPosition+s.x*n;if(!this.options.wrapAround&&this.slides.length){var e=Math.max(-this.slides[0].target,this.dragStartPosition);h=h>e?(h+e)*.5:h;var r=Math.min(-this.getLastSlide().target,this.dragStartPosition);h=h<r?(h+r)*.5:h}this.dragX=h;this.dragMoveTime=new Date;this.dispatchEvent("dragMove",t,[i,s])};z.dragEnd=function(t,i){if(!this.isDraggable){return}if(this.options.freeScroll){this.isFreeScrolling=true}var s=this.dragEndRestingSelect();if(this.options.freeScroll&&!this.options.wrapAround){var n=this.getRestingPosition();this.isFreeScrolling=-n>this.slides[0].target&&-n<this.getLastSlide().target}else if(!this.options.freeScroll&&s==this.selectedIndex){s+=this.dragEndBoostSelect()}delete this.previousDragX;this.isDragSelect=this.options.wrapAround;this.select(s);delete this.isDragSelect;this.dispatchEvent("dragEnd",t,[i])};z.dragEndRestingSelect=function(){var t=this.getRestingPosition();var i=Math.abs(this.getSlideDistance(-t,this.selectedIndex));var s=this._getClosestResting(t,i,1);var n=this._getClosestResting(t,i,-1);var h=s.distance<n.distance?s.index:n.index;return h};z._getClosestResting=function(t,i,s){var n=this.selectedIndex;var h=Infinity;var e=this.options.contain&&!this.options.wrapAround?function(t,i){return t<=i}:function(t,i){return t<i};while(e(i,h)){n+=s;h=i;i=this.getSlideDistance(-t,n);if(i===null){break}i=Math.abs(i)}return{distance:h,index:n-s}};z.getSlideDistance=function(t,i){var s=this.slides.length;var n=this.options.wrapAround&&s>1;var h=n?u.modulo(i,s):i;var e=this.slides[h];if(!e){return null}var r=n?this.slideableWidth*Math.floor(i/s):0;return t-(e.target+r)};z.dragEndBoostSelect=function(){if(this.previousDragX===undefined||!this.dragMoveTime||new Date-this.dragMoveTime>100){return 0}var t=this.getSlideDistance(-this.dragX,this.selectedIndex);var i=this.previousDragX-this.dragX;if(t>0&&i>0){return 1}else if(t<0&&i<0){return-1}return 0};z.staticClick=function(t,i){var s=this.getParentCell(t.target);var n=s&&s.element;var h=s&&this.cells.indexOf(s);this.dispatchEvent("staticClick",t,[i,n,h])};z.onscroll=function(){var t=A();var i=this.pointerDownScroll.x-t.x;var s=this.pointerDownScroll.y-t.y;if(Math.abs(i)>3||Math.abs(s)>3){this._pointerDone()}};function A(){return{x:window.pageXOffset,y:window.pageYOffset}}var E="http://www.w3.org/2000/svg";function O(t,i){this.direction=t;this.parent=i;this.parentElement=this.parent.element.shadowRoot||this.parent.element;this._create()}O.prototype=Object.create(C.prototype);O.prototype._create=function(){this.isEnabled=true;this.isPrevious=this.direction==-1;var t=this.parent.options.rightToLeft?1:-1;this.isLeft=this.direction==t;var i=this.element=document.createElement("button");i.className="flickity-button flickity-prev-next-button";i.className+=this.isPrevious?" previous":" next";i.setAttribute("type","button");this.disable();i.setAttribute("aria-label",this.isPrevious?"Previous":"Next");var s=this.createSVG();i.appendChild(s);this.parent.on("select",this.update.bind(this));this.on("pointerDown",this.parent.childUIPointerDown.bind(this.parent))};O.prototype.activate=function(){this.bindStartEvent(this.element);this.element.addEventListener("click",this);this.parentElement.appendChild(this.element)};O.prototype.deactivate=function(){this.parentElement.removeChild(this.element);this.unbindStartEvent(this.element);this.element.removeEventListener("click",this)};O.prototype.createSVG=function(){var t=document.createElementNS(E,"svg");t.setAttribute("class","flickity-button-icon");t.setAttribute("viewBox","0 0 100 100");var i=document.createElementNS(E,"path");var s=D(this.parent.options.arrowShape);i.setAttribute("d",s);i.setAttribute("class","arrow");if(!this.isLeft){i.setAttribute("transform","translate(100, 100) rotate(180) ")}t.appendChild(i);return t};function D(t){if(typeof t=="string"){return t}return"M "+t.x0+",50"+" L "+t.x1+","+(t.y1+50)+" L "+t.x2+","+(t.y2+50)+" L "+t.x3+",50 "+" L "+t.x2+","+(50-t.y2)+" L "+t.x1+","+(50-t.y1)+" Z"}O.prototype.handleEvent=u.handleEvent;O.prototype.onclick=function(){if(!this.isEnabled){return}this.parent.uiChange();var t=this.isPrevious?"previous":"next";this.parent[t]()};O.prototype.enable=function(){if(this.isEnabled){return}this.element.disabled=false;this.isEnabled=true};O.prototype.disable=function(){if(!this.isEnabled){return}this.element.disabled=true;this.isEnabled=false};O.prototype.update=function(){var t=this.parent.slides;if(this.parent.options.wrapAround&&t.length>1){this.enable();return}var i=t.length?t.length-1:0;var s=this.isPrevious?0:i;var n=this.parent.selectedIndex==s?"disable":"enable";this[n]()};O.prototype.destroy=function(){this.deactivate();this.allOff()};u.extend(k.defaults,{prevNextButtons:true,arrowShape:{x0:10,x1:60,y1:50,x2:70,y2:40,x3:30}});k.createMethods.push("_createPrevNextButtons");var j=k.prototype;j._createPrevNextButtons=function(){if(!this.options.prevNextButtons){return}this.prevButton=new O(-1,this);this.nextButton=new O(1,this);this.on("activate",this.activatePrevNextButtons)};j.activatePrevNextButtons=function(){this.prevButton.activate();this.nextButton.activate();this.on("deactivate",this.deactivatePrevNextButtons)};j.deactivatePrevNextButtons=function(){this.prevButton.deactivate();this.nextButton.deactivate();this.off("deactivate",this.deactivatePrevNextButtons)};k.PrevNextButton=O;function R(t){this.parent=t;this.parentElement=this.parent.element.shadowRoot||this.parent.element;this._create()}R.prototype=Object.create(C.prototype);R.prototype._create=function(){this.holder=document.createElement("ol");this.holder.className="flickity-page-dots";this.dots=[];this.handleClick=this.onClick.bind(this);this.on("pointerDown",this.parent.childUIPointerDown.bind(this.parent))};R.prototype.activate=function(){this.setDots();this.holder.addEventListener("click",this.handleClick);this.bindStartEvent(this.holder);this.parentElement.appendChild(this.holder)};R.prototype.deactivate=function(){this.holder.removeEventListener("click",this.handleClick);this.unbindStartEvent(this.holder);this.parentElement.removeChild(this.holder)};R.prototype.setDots=function(){var t=this.parent.slides.length-this.dots.length;if(t>0){this.addDots(t)}else if(t<0){this.removeDots(-t)}};R.prototype.addDots=function(t){var i=document.createDocumentFragment();var s=[];var n=this.dots.length;var h=n+t;for(var e=n;e<h;e++){var r=document.createElement("li");r.classList.add("dot");r.setAttribute("aria-label","Page dot "+(e+1));i.appendChild(r);s.push(r)}this.holder.appendChild(i);this.dots=this.dots.concat(s)};R.prototype.removeDots=function(t){var i=this.dots.splice(this.dots.length-t,t);i.forEach((function(t){this.holder.removeChild(t)}),this)};R.prototype.updateSelected=function(){if(this.selectedDot){this.selectedDot.classList.remove("is-selected");this.selectedDot.removeAttribute("aria-current")}if(!this.dots.length){return}this.selectedDot=this.dots[this.parent.selectedIndex];this.selectedDot.classList.add("is-selected");this.selectedDot.setAttribute("aria-current","step")};R.prototype.onTap=R.prototype.onClick=function(t){var i=t.target;if(i.nodeName!="LI"){return}this.parent.uiChange();var s=this.dots.indexOf(i);this.parent.select(s)};R.prototype.destroy=function(){this.deactivate();this.allOff()};k.PageDots=R;u.extend(k.defaults,{pageDots:true});k.createMethods.push("_createPageDots");var N=k.prototype;N._createPageDots=function(){if(!this.options.pageDots){return}this.pageDots=new R(this);this.on("activate",this.activatePageDots);this.on("select",this.updateSelectedPageDots);this.on("cellChange",this.updatePageDots);this.on("resize",this.updatePageDots);this.on("deactivate",this.deactivatePageDots)};N.activatePageDots=function(){this.pageDots.activate()};N.updateSelectedPageDots=function(){this.pageDots.updateSelected()};N.updatePageDots=function(){this.pageDots.setDots()};N.deactivatePageDots=function(){this.pageDots.deactivate()};k.PageDots=R;function I(t){this.parent=t;this.state="stopped";this.onVisibilityChange=this.visibilityChange.bind(this);this.onVisibilityPlay=this.visibilityPlay.bind(this)}I.prototype=Object.create(a.prototype);I.prototype.play=function(){if(this.state=="playing"){return}var t=document.hidden;if(t){document.addEventListener("visibilitychange",this.onVisibilityPlay);return}this.state="playing";document.addEventListener("visibilitychange",this.onVisibilityChange);this.tick()};I.prototype.tick=function(){if(this.state!="playing"){return}var t=this.parent.options.autoPlay;t=typeof t=="number"?t:3e3;var i=this;this.clear();this.timeout=setTimeout((function(){i.parent.next(true);i.tick()}),t)};I.prototype.stop=function(){this.state="stopped";this.clear();document.removeEventListener("visibilitychange",this.onVisibilityChange)};I.prototype.clear=function(){clearTimeout(this.timeout)};I.prototype.pause=function(){if(this.state=="playing"){this.state="paused";this.clear()}};I.prototype.unpause=function(){if(this.state=="paused"){this.play()}};I.prototype.visibilityChange=function(){var t=document.hidden;this[t?"pause":"unpause"]()};I.prototype.visibilityPlay=function(){this.play();document.removeEventListener("visibilitychange",this.onVisibilityPlay)};u.extend(k.defaults,{pauseAutoPlayOnHover:true});k.createMethods.push("_createPlayer");var B=k.prototype;B._createPlayer=function(){this.player=new I(this);this.on("activate",this.activatePlayer);this.on("uiChange",this.stopPlayer);this.on("pointerDown",this.stopPlayer);this.on("deactivate",this.deactivatePlayer)};B.activatePlayer=function(){if(!this.options.autoPlay){return}this.player.play();this.element.addEventListener("mouseenter",this)};B.playPlayer=function(){this.player.play()};B.stopPlayer=function(){this.player.stop()};B.pausePlayer=function(){this.player.pause()};B.unpausePlayer=function(){this.player.unpause()};B.deactivatePlayer=function(){this.player.stop();this.element.removeEventListener("mouseenter",this)};B.onmouseenter=function(){if(!this.options.pauseAutoPlayOnHover){return}this.player.pause();this.element.addEventListener("mouseleave",this)};B.onmouseleave=function(){this.player.unpause();this.element.removeEventListener("mouseleave",this)};k.Player=I;function F(t){var i=document.createDocumentFragment();t.forEach((function(t){i.appendChild(t.element)}));return i}var H=k.prototype;H.insert=function(t,i){var s=this._makeCells(t);if(!s||!s.length){return}var n=this.cells.length;i=i===undefined?n:i;var h=F(s);var e=i==n;if(e){this.slider.appendChild(h)}else{var r=this.cells[i].element;this.slider.insertBefore(h,r)}if(i===0){this.cells=s.concat(this.cells)}else if(e){this.cells=this.cells.concat(s)}else{var a=this.cells.splice(i,n-i);this.cells=this.cells.concat(s).concat(a)}this._sizeCells(s);this.cellChange(i,true)};H.append=function(t){this.insert(t,this.cells.length)};H.prepend=function(t){this.insert(t,0)};H.remove=function(t){var i=this.getCells(t);if(!i||!i.length){return}var s=this.cells.length-1;i.forEach((function(t){t.remove();var i=this.cells.indexOf(t);s=Math.min(i,s);u.removeFrom(this.cells,t)}),this);this.cellChange(s,true)};H.cellSizeChange=function(t){var i=this.getCell(t);if(!i){return}i.getSize();var s=this.cells.indexOf(i);this.cellChange(s)};H.cellChange=function(t,i){var s=this.selectedElement;this._positionCells(t);this._getWrapShiftCells();this.setGallerySize();var n=this.getCell(s);if(n){this.selectedIndex=this.getCellSlideIndex(n)}this.selectedIndex=Math.min(this.slides.length-1,this.selectedIndex);this.emitEvent("cellChange",[t]);this.select(this.selectedIndex);if(i){this.positionSliderAtSelected()}};k.createMethods.push("_createLazyload");var _=k.prototype;_._createLazyload=function(){this.on("select",this.lazyLoad)};_.lazyLoad=function(){var t=this.options.lazyLoad;if(!t){return}var i=typeof t=="number"?t:0;var s=this.getAdjacentCellElements(i);var n=[];s.forEach((function(t){var i=W(t);n=n.concat(i)}));n.forEach((function(t){new V(t,this)}),this)};function W(t){if(t.nodeName=="IMG"){var i=t.getAttribute("data-flickity-lazyload");var s=t.getAttribute("data-flickity-lazyload-src");var n=t.getAttribute("data-flickity-lazyload-srcset");if(i||s||n){return[t]}}var h="img[data-flickity-lazyload], "+"img[data-flickity-lazyload-src], img[data-flickity-lazyload-srcset]";var e=t.querySelectorAll(h);return u.makeArray(e)}function V(t,i){this.img=t;this.flickity=i;this.load()}V.prototype.handleEvent=u.handleEvent;V.prototype.load=function(){this.img.addEventListener("load",this);this.img.addEventListener("error",this);var t=this.img.getAttribute("data-flickity-lazyload")||this.img.getAttribute("data-flickity-lazyload-src");var i=this.img.getAttribute("data-flickity-lazyload-srcset");this.img.src=t;if(i){this.img.setAttribute("srcset",i)}this.img.removeAttribute("data-flickity-lazyload");this.img.removeAttribute("data-flickity-lazyload-src");this.img.removeAttribute("data-flickity-lazyload-srcset")};V.prototype.onload=function(t){this.complete(t,"flickity-lazyloaded")};V.prototype.onerror=function(t){this.complete(t,"flickity-lazyerror")};V.prototype.complete=function(t,i){this.img.removeEventListener("load",this);this.img.removeEventListener("error",this);var s=this.flickity.getParentCell(this.img);var n=s&&s.element;this.flickity.cellSizeChange(n);this.img.classList.add(i);this.flickity.dispatchEvent("lazyLoad",t,n)};k.LazyLoader=V;k.createMethods.push("_createFullscreen");var X=k.prototype;X._createFullscreen=function(){this.isFullscreen=false;if(!this.options.fullscreen){return}this.viewFullscreenButton=new U("view",this);this.exitFullscreenButton=new U("exit",this);this.on("activate",this._changeFullscreenActive);this.on("deactivate",this._changeFullscreenActive)};X._changeFullscreenActive=function(){var t=this.isActive?"appendChild":"removeChild";this.element[t](this.viewFullscreenButton.element);this.element[t](this.exitFullscreenButton.element);var i=this.isActive?"activate":"deactivate";this.viewFullscreenButton[i]();this.exitFullscreenButton[i]()};X.viewFullscreen=function(){this._changeFullscreen(true);this.focus()};X.exitFullscreen=function(){this._changeFullscreen(false)};X._changeFullscreen=function(t){if(this.isFullscreen==t){return}this.isFullscreen=t;var i=t?"add":"remove";document.documentElement.classList[i]("is-flickity-fullscreen");this.element.classList[i]("is-fullscreen");this.resize();if(this.isFullscreen){this.reposition()}this.dispatchEvent("fullscreenChange",null,[t])};X.toggleFullscreen=function(){this._changeFullscreen(!this.isFullscreen)};var Z=X.setGallerySize;X.setGallerySize=function(){if(!this.options.setGallerySize){return}if(this.isFullscreen){this.viewport.style.height=""}else{Z.call(this)}};k.keyboardHandlers[27]=function(){this.exitFullscreen()};function U(t,i){this.name=t;this.createButton();this.createIcon();this.onClick=function(){i[t+"Fullscreen"]()};this.clickHandler=this.onClick.bind(this)}U.prototype.createButton=function(){var t=this.element=document.createElement("button");t.className="flickity-button flickity-fullscreen-button "+"flickity-fullscreen-button-"+this.name;t.setAttribute("type","button");var i=Y(this.name+" full-screen");t.setAttribute("aria-label",i);t.title=i};function Y(t){return t[0].toUpperCase()+t.slice(1)}var G="http://www.w3.org/2000/svg";var J={view:"M15,20,7,28h5v4H0V20H4v5l8-8Zm5-5,8-8v5h4V0H20V4h5l-8,8Z",exit:"M32,3l-7,7h5v4H18V2h4V7l7-7ZM3,32l7-7v5h4V18H2v4H7L0,29Z"};U.prototype.createIcon=function(){var t=document.createElementNS(G,"svg");t.setAttribute("class","flickity-button-icon");t.setAttribute("viewBox","0 0 32 32");var i=document.createElementNS(G,"path");var s=J[this.name];i.setAttribute("d",s);t.appendChild(i);this.element.appendChild(t)};U.prototype.activate=function(){this.element.addEventListener("click",this.clickHandler)};U.prototype.deactivate=function(){this.element.removeEventListener("click",this.clickHandler)};k.FullscreenButton=U;var q=k.Slide;var Q=q.prototype.updateTarget;q.prototype.updateTarget=function(){Q.apply(this,arguments);if(!this.parent.options.fade){return}var t=this.target-this.x;var i=this.cells[0].x;this.cells.forEach((function(s){var n=s.x-i-t;s.renderPosition(n)}))};q.prototype.setOpacity=function(t){this.cells.forEach((function(i){i.element.style.opacity=t}))};var $=k.prototype;k.createMethods.push("_createFade");$._createFade=function(){this.fadeIndex=this.selectedIndex;this.prevSelectedIndex=this.selectedIndex;this.on("select",this.onSelectFade);this.on("dragEnd",this.onDragEndFade);this.on("settle",this.onSettleFade);this.on("activate",this.onActivateFade);this.on("deactivate",this.onDeactivateFade)};var K=$.updateSlides;$.updateSlides=function(){K.apply(this,arguments);if(!this.options.fade){return}this.slides.forEach((function(t,i){var s=i==this.selectedIndex?1:0;t.setOpacity(s)}),this)};$.onSelectFade=function(){this.fadeIndex=Math.min(this.prevSelectedIndex,this.slides.length-1);this.prevSelectedIndex=this.selectedIndex};$.onSettleFade=function(){delete this.didDragEnd;if(!this.options.fade){return}this.selectedSlide.setOpacity(1);var t=this.slides[this.fadeIndex];if(t&&this.fadeIndex!=this.selectedIndex){this.slides[this.fadeIndex].setOpacity(0)}};$.onDragEndFade=function(){this.didDragEnd=true};$.onActivateFade=function(){if(this.options.fade){this.element.classList.add("is-fade")}};$.onDeactivateFade=function(){if(!this.options.fade){return}this.element.classList.remove("is-fade");this.slides.forEach((function(t){t.setOpacity("")}))};var tt=$.positionSlider;$.positionSlider=function(){if(!this.options.fade){tt.apply(this,arguments);return}this.fadeSlides();this.dispatchScrollEvent()};var it=$.positionSliderAtSelected;$.positionSliderAtSelected=function(){if(this.options.fade){this.setTranslateX(0)}it.apply(this,arguments)};$.fadeSlides=function(){if(this.slides.length<2){return}var t=this.getFadeIndexes();var i=this.slides[t.a];var s=this.slides[t.b];var n=this.wrapDifference(i.target,s.target);var h=this.wrapDifference(i.target,-this.x);h=h/n;i.setOpacity(1-h);s.setOpacity(h);var e=t.a;if(this.isDragging){e=h>.5?t.a:t.b}var r=this.fadeHideIndex!=undefined&&this.fadeHideIndex!=e&&this.fadeHideIndex!=t.a&&this.fadeHideIndex!=t.b;if(r){this.slides[this.fadeHideIndex].setOpacity(0)}this.fadeHideIndex=e};$.getFadeIndexes=function(){if(!this.isDragging&&!this.didDragEnd){return{a:this.fadeIndex,b:this.selectedIndex}}if(this.options.wrapAround){return this.getFadeDragWrapIndexes()}else{return this.getFadeDragLimitIndexes()}};$.getFadeDragWrapIndexes=function(){var t=this.slides.map((function(t,i){return this.getSlideDistance(-this.x,i)}),this);var i=t.map((function(t){return Math.abs(t)}));var s=Math.min.apply(Math,i);var n=i.indexOf(s);var h=t[n];var e=this.slides.length;var r=h>=0?1:-1;return{a:n,b:u.modulo(n+r,e)}};$.getFadeDragLimitIndexes=function(){var t=0;for(var i=0;i<this.slides.length-1;i++){var s=this.slides[i];if(-this.x<s.target){break}t=i}return{a:t,b:t+1}};$.wrapDifference=function(t,i){var s=i-t;if(!this.options.wrapAround){return s}var n=s+this.slideableWidth;var h=s-this.slideableWidth;if(Math.abs(n)<Math.abs(s)){s=n}if(Math.abs(h)<Math.abs(s)){s=h}return s};var st=$._getWrapShiftCells;$._getWrapShiftCells=function(){if(!this.options.fade){st.apply(this,arguments)}};var nt=$.shiftWrapCells;$.shiftWrapCells=function(){if(!this.options.fade){nt.apply(this,arguments)}};const ht=k;const et=":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{--dot-color:#ccc;--dot-color-active:var(--nano-color-primary, #007495);--navbtns-icon-color:var(--dot-color-active);--navbtns-bg-color:white;--navbtns-icon-color-disabled:var(--dot-color-active);--navbtns-bg-color-disabled:white;--fsbtn-icon-color:var(--dot-color-active);--fsbtn-bg-color:white;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-transition:opacity 0.2s;transition:opacity 0.2s;opacity:0}:host([ready]){opacity:1}.slideshow{height:100%;position:relative}.flickity-container{height:0;opacity:0;-webkit-transition:opacity 0.2s;transition:opacity 0.2s}.flickity-container.slides-ready{height:100%}[hidden]{display:none !important}.ui-extras{pointer-events:none;position:absolute;height:100%;width:100%;top:0;left:0}.ui-extras *{pointer-events:all}/*! Flickity v2.2.1\nhttps://flickity.metafizzy.co\n---------------------------------------------- */.flickity-enabled{position:relative;opacity:1}.flickity-enabled:focus{outline:none}.flickity-viewport{overflow:hidden;position:relative;height:100% !important}.flickity-slider{position:absolute;width:100%;height:100%}.flickity-enabled.is-draggable{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.flickity-enabled.is-draggable .flickity-viewport{cursor:move;cursor:-webkit-grab;cursor:grab}.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down{cursor:-webkit-grabbing;cursor:grabbing}.flickity-button{position:absolute;background:var(--navbtns-bg-color);border:none;color:#333;opacity:0.75}.flickity-button:hover{opacity:1;cursor:pointer}.flickity-button:focus{outline:none;-webkit-box-shadow:0 0 0 5px #19f;box-shadow:0 0 0 5px #19f}.flickity-button:active{opacity:0.6}.flickity-button:disabled{opacity:0.3;cursor:auto;pointer-events:none;background:var(--navbtns-bg-color-disabled)}.flickity-button-icon{fill:var(--navbtns-icon-color)}.flickity-button:disabled .flickity-button-icon{fill:var(--navbtns-icon-color-disabled)}.flickity-prev-next-button{top:50%;width:44px;height:44px;border-radius:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.flickity-prev-next-button.previous{left:10px}.flickity-prev-next-button.next{right:10px}.flickity-rtl .flickity-prev-next-button.previous{left:auto;right:10px}.flickity-rtl .flickity-prev-next-button.next{right:auto;left:10px}.flickity-prev-next-button .flickity-button-icon{position:absolute;left:20%;top:20%;width:60%;height:60%}.flickity-page-dots{position:absolute;width:100%;bottom:10px;padding:0;margin:0;list-style:none;text-align:center;line-height:1;z-index:4}.flickity-rtl .flickity-page-dots{direction:rtl}.flickity-page-dots .dot{display:inline-block;width:10px;height:10px;margin:0 8px;border-radius:50%;cursor:pointer;background:var(--dot-color)}.flickity-page-dots .dot.is-selected{opacity:1;background:var(--dot-color-active)}.flickity-enabled.is-fullscreen{position:fixed;left:0;top:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.9);padding-bottom:35px;z-index:100}.flickity-enabled.is-fullscreen .flickity-page-dots{bottom:45px}html.is-flickity-fullscreen{overflow:hidden}.flickity-fullscreen-button{display:block;right:10px;top:10px;width:24px;height:24px;border-radius:4px;background:var(--fsbtn-bg-color);fill:var(--fsbtn-icon-color)}.flickity-rtl .flickity-fullscreen-button{right:auto;left:10px}.flickity-fullscreen-button-exit{display:none}.flickity-enabled.is-fullscreen .flickity-fullscreen-button-exit{display:block}.flickity-enabled.is-fullscreen .flickity-fullscreen-button-view{display:none}.flickity-fullscreen-button .flickity-button-icon{position:absolute;width:16px;height:16px;left:4px;top:4px}.flickity-enabled.is-fade .flickity-slider>*{pointer-events:none;z-index:0}.flickity-enabled.is-fade .flickity-slider ::slotted(.is-selected){pointer-events:auto;z-index:1}";const rt=!!document.head.attachShadow;let at=class{constructor(s){t(this,s);this.nanoSlidesDidLoad=i(this,"nanoSlidesDidLoad",7);this.nanoSlidesReady=i(this,"nanoSlidesReady",7);this.nanoSlidesSelect=i(this,"nanoSlidesSelect",7);this.nanoSlidesChange=i(this,"nanoSlidesChange",7);this.nanoSlidesScroll=i(this,"nanoSlidesScroll",7);this.nanoSlidesTransitionEnd=i(this,"nanoSlidesTransitionEnd",7);this.nanoSlidesDragStart=i(this,"nanoSlidesDragStart",7);this.nanoSlidesDragMove=i(this,"nanoSlidesDragMove",7);this.nanoSlidesDragEnd=i(this,"nanoSlidesDragEnd",7);this.nanoSlidesTap=i(this,"nanoSlidesTap",7);this.nanoSlidesFullscreenChange=i(this,"nanoSlidesFullscreenChange",7);this.flickityReady=false;this.flickity=new Promise((t=>{this.readyflickity=t}));this.didInit=false;this.options={};this.navbtns=false;this.pager=false;this.fullscreenbtn=false;this.fullscreen=false;this.animation="scroll";this.currentSlide=0;this.autoplay=false;this.ready=false;this.parralax=async()=>{const t=await this.flickity;t.slides.forEach(((i,s)=>{let n=this.childrenEles[s];var h=(i.target+t.x)*-1/3;n.style["transform"]="translateX("+h+"px)"}))};this.handleFullscreen=t=>{this.fullscreen=t;this.nanoSlidesFullscreenChange.emit(t)};this.handleSlideSelect=t=>{this.iCurrentSlide=t;this.nanoSlidesSelect.emit(t)}}async optionsChanged(){if(this.flickityReady){const t=await this.getflickity();Object.assign(t.options,this.options);await this.update()}}async navbtnsChanged(){Array.from(this._getRoot().querySelectorAll(".flickity-prev-next-button")).forEach((t=>{t.hidden=!this.navbtns}))}async pagerChanged(){let t=this._getRoot().querySelector(".flickity-page-dots");t.hidden=!this.pager}async fullscreenBtnChanged(){let t=this._getRoot().querySelector(".flickity-fullscreen-button");t.hidden=!this.fullscreenbtn}async fullscreenChanged(t,i){const s=await this.getflickity();if(this.fullscreen)s.viewFullscreen();else if(typeof i!=="undefined")s.exitFullscreen()}async animationChange(t,i){const[s,n]=await Promise.all([this.getflickity(),ot(this.host)]);n.forEach((t=>{t.style["left"]=undefined}));if(i==="parallax"){s.off("scroll",this.parralax);n.forEach(((t,i)=>{if(this.childrenEles&&this.childrenEles[i])this.childrenEles[i].style["transform"]=undefined}));this.update()}switch(this.animation){case"fade":this.options={fade:true,percentPosition:true};break;case"parallax":this.options={fade:false,percentPosition:false};s.on("scroll",this.parralax);break;default:this.options={fade:false,percentPosition:true};break}}currentSlideChange(){if(this.currentSlide!==this.iCurrentSlide)this.slideTo(this.currentSlide)}internalSlideChange(){this.currentSlide=this.iCurrentSlide}async autoPlayChange(){await this.stopAutoplay();if(this.autoplay){if(typeof this.autoplay==="string")this.autoplay=parseInt(this.autoplay);if(this.autoplay>0)this.startAutoplay(this.autoplay)}}async update(){const[t]=await Promise.all([this.getflickity(),ot(this.host)]);this.childrenEles=this.host.querySelectorAll("nano-slide > *");t.reloadCells();t.resize();t.reposition()}async updateAutoHeight(t){const i=document.querySelector(".flickity-viewport");if(i)i.style.transition=t+"ms"}async slideTo(t,i){const s=await this.getflickity();s.select(t,i)}async slideNext(t,i){const s=await this.getflickity();s.next(i,t)}async slidePrev(t,i){const s=await this.getflickity();s.previous(t,i)}async getActiveIndex(){const t=await this.getflickity();return t.selectedIndex}async length(){const t=await this.getflickity();return t.slides.length}async isEnd(){const t=await this.getflickity();return t.selectedIndex===t.slides.length-1}async isBeginning(){const t=await this.getflickity();return t.selectedIndex===0}async startAutoplay(t){const i=await this.getflickity();if(t)this.options={autoPlay:t};setTimeout((()=>i.playPlayer()))}async stopAutoplay(){const t=await this.getflickity();t.stopPlayer()}async lockSwipes(t){const i=await this.getflickity();i.options.draggable=!t;i.updateDraggable()}async getflickity(){return this.flickity}async reload(){this.destroyflickity();setTimeout((()=>this.initflickity()),20)}_getRoot(){return this.host.shadowRoot?this.host.shadowRoot:this.host}_fixClassNames(){let t=this.slideShowEle.className.split(" ").filter((t=>t.match(/^sc-nano/)));let i=this._getRoot().querySelectorAll("*");if(!i)return;Array.from(i).map((i=>{t.map((t=>i.classList.add(t)))}))}destroyflickity(){const t=this.syncflickity;if(t!==undefined){t.destroy();this.flickity=new Promise((t=>{this.readyflickity=t}));this.flickityReady=false;this.syncflickity=undefined;this.ready=false}this.didInit=false}async initflickity(){const t=this.normalizeOptions();await ot(this.host);this.slidesReady=true;this.flickityEl=this.flickityEl||this._getRoot().querySelector(".flickity-container");if(this.flickityEl.classList.contains("flickity-enabled"))this.destroyflickity();setTimeout((()=>{let i=new ht(this.flickityEl,t);this.flickityReady=true;if(!this.host.shadowRoot||!rt)this._fixClassNames();this.syncflickity=i;this.animationChange();this.navbtnsChanged();this.pagerChanged();this.fullscreenChanged();this.fullscreenBtnChanged();this.readyflickity(i);this.ready=true;if(!this.host.getBoundingClientRect().height){const t=this.resizeO=new ResizeObserver((()=>{i.resize();this.resizeO.disconnect()}));t.observe(this.host)}}),100)}normalizeOptions(){const t={cellSelector:"nano-slide",contain:true,prevNextButtons:true,fullscreen:true,accessibility:true,imagesLoaded:true,pageDots:true};if(this.animation==="fade"){t.fade=true}if(this.currentSlide>0){t.initialIndex=this.currentSlide}if(this.autoplay){if(typeof this.autoplay==="string")this.autoplay=parseInt(this.autoplay);if(this.autoplay>0)t.autoPlay=this.autoplay}const i={ready:()=>{setTimeout((()=>{this.nanoSlidesReady.emit()}),20)},select:this.handleSlideSelect,change:this.nanoSlidesChange.emit,scroll:this.nanoSlidesScroll.emit,settle:this.nanoSlidesTransitionEnd.emit,dragStart:this.nanoSlidesDragStart.emit,dragMove:this.nanoSlidesDragMove.emit,dragEnd:this.nanoSlidesDragEnd.emit,staticClick:this.nanoSlidesTap.emit,fullscreenChange:this.handleFullscreen};const s=!!this.options&&!!this.options.on?this.options.on:{};const n={on:Object.assign(Object.assign({},s),i)};return Object.assign(Object.assign(Object.assign({},t),n),this.options)}componentDidLoad(){if(typeof window!=="undefined"&&window.MutationObserver){const t=this.mutationO=new MutationObserver((t=>{if(t[0].addedNodes[0]&&t[0].addedNodes[0].nodeName.toLowerCase()==="nano-slide"&&this.flickityReady){this.update()}}));t.observe(this.host,{childList:true,subtree:true})}}componentWillLoad(){this.nanoSlidesDidLoad.emit();if(!this.didInit){this.didInit=true;this.initflickity()}}disconnectedCallback(){if(this.mutationO){this.mutationO.disconnect();this.mutationO=undefined}if(this.resizeO)this.resizeO.disconnect();this.destroyflickity()}render(){return s(n,null,s("div",{class:"slideshow",ref:t=>this.slideShowEle=t},s("div",{ref:t=>this.flickityEl=t,class:{"flickity-container":true,"slides-ready":this.slidesReady,"slides-not-ready":!this.slidesReady}},s("slot",null)),s("div",{class:"ui-extras"},s("slot",{name:"ui"}))))}get host(){return h(this)}static get watchers(){return{options:["optionsChanged"],navbtns:["navbtnsChanged"],pager:["pagerChanged"],fullscreenbtn:["fullscreenBtnChanged"],fullscreen:["fullscreenChanged"],animation:["animationChange"],currentSlide:["currentSlideChange"],iCurrentSlide:["internalSlideChange"],autoplay:["autoPlayChange"]}}};const ot=t=>{const i=Array.from(t.querySelectorAll("nano-slide"));let s=i.filter((t=>!t.ready));if(!s.length)return Promise.resolve(i);return new Promise((n=>{const h=e=>{s=s.filter((t=>t!==e.target));if(!s.length){n(i);t.removeEventListener("nanoSlideReady",h)}};t.addEventListener("nanoSlideReady",h);t.addEventListener("nanoslideready",h)}))};at.style=et;export{at as nano_slides};
23
+ //# sourceMappingURL=p-da88981f.entry.js.map