@nanoporetech-digital/components 5.2.0 → 5.3.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 (263) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/cjs/{_commonjsHelpers-9f2314fc.js → _commonjsHelpers-29614748.js} +1 -17
  3. package/dist/cjs/_commonjsHelpers-29614748.js.map +1 -0
  4. package/dist/cjs/algoliasearch-lite.esm.browser-992a2eff.js +922 -0
  5. package/dist/cjs/algoliasearch-lite.esm.browser-992a2eff.js.map +1 -0
  6. package/dist/cjs/component-store-21cb4901.js +328 -0
  7. package/dist/cjs/component-store-21cb4901.js.map +1 -0
  8. package/dist/cjs/events-db0a42ee.js +39 -0
  9. package/dist/cjs/events-db0a42ee.js.map +1 -0
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/nano-alert.cjs.entry.js +9 -2
  12. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -2
  14. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  15. package/dist/cjs/nano-algolia-input.cjs.entry.js +8 -4
  16. package/dist/cjs/nano-algolia-input.cjs.entry.js.map +1 -1
  17. package/dist/cjs/nano-algolia.cjs.entry.js +4 -4
  18. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  19. package/dist/cjs/nano-components.cjs.js +1 -1
  20. package/dist/cjs/nano-datalist_3.cjs.entry.js +1 -1
  21. package/dist/cjs/nano-dialog.cjs.entry.js +23 -22
  22. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nano-drawer.cjs.entry.js +169 -111
  24. package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nano-dropdown.cjs.entry.js +16 -2
  26. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nano-global-nav.cjs.entry.js +5 -6
  28. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-global-search-results.cjs.entry.js +2 -1
  30. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  32. package/dist/cjs/nano-sortable.cjs.entry.js +3 -15
  33. package/dist/cjs/nano-sortable.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nano-sticker.cjs.entry.js +16 -9
  35. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nano-tab-group.cjs.entry.js +1 -2
  37. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  38. package/dist/cjs/{nano-table-04993bb4.js → nano-table-e15cc6b0.js} +16 -15
  39. package/dist/cjs/nano-table-e15cc6b0.js.map +1 -0
  40. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  41. package/dist/cjs/{slot-a448c1a7.js → slot-2dd6ed1d.js} +20 -15
  42. package/dist/cjs/slot-2dd6ed1d.js.map +1 -0
  43. package/dist/cjs/{table.worker-85877b23.js → table.worker-8759e6ea.js} +2 -2
  44. package/dist/cjs/table.worker-8759e6ea.js.map +1 -0
  45. package/dist/collection/components/alert/alert.css +15 -0
  46. package/dist/collection/components/alert/alert.js +10 -2
  47. package/dist/collection/components/alert/alert.js.map +1 -1
  48. package/dist/collection/components/algolia/algolia-interface.js.map +1 -1
  49. package/dist/collection/components/algolia/algolia.js +1 -1
  50. package/dist/collection/components/algolia/algolia.js.map +1 -1
  51. package/dist/collection/components/dialog/dialog.css +1 -17
  52. package/dist/collection/components/dialog/dialog.js +31 -20
  53. package/dist/collection/components/dialog/dialog.js.map +1 -1
  54. package/dist/collection/components/drawer/drawer.css +136 -67
  55. package/dist/collection/components/drawer/drawer.js +282 -154
  56. package/dist/collection/components/drawer/drawer.js.map +1 -1
  57. package/dist/collection/components/dropdown/dropdown.css +10 -0
  58. package/dist/collection/components/dropdown/dropdown.js +15 -1
  59. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  60. package/dist/collection/components/global-nav/global-nav.js +2 -2
  61. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  62. package/dist/collection/components/global-nav/style/global-nav.css +5 -1
  63. package/dist/collection/components/global-search-results/global-search-results.js +2 -1
  64. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  65. package/dist/collection/components/sticker/sticker.js +16 -9
  66. package/dist/collection/components/sticker/sticker.js.map +1 -1
  67. package/dist/collection/components/table/table.js +10 -9
  68. package/dist/collection/components/table/table.js.map +1 -1
  69. package/dist/collection/components/table/table.pin-service.js +4 -4
  70. package/dist/collection/components/table/table.pin-service.js.map +1 -1
  71. package/dist/collection/utils/events.js +17 -0
  72. package/dist/collection/utils/events.js.map +1 -1
  73. package/dist/collection/utils/slot.js +19 -14
  74. package/dist/collection/utils/slot.js.map +1 -1
  75. package/dist/collection/utils/store/get-set.js +6 -12
  76. package/dist/collection/utils/store/get-set.js.map +1 -1
  77. package/dist/components/_commonjsHelpers.js +1 -16
  78. package/dist/components/_commonjsHelpers.js.map +1 -1
  79. package/dist/components/algolia.js +2 -2
  80. package/dist/components/algolia.js.map +1 -1
  81. package/dist/components/algoliasearch-lite.esm.browser.js +920 -0
  82. package/dist/components/algoliasearch-lite.esm.browser.js.map +1 -0
  83. package/dist/components/component-store.js +68 -2001
  84. package/dist/components/component-store.js.map +1 -1
  85. package/dist/components/dropdown.js +16 -2
  86. package/dist/components/dropdown.js.map +1 -1
  87. package/dist/components/events.js +36 -0
  88. package/dist/components/events.js.map +1 -0
  89. package/dist/components/nano-alert.js +10 -2
  90. package/dist/components/nano-alert.js.map +1 -1
  91. package/dist/components/nano-algolia-input.js +6 -1
  92. package/dist/components/nano-algolia-input.js.map +1 -1
  93. package/dist/components/nano-dialog.js +21 -20
  94. package/dist/components/nano-dialog.js.map +1 -1
  95. package/dist/components/nano-drawer.js +205 -122
  96. package/dist/components/nano-drawer.js.map +1 -1
  97. package/dist/components/nano-global-nav.js +4 -4
  98. package/dist/components/nano-global-nav.js.map +1 -1
  99. package/dist/components/nano-global-search-results.js +2 -1
  100. package/dist/components/nano-global-search-results.js.map +1 -1
  101. package/dist/components/nano-sortable.js +1 -13
  102. package/dist/components/nano-sortable.js.map +1 -1
  103. package/dist/components/slot.js +19 -14
  104. package/dist/components/slot.js.map +1 -1
  105. package/dist/components/sticker.js +16 -9
  106. package/dist/components/sticker.js.map +1 -1
  107. package/dist/components/table.js +14 -13
  108. package/dist/components/table.js.map +1 -1
  109. package/dist/esm/{_commonjsHelpers-e401b2a2.js → _commonjsHelpers-04a0e019.js} +2 -17
  110. package/dist/esm/_commonjsHelpers-04a0e019.js.map +1 -0
  111. package/dist/esm/algoliasearch-lite.esm.browser-04891fdc.js +920 -0
  112. package/dist/esm/algoliasearch-lite.esm.browser-04891fdc.js.map +1 -0
  113. package/dist/esm/component-store-65d7e36a.js +326 -0
  114. package/dist/esm/component-store-65d7e36a.js.map +1 -0
  115. package/dist/esm/events-6a805b42.js +36 -0
  116. package/dist/esm/events-6a805b42.js.map +1 -0
  117. package/dist/esm/loader.js +1 -1
  118. package/dist/esm/nano-alert.entry.js +9 -2
  119. package/dist/esm/nano-alert.entry.js.map +1 -1
  120. package/dist/esm/nano-algolia-filter.entry.js +1 -2
  121. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  122. package/dist/esm/nano-algolia-input.entry.js +7 -3
  123. package/dist/esm/nano-algolia-input.entry.js.map +1 -1
  124. package/dist/esm/nano-algolia.entry.js +4 -4
  125. package/dist/esm/nano-algolia.entry.js.map +1 -1
  126. package/dist/esm/nano-components.js +1 -1
  127. package/dist/esm/nano-datalist_3.entry.js +1 -1
  128. package/dist/esm/nano-dialog.entry.js +23 -22
  129. package/dist/esm/nano-dialog.entry.js.map +1 -1
  130. package/dist/esm/nano-drawer.entry.js +171 -113
  131. package/dist/esm/nano-drawer.entry.js.map +1 -1
  132. package/dist/esm/nano-dropdown.entry.js +16 -2
  133. package/dist/esm/nano-dropdown.entry.js.map +1 -1
  134. package/dist/esm/nano-global-nav.entry.js +5 -6
  135. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  136. package/dist/esm/nano-global-search-results.entry.js +2 -1
  137. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  138. package/dist/esm/nano-slides.entry.js +1 -1
  139. package/dist/esm/nano-sortable.entry.js +1 -13
  140. package/dist/esm/nano-sortable.entry.js.map +1 -1
  141. package/dist/esm/nano-sticker.entry.js +16 -9
  142. package/dist/esm/nano-sticker.entry.js.map +1 -1
  143. package/dist/esm/nano-tab-group.entry.js +1 -2
  144. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  145. package/dist/esm/{nano-table-91f09583.js → nano-table-5c5bd3f2.js} +16 -15
  146. package/dist/esm/nano-table-5c5bd3f2.js.map +1 -0
  147. package/dist/esm/nano-table.entry.js +1 -1
  148. package/dist/esm/{slot-a4f6e2af.js → slot-8126e238.js} +20 -15
  149. package/dist/esm/slot-8126e238.js.map +1 -0
  150. package/dist/esm/{table.worker-625475ba.js → table.worker-e7f4f50c.js} +2 -2
  151. package/dist/esm/table.worker-e7f4f50c.js.map +1 -0
  152. package/dist/nano-components/nano-components.css +1 -1
  153. package/dist/nano-components/nano-components.esm.js +1 -1
  154. package/dist/nano-components/nano-components.esm.js.map +1 -1
  155. package/dist/nano-components/p-0301e8f7.entry.js +5 -0
  156. package/dist/nano-components/p-0301e8f7.entry.js.map +1 -0
  157. package/dist/nano-components/p-27422aa9.entry.js +5 -0
  158. package/dist/nano-components/{p-6920ad69.entry.js.map → p-27422aa9.entry.js.map} +1 -1
  159. package/dist/nano-components/p-2d79f5b3.js +5 -0
  160. package/dist/nano-components/{p-0697795a.entry.js → p-31c23d6e.entry.js} +2 -2
  161. package/dist/nano-components/p-31c23d6e.entry.js.map +1 -0
  162. package/dist/nano-components/p-487de04d.entry.js.map +1 -1
  163. package/dist/nano-components/p-570d2e50.entry.js +5 -0
  164. package/dist/nano-components/p-570d2e50.entry.js.map +1 -0
  165. package/dist/nano-components/{p-3eb6d833.entry.js → p-5a4b3fa9.entry.js} +2 -2
  166. package/dist/nano-components/p-653ae985.js +5 -0
  167. package/dist/nano-components/p-653ae985.js.map +1 -0
  168. package/dist/nano-components/p-676a4744.entry.js +5 -0
  169. package/dist/nano-components/{p-d0eefd52.entry.js.map → p-676a4744.entry.js.map} +1 -1
  170. package/dist/nano-components/p-8fe51abf.js +5 -0
  171. package/dist/nano-components/{p-4884b65a.entry.js → p-90cd4f56.entry.js} +2 -2
  172. package/dist/nano-components/p-90cd4f56.entry.js.map +1 -0
  173. package/dist/nano-components/p-9ba81ed2.js +5 -0
  174. package/dist/nano-components/p-9ba81ed2.js.map +1 -0
  175. package/dist/nano-components/p-9bfdee71.js +5 -0
  176. package/dist/nano-components/p-9bfdee71.js.map +1 -0
  177. package/dist/nano-components/p-a8d6ca38.entry.js +5 -0
  178. package/dist/nano-components/p-a8d6ca38.entry.js.map +1 -0
  179. package/dist/nano-components/p-ace7743c.entry.js +5 -0
  180. package/dist/nano-components/p-ace7743c.entry.js.map +1 -0
  181. package/dist/nano-components/{p-17ee0c07.entry.js → p-bab2888b.entry.js} +2 -2
  182. package/dist/nano-components/p-bdb5b6fc.entry.js +5 -0
  183. package/dist/nano-components/p-bdb5b6fc.entry.js.map +1 -0
  184. package/dist/nano-components/p-cad86fb8.js +5 -0
  185. package/dist/nano-components/p-cad86fb8.js.map +1 -0
  186. package/dist/nano-components/p-dc565459.js +5 -0
  187. package/dist/nano-components/p-dc565459.js.map +1 -0
  188. package/dist/nano-components/p-ede12d35.entry.js +5 -0
  189. package/dist/nano-components/p-ede12d35.entry.js.map +1 -0
  190. package/dist/nano-components/p-f504b1df.entry.js +7 -0
  191. package/dist/nano-components/p-f504b1df.entry.js.map +1 -0
  192. package/dist/nano-components/{p-db370094.entry.js → p-f7a4c62b.entry.js} +2 -2
  193. package/dist/themes/london-calling.css.map +1 -1
  194. package/dist/themes/nanopore.cn.css.map +1 -1
  195. package/dist/themes/nanopore.css.map +1 -1
  196. package/dist/types/components/alert/alert.d.ts +1 -0
  197. package/dist/types/components/algolia/algolia-interface.d.ts +1 -1
  198. package/dist/types/components/algolia/algolia.d.ts +1 -1
  199. package/dist/types/components/dialog/dialog.d.ts +15 -4
  200. package/dist/types/components/drawer/drawer.d.ts +69 -50
  201. package/dist/types/components/sticker/sticker.d.ts +4 -4
  202. package/dist/types/components/table/table.d.ts +0 -1
  203. package/dist/types/components.d.ts +50 -28
  204. package/dist/types/types/algolia.d.ts +4 -0
  205. package/dist/types/types/scss.vars.d.ts +4 -0
  206. package/dist/types/utils/events.d.ts +7 -0
  207. package/dist/types/utils/slot.d.ts +3 -3
  208. package/docs-json.json +268 -61
  209. package/docs-vscode.json +28 -11
  210. package/hydrate/index.js +1345 -2245
  211. package/package.json +4 -4
  212. package/dist/cjs/_commonjsHelpers-9f2314fc.js.map +0 -1
  213. package/dist/cjs/algoliasearch.umd-689c1560.js +0 -15
  214. package/dist/cjs/algoliasearch.umd-689c1560.js.map +0 -1
  215. package/dist/cjs/component-store-f1dc1276.js +0 -2261
  216. package/dist/cjs/component-store-f1dc1276.js.map +0 -1
  217. package/dist/cjs/nano-table-04993bb4.js.map +0 -1
  218. package/dist/cjs/slot-a448c1a7.js.map +0 -1
  219. package/dist/cjs/table.worker-85877b23.js.map +0 -1
  220. package/dist/components/algoliasearch.umd.js +0 -13
  221. package/dist/components/algoliasearch.umd.js.map +0 -1
  222. package/dist/esm/_commonjsHelpers-e401b2a2.js.map +0 -1
  223. package/dist/esm/algoliasearch.umd-4f7efa84.js +0 -13
  224. package/dist/esm/algoliasearch.umd-4f7efa84.js.map +0 -1
  225. package/dist/esm/component-store-c23ebc9c.js +0 -2259
  226. package/dist/esm/component-store-c23ebc9c.js.map +0 -1
  227. package/dist/esm/nano-table-91f09583.js.map +0 -1
  228. package/dist/esm/slot-a4f6e2af.js.map +0 -1
  229. package/dist/esm/table.worker-625475ba.js.map +0 -1
  230. package/dist/nano-components/p-0697795a.entry.js.map +0 -1
  231. package/dist/nano-components/p-17b099cc.entry.js +0 -5
  232. package/dist/nano-components/p-17b099cc.entry.js.map +0 -1
  233. package/dist/nano-components/p-1a0b5bc3.js +0 -5
  234. package/dist/nano-components/p-1a0b5bc3.js.map +0 -1
  235. package/dist/nano-components/p-3de3449e.js +0 -5
  236. package/dist/nano-components/p-3de3449e.js.map +0 -1
  237. package/dist/nano-components/p-4884b65a.entry.js.map +0 -1
  238. package/dist/nano-components/p-58cf5446.js +0 -5
  239. package/dist/nano-components/p-58cf5446.js.map +0 -1
  240. package/dist/nano-components/p-6920ad69.entry.js +0 -5
  241. package/dist/nano-components/p-69a3e911.js +0 -5
  242. package/dist/nano-components/p-7baa9e14.entry.js +0 -5
  243. package/dist/nano-components/p-7baa9e14.entry.js.map +0 -1
  244. package/dist/nano-components/p-a362bd23.entry.js +0 -5
  245. package/dist/nano-components/p-a362bd23.entry.js.map +0 -1
  246. package/dist/nano-components/p-b04fd7ca.entry.js +0 -5
  247. package/dist/nano-components/p-b04fd7ca.entry.js.map +0 -1
  248. package/dist/nano-components/p-b72df1aa.entry.js +0 -5
  249. package/dist/nano-components/p-b72df1aa.entry.js.map +0 -1
  250. package/dist/nano-components/p-ce5efc3f.entry.js +0 -5
  251. package/dist/nano-components/p-ce5efc3f.entry.js.map +0 -1
  252. package/dist/nano-components/p-d0eefd52.entry.js +0 -5
  253. package/dist/nano-components/p-dfbf0d56.js +0 -5
  254. package/dist/nano-components/p-e2b2b015.entry.js +0 -5
  255. package/dist/nano-components/p-e2b2b015.entry.js.map +0 -1
  256. package/dist/nano-components/p-ed6adde2.js +0 -7
  257. package/dist/nano-components/p-ed6adde2.js.map +0 -1
  258. package/dist/types/dom.ie.d.ts +0 -3
  259. /package/dist/nano-components/{p-17ee0c07.entry.js.map → p-2d79f5b3.js.map} +0 -0
  260. /package/dist/nano-components/{p-3eb6d833.entry.js.map → p-5a4b3fa9.entry.js.map} +0 -0
  261. /package/dist/nano-components/{p-69a3e911.js.map → p-8fe51abf.js.map} +0 -0
  262. /package/dist/nano-components/{p-dfbf0d56.js.map → p-bab2888b.entry.js.map} +0 -0
  263. /package/dist/nano-components/{p-db370094.entry.js.map → p-f7a4c62b.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createBrowserLocalStorageCache","options","namespaceKey","key","storage","getStorage","undefined","localStorage","window","getNamespace","JSON","parse","getItem","get","defaultValue","events","miss","Promise","resolve","then","keyAsString","stringify","value","all","exists","set","namespace","setItem","delete","clear","removeItem","createFallbackableCache","caches","current","shift","createNullCache","catch","_key","result","createInMemoryCache","serializable","cache","promise","createAuth","authMode","appId","apiKey","credentials","headers","AuthMode","WithinHeaders","queryParameters","WithinQueryParameters","shuffle","array","c","length","b","Math","floor","random","a","addMethods","base","methods","Object","keys","forEach","encode","format","args","i","replace","encodeURIComponent","version","createMappedRequestOptions","requestOptions","timeout","data","indexOf","entries","cacheable","CallEnum","Read","Write","Any","HostStatusEnum","Up","Down","Timeouted","EXPIRATION_DELAY","createStatefulHost","host","status","lastUpdate","Date","now","isStatefulHostUp","isStatefulHostTimeouted","createStatelessHost","protocol","url","accept","MethodEnum","Delete","Get","Post","Put","createRetryableOptions","hostsCache","statelessHosts","map","statelessHost","statefulHosts","hostsUp","filter","hostsTimeouted","hostsAvailable","statelessHostsAvailable","getTimeout","timeoutsCount","baseTimeout","timeoutMultiplier","isNetworkError","isTimedOut","isRetryable","response","isSuccess","retryDecision","outcomes","onRetry","onSuccess","onFail","retryableRequest","transporter","request","stackTrace","serializeData","serializeHeaders","method","dataQueryParameters","userAgent","retry","hosts","pop","createRetryError","stackTraceWithoutCredentials","payload","serializeUrl","path","connectTimeout","timeouts","connect","responseTimeout","pushToStackTrace","stackFrame","triesLeft","push","decisions","deserializeSuccess","logger","info","stackFrameWithoutCredentials","deserializeFailure","requester","send","reverse","createTransporter","requestsCache","responsesCache","read","mappedRequestOptions","createRetryableRequest","err","reject","_","write","createUserAgent","add","addedUserAgent","segment","content","e","createDeserializationError","message","createApiError","queryParametersAsString","serializeQueryParameters","charAt","substr","parameters","isObjectOrArray","prototype","toString","call","join","Array","isArray","serializedHeaders","header","toLowerCase","modifiedHeaders","transporterStackTrace","name","createSearchClient","auth","concat","addAlgoliaAgent","clearCache","customRequest","initIndex","indexName","searchIndex","multipleQueries","queries","requests","query","params","multipleSearchForFacetValues","facetName","facetQuery","searchForFacetValues","findAnswers","queryLanguages","search","LogLevelEnum","Debug","Info","Error","createConsoleLogger","logLevel","debug","console","error","createBrowserXhrRequester","baseRequester","XMLHttpRequest","open","setRequestHeader","createTimeout","setTimeout","abort","onreadystatechange","readyState","OPENED","clearTimeout","onerror","responseText","onload","algoliasearch","commonOptions"],"sources":["./node_modules/algoliasearch/dist/algoliasearch-lite.esm.browser.js"],"sourcesContent":["function createBrowserLocalStorageCache(options) {\r\n const namespaceKey = `algoliasearch-client-js-${options.key}`;\r\n // eslint-disable-next-line functional/no-let\r\n let storage;\r\n const getStorage = () => {\r\n if (storage === undefined) {\r\n storage = options.localStorage || window.localStorage;\r\n }\r\n return storage;\r\n };\r\n const getNamespace = () => {\r\n return JSON.parse(getStorage().getItem(namespaceKey) || '{}');\r\n };\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n return Promise.resolve()\r\n .then(() => {\r\n const keyAsString = JSON.stringify(key);\r\n const value = getNamespace()[keyAsString];\r\n return Promise.all([value || defaultValue(), value !== undefined]);\r\n })\r\n .then(([value, exists]) => {\r\n return Promise.all([value, exists || events.miss(value)]);\r\n })\r\n .then(([value]) => value);\r\n },\r\n set(key, value) {\r\n return Promise.resolve().then(() => {\r\n const namespace = getNamespace();\r\n // eslint-disable-next-line functional/immutable-data\r\n namespace[JSON.stringify(key)] = value;\r\n getStorage().setItem(namespaceKey, JSON.stringify(namespace));\r\n return value;\r\n });\r\n },\r\n delete(key) {\r\n return Promise.resolve().then(() => {\r\n const namespace = getNamespace();\r\n // eslint-disable-next-line functional/immutable-data\r\n delete namespace[JSON.stringify(key)];\r\n getStorage().setItem(namespaceKey, JSON.stringify(namespace));\r\n });\r\n },\r\n clear() {\r\n return Promise.resolve().then(() => {\r\n getStorage().removeItem(namespaceKey);\r\n });\r\n },\r\n };\r\n}\n\n// @todo Add logger on options to debug when caches go wrong.\r\nfunction createFallbackableCache(options) {\r\n const caches = [...options.caches];\r\n const current = caches.shift(); // eslint-disable-line functional/immutable-data\r\n if (current === undefined) {\r\n return createNullCache();\r\n }\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n return current.get(key, defaultValue, events).catch(() => {\r\n return createFallbackableCache({ caches }).get(key, defaultValue, events);\r\n });\r\n },\r\n set(key, value) {\r\n return current.set(key, value).catch(() => {\r\n return createFallbackableCache({ caches }).set(key, value);\r\n });\r\n },\r\n delete(key) {\r\n return current.delete(key).catch(() => {\r\n return createFallbackableCache({ caches }).delete(key);\r\n });\r\n },\r\n clear() {\r\n return current.clear().catch(() => {\r\n return createFallbackableCache({ caches }).clear();\r\n });\r\n },\r\n };\r\n}\n\nfunction createNullCache() {\r\n return {\r\n get(_key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const value = defaultValue();\r\n return value\r\n .then(result => Promise.all([result, events.miss(result)]))\r\n .then(([result]) => result);\r\n },\r\n set(_key, value) {\r\n return Promise.resolve(value);\r\n },\r\n delete(_key) {\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nfunction createInMemoryCache(options = { serializable: true }) {\r\n // eslint-disable-next-line functional/no-let\r\n let cache = {};\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const keyAsString = JSON.stringify(key);\r\n if (keyAsString in cache) {\r\n return Promise.resolve(options.serializable ? JSON.parse(cache[keyAsString]) : cache[keyAsString]);\r\n }\r\n const promise = defaultValue();\r\n const miss = (events && events.miss) || (() => Promise.resolve());\r\n return promise.then((value) => miss(value)).then(() => promise);\r\n },\r\n set(key, value) {\r\n // eslint-disable-next-line functional/immutable-data\r\n cache[JSON.stringify(key)] = options.serializable ? JSON.stringify(value) : value;\r\n return Promise.resolve(value);\r\n },\r\n delete(key) {\r\n // eslint-disable-next-line functional/immutable-data\r\n delete cache[JSON.stringify(key)];\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n cache = {};\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nfunction createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.14.3';\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nfunction createMappedRequestOptions(requestOptions, timeout) {\r\n const options = requestOptions || {};\r\n const data = options.data || {};\r\n Object.keys(options).forEach(key => {\r\n if (['timeout', 'headers', 'queryParameters', 'data', 'cacheable'].indexOf(key) === -1) {\r\n data[key] = options[key]; // eslint-disable-line functional/immutable-data\r\n }\r\n });\r\n return {\r\n data: Object.entries(data).length > 0 ? data : undefined,\r\n timeout: options.timeout || timeout,\r\n headers: options.headers || {},\r\n queryParameters: options.queryParameters || {},\r\n cacheable: options.cacheable,\r\n };\r\n}\n\nconst CallEnum = {\r\n /**\r\n * If the host is read only.\r\n */\r\n Read: 1,\r\n /**\r\n * If the host is write only.\r\n */\r\n Write: 2,\r\n /**\r\n * If the host is both read and write.\r\n */\r\n Any: 3,\r\n};\n\nconst HostStatusEnum = {\r\n Up: 1,\r\n Down: 2,\r\n Timeouted: 3,\r\n};\n\n// By default, API Clients at Algolia have expiration delay\r\n// of 5 mins. In the JavaScript client, we have 2 mins.\r\nconst EXPIRATION_DELAY = 2 * 60 * 1000;\r\nfunction createStatefulHost(host, status = HostStatusEnum.Up) {\r\n return {\r\n ...host,\r\n status,\r\n lastUpdate: Date.now(),\r\n };\r\n}\r\nfunction isStatefulHostUp(host) {\r\n return host.status === HostStatusEnum.Up || Date.now() - host.lastUpdate > EXPIRATION_DELAY;\r\n}\r\nfunction isStatefulHostTimeouted(host) {\r\n return (host.status === HostStatusEnum.Timeouted && Date.now() - host.lastUpdate <= EXPIRATION_DELAY);\r\n}\n\nfunction createStatelessHost(options) {\r\n if (typeof options === 'string') {\r\n return {\r\n protocol: 'https',\r\n url: options,\r\n accept: CallEnum.Any,\r\n };\r\n }\r\n return {\r\n protocol: options.protocol || 'https',\r\n url: options.url,\r\n accept: options.accept || CallEnum.Any,\r\n };\r\n}\n\nconst MethodEnum = {\r\n Delete: 'DELETE',\r\n Get: 'GET',\r\n Post: 'POST',\r\n Put: 'PUT',\r\n};\n\nfunction createRetryableOptions(hostsCache, statelessHosts) {\r\n return Promise.all(statelessHosts.map(statelessHost => {\r\n return hostsCache.get(statelessHost, () => {\r\n return Promise.resolve(createStatefulHost(statelessHost));\r\n });\r\n })).then(statefulHosts => {\r\n const hostsUp = statefulHosts.filter(host => isStatefulHostUp(host));\r\n const hostsTimeouted = statefulHosts.filter(host => isStatefulHostTimeouted(host));\r\n /**\r\n * Note, we put the hosts that previously timeouted on the end of the list.\r\n */\r\n const hostsAvailable = [...hostsUp, ...hostsTimeouted];\r\n const statelessHostsAvailable = hostsAvailable.length > 0\r\n ? hostsAvailable.map(host => createStatelessHost(host))\r\n : statelessHosts;\r\n return {\r\n getTimeout(timeoutsCount, baseTimeout) {\r\n /**\r\n * Imagine that you have 4 hosts, if timeouts will increase\r\n * on the following way: 1 (timeouted) > 4 (timeouted) > 5 (200)\r\n *\r\n * Note that, the very next request, we start from the previous timeout\r\n *\r\n * 5 (timeouted) > 6 (timeouted) > 7 ...\r\n *\r\n * This strategy may need to be reviewed, but is the strategy on the our\r\n * current v3 version.\r\n */\r\n const timeoutMultiplier = hostsTimeouted.length === 0 && timeoutsCount === 0\r\n ? 1\r\n : hostsTimeouted.length + 3 + timeoutsCount;\r\n return timeoutMultiplier * baseTimeout;\r\n },\r\n statelessHosts: statelessHostsAvailable,\r\n };\r\n });\r\n}\n\nconst isNetworkError = ({ isTimedOut, status }) => {\r\n return !isTimedOut && ~~status === 0;\r\n};\r\nconst isRetryable = (response) => {\r\n const status = response.status;\r\n const isTimedOut = response.isTimedOut;\r\n return (isTimedOut || isNetworkError(response) || (~~(status / 100) !== 2 && ~~(status / 100) !== 4));\r\n};\r\nconst isSuccess = ({ status }) => {\r\n return ~~(status / 100) === 2;\r\n};\r\nconst retryDecision = (response, outcomes) => {\r\n if (isRetryable(response)) {\r\n return outcomes.onRetry(response);\r\n }\r\n if (isSuccess(response)) {\r\n return outcomes.onSuccess(response);\r\n }\r\n return outcomes.onFail(response);\r\n};\n\nfunction retryableRequest(transporter, statelessHosts, request, requestOptions) {\r\n const stackTrace = []; // eslint-disable-line functional/prefer-readonly-type\r\n /**\r\n * First we prepare the payload that do not depend from hosts.\r\n */\r\n const data = serializeData(request, requestOptions);\r\n const headers = serializeHeaders(transporter, requestOptions);\r\n const method = request.method;\r\n // On `GET`, the data is proxied to query parameters.\r\n const dataQueryParameters = request.method !== MethodEnum.Get\r\n ? {}\r\n : {\r\n ...request.data,\r\n ...requestOptions.data,\r\n };\r\n const queryParameters = {\r\n 'x-algolia-agent': transporter.userAgent.value,\r\n ...transporter.queryParameters,\r\n ...dataQueryParameters,\r\n ...requestOptions.queryParameters,\r\n };\r\n let timeoutsCount = 0; // eslint-disable-line functional/no-let\r\n const retry = (hosts, // eslint-disable-line functional/prefer-readonly-type\r\n getTimeout) => {\r\n /**\r\n * We iterate on each host, until there is no host left.\r\n */\r\n const host = hosts.pop(); // eslint-disable-line functional/immutable-data\r\n if (host === undefined) {\r\n throw createRetryError(stackTraceWithoutCredentials(stackTrace));\r\n }\r\n const payload = {\r\n data,\r\n headers,\r\n method,\r\n url: serializeUrl(host, request.path, queryParameters),\r\n connectTimeout: getTimeout(timeoutsCount, transporter.timeouts.connect),\r\n responseTimeout: getTimeout(timeoutsCount, requestOptions.timeout),\r\n };\r\n /**\r\n * The stackFrame is pushed to the stackTrace so we\r\n * can have information about onRetry and onFailure\r\n * decisions.\r\n */\r\n const pushToStackTrace = (response) => {\r\n const stackFrame = {\r\n request: payload,\r\n response,\r\n host,\r\n triesLeft: hosts.length,\r\n };\r\n // eslint-disable-next-line functional/immutable-data\r\n stackTrace.push(stackFrame);\r\n return stackFrame;\r\n };\r\n const decisions = {\r\n onSuccess: response => deserializeSuccess(response),\r\n onRetry(response) {\r\n const stackFrame = pushToStackTrace(response);\r\n /**\r\n * If response is a timeout, we increaset the number of\r\n * timeouts so we can increase the timeout later.\r\n */\r\n if (response.isTimedOut) {\r\n timeoutsCount++;\r\n }\r\n return Promise.all([\r\n /**\r\n * Failures are individually send the logger, allowing\r\n * the end user to debug / store stack frames even\r\n * when a retry error does not happen.\r\n */\r\n transporter.logger.info('Retryable failure', stackFrameWithoutCredentials(stackFrame)),\r\n /**\r\n * We also store the state of the host in failure cases. If the host, is\r\n * down it will remain down for the next 2 minutes. In a timeout situation,\r\n * this host will be added end of the list of hosts on the next request.\r\n */\r\n transporter.hostsCache.set(host, createStatefulHost(host, response.isTimedOut ? HostStatusEnum.Timeouted : HostStatusEnum.Down)),\r\n ]).then(() => retry(hosts, getTimeout));\r\n },\r\n onFail(response) {\r\n pushToStackTrace(response);\r\n throw deserializeFailure(response, stackTraceWithoutCredentials(stackTrace));\r\n },\r\n };\r\n return transporter.requester.send(payload).then(response => {\r\n return retryDecision(response, decisions);\r\n });\r\n };\r\n /**\r\n * Finally, for each retryable host perform request until we got a non\r\n * retryable response. Some notes here:\r\n *\r\n * 1. The reverse here is applied so we can apply a `pop` later on => more performant.\r\n * 2. We also get from the retryable options a timeout multiplier that is tailored\r\n * for the current context.\r\n */\r\n return createRetryableOptions(transporter.hostsCache, statelessHosts).then(options => {\r\n return retry([...options.statelessHosts].reverse(), options.getTimeout);\r\n });\r\n}\n\nfunction createTransporter(options) {\r\n const { hostsCache, logger, requester, requestsCache, responsesCache, timeouts, userAgent, hosts, queryParameters, headers, } = options;\r\n const transporter = {\r\n hostsCache,\r\n logger,\r\n requester,\r\n requestsCache,\r\n responsesCache,\r\n timeouts,\r\n userAgent,\r\n headers,\r\n queryParameters,\r\n hosts: hosts.map(host => createStatelessHost(host)),\r\n read(request, requestOptions) {\r\n /**\r\n * First, we compute the user request options. Now, keep in mind,\r\n * that using request options the user is able to modified the intire\r\n * payload of the request. Such as headers, query parameters, and others.\r\n */\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions, transporter.timeouts.read);\r\n const createRetryableRequest = () => {\r\n /**\r\n * Then, we prepare a function factory that contains the construction of\r\n * the retryable request. At this point, we may *not* perform the actual\r\n * request. But we want to have the function factory ready.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Read) !== 0), request, mappedRequestOptions);\r\n };\r\n /**\r\n * Once we have the function factory ready, we need to determine of the\r\n * request is \"cacheable\" - should be cached. Note that, once again,\r\n * the user can force this option.\r\n */\r\n const cacheable = mappedRequestOptions.cacheable !== undefined\r\n ? mappedRequestOptions.cacheable\r\n : request.cacheable;\r\n /**\r\n * If is not \"cacheable\", we immediatly trigger the retryable request, no\r\n * need to check cache implementations.\r\n */\r\n if (cacheable !== true) {\r\n return createRetryableRequest();\r\n }\r\n /**\r\n * If the request is \"cacheable\", we need to first compute the key to ask\r\n * the cache implementations if this request is on progress or if the\r\n * response already exists on the cache.\r\n */\r\n const key = {\r\n request,\r\n mappedRequestOptions,\r\n transporter: {\r\n queryParameters: transporter.queryParameters,\r\n headers: transporter.headers,\r\n },\r\n };\r\n /**\r\n * With the computed key, we first ask the responses cache\r\n * implemention if this request was been resolved before.\r\n */\r\n return transporter.responsesCache.get(key, () => {\r\n /**\r\n * If the request has never resolved before, we actually ask if there\r\n * is a current request with the same key on progress.\r\n */\r\n return transporter.requestsCache.get(key, () => {\r\n return (transporter.requestsCache\r\n /**\r\n * Finally, if there is no request in progress with the same key,\r\n * this `createRetryableRequest()` will actually trigger the\r\n * retryable request.\r\n */\r\n .set(key, createRetryableRequest())\r\n .then(response => Promise.all([transporter.requestsCache.delete(key), response]), err => Promise.all([transporter.requestsCache.delete(key), Promise.reject(err)]))\r\n .then(([_, response]) => response));\r\n });\r\n }, {\r\n /**\r\n * Of course, once we get this response back from the server, we\r\n * tell response cache to actually store the received response\r\n * to be used later.\r\n */\r\n miss: response => transporter.responsesCache.set(key, response),\r\n });\r\n },\r\n write(request, requestOptions) {\r\n /**\r\n * On write requests, no cache mechanisms are applied, and we\r\n * proxy the request immediately to the requester.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Write) !== 0), request, createMappedRequestOptions(requestOptions, transporter.timeouts.write));\r\n },\r\n };\r\n return transporter;\r\n}\n\nfunction createUserAgent(version) {\r\n const userAgent = {\r\n value: `Algolia for JavaScript (${version})`,\r\n add(options) {\r\n const addedUserAgent = `; ${options.segment}${options.version !== undefined ? ` (${options.version})` : ''}`;\r\n if (userAgent.value.indexOf(addedUserAgent) === -1) {\r\n // eslint-disable-next-line functional/immutable-data\r\n userAgent.value = `${userAgent.value}${addedUserAgent}`;\r\n }\r\n return userAgent;\r\n },\r\n };\r\n return userAgent;\r\n}\n\nfunction deserializeSuccess(response) {\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n return JSON.parse(response.content);\r\n }\r\n catch (e) {\r\n throw createDeserializationError(e.message, response);\r\n }\r\n}\r\nfunction deserializeFailure({ content, status }, stackFrame) {\r\n // eslint-disable-next-line functional/no-let\r\n let message = content;\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n message = JSON.parse(content).message;\r\n }\r\n catch (e) {\r\n // ..\r\n }\r\n return createApiError(message, status, stackFrame);\r\n}\n\nfunction serializeUrl(host, path, queryParameters) {\r\n const queryParametersAsString = serializeQueryParameters(queryParameters);\r\n // eslint-disable-next-line functional/no-let\r\n let url = `${host.protocol}://${host.url}/${path.charAt(0) === '/' ? path.substr(1) : path}`;\r\n if (queryParametersAsString.length) {\r\n url += `?${queryParametersAsString}`;\r\n }\r\n return url;\r\n}\r\nfunction serializeQueryParameters(parameters) {\r\n const isObjectOrArray = (value) => Object.prototype.toString.call(value) === '[object Object]' ||\r\n Object.prototype.toString.call(value) === '[object Array]';\r\n return Object.keys(parameters)\r\n .map(key => encode('%s=%s', key, isObjectOrArray(parameters[key]) ? JSON.stringify(parameters[key]) : parameters[key]))\r\n .join('&');\r\n}\r\nfunction serializeData(request, requestOptions) {\r\n if (request.method === MethodEnum.Get ||\r\n (request.data === undefined && requestOptions.data === undefined)) {\r\n return undefined;\r\n }\r\n const data = Array.isArray(request.data)\r\n ? request.data\r\n : { ...request.data, ...requestOptions.data };\r\n return JSON.stringify(data);\r\n}\r\nfunction serializeHeaders(transporter, requestOptions) {\r\n const headers = {\r\n ...transporter.headers,\r\n ...requestOptions.headers,\r\n };\r\n const serializedHeaders = {};\r\n Object.keys(headers).forEach(header => {\r\n const value = headers[header];\r\n // @ts-ignore\r\n // eslint-disable-next-line functional/immutable-data\r\n serializedHeaders[header.toLowerCase()] = value;\r\n });\r\n return serializedHeaders;\r\n}\n\nfunction stackTraceWithoutCredentials(stackTrace) {\r\n return stackTrace.map(stackFrame => stackFrameWithoutCredentials(stackFrame));\r\n}\r\nfunction stackFrameWithoutCredentials(stackFrame) {\r\n const modifiedHeaders = stackFrame.request.headers['x-algolia-api-key']\r\n ? { 'x-algolia-api-key': '*****' }\r\n : {};\r\n return {\r\n ...stackFrame,\r\n request: {\r\n ...stackFrame.request,\r\n headers: {\r\n ...stackFrame.request.headers,\r\n ...modifiedHeaders,\r\n },\r\n },\r\n };\r\n}\n\nfunction createApiError(message, status, transporterStackTrace) {\r\n return {\r\n name: 'ApiError',\r\n message,\r\n status,\r\n transporterStackTrace,\r\n };\r\n}\n\nfunction createDeserializationError(message, response) {\r\n return {\r\n name: 'DeserializationError',\r\n message,\r\n response,\r\n };\r\n}\n\nfunction createRetryError(transporterStackTrace) {\r\n return {\r\n name: 'RetryError',\r\n message: 'Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.',\r\n transporterStackTrace,\r\n };\r\n}\n\nconst createSearchClient = options => {\r\n const appId = options.appId;\r\n const auth = createAuth(options.authMode !== undefined ? options.authMode : AuthMode.WithinHeaders, appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [\r\n { url: `${appId}-dsn.algolia.net`, accept: CallEnum.Read },\r\n { url: `${appId}.algolia.net`, accept: CallEnum.Write },\r\n ].concat(shuffle([\r\n { url: `${appId}-1.algolianet.com` },\r\n { url: `${appId}-2.algolianet.com` },\r\n { url: `${appId}-3.algolianet.com` },\r\n ])),\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/x-www-form-urlencoded' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const base = {\r\n transporter,\r\n appId,\r\n addAlgoliaAgent(segment, version) {\r\n transporter.userAgent.add({ segment, version });\r\n },\r\n clearCache() {\r\n return Promise.all([\r\n transporter.requestsCache.clear(),\r\n transporter.responsesCache.clear(),\r\n ]).then(() => undefined);\r\n },\r\n };\r\n return addMethods(base, options.methods);\r\n};\n\nconst customRequest = (base) => {\r\n return (request, requestOptions) => {\r\n if (request.method === MethodEnum.Get) {\r\n return base.transporter.read(request, requestOptions);\r\n }\r\n return base.transporter.write(request, requestOptions);\r\n };\r\n};\n\nconst initIndex = (base) => {\r\n return (indexName, options = {}) => {\r\n const searchIndex = {\r\n transporter: base.transporter,\r\n appId: base.appId,\r\n indexName,\r\n };\r\n return addMethods(searchIndex, options.methods);\r\n };\r\n};\n\nconst multipleQueries = (base) => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => {\r\n return {\r\n ...query,\r\n params: serializeQueryParameters(query.params || {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/queries',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleSearchForFacetValues = (base) => {\r\n return (queries, requestOptions) => {\r\n return Promise.all(queries.map(query => {\r\n const { facetName, facetQuery, ...params } = query.params;\r\n return initIndex(base)(query.indexName, {\r\n methods: { searchForFacetValues },\r\n }).searchForFacetValues(facetName, facetQuery, {\r\n ...requestOptions,\r\n ...params,\r\n });\r\n }));\r\n };\r\n};\n\nconst findAnswers = (base) => {\r\n return (query, queryLanguages, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/answers/%s/prediction', base.indexName),\r\n data: {\r\n query,\r\n queryLanguages,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst search = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/query', base.indexName),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchForFacetValues = (base) => {\r\n return (facetName, facetQuery, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/facets/%s/query', base.indexName, facetName),\r\n data: {\r\n facetQuery,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst LogLevelEnum = {\r\n Debug: 1,\r\n Info: 2,\r\n Error: 3,\r\n};\n\n/* eslint no-console: 0 */\r\nfunction createConsoleLogger(logLevel) {\r\n return {\r\n debug(message, args) {\r\n if (LogLevelEnum.Debug >= logLevel) {\r\n console.debug(message, args);\r\n }\r\n return Promise.resolve();\r\n },\r\n info(message, args) {\r\n if (LogLevelEnum.Info >= logLevel) {\r\n console.info(message, args);\r\n }\r\n return Promise.resolve();\r\n },\r\n error(message, args) {\r\n console.error(message, args);\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nfunction createBrowserXhrRequester() {\r\n return {\r\n send(request) {\r\n return new Promise((resolve) => {\r\n const baseRequester = new XMLHttpRequest();\r\n baseRequester.open(request.method, request.url, true);\r\n Object.keys(request.headers).forEach(key => baseRequester.setRequestHeader(key, request.headers[key]));\r\n const createTimeout = (timeout, content) => {\r\n return setTimeout(() => {\r\n baseRequester.abort();\r\n resolve({\r\n status: 0,\r\n content,\r\n isTimedOut: true,\r\n });\r\n }, timeout * 1000);\r\n };\r\n const connectTimeout = createTimeout(request.connectTimeout, 'Connection timeout');\r\n // eslint-disable-next-line functional/no-let\r\n let responseTimeout;\r\n // eslint-disable-next-line functional/immutable-data\r\n baseRequester.onreadystatechange = () => {\r\n if (baseRequester.readyState > baseRequester.OPENED && responseTimeout === undefined) {\r\n clearTimeout(connectTimeout);\r\n responseTimeout = createTimeout(request.responseTimeout, 'Socket timeout');\r\n }\r\n };\r\n // eslint-disable-next-line functional/immutable-data\r\n baseRequester.onerror = () => {\r\n // istanbul ignore next\r\n if (baseRequester.status === 0) {\r\n clearTimeout(connectTimeout);\r\n clearTimeout(responseTimeout);\r\n resolve({\r\n content: baseRequester.responseText || 'Network request failed',\r\n status: baseRequester.status,\r\n isTimedOut: false,\r\n });\r\n }\r\n };\r\n // eslint-disable-next-line functional/immutable-data\r\n baseRequester.onload = () => {\r\n clearTimeout(connectTimeout);\r\n clearTimeout(responseTimeout);\r\n resolve({\r\n content: baseRequester.responseText,\r\n status: baseRequester.status,\r\n isTimedOut: false,\r\n });\r\n };\r\n baseRequester.send(request.data);\r\n });\r\n },\r\n };\r\n}\n\nfunction algoliasearch(appId, apiKey, options) {\r\n const commonOptions = {\r\n appId,\r\n apiKey,\r\n timeouts: {\r\n connect: 1,\r\n read: 2,\r\n write: 30,\r\n },\r\n requester: createBrowserXhrRequester(),\r\n logger: createConsoleLogger(LogLevelEnum.Error),\r\n responsesCache: createInMemoryCache(),\r\n requestsCache: createInMemoryCache({ serializable: false }),\r\n hostsCache: createFallbackableCache({\r\n caches: [\r\n createBrowserLocalStorageCache({ key: `${version}-${appId}` }),\r\n createInMemoryCache(),\r\n ],\r\n }),\r\n userAgent: createUserAgent(version).add({\r\n segment: 'Browser',\r\n version: 'lite',\r\n }),\r\n authMode: AuthMode.WithinQueryParameters,\r\n };\r\n return createSearchClient({\r\n ...commonOptions,\r\n ...options,\r\n methods: {\r\n search: multipleQueries,\r\n searchForFacetValues: multipleSearchForFacetValues,\r\n multipleQueries,\r\n multipleSearchForFacetValues,\r\n customRequest,\r\n initIndex: base => (indexName) => {\r\n return initIndex(base)(indexName, {\r\n methods: { search, searchForFacetValues, findAnswers },\r\n });\r\n },\r\n },\r\n });\r\n}\r\n// eslint-disable-next-line functional/immutable-data\r\nalgoliasearch.version = version;\n\nexport default algoliasearch;\n"],"mappings":";;;AAAA,SAASA,EAA+BC,GACpC,MAAMC,EAAe,2BAA2BD,EAAQE,MAExD,IAAIC,EACJ,MAAMC,EAAa,KACf,GAAID,IAAYE,UAAW,CACvBF,EAAUH,EAAQM,cAAgBC,OAAOD,YACrD,CACQ,OAAOH,CAAO,EAElB,MAAMK,EAAe,IACVC,KAAKC,MAAMN,IAAaO,QAAQV,IAAiB,MAE5D,MAAO,CACHW,IAAIV,EAAKW,EAAcC,EAAS,CAC5BC,KAAM,IAAMC,QAAQC,YAEpB,OAAOD,QAAQC,UACVC,MAAK,KACN,MAAMC,EAAcV,KAAKW,UAAUlB,GACnC,MAAMmB,EAAQb,IAAeW,GAC7B,OAAOH,QAAQM,IAAI,CAACD,GAASR,IAAgBQ,IAAUhB,WAAW,IAEjEa,MAAK,EAAEG,EAAOE,KACRP,QAAQM,IAAI,CAACD,EAAOE,GAAUT,EAAOC,KAAKM,OAEhDH,MAAK,EAAEG,KAAWA,GACnC,EACQG,IAAItB,EAAKmB,GACL,OAAOL,QAAQC,UAAUC,MAAK,KAC1B,MAAMO,EAAYjB,IAElBiB,EAAUhB,KAAKW,UAAUlB,IAAQmB,EACjCjB,IAAasB,QAAQzB,EAAcQ,KAAKW,UAAUK,IAClD,OAAOJ,CAAK,GAE5B,EACQM,OAAOzB,GACH,OAAOc,QAAQC,UAAUC,MAAK,KAC1B,MAAMO,EAAYjB,WAEXiB,EAAUhB,KAAKW,UAAUlB,IAChCE,IAAasB,QAAQzB,EAAcQ,KAAKW,UAAUK,GAAW,GAE7E,EACQG,QACI,OAAOZ,QAAQC,UAAUC,MAAK,KAC1Bd,IAAayB,WAAW5B,EAAa,GAErD,EAEA,CAGA,SAAS6B,EAAwB9B,GAC7B,MAAM+B,EAAS,IAAI/B,EAAQ+B,QAC3B,MAAMC,EAAUD,EAAOE,QACvB,GAAID,IAAY3B,UAAW,CACvB,OAAO6B,GACf,CACI,MAAO,CACHtB,IAAIV,EAAKW,EAAcC,EAAS,CAC5BC,KAAM,IAAMC,QAAQC,YAEpB,OAAOe,EAAQpB,IAAIV,EAAKW,EAAcC,GAAQqB,OAAM,IACzCL,EAAwB,CAAEC,WAAUnB,IAAIV,EAAKW,EAAcC,IAElF,EACQU,IAAItB,EAAKmB,GACL,OAAOW,EAAQR,IAAItB,EAAKmB,GAAOc,OAAM,IAC1BL,EAAwB,CAAEC,WAAUP,IAAItB,EAAKmB,IAEpE,EACQM,OAAOzB,GACH,OAAO8B,EAAQL,OAAOzB,GAAKiC,OAAM,IACtBL,EAAwB,CAAEC,WAAUJ,OAAOzB,IAElE,EACQ0B,QACI,OAAOI,EAAQJ,QAAQO,OAAM,IAClBL,EAAwB,CAAEC,WAAUH,SAE3D,EAEA,CAEA,SAASM,IACL,MAAO,CACHtB,IAAIwB,EAAMvB,EAAcC,EAAS,CAC7BC,KAAM,IAAMC,QAAQC,YAEpB,MAAMI,EAAQR,IACd,OAAOQ,EACFH,MAAKmB,GAAUrB,QAAQM,IAAI,CAACe,EAAQvB,EAAOC,KAAKsB,OAChDnB,MAAK,EAAEmB,KAAYA,GACpC,EACQb,IAAIY,EAAMf,GACN,OAAOL,QAAQC,QAAQI,EACnC,EACQM,OAAOS,GACH,OAAOpB,QAAQC,SAC3B,EACQW,QACI,OAAOZ,QAAQC,SAC3B,EAEA,CAEA,SAASqB,EAAoBtC,EAAU,CAAEuC,aAAc,OAEnD,IAAIC,EAAQ,GACZ,MAAO,CACH5B,IAAIV,EAAKW,EAAcC,EAAS,CAC5BC,KAAM,IAAMC,QAAQC,YAEpB,MAAME,EAAcV,KAAKW,UAAUlB,GACnC,GAAIiB,KAAeqB,EAAO,CACtB,OAAOxB,QAAQC,QAAQjB,EAAQuC,aAAe9B,KAAKC,MAAM8B,EAAMrB,IAAgBqB,EAAMrB,GACrG,CACY,MAAMsB,EAAU5B,IAChB,MAAME,EAAQD,GAAUA,EAAOC,MAAI,KAAYC,QAAQC,WACvD,OAAOwB,EAAQvB,MAAMG,GAAUN,EAAKM,KAAQH,MAAK,IAAMuB,GACnE,EACQjB,IAAItB,EAAKmB,GAELmB,EAAM/B,KAAKW,UAAUlB,IAAQF,EAAQuC,aAAe9B,KAAKW,UAAUC,GAASA,EAC5E,OAAOL,QAAQC,QAAQI,EACnC,EACQM,OAAOzB,UAEIsC,EAAM/B,KAAKW,UAAUlB,IAC5B,OAAOc,QAAQC,SAC3B,EACQW,QACIY,EAAQ,GACR,OAAOxB,QAAQC,SAC3B,EAEA,CAEA,SAASyB,EAAWC,EAAUC,EAAOC,GACjC,MAAMC,EAAc,CAChB,oBAAqBD,EACrB,2BAA4BD,GAEhC,MAAO,CACHG,UACI,OAAOJ,IAAaK,EAASC,cAAgBH,EAAc,EACvE,EACQI,kBACI,OAAOP,IAAaK,EAASG,sBAAwBL,EAAc,EAC/E,EAEA,CAGA,SAASM,EAAQC,GACb,IAAIC,EAAID,EAAME,OAAS,EAEvB,IAAKD,EAAGA,EAAI,EAAGA,IAAK,CAChB,MAAME,EAAIC,KAAKC,MAAMD,KAAKE,UAAYL,EAAI,IAC1C,MAAMM,EAAIP,EAAMC,GAChBD,EAAMC,GAAKD,EAAMG,GACjBH,EAAMG,GAAKI,CACnB,CACI,OAAOP,CACX,CACA,SAASQ,EAAWC,EAAMC,GACtB,IAAKA,EAAS,CACV,OAAOD,CACf,CACIE,OAAOC,KAAKF,GAASG,SAAQhE,IAEzB4D,EAAK5D,GAAO6D,EAAQ7D,GAAK4D,EAAK,IAElC,OAAOA,CACX,CACA,SAASK,EAAOC,KAAWC,GAEvB,IAAIC,EAAI,EACR,OAAOF,EAAOG,QAAQ,OAAO,IAAMC,mBAAmBH,EAAKC,OAC/D,CAEA,MAAMG,EAAU,SAEhB,MAAMzB,EAAW,CAIbG,sBAAuB,EAIvBF,cAAe,GAGnB,SAASyB,EAA2BC,EAAgBC,GAChD,MAAM5E,EAAU2E,GAAkB,GAClC,MAAME,EAAO7E,EAAQ6E,MAAQ,GAC7Bb,OAAOC,KAAKjE,GAASkE,SAAQhE,IACzB,GAAI,CAAC,UAAW,UAAW,kBAAmB,OAAQ,aAAa4E,QAAQ5E,MAAU,EAAG,CACpF2E,EAAK3E,GAAOF,EAAQE,EAChC,KAEI,MAAO,CACH2E,KAAMb,OAAOe,QAAQF,GAAMtB,OAAS,EAAIsB,EAAOxE,UAC/CuE,QAAS5E,EAAQ4E,SAAWA,EAC5B7B,QAAS/C,EAAQ+C,SAAW,GAC5BG,gBAAiBlD,EAAQkD,iBAAmB,GAC5C8B,UAAWhF,EAAQgF,UAE3B,CAEA,MAAMC,EAAW,CAIbC,KAAM,EAINC,MAAO,EAIPC,IAAK,GAGT,MAAMC,EAAiB,CACnBC,GAAI,EACJC,KAAM,EACNC,UAAW,GAKf,MAAMC,EAAmB,EAAI,GAAK,IAClC,SAASC,EAAmBC,EAAMC,EAASP,EAAeC,IACtD,MAAO,IACAK,EACHC,SACAC,WAAYC,KAAKC,MAEzB,CACA,SAASC,EAAiBL,GACtB,OAAOA,EAAKC,SAAWP,EAAeC,IAAMQ,KAAKC,MAAQJ,EAAKE,WAAaJ,CAC/E,CACA,SAASQ,EAAwBN,GAC7B,OAAQA,EAAKC,SAAWP,EAAeG,WAAaM,KAAKC,MAAQJ,EAAKE,YAAcJ,CACxF,CAEA,SAASS,EAAoBlG,GACzB,UAAWA,IAAY,SAAU,CAC7B,MAAO,CACHmG,SAAU,QACVC,IAAKpG,EACLqG,OAAQpB,EAASG,IAE7B,CACI,MAAO,CACHe,SAAUnG,EAAQmG,UAAY,QAC9BC,IAAKpG,EAAQoG,IACbC,OAAQrG,EAAQqG,QAAUpB,EAASG,IAE3C,CAEA,MAAMkB,EAAa,CACfC,OAAQ,SACRC,IAAK,MACLC,KAAM,OACNC,IAAK,OAGT,SAASC,EAAuBC,EAAYC,GACxC,OAAO7F,QAAQM,IAAIuF,EAAeC,KAAIC,GAC3BH,EAAWhG,IAAImG,GAAe,IAC1B/F,QAAQC,QAAQyE,EAAmBqB,SAE9C7F,MAAK8F,IACL,MAAMC,EAAUD,EAAcE,QAAOvB,GAAQK,EAAiBL,KAC9D,MAAMwB,EAAiBH,EAAcE,QAAOvB,GAAQM,EAAwBN,KAI5E,MAAMyB,EAAiB,IAAIH,KAAYE,GACvC,MAAME,EAA0BD,EAAe7D,OAAS,EAClD6D,EAAeN,KAAInB,GAAQO,EAAoBP,KAC/CkB,EACN,MAAO,CACHS,WAAWC,EAAeC,GAYtB,MAAMC,EAAoBN,EAAe5D,SAAW,GAAKgE,IAAkB,EACrE,EACAJ,EAAe5D,OAAS,EAAIgE,EAClC,OAAOE,EAAoBD,CAC3C,EACYX,eAAgBQ,EACnB,GAET,CAEA,MAAMK,EAAiB,EAAGC,aAAY/B,aAC1B+B,KAAgB/B,IAAW,EAEvC,MAAMgC,EAAeC,IACjB,MAAMjC,EAASiC,EAASjC,OACxB,MAAM+B,EAAaE,EAASF,WAC5B,OAAQA,GAAcD,EAAeG,OAAiBjC,EAAS,OAAS,MAAQA,EAAS,OAAS,CAAE,EAExG,MAAMkC,EAAY,EAAGlC,eACPA,EAAS,OAAS,EAEhC,MAAMmC,EAAgB,CAACF,EAAUG,KAC7B,GAAIJ,EAAYC,GAAW,CACvB,OAAOG,EAASC,QAAQJ,EAChC,CACI,GAAIC,EAAUD,GAAW,CACrB,OAAOG,EAASE,UAAUL,EAClC,CACI,OAAOG,EAASG,OAAON,EAAS,EAGpC,SAASO,EAAiBC,EAAaxB,EAAgByB,EAAS3D,GAC5D,MAAM4D,EAAa,GAInB,MAAM1D,EAAO2D,EAAcF,EAAS3D,GACpC,MAAM5B,EAAU0F,EAAiBJ,EAAa1D,GAC9C,MAAM+D,EAASJ,EAAQI,OAEvB,MAAMC,EAAsBL,EAAQI,SAAWpC,EAAWE,IACpD,GACA,IACK8B,EAAQzD,QACRF,EAAeE,MAE1B,MAAM3B,EAAkB,CACpB,kBAAmBmF,EAAYO,UAAUvH,SACtCgH,EAAYnF,mBACZyF,KACAhE,EAAezB,iBAEtB,IAAIqE,EAAgB,EACpB,MAAMsB,EAAQ,CAACC,EACfxB,KAII,MAAM3B,EAAOmD,EAAMC,MACnB,GAAIpD,IAAStF,UAAW,CACpB,MAAM2I,EAAiBC,EAA6BV,GAChE,CACQ,MAAMW,EAAU,CACZrE,OACA9B,UACA2F,SACAtC,IAAK+C,EAAaxD,EAAM2C,EAAQc,KAAMlG,GACtCmG,eAAgB/B,EAAWC,EAAec,EAAYiB,SAASC,SAC/DC,gBAAiBlC,EAAWC,EAAe5C,EAAeC,UAO9D,MAAM6E,EAAoB5B,IACtB,MAAM6B,EAAa,CACfpB,QAASY,EACTrB,WACAlC,OACAgE,UAAWb,EAAMvF,QAGrBgF,EAAWqB,KAAKF,GAChB,OAAOA,CAAU,EAErB,MAAMG,EAAY,CACd3B,UAAWL,GAAYiC,EAAmBjC,GAC1CI,QAAQJ,GACJ,MAAM6B,EAAaD,EAAiB5B,GAKpC,GAAIA,EAASF,WAAY,CACrBJ,GACpB,CACgB,OAAOvG,QAAQM,IAAI,CAMf+G,EAAY0B,OAAOC,KAAK,oBAAqBC,EAA6BP,IAM1ErB,EAAYzB,WAAWpF,IAAImE,EAAMD,EAAmBC,EAAMkC,EAASF,WAAatC,EAAeG,UAAYH,EAAeE,SAC3HrE,MAAK,IAAM2H,EAAMC,EAAOxB,IAC3C,EACYa,OAAON,GACH4B,EAAiB5B,GACjB,MAAMqC,EAAmBrC,EAAUoB,EAA6BV,GAChF,GAEQ,OAAOF,EAAY8B,UAAUC,KAAKlB,GAAShI,MAAK2G,GACrCE,EAAcF,EAAUgC,IACjC,EAUN,OAAOlD,EAAuB0B,EAAYzB,WAAYC,GAAgB3F,MAAKlB,GAChE6I,EAAM,IAAI7I,EAAQ6G,gBAAgBwD,UAAWrK,EAAQsH,aAEpE,CAEA,SAASgD,EAAkBtK,GACvB,MAAM4G,WAAEA,EAAUmD,OAAEA,EAAMI,UAAEA,EAASI,cAAEA,EAAaC,eAAEA,EAAclB,SAAEA,EAAQV,UAAEA,EAASE,MAAEA,EAAK5F,gBAAEA,EAAeH,QAAEA,GAAa/C,EAChI,MAAMqI,EAAc,CAChBzB,aACAmD,SACAI,YACAI,gBACAC,iBACAlB,WACAV,YACA7F,UACAG,kBACA4F,MAAOA,EAAMhC,KAAInB,GAAQO,EAAoBP,KAC7C8E,KAAKnC,EAAS3D,GAMV,MAAM+F,EAAuBhG,EAA2BC,EAAgB0D,EAAYiB,SAASmB,MAC7F,MAAME,EAAyB,IAMpBvC,EAAiBC,EAAaA,EAAYS,MAAM5B,QAAOvB,IAASA,EAAKU,OAASpB,EAASC,QAAU,IAAIoD,EAASoC,GAOzH,MAAM1F,EAAY0F,EAAqB1F,YAAc3E,UAC/CqK,EAAqB1F,UACrBsD,EAAQtD,UAKd,GAAIA,IAAc,KAAM,CACpB,OAAO2F,GACvB,CAMY,MAAMzK,EAAM,CACRoI,UACAoC,uBACArC,YAAa,CACTnF,gBAAiBmF,EAAYnF,gBAC7BH,QAASsF,EAAYtF,UAO7B,OAAOsF,EAAYmC,eAAe5J,IAAIV,GAAK,IAKhCmI,EAAYkC,cAAc3J,IAAIV,GAAK,IAC9BmI,EAAYkC,cAMf/I,IAAItB,EAAKyK,KACTzJ,MAAK2G,GAAY7G,QAAQM,IAAI,CAAC+G,EAAYkC,cAAc5I,OAAOzB,GAAM2H,MAAY+C,GAAO5J,QAAQM,IAAI,CAAC+G,EAAYkC,cAAc5I,OAAOzB,GAAMc,QAAQ6J,OAAOD,OAC3J1J,MAAK,EAAE4J,EAAGjD,KAAcA,OAElC,CAMC9G,KAAM8G,GAAYQ,EAAYmC,eAAehJ,IAAItB,EAAK2H,IAEtE,EACQkD,MAAMzC,EAAS3D,GAKX,OAAOyD,EAAiBC,EAAaA,EAAYS,MAAM5B,QAAOvB,IAASA,EAAKU,OAASpB,EAASE,SAAW,IAAImD,EAAS5D,EAA2BC,EAAgB0D,EAAYiB,SAASyB,OAClM,GAEI,OAAO1C,CACX,CAEA,SAAS2C,EAAgBvG,GACrB,MAAMmE,EAAY,CACdvH,MAAO,2BAA2BoD,KAClCwG,IAAIjL,GACA,MAAMkL,EAAiB,KAAKlL,EAAQmL,UAAUnL,EAAQyE,UAAYpE,UAAY,KAAKL,EAAQyE,WAAa,KACxG,GAAImE,EAAUvH,MAAMyD,QAAQoG,MAAqB,EAAG,CAEhDtC,EAAUvH,MAAQ,GAAGuH,EAAUvH,QAAQ6J,GACvD,CACY,OAAOtC,CACnB,GAEI,OAAOA,CACX,CAEA,SAASkB,EAAmBjC,GAExB,IACI,OAAOpH,KAAKC,MAAMmH,EAASuD,QAInC,CAFI,MAAOC,GACH,MAAMC,EAA2BD,EAAEE,QAAS1D,EACpD,CACA,CACA,SAASqC,GAAmBkB,QAAEA,EAAOxF,OAAEA,GAAU8D,GAE7C,IAAI6B,EAAUH,EAEd,IACIG,EAAU9K,KAAKC,MAAM0K,GAASG,OAItC,CAFI,MAAOF,GAEX,CACI,OAAOG,EAAeD,EAAS3F,EAAQ8D,EAC3C,CAEA,SAASP,EAAaxD,EAAMyD,EAAMlG,GAC9B,MAAMuI,EAA0BC,EAAyBxI,GAEzD,IAAIkD,EAAM,GAAGT,EAAKQ,cAAcR,EAAKS,OAAOgD,EAAKuC,OAAO,KAAO,IAAMvC,EAAKwC,OAAO,GAAKxC,IACtF,GAAIqC,EAAwBlI,OAAQ,CAChC6C,GAAO,IAAIqF,GACnB,CACI,OAAOrF,CACX,CACA,SAASsF,EAAyBG,GAC9B,MAAMC,EAAmBzK,GAAU2C,OAAO+H,UAAUC,SAASC,KAAK5K,KAAW,mBACzE2C,OAAO+H,UAAUC,SAASC,KAAK5K,KAAW,iBAC9C,OAAO2C,OAAOC,KAAK4H,GACd/E,KAAI5G,GAAOiE,EAAO,QAASjE,EAAK4L,EAAgBD,EAAW3L,IAAQO,KAAKW,UAAUyK,EAAW3L,IAAQ2L,EAAW3L,MAChHgM,KAAK,IACd,CACA,SAAS1D,EAAcF,EAAS3D,GAC5B,GAAI2D,EAAQI,SAAWpC,EAAWE,KAC7B8B,EAAQzD,OAASxE,WAAasE,EAAeE,OAASxE,UAAY,CACnE,OAAOA,SACf,CACI,MAAMwE,EAAOsH,MAAMC,QAAQ9D,EAAQzD,MAC7ByD,EAAQzD,KACR,IAAKyD,EAAQzD,QAASF,EAAeE,MAC3C,OAAOpE,KAAKW,UAAUyD,EAC1B,CACA,SAAS4D,EAAiBJ,EAAa1D,GACnC,MAAM5B,EAAU,IACTsF,EAAYtF,WACZ4B,EAAe5B,SAEtB,MAAMsJ,EAAoB,GAC1BrI,OAAOC,KAAKlB,GAASmB,SAAQoI,IACzB,MAAMjL,EAAQ0B,EAAQuJ,GAGtBD,EAAkBC,EAAOC,eAAiBlL,CAAK,IAEnD,OAAOgL,CACX,CAEA,SAASpD,EAA6BV,GAClC,OAAOA,EAAWzB,KAAI4C,GAAcO,EAA6BP,IACrE,CACA,SAASO,EAA6BP,GAClC,MAAM8C,EAAkB9C,EAAWpB,QAAQvF,QAAQ,qBAC7C,CAAE,oBAAqB,SACvB,GACN,MAAO,IACA2G,EACHpB,QAAS,IACFoB,EAAWpB,QACdvF,QAAS,IACF2G,EAAWpB,QAAQvF,WACnByJ,IAInB,CAEA,SAAShB,EAAeD,EAAS3F,EAAQ6G,GACrC,MAAO,CACHC,KAAM,WACNnB,UACA3F,SACA6G,wBAER,CAEA,SAASnB,EAA2BC,EAAS1D,GACzC,MAAO,CACH6E,KAAM,uBACNnB,UACA1D,WAER,CAEA,SAASmB,EAAiByD,GACtB,MAAO,CACHC,KAAM,aACNnB,QAAS,gHACTkB,wBAER,CAEA,MAAME,EAAqB3M,IACvB,MAAM4C,EAAQ5C,EAAQ4C,MACtB,MAAMgK,EAAOlK,EAAW1C,EAAQ2C,WAAatC,UAAYL,EAAQ2C,SAAWK,EAASC,cAAeL,EAAO5C,EAAQ6C,QACnH,MAAMwF,EAAciC,EAAkB,CAClCxB,MAAO,CACH,CAAE1C,IAAK,GAAGxD,oBAAyByD,OAAQpB,EAASC,MACpD,CAAEkB,IAAK,GAAGxD,gBAAqByD,OAAQpB,EAASE,QAClD0H,OAAOzJ,EAAQ,CACb,CAAEgD,IAAK,GAAGxD,sBACV,CAAEwD,IAAK,GAAGxD,sBACV,CAAEwD,IAAK,GAAGxD,4BAEX5C,EACH+C,QAAS,IACF6J,EAAK7J,aACL,CAAE,eAAgB,wCAClB/C,EAAQ+C,SAEfG,gBAAiB,IACV0J,EAAK1J,qBACLlD,EAAQkD,mBAGnB,MAAMY,EAAO,CACTuE,cACAzF,QACAkK,gBAAgB3B,EAAS1G,GACrB4D,EAAYO,UAAUqC,IAAI,CAAEE,UAAS1G,WACjD,EACQsI,aACI,OAAO/L,QAAQM,IAAI,CACf+G,EAAYkC,cAAc3I,QAC1ByG,EAAYmC,eAAe5I,UAC5BV,MAAK,IAAMb,WAC1B,GAEI,OAAOwD,EAAWC,EAAM9D,EAAQ+D,QAAQ,EAG5C,MAAMiJ,EAAiBlJ,GACZ,CAACwE,EAAS3D,KACb,GAAI2D,EAAQI,SAAWpC,EAAWE,IAAK,CACnC,OAAO1C,EAAKuE,YAAYoC,KAAKnC,EAAS3D,EAClD,CACQ,OAAOb,EAAKuE,YAAY0C,MAAMzC,EAAS3D,EAAe,EAI9D,MAAMsI,EAAanJ,GACR,CAACoJ,EAAWlN,EAAU,MACzB,MAAMmN,EAAc,CAChB9E,YAAavE,EAAKuE,YAClBzF,MAAOkB,EAAKlB,MACZsK,aAEJ,OAAOrJ,EAAWsJ,EAAanN,EAAQ+D,QAAQ,EAIvD,MAAMqJ,EAAmBtJ,GACd,CAACuJ,EAAS1I,KACb,MAAM2I,EAAWD,EAAQvG,KAAIyG,IAClB,IACAA,EACHC,OAAQ9B,EAAyB6B,EAAMC,QAAU,QAGzD,OAAO1J,EAAKuE,YAAYoC,KAAK,CACzB/B,OAAQpC,EAAWG,KACnB2C,KAAM,sBACNvE,KAAM,CACFyI,YAEJtI,UAAW,MACZL,EAAe,EAI1B,MAAM8I,EAAgC3J,GAC3B,CAACuJ,EAAS1I,IACN3D,QAAQM,IAAI+L,EAAQvG,KAAIyG,IAC3B,MAAMG,UAAEA,EAASC,WAAEA,KAAeH,GAAWD,EAAMC,OACnD,OAAOP,EAAUnJ,EAAVmJ,CAAgBM,EAAML,UAAW,CACpCnJ,QAAS,CAAE6J,0BACZA,qBAAqBF,EAAWC,EAAY,IACxChJ,KACA6I,GACL,KAKd,MAAMK,EAAe/J,GACV,CAACyJ,EAAOO,EAAgBnJ,IACpBb,EAAKuE,YAAYoC,KAAK,CACzB/B,OAAQpC,EAAWG,KACnB2C,KAAMjF,EAAO,0BAA2BL,EAAKoJ,WAC7CrI,KAAM,CACF0I,QACAO,kBAEJ9I,UAAW,MACZL,GAIX,MAAMoJ,EAAUjK,GACL,CAACyJ,EAAO5I,IACJb,EAAKuE,YAAYoC,KAAK,CACzB/B,OAAQpC,EAAWG,KACnB2C,KAAMjF,EAAO,qBAAsBL,EAAKoJ,WACxCrI,KAAM,CACF0I,SAEJvI,UAAW,MACZL,GAIX,MAAMiJ,EAAwB9J,GACnB,CAAC4J,EAAWC,EAAYhJ,IACpBb,EAAKuE,YAAYoC,KAAK,CACzB/B,OAAQpC,EAAWG,KACnB2C,KAAMjF,EAAO,+BAAgCL,EAAKoJ,UAAWQ,GAC7D7I,KAAM,CACF8I,cAEJ3I,UAAW,MACZL,GAIX,MAAMqJ,EAAe,CACjBC,MAAO,EACPC,KAAM,EACNC,MAAO,GAIX,SAASC,EAAoBC,GACzB,MAAO,CACHC,MAAM/C,EAASlH,GACX,GAAI2J,EAAaC,OAASI,EAAU,CAChCE,QAAQD,MAAM/C,EAASlH,EACvC,CACY,OAAOrD,QAAQC,SAC3B,EACQ+I,KAAKuB,EAASlH,GACV,GAAI2J,EAAaE,MAAQG,EAAU,CAC/BE,QAAQvE,KAAKuB,EAASlH,EACtC,CACY,OAAOrD,QAAQC,SAC3B,EACQuN,MAAMjD,EAASlH,GACXkK,QAAQC,MAAMjD,EAASlH,GACvB,OAAOrD,QAAQC,SAC3B,EAEA,CAEA,SAASwN,IACL,MAAO,CACHrE,KAAK9B,GACD,OAAO,IAAItH,SAASC,IAChB,MAAMyN,EAAgB,IAAIC,eAC1BD,EAAcE,KAAKtG,EAAQI,OAAQJ,EAAQlC,IAAK,MAChDpC,OAAOC,KAAKqE,EAAQvF,SAASmB,SAAQhE,GAAOwO,EAAcG,iBAAiB3O,EAAKoI,EAAQvF,QAAQ7C,MAChG,MAAM4O,EAAgB,CAAClK,EAASwG,IACrB2D,YAAW,KACdL,EAAcM,QACd/N,EAAQ,CACJ2E,OAAQ,EACRwF,UACAzD,WAAY,MACd,GACH/C,EAAU,KAEjB,MAAMyE,EAAiByF,EAAcxG,EAAQe,eAAgB,sBAE7D,IAAIG,EAEJkF,EAAcO,mBAAqB,KAC/B,GAAIP,EAAcQ,WAAaR,EAAcS,QAAU3F,IAAoBnJ,UAAW,CAClF+O,aAAa/F,GACbG,EAAkBsF,EAAcxG,EAAQkB,gBAAiB,iBACjF,GAGgBkF,EAAcW,QAAU,KAEpB,GAAIX,EAAc9I,SAAW,EAAG,CAC5BwJ,aAAa/F,GACb+F,aAAa5F,GACbvI,EAAQ,CACJmK,QAASsD,EAAcY,cAAgB,yBACvC1J,OAAQ8I,EAAc9I,OACtB+B,WAAY,OAExC,GAGgB+G,EAAca,OAAS,KACnBH,aAAa/F,GACb+F,aAAa5F,GACbvI,EAAQ,CACJmK,QAASsD,EAAcY,aACvB1J,OAAQ8I,EAAc9I,OACtB+B,WAAY,OACd,EAEN+G,EAActE,KAAK9B,EAAQzD,KAAK,GAEhD,EAEA,CAEA,SAAS2K,EAAc5M,EAAOC,EAAQ7C,GAClC,MAAMyP,EAAgB,CAClB7M,QACAC,SACAyG,SAAU,CACNC,QAAS,EACTkB,KAAM,EACNM,MAAO,IAEXZ,UAAWsE,IACX1E,OAAQqE,EAAoBJ,EAAaG,OACzC3D,eAAgBlI,IAChBiI,cAAejI,EAAoB,CAAEC,aAAc,QACnDqE,WAAY9E,EAAwB,CAChCC,OAAQ,CACJhC,EAA+B,CAAEG,IAAK,GAAGuE,KAAW7B,MACpDN,OAGRsG,UAAWoC,EAAgBvG,GAASwG,IAAI,CACpCE,QAAS,UACT1G,QAAS,SAEb9B,SAAUK,EAASG,uBAEvB,OAAOwJ,EAAmB,IACnB8C,KACAzP,EACH+D,QAAS,CACLgK,OAAQX,EACRQ,qBAAsBH,EACtBL,kBACAK,+BACAT,gBACAC,UAAWnJ,GAASoJ,GACTD,EAAUnJ,EAAVmJ,CAAgBC,EAAW,CAC9BnJ,QAAS,CAAEgK,SAAQH,uBAAsBC,mBAK7D,CAEA2B,EAAc/K,QAAUA,S"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ function t(t){const r=t.assignedNodes({flatten:true});let n="";[...r].map((t=>{n+=t.textContent+" "}));return n.trim()}function r(t,r){if(r){return t.querySelector(`[slot="${r}"]`)!==null}if(this.host.shadowRoot){return[...Array.from(t.childNodes)].some((t=>{if(t.nodeType===t.TEXT_NODE&&t.textContent.trim()!==""){return true}if(t.nodeType===t.ELEMENT_NODE){const r=t;if(!r.hasAttribute("slot")){return true}}return false}))}if(t.querySelector(`:not(.sc-${t.tagName.toLowerCase()}):not([slot])`))return true}export{t as g,r as h};
5
+ //# sourceMappingURL=p-dc565459.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getTextContent","slot","nodes","assignedNodes","flatten","text","map","node","textContent","trim","hasSlot","host","name","querySelector","this","shadowRoot","Array","from","childNodes","some","nodeType","TEXT_NODE","ELEMENT_NODE","el","hasAttribute","tagName","toLowerCase"],"sources":["./src/utils/slot.ts"],"sourcesContent":["/**\n * Given a slot, this function iterates over all of its assigned elements and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n * @param slot\n * @returns a concatenated string from html and text nodes\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = '';\n\n [...nodes].map((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n * @param slot\n * @returns a concatenated string of text\n */\nexport function getTextContent(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let text = '';\n\n [...nodes].map((node) => {\n text += node.textContent + ' ';\n });\n\n return text.trim();\n}\n\n/**\n * Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n * slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\n * @param host a custom element host\n * @param name a slot to find\n * @returns boolean\n */\nexport function hasSlot(host: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return host.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n if (this.host.shadowRoot) {\n return [...Array.from(host.childNodes)].some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n // non-shadow component...TODO - only for 'scoped' components atm\n if (host.querySelector(`:not(.sc-${host.tagName.toLowerCase()}):not([slot])`))\n return true;\n}\n"],"mappings":";;;SA6BgBA,EAAeC,GAC7B,MAAMC,EAAQD,EAAKE,cAAc,CAAEC,QAAS,OAC5C,IAAIC,EAAO,GAEX,IAAIH,GAAOI,KAAKC,IACdF,GAAQE,EAAKC,YAAc,GAAG,IAGhC,OAAOH,EAAKI,MACd,C,SASgBC,EAAQC,EAAmBC,GAEzC,GAAIA,EAAM,CACR,OAAOD,EAAKE,cAAc,UAAUD,SAAc,I,CAIpD,GAAIE,KAAKH,KAAKI,WAAY,CACxB,MAAO,IAAIC,MAAMC,KAAKN,EAAKO,aAAaC,MAAMZ,IAC5C,GAAIA,EAAKa,WAAab,EAAKc,WAAad,EAAKC,YAAYC,SAAW,GAAI,CACtE,OAAO,I,CAGT,GAAIF,EAAKa,WAAab,EAAKe,aAAc,CACvC,MAAMC,EAAKhB,EACX,IAAKgB,EAAGC,aAAa,QAAS,CAC5B,OAAO,I,EAIX,OAAO,KAAK,G,CAKhB,GAAIb,EAAKE,cAAc,YAAYF,EAAKc,QAAQC,8BAC9C,OAAO,IACX,Q"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import{r as i,c as t,h as s,g as e}from"./p-f6a8467a.js";import{g as o}from"./p-74a7fc4f.js";import{P as n}from"./p-51bc8b59.js";import{a as r}from"./p-f88fa15c.js";const a=":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{--width:auto;--border:var(--nano-layer-border-style, 1px solid var(--nano-layer-border-color, rgba(0, 0, 0, 0.1)));--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--background:var(--nano-layer-bg, #fff);--padding:10px 0;--overflow:auto;--dropdown-z-index:var(--nano-layer-index-dropdown, 300);--min-width:0;--box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));--menu-height:var(--max-menu-height, 50vh);display:flex}.dropdown{position:relative}.dropdown__trigger{display:block}.dropdown__positioner{position:absolute;z-index:var(--dropdown-z-index);min-inline-size:var(--min-width);border:0;background:none;padding:0;overflow:visible}.dropdown__positioner::backdrop{display:none}.dropdown__positioner[popover],.dropdown__positioner:popover-open{inset:unset}@media (max-width: 35.9375em){.dropdown__positioner{z-index:100}}.dropdown__panel{padding:var(--padding);background:var(--background);min-inline-size:var(--min-width);inline-size:var(--width);border:var(--border);border-radius:var(--border-radius);color:currentcolor;box-shadow:var(--box-shadow);opacity:0;transition:0.2s ease opacity, 0.2s ease transform, 0.2s ease min-block-size;min-block-size:20px;overflow:var(--overflow);box-sizing:content-box !important}.dropdown__panel.loading{overflow-y:hidden}.dropdown__panel.top{transform:translateY(-20px) translateZ(0)}.dropdown__panel.bottom{transform:translateY(20px) translateZ(0)}.dropdown__positioner.popover-visible .dropdown__panel{opacity:1;transform:translateY(0) translateZ(0)}.dropdown__panel ::slotted(nano-menu){max-block-size:var(--menu-height)}.dropdown__accessible-title{clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);block-size:1px;inline-size:1px;margin:-1px;overflow:hidden;padding:0;position:absolute}";let h=0;const d=class{constructor(s){i(this,s);this.nanoShow=t(this,"nanoShow",7);this.nanoAfterShow=t(this,"nanoAfterShow",7);this.nanoHide=t(this,"nanoHide",7);this.nanoAfterHide=t(this,"nanoAfterHide",7);this.dropdownId=`dropdown-${h++}`;this.labelId=this.dropdownId+"-title";this.ignoreOpenWatcher=false;this.didLoad=false;this.togglePanel=()=>{if(!this.autoOpen)return;this.open?this.hide():this.show()};this.handleTriggerKeyDown=i=>{if(["ArrowDown","ArrowUp"," "].includes(i.key)){this.show();i.preventDefault();i.stopPropagation();if(this.menu)this.menu.setFocus()}};this.handleTriggerSlotChange=()=>{this.updateAccessibleTrigger()};this.autoOpen=true;this.open=false;this.closeOnSelect=true;this.containingElement=undefined;this.tetherTo=null;this.placement="bottom-start";this.distance=2;this.skidding=0;this.hoist=false;this.dialogTitle=undefined;this.eventType=undefined}get menu(){return this.host.querySelector("nano-menu")}handleOpenChange(){if(this.ignoreOpenWatcher)return;this.open?this.show():this.hide();if(this.accessibleTrigger){this.accessibleTrigger.setAttribute("aria-expanded",this.open.toString());return}this.updateAccessibleTrigger()}handleTetherToChange(){this.createPopover();this.updateAccessibleTrigger()}handlePopoverOptionsChange(){if(!this.popover)return;this.popover.setOptions({strategy:this.hoist?"fixed":"absolute",placement:this.placement,skidding:this.skidding,distance:this.distance})}secondaryOpen(i){if(!i.detail.secondaryMenu)return;i.stopPropagation();this.panel.classList.add("loading");this.panel.addEventListener("transitionend",(()=>{this.panel.classList.remove("loading")}),{once:true});this.panel.style.minHeight=i.detail.secondaryMenu.scrollHeight+"px"}secondaryClose(i){if(!i.detail.secondaryMenu)return;i.stopPropagation();if(!i.target.parentElement)return;this.panel.style.minHeight=i.target.parentElement.scrollHeight+"px"}handlePanelSelect(i){const t=i.target;if(this.closeOnSelect&&t.tagName.toLowerCase()==="nano-menu")this.hide()}async show(){var i;this.ignoreOpenWatcher=true;this.open=true;const t=this.nanoShow.emit();if(t.defaultPrevented){this.open=false;this.ignoreOpenWatcher=false;return}this.popover.show();if(typeof((i=this.positioner)===null||i===void 0?void 0:i.showPopover)==="function"){this.positioner.showPopover()}this.ignoreOpenWatcher=false;document.addEventListener("mousedown",this.handleDocumentMouseDown);document.addEventListener("keydown",this.handleDocumentKeyDown)}async hide(){var i;this.ignoreOpenWatcher=true;this.open=false;const t=this.nanoHide.emit();if(t.defaultPrevented){this.open=true;this.ignoreOpenWatcher=false;return}if(this.popover)this.popover.hide();this.ignoreOpenWatcher=false;if(typeof((i=this.positioner)===null||i===void 0?void 0:i.hidePopover)==="function"){this.positioner.hidePopover()}document.removeEventListener("mousedown",this.handleDocumentMouseDown);document.removeEventListener("keydown",this.handleDocumentKeyDown);if(this.accessibleTrigger&&this.focusEleInDropDwn()){this.accessibleTrigger.focus()}}focusEleInDropDwn(i){var t;const s=o();if(i&&((t=i.composedPath())===null||t===void 0?void 0:t.length)){const t=i.composedPath().includes(this.containingElement);return!i.composedPath().includes(this.accessibleTrigger)&&t}return s&&s.closest(this.containingElement.tagName.toLowerCase())===this.containingElement&&s!==this.accessibleTrigger}updateAccessibleTrigger(){if(!this.didLoad)return;let i;this.accessibleTrigger=null;if(!this.tetherTo){const t=Array.from(this.host.querySelectorAll('[slot="trigger"]'));i=t.map(r)[0]}else{i=r(this.tetherTo)}if(i){i.setAttribute("aria-haspopup","true");i.setAttribute("aria-expanded",this.open?"true":"false");this.accessibleTrigger=i}}handleDocumentKeyDown(i){if(i.key==="Escape"){this.hide();return}if(i.key==="Tab"){setTimeout((()=>{if(document.activeElement&&document.activeElement.closest(this.containingElement.tagName.toLowerCase())!==this.containingElement){this.hide();return}}))}if(this.menu&&["ArrowDown","ArrowUp"].includes(i.key)){if(!this.open||this.focusEleInDropDwn(i))return;i.preventDefault();this.menu.setFocus();return}const t=i.composedPath();if(this.menu&&t.length&&!t.find((i=>i!==this.menu))){this.menu.dispatchEvent(new KeyboardEvent(i.type,i));return}}handleDocumentMouseDown(i){if(!this.focusEleInDropDwn(i)){this.hide();return}}createPopover(){if(!this.tetherTo&&!this.trigger||!this.positioner)return;if(this.popover){if(this.open)this.hide();this.popover.destroy();this.popover=null}this.popover=new n(this.tetherTo||this.trigger,this.positioner,{strategy:this.hoist?"fixed":"absolute",placement:this.placement,distance:this.distance,skidding:this.skidding,transitionElement:this.panel,onAfterHide:()=>this.nanoAfterHide.emit(),onAfterShow:()=>this.nanoAfterShow.emit(),onTransitionEnd:()=>{if(!this.open){this.panel.scrollTop=0}else if(this.menu){this.menu.showActiveElement()}}});if(this.open){this.show()}}connectedCallback(){this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this);this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this);if(!this.containingElement)this.containingElement=this.host}componentDidLoad(){this.didLoad=true;this.createPopover();setTimeout((()=>this.updateAccessibleTrigger()),100)}disconnectedCallback(){if(this.host.isConnected)this.hide();if(this.popover)this.popover.destroy()}render(){return s("div",{part:"base",id:this.dropdownId,class:{dropdown:true,"dropdown--open":this.open}},s("span",{part:"trigger",class:"dropdown__trigger",ref:i=>this.trigger=i,onKeyDown:this.handleTriggerKeyDown,onClick:this.togglePanel},s("slot",{name:"trigger",onSlotchange:this.handleTriggerSlotChange})),s("div",{ref:i=>this.positioner=i,class:"dropdown__positioner",popover:"manual",id:this.dropdownId+"-positioner"},s("div",{ref:i=>this.panel=i,part:"panel",class:`dropdown__panel ${this.placement.split("-").join(" ")}`,"aria-hidden":!this.open,role:this.host.getAttribute("role")==="group"?"group":"dialog","aria-modal":this.host.getAttribute("role")==="group"?undefined:"true","aria-labelledby":this.dialogTitle?this.labelId:undefined},this.dialogTitle&&s("span",{id:this.labelId,class:"dropdown__accessible-title","aria-live":this.host.getAttribute("role")==="group"?undefined:"polite"},this.dialogTitle),s("slot",null))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],tetherTo:["handleTetherToChange"],placement:["handlePopoverOptionsChange"],distance:["handlePopoverOptionsChange"],skidding:["handlePopoverOptionsChange"],hoist:["handlePopoverOptionsChange"]}}};d.style=a;export{d as nano_dropdown};
5
+ //# sourceMappingURL=p-ede12d35.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dropdownCss","dropDownIds","Dropdown","this","dropdownId","labelId","ignoreOpenWatcher","didLoad","togglePanel","autoOpen","open","hide","show","handleTriggerKeyDown","event","includes","key","preventDefault","stopPropagation","menu","setFocus","handleTriggerSlotChange","updateAccessibleTrigger","host","querySelector","handleOpenChange","accessibleTrigger","setAttribute","toString","handleTetherToChange","createPopover","handlePopoverOptionsChange","popover","setOptions","strategy","hoist","placement","skidding","distance","secondaryOpen","ev","detail","secondaryMenu","panel","classList","add","addEventListener","remove","once","style","minHeight","scrollHeight","secondaryClose","target","parentElement","handlePanelSelect","closeOnSelect","tagName","toLowerCase","async","nanoShow","emit","defaultPrevented","_a","positioner","showPopover","document","handleDocumentMouseDown","handleDocumentKeyDown","nanoHide","hidePopover","removeEventListener","focusEleInDropDwn","focus","e","activeElement","getActiveElement","composedPath","length","ddInPath","containingElement","closest","tetherTo","assignedElements","Array","from","querySelectorAll","map","getNearestTabbableElement","setTimeout","ePath","find","el","dispatchEvent","KeyboardEvent","type","trigger","destroy","Popover","transitionElement","onAfterHide","nanoAfterHide","onAfterShow","nanoAfterShow","onTransitionEnd","scrollTop","showActiveElement","connectedCallback","bind","componentDidLoad","disconnectedCallback","isConnected","render","h","part","id","class","dropdown","ref","onKeyDown","onClick","name","onSlotchange","split","join","role","getAttribute","undefined","dialogTitle"],"sources":["./src/components/dropdown/dropdown.scss?tag=nano-dropdown&encapsulation=shadow","./src/components/dropdown/dropdown.tsx"],"sourcesContent":["@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --width: width of the dropdown. Defaults to 'auto'\n * @prop --border: Defaults to #{$layer-border-style}\n * @prop --border-radius: Defaults to #{$layer-bg-color};\n * @prop --background: Defaults to #{$layer-bg-color};\n * @prop --padding: padding of the drop down. Default to '10px 0';\n * @prop --overflow: `nano-menu` with nested `nav-item` requires hidden overflow. This can be overidden;\n * @prop --dropdown-z-index: Defaults to #{$layer-index-dropdown};\n * @prop --min-width: Defaults to 0;\n * @prop --box-shadow: #{$layer-shadow-large};\n * @prop --max-menu-height: max height of a slotted menu. defaults to 50vh\n */\n\n --width: auto;\n --border: #{$layer-border-style};\n --border-radius: #{$layer-border-radius};\n --background: #{$layer-bg-color};\n --padding: 10px 0;\n --overflow: auto;\n --dropdown-z-index: #{$layer-index-dropdown};\n --min-width: 0;\n --box-shadow: #{$layer-shadow-large};\n --menu-height: var(--max-menu-height, 50vh);\n\n display: flex;\n}\n\n.dropdown {\n position: relative;\n\n &__trigger {\n display: block;\n }\n\n &__positioner {\n position: absolute;\n z-index: var(--dropdown-z-index);\n min-inline-size: var(--min-width);\n border: 0;\n background: none;\n padding: 0;\n overflow: visible;\n\n &::backdrop { display: none; }\n\n &[popover],\n &:popover-open {\n inset: unset;\n }\n\n @media (max-width: 35.9375em) {\n z-index: 100;\n }\n }\n\n &__panel {\n padding: var(--padding);\n background: var(--background);\n min-inline-size: var(--min-width);\n inline-size: var(--width);\n border: var(--border);\n border-radius: var(--border-radius);\n color: currentcolor;\n box-shadow: var(--box-shadow);\n opacity: 0;\n transition: 0.2s ease opacity, 0.2s ease transform, 0.2s ease min-block-size;\n min-block-size: 20px;\n overflow: var(--overflow);\n box-sizing: content-box !important;\n\n &.loading {\n overflow-y: hidden;\n }\n\n &.top {\n transform: translateY(-20px) translateZ(0);\n }\n\n &.bottom {\n transform: translateY(20px) translateZ(0);\n }\n\n .dropdown__positioner.popover-visible & {\n opacity: 1;\n transform: translateY(0) translateZ(0);\n }\n\n ::slotted(nano-menu) {\n max-block-size: var(--menu-height);\n }\n }\n\n &__accessible-title {\n @include visually-hide();\n }\n}\n","import {\n Component,\n Element,\n Event,\n Method,\n Prop,\n Watch,\n h,\n Listen,\n ComponentInterface,\n EventEmitter,\n} from '@stencil/core';\nimport { getActiveElement } from '../../utils/active-element';\nimport Popover, { PopoverPlacement } from '../../utils/popover';\nimport { getNearestTabbableElement } from '../../utils/tabbable';\nimport type { NavItemEventDetail } from '../../interface';\n\nlet dropDownIds = 0;\n\n/**\n * Dropdowns show additional content in a panel.\n * Designed to work well with nano-menu components to provide a list of options (`nano-nav-items` / `nano-option`).\n * @slot trigger - The dropdown's trigger.\n * @slot - The dropdown's content.\n */\n@Component({\n tag: 'nano-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface {\n private dropdownId = `dropdown-${dropDownIds++}`;\n private labelId = this.dropdownId + '-title';\n private ignoreOpenWatcher = false;\n private panel: HTMLElement;\n private popover: Popover;\n private trigger: HTMLElement;\n private positioner: HTMLElement;\n private accessibleTrigger: HTMLElement;\n private didLoad = false;\n private get menu() {\n return this.host.querySelector('nano-menu') as HTMLNanoMenuElement;\n }\n\n @Element() host: HTMLNanoDropdownElement;\n\n /** Determines if the dropdown should open automatically when the trigger is clicked */\n @Prop() autoOpen = true;\n\n /** Indicates whether or not the dropdown is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n @Watch('open')\n handleOpenChange() {\n if (this.ignoreOpenWatcher) return;\n\n this.open ? this.show() : this.hide();\n\n if (this.accessibleTrigger) {\n this.accessibleTrigger.setAttribute(\n 'aria-expanded',\n this.open.toString()\n );\n return;\n }\n\n this.updateAccessibleTrigger();\n }\n\n /**\n * Determines whether the dropdown should hide when a menu item is selected.\n */\n @Prop() closeOnSelect = true;\n\n /**\n * The dropdown will close when the user interacts outside of this element (e.g. clicking).\n */\n @Prop({ mutable: true }) containingElement: HTMLElement;\n\n /**\n * If you don't want to use the trigger slot, you can use this to 'tether' the dropdown to another element.\n * And you will still need to control when the component is opened (using show() / hide() or the `open` prop)\n */\n @Prop() tetherTo: HTMLElement = null;\n\n @Watch('tetherTo')\n handleTetherToChange() {\n this.createPopover();\n this.updateAccessibleTrigger();\n }\n\n /**\n * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\n * inside of the viewport.\n */\n @Prop() placement: PopoverPlacement = 'bottom-start';\n\n /**\n * The distance in pixels from which to offset the panel away from its trigger.\n */\n @Prop() distance = 2;\n\n /**\n * The distance in pixels from which to offset the panel along its trigger.\n */\n @Prop() skidding = 0;\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n @Watch('placement')\n @Watch('distance')\n @Watch('skidding')\n @Watch('hoist')\n handlePopoverOptionsChange() {\n if (!this.popover) return;\n\n this.popover.setOptions({\n strategy: this.hoist ? 'fixed' : 'absolute',\n placement: this.placement,\n skidding: this.skidding,\n distance: this.distance,\n });\n }\n\n /**\n * Title used to describe the dropdown content for accessibility\n */\n @Prop() dialogTitle!: string;\n\n // Events\n\n /**\n * Emitted when the dropdown opens. Calling `event.preventDefault()` will prevent it from being opened.\n */\n @Event() nanoShow: EventEmitter;\n\n /**\n * Emitted after the dropdown opens and all transitions are complete.\n */\n @Event() nanoAfterShow: EventEmitter;\n\n /**\n * Emitted when the dropdown closes. Calling `event.preventDefault()` will prevent it from being closed.\n */\n @Event() nanoHide: EventEmitter;\n\n /**\n * Emitted after the dropdown closes and all transitions are complete.\n */\n @Event() nanoAfterHide: EventEmitter;\n\n // this is a massive hack to make stencil expose the `EventEmitter` type in the final build\n // because the `Dropdown` class is used as a type in `nano-datalist`\n /** @internal */\n @Prop() eventType: EventEmitter;\n\n // Listeners\n\n @Listen('nanoOpen')\n secondaryOpen(ev: CustomEvent) {\n if (!(ev.detail as NavItemEventDetail).secondaryMenu) return;\n ev.stopPropagation();\n\n this.panel.classList.add('loading');\n this.panel.addEventListener(\n 'transitionend',\n () => {\n this.panel.classList.remove('loading');\n },\n { once: true }\n );\n\n this.panel.style.minHeight =\n (ev.detail as NavItemEventDetail).secondaryMenu.scrollHeight + 'px';\n }\n\n @Listen('nanoClose')\n secondaryClose(ev: CustomEvent) {\n if (!(ev.detail as NavItemEventDetail).secondaryMenu) return;\n ev.stopPropagation();\n if (!(ev.target as HTMLElement).parentElement) return;\n this.panel.style.minHeight =\n (ev.target as HTMLElement).parentElement.scrollHeight + 'px';\n }\n\n @Listen('nanoSelect')\n handlePanelSelect(event: CustomEvent) {\n const target = event.target as HTMLElement;\n\n // Hide the dropdown when a menu item is selected\n if (this.closeOnSelect && target.tagName.toLowerCase() === 'nano-menu')\n this.hide();\n }\n\n // Methods\n\n /** Shows the dropdown panel */\n @Method()\n async show() {\n this.ignoreOpenWatcher = true;\n this.open = true;\n\n const nanoShow = this.nanoShow.emit();\n\n if (nanoShow.defaultPrevented) {\n this.open = false;\n this.ignoreOpenWatcher = false;\n return;\n }\n\n this.popover.show();\n\n // @ts-expect-error\n if (typeof this.positioner?.showPopover === 'function') {\n // @ts-expect-error\n this.positioner.showPopover();\n }\n\n this.ignoreOpenWatcher = false;\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n /** Hides the dropdown panel */\n @Method()\n async hide() {\n this.ignoreOpenWatcher = true;\n this.open = false;\n\n const nanoHide = this.nanoHide.emit();\n\n if (nanoHide.defaultPrevented) {\n this.open = true;\n this.ignoreOpenWatcher = false;\n return;\n }\n\n if (this.popover) this.popover.hide();\n this.ignoreOpenWatcher = false;\n\n // @ts-expect-error\n if (typeof this.positioner?.hidePopover === 'function') {\n // @ts-expect-error\n this.positioner.hidePopover();\n }\n\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n\n if (this.accessibleTrigger && this.focusEleInDropDwn()) {\n this.accessibleTrigger.focus();\n }\n }\n\n // Private methods\n\n /**\n * Decides if the current active element or element\n * connected to the current event is connected to the Dropdown\n * @param e\n * @returns whether the current focus is within the dropdown\n */\n private focusEleInDropDwn(e?: Event) {\n const activeElement = getActiveElement();\n\n if (e && e.composedPath()?.length) {\n const ddInPath = e.composedPath().includes(this.containingElement);\n return !e.composedPath().includes(this.accessibleTrigger) && ddInPath;\n }\n\n return (\n activeElement &&\n activeElement.closest(this.containingElement.tagName.toLowerCase()) ===\n this.containingElement &&\n activeElement !== this.accessibleTrigger\n );\n }\n\n private togglePanel = () => {\n if (!this.autoOpen) return;\n this.open ? this.hide() : this.show();\n };\n\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n private updateAccessibleTrigger() {\n if (!this.didLoad) return;\n\n let accessibleTrigger: HTMLElement;\n this.accessibleTrigger = null;\n\n if (!this.tetherTo) {\n const assignedElements = Array.from(\n this.host.querySelectorAll('[slot=\"trigger\"]')\n );\n accessibleTrigger = assignedElements.map(getNearestTabbableElement)[0];\n } else {\n accessibleTrigger = getNearestTabbableElement(this.tetherTo);\n }\n\n if (accessibleTrigger) {\n accessibleTrigger.setAttribute('aria-haspopup', 'true');\n accessibleTrigger.setAttribute(\n 'aria-expanded',\n this.open ? 'true' : 'false'\n );\n this.accessibleTrigger = accessibleTrigger;\n }\n }\n\n // Handlers\n\n private handleDocumentKeyDown(event: KeyboardEvent) {\n // Close when escape is pressed\n if (event.key === 'Escape') {\n this.hide();\n return;\n }\n\n // Close when tabbing results in the focus leaving the close element\n if (event.key === 'Tab') {\n setTimeout(() => {\n if (\n document.activeElement &&\n document.activeElement.closest(\n this.containingElement.tagName.toLowerCase()\n ) !== this.containingElement\n ) {\n this.hide();\n return;\n }\n });\n }\n\n // If a menu is present, focus on it when certain keys are pressed\n if (this.menu && ['ArrowDown', 'ArrowUp'].includes(event.key)) {\n // must have menu item, must have pressed down, must be open and must not have focus within dd\n if (!this.open || this.focusEleInDropDwn(event)) return;\n event.preventDefault();\n this.menu.setFocus();\n return;\n }\n\n // All other keys focus the menu and pass the event through to menu (necessary for type-to-search to work)\n const ePath = event.composedPath();\n if (this.menu && ePath.length && !ePath.find((el) => el !== this.menu)) {\n this.menu.dispatchEvent(new KeyboardEvent(event.type, event));\n return;\n }\n }\n\n private handleDocumentMouseDown(event: MouseEvent) {\n // Close when clicking outside of the close element\n\n if (!this.focusEleInDropDwn(event)) {\n this.hide();\n return;\n }\n }\n\n private handleTriggerKeyDown = (event: KeyboardEvent) => {\n // Open the panel when pressing down or up while focused on the trigger\n if (['ArrowDown', 'ArrowUp', ' '].includes(event.key)) {\n this.show();\n event.preventDefault();\n event.stopPropagation();\n\n if (this.menu) this.menu.setFocus();\n }\n };\n\n private handleTriggerSlotChange = () => {\n this.updateAccessibleTrigger();\n };\n\n private createPopover() {\n if ((!this.tetherTo && !this.trigger) || !this.positioner) return;\n\n if (this.popover) {\n if (this.open) this.hide();\n this.popover.destroy();\n this.popover = null;\n }\n\n this.popover = new Popover(this.tetherTo || this.trigger, this.positioner, {\n strategy: this.hoist ? 'fixed' : 'absolute',\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n transitionElement: this.panel,\n onAfterHide: () => this.nanoAfterHide.emit(),\n onAfterShow: () => this.nanoAfterShow.emit(),\n onTransitionEnd: () => {\n if (!this.open) {\n this.panel.scrollTop = 0;\n } else if (this.menu) {\n this.menu.showActiveElement();\n }\n },\n });\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n // Stencil hooks\n\n connectedCallback() {\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n\n if (!this.containingElement) this.containingElement = this.host;\n }\n\n componentDidLoad() {\n this.didLoad = true;\n this.createPopover();\n setTimeout(() => this.updateAccessibleTrigger(), 100);\n }\n\n disconnectedCallback() {\n if (this.host.isConnected) this.hide();\n if (this.popover) this.popover.destroy();\n }\n\n render() {\n return (\n <div\n part=\"base\"\n id={this.dropdownId}\n class={{\n dropdown: true,\n 'dropdown--open': this.open,\n }}\n >\n <span\n part=\"trigger\"\n class=\"dropdown__trigger\"\n ref={(el) => (this.trigger = el)}\n onKeyDown={this.handleTriggerKeyDown}\n onClick={this.togglePanel}\n >\n <slot name=\"trigger\" onSlotchange={this.handleTriggerSlotChange} />\n </span>\n\n <div\n ref={(el) => (this.positioner = el)}\n class=\"dropdown__positioner\"\n // @ts-ignore\n popover=\"manual\"\n id={this.dropdownId + '-positioner'}\n >\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class={`dropdown__panel ${this.placement.split('-').join(' ')}`}\n aria-hidden={!this.open}\n role={\n this.host.getAttribute('role') === 'group' ? 'group' : 'dialog'\n }\n aria-modal={\n this.host.getAttribute('role') === 'group' ? undefined : 'true'\n }\n aria-labelledby={this.dialogTitle ? this.labelId : undefined}\n >\n {this.dialogTitle && (\n <span\n id={this.labelId}\n class=\"dropdown__accessible-title\"\n aria-live={\n this.host.getAttribute('role') === 'group'\n ? undefined\n : 'polite'\n }\n >\n {this.dialogTitle}\n </span>\n )}\n <slot />\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import{r as t,c as n,h as e,a as r,g as i}from"./p-f6a8467a.js";import{c as u,a as o}from"./p-8fe51abf.js";import{C as a}from"./p-653ae985.js";import{W as s}from"./p-60a8c896.js";import"./p-7bff5224.js";var c=u((function(t,n){
5
+ /*! algoliasearch.umd.js | 4.14.3 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */
6
+ !function(n,e){t.exports=e()}(o,(function(){function t(t,n,e){return n in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}function n(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function e(e){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?n(Object(i),!0).forEach((function(n){t(e,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):n(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function r(t,n){if(null==t)return{};var e,r,i=function(t,n){if(null==t)return{};var e,r,i={},u=Object.keys(t);for(r=0;r<u.length;r++)e=u[r],n.indexOf(e)>=0||(i[e]=t[e]);return i}(t,n);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(t);for(r=0;r<u.length;r++)e=u[r],n.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(i[e]=t[e])}return i}function i(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){if(!(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)))return;var e=[],r=!0,i=!1,u=void 0;try{for(var o,a=t[Symbol.iterator]();!(r=(o=a.next()).done)&&(e.push(o.value),!n||e.length!==n);r=!0);}catch(t){i=!0,u=t}finally{try{r||null==a.return||a.return()}finally{if(i)throw u}}return e}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function u(t){return function(t){if(Array.isArray(t)){for(var n=0,e=new Array(t.length);n<t.length;n++)e[n]=t[n];return e}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function o(t){var n,e="algoliasearch-client-js-".concat(t.key),r=function(){return void 0===n&&(n=t.localStorage||window.localStorage),n},u=function(){return JSON.parse(r().getItem(e)||"{}")};return{get:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var e=JSON.stringify(t),r=u()[e];return Promise.all([r||n(),void 0!==r])})).then((function(t){var n=i(t,2),r=n[0],u=n[1];return Promise.all([r,u||e.miss(r)])})).then((function(t){return i(t,1)[0]}))},set:function(t,n){return Promise.resolve().then((function(){var i=u();return i[JSON.stringify(t)]=n,r().setItem(e,JSON.stringify(i)),n}))},delete:function(t){return Promise.resolve().then((function(){var n=u();delete n[JSON.stringify(t)],r().setItem(e,JSON.stringify(n))}))},clear:function(){return Promise.resolve().then((function(){r().removeItem(e)}))}}}function a(t){var n=u(t.caches),e=n.shift();return void 0===e?{get:function(t,n){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},r=n();return r.then((function(t){return Promise.all([t,e.miss(t)])})).then((function(t){return i(t,1)[0]}))},set:function(t,n){return Promise.resolve(n)},delete:function(t){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(t,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return e.get(t,r,i).catch((function(){return a({caches:n}).get(t,r,i)}))},set:function(t,r){return e.set(t,r).catch((function(){return a({caches:n}).set(t,r)}))},delete:function(t){return e.delete(t).catch((function(){return a({caches:n}).delete(t)}))},clear:function(){return e.clear().catch((function(){return a({caches:n}).clear()}))}}}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},n={};return{get:function(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},u=JSON.stringify(e);if(u in n)return Promise.resolve(t.serializable?JSON.parse(n[u]):n[u]);var o=r(),a=i&&i.miss||function(){return Promise.resolve()};return o.then((function(t){return a(t)})).then((function(){return o}))},set:function(e,r){return n[JSON.stringify(e)]=t.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(t){return delete n[JSON.stringify(t)],Promise.resolve()},clear:function(){return n={},Promise.resolve()}}}function c(t,n,e){var r={"x-algolia-api-key":e,"x-algolia-application-id":n};return{headers:function(){return t===m.WithinHeaders?r:{}},queryParameters:function(){return t===m.WithinQueryParameters?r:{}}}}function f(t){var n=0;return t((function e(){return n++,new Promise((function(r){setTimeout((function(){r(t(e))}),Math.min(100*n,1e3))}))}))}function h(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t,n){return Promise.resolve()};return Object.assign(t,{wait:function(e){return h(t.then((function(t){return Promise.all([n(t,e),t])})).then((function(t){return t[1]})))}})}function d(t){for(var n=t.length-1;n>0;n--){var e=Math.floor(Math.random()*(n+1)),r=t[n];t[n]=t[e],t[e]=r}return t}function l(t,n){return n?(Object.keys(n).forEach((function(e){t[e]=n[e](t)})),t):t}function p(t){for(var n=arguments.length,e=new Array(n>1?n-1:0),r=1;r<n;r++)e[r-1]=arguments[r];var i=0;return t.replace(/%s/g,(function(){return encodeURIComponent(e[i++])}))}var m={WithinQueryParameters:0,WithinHeaders:1};function y(t,n){var e=t||{},r=e.data||{};return Object.keys(e).forEach((function(t){-1===["timeout","headers","queryParameters","data","cacheable"].indexOf(t)&&(r[t]=e[t])})),{data:Object.entries(r).length>0?r:void 0,timeout:e.timeout||n,headers:e.headers||{},queryParameters:e.queryParameters||{},cacheable:e.cacheable}}var v={Read:1,Write:2,Any:3},b=1,g=2,j=3;function O(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:b;return e(e({},t),{},{status:n,lastUpdate:Date.now()})}function x(t){return"string"==typeof t?{protocol:"https",url:t,accept:v.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||v.Any}}var P="DELETE",I="GET",S="POST",w="PUT";function q(t,n){return Promise.all(n.map((function(n){return t.get(n,(function(){return Promise.resolve(O(n))}))}))).then((function(t){var e=t.filter((function(t){return function(t){return t.status===b||Date.now()-t.lastUpdate>12e4}(t)})),r=t.filter((function(t){return function(t){return t.status===j&&Date.now()-t.lastUpdate<=12e4}(t)})),i=[].concat(u(e),u(r));return{getTimeout:function(t,n){return(0===r.length&&0===t?1:r.length+3+t)*n},statelessHosts:i.length>0?i.map((function(t){return x(t)})):n}}))}function D(t,n,r,i){var o=[],a=function(t,n){if(t.method===I||void 0===t.data&&void 0===n.data)return;var r=Array.isArray(t.data)?t.data:e(e({},t.data),n.data);return JSON.stringify(r)}(r,i),s=function(t,n){var r=e(e({},t.headers),n.headers),i={};return Object.keys(r).forEach((function(t){var n=r[t];i[t.toLowerCase()]=n})),i}(t,i),c=r.method,f=r.method!==I?{}:e(e({},r.data),i.data),h=e(e(e({"x-algolia-agent":t.userAgent.value},t.queryParameters),f),i.queryParameters),d=0,l=function n(e,u){var f=e.pop();if(void 0===f)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:N(o)};var l={data:a,headers:s,method:c,url:E(f,r.path,h),connectTimeout:u(d,t.timeouts.connect),responseTimeout:u(d,i.timeout)},p=function(t){var n={request:l,response:t,host:f,triesLeft:e.length};return o.push(n),n},m={onSuccess:function(t){return function(t){try{return JSON.parse(t.content)}catch(n){throw function(t,n){return{name:"DeserializationError",message:t,response:n}}(n.message,t)}}(t)},onRetry:function(r){var i=p(r);return r.isTimedOut&&d++,Promise.all([t.logger.info("Retryable failure",k(i)),t.hostsCache.set(f,O(f,r.isTimedOut?j:g))]).then((function(){return n(e,u)}))},onFail:function(t){throw p(t),function(t,n){var e=t.content,r=t.status,i=e;try{i=JSON.parse(e).message}catch(t){}return function(t,n,e){return{name:"ApiError",message:t,status:n,transporterStackTrace:e}}(i,r,n)}(t,N(o))}};return t.requester.send(l).then((function(t){return function(t,n){return function(t){var n=t.status;return t.isTimedOut||function(t){var n=t.isTimedOut,e=t.status;return!n&&0==~~e}(t)||2!=~~(n/100)&&4!=~~(n/100)}(t)?n.onRetry(t):2==~~(t.status/100)?n.onSuccess(t):n.onFail(t)}(t,m)}))};return q(t.hostsCache,n).then((function(t){return l(u(t.statelessHosts).reverse(),t.getTimeout)}))}function T(t){var n=t.hostsCache,e=t.logger,r=t.requester,u=t.requestsCache,o=t.responsesCache,a=t.timeouts,s=t.userAgent,c=t.hosts,f=t.queryParameters,h={hostsCache:n,logger:e,requester:r,requestsCache:u,responsesCache:o,timeouts:a,userAgent:s,headers:t.headers,queryParameters:f,hosts:c.map((function(t){return x(t)})),read:function(t,n){var e=y(n,h.timeouts.read),r=function(){return D(h,h.hosts.filter((function(t){return 0!=(t.accept&v.Read)})),t,e)};if(!0!==(void 0!==e.cacheable?e.cacheable:t.cacheable))return r();var u={request:t,mappedRequestOptions:e,transporter:{queryParameters:h.queryParameters,headers:h.headers}};return h.responsesCache.get(u,(function(){return h.requestsCache.get(u,(function(){return h.requestsCache.set(u,r()).then((function(t){return Promise.all([h.requestsCache.delete(u),t])}),(function(t){return Promise.all([h.requestsCache.delete(u),Promise.reject(t)])})).then((function(t){var n=i(t,2);return n[1]}))}))}),{miss:function(t){return h.responsesCache.set(u,t)}})},write:function(t,n){return D(h,h.hosts.filter((function(t){return 0!=(t.accept&v.Write)})),t,y(n,h.timeouts.write))}};return h}function A(t){var n={value:"Algolia for JavaScript (".concat(t,")"),add:function(t){var e="; ".concat(t.segment).concat(void 0!==t.version?" (".concat(t.version,")"):"");return-1===n.value.indexOf(e)&&(n.value="".concat(n.value).concat(e)),n}};return n}function E(t,n,e){var r=R(e),i="".concat(t.protocol,"://").concat(t.url,"/").concat("/"===n.charAt(0)?n.substr(1):n);return r.length&&(i+="?".concat(r)),i}function R(t){return Object.keys(t).map((function(n){return p("%s=%s",n,(e=t[n],"[object Object]"===Object.prototype.toString.call(e)||"[object Array]"===Object.prototype.toString.call(e)?JSON.stringify(t[n]):t[n]));var e})).join("&")}function N(t){return t.map((function(t){return k(t)}))}function k(t){var n=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return e(e({},t),{},{request:e(e({},t.request),{},{headers:e(e({},t.request.headers),n)})})}var C=function(t){return function(n,e){return t.transporter.write({method:S,path:"2/abtests",data:n},e)}},U=function(t){return function(n,e){return t.transporter.write({method:P,path:p("2/abtests/%s",n)},e)}},J=function(t){return function(n,e){return t.transporter.read({method:I,path:p("2/abtests/%s",n)},e)}},z=function(t){return function(n){return t.transporter.read({method:I,path:"2/abtests"},n)}},F=function(t){return function(n,e){return t.transporter.write({method:S,path:p("2/abtests/%s/stop",n)},e)}},K=function(t){return function(n){return t.transporter.read({method:I,path:"1/strategies/personalization"},n)}},B=function(t){return function(n,e){return t.transporter.write({method:S,path:"1/strategies/personalization",data:n},e)}};function M(t){return function n(e){return t.request(e).then((function(r){if(void 0!==t.batch&&t.batch(r.hits),!t.shouldStop(r))return r.cursor?n({cursor:r.cursor}):n({page:(e.page||0)+1})}))}({})}var Q=function(t){return function(n,i){var u=i||{},o=u.queryParameters,a=r(u,["queryParameters"]),s=e({acl:n},void 0!==o?{queryParameters:o}:{});return h(t.transporter.write({method:S,path:"1/keys",data:s},a),(function(n,e){return f((function(r){return tt(t)(n.key,e).catch((function(t){if(404!==t.status)throw t;return r()}))}))}))}},G=function(t){return function(n,e,r){var i=y(r);return i.queryParameters["X-Algolia-User-ID"]=n,t.transporter.write({method:S,path:"1/clusters/mapping",data:{cluster:e}},i)}},L=function(t){return function(n,e,r){return t.transporter.write({method:S,path:"1/clusters/mapping/batch",data:{users:n,cluster:e}},r)}},W=function(t){return function(n,e){return h(t.transporter.write({method:S,path:p("/1/dictionaries/%s/batch",n),data:{clearExistingDictionaryEntries:!0,requests:{action:"addEntry",body:[]}}},e),(function(n,e){return St(t)(n.taskID,e)}))}},H=function(t){return function(n,e,r){return h(t.transporter.write({method:S,path:p("1/indexes/%s/operation",n),data:{operation:"copy",destination:e}},r),(function(e,r){return at(t)(n,{methods:{waitTask:dn}}).waitTask(e.taskID,r)}))}},V=function(t){return function(n,r,i){return H(t)(n,r,e(e({},i),{},{scope:[pn.Rules]}))}},_=function(t){return function(n,r,i){return H(t)(n,r,e(e({},i),{},{scope:[pn.Settings]}))}},X=function(t){return function(n,r,i){return H(t)(n,r,e(e({},i),{},{scope:[pn.Synonyms]}))}},Y=function(t){return function(n,e){return n.method===I?t.transporter.read(n,e):t.transporter.write(n,e)}},Z=function(t){return function(n,e){return h(t.transporter.write({method:P,path:p("1/keys/%s",n)},e),(function(e,r){return f((function(e){return tt(t)(n,r).then(e).catch((function(t){if(404!==t.status)throw t}))}))}))}},$=function(t){return function(n,e,r){var i=e.map((function(t){return{action:"deleteEntry",body:{objectID:t}}}));return h(t.transporter.write({method:S,path:p("/1/dictionaries/%s/batch",n),data:{clearExistingDictionaryEntries:!1,requests:i}},r),(function(n,e){return St(t)(n.taskID,e)}))}},tt=function(t){return function(n,e){return t.transporter.read({method:I,path:p("1/keys/%s",n)},e)}},nt=function(t){return function(n,e){return t.transporter.read({method:I,path:p("1/task/%s",n.toString())},e)}},et=function(t){return function(n){return t.transporter.read({method:I,path:"/1/dictionaries/*/settings"},n)}},rt=function(t){return function(n){return t.transporter.read({method:I,path:"1/logs"},n)}},it=function(t){return function(n){return t.transporter.read({method:I,path:"1/clusters/mapping/top"},n)}},ut=function(t){return function(n,e){return t.transporter.read({method:I,path:p("1/clusters/mapping/%s",n)},e)}},ot=function(t){return function(n){var e=n||{},i=e.retrieveMappings,u=r(e,["retrieveMappings"]);return!0===i&&(u.getClusters=!0),t.transporter.read({method:I,path:"1/clusters/mapping/pending"},u)}},at=function(t){return function(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={transporter:t.transporter,appId:t.appId,indexName:n};return l(r,e.methods)}},st=function(t){return function(n){return t.transporter.read({method:I,path:"1/keys"},n)}},ct=function(t){return function(n){return t.transporter.read({method:I,path:"1/clusters"},n)}},ft=function(t){return function(n){return t.transporter.read({method:I,path:"1/indexes"},n)}},ht=function(t){return function(n){return t.transporter.read({method:I,path:"1/clusters/mapping"},n)}},dt=function(t){return function(n,e,r){return h(t.transporter.write({method:S,path:p("1/indexes/%s/operation",n),data:{operation:"move",destination:e}},r),(function(e,r){return at(t)(n,{methods:{waitTask:dn}}).waitTask(e.taskID,r)}))}},lt=function(t){return function(n,e){return h(t.transporter.write({method:S,path:"1/indexes/*/batch",data:{requests:n}},e),(function(n,e){return Promise.all(Object.keys(n.taskID).map((function(r){return at(t)(r,{methods:{waitTask:dn}}).waitTask(n.taskID[r],e)})))}))}},pt=function(t){return function(n,e){return t.transporter.read({method:S,path:"1/indexes/*/objects",data:{requests:n}},e)}},mt=function(t){return function(n,r){var i=n.map((function(t){return e(e({},t),{},{params:R(t.params||{})})}));return t.transporter.read({method:S,path:"1/indexes/*/queries",data:{requests:i},cacheable:!0},r)}},yt=function(t){return function(n,i){return Promise.all(n.map((function(n){var u=n.params,o=u.facetName,a=u.facetQuery,s=r(u,["facetName","facetQuery"]);return at(t)(n.indexName,{methods:{searchForFacetValues:sn}}).searchForFacetValues(o,a,e(e({},i),s))})))}},vt=function(t){return function(n,e){var r=y(e);return r.queryParameters["X-Algolia-User-ID"]=n,t.transporter.write({method:P,path:"1/clusters/mapping"},r)}},bt=function(t){return function(n,e,r){var i=e.map((function(t){return{action:"addEntry",body:t}}));return h(t.transporter.write({method:S,path:p("/1/dictionaries/%s/batch",n),data:{clearExistingDictionaryEntries:!0,requests:i}},r),(function(n,e){return St(t)(n.taskID,e)}))}},gt=function(t){return function(n,e){return h(t.transporter.write({method:S,path:p("1/keys/%s/restore",n)},e),(function(e,r){return f((function(e){return tt(t)(n,r).catch((function(t){if(404!==t.status)throw t;return e()}))}))}))}},jt=function(t){return function(n,e,r){var i=e.map((function(t){return{action:"addEntry",body:t}}));return h(t.transporter.write({method:S,path:p("/1/dictionaries/%s/batch",n),data:{clearExistingDictionaryEntries:!1,requests:i}},r),(function(n,e){return St(t)(n.taskID,e)}))}},Ot=function(t){return function(n,e,r){return t.transporter.read({method:S,path:p("/1/dictionaries/%s/search",n),data:{query:e},cacheable:!0},r)}},xt=function(t){return function(n,e){return t.transporter.read({method:S,path:"1/clusters/mapping/search",data:{query:n}},e)}},Pt=function(t){return function(n,e){return h(t.transporter.write({method:w,path:"/1/dictionaries/*/settings",data:n},e),(function(n,e){return St(t)(n.taskID,e)}))}},It=function(t){return function(n,e){var i=Object.assign({},e),u=e||{},o=u.queryParameters,a=r(u,["queryParameters"]),s=o?{queryParameters:o}:{},c=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"];return h(t.transporter.write({method:w,path:p("1/keys/%s",n),data:s},a),(function(e,r){return f((function(e){return tt(t)(n,r).then((function(t){return function(t){return Object.keys(i).filter((function(t){return-1!==c.indexOf(t)})).every((function(n){return t[n]===i[n]}))}(t)?Promise.resolve():e()}))}))}))}},St=function(t){return function(n,e){return f((function(r){return nt(t)(n,e).then((function(t){return"published"!==t.status?r():void 0}))}))}},wt=function(t){return function(n,e){return h(t.transporter.write({method:S,path:p("1/indexes/%s/batch",t.indexName),data:{requests:n}},e),(function(n,e){return dn(t)(n.taskID,e)}))}},qt=function(t){return function(n){return M(e(e({shouldStop:function(t){return void 0===t.cursor}},n),{},{request:function(e){return t.transporter.read({method:S,path:p("1/indexes/%s/browse",t.indexName),data:e},n)}}))}},Dt=function(t){return function(n){var r=e({hitsPerPage:1e3},n);return M(e(e({shouldStop:function(t){return t.hits.length<r.hitsPerPage}},r),{},{request:function(n){return cn(t)("",e(e({},r),n)).then((function(t){return e(e({},t),{},{hits:t.hits.map((function(t){return delete t._highlightResult,t}))})}))}}))}},Tt=function(t){return function(n){var r=e({hitsPerPage:1e3},n);return M(e(e({shouldStop:function(t){return t.hits.length<r.hitsPerPage}},r),{},{request:function(n){return fn(t)("",e(e({},r),n)).then((function(t){return e(e({},t),{},{hits:t.hits.map((function(t){return delete t._highlightResult,t}))})}))}}))}},At=function(t){return function(n,e,i){var u=i||{},o=u.batchSize,a=r(u,["batchSize"]),s={taskIDs:[],objectIDs:[]};return h(function r(){var i,u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,c=[];for(i=u;i<n.length&&(c.push(n[i]),c.length!==(o||1e3));i++);return 0===c.length?Promise.resolve(s):wt(t)(c.map((function(t){return{action:e,body:t}})),a).then((function(t){return s.objectIDs=s.objectIDs.concat(t.objectIDs),s.taskIDs.push(t.taskID),i++,r(i)}))}(),(function(n,e){return Promise.all(n.taskIDs.map((function(n){return dn(t)(n,e)})))}))}},Et=function(t){return function(n){return h(t.transporter.write({method:S,path:p("1/indexes/%s/clear",t.indexName)},n),(function(n,e){return dn(t)(n.taskID,e)}))}},Rt=function(t){return function(n){var e=n||{},i=e.forwardToReplicas,u=y(r(e,["forwardToReplicas"]));return i&&(u.queryParameters.forwardToReplicas=1),h(t.transporter.write({method:S,path:p("1/indexes/%s/rules/clear",t.indexName)},u),(function(n,e){return dn(t)(n.taskID,e)}))}},Nt=function(t){return function(n){var e=n||{},i=e.forwardToReplicas,u=y(r(e,["forwardToReplicas"]));return i&&(u.queryParameters.forwardToReplicas=1),h(t.transporter.write({method:S,path:p("1/indexes/%s/synonyms/clear",t.indexName)},u),(function(n,e){return dn(t)(n.taskID,e)}))}},kt=function(t){return function(n,e){return h(t.transporter.write({method:S,path:p("1/indexes/%s/deleteByQuery",t.indexName),data:n},e),(function(n,e){return dn(t)(n.taskID,e)}))}},Ct=function(t){return function(n){return h(t.transporter.write({method:P,path:p("1/indexes/%s",t.indexName)},n),(function(n,e){return dn(t)(n.taskID,e)}))}},Ut=function(t){return function(n,e){return h(Jt(t)([n],e).then((function(t){return{taskID:t.taskIDs[0]}})),(function(n,e){return dn(t)(n.taskID,e)}))}},Jt=function(t){return function(n,e){var r=n.map((function(t){return{objectID:t}}));return At(t)(r,ln.DeleteObject,e)}},zt=function(t){return function(n,e){var i=e||{},u=i.forwardToReplicas,o=y(r(i,["forwardToReplicas"]));return u&&(o.queryParameters.forwardToReplicas=1),h(t.transporter.write({method:P,path:p("1/indexes/%s/rules/%s",t.indexName,n)},o),(function(n,e){return dn(t)(n.taskID,e)}))}},Ft=function(t){return function(n,e){var i=e||{},u=i.forwardToReplicas,o=y(r(i,["forwardToReplicas"]));return u&&(o.queryParameters.forwardToReplicas=1),h(t.transporter.write({method:P,path:p("1/indexes/%s/synonyms/%s",t.indexName,n)},o),(function(n,e){return dn(t)(n.taskID,e)}))}},Kt=function(t){return function(n){return Ht(t)(n).then((function(){return!0})).catch((function(t){if(404!==t.status)throw t;return!1}))}},Bt=function(t){return function(n,e,r){return t.transporter.read({method:S,path:p("1/answers/%s/prediction",t.indexName),data:{query:n,queryLanguages:e},cacheable:!0},r)}},Mt=function(t){return function(n,u){var o=u||{},a=o.query,s=o.paginate,c=r(o,["query","paginate"]),f=0;return function r(){return an(t)(a||"",e(e({},c),{},{page:f})).then((function(t){for(var e=0,u=Object.entries(t.hits);e<u.length;e++){var o=i(u[e],2),a=o[0],c=o[1];if(n(c))return{object:c,position:parseInt(a,10),page:f}}if(f++,!1===s||f>=t.nbPages)throw{name:"ObjectNotFoundError",message:"Object not found."};return r()}))}()}},Qt=function(t){return function(n,e){return t.transporter.read({method:I,path:p("1/indexes/%s/%s",t.indexName,n)},e)}},Gt=function(){return function(t,n){for(var e=0,r=Object.entries(t.hits);e<r.length;e++){var u=i(r[e],2),o=u[0];if(u[1].objectID===n)return parseInt(o,10)}return-1}},Lt=function(t){return function(n,i){var u=i||{},o=u.attributesToRetrieve,a=r(u,["attributesToRetrieve"]),s=n.map((function(n){return e({indexName:t.indexName,objectID:n},o?{attributesToRetrieve:o}:{})}));return t.transporter.read({method:S,path:"1/indexes/*/objects",data:{requests:s}},a)}},Wt=function(t){return function(n,e){return t.transporter.read({method:I,path:p("1/indexes/%s/rules/%s",t.indexName,n)},e)}},Ht=function(t){return function(n){return t.transporter.read({method:I,path:p("1/indexes/%s/settings",t.indexName),data:{getVersion:2}},n)}},Vt=function(t){return function(n,e){return t.transporter.read({method:I,path:p("1/indexes/%s/synonyms/%s",t.indexName,n)},e)}},_t=function(t){return function(n,e){return h(Xt(t)([n],e).then((function(t){return{objectID:t.objectIDs[0],taskID:t.taskIDs[0]}})),(function(n,e){return dn(t)(n.taskID,e)}))}},Xt=function(t){return function(n,e){var i=e||{},u=i.createIfNotExists,o=r(i,["createIfNotExists"]),a=u?ln.PartialUpdateObject:ln.PartialUpdateObjectNoCreate;return At(t)(n,a,o)}},Yt=function(t){return function(n,o){var a=o||{},s=a.safe,c=a.autoGenerateObjectIDIfNotExist,f=a.batchSize,d=r(a,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),l=function(n,e,r,i){return h(t.transporter.write({method:S,path:p("1/indexes/%s/operation",n),data:{operation:r,destination:e}},i),(function(n,e){return dn(t)(n.taskID,e)}))},m=Math.random().toString(36).substring(7),y="".concat(t.indexName,"_tmp_").concat(m),v=nn({appId:t.appId,transporter:t.transporter,indexName:y}),b=[],g=l(t.indexName,y,"copy",e(e({},d),{},{scope:["settings","synonyms","rules"]}));return b.push(g),h((s?g.wait(d):g).then((function(){var t=v(n,e(e({},d),{},{autoGenerateObjectIDIfNotExist:c,batchSize:f}));return b.push(t),s?t.wait(d):t})).then((function(){var n=l(y,t.indexName,"move",d);return b.push(n),s?n.wait(d):n})).then((function(){return Promise.all(b)})).then((function(t){var n=i(t,3),e=n[0],r=n[1],o=n[2];return{objectIDs:r.objectIDs,taskIDs:[e.taskID].concat(u(r.taskIDs),[o.taskID])}})),(function(t,n){return Promise.all(b.map((function(t){return t.wait(n)})))}))}},Zt=function(t){return function(n,r){return rn(t)(n,e(e({},r),{},{clearExistingRules:!0}))}},$t=function(t){return function(n,r){return on(t)(n,e(e({},r),{},{clearExistingSynonyms:!0}))}},tn=function(t){return function(n,e){return h(nn(t)([n],e).then((function(t){return{objectID:t.objectIDs[0],taskID:t.taskIDs[0]}})),(function(n,e){return dn(t)(n.taskID,e)}))}},nn=function(t){return function(n,e){var i=e||{},u=i.autoGenerateObjectIDIfNotExist,o=r(i,["autoGenerateObjectIDIfNotExist"]),a=u?ln.AddObject:ln.UpdateObject;if(a===ln.UpdateObject){var s=!0,c=!1,f=void 0;try{for(var d,l=n[Symbol.iterator]();!(s=(d=l.next()).done);s=!0){if(void 0===d.value.objectID)return h(Promise.reject({name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}))}}catch(t){c=!0,f=t}finally{try{s||null==l.return||l.return()}finally{if(c)throw f}}}return At(t)(n,a,o)}},en=function(t){return function(n,e){return rn(t)([n],e)}},rn=function(t){return function(n,e){var i=e||{},u=i.forwardToReplicas,o=i.clearExistingRules,a=y(r(i,["forwardToReplicas","clearExistingRules"]));return u&&(a.queryParameters.forwardToReplicas=1),o&&(a.queryParameters.clearExistingRules=1),h(t.transporter.write({method:S,path:p("1/indexes/%s/rules/batch",t.indexName),data:n},a),(function(n,e){return dn(t)(n.taskID,e)}))}},un=function(t){return function(n,e){return on(t)([n],e)}},on=function(t){return function(n,e){var i=e||{},u=i.forwardToReplicas,o=i.clearExistingSynonyms,a=i.replaceExistingSynonyms,s=y(r(i,["forwardToReplicas","clearExistingSynonyms","replaceExistingSynonyms"]));return u&&(s.queryParameters.forwardToReplicas=1),(a||o)&&(s.queryParameters.replaceExistingSynonyms=1),h(t.transporter.write({method:S,path:p("1/indexes/%s/synonyms/batch",t.indexName),data:n},s),(function(n,e){return dn(t)(n.taskID,e)}))}},an=function(t){return function(n,e){return t.transporter.read({method:S,path:p("1/indexes/%s/query",t.indexName),data:{query:n},cacheable:!0},e)}},sn=function(t){return function(n,e,r){return t.transporter.read({method:S,path:p("1/indexes/%s/facets/%s/query",t.indexName,n),data:{facetQuery:e},cacheable:!0},r)}},cn=function(t){return function(n,e){return t.transporter.read({method:S,path:p("1/indexes/%s/rules/search",t.indexName),data:{query:n}},e)}},fn=function(t){return function(n,e){return t.transporter.read({method:S,path:p("1/indexes/%s/synonyms/search",t.indexName),data:{query:n}},e)}},hn=function(t){return function(n,e){var i=e||{},u=i.forwardToReplicas,o=y(r(i,["forwardToReplicas"]));return u&&(o.queryParameters.forwardToReplicas=1),h(t.transporter.write({method:w,path:p("1/indexes/%s/settings",t.indexName),data:n},o),(function(n,e){return dn(t)(n.taskID,e)}))}},dn=function(t){return function(n,e){return f((function(r){return function(t){return function(n,e){return t.transporter.read({method:I,path:p("1/indexes/%s/task/%s",t.indexName,n.toString())},e)}}(t)(n,e).then((function(t){return"published"!==t.status?r():void 0}))}))}},ln={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject",DeleteIndex:"delete",ClearIndex:"clear"},pn={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},mn=1,yn=2,vn=3;function bn(t,n,r){var i,u={appId:t,apiKey:n,timeouts:{connect:1,read:2,write:30},requester:{send:function(t){return new Promise((function(n){var e=new XMLHttpRequest;e.open(t.method,t.url,!0),Object.keys(t.headers).forEach((function(n){return e.setRequestHeader(n,t.headers[n])}));var r,i=function(t,r){return setTimeout((function(){e.abort(),n({status:0,content:r,isTimedOut:!0})}),1e3*t)},u=i(t.connectTimeout,"Connection timeout");e.onreadystatechange=function(){e.readyState>e.OPENED&&void 0===r&&(clearTimeout(u),r=i(t.responseTimeout,"Socket timeout"))},e.onerror=function(){0===e.status&&(clearTimeout(u),clearTimeout(r),n({content:e.responseText||"Network request failed",status:e.status,isTimedOut:!1}))},e.onload=function(){clearTimeout(u),clearTimeout(r),n({content:e.responseText,status:e.status,isTimedOut:!1})},e.send(t.data)}))}},logger:(i=vn,{debug:function(t,n){return mn>=i&&console.debug(t,n),Promise.resolve()},info:function(t,n){return yn>=i&&console.info(t,n),Promise.resolve()},error:function(t,n){return console.error(t,n),Promise.resolve()}}),responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:a({caches:[o({key:"".concat("4.14.3","-").concat(t)}),s()]}),userAgent:A("4.14.3").add({segment:"Browser"})},f=e(e({},u),r),h=function(){return function(t){return function(t){var n=t.region||"us",r=c(m.WithinHeaders,t.appId,t.apiKey),i=T(e(e({hosts:[{url:"personalization.".concat(n,".algolia.com")}]},t),{},{headers:e(e(e({},r.headers()),{"content-type":"application/json"}),t.headers),queryParameters:e(e({},r.queryParameters()),t.queryParameters)}));return l({appId:t.appId,transporter:i},t.methods)}(e(e(e({},u),t),{},{methods:{getPersonalizationStrategy:K,setPersonalizationStrategy:B}}))}};return function(t){var n=t.appId,r=c(void 0!==t.authMode?t.authMode:m.WithinHeaders,n,t.apiKey),i=T(e(e({hosts:[{url:"".concat(n,"-dsn.algolia.net"),accept:v.Read},{url:"".concat(n,".algolia.net"),accept:v.Write}].concat(d([{url:"".concat(n,"-1.algolianet.com")},{url:"".concat(n,"-2.algolianet.com")},{url:"".concat(n,"-3.algolianet.com")}]))},t),{},{headers:e(e(e({},r.headers()),{"content-type":"application/x-www-form-urlencoded"}),t.headers),queryParameters:e(e({},r.queryParameters()),t.queryParameters)}));return l({transporter:i,appId:n,addAlgoliaAgent:function(t,n){i.userAgent.add({segment:t,version:n})},clearCache:function(){return Promise.all([i.requestsCache.clear(),i.responsesCache.clear()]).then((function(){}))}},t.methods)}(e(e({},f),{},{methods:{search:mt,searchForFacetValues:yt,multipleBatch:lt,multipleGetObjects:pt,multipleQueries:mt,copyIndex:H,copySettings:_,copySynonyms:X,copyRules:V,moveIndex:dt,listIndices:ft,getLogs:rt,listClusters:ct,multipleSearchForFacetValues:yt,getApiKey:tt,addApiKey:Q,listApiKeys:st,updateApiKey:It,deleteApiKey:Z,restoreApiKey:gt,assignUserID:G,assignUserIDs:L,getUserID:ut,searchUserIDs:xt,listUserIDs:ht,getTopUserIDs:it,removeUserID:vt,hasPendingMappings:ot,clearDictionaryEntries:W,deleteDictionaryEntries:$,getDictionarySettings:et,getAppTask:nt,replaceDictionaryEntries:bt,saveDictionaryEntries:jt,searchDictionaryEntries:Ot,setDictionarySettings:Pt,waitAppTask:St,customRequest:Y,initIndex:function(t){return function(n){return at(t)(n,{methods:{batch:wt,delete:Ct,findAnswers:Bt,getObject:Qt,getObjects:Lt,saveObject:tn,saveObjects:nn,search:an,searchForFacetValues:sn,waitTask:dn,setSettings:hn,getSettings:Ht,partialUpdateObject:_t,partialUpdateObjects:Xt,deleteObject:Ut,deleteObjects:Jt,deleteBy:kt,clearObjects:Et,browseObjects:qt,getObjectPosition:Gt,findObject:Mt,exists:Kt,saveSynonym:un,saveSynonyms:on,getSynonym:Vt,searchSynonyms:fn,browseSynonyms:Tt,deleteSynonym:Ft,clearSynonyms:Nt,replaceAllObjects:Yt,replaceAllSynonyms:$t,searchRules:cn,getRule:Wt,deleteRule:zt,saveRule:en,saveRules:rn,replaceAllRules:Zt,browseRules:Dt,clearRules:Rt}})}},initAnalytics:function(){return function(t){return function(t){var n=t.region||"us",r=c(m.WithinHeaders,t.appId,t.apiKey),i=T(e(e({hosts:[{url:"analytics.".concat(n,".algolia.com")}]},t),{},{headers:e(e(e({},r.headers()),{"content-type":"application/json"}),t.headers),queryParameters:e(e({},r.queryParameters()),t.queryParameters)}));return l({appId:t.appId,transporter:i},t.methods)}(e(e(e({},u),t),{},{methods:{addABTest:C,getABTest:J,getABTests:z,stopABTest:F,deleteABTest:U}}))}},initPersonalization:h,initRecommendation:function(){return function(t){return f.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."),h()(t)}}}}))}return bn.version="4.14.3",bn}))}));const f=class{constructor(e){t(this,e);this.nanoSearchResult=n(this,"nanoSearchResult",7);this.nanoSearch=n(this,"nanoSearch",7);this.nanoSearchReset=n(this,"nanoSearchReset",7);this.handleFocus=()=>{if(this.inputField)this.inputField.setFocus()};this.searchStr="";this.algoliaIndex=null;this.currentResults=undefined;this.appId="";this.apiKey="";this.searchIndex=null;this.searchIndexName=undefined;this.minChars=2;this.autoEmit=true;this.browseIndex=false;this.storeId=undefined;this.storeMethod="session"}async search(){this.emitResults()}searchIndexNameChange(){if(!this.searchIndexName||!this.searchIndexName.length)return;this.searchIndex={index:this.searchIndexName}}algoliaChange(){this.internalIndex=this.algoliaIndex}browseIndexChange(){if(this.browseIndex){this.searchStr="*";this.searchSubmit()}}initAlgoliaClient(){if(this.isNested||!this.appId||!this.apiKey)return;this.algoliaClient=c(this.appId,this.apiKey);if(this.searchIndex)this.algoliaIndex=this.algoliaClient.initIndex(this.searchIndex.index)}async searchSubmit(t){if(!this.internalIndex){console.error("No algolia index set");return}if(t){if(t.target.tagName.toLowerCase()!=="nano-input")return;this.searchStr=t.detail.value}else{this.inputField=this.inputField||this.host.querySelector("nano-input");if(!this.inputField)return;this.searchStr=this.inputField.value}if(this.searchStr.length<this.minChars){if(this.browseIndex)this.searchStr="*";else{if(this.searchStr.length===0){this.nanoSearchResult.emit({results:[],client:{apiKey:this.appId,appId:this.appId}});return}if(this.searchStr.length<this.minChars)return}}let n={};if(this.searchIndex.filters)n={facets:this.searchIndex.filters};const e=this.fixDomain(await this.internalIndex.search(this.searchStr,n));e.indexName=this.searchIndex.name;e.selected=true;e.domain=this.searchIndex.domain||null;e.index=this.searchIndex.index;this.currentResults=e;this.nanoSearch.emit({results:[this.currentResults],client:{apiKey:this.appId,appId:this.appId}});if(this.autoEmit)this.emitResults()}emitResults(){this.nanoSearchResult.emit({results:[this.currentResults],client:{apiKey:this.appId,appId:this.appId}})}fixDomain(t){if(!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}connectedCallback(){this.isNested=this.host.parentElement.tagName.toLowerCase()==="nano-algolia"&&this.host.hasAttribute("slot")&&this.host.getAttribute("slot")==="search-input";if(!this.isNested){this.host.addEventListener("openWormhole",(t=>{t.detail.onOpen.resolve();this.searchIndexNameChange();this.initAlgoliaClient()}))}}componentWillLoad(){this.inputField=this.host.querySelector("nano-input");if(this.storeId)a.init(this,["searchStr"],this.storeMethod,this.storeId)}render(){return e(r,{onFocus:this.handleFocus,tabindex:"-1"},e("slot",null))}get host(){return i(this)}static get watchers(){return{searchIndexName:["searchIndexNameChange"],algoliaIndex:["algoliaChange"],browseIndex:["browseIndexChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaClient"]}}};s(f,["algoliaIndex","searchIndex","browseIndex"]);export{f as nano_algolia_input};
7
+ //# sourceMappingURL=p-f504b1df.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["t","e","module","exports","this","r","Object","defineProperty","value","enumerable","configurable","writable","keys","getOwnPropertySymbols","n","filter","getOwnPropertyDescriptor","push","apply","arguments","length","a","forEach","getOwnPropertyDescriptors","defineProperties","o","indexOf","prototype","propertyIsEnumerable","call","Array","isArray","Symbol","iterator","toString","i","u","next","done","return","TypeError","from","concat","key","localStorage","window","JSON","parse","getItem","get","miss","Promise","resolve","then","stringify","all","set","setItem","delete","clear","removeItem","caches","shift","catch","s","serializable","c","headers","m","WithinHeaders","queryParameters","WithinQueryParameters","f","setTimeout","Math","min","d","assign","wait","l","floor","random","p","h","replace","encodeURIComponent","y","data","entries","timeout","cacheable","g","Read","Write","Any","v","b","P","w","status","lastUpdate","Date","now","O","protocol","url","accept","I","x","j","D","q","map","getTimeout","statelessHosts","S","method","toLowerCase","userAgent","pop","name","message","transporterStackTrace","R","N","path","connectTimeout","timeouts","connect","responseTimeout","request","response","host","triesLeft","onSuccess","content","onRetry","isTimedOut","logger","info","A","hostsCache","onFail","requester","send","reverse","k","requestsCache","responsesCache","hosts","read","mappedRequestOptions","transporter","reject","write","T","add","segment","version","E","charAt","substr","join","C","U","z","J","F","H","M","K","batch","hits","shouldStop","cursor","page","W","acl","tt","B","cluster","Q","users","G","clearExistingDictionaryEntries","requests","action","body","jt","taskID","L","operation","destination","ut","methods","waitTask","de","V","scope","pe","Rules","_","Settings","X","Synonyms","Y","Z","$","objectID","et","rt","nt","at","ot","it","retrieveMappings","getClusters","appId","indexName","st","ct","ft","dt","lt","pt","ht","mt","params","yt","facetName","facetQuery","searchForFacetValues","ue","gt","vt","bt","Pt","wt","query","Ot","It","xt","every","Dt","qt","St","hitsPerPage","se","_highlightResult","kt","ce","Tt","batchSize","taskIDs","objectIDs","Nt","Et","forwardToReplicas","Rt","At","Ct","Ut","zt","le","DeleteObject","Jt","Ft","Ht","Lt","Mt","queryLanguages","Kt","paginate","ie","object","position","parseInt","nbPages","Wt","Bt","Qt","attributesToRetrieve","Gt","getVersion","Vt","_t","Xt","createIfNotExists","PartialUpdateObject","PartialUpdateObjectNoCreate","Yt","safe","autoGenerateObjectIDIfNotExist","substring","ee","Zt","ne","clearExistingRules","$t","oe","clearExistingSynonyms","te","AddObject","UpdateObject","re","ae","replaceExistingSynonyms","fe","DeleteIndex","ClearIndex","he","me","ye","ge","apiKey","XMLHttpRequest","open","setRequestHeader","abort","onreadystatechange","readyState","OPENED","clearTimeout","onerror","responseText","onload","debug","console","error","region","getPersonalizationStrategy","setPersonalizationStrategy","authMode","addAlgoliaAgent","clearCache","search","multipleBatch","multipleGetObjects","multipleQueries","copyIndex","copySettings","copySynonyms","copyRules","moveIndex","listIndices","getLogs","listClusters","multipleSearchForFacetValues","getApiKey","addApiKey","listApiKeys","updateApiKey","deleteApiKey","restoreApiKey","assignUserID","assignUserIDs","getUserID","searchUserIDs","listUserIDs","getTopUserIDs","removeUserID","hasPendingMappings","clearDictionaryEntries","deleteDictionaryEntries","getDictionarySettings","getAppTask","replaceDictionaryEntries","saveDictionaryEntries","searchDictionaryEntries","setDictionarySettings","waitAppTask","customRequest","initIndex","findAnswers","getObject","getObjects","saveObject","saveObjects","setSettings","getSettings","partialUpdateObject","partialUpdateObjects","deleteObject","deleteObjects","deleteBy","clearObjects","browseObjects","getObjectPosition","findObject","exists","saveSynonym","saveSynonyms","getSynonym","searchSynonyms","browseSynonyms","deleteSynonym","clearSynonyms","replaceAllObjects","replaceAllSynonyms","searchRules","getRule","deleteRule","saveRule","saveRules","replaceAllRules","browseRules","clearRules","initAnalytics","addABTest","getABTest","getABTests","stopABTest","deleteABTest","initPersonalization","initRecommendation","AlgoliaInput","handleFocus","inputField","setFocus","async","emitResults","searchIndexNameChange","searchIndexName","searchIndex","index","algoliaChange","internalIndex","algoliaIndex","browseIndexChange","browseIndex","searchStr","searchSubmit","initAlgoliaClient","isNested","algoliaClient","algoliasearch","ev","target","tagName","detail","querySelector","minChars","nanoSearchResult","emit","results","client","options","filters","facets","fixDomain","selected","domain","currentResults","nanoSearch","autoEmit","hit","match","location","connectedCallback","parentElement","hasAttribute","getAttribute","addEventListener","onOpen","componentWillLoad","storeId","ComponentStore","init","storeMethod","render","Host","onFocus","tabindex","Wormhole"],"sources":["./node_modules/algoliasearch/dist/algoliasearch.umd.js","./src/components/algolia/algolia-input.tsx"],"sourcesContent":["/*! algoliasearch.umd.js | 4.14.3 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).algoliasearch=e()}(this,(function(){\"use strict\";function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?e(Object(a),!0).forEach((function(e){t(r,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(a)):e(Object(a)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(a,t))}))}return r}function n(t,e){if(null==t)return{};var r,n,a=function(t,e){if(null==t)return{};var r,n,a={},o=Object.keys(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(!(Symbol.iterator in Object(t)||\"[object Arguments]\"===Object.prototype.toString.call(t)))return;var r=[],n=!0,a=!1,o=void 0;try{for(var i,u=t[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!e||r.length!==e);n=!0);}catch(t){a=!0,o=t}finally{try{n||null==u.return||u.return()}finally{if(a)throw o}}return r}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function o(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}(t)||function(t){if(Symbol.iterator in Object(t)||\"[object Arguments]\"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}function i(t){var e,r=\"algoliasearch-client-js-\".concat(t.key),n=function(){return void 0===e&&(e=t.localStorage||window.localStorage),e},o=function(){return JSON.parse(n().getItem(r)||\"{}\")};return{get:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var r=JSON.stringify(t),n=o()[r];return Promise.all([n||e(),void 0!==n])})).then((function(t){var e=a(t,2),n=e[0],o=e[1];return Promise.all([n,o||r.miss(n)])})).then((function(t){return a(t,1)[0]}))},set:function(t,e){return Promise.resolve().then((function(){var a=o();return a[JSON.stringify(t)]=e,n().setItem(r,JSON.stringify(a)),e}))},delete:function(t){return Promise.resolve().then((function(){var e=o();delete e[JSON.stringify(t)],n().setItem(r,JSON.stringify(e))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function u(t){var e=o(t.caches),r=e.shift();return void 0===r?{get:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},n=e();return n.then((function(t){return Promise.all([t,r.miss(t)])})).then((function(t){return a(t,1)[0]}))},set:function(t,e){return Promise.resolve(e)},delete:function(t){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(t,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(t,n,a).catch((function(){return u({caches:e}).get(t,n,a)}))},set:function(t,n){return r.set(t,n).catch((function(){return u({caches:e}).set(t,n)}))},delete:function(t){return r.delete(t).catch((function(){return u({caches:e}).delete(t)}))},clear:function(){return r.clear().catch((function(){return u({caches:e}).clear()}))}}}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},e={};return{get:function(r,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},o=JSON.stringify(r);if(o in e)return Promise.resolve(t.serializable?JSON.parse(e[o]):e[o]);var i=n(),u=a&&a.miss||function(){return Promise.resolve()};return i.then((function(t){return u(t)})).then((function(){return i}))},set:function(r,n){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(t){return delete e[JSON.stringify(t)],Promise.resolve()},clear:function(){return e={},Promise.resolve()}}}function c(t,e,r){var n={\"x-algolia-api-key\":r,\"x-algolia-application-id\":e};return{headers:function(){return t===m.WithinHeaders?n:{}},queryParameters:function(){return t===m.WithinQueryParameters?n:{}}}}function f(t){var e=0;return t((function r(){return e++,new Promise((function(n){setTimeout((function(){n(t(r))}),Math.min(100*e,1e3))}))}))}function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t,e){return Promise.resolve()};return Object.assign(t,{wait:function(r){return d(t.then((function(t){return Promise.all([e(t,r),t])})).then((function(t){return t[1]})))}})}function l(t){for(var e=t.length-1;e>0;e--){var r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function p(t,e){return e?(Object.keys(e).forEach((function(r){t[r]=e[r](t)})),t):t}function h(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];var a=0;return t.replace(/%s/g,(function(){return encodeURIComponent(r[a++])}))}var m={WithinQueryParameters:0,WithinHeaders:1};function y(t,e){var r=t||{},n=r.data||{};return Object.keys(r).forEach((function(t){-1===[\"timeout\",\"headers\",\"queryParameters\",\"data\",\"cacheable\"].indexOf(t)&&(n[t]=r[t])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var g={Read:1,Write:2,Any:3},v=1,b=2,P=3;function w(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v;return r(r({},t),{},{status:e,lastUpdate:Date.now()})}function O(t){return\"string\"==typeof t?{protocol:\"https\",url:t,accept:g.Any}:{protocol:t.protocol||\"https\",url:t.url,accept:t.accept||g.Any}}var I=\"DELETE\",x=\"GET\",j=\"POST\",D=\"PUT\";function q(t,e){return Promise.all(e.map((function(e){return t.get(e,(function(){return Promise.resolve(w(e))}))}))).then((function(t){var r=t.filter((function(t){return function(t){return t.status===v||Date.now()-t.lastUpdate>12e4}(t)})),n=t.filter((function(t){return function(t){return t.status===P&&Date.now()-t.lastUpdate<=12e4}(t)})),a=[].concat(o(r),o(n));return{getTimeout:function(t,e){return(0===n.length&&0===t?1:n.length+3+t)*e},statelessHosts:a.length>0?a.map((function(t){return O(t)})):e}}))}function S(t,e,n,a){var i=[],u=function(t,e){if(t.method===x||void 0===t.data&&void 0===e.data)return;var n=Array.isArray(t.data)?t.data:r(r({},t.data),e.data);return JSON.stringify(n)}(n,a),s=function(t,e){var n=r(r({},t.headers),e.headers),a={};return Object.keys(n).forEach((function(t){var e=n[t];a[t.toLowerCase()]=e})),a}(t,a),c=n.method,f=n.method!==x?{}:r(r({},n.data),a.data),d=r(r(r({\"x-algolia-agent\":t.userAgent.value},t.queryParameters),f),a.queryParameters),l=0,p=function e(r,o){var f=r.pop();if(void 0===f)throw{name:\"RetryError\",message:\"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.\",transporterStackTrace:R(i)};var p={data:u,headers:s,method:c,url:N(f,n.path,d),connectTimeout:o(l,t.timeouts.connect),responseTimeout:o(l,a.timeout)},h=function(t){var e={request:p,response:t,host:f,triesLeft:r.length};return i.push(e),e},m={onSuccess:function(t){return function(t){try{return JSON.parse(t.content)}catch(e){throw function(t,e){return{name:\"DeserializationError\",message:t,response:e}}(e.message,t)}}(t)},onRetry:function(n){var a=h(n);return n.isTimedOut&&l++,Promise.all([t.logger.info(\"Retryable failure\",A(a)),t.hostsCache.set(f,w(f,n.isTimedOut?P:b))]).then((function(){return e(r,o)}))},onFail:function(t){throw h(t),function(t,e){var r=t.content,n=t.status,a=r;try{a=JSON.parse(r).message}catch(t){}return function(t,e,r){return{name:\"ApiError\",message:t,status:e,transporterStackTrace:r}}(a,n,e)}(t,R(i))}};return t.requester.send(p).then((function(t){return function(t,e){return function(t){var e=t.status;return t.isTimedOut||function(t){var e=t.isTimedOut,r=t.status;return!e&&0==~~r}(t)||2!=~~(e/100)&&4!=~~(e/100)}(t)?e.onRetry(t):2==~~(t.status/100)?e.onSuccess(t):e.onFail(t)}(t,m)}))};return q(t.hostsCache,e).then((function(t){return p(o(t.statelessHosts).reverse(),t.getTimeout)}))}function k(t){var e=t.hostsCache,r=t.logger,n=t.requester,o=t.requestsCache,i=t.responsesCache,u=t.timeouts,s=t.userAgent,c=t.hosts,f=t.queryParameters,d={hostsCache:e,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:u,userAgent:s,headers:t.headers,queryParameters:f,hosts:c.map((function(t){return O(t)})),read:function(t,e){var r=y(e,d.timeouts.read),n=function(){return S(d,d.hosts.filter((function(t){return 0!=(t.accept&g.Read)})),t,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:t.cacheable))return n();var o={request:t,mappedRequestOptions:r,transporter:{queryParameters:d.queryParameters,headers:d.headers}};return d.responsesCache.get(o,(function(){return d.requestsCache.get(o,(function(){return d.requestsCache.set(o,n()).then((function(t){return Promise.all([d.requestsCache.delete(o),t])}),(function(t){return Promise.all([d.requestsCache.delete(o),Promise.reject(t)])})).then((function(t){var e=a(t,2);e[0];return e[1]}))}))}),{miss:function(t){return d.responsesCache.set(o,t)}})},write:function(t,e){return S(d,d.hosts.filter((function(t){return 0!=(t.accept&g.Write)})),t,y(e,d.timeouts.write))}};return d}function T(t){var e={value:\"Algolia for JavaScript (\".concat(t,\")\"),add:function(t){var r=\"; \".concat(t.segment).concat(void 0!==t.version?\" (\".concat(t.version,\")\"):\"\");return-1===e.value.indexOf(r)&&(e.value=\"\".concat(e.value).concat(r)),e}};return e}function N(t,e,r){var n=E(r),a=\"\".concat(t.protocol,\"://\").concat(t.url,\"/\").concat(\"/\"===e.charAt(0)?e.substr(1):e);return n.length&&(a+=\"?\".concat(n)),a}function E(t){return Object.keys(t).map((function(e){return h(\"%s=%s\",e,(r=t[e],\"[object Object]\"===Object.prototype.toString.call(r)||\"[object Array]\"===Object.prototype.toString.call(r)?JSON.stringify(t[e]):t[e]));var r})).join(\"&\")}function R(t){return t.map((function(t){return A(t)}))}function A(t){var e=t.request.headers[\"x-algolia-api-key\"]?{\"x-algolia-api-key\":\"*****\"}:{};return r(r({},t),{},{request:r(r({},t.request),{},{headers:r(r({},t.request.headers),e)})})}var C=function(t){return function(e,r){return t.transporter.write({method:j,path:\"2/abtests\",data:e},r)}},U=function(t){return function(e,r){return t.transporter.write({method:I,path:h(\"2/abtests/%s\",e)},r)}},z=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"2/abtests/%s\",e)},r)}},J=function(t){return function(e){return t.transporter.read({method:x,path:\"2/abtests\"},e)}},F=function(t){return function(e,r){return t.transporter.write({method:j,path:h(\"2/abtests/%s/stop\",e)},r)}},H=function(t){return function(e){return t.transporter.read({method:x,path:\"1/strategies/personalization\"},e)}},M=function(t){return function(e,r){return t.transporter.write({method:j,path:\"1/strategies/personalization\",data:e},r)}};function K(t){return function e(r){return t.request(r).then((function(n){if(void 0!==t.batch&&t.batch(n.hits),!t.shouldStop(n))return n.cursor?e({cursor:n.cursor}):e({page:(r.page||0)+1})}))}({})}var W=function(t){return function(e,a){var o=a||{},i=o.queryParameters,u=n(o,[\"queryParameters\"]),s=r({acl:e},void 0!==i?{queryParameters:i}:{});return d(t.transporter.write({method:j,path:\"1/keys\",data:s},u),(function(e,r){return f((function(n){return tt(t)(e.key,r).catch((function(t){if(404!==t.status)throw t;return n()}))}))}))}},B=function(t){return function(e,r,n){var a=y(n);return a.queryParameters[\"X-Algolia-User-ID\"]=e,t.transporter.write({method:j,path:\"1/clusters/mapping\",data:{cluster:r}},a)}},Q=function(t){return function(e,r,n){return t.transporter.write({method:j,path:\"1/clusters/mapping/batch\",data:{users:e,cluster:r}},n)}},G=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!0,requests:{action:\"addEntry\",body:[]}}},r),(function(e,r){return jt(t)(e.taskID,r)}))}},L=function(t){return function(e,r,n){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/operation\",e),data:{operation:\"copy\",destination:r}},n),(function(r,n){return ut(t)(e,{methods:{waitTask:de}}).waitTask(r.taskID,n)}))}},V=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[pe.Rules]}))}},_=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[pe.Settings]}))}},X=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[pe.Synonyms]}))}},Y=function(t){return function(e,r){return e.method===x?t.transporter.read(e,r):t.transporter.write(e,r)}},Z=function(t){return function(e,r){return d(t.transporter.write({method:I,path:h(\"1/keys/%s\",e)},r),(function(r,n){return f((function(r){return tt(t)(e,n).then(r).catch((function(t){if(404!==t.status)throw t}))}))}))}},$=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"deleteEntry\",body:{objectID:t}}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(e,r){return jt(t)(e.taskID,r)}))}},tt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/keys/%s\",e)},r)}},et=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/task/%s\",e.toString())},r)}},rt=function(t){return function(e){return t.transporter.read({method:x,path:\"/1/dictionaries/*/settings\"},e)}},nt=function(t){return function(e){return t.transporter.read({method:x,path:\"1/logs\"},e)}},at=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters/mapping/top\"},e)}},ot=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/clusters/mapping/%s\",e)},r)}},it=function(t){return function(e){var r=e||{},a=r.retrieveMappings,o=n(r,[\"retrieveMappings\"]);return!0===a&&(o.getClusters=!0),t.transporter.read({method:x,path:\"1/clusters/mapping/pending\"},o)}},ut=function(t){return function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={transporter:t.transporter,appId:t.appId,indexName:e};return p(n,r.methods)}},st=function(t){return function(e){return t.transporter.read({method:x,path:\"1/keys\"},e)}},ct=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters\"},e)}},ft=function(t){return function(e){return t.transporter.read({method:x,path:\"1/indexes\"},e)}},dt=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters/mapping\"},e)}},lt=function(t){return function(e,r,n){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/operation\",e),data:{operation:\"move\",destination:r}},n),(function(r,n){return ut(t)(e,{methods:{waitTask:de}}).waitTask(r.taskID,n)}))}},pt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:\"1/indexes/*/batch\",data:{requests:e}},r),(function(e,r){return Promise.all(Object.keys(e.taskID).map((function(n){return ut(t)(n,{methods:{waitTask:de}}).waitTask(e.taskID[n],r)})))}))}},ht=function(t){return function(e,r){return t.transporter.read({method:j,path:\"1/indexes/*/objects\",data:{requests:e}},r)}},mt=function(t){return function(e,n){var a=e.map((function(t){return r(r({},t),{},{params:E(t.params||{})})}));return t.transporter.read({method:j,path:\"1/indexes/*/queries\",data:{requests:a},cacheable:!0},n)}},yt=function(t){return function(e,a){return Promise.all(e.map((function(e){var o=e.params,i=o.facetName,u=o.facetQuery,s=n(o,[\"facetName\",\"facetQuery\"]);return ut(t)(e.indexName,{methods:{searchForFacetValues:ue}}).searchForFacetValues(i,u,r(r({},a),s))})))}},gt=function(t){return function(e,r){var n=y(r);return n.queryParameters[\"X-Algolia-User-ID\"]=e,t.transporter.write({method:I,path:\"1/clusters/mapping\"},n)}},vt=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"addEntry\",body:t}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!0,requests:a}},n),(function(e,r){return jt(t)(e.taskID,r)}))}},bt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"1/keys/%s/restore\",e)},r),(function(r,n){return f((function(r){return tt(t)(e,n).catch((function(t){if(404!==t.status)throw t;return r()}))}))}))}},Pt=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"addEntry\",body:t}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(e,r){return jt(t)(e.taskID,r)}))}},wt=function(t){return function(e,r,n){return t.transporter.read({method:j,path:h(\"/1/dictionaries/%s/search\",e),data:{query:r},cacheable:!0},n)}},Ot=function(t){return function(e,r){return t.transporter.read({method:j,path:\"1/clusters/mapping/search\",data:{query:e}},r)}},It=function(t){return function(e,r){return d(t.transporter.write({method:D,path:\"/1/dictionaries/*/settings\",data:e},r),(function(e,r){return jt(t)(e.taskID,r)}))}},xt=function(t){return function(e,r){var a=Object.assign({},r),o=r||{},i=o.queryParameters,u=n(o,[\"queryParameters\"]),s=i?{queryParameters:i}:{},c=[\"acl\",\"indexes\",\"referers\",\"restrictSources\",\"queryParameters\",\"description\",\"maxQueriesPerIPPerHour\",\"maxHitsPerQuery\"];return d(t.transporter.write({method:D,path:h(\"1/keys/%s\",e),data:s},u),(function(r,n){return f((function(r){return tt(t)(e,n).then((function(t){return function(t){return Object.keys(a).filter((function(t){return-1!==c.indexOf(t)})).every((function(e){return t[e]===a[e]}))}(t)?Promise.resolve():r()}))}))}))}},jt=function(t){return function(e,r){return f((function(n){return et(t)(e,r).then((function(t){return\"published\"!==t.status?n():void 0}))}))}},Dt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/batch\",t.indexName),data:{requests:e}},r),(function(e,r){return de(t)(e.taskID,r)}))}},qt=function(t){return function(e){return K(r(r({shouldStop:function(t){return void 0===t.cursor}},e),{},{request:function(r){return t.transporter.read({method:j,path:h(\"1/indexes/%s/browse\",t.indexName),data:r},e)}}))}},St=function(t){return function(e){var n=r({hitsPerPage:1e3},e);return K(r(r({shouldStop:function(t){return t.hits.length<n.hitsPerPage}},n),{},{request:function(e){return se(t)(\"\",r(r({},n),e)).then((function(t){return r(r({},t),{},{hits:t.hits.map((function(t){return delete t._highlightResult,t}))})}))}}))}},kt=function(t){return function(e){var n=r({hitsPerPage:1e3},e);return K(r(r({shouldStop:function(t){return t.hits.length<n.hitsPerPage}},n),{},{request:function(e){return ce(t)(\"\",r(r({},n),e)).then((function(t){return r(r({},t),{},{hits:t.hits.map((function(t){return delete t._highlightResult,t}))})}))}}))}},Tt=function(t){return function(e,r,a){var o=a||{},i=o.batchSize,u=n(o,[\"batchSize\"]),s={taskIDs:[],objectIDs:[]};return d(function n(){var a,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,c=[];for(a=o;a<e.length&&(c.push(e[a]),c.length!==(i||1e3));a++);return 0===c.length?Promise.resolve(s):Dt(t)(c.map((function(t){return{action:r,body:t}})),u).then((function(t){return s.objectIDs=s.objectIDs.concat(t.objectIDs),s.taskIDs.push(t.taskID),a++,n(a)}))}(),(function(e,r){return Promise.all(e.taskIDs.map((function(e){return de(t)(e,r)})))}))}},Nt=function(t){return function(e){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/clear\",t.indexName)},e),(function(e,r){return de(t)(e.taskID,r)}))}},Et=function(t){return function(e){var r=e||{},a=r.forwardToReplicas,o=y(n(r,[\"forwardToReplicas\"]));return a&&(o.queryParameters.forwardToReplicas=1),d(t.transporter.write({method:j,path:h(\"1/indexes/%s/rules/clear\",t.indexName)},o),(function(e,r){return de(t)(e.taskID,r)}))}},Rt=function(t){return function(e){var r=e||{},a=r.forwardToReplicas,o=y(n(r,[\"forwardToReplicas\"]));return a&&(o.queryParameters.forwardToReplicas=1),d(t.transporter.write({method:j,path:h(\"1/indexes/%s/synonyms/clear\",t.indexName)},o),(function(e,r){return de(t)(e.taskID,r)}))}},At=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/deleteByQuery\",t.indexName),data:e},r),(function(e,r){return de(t)(e.taskID,r)}))}},Ct=function(t){return function(e){return d(t.transporter.write({method:I,path:h(\"1/indexes/%s\",t.indexName)},e),(function(e,r){return de(t)(e.taskID,r)}))}},Ut=function(t){return function(e,r){return d(zt(t)([e],r).then((function(t){return{taskID:t.taskIDs[0]}})),(function(e,r){return de(t)(e.taskID,r)}))}},zt=function(t){return function(e,r){var n=e.map((function(t){return{objectID:t}}));return Tt(t)(n,le.DeleteObject,r)}},Jt=function(t){return function(e,r){var a=r||{},o=a.forwardToReplicas,i=y(n(a,[\"forwardToReplicas\"]));return o&&(i.queryParameters.forwardToReplicas=1),d(t.transporter.write({method:I,path:h(\"1/indexes/%s/rules/%s\",t.indexName,e)},i),(function(e,r){return de(t)(e.taskID,r)}))}},Ft=function(t){return function(e,r){var a=r||{},o=a.forwardToReplicas,i=y(n(a,[\"forwardToReplicas\"]));return o&&(i.queryParameters.forwardToReplicas=1),d(t.transporter.write({method:I,path:h(\"1/indexes/%s/synonyms/%s\",t.indexName,e)},i),(function(e,r){return de(t)(e.taskID,r)}))}},Ht=function(t){return function(e){return Lt(t)(e).then((function(){return!0})).catch((function(t){if(404!==t.status)throw t;return!1}))}},Mt=function(t){return function(e,r,n){return t.transporter.read({method:j,path:h(\"1/answers/%s/prediction\",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},n)}},Kt=function(t){return function(e,o){var i=o||{},u=i.query,s=i.paginate,c=n(i,[\"query\",\"paginate\"]),f=0;return function n(){return ie(t)(u||\"\",r(r({},c),{},{page:f})).then((function(t){for(var r=0,o=Object.entries(t.hits);r<o.length;r++){var i=a(o[r],2),u=i[0],c=i[1];if(e(c))return{object:c,position:parseInt(u,10),page:f}}if(f++,!1===s||f>=t.nbPages)throw{name:\"ObjectNotFoundError\",message:\"Object not found.\"};return n()}))}()}},Wt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/indexes/%s/%s\",t.indexName,e)},r)}},Bt=function(){return function(t,e){for(var r=0,n=Object.entries(t.hits);r<n.length;r++){var o=a(n[r],2),i=o[0];if(o[1].objectID===e)return parseInt(i,10)}return-1}},Qt=function(t){return function(e,a){var o=a||{},i=o.attributesToRetrieve,u=n(o,[\"attributesToRetrieve\"]),s=e.map((function(e){return r({indexName:t.indexName,objectID:e},i?{attributesToRetrieve:i}:{})}));return t.transporter.read({method:j,path:\"1/indexes/*/objects\",data:{requests:s}},u)}},Gt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/indexes/%s/rules/%s\",t.indexName,e)},r)}},Lt=function(t){return function(e){return t.transporter.read({method:x,path:h(\"1/indexes/%s/settings\",t.indexName),data:{getVersion:2}},e)}},Vt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/indexes/%s/synonyms/%s\",t.indexName,e)},r)}},_t=function(t){return function(e,r){return d(Xt(t)([e],r).then((function(t){return{objectID:t.objectIDs[0],taskID:t.taskIDs[0]}})),(function(e,r){return de(t)(e.taskID,r)}))}},Xt=function(t){return function(e,r){var a=r||{},o=a.createIfNotExists,i=n(a,[\"createIfNotExists\"]),u=o?le.PartialUpdateObject:le.PartialUpdateObjectNoCreate;return Tt(t)(e,u,i)}},Yt=function(t){return function(e,i){var u=i||{},s=u.safe,c=u.autoGenerateObjectIDIfNotExist,f=u.batchSize,l=n(u,[\"safe\",\"autoGenerateObjectIDIfNotExist\",\"batchSize\"]),p=function(e,r,n,a){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/operation\",e),data:{operation:n,destination:r}},a),(function(e,r){return de(t)(e.taskID,r)}))},m=Math.random().toString(36).substring(7),y=\"\".concat(t.indexName,\"_tmp_\").concat(m),g=ee({appId:t.appId,transporter:t.transporter,indexName:y}),v=[],b=p(t.indexName,y,\"copy\",r(r({},l),{},{scope:[\"settings\",\"synonyms\",\"rules\"]}));return v.push(b),d((s?b.wait(l):b).then((function(){var t=g(e,r(r({},l),{},{autoGenerateObjectIDIfNotExist:c,batchSize:f}));return v.push(t),s?t.wait(l):t})).then((function(){var e=p(y,t.indexName,\"move\",l);return v.push(e),s?e.wait(l):e})).then((function(){return Promise.all(v)})).then((function(t){var e=a(t,3),r=e[0],n=e[1],i=e[2];return{objectIDs:n.objectIDs,taskIDs:[r.taskID].concat(o(n.taskIDs),[i.taskID])}})),(function(t,e){return Promise.all(v.map((function(t){return t.wait(e)})))}))}},Zt=function(t){return function(e,n){return ne(t)(e,r(r({},n),{},{clearExistingRules:!0}))}},$t=function(t){return function(e,n){return oe(t)(e,r(r({},n),{},{clearExistingSynonyms:!0}))}},te=function(t){return function(e,r){return d(ee(t)([e],r).then((function(t){return{objectID:t.objectIDs[0],taskID:t.taskIDs[0]}})),(function(e,r){return de(t)(e.taskID,r)}))}},ee=function(t){return function(e,r){var a=r||{},o=a.autoGenerateObjectIDIfNotExist,i=n(a,[\"autoGenerateObjectIDIfNotExist\"]),u=o?le.AddObject:le.UpdateObject;if(u===le.UpdateObject){var s=!0,c=!1,f=void 0;try{for(var l,p=e[Symbol.iterator]();!(s=(l=p.next()).done);s=!0){if(void 0===l.value.objectID)return d(Promise.reject({name:\"MissingObjectIDError\",message:\"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.\"}))}}catch(t){c=!0,f=t}finally{try{s||null==p.return||p.return()}finally{if(c)throw f}}}return Tt(t)(e,u,i)}},re=function(t){return function(e,r){return ne(t)([e],r)}},ne=function(t){return function(e,r){var a=r||{},o=a.forwardToReplicas,i=a.clearExistingRules,u=y(n(a,[\"forwardToReplicas\",\"clearExistingRules\"]));return o&&(u.queryParameters.forwardToReplicas=1),i&&(u.queryParameters.clearExistingRules=1),d(t.transporter.write({method:j,path:h(\"1/indexes/%s/rules/batch\",t.indexName),data:e},u),(function(e,r){return de(t)(e.taskID,r)}))}},ae=function(t){return function(e,r){return oe(t)([e],r)}},oe=function(t){return function(e,r){var a=r||{},o=a.forwardToReplicas,i=a.clearExistingSynonyms,u=a.replaceExistingSynonyms,s=y(n(a,[\"forwardToReplicas\",\"clearExistingSynonyms\",\"replaceExistingSynonyms\"]));return o&&(s.queryParameters.forwardToReplicas=1),(u||i)&&(s.queryParameters.replaceExistingSynonyms=1),d(t.transporter.write({method:j,path:h(\"1/indexes/%s/synonyms/batch\",t.indexName),data:e},s),(function(e,r){return de(t)(e.taskID,r)}))}},ie=function(t){return function(e,r){return t.transporter.read({method:j,path:h(\"1/indexes/%s/query\",t.indexName),data:{query:e},cacheable:!0},r)}},ue=function(t){return function(e,r,n){return t.transporter.read({method:j,path:h(\"1/indexes/%s/facets/%s/query\",t.indexName,e),data:{facetQuery:r},cacheable:!0},n)}},se=function(t){return function(e,r){return t.transporter.read({method:j,path:h(\"1/indexes/%s/rules/search\",t.indexName),data:{query:e}},r)}},ce=function(t){return function(e,r){return t.transporter.read({method:j,path:h(\"1/indexes/%s/synonyms/search\",t.indexName),data:{query:e}},r)}},fe=function(t){return function(e,r){var a=r||{},o=a.forwardToReplicas,i=y(n(a,[\"forwardToReplicas\"]));return o&&(i.queryParameters.forwardToReplicas=1),d(t.transporter.write({method:D,path:h(\"1/indexes/%s/settings\",t.indexName),data:e},i),(function(e,r){return de(t)(e.taskID,r)}))}},de=function(t){return function(e,r){return f((function(n){return function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/indexes/%s/task/%s\",t.indexName,e.toString())},r)}}(t)(e,r).then((function(t){return\"published\"!==t.status?n():void 0}))}))}},le={AddObject:\"addObject\",UpdateObject:\"updateObject\",PartialUpdateObject:\"partialUpdateObject\",PartialUpdateObjectNoCreate:\"partialUpdateObjectNoCreate\",DeleteObject:\"deleteObject\",DeleteIndex:\"delete\",ClearIndex:\"clear\"},pe={Settings:\"settings\",Synonyms:\"synonyms\",Rules:\"rules\"},he=1,me=2,ye=3;function ge(t,e,n){var a,o={appId:t,apiKey:e,timeouts:{connect:1,read:2,write:30},requester:{send:function(t){return new Promise((function(e){var r=new XMLHttpRequest;r.open(t.method,t.url,!0),Object.keys(t.headers).forEach((function(e){return r.setRequestHeader(e,t.headers[e])}));var n,a=function(t,n){return setTimeout((function(){r.abort(),e({status:0,content:n,isTimedOut:!0})}),1e3*t)},o=a(t.connectTimeout,\"Connection timeout\");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(o),n=a(t.responseTimeout,\"Socket timeout\"))},r.onerror=function(){0===r.status&&(clearTimeout(o),clearTimeout(n),e({content:r.responseText||\"Network request failed\",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(o),clearTimeout(n),e({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(t.data)}))}},logger:(a=ye,{debug:function(t,e){return he>=a&&console.debug(t,e),Promise.resolve()},info:function(t,e){return me>=a&&console.info(t,e),Promise.resolve()},error:function(t,e){return console.error(t,e),Promise.resolve()}}),responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:u({caches:[i({key:\"\".concat(\"4.14.3\",\"-\").concat(t)}),s()]}),userAgent:T(\"4.14.3\").add({segment:\"Browser\"})},f=r(r({},o),n),d=function(){return function(t){return function(t){var e=t.region||\"us\",n=c(m.WithinHeaders,t.appId,t.apiKey),a=k(r(r({hosts:[{url:\"personalization.\".concat(e,\".algolia.com\")}]},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/json\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({appId:t.appId,transporter:a},t.methods)}(r(r(r({},o),t),{},{methods:{getPersonalizationStrategy:H,setPersonalizationStrategy:M}}))}};return function(t){var e=t.appId,n=c(void 0!==t.authMode?t.authMode:m.WithinHeaders,e,t.apiKey),a=k(r(r({hosts:[{url:\"\".concat(e,\"-dsn.algolia.net\"),accept:g.Read},{url:\"\".concat(e,\".algolia.net\"),accept:g.Write}].concat(l([{url:\"\".concat(e,\"-1.algolianet.com\")},{url:\"\".concat(e,\"-2.algolianet.com\")},{url:\"\".concat(e,\"-3.algolianet.com\")}]))},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/x-www-form-urlencoded\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({transporter:a,appId:e,addAlgoliaAgent:function(t,e){a.userAgent.add({segment:t,version:e})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},t.methods)}(r(r({},f),{},{methods:{search:mt,searchForFacetValues:yt,multipleBatch:pt,multipleGetObjects:ht,multipleQueries:mt,copyIndex:L,copySettings:_,copySynonyms:X,copyRules:V,moveIndex:lt,listIndices:ft,getLogs:nt,listClusters:ct,multipleSearchForFacetValues:yt,getApiKey:tt,addApiKey:W,listApiKeys:st,updateApiKey:xt,deleteApiKey:Z,restoreApiKey:bt,assignUserID:B,assignUserIDs:Q,getUserID:ot,searchUserIDs:Ot,listUserIDs:dt,getTopUserIDs:at,removeUserID:gt,hasPendingMappings:it,clearDictionaryEntries:G,deleteDictionaryEntries:$,getDictionarySettings:rt,getAppTask:et,replaceDictionaryEntries:vt,saveDictionaryEntries:Pt,searchDictionaryEntries:wt,setDictionarySettings:It,waitAppTask:jt,customRequest:Y,initIndex:function(t){return function(e){return ut(t)(e,{methods:{batch:Dt,delete:Ct,findAnswers:Mt,getObject:Wt,getObjects:Qt,saveObject:te,saveObjects:ee,search:ie,searchForFacetValues:ue,waitTask:de,setSettings:fe,getSettings:Lt,partialUpdateObject:_t,partialUpdateObjects:Xt,deleteObject:Ut,deleteObjects:zt,deleteBy:At,clearObjects:Nt,browseObjects:qt,getObjectPosition:Bt,findObject:Kt,exists:Ht,saveSynonym:ae,saveSynonyms:oe,getSynonym:Vt,searchSynonyms:ce,browseSynonyms:kt,deleteSynonym:Ft,clearSynonyms:Rt,replaceAllObjects:Yt,replaceAllSynonyms:$t,searchRules:se,getRule:Gt,deleteRule:Jt,saveRule:re,saveRules:ne,replaceAllRules:Zt,browseRules:St,clearRules:Et}})}},initAnalytics:function(){return function(t){return function(t){var e=t.region||\"us\",n=c(m.WithinHeaders,t.appId,t.apiKey),a=k(r(r({hosts:[{url:\"analytics.\".concat(e,\".algolia.com\")}]},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/json\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({appId:t.appId,transporter:a},t.methods)}(r(r(r({},o),t),{},{methods:{addABTest:C,getABTest:z,getABTests:J,stopABTest:F,deleteABTest:U}}))}},initPersonalization:d,initRecommendation:function(){return function(t){return f.logger.info(\"The `initRecommendation` method is deprecated. Use `initPersonalization` instead.\"),d()(t)}}}}))}return ge.version=\"4.14.3\",ge}));\n","import {\n Component,\n h,\n Element,\n Host,\n Prop,\n State,\n EventEmitter,\n Event,\n Listen,\n Method,\n Watch,\n ComponentInterface,\n} from '@stencil/core';\n\nimport algoliasearch, {\n SearchClient as AlgoliaClient,\n SearchIndex as AlgoliaIndex,\n} from 'algoliasearch';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\nimport { Wormhole } from '../algolia/algolia-data';\nimport {\n InputChangeEventDetail,\n AloliaSearchResultDetail,\n SearchIndex,\n AlgoliaMultiResult,\n} from '../../interface';\n\n/**\n * @deprecated\n * Component for querying Algolia Indeces.\n * Can be nested within an algolia element or used outside as a 'resultsEmitter' (see algolia component documentation)\n * Must include one 'nano-input' component\n */\n@Component({\n tag: 'nano-algolia-input',\n shadow: true,\n})\nexport class AlgoliaInput implements ComponentInterface {\n private internalIndex: AlgoliaIndex;\n private algoliaClient: AlgoliaClient;\n private isNested: boolean;\n private inputField: HTMLNanoInputElement;\n\n @Element() host: HTMLNanoAlgoliaInputElement;\n\n @State() searchStr: string = '';\n @State() algoliaIndex: AlgoliaIndex = null;\n @State() currentResults: AlgoliaMultiResult;\n\n /**\n * An Algolia App ID key. Used in conjunction with 'searchIndex' & 'apiKey'.\n * Alternatively this will be set automatically when nested within an algolia component\n */\n @Prop() appId: string = '';\n\n /**\n * An Algolia API Key. Used in conjunction with 'searchIndex' & 'appId'.\n * Alternatively this will be set automatically when nested within an algolia component\n */\n @Prop() apiKey: string = '';\n\n /**\n * Algolia search index. Used in conjunction with 'searchIndex' & 'appId'.\n * Alternatively this will be set automatically if you're using a 'resultsEmitter' element.\n * ```\n * { index: string, // algolia index name\n * domain?: string, // used in template filers 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 = null;\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() searchIndexName: string;\n\n /**\n * Minimum number of characters before performing a search\n */\n @Prop() minChars: number = 2;\n\n /**\n * Automatically emit results data to algolia components.\n * For example, if you wanted to provide an 'autocomplete' style dropdown\n * before showing the main results with a submit button\n */\n @Prop() autoEmit: boolean = true;\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-community/strict-mutable\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 /**\n * Manually emit search results to algolia components.\n * Useful if you don't wish to search on input change / want to provide 'autocomplete' options\n * or / and want to use a submit button */\n @Method()\n async search() {\n this.emitResults();\n }\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n * @internal\n */\n @Event() nanoSearchResult!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Emitted when search results are successfully returned from Algolia.\n */\n @Event() nanoSearch!: EventEmitter<AloliaSearchResultDetail>;\n\n /**\n * Emitted when search field is cleared.\n */\n @Event() nanoSearchReset!: EventEmitter<AloliaSearchResultDetail>;\n\n @Watch('searchIndexName')\n searchIndexNameChange() {\n if (!this.searchIndexName || !this.searchIndexName.length) return;\n this.searchIndex = { index: this.searchIndexName };\n }\n\n @Watch('algoliaIndex')\n algoliaChange() {\n this.internalIndex = this.algoliaIndex;\n }\n\n @Watch('browseIndex')\n browseIndexChange() {\n if (this.browseIndex) {\n this.searchStr = '*';\n this.searchSubmit();\n }\n }\n\n @Watch('apiKey')\n @Watch('appId')\n @Watch('searchIndex')\n initAlgoliaClient() {\n if (this.isNested || !this.appId || !this.apiKey) return;\n this.algoliaClient = algoliasearch(this.appId, this.apiKey);\n if (this.searchIndex)\n this.algoliaIndex = this.algoliaClient.initIndex(this.searchIndex.index);\n }\n\n @Listen('nanoChange')\n async searchSubmit(ev?: CustomEvent<InputChangeEventDetail>) {\n if (!this.internalIndex) {\n console.error('No algolia index set');\n return;\n }\n\n if (ev) {\n if ((ev.target as HTMLElement).tagName.toLowerCase() !== 'nano-input')\n return;\n this.searchStr = ev.detail.value;\n } else {\n this.inputField =\n this.inputField || this.host.querySelector('nano-input');\n if (!this.inputField) return;\n this.searchStr = this.inputField.value;\n }\n\n if (this.searchStr.length < this.minChars) {\n if (this.browseIndex) this.searchStr = '*';\n else {\n if (this.searchStr.length === 0) {\n this.nanoSearchResult.emit({\n results: [],\n client: { apiKey: this.appId, appId: this.appId },\n });\n return;\n }\n if (this.searchStr.length < this.minChars) return;\n }\n }\n\n let options = {};\n if (this.searchIndex.filters)\n options = { facets: this.searchIndex.filters };\n\n const results = this.fixDomain(\n await this.internalIndex.search(this.searchStr, options)\n );\n results.indexName = this.searchIndex.name;\n results.selected = true;\n results.domain = this.searchIndex.domain || null;\n results.index = this.searchIndex.index;\n\n this.currentResults = results;\n this.nanoSearch.emit({\n results: [this.currentResults],\n client: { apiKey: this.appId, appId: this.appId },\n });\n\n if (this.autoEmit) this.emitResults();\n }\n\n private emitResults() {\n this.nanoSearchResult.emit({\n results: [this.currentResults],\n client: { apiKey: this.appId, appId: this.appId },\n });\n }\n\n private fixDomain(results: AlgoliaMultiResult) {\n if (!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 private handleFocus = () => {\n if (this.inputField) this.inputField.setFocus();\n };\n\n connectedCallback() {\n this.isNested =\n this.host.parentElement.tagName.toLowerCase() === 'nano-algolia' &&\n this.host.hasAttribute('slot') &&\n this.host.getAttribute('slot') === 'search-input';\n\n if (!this.isNested) {\n this.host.addEventListener(\n 'openWormhole',\n (ev: CustomEvent<{ onOpen: any }>) => {\n ev.detail.onOpen.resolve();\n this.searchIndexNameChange();\n this.initAlgoliaClient();\n }\n );\n }\n }\n\n componentWillLoad() {\n this.inputField = this.host.querySelector('nano-input');\n if (this.storeId)\n ComponentStore.init(this, ['searchStr'], this.storeMethod, this.storeId);\n }\n\n render() {\n return (\n <Host onFocus={this.handleFocus} tabindex=\"-1\">\n <slot />\n </Host>\n );\n }\n}\n\nWormhole(AlgoliaInput, ['algoliaIndex', 'searchIndex', 'browseIndex']);\n"],"mappings":"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"}