@nanoporetech-digital/components 5.10.0 → 5.11.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 (737) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/cjs/{algolia-data-6841724e.js → algolia-data-dba27b97.js} +2 -2
  3. package/dist/cjs/{algolia-data-6841724e.js.map → algolia-data-dba27b97.js.map} +1 -1
  4. package/dist/cjs/{algoliasearch-lite.esm.browser-992a2eff.js → algoliasearch-lite.esm.browser-b74ca774.js} +30 -5
  5. package/dist/cjs/algoliasearch-lite.esm.browser-b74ca774.js.map +1 -0
  6. package/dist/cjs/{component-store-6d7b8855.js → component-store-149aeffe.js} +2 -2
  7. package/dist/cjs/{component-store-6d7b8855.js.map → component-store-149aeffe.js.map} +1 -1
  8. package/dist/cjs/fade-dcabf3c1.js +211 -0
  9. package/dist/cjs/fade-dcabf3c1.js.map +1 -0
  10. package/dist/cjs/{form-control-8db579a2.js → form-control-f100407e.js} +2 -2
  11. package/dist/cjs/{form-control-8db579a2.js.map → form-control-f100407e.js.map} +1 -1
  12. package/dist/cjs/fullscreen-d24940a1.js +133 -0
  13. package/dist/cjs/fullscreen-d24940a1.js.map +1 -0
  14. package/dist/cjs/{global-3a6a7873.js → global-a5710651.js} +7 -7
  15. package/dist/cjs/{global-3a6a7873.js.map → global-a5710651.js.map} +1 -1
  16. package/dist/cjs/{index-1d3ebe1a.js → index-14451c95.js} +8 -6
  17. package/dist/cjs/index-14451c95.js.map +1 -0
  18. package/dist/cjs/{index-0f470227.js → index-f6f89d47.js} +2 -2
  19. package/dist/cjs/{index-0f470227.js.map → index-f6f89d47.js.map} +1 -1
  20. package/dist/cjs/lazyload-f6be7590.js +95 -0
  21. package/dist/cjs/lazyload-f6be7590.js.map +1 -0
  22. package/dist/cjs/loader.cjs.js +4 -4
  23. package/dist/cjs/loader.cjs.js.map +1 -1
  24. package/dist/cjs/nano-accordion.cjs.entry.js +1 -1
  25. package/dist/cjs/nano-alert.cjs.entry.js +3 -3
  26. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
  28. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -7
  30. package/dist/cjs/nano-algolia-pagination.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-algolia-results.cjs.entry.js +2 -2
  32. package/dist/cjs/nano-algolia-results.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nano-algolia.cjs.entry.js +982 -26
  34. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
  36. package/dist/cjs/nano-checkbox-group.cjs.entry.js +10 -4
  37. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-checkbox.cjs.entry.js +4 -2
  39. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nano-components.cjs.js +4 -4
  41. package/dist/cjs/nano-components.cjs.js.map +1 -1
  42. package/dist/cjs/nano-datalist_3.cjs.entry.js +4 -4
  43. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nano-date-input.cjs.entry.js +1 -1
  45. package/dist/cjs/nano-date-picker.cjs.entry.js +2 -2
  46. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nano-demo.cjs.entry.js +1 -1
  48. package/dist/cjs/nano-details.cjs.entry.js +2 -2
  49. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nano-dialog.cjs.entry.js +5 -5
  51. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nano-drawer.cjs.entry.js +5 -5
  53. package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-dropdown.cjs.entry.js +1 -1
  55. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nano-field-validator.cjs.entry.js +7 -5
  57. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nano-file-upload.cjs.entry.js +2 -2
  59. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +4 -4
  61. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
  62. package/dist/cjs/nano-global-nav.cjs.entry.js +122 -153
  63. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nano-global-search-results.cjs.entry.js +3 -3
  65. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  66. package/dist/cjs/nano-grid-item.cjs.entry.js +1 -1
  67. package/dist/cjs/nano-grid_2.cjs.entry.js +2 -2
  68. package/dist/cjs/nano-grid_2.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nano-hero.cjs.entry.js +2 -2
  70. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nano-icon-button_2.cjs.entry.js +24 -4
  72. package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +1 -1
  73. package/dist/cjs/nano-icon.cjs.entry.js +4 -4
  74. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  75. package/dist/cjs/nano-input.cjs.entry.js +3 -3
  76. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  77. package/dist/cjs/nano-menu-drawer.cjs.entry.js +2 -2
  78. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  79. package/dist/cjs/nano-overflow-nav.cjs.entry.js +2 -2
  80. package/dist/cjs/nano-overflow-nav.cjs.entry.js.map +1 -1
  81. package/dist/cjs/nano-progress-bar.cjs.entry.js +2 -2
  82. package/dist/cjs/nano-progress-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  84. package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
  85. package/dist/cjs/nano-rating.cjs.entry.js +2 -2
  86. package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
  87. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -1
  88. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  89. package/dist/cjs/nano-slides-2f3dcc02.js +2975 -0
  90. package/dist/cjs/nano-slides-2f3dcc02.js.map +1 -0
  91. package/dist/cjs/nano-slides.cjs.entry.js +3 -4292
  92. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  93. package/dist/cjs/nano-sortable.cjs.entry.js +1 -1
  94. package/dist/cjs/nano-spinner.cjs.entry.js +2 -2
  95. package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
  96. package/dist/cjs/nano-split-pane.cjs.entry.js +1 -1
  97. package/dist/cjs/nano-sticker.cjs.entry.js +3 -2
  98. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  99. package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
  100. package/dist/cjs/nano-tab-group.cjs.entry.js +4 -4
  101. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  102. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  103. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  104. package/dist/cjs/{nano-table-72d5dc63.js → nano-table-26845696.js} +5 -5
  105. package/dist/cjs/{nano-table-72d5dc63.js.map → nano-table-26845696.js.map} +1 -1
  106. package/dist/cjs/nano-table.cjs.entry.js +3 -3
  107. package/dist/cjs/page-dots-ae2cefb4.js +140 -0
  108. package/dist/cjs/page-dots-ae2cefb4.js.map +1 -0
  109. package/dist/cjs/{scroll-fc1b8387.js → scroll-e8c21f80.js} +8 -4
  110. package/dist/cjs/scroll-e8c21f80.js.map +1 -0
  111. package/dist/cjs/{table.worker-3df34efe.js → table.worker-a5996745.js} +4 -4
  112. package/dist/cjs/table.worker-a5996745.js.map +1 -0
  113. package/dist/collection/collection-manifest.json +1 -1
  114. package/dist/collection/components/alert/alert.css +1 -2
  115. package/dist/collection/components/algolia/algolia-data.js.map +1 -1
  116. package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
  117. package/dist/collection/components/algolia/algolia-pagination.js +0 -5
  118. package/dist/collection/components/algolia/algolia-pagination.js.map +1 -1
  119. package/dist/collection/components/algolia/algolia-results.js.map +1 -1
  120. package/dist/collection/components/algolia/algolia.js +4 -27
  121. package/dist/collection/components/algolia/algolia.js.map +1 -1
  122. package/dist/collection/components/algolia/lib/squirrelly/browser.js +10 -0
  123. package/dist/collection/components/algolia/lib/squirrelly/browser.js.map +1 -0
  124. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js +151 -0
  125. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js.map +1 -0
  126. package/dist/collection/components/algolia/lib/squirrelly/compile.js +44 -0
  127. package/dist/collection/components/algolia/lib/squirrelly/compile.js.map +1 -0
  128. package/dist/collection/components/algolia/lib/squirrelly/config.js +68 -0
  129. package/dist/collection/components/algolia/lib/squirrelly/config.js.map +1 -0
  130. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js +57 -0
  131. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js.map +1 -0
  132. package/dist/collection/components/algolia/lib/squirrelly/containers.js +128 -0
  133. package/dist/collection/components/algolia/lib/squirrelly/containers.js.map +1 -0
  134. package/dist/collection/components/algolia/lib/squirrelly/err.js +39 -0
  135. package/dist/collection/components/algolia/lib/squirrelly/err.js.map +1 -0
  136. package/dist/collection/components/algolia/lib/squirrelly/parse.js +327 -0
  137. package/dist/collection/components/algolia/lib/squirrelly/parse.js.map +1 -0
  138. package/dist/collection/components/algolia/lib/squirrelly/render.js +62 -0
  139. package/dist/collection/components/algolia/lib/squirrelly/render.js.map +1 -0
  140. package/dist/collection/components/algolia/lib/squirrelly/storage.js +32 -0
  141. package/dist/collection/components/algolia/lib/squirrelly/storage.js.map +1 -0
  142. package/dist/collection/components/algolia/lib/squirrelly/utils.js +102 -0
  143. package/dist/collection/components/algolia/lib/squirrelly/utils.js.map +1 -0
  144. package/dist/collection/{utils → components/algolia/lib}/template.js +1 -2
  145. package/dist/collection/components/algolia/lib/template.js.map +1 -0
  146. package/dist/collection/components/checkbox/checkbox-group.css +17 -15
  147. package/dist/collection/components/checkbox/checkbox-group.js +29 -2
  148. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  149. package/dist/collection/components/checkbox/checkbox.css +20 -22
  150. package/dist/collection/components/checkbox/checkbox.js +2 -0
  151. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  152. package/dist/collection/components/date-picker/date-picker.css +5 -10
  153. package/dist/collection/components/details/details.css +4 -4
  154. package/dist/collection/components/dialog/dialog.css +3 -6
  155. package/dist/collection/components/dialog/dialog.js +1 -1
  156. package/dist/collection/components/dialog/dialog.js.map +1 -1
  157. package/dist/collection/components/drawer/drawer.css +18 -24
  158. package/dist/collection/components/drawer/drawer.js +1 -1
  159. package/dist/collection/components/drawer/drawer.js.map +1 -1
  160. package/dist/collection/components/dropdown/dropdown.js +1 -1
  161. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  162. package/dist/collection/components/field-validator/field-validator.js +5 -3
  163. package/dist/collection/components/field-validator/field-validator.js.map +1 -1
  164. package/dist/collection/components/file-upload/file-upload.css +16 -30
  165. package/dist/collection/components/global-nav/global-nav.js +118 -157
  166. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  167. package/dist/collection/components/global-nav/style/global-nav.css +97 -138
  168. package/dist/collection/components/global-search-results/global-search-results.css +85 -127
  169. package/dist/collection/components/global-search-results/global-search-results.js +1 -1
  170. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  171. package/dist/collection/components/hero/hero.css +13 -26
  172. package/dist/collection/components/icon/icon.css +6 -6
  173. package/dist/collection/components/icon/icon.js +2 -2
  174. package/dist/collection/components/icon/icon.js.map +1 -1
  175. package/dist/collection/components/img/img.css +7 -17
  176. package/dist/collection/components/input/input.css +15 -36
  177. package/dist/collection/components/menu/menu.css +1 -1
  178. package/dist/collection/components/menu/menu.js +1 -1
  179. package/dist/collection/components/menu/menu.js.map +1 -1
  180. package/dist/collection/components/menu-drawer/menu-drawer.css +5 -14
  181. package/dist/collection/components/nav-item/nav-item.css +25 -46
  182. package/dist/collection/components/option/option.css +3 -5
  183. package/dist/collection/components/overflow-nav/overflow-nav.css +16 -27
  184. package/dist/collection/components/progress-bar/progress-bar.css +2 -2
  185. package/dist/collection/components/range/range.css +17 -19
  186. package/dist/collection/components/rating/rating.css +2 -8
  187. package/dist/collection/components/select/select.css +30 -53
  188. package/dist/collection/components/slides/lib/js/animate.js +29 -54
  189. package/dist/collection/components/slides/lib/js/animate.js.map +1 -0
  190. package/dist/collection/components/slides/lib/js/cell.js +12 -24
  191. package/dist/collection/components/slides/lib/js/cell.js.map +1 -0
  192. package/dist/collection/components/slides/lib/js/drag.js +65 -116
  193. package/dist/collection/components/slides/lib/js/drag.js.map +1 -0
  194. package/dist/collection/components/slides/lib/js/fade.js +52 -79
  195. package/dist/collection/components/slides/lib/js/fade.js.map +1 -0
  196. package/dist/collection/components/slides/lib/js/flickity.js +118 -206
  197. package/dist/collection/components/slides/lib/js/flickity.js.map +1 -0
  198. package/dist/collection/components/slides/lib/js/fullscreen.js +21 -40
  199. package/dist/collection/components/slides/lib/js/fullscreen.js.map +1 -0
  200. package/dist/collection/components/slides/lib/js/index.js +4 -6
  201. package/dist/collection/components/slides/lib/js/index.js.map +1 -0
  202. package/dist/collection/components/slides/lib/js/lazyload.js +21 -36
  203. package/dist/collection/components/slides/lib/js/lazyload.js.map +1 -0
  204. package/dist/collection/components/slides/lib/js/page-dots.js +21 -45
  205. package/dist/collection/components/slides/lib/js/page-dots.js.map +1 -0
  206. package/dist/collection/components/slides/lib/js/player.js +12 -40
  207. package/dist/collection/components/slides/lib/js/player.js.map +1 -0
  208. package/dist/collection/components/slides/lib/js/prev-next-button.js +24 -52
  209. package/dist/collection/components/slides/lib/js/prev-next-button.js.map +1 -0
  210. package/dist/collection/components/slides/lib/js/slide.js +10 -15
  211. package/dist/collection/components/slides/lib/js/slide.js.map +1 -0
  212. package/dist/collection/components/slides/lib/js/utils/event-emitter.js +75 -0
  213. package/dist/collection/components/slides/lib/js/utils/event-emitter.js.map +1 -0
  214. package/dist/collection/components/slides/lib/js/utils/gestures.js +436 -0
  215. package/dist/collection/components/slides/lib/js/utils/gestures.js.map +1 -0
  216. package/dist/collection/components/slides/lib/js/utils/get-size.js +160 -0
  217. package/dist/collection/components/slides/lib/js/utils/get-size.js.map +1 -0
  218. package/dist/collection/components/slides/lib/js/utils/utils.js +166 -0
  219. package/dist/collection/components/slides/lib/js/utils/utils.js.map +1 -0
  220. package/dist/collection/components/slides/slides.css +18 -19
  221. package/dist/collection/components/slides/slides.js +31 -5
  222. package/dist/collection/components/slides/slides.js.map +1 -1
  223. package/dist/collection/components/spinner/spinner.css +1 -2
  224. package/dist/collection/components/sticker/sticker.js +2 -1
  225. package/dist/collection/components/sticker/sticker.js.map +1 -1
  226. package/dist/collection/components/table/table.css +29 -48
  227. package/dist/collection/components/tabs/tab-group.css +10 -14
  228. package/dist/collection/components/tabs/tab.css +8 -18
  229. package/dist/collection/components/tooltip/tooltip.css +34 -31
  230. package/dist/collection/components/tooltip/tooltip.js +23 -3
  231. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  232. package/dist/collection/global/script/global.js +6 -6
  233. package/dist/collection/global/script/global.js.map +1 -1
  234. package/dist/collection/utils/scroll.js +7 -3
  235. package/dist/collection/utils/scroll.js.map +1 -1
  236. package/dist/components/algolia-data.js.map +1 -1
  237. package/dist/components/algolia.js +978 -23
  238. package/dist/components/algolia.js.map +1 -1
  239. package/dist/components/algoliasearch-lite.esm.browser.js +29 -4
  240. package/dist/components/algoliasearch-lite.esm.browser.js.map +1 -1
  241. package/dist/components/date-picker.js +1 -1
  242. package/dist/components/date-picker.js.map +1 -1
  243. package/dist/components/dropdown.js +1 -1
  244. package/dist/components/dropdown.js.map +1 -1
  245. package/dist/components/fade.js +208 -0
  246. package/dist/components/fade.js.map +1 -0
  247. package/dist/components/fullscreen.js +130 -0
  248. package/dist/components/fullscreen.js.map +1 -0
  249. package/dist/components/icon.js +3 -3
  250. package/dist/components/icon.js.map +1 -1
  251. package/dist/components/img.js +1 -1
  252. package/dist/components/img.js.map +1 -1
  253. package/dist/components/index.js +6 -6
  254. package/dist/components/index.js.map +1 -1
  255. package/dist/components/input.js +1 -1
  256. package/dist/components/input.js.map +1 -1
  257. package/dist/components/lazyload.js +92 -0
  258. package/dist/components/lazyload.js.map +1 -0
  259. package/dist/components/menu.js +2 -2
  260. package/dist/components/menu.js.map +1 -1
  261. package/dist/components/nano-alert.js +1 -1
  262. package/dist/components/nano-alert.js.map +1 -1
  263. package/dist/components/nano-algolia-filter.js.map +1 -1
  264. package/dist/components/nano-algolia-pagination.js +0 -5
  265. package/dist/components/nano-algolia-pagination.js.map +1 -1
  266. package/dist/components/nano-algolia-results.js.map +1 -1
  267. package/dist/components/nano-checkbox-group.js +10 -3
  268. package/dist/components/nano-checkbox-group.js.map +1 -1
  269. package/dist/components/nano-checkbox.js +3 -1
  270. package/dist/components/nano-checkbox.js.map +1 -1
  271. package/dist/components/nano-details.js +1 -1
  272. package/dist/components/nano-details.js.map +1 -1
  273. package/dist/components/nano-dialog.js +2 -2
  274. package/dist/components/nano-dialog.js.map +1 -1
  275. package/dist/components/nano-drawer.js +2 -2
  276. package/dist/components/nano-drawer.js.map +1 -1
  277. package/dist/components/nano-field-validator.js +5 -3
  278. package/dist/components/nano-field-validator.js.map +1 -1
  279. package/dist/components/nano-file-upload.js +1 -1
  280. package/dist/components/nano-file-upload.js.map +1 -1
  281. package/dist/components/nano-global-nav.js +119 -152
  282. package/dist/components/nano-global-nav.js.map +1 -1
  283. package/dist/components/nano-global-search-results.js +2 -2
  284. package/dist/components/nano-global-search-results.js.map +1 -1
  285. package/dist/components/nano-hero.js +1 -1
  286. package/dist/components/nano-hero.js.map +1 -1
  287. package/dist/components/nano-menu-drawer.js +1 -1
  288. package/dist/components/nano-menu-drawer.js.map +1 -1
  289. package/dist/components/nano-overflow-nav.js +1 -1
  290. package/dist/components/nano-overflow-nav.js.map +1 -1
  291. package/dist/components/nano-range.js +1 -1
  292. package/dist/components/nano-range.js.map +1 -1
  293. package/dist/components/nano-rating.js +1 -1
  294. package/dist/components/nano-rating.js.map +1 -1
  295. package/dist/components/nano-slides.js +760 -2090
  296. package/dist/components/nano-slides.js.map +1 -1
  297. package/dist/components/nano-tab-group.js +1 -1
  298. package/dist/components/nano-tab-group.js.map +1 -1
  299. package/dist/components/nano-tab.js +1 -1
  300. package/dist/components/nano-tab.js.map +1 -1
  301. package/dist/components/nav-item.js +1 -1
  302. package/dist/components/nav-item.js.map +1 -1
  303. package/dist/components/option.js +1 -1
  304. package/dist/components/option.js.map +1 -1
  305. package/dist/components/page-dots.js +137 -0
  306. package/dist/components/page-dots.js.map +1 -0
  307. package/dist/components/progress-bar.js +1 -1
  308. package/dist/components/progress-bar.js.map +1 -1
  309. package/dist/components/scroll.js +7 -3
  310. package/dist/components/scroll.js.map +1 -1
  311. package/dist/components/select.js +1 -1
  312. package/dist/components/select.js.map +1 -1
  313. package/dist/components/spinner.js +1 -1
  314. package/dist/components/spinner.js.map +1 -1
  315. package/dist/components/sticker.js +2 -1
  316. package/dist/components/sticker.js.map +1 -1
  317. package/dist/components/table.js +1 -1
  318. package/dist/components/table.js.map +1 -1
  319. package/dist/components/tooltip.js +24 -4
  320. package/dist/components/tooltip.js.map +1 -1
  321. package/dist/esm/{algolia-data-ebf2a439.js → algolia-data-1b42827c.js} +2 -2
  322. package/dist/esm/{algolia-data-ebf2a439.js.map → algolia-data-1b42827c.js.map} +1 -1
  323. package/dist/esm/{algoliasearch-lite.esm.browser-04891fdc.js → algoliasearch-lite.esm.browser-d71a28dc.js} +30 -5
  324. package/dist/esm/algoliasearch-lite.esm.browser-d71a28dc.js.map +1 -0
  325. package/dist/esm/{component-store-54df2005.js → component-store-f7eb0a56.js} +2 -2
  326. package/dist/esm/{component-store-54df2005.js.map → component-store-f7eb0a56.js.map} +1 -1
  327. package/dist/esm/fade-1aa7a6db.js +209 -0
  328. package/dist/esm/fade-1aa7a6db.js.map +1 -0
  329. package/dist/esm/{form-control-eb06e009.js → form-control-881fa3af.js} +2 -2
  330. package/dist/esm/{form-control-eb06e009.js.map → form-control-881fa3af.js.map} +1 -1
  331. package/dist/esm/fullscreen-86fa276a.js +131 -0
  332. package/dist/esm/fullscreen-86fa276a.js.map +1 -0
  333. package/dist/esm/{global-f6e05656.js → global-be484e8c.js} +7 -7
  334. package/dist/esm/{global-f6e05656.js.map → global-be484e8c.js.map} +1 -1
  335. package/dist/esm/{index-e8891229.js → index-3003356f.js} +2 -2
  336. package/dist/esm/{index-e8891229.js.map → index-3003356f.js.map} +1 -1
  337. package/dist/esm/{index-06666022.js → index-9695db0a.js} +8 -6
  338. package/dist/esm/index-9695db0a.js.map +1 -0
  339. package/dist/esm/lazyload-994232a6.js +93 -0
  340. package/dist/esm/lazyload-994232a6.js.map +1 -0
  341. package/dist/esm/loader.js +5 -5
  342. package/dist/esm/loader.js.map +1 -1
  343. package/dist/esm/nano-accordion.entry.js +1 -1
  344. package/dist/esm/nano-alert.entry.js +3 -3
  345. package/dist/esm/nano-alert.entry.js.map +1 -1
  346. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  347. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  348. package/dist/esm/nano-algolia-pagination.entry.js +2 -7
  349. package/dist/esm/nano-algolia-pagination.entry.js.map +1 -1
  350. package/dist/esm/nano-algolia-results.entry.js +2 -2
  351. package/dist/esm/nano-algolia-results.entry.js.map +1 -1
  352. package/dist/esm/nano-algolia.entry.js +982 -26
  353. package/dist/esm/nano-algolia.entry.js.map +1 -1
  354. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  355. package/dist/esm/nano-checkbox-group.entry.js +10 -4
  356. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  357. package/dist/esm/nano-checkbox.entry.js +4 -2
  358. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  359. package/dist/esm/nano-components.js +5 -5
  360. package/dist/esm/nano-components.js.map +1 -1
  361. package/dist/esm/nano-datalist_3.entry.js +4 -4
  362. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  363. package/dist/esm/nano-date-input.entry.js +1 -1
  364. package/dist/esm/nano-date-picker.entry.js +2 -2
  365. package/dist/esm/nano-date-picker.entry.js.map +1 -1
  366. package/dist/esm/nano-demo.entry.js +1 -1
  367. package/dist/esm/nano-details.entry.js +2 -2
  368. package/dist/esm/nano-details.entry.js.map +1 -1
  369. package/dist/esm/nano-dialog.entry.js +5 -5
  370. package/dist/esm/nano-dialog.entry.js.map +1 -1
  371. package/dist/esm/nano-drawer.entry.js +5 -5
  372. package/dist/esm/nano-drawer.entry.js.map +1 -1
  373. package/dist/esm/nano-dropdown.entry.js +1 -1
  374. package/dist/esm/nano-dropdown.entry.js.map +1 -1
  375. package/dist/esm/nano-field-validator.entry.js +7 -5
  376. package/dist/esm/nano-field-validator.entry.js.map +1 -1
  377. package/dist/esm/nano-file-upload.entry.js +2 -2
  378. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  379. package/dist/esm/nano-global-nav-user-profile_3.entry.js +4 -4
  380. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  381. package/dist/esm/nano-global-nav.entry.js +122 -153
  382. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  383. package/dist/esm/nano-global-search-results.entry.js +3 -3
  384. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  385. package/dist/esm/nano-grid-item.entry.js +1 -1
  386. package/dist/esm/nano-grid_2.entry.js +2 -2
  387. package/dist/esm/nano-grid_2.entry.js.map +1 -1
  388. package/dist/esm/nano-hero.entry.js +2 -2
  389. package/dist/esm/nano-hero.entry.js.map +1 -1
  390. package/dist/esm/nano-icon-button_2.entry.js +24 -4
  391. package/dist/esm/nano-icon-button_2.entry.js.map +1 -1
  392. package/dist/esm/nano-icon.entry.js +4 -4
  393. package/dist/esm/nano-icon.entry.js.map +1 -1
  394. package/dist/esm/nano-input.entry.js +3 -3
  395. package/dist/esm/nano-input.entry.js.map +1 -1
  396. package/dist/esm/nano-menu-drawer.entry.js +2 -2
  397. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  398. package/dist/esm/nano-overflow-nav.entry.js +2 -2
  399. package/dist/esm/nano-overflow-nav.entry.js.map +1 -1
  400. package/dist/esm/nano-progress-bar.entry.js +2 -2
  401. package/dist/esm/nano-progress-bar.entry.js.map +1 -1
  402. package/dist/esm/nano-range.entry.js +2 -2
  403. package/dist/esm/nano-range.entry.js.map +1 -1
  404. package/dist/esm/nano-rating.entry.js +2 -2
  405. package/dist/esm/nano-rating.entry.js.map +1 -1
  406. package/dist/esm/nano-resize-observe_2.entry.js +1 -1
  407. package/dist/esm/nano-slide.entry.js +1 -1
  408. package/dist/esm/nano-slides-9908c44d.js +2970 -0
  409. package/dist/esm/nano-slides-9908c44d.js.map +1 -0
  410. package/dist/esm/nano-slides.entry.js +2 -4295
  411. package/dist/esm/nano-slides.entry.js.map +1 -1
  412. package/dist/esm/nano-sortable.entry.js +1 -1
  413. package/dist/esm/nano-spinner.entry.js +2 -2
  414. package/dist/esm/nano-spinner.entry.js.map +1 -1
  415. package/dist/esm/nano-split-pane.entry.js +1 -1
  416. package/dist/esm/nano-sticker.entry.js +3 -2
  417. package/dist/esm/nano-sticker.entry.js.map +1 -1
  418. package/dist/esm/nano-tab-content.entry.js +1 -1
  419. package/dist/esm/nano-tab-group.entry.js +4 -4
  420. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  421. package/dist/esm/nano-tab.entry.js +2 -2
  422. package/dist/esm/nano-tab.entry.js.map +1 -1
  423. package/dist/esm/{nano-table-5af42ba4.js → nano-table-55d753cb.js} +5 -5
  424. package/dist/esm/{nano-table-5af42ba4.js.map → nano-table-55d753cb.js.map} +1 -1
  425. package/dist/esm/nano-table.entry.js +3 -3
  426. package/dist/esm/page-dots-467ace2e.js +138 -0
  427. package/dist/esm/page-dots-467ace2e.js.map +1 -0
  428. package/dist/esm/{scroll-ec7ac257.js → scroll-ac332213.js} +8 -4
  429. package/dist/esm/scroll-ac332213.js.map +1 -0
  430. package/dist/esm/{table.worker-3cae908c.js → table.worker-34706ecc.js} +4 -4
  431. package/dist/esm/table.worker-34706ecc.js.map +1 -0
  432. package/dist/nano-components/{p-74a7fc4f.js → active-element-75b7c8a0.js} +1 -1
  433. package/dist/nano-components/algolia-data-1b42827c.js +5 -0
  434. package/dist/nano-components/{p-a26bdb65.js.map → algolia-data-1b42827c.js.map} +1 -1
  435. package/dist/nano-components/algoliasearch-lite.esm.browser-d71a28dc.js +5 -0
  436. package/dist/nano-components/algoliasearch-lite.esm.browser-d71a28dc.js.map +1 -0
  437. package/dist/nano-components/component-store-f7eb0a56.js +5 -0
  438. package/dist/nano-components/{p-dd5687db.js.map → component-store-f7eb0a56.js.map} +1 -1
  439. package/dist/nano-components/{p-cecb9af1.js → date-utils-6b7a6e1f.js} +1 -1
  440. package/dist/nano-components/{p-cdfc507e.js → dom-8599fac1.js} +1 -1
  441. package/dist/nano-components/{p-842cf127.js → drag-1723a4cc.js} +1 -1
  442. package/dist/nano-components/{p-9bfdee71.js → events-6a805b42.js} +1 -1
  443. package/dist/nano-components/fade-1aa7a6db.js +5 -0
  444. package/dist/nano-components/fade-1aa7a6db.js.map +1 -0
  445. package/dist/nano-components/{p-f8f89998.js → focus-visible-8b2c14da.js} +1 -1
  446. package/dist/nano-components/form-control-881fa3af.js +5 -0
  447. package/dist/nano-components/{p-dc805ecc.js.map → form-control-881fa3af.js.map} +1 -1
  448. package/dist/nano-components/fullscreen-86fa276a.js +5 -0
  449. package/dist/nano-components/fullscreen-86fa276a.js.map +1 -0
  450. package/dist/nano-components/{p-d4f6ec9f.js → global-be484e8c.js} +2 -2
  451. package/dist/nano-components/{p-d4f6ec9f.js.map → global-be484e8c.js.map} +1 -1
  452. package/dist/nano-components/index-3003356f.js +5 -0
  453. package/dist/nano-components/{p-70747f20.js.map → index-3003356f.js.map} +1 -1
  454. package/dist/nano-components/{p-d6a04b3a.js → index-9695db0a.js} +2 -2
  455. package/dist/nano-components/{p-d6a04b3a.js.map → index-9695db0a.js.map} +1 -1
  456. package/dist/nano-components/{p-bb07c3d0.js → index-f626f476.js} +1 -1
  457. package/dist/nano-components/index.esm.js +1 -1
  458. package/dist/nano-components/index.esm.js.map +1 -1
  459. package/dist/nano-components/lazyload-994232a6.js +5 -0
  460. package/dist/nano-components/lazyload-994232a6.js.map +1 -0
  461. package/dist/nano-components/{p-2155fc2c.js → local-my-account-6662da72.js} +1 -1
  462. package/dist/nano-components/{p-ee045579.js → math-c02ddfda.js} +1 -1
  463. package/dist/nano-components/modal-bd9638c0.js +5 -0
  464. package/dist/nano-components/{p-2234694a.js.map → modal-bd9638c0.js.map} +1 -1
  465. package/dist/nano-components/nano-accordion.entry.js +5 -0
  466. package/dist/nano-components/{p-9f60ff14.entry.js.map → nano-accordion.entry.js.map} +1 -1
  467. package/dist/nano-components/nano-alert.entry.js +5 -0
  468. package/dist/nano-components/{p-191352c4.entry.js.map → nano-alert.entry.js.map} +1 -1
  469. package/dist/nano-components/nano-algolia-filter.entry.js +5 -0
  470. package/dist/nano-components/nano-algolia-filter.entry.js.map +1 -0
  471. package/dist/nano-components/nano-algolia-pagination.entry.js +5 -0
  472. package/dist/nano-components/nano-algolia-pagination.entry.js.map +1 -0
  473. package/dist/nano-components/nano-algolia-results.entry.js +5 -0
  474. package/dist/nano-components/nano-algolia-results.entry.js.map +1 -0
  475. package/dist/nano-components/nano-algolia.entry.js +5 -0
  476. package/dist/nano-components/nano-algolia.entry.js.map +1 -0
  477. package/dist/nano-components/nano-aspect-ratio.entry.js +5 -0
  478. package/dist/nano-components/{p-87329424.entry.js.map → nano-aspect-ratio.entry.js.map} +1 -1
  479. package/dist/nano-components/nano-checkbox-group.entry.js +5 -0
  480. package/dist/nano-components/nano-checkbox-group.entry.js.map +1 -0
  481. package/dist/nano-components/nano-checkbox.entry.js +5 -0
  482. package/dist/nano-components/nano-checkbox.entry.js.map +1 -0
  483. package/dist/nano-components/nano-components.css +1 -1
  484. package/dist/nano-components/nano-components.esm.js +1 -1
  485. package/dist/nano-components/nano-components.esm.js.map +1 -1
  486. package/dist/nano-components/nano-datalist_3.entry.js +5 -0
  487. package/dist/nano-components/nano-datalist_3.entry.js.map +1 -0
  488. package/dist/nano-components/nano-date-input.entry.js +5 -0
  489. package/dist/nano-components/{p-d4e44f93.entry.js.map → nano-date-input.entry.js.map} +1 -1
  490. package/dist/nano-components/nano-date-picker.entry.js +5 -0
  491. package/dist/nano-components/{p-efd3e121.entry.js.map → nano-date-picker.entry.js.map} +1 -1
  492. package/dist/nano-components/nano-demo.entry.js +5 -0
  493. package/dist/nano-components/{p-e98835e2.entry.js.map → nano-demo.entry.js.map} +1 -1
  494. package/dist/nano-components/nano-details.entry.js +5 -0
  495. package/dist/nano-components/nano-details.entry.js.map +1 -0
  496. package/dist/nano-components/nano-dialog.entry.js +5 -0
  497. package/dist/nano-components/{p-79fff4fd.entry.js.map → nano-dialog.entry.js.map} +1 -1
  498. package/dist/nano-components/nano-drawer.entry.js +5 -0
  499. package/dist/nano-components/nano-drawer.entry.js.map +1 -0
  500. package/dist/nano-components/nano-dropdown.entry.js +5 -0
  501. package/dist/nano-components/nano-dropdown.entry.js.map +1 -0
  502. package/dist/nano-components/nano-field-validator.entry.js +5 -0
  503. package/dist/nano-components/nano-field-validator.entry.js.map +1 -0
  504. package/dist/nano-components/nano-file-upload.entry.js +5 -0
  505. package/dist/nano-components/nano-file-upload.entry.js.map +1 -0
  506. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +5 -0
  507. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +1 -0
  508. package/dist/nano-components/nano-global-nav.entry.js +5 -0
  509. package/dist/nano-components/nano-global-nav.entry.js.map +1 -0
  510. package/dist/nano-components/nano-global-search-results.entry.js +5 -0
  511. package/dist/nano-components/nano-global-search-results.entry.js.map +1 -0
  512. package/dist/nano-components/nano-grid-item.entry.js +5 -0
  513. package/dist/nano-components/{p-9c290055.entry.js.map → nano-grid-item.entry.js.map} +1 -1
  514. package/dist/nano-components/nano-grid_2.entry.js +5 -0
  515. package/dist/nano-components/{p-7c82af28.entry.js.map → nano-grid_2.entry.js.map} +1 -1
  516. package/dist/nano-components/nano-hero.entry.js +5 -0
  517. package/dist/nano-components/{p-328ef9d3.entry.js.map → nano-hero.entry.js.map} +1 -1
  518. package/dist/nano-components/nano-icon-button_2.entry.js +5 -0
  519. package/dist/nano-components/nano-icon-button_2.entry.js.map +1 -0
  520. package/dist/nano-components/nano-icon.entry.js +5 -0
  521. package/dist/nano-components/nano-icon.entry.js.map +1 -0
  522. package/dist/nano-components/nano-input.entry.js +5 -0
  523. package/dist/nano-components/nano-input.entry.js.map +1 -0
  524. package/dist/nano-components/nano-menu-drawer.entry.js +5 -0
  525. package/dist/nano-components/nano-menu-drawer.entry.js.map +1 -0
  526. package/dist/nano-components/nano-overflow-nav.entry.js +5 -0
  527. package/dist/nano-components/nano-overflow-nav.entry.js.map +1 -0
  528. package/dist/nano-components/nano-progress-bar.entry.js +5 -0
  529. package/dist/nano-components/nano-progress-bar.entry.js.map +1 -0
  530. package/dist/nano-components/nano-range.entry.js +5 -0
  531. package/dist/nano-components/nano-range.entry.js.map +1 -0
  532. package/dist/nano-components/nano-rating.entry.js +5 -0
  533. package/dist/nano-components/nano-rating.entry.js.map +1 -0
  534. package/dist/nano-components/nano-resize-observe_2.entry.js +5 -0
  535. package/dist/nano-components/{p-e6a0675e.entry.js.map → nano-resize-observe_2.entry.js.map} +1 -1
  536. package/dist/nano-components/nano-slide.entry.js +5 -0
  537. package/dist/nano-components/{p-3d8fb8a1.entry.js.map → nano-slide.entry.js.map} +1 -1
  538. package/dist/nano-components/nano-slides-9908c44d.js +20 -0
  539. package/dist/nano-components/nano-slides-9908c44d.js.map +1 -0
  540. package/dist/nano-components/nano-slides.entry.js +5 -0
  541. package/dist/nano-components/nano-sortable.entry.js +5 -0
  542. package/dist/nano-components/{p-3ae362ae.entry.js.map → nano-sortable.entry.js.map} +1 -1
  543. package/dist/nano-components/nano-spinner.entry.js +5 -0
  544. package/dist/nano-components/{p-9925e504.entry.js.map → nano-spinner.entry.js.map} +1 -1
  545. package/dist/nano-components/nano-split-pane.entry.js +5 -0
  546. package/dist/nano-components/{p-6c4171fa.entry.js.map → nano-split-pane.entry.js.map} +1 -1
  547. package/dist/nano-components/nano-sticker.entry.js +5 -0
  548. package/dist/nano-components/nano-sticker.entry.js.map +1 -0
  549. package/dist/nano-components/nano-tab-content.entry.js +5 -0
  550. package/dist/nano-components/{p-3f40e370.entry.js.map → nano-tab-content.entry.js.map} +1 -1
  551. package/dist/nano-components/nano-tab-group.entry.js +5 -0
  552. package/dist/nano-components/nano-tab-group.entry.js.map +1 -0
  553. package/dist/nano-components/nano-tab.entry.js +5 -0
  554. package/dist/nano-components/{p-3cac5f6d.entry.js.map → nano-tab.entry.js.map} +1 -1
  555. package/dist/nano-components/nano-table-55d753cb.js +5 -0
  556. package/dist/nano-components/nano-table-55d753cb.js.map +1 -0
  557. package/dist/nano-components/nano-table.entry.js +5 -0
  558. package/dist/nano-components/page-dots-467ace2e.js +5 -0
  559. package/dist/nano-components/page-dots-467ace2e.js.map +1 -0
  560. package/dist/nano-components/{p-cd1fd454.js → popover-e5e7a641.js} +1 -1
  561. package/dist/nano-components/scroll-ac332213.js +5 -0
  562. package/dist/nano-components/scroll-ac332213.js.map +1 -0
  563. package/dist/nano-components/{p-dc565459.js → slot-8126e238.js} +1 -1
  564. package/dist/nano-components/{p-f88fa15c.js → tabbable-26a66a22.js} +1 -1
  565. package/dist/nano-components/table.worker-34706ecc.js +5 -0
  566. package/dist/nano-components/{p-411bb8f1.js → theme-82feb8cf.js} +1 -1
  567. package/dist/nano-components/{p-7bff5224.js → throttle-ac4fcefa.js} +1 -1
  568. package/dist/nano-components/{p-c3e8e3f9.js → transitions-fb09eb32.js} +1 -1
  569. package/dist/themes/nanopore.cn.css +1 -1
  570. package/dist/themes/nanopore.cn.css.map +1 -1
  571. package/dist/themes/nanopore.css +1 -1
  572. package/dist/themes/nanopore.css.map +1 -1
  573. package/dist/types/components/algolia/algolia-data.d.ts +1 -1
  574. package/dist/types/components/algolia/algolia-filter.d.ts +1 -1
  575. package/dist/types/components/algolia/algolia-pagination.d.ts +1 -1
  576. package/dist/types/components/algolia/algolia-results.d.ts +1 -1
  577. package/dist/types/components/algolia/algolia.d.ts +1 -7
  578. package/dist/types/components/algolia/lib/squirrelly/browser.d.ts +6 -0
  579. package/dist/types/components/algolia/lib/squirrelly/compile-string.d.ts +5 -0
  580. package/dist/types/components/algolia/lib/squirrelly/compile.d.ts +3 -0
  581. package/dist/types/components/algolia/lib/squirrelly/config.d.ts +48 -0
  582. package/dist/types/components/algolia/lib/squirrelly/container-utils.d.ts +8 -0
  583. package/dist/types/components/algolia/lib/squirrelly/containers.d.ts +18 -0
  584. package/dist/types/components/algolia/lib/squirrelly/err.d.ts +6 -0
  585. package/dist/types/components/algolia/lib/squirrelly/parse.d.ts +23 -0
  586. package/dist/types/components/algolia/lib/squirrelly/render.d.ts +3 -0
  587. package/dist/types/components/algolia/lib/squirrelly/storage.d.ts +13 -0
  588. package/dist/types/components/algolia/lib/squirrelly/utils.d.ts +8 -0
  589. package/dist/types/components/algolia/lib/template.d.ts +2 -0
  590. package/dist/types/components/checkbox/checkbox-group.d.ts +5 -0
  591. package/dist/types/components/global-nav/global-nav.d.ts +15 -20
  592. package/dist/types/components/slides/lib/js/animate.d.ts +2 -0
  593. package/dist/types/components/slides/lib/js/cell.d.ts +1 -0
  594. package/dist/types/components/slides/lib/js/drag.d.ts +1 -0
  595. package/dist/types/components/slides/lib/js/fade.d.ts +1 -0
  596. package/dist/types/components/slides/lib/js/flickity.d.ts +23 -0
  597. package/dist/types/components/slides/lib/js/fullscreen.d.ts +1 -0
  598. package/dist/types/components/slides/lib/js/index.d.ts +5 -0
  599. package/dist/types/components/slides/lib/js/lazyload.d.ts +1 -0
  600. package/dist/types/components/slides/lib/js/page-dots.d.ts +1 -0
  601. package/dist/types/components/slides/lib/js/player.d.ts +1 -0
  602. package/dist/types/components/slides/lib/js/prev-next-button.d.ts +1 -0
  603. package/dist/types/components/slides/lib/js/slide.d.ts +1 -0
  604. package/dist/types/components/slides/lib/js/utils/event-emitter.d.ts +1 -0
  605. package/dist/types/components/slides/lib/js/utils/gestures.d.ts +26 -0
  606. package/dist/types/components/slides/lib/js/utils/get-size.d.ts +6 -0
  607. package/dist/types/components/slides/lib/js/utils/utils.d.ts +5 -0
  608. package/dist/types/components/slides/slides-interface.d.ts +17 -7
  609. package/dist/types/components/slides/slides.d.ts +5 -0
  610. package/dist/types/components.d.ts +10 -10
  611. package/dist/types/utils/scroll.d.ts +5 -1
  612. package/docs-json.json +33 -24
  613. package/docs-vscode.json +4 -0
  614. package/hydrate/index.js +4147 -3953
  615. package/package.json +5 -8
  616. package/dist/cjs/_commonjsHelpers-29614748.js +0 -30
  617. package/dist/cjs/_commonjsHelpers-29614748.js.map +0 -1
  618. package/dist/cjs/algoliasearch-lite.esm.browser-992a2eff.js.map +0 -1
  619. package/dist/cjs/index-1d3ebe1a.js.map +0 -1
  620. package/dist/cjs/scroll-fc1b8387.js.map +0 -1
  621. package/dist/cjs/table.worker-3df34efe.js.map +0 -1
  622. package/dist/collection/components/slides/lib/js/add-remove-cell.js +0 -128
  623. package/dist/collection/components/slides/lib/js/images-loaded.js +0 -24
  624. package/dist/collection/components/slides/slides-interface.js +0 -2
  625. package/dist/collection/components/slides/slides-interface.js.map +0 -1
  626. package/dist/collection/utils/template.js.map +0 -1
  627. package/dist/components/_commonjsHelpers.js +0 -26
  628. package/dist/components/_commonjsHelpers.js.map +0 -1
  629. package/dist/esm/_commonjsHelpers-04a0e019.js +0 -26
  630. package/dist/esm/_commonjsHelpers-04a0e019.js.map +0 -1
  631. package/dist/esm/algoliasearch-lite.esm.browser-04891fdc.js.map +0 -1
  632. package/dist/esm/index-06666022.js.map +0 -1
  633. package/dist/esm/scroll-ec7ac257.js.map +0 -1
  634. package/dist/esm/table.worker-3cae908c.js.map +0 -1
  635. package/dist/nano-components/p-0563e812.entry.js +0 -5
  636. package/dist/nano-components/p-0563e812.entry.js.map +0 -1
  637. package/dist/nano-components/p-0bc40dd1.entry.js +0 -5
  638. package/dist/nano-components/p-0bc40dd1.entry.js.map +0 -1
  639. package/dist/nano-components/p-0e0f07f0.entry.js +0 -5
  640. package/dist/nano-components/p-0e0f07f0.entry.js.map +0 -1
  641. package/dist/nano-components/p-0e4da739.entry.js +0 -5
  642. package/dist/nano-components/p-0e4da739.entry.js.map +0 -1
  643. package/dist/nano-components/p-16e75af9.entry.js +0 -5
  644. package/dist/nano-components/p-16e75af9.entry.js.map +0 -1
  645. package/dist/nano-components/p-17eb456c.entry.js +0 -5
  646. package/dist/nano-components/p-17eb456c.entry.js.map +0 -1
  647. package/dist/nano-components/p-191352c4.entry.js +0 -5
  648. package/dist/nano-components/p-1987f7a9.js +0 -5
  649. package/dist/nano-components/p-1a55e282.entry.js +0 -5
  650. package/dist/nano-components/p-1a55e282.entry.js.map +0 -1
  651. package/dist/nano-components/p-2234694a.js +0 -5
  652. package/dist/nano-components/p-2a105609.entry.js +0 -5
  653. package/dist/nano-components/p-2a105609.entry.js.map +0 -1
  654. package/dist/nano-components/p-2c0218e6.entry.js +0 -5
  655. package/dist/nano-components/p-2c0218e6.entry.js.map +0 -1
  656. package/dist/nano-components/p-328ef9d3.entry.js +0 -5
  657. package/dist/nano-components/p-359b7cd2.entry.js +0 -5
  658. package/dist/nano-components/p-359b7cd2.entry.js.map +0 -1
  659. package/dist/nano-components/p-36c3ded8.entry.js +0 -5
  660. package/dist/nano-components/p-36c3ded8.entry.js.map +0 -1
  661. package/dist/nano-components/p-3ae362ae.entry.js +0 -5
  662. package/dist/nano-components/p-3cac5f6d.entry.js +0 -5
  663. package/dist/nano-components/p-3d8fb8a1.entry.js +0 -5
  664. package/dist/nano-components/p-3eeaba47.entry.js +0 -5
  665. package/dist/nano-components/p-3eeaba47.entry.js.map +0 -1
  666. package/dist/nano-components/p-3f40e370.entry.js +0 -5
  667. package/dist/nano-components/p-51133e62.entry.js +0 -5
  668. package/dist/nano-components/p-51133e62.entry.js.map +0 -1
  669. package/dist/nano-components/p-54c4a2f5.entry.js +0 -5
  670. package/dist/nano-components/p-54c4a2f5.entry.js.map +0 -1
  671. package/dist/nano-components/p-5fc3035d.entry.js +0 -5
  672. package/dist/nano-components/p-5fc3035d.entry.js.map +0 -1
  673. package/dist/nano-components/p-650aa197.entry.js +0 -5
  674. package/dist/nano-components/p-650aa197.entry.js.map +0 -1
  675. package/dist/nano-components/p-67ab5a5f.entry.js +0 -5
  676. package/dist/nano-components/p-67ab5a5f.entry.js.map +0 -1
  677. package/dist/nano-components/p-688f1a55.entry.js +0 -5
  678. package/dist/nano-components/p-688f1a55.entry.js.map +0 -1
  679. package/dist/nano-components/p-6c4171fa.entry.js +0 -5
  680. package/dist/nano-components/p-70747f20.js +0 -5
  681. package/dist/nano-components/p-7670058b.entry.js +0 -5
  682. package/dist/nano-components/p-7670058b.entry.js.map +0 -1
  683. package/dist/nano-components/p-79fff4fd.entry.js +0 -5
  684. package/dist/nano-components/p-7c82af28.entry.js +0 -5
  685. package/dist/nano-components/p-87329424.entry.js +0 -5
  686. package/dist/nano-components/p-8fe51abf.js +0 -5
  687. package/dist/nano-components/p-935968b8.entry.js +0 -23
  688. package/dist/nano-components/p-935968b8.entry.js.map +0 -1
  689. package/dist/nano-components/p-9925e504.entry.js +0 -5
  690. package/dist/nano-components/p-9c290055.entry.js +0 -5
  691. package/dist/nano-components/p-9f60ff14.entry.js +0 -5
  692. package/dist/nano-components/p-a225e976.entry.js +0 -5
  693. package/dist/nano-components/p-a225e976.entry.js.map +0 -1
  694. package/dist/nano-components/p-a26bdb65.js +0 -5
  695. package/dist/nano-components/p-abd11243.entry.js +0 -5
  696. package/dist/nano-components/p-abd11243.entry.js.map +0 -1
  697. package/dist/nano-components/p-b27b56d3.js +0 -5
  698. package/dist/nano-components/p-b27b56d3.js.map +0 -1
  699. package/dist/nano-components/p-c80336b2.entry.js +0 -5
  700. package/dist/nano-components/p-c80336b2.entry.js.map +0 -1
  701. package/dist/nano-components/p-cad86fb8.js +0 -5
  702. package/dist/nano-components/p-cad86fb8.js.map +0 -1
  703. package/dist/nano-components/p-d4e44f93.entry.js +0 -5
  704. package/dist/nano-components/p-dc4020f8.js +0 -5
  705. package/dist/nano-components/p-dc4020f8.js.map +0 -1
  706. package/dist/nano-components/p-dc6cb252.entry.js +0 -5
  707. package/dist/nano-components/p-dc6cb252.entry.js.map +0 -1
  708. package/dist/nano-components/p-dc805ecc.js +0 -5
  709. package/dist/nano-components/p-dd5687db.js +0 -5
  710. package/dist/nano-components/p-e6a0675e.entry.js +0 -5
  711. package/dist/nano-components/p-e98835e2.entry.js +0 -5
  712. package/dist/nano-components/p-efd3e121.entry.js +0 -5
  713. package/dist/nano-components/p-f73f52ed.entry.js +0 -5
  714. package/dist/nano-components/p-f73f52ed.entry.js.map +0 -1
  715. package/dist/nano-components/p-fbde7010.entry.js +0 -5
  716. package/dist/nano-components/p-fcbc9122.entry.js +0 -5
  717. package/dist/nano-components/p-fcbc9122.entry.js.map +0 -1
  718. package/dist/types/utils/template.d.ts +0 -2
  719. /package/dist/nano-components/{p-74a7fc4f.js.map → active-element-75b7c8a0.js.map} +0 -0
  720. /package/dist/nano-components/{p-cecb9af1.js.map → date-utils-6b7a6e1f.js.map} +0 -0
  721. /package/dist/nano-components/{p-cdfc507e.js.map → dom-8599fac1.js.map} +0 -0
  722. /package/dist/nano-components/{p-842cf127.js.map → drag-1723a4cc.js.map} +0 -0
  723. /package/dist/nano-components/{p-9bfdee71.js.map → events-6a805b42.js.map} +0 -0
  724. /package/dist/nano-components/{p-f8f89998.js.map → focus-visible-8b2c14da.js.map} +0 -0
  725. /package/dist/nano-components/{p-bb07c3d0.js.map → index-f626f476.js.map} +0 -0
  726. /package/dist/nano-components/{p-1987f7a9.js.map → local-my-account-6662da72.js.map} +0 -0
  727. /package/dist/nano-components/{p-ee045579.js.map → math-c02ddfda.js.map} +0 -0
  728. /package/dist/nano-components/{p-2155fc2c.js.map → nano-slides.entry.js.map} +0 -0
  729. /package/dist/nano-components/{p-8fe51abf.js.map → nano-table.entry.js.map} +0 -0
  730. /package/dist/nano-components/{p-cd1fd454.js.map → popover-e5e7a641.js.map} +0 -0
  731. /package/dist/nano-components/{p-dc565459.js.map → slot-8126e238.js.map} +0 -0
  732. /package/dist/nano-components/{p-f88fa15c.js.map → tabbable-26a66a22.js.map} +0 -0
  733. /package/dist/nano-components/{p-fbde7010.entry.js.map → table.worker-34706ecc.js.map} +0 -0
  734. /package/dist/nano-components/{p-f258383d.js → table.worker-f258383d.js} +0 -0
  735. /package/dist/nano-components/{p-411bb8f1.js.map → theme-82feb8cf.js.map} +0 -0
  736. /package/dist/nano-components/{p-7bff5224.js.map → throttle-ac4fcefa.js.map} +0 -0
  737. /package/dist/nano-components/{p-c3e8e3f9.js.map → transitions-fb09eb32.js.map} +0 -0
@@ -1,10 +1,10 @@
1
1
  /*!
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
- export { T as nano_table } from './nano-table-5af42ba4.js';
5
- import './index-06666022.js';
4
+ export { T as nano_table } from './nano-table-55d753cb.js';
5
+ import './index-9695db0a.js';
6
6
  import './math-c02ddfda.js';
7
7
  import './throttle-ac4fcefa.js';
8
- import './index-e8891229.js';
8
+ import './index-3003356f.js';
9
9
 
10
10
  //# sourceMappingURL=nano-table.entry.js.map
@@ -0,0 +1,138 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import { F as Flickity, u as utils, U as Unipointer } from './nano-slides-9908c44d.js';
5
+ import './index-9695db0a.js';
6
+
7
+ // -------------------------- PageDots -------------------------- //
8
+ function PageDots(parent) {
9
+ this.parent = parent;
10
+ this.parentElement = this.parent.element.shadowRoot || this.parent.element;
11
+ this._create();
12
+ }
13
+ PageDots.prototype = Object.create(Unipointer.prototype);
14
+ PageDots.prototype._create = function () {
15
+ // create holder element
16
+ this.holder = document.createElement('ol');
17
+ this.holder.className = 'flickity-page-dots';
18
+ this.holder.part.add('pagination');
19
+ // create dots, array of elements
20
+ this.dots = [];
21
+ // events
22
+ this.handleClick = this.onClick.bind(this);
23
+ this.on('pointerDown', this.parent.childUIPointerDown.bind(this.parent));
24
+ };
25
+ PageDots.prototype.activate = function () {
26
+ this.setDots();
27
+ this.holder.addEventListener('click', this.handleClick);
28
+ this.bindStartEvent(this.holder);
29
+ // add to DOM
30
+ this.parentElement.appendChild(this.holder);
31
+ };
32
+ PageDots.prototype.deactivate = function () {
33
+ this.holder.removeEventListener('click', this.handleClick);
34
+ this.unbindStartEvent(this.holder);
35
+ // remove from DOM
36
+ this.parentElement.removeChild(this.holder);
37
+ };
38
+ PageDots.prototype.setDots = function () {
39
+ // get difference between number of slides and number of dots
40
+ const delta = this.parent.slides.length - this.dots.length;
41
+ if (delta > 0) {
42
+ this.addDots(delta);
43
+ }
44
+ else if (delta < 0) {
45
+ this.removeDots(-delta);
46
+ }
47
+ };
48
+ PageDots.prototype.addDots = function (count) {
49
+ const fragment = document.createDocumentFragment();
50
+ const newDots = [];
51
+ const length = this.dots.length;
52
+ const max = length + count;
53
+ for (let i = length; i < max; i++) {
54
+ const dot = document.createElement('li');
55
+ dot.classList.add('dot');
56
+ dot.part.add('pagination-item');
57
+ dot.setAttribute('aria-label', 'Page dot ' + (i + 1));
58
+ fragment.appendChild(dot);
59
+ newDots.push(dot);
60
+ }
61
+ this.holder.appendChild(fragment);
62
+ this.dots = this.dots.concat(newDots);
63
+ };
64
+ PageDots.prototype.removeDots = function (count) {
65
+ // remove from this.dots collection
66
+ const removeDots = this.dots.splice(this.dots.length - count, count);
67
+ // remove from DOM
68
+ removeDots.forEach(function (dot) {
69
+ this.holder.removeChild(dot);
70
+ }, this);
71
+ };
72
+ PageDots.prototype.updateSelected = function () {
73
+ // remove selected class on previous
74
+ if (this.selectedDot) {
75
+ this.selectedDot.classList.remove('is-selected');
76
+ this.selectedDot.part.remove('pagination-item--active');
77
+ this.selectedDot.removeAttribute('aria-current');
78
+ }
79
+ // don't proceed if no dots
80
+ if (!this.dots.length) {
81
+ return;
82
+ }
83
+ this.selectedDot = this.dots[this.parent.selectedIndex];
84
+ this.selectedDot.classList.add('is-selected');
85
+ this.selectedDot.part.add('pagination-item--active');
86
+ this.selectedDot.setAttribute('aria-current', 'step');
87
+ };
88
+ PageDots.prototype.onTap = PageDots.prototype.onClick = function (event) {
89
+ // old method name, backwards-compatible
90
+ const target = event.target;
91
+ // only care about dot clicks
92
+ if (target.nodeName != 'LI') {
93
+ return;
94
+ }
95
+ this.parent.uiChange();
96
+ const index = this.dots.indexOf(target);
97
+ this.parent.select(index);
98
+ };
99
+ PageDots.prototype.destroy = function () {
100
+ this.deactivate();
101
+ this.allOff();
102
+ };
103
+ // @ts-ignore
104
+ Flickity.PageDots = PageDots;
105
+ // -------------------------- Flickity -------------------------- //
106
+ utils.extend(Flickity.defaults, {
107
+ pageDots: true,
108
+ });
109
+ Flickity.createMethods.push('_createPageDots');
110
+ const proto = Flickity.prototype;
111
+ proto._createPageDots = function () {
112
+ if (!this.options.pageDots) {
113
+ return;
114
+ }
115
+ this.pageDots = new PageDots(this);
116
+ // events
117
+ this.on('activate', this.activatePageDots);
118
+ this.on('select', this.updateSelectedPageDots);
119
+ this.on('cellChange', this.updatePageDots);
120
+ this.on('resize', this.updatePageDots);
121
+ this.on('deactivate', this.deactivatePageDots);
122
+ };
123
+ proto.activatePageDots = function () {
124
+ this.pageDots.activate();
125
+ };
126
+ proto.updateSelectedPageDots = function () {
127
+ this.pageDots.updateSelected();
128
+ };
129
+ proto.updatePageDots = function () {
130
+ this.pageDots.setDots();
131
+ };
132
+ proto.deactivatePageDots = function () {
133
+ this.pageDots.deactivate();
134
+ };
135
+ // @ts-ignore
136
+ Flickity.PageDots = PageDots;
137
+
138
+ //# sourceMappingURL=page-dots-467ace2e.js.map
@@ -0,0 +1 @@
1
+ {"file":"page-dots-467ace2e.js","mappings":"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","names":[],"sources":["./src/components/slides/lib/js/page-dots.ts"],"sourcesContent":["import Flickity from './flickity';\nimport { Unipointer } from './utils/gestures';\nimport { utils } from './utils/utils';\n\n// -------------------------- PageDots -------------------------- //\n\nfunction PageDots(parent) {\n this.parent = parent;\n this.parentElement = this.parent.element.shadowRoot || this.parent.element;\n this._create();\n}\n\nPageDots.prototype = Object.create(Unipointer.prototype);\n\nPageDots.prototype._create = function () {\n // create holder element\n this.holder = document.createElement('ol');\n this.holder.className = 'flickity-page-dots';\n this.holder.part.add('pagination');\n\n // create dots, array of elements\n this.dots = [];\n // events\n this.handleClick = this.onClick.bind(this);\n this.on('pointerDown', this.parent.childUIPointerDown.bind(this.parent));\n};\n\nPageDots.prototype.activate = function () {\n this.setDots();\n this.holder.addEventListener('click', this.handleClick);\n this.bindStartEvent(this.holder);\n // add to DOM\n this.parentElement.appendChild(this.holder);\n};\n\nPageDots.prototype.deactivate = function () {\n this.holder.removeEventListener('click', this.handleClick);\n this.unbindStartEvent(this.holder);\n // remove from DOM\n this.parentElement.removeChild(this.holder);\n};\n\nPageDots.prototype.setDots = function () {\n // get difference between number of slides and number of dots\n const delta = this.parent.slides.length - this.dots.length;\n if (delta > 0) {\n this.addDots(delta);\n } else if (delta < 0) {\n this.removeDots(-delta);\n }\n};\n\nPageDots.prototype.addDots = function (count) {\n const fragment = document.createDocumentFragment();\n const newDots = [];\n const length = this.dots.length;\n const max = length + count;\n\n for (let i = length; i < max; i++) {\n const dot = document.createElement('li');\n dot.classList.add('dot');\n dot.part.add('pagination-item');\n dot.setAttribute('aria-label', 'Page dot ' + (i + 1));\n fragment.appendChild(dot);\n newDots.push(dot);\n }\n\n this.holder.appendChild(fragment);\n this.dots = this.dots.concat(newDots);\n};\n\nPageDots.prototype.removeDots = function (count) {\n // remove from this.dots collection\n const removeDots = this.dots.splice(this.dots.length - count, count);\n // remove from DOM\n removeDots.forEach(function (dot) {\n this.holder.removeChild(dot);\n }, this);\n};\n\nPageDots.prototype.updateSelected = function () {\n // remove selected class on previous\n if (this.selectedDot) {\n this.selectedDot.classList.remove('is-selected');\n this.selectedDot.part.remove('pagination-item--active');\n this.selectedDot.removeAttribute('aria-current');\n }\n // don't proceed if no dots\n if (!this.dots.length) {\n return;\n }\n this.selectedDot = this.dots[this.parent.selectedIndex];\n this.selectedDot.classList.add('is-selected');\n this.selectedDot.part.add('pagination-item--active');\n this.selectedDot.setAttribute('aria-current', 'step');\n};\n\nPageDots.prototype.onTap = PageDots.prototype.onClick = function (event) {\n // old method name, backwards-compatible\n const target = event.target;\n // only care about dot clicks\n if (target.nodeName != 'LI') {\n return;\n }\n\n this.parent.uiChange();\n const index = this.dots.indexOf(target);\n this.parent.select(index);\n};\n\nPageDots.prototype.destroy = function () {\n this.deactivate();\n this.allOff();\n};\n\n// @ts-ignore\nFlickity.PageDots = PageDots;\n\n// -------------------------- Flickity -------------------------- //\n\nutils.extend(Flickity.defaults, {\n pageDots: true,\n});\n\nFlickity.createMethods.push('_createPageDots');\n\nconst proto = Flickity.prototype;\n\nproto._createPageDots = function () {\n if (!this.options.pageDots) {\n return;\n }\n this.pageDots = new PageDots(this);\n // events\n this.on('activate', this.activatePageDots);\n this.on('select', this.updateSelectedPageDots);\n this.on('cellChange', this.updatePageDots);\n this.on('resize', this.updatePageDots);\n this.on('deactivate', this.deactivatePageDots);\n};\n\nproto.activatePageDots = function () {\n this.pageDots.activate();\n};\n\nproto.updateSelectedPageDots = function () {\n this.pageDots.updateSelected();\n};\n\nproto.updatePageDots = function () {\n this.pageDots.setDots();\n};\n\nproto.deactivatePageDots = function () {\n this.pageDots.deactivate();\n};\n\n// @ts-ignore\nFlickity.PageDots = PageDots;\n"],"version":3}
@@ -39,7 +39,11 @@ function scrollTo(element, scrollAmt, vertical = false) {
39
39
  }
40
40
  }
41
41
  /**
42
- * Scrolls an element into view of its container. If the element is already in view, nothing will happen.
42
+ * Scrolls an element into view *of its parent container*.
43
+ * Note to future me - cannot use native `scrollIntoView`
44
+ * 'cos it will move the whole window
45
+ * (vertically even though we only care about parent).
46
+ * If the element is already in view, nothing will happen.
43
47
  */
44
48
  function scrollIntoView(element, container, direction = 'vertical', position = 'start') {
45
49
  const offset = getOffset(element, container);
@@ -59,7 +63,7 @@ function scrollIntoView(element, container, direction = 'vertical', position = '
59
63
  else {
60
64
  scrollTo(container, container.scrollLeft +
61
65
  offset.left -
62
- (container.offsetWidth / 2 + element.offsetWidth / 2));
66
+ (container.offsetWidth / 2 - element.offsetWidth / 2));
63
67
  }
64
68
  }
65
69
  if (direction === 'vertical' || direction === 'both') {
@@ -73,11 +77,11 @@ function scrollIntoView(element, container, direction = 'vertical', position = '
73
77
  else {
74
78
  scrollTo(container, container.scrollTop +
75
79
  offset.top -
76
- (container.offsetHeight / 2 + element.offsetHeight / 2), true);
80
+ (container.offsetHeight / 2 - element.offsetHeight / 2), true);
77
81
  }
78
82
  }
79
83
  }
80
84
 
81
85
  export { lockBodyScrolling as l, scrollIntoView as s, unlockBodyScrolling as u };
82
86
 
83
- //# sourceMappingURL=scroll-ec7ac257.js.map
87
+ //# sourceMappingURL=scroll-ac332213.js.map
@@ -0,0 +1 @@
1
+ {"file":"scroll-ac332213.js","mappings":"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","names":[],"sources":["./src/utils/scroll.ts"],"sourcesContent":["import { getOffset } from './dom';\n\nconst locks = new Set();\n\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n document.body.classList.add('nano-scroll-lock');\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.body.classList.remove('nano-scroll-lock');\n }\n}\n\nfunction scrollTo(\n element: HTMLElement,\n scrollAmt: number,\n vertical: boolean = false\n) {\n if (!vertical) {\n try {\n element.scrollTo({ left: scrollAmt, behavior: 'smooth' });\n } catch (e) {\n element.scrollLeft = scrollAmt;\n }\n return;\n }\n try {\n element.scrollTo({ top: scrollAmt, behavior: 'smooth' });\n } catch (e) {\n element.scrollTop = scrollAmt;\n }\n}\n\n/**\n * Scrolls an element into view *of its parent container*.\n * Note to future me - cannot use native `scrollIntoView`\n * 'cos it will move the whole window\n * (vertically even though we only care about parent).\n * If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: 'horizontal' | 'vertical' | 'both' = 'vertical',\n position: 'center' | 'start' = 'start'\n) {\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === 'horizontal' || direction === 'both') {\n if (position === 'start') {\n if (offsetLeft < minX) scrollTo(container, offsetLeft);\n else if (offsetLeft + element.clientWidth > maxX)\n scrollTo(\n container,\n offsetLeft - container.offsetWidth + element.clientWidth\n );\n } else {\n scrollTo(\n container,\n container.scrollLeft +\n offset.left -\n (container.offsetWidth / 2 - element.offsetWidth / 2)\n );\n }\n }\n\n if (direction === 'vertical' || direction === 'both') {\n if (position === 'start') {\n if (offsetTop < minY) scrollTo(container, offsetTop, true);\n else if (offsetTop + element.clientHeight > maxY) {\n scrollTo(\n container,\n offsetTop - container.offsetHeight + element.clientHeight,\n true\n );\n }\n } else {\n scrollTo(\n container,\n container.scrollTop +\n offset.top -\n (container.offsetHeight / 2 - element.offsetHeight / 2),\n true\n );\n }\n }\n}\n"],"version":3}
@@ -1,11 +1,11 @@
1
1
  /*!
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
- import { c as createWorker } from './nano-table-5af42ba4.js';
5
- import './index-06666022.js';
4
+ import { c as createWorker } from './nano-table-55d753cb.js';
5
+ import './index-9695db0a.js';
6
6
  import './math-c02ddfda.js';
7
7
  import './throttle-ac4fcefa.js';
8
- import './index-e8891229.js';
8
+ import './index-3003356f.js';
9
9
 
10
10
  const workerName = 'table.worker';
11
11
  const workerMsgId = 'stencil.table.worker';
@@ -17,4 +17,4 @@ URL.revokeObjectURL(url);
17
17
 
18
18
  export { worker, workerMsgId, workerName, workerPath };
19
19
 
20
- //# sourceMappingURL=table.worker-3cae908c.js.map
20
+ //# sourceMappingURL=table.worker-34706ecc.js.map
@@ -0,0 +1 @@
1
+ {"file":"table.worker-34706ecc.js","mappings":";;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -2,4 +2,4 @@
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
4
  function n(e=document){const r=e.activeElement;if(!r){return null}if(r.shadowRoot&&r.shadowRoot.activeElement){return n(r.shadowRoot)}else{return r}}export{n as g};
5
- //# sourceMappingURL=p-74a7fc4f.js.map
5
+ //# sourceMappingURL=active-element-75b7c8a0.js.map
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import{g as r}from"./index-9695db0a.js";var n=function(){var r;var n=new Promise((function(n){r=n}));return{promise:n,resolve:r}};var e=function(e,t){var o=e.prototype;var i=o.componentWillLoad;o.componentWillLoad=function(){var e=this;var o=r(this);var a=n();var s=new CustomEvent("openWormhole",{bubbles:true,composed:true,detail:{consumer:this,fields:t,updater:function(r,n){e[r]=n},onOpen:a}});o.dispatchEvent(s);return a.promise.then((function(){if(i){return i.call(e)}}))}};var t;(function(r){r["Filter"]="filter";r["Page"]="page";r["Replica"]="replica";r["Init"]="init"})(t||(t={}));const o=(r,n)=>e(r,n);export{t as S,o as W};
5
+ //# sourceMappingURL=algolia-data-1b42827c.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createDeferredPromise","resolve","promise","Promise","res","openWormhole","Component","props","ComponentPrototype","prototype","componentWillLoad","_this","this","el","getElement","onOpen","event","CustomEvent","bubbles","composed","detail","consumer","fields","updater","prop","value","dispatchEvent","then","call","SearchChangeEvent","Wormhole"],"sources":["./node_modules/stencil-wormhole/dist/esm/deferred.js","./node_modules/stencil-wormhole/dist/esm/consumer.js","./src/components/algolia/algolia-data.ts"],"sourcesContent":["export var createDeferredPromise = function () {\n var resolve;\n var promise = new Promise(function (res) { resolve = res; });\n return { promise: promise, resolve: resolve };\n};\n","import { getElement } from \"@stencil/core\";\nimport { createDeferredPromise } from \"./deferred\";\nexport var openWormhole = function (Component, props) {\n var ComponentPrototype = Component.prototype;\n var componentWillLoad = ComponentPrototype.componentWillLoad;\n ComponentPrototype.componentWillLoad = function () {\n var _this = this;\n var el = getElement(this);\n var onOpen = createDeferredPromise();\n var event = new CustomEvent('openWormhole', {\n bubbles: true,\n composed: true,\n detail: {\n consumer: this,\n fields: props,\n updater: function (prop, value) { _this[prop] = value; },\n onOpen: onOpen,\n },\n });\n el.dispatchEvent(event);\n return onOpen.promise.then(function () {\n if (componentWillLoad) {\n return componentWillLoad.call(_this);\n }\n });\n };\n};\n","import { SearchIndex as AlgoliaIndex } from 'algoliasearch';\nimport { openWormhole, WormholeConsumerConstructor } from 'stencil-wormhole';\nimport { StorageMethods } from '../../utils/store/component-store';\nimport type {\n IndexResult,\n AlgoliaResultHit,\n SearchIndex,\n} from '../../interface';\n\nexport enum SearchChangeEvent {\n Filter = 'filter',\n Page = 'page',\n Replica = 'replica',\n Init = 'init',\n}\n\nexport interface WormholeState {\n indexResults: IndexResult;\n filterChanged?: string;\n facets?: {\n [prop: string]: {\n [prop: string]: number;\n };\n };\n results: AlgoliaResultHit[];\n resultsPage: number;\n tplRenderFn?: (...args: any[]) => string;\n changeEvent: SearchChangeEvent;\n algoliaIndex: AlgoliaIndex;\n searchIndex: SearchIndex;\n browseIndex: boolean;\n globalStoreMethod: StorageMethods;\n isLoading: boolean;\n}\n\nexport const Wormhole = (\n Component: WormholeConsumerConstructor,\n props: (keyof WormholeState)[]\n) => openWormhole(Component, props);\n\nexport * from 'stencil-wormhole';\n"],"mappings":";;;oCAAO,IAAIA,EAAwB,WAC/B,IAAIC,EACJ,IAAIC,EAAU,IAAIC,SAAQ,SAAUC,GAAOH,EAAUG,CAAI,IACzD,MAAO,CAAEF,QAASA,EAASD,QAASA,EACxC,ECFO,IAAII,EAAe,SAAUC,EAAWC,GAC3C,IAAIC,EAAqBF,EAAUG,UACnC,IAAIC,EAAoBF,EAAmBE,kBAC3CF,EAAmBE,kBAAoB,WACnC,IAAIC,EAAQC,KACZ,IAAIC,EAAKC,EAAWF,MACpB,IAAIG,EAASf,IACb,IAAIgB,EAAQ,IAAIC,YAAY,eAAgB,CACxCC,QAAS,KACTC,SAAU,KACVC,OAAQ,CACJC,SAAUT,KACVU,OAAQf,EACRgB,QAAS,SAAUC,EAAMC,GAASd,EAAMa,GAAQC,CAAM,EACtDV,OAAQA,KAGhBF,EAAGa,cAAcV,GACjB,OAAOD,EAAOb,QAAQyB,MAAK,WACvB,GAAIjB,EAAmB,CACnB,OAAOA,EAAkBkB,KAAKjB,EAC9C,CACA,GACA,CACA,E,ICjBYkB,GAAZ,SAAYA,GACVA,EAAA,mBACAA,EAAA,eACAA,EAAA,qBACAA,EAAA,cACD,EALD,CAAYA,MAAiB,K,MA0BhBC,EAAW,CACtBxB,EACAC,IACGF,EAAaC,EAAWC,U"}
1
+ {"version":3,"names":["createDeferredPromise","resolve","promise","Promise","res","openWormhole","Component","props","ComponentPrototype","prototype","componentWillLoad","_this","this","el","getElement","onOpen","event","CustomEvent","bubbles","composed","detail","consumer","fields","updater","prop","value","dispatchEvent","then","call","SearchChangeEvent","Wormhole"],"sources":["./node_modules/stencil-wormhole/dist/esm/deferred.js","./node_modules/stencil-wormhole/dist/esm/consumer.js","./src/components/algolia/algolia-data.ts"],"sourcesContent":["export var createDeferredPromise = function () {\n var resolve;\n var promise = new Promise(function (res) { resolve = res; });\n return { promise: promise, resolve: resolve };\n};\n","import { getElement } from \"@stencil/core\";\nimport { createDeferredPromise } from \"./deferred\";\nexport var openWormhole = function (Component, props) {\n var ComponentPrototype = Component.prototype;\n var componentWillLoad = ComponentPrototype.componentWillLoad;\n ComponentPrototype.componentWillLoad = function () {\n var _this = this;\n var el = getElement(this);\n var onOpen = createDeferredPromise();\n var event = new CustomEvent('openWormhole', {\n bubbles: true,\n composed: true,\n detail: {\n consumer: this,\n fields: props,\n updater: function (prop, value) { _this[prop] = value; },\n onOpen: onOpen,\n },\n });\n el.dispatchEvent(event);\n return onOpen.promise.then(function () {\n if (componentWillLoad) {\n return componentWillLoad.call(_this);\n }\n });\n };\n};\n","import { SearchIndex as AlgoliaIndex } from 'algoliasearch';\nimport { openWormhole, WormholeConsumerConstructor } from 'stencil-wormhole';\nimport { StorageMethods } from '../../utils/store/component-store';\nimport type {\n IndexResult,\n AlgoliaResultHit,\n SearchIndex,\n} from '../../interface';\n\nexport enum SearchChangeEvent {\n Filter = 'filter',\n Page = 'page',\n Replica = 'replica',\n Init = 'init',\n}\n\nexport interface WormholeState {\n indexResults: IndexResult;\n filterChanged?: string;\n facets?: {\n [prop: string]: {\n [prop: string]: number;\n };\n };\n results: AlgoliaResultHit[];\n resultsPage: number;\n tplRenderFn?: (...args: any[]) => any;\n changeEvent: SearchChangeEvent;\n algoliaIndex: AlgoliaIndex;\n searchIndex: SearchIndex;\n browseIndex: boolean;\n globalStoreMethod: StorageMethods;\n isLoading: boolean;\n}\n\nexport const Wormhole = (\n Component: WormholeConsumerConstructor,\n props: (keyof WormholeState)[]\n) => openWormhole(Component, props);\n\nexport * from 'stencil-wormhole';\n"],"mappings":";;;wCAAO,IAAIA,EAAwB,WAC/B,IAAIC,EACJ,IAAIC,EAAU,IAAIC,SAAQ,SAAUC,GAAOH,EAAUG,CAAI,IACzD,MAAO,CAAEF,QAASA,EAASD,QAASA,EACxC,ECFO,IAAII,EAAe,SAAUC,EAAWC,GAC3C,IAAIC,EAAqBF,EAAUG,UACnC,IAAIC,EAAoBF,EAAmBE,kBAC3CF,EAAmBE,kBAAoB,WACnC,IAAIC,EAAQC,KACZ,IAAIC,EAAKC,EAAWF,MACpB,IAAIG,EAASf,IACb,IAAIgB,EAAQ,IAAIC,YAAY,eAAgB,CACxCC,QAAS,KACTC,SAAU,KACVC,OAAQ,CACJC,SAAUT,KACVU,OAAQf,EACRgB,QAAS,SAAUC,EAAMC,GAASd,EAAMa,GAAQC,CAAM,EACtDV,OAAQA,KAGhBF,EAAGa,cAAcV,GACjB,OAAOD,EAAOb,QAAQyB,MAAK,WACvB,GAAIjB,EAAmB,CACnB,OAAOA,EAAkBkB,KAAKjB,EAC9C,CACA,GACA,CACA,E,ICjBYkB,GAAZ,SAAYA,GACVA,EAAA,mBACAA,EAAA,eACAA,EAAA,qBACAA,EAAA,cACD,EALD,CAAYA,MAAiB,K,MA0BhBC,EAAW,CACtBxB,EACAC,IACGF,EAAaC,EAAWC,U"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ function e(e){const t=`algoliasearch-client-js-${e.key}`;let r;const n=()=>{if(r===undefined){r=e.localStorage||window.localStorage}return r};const s=()=>JSON.parse(n().getItem(t)||"{}");const o=e=>{n().setItem(t,JSON.stringify(e))};const c=()=>{const t=e.timeToLive?e.timeToLive*1e3:null;const r=s();const n=Object.fromEntries(Object.entries(r).filter((([,e])=>e.timestamp!==undefined)));o(n);if(!t)return;const c=Object.fromEntries(Object.entries(n).filter((([,e])=>{const r=(new Date).getTime();const n=e.timestamp+t<r;return!n})));o(c)};return{get(e,t,r={miss:()=>Promise.resolve()}){return Promise.resolve().then((()=>{c();const t=JSON.stringify(e);return s()[t]})).then((e=>Promise.all([e?e.value:t(),e!==undefined]))).then((([e,t])=>Promise.all([e,t||r.miss(e)]))).then((([e])=>e))},set(e,r){return Promise.resolve().then((()=>{const o=s();o[JSON.stringify(e)]={timestamp:(new Date).getTime(),value:r};n().setItem(t,JSON.stringify(o));return r}))},delete(e){return Promise.resolve().then((()=>{const r=s();delete r[JSON.stringify(e)];n().setItem(t,JSON.stringify(r))}))},clear(){return Promise.resolve().then((()=>{n().removeItem(t)}))}}}function t(e){const n=[...e.caches];const s=n.shift();if(s===undefined){return r()}return{get(e,r,o={miss:()=>Promise.resolve()}){return s.get(e,r,o).catch((()=>t({caches:n}).get(e,r,o)))},set(e,r){return s.set(e,r).catch((()=>t({caches:n}).set(e,r)))},delete(e){return s.delete(e).catch((()=>t({caches:n}).delete(e)))},clear(){return s.clear().catch((()=>t({caches:n}).clear()))}}}function r(){return{get(e,t,r={miss:()=>Promise.resolve()}){const n=t();return n.then((e=>Promise.all([e,r.miss(e)]))).then((([e])=>e))},set(e,t){return Promise.resolve(t)},delete(e){return Promise.resolve()},clear(){return Promise.resolve()}}}function n(e={serializable:true}){let t={};return{get(r,n,s={miss:()=>Promise.resolve()}){const o=JSON.stringify(r);if(o in t){return Promise.resolve(e.serializable?JSON.parse(t[o]):t[o])}const c=n();const u=s&&s.miss||(()=>Promise.resolve());return c.then((e=>u(e))).then((()=>c))},set(r,n){t[JSON.stringify(r)]=e.serializable?JSON.stringify(n):n;return Promise.resolve(n)},delete(e){delete t[JSON.stringify(e)];return Promise.resolve()},clear(){t={};return Promise.resolve()}}}function s(e,t,r){const n={"x-algolia-api-key":r,"x-algolia-application-id":t};return{headers(){return e===i.WithinHeaders?n:{}},queryParameters(){return e===i.WithinQueryParameters?n:{}}}}function o(e){let t=e.length-1;for(t;t>0;t--){const r=Math.floor(Math.random()*(t+1));const n=e[t];e[t]=e[r];e[r]=n}return e}function c(e,t){if(!t){return e}Object.keys(t).forEach((r=>{e[r]=t[r](e)}));return e}function u(e,...t){let r=0;return e.replace(/%s/g,(()=>encodeURIComponent(t[r++])))}const a="4.22.1";const i={WithinQueryParameters:0,WithinHeaders:1};function l(e,t){const r=e||{};const n=r.data||{};Object.keys(r).forEach((e=>{if(["timeout","headers","queryParameters","data","cacheable"].indexOf(e)===-1){n[e]=r[e]}}));return{data:Object.entries(n).length>0?n:undefined,timeout:r.timeout||t,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}const m={Read:1,Write:2,Any:3};const d={Up:1,Down:2,Timeouted:3};const f=2*60*1e3;function h(e,t=d.Up){return{...e,status:t,lastUpdate:Date.now()}}function p(e){return e.status===d.Up||Date.now()-e.lastUpdate>f}function P(e){return e.status===d.Timeouted&&Date.now()-e.lastUpdate<=f}function g(e){if(typeof e==="string"){return{protocol:"https",url:e,accept:m.Any}}return{protocol:e.protocol||"https",url:e.url,accept:e.accept||m.Any}}const O={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};function y(e,t){return Promise.all(t.map((t=>e.get(t,(()=>Promise.resolve(h(t))))))).then((e=>{const r=e.filter((e=>p(e)));const n=e.filter((e=>P(e)));const s=[...r,...n];const o=s.length>0?s.map((e=>g(e))):t;return{getTimeout(e,t){const r=n.length===0&&e===0?1:n.length+3+e;return r*t},statelessHosts:o}}))}const b=({isTimedOut:e,status:t})=>!e&&~~t===0;const q=e=>{const t=e.status;const r=e.isTimedOut;return r||b(e)||~~(t/100)!==2&&~~(t/100)!==4};const S=({status:e})=>~~(e/100)===2;const T=(e,t)=>{if(q(e)){return t.onRetry(e)}if(S(e)){return t.onSuccess(e)}return t.onFail(e)};function w(e,t,r,n){const s=[];const o=A(r,n);const c=D(e,n);const u=r.method;const a=r.method!==O.Get?{}:{...r.data,...n.data};const i={"x-algolia-agent":e.userAgent.value,...e.queryParameters,...a,...n.queryParameters};let l=0;const m=(t,a)=>{const f=t.pop();if(f===undefined){throw I(F(s))}const p={data:o,headers:c,method:u,url:C(f,r.path,i),connectTimeout:a(l,e.timeouts.connect),responseTimeout:a(l,n.timeout)};const P=e=>{const r={request:p,response:e,host:f,triesLeft:t.length};s.push(r);return r};const g={onSuccess:e=>J(e),onRetry(r){const n=P(r);if(r.isTimedOut){l++}return Promise.all([e.logger.info("Retryable failure",E(n)),e.hostsCache.set(f,h(f,r.isTimedOut?d.Timeouted:d.Down))]).then((()=>m(t,a)))},onFail(e){P(e);throw j(e,F(s))}};return e.requester.send(p).then((e=>T(e,g)))};return y(e.hostsCache,t).then((e=>m([...e.statelessHosts].reverse(),e.getTimeout)))}function N(e){const{hostsCache:t,logger:r,requester:n,requestsCache:s,responsesCache:o,timeouts:c,userAgent:u,hosts:a,queryParameters:i,headers:d}=e;const f={hostsCache:t,logger:r,requester:n,requestsCache:s,responsesCache:o,timeouts:c,userAgent:u,headers:d,queryParameters:i,hosts:a.map((e=>g(e))),read(e,t){const r=l(t,f.timeouts.read);const n=()=>w(f,f.hosts.filter((e=>(e.accept&m.Read)!==0)),e,r);const s=r.cacheable!==undefined?r.cacheable:e.cacheable;if(s!==true){return n()}const o={request:e,mappedRequestOptions:r,transporter:{queryParameters:f.queryParameters,headers:f.headers}};return f.responsesCache.get(o,(()=>f.requestsCache.get(o,(()=>f.requestsCache.set(o,n()).then((e=>Promise.all([f.requestsCache.delete(o),e])),(e=>Promise.all([f.requestsCache.delete(o),Promise.reject(e)]))).then((([e,t])=>t))))),{miss:e=>f.responsesCache.set(o,e)})},write(e,t){return w(f,f.hosts.filter((e=>(e.accept&m.Write)!==0)),e,l(t,f.timeouts.write))}};return f}function $(e){const t={value:`Algolia for JavaScript (${e})`,add(e){const r=`; ${e.segment}${e.version!==undefined?` (${e.version})`:""}`;if(t.value.indexOf(r)===-1){t.value=`${t.value}${r}`}return t}};return t}function J(e){try{return JSON.parse(e.content)}catch(t){throw k(t.message,e)}}function j({content:e,status:t},r){let n=e;try{n=JSON.parse(e).message}catch(e){}return R(n,t,r)}function C(e,t,r){const n=x(r);let s=`${e.protocol}://${e.url}/${t.charAt(0)==="/"?t.substr(1):t}`;if(n.length){s+=`?${n}`}return s}function x(e){const t=e=>Object.prototype.toString.call(e)==="[object Object]"||Object.prototype.toString.call(e)==="[object Array]";return Object.keys(e).map((r=>u("%s=%s",r,t(e[r])?JSON.stringify(e[r]):e[r]))).join("&")}function A(e,t){if(e.method===O.Get||e.data===undefined&&t.data===undefined){return undefined}const r=Array.isArray(e.data)?e.data:{...e.data,...t.data};return JSON.stringify(r)}function D(e,t){const r={...e.headers,...t.headers};const n={};Object.keys(r).forEach((e=>{const t=r[e];n[e.toLowerCase()]=t}));return n}function F(e){return e.map((e=>E(e)))}function E(e){const t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return{...e,request:{...e.request,headers:{...e.request.headers,...t}}}}function R(e,t,r){return{name:"ApiError",message:e,status:t,transporterStackTrace:r}}function k(e,t){return{name:"DeserializationError",message:e,response:t}}function I(e){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:e}}const v=e=>{const t=e.appId;const r=s(e.authMode!==undefined?e.authMode:i.WithinHeaders,t,e.apiKey);const n=N({hosts:[{url:`${t}-dsn.algolia.net`,accept:m.Read},{url:`${t}.algolia.net`,accept:m.Write}].concat(o([{url:`${t}-1.algolianet.com`},{url:`${t}-2.algolianet.com`},{url:`${t}-3.algolianet.com`}])),...e,headers:{...r.headers(),...{"content-type":"application/x-www-form-urlencoded"},...e.headers},queryParameters:{...r.queryParameters(),...e.queryParameters}});const u={transporter:n,appId:t,addAlgoliaAgent(e,t){n.userAgent.add({segment:e,version:t})},clearCache(){return Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then((()=>undefined))}};return c(u,e.methods)};const U=e=>(t,r)=>{if(t.method===O.Get){return e.transporter.read(t,r)}return e.transporter.write(t,r)};const L=e=>(t,r={})=>{const n={transporter:e.transporter,appId:e.appId,indexName:t};return c(n,r.methods)};const M=e=>(t,r)=>{const n=t.map((e=>({...e,params:x(e.params||{})})));return e.transporter.read({method:O.Post,path:"1/indexes/*/queries",data:{requests:n},cacheable:true},r)};const Q=e=>(t,r)=>Promise.all(t.map((t=>{const{facetName:n,facetQuery:s,...o}=t.params;return L(e)(t.indexName,{methods:{searchForFacetValues:H}}).searchForFacetValues(n,s,{...r,...o})})));const V=e=>(t,r,n)=>e.transporter.read({method:O.Post,path:u("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:r},cacheable:true},n);const z=e=>(t,r)=>e.transporter.read({method:O.Post,path:u("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:true},r);const H=e=>(t,r,n)=>e.transporter.read({method:O.Post,path:u("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:r},cacheable:true},n);const W={Debug:1,Info:2,Error:3};function G(e){return{debug(t,r){if(W.Debug>=e){console.debug(t,r)}return Promise.resolve()},info(t,r){if(W.Info>=e){console.info(t,r)}return Promise.resolve()},error(e,t){console.error(e,t);return Promise.resolve()}}}function B(){return{send(e){return new Promise((t=>{const r=new XMLHttpRequest;r.open(e.method,e.url,true);Object.keys(e.headers).forEach((t=>r.setRequestHeader(t,e.headers[t])));const n=(e,n)=>setTimeout((()=>{r.abort();t({status:0,content:n,isTimedOut:true})}),e*1e3);const s=n(e.connectTimeout,"Connection timeout");let o;r.onreadystatechange=()=>{if(r.readyState>r.OPENED&&o===undefined){clearTimeout(s);o=n(e.responseTimeout,"Socket timeout")}};r.onerror=()=>{if(r.status===0){clearTimeout(s);clearTimeout(o);t({content:r.responseText||"Network request failed",status:r.status,isTimedOut:false})}};r.onload=()=>{clearTimeout(s);clearTimeout(o);t({content:r.responseText,status:r.status,isTimedOut:false})};r.send(e.data)}))}}}function K(r,s,o){const c={appId:r,apiKey:s,timeouts:{connect:1,read:2,write:30},requester:B(),logger:G(W.Error),responsesCache:n(),requestsCache:n({serializable:false}),hostsCache:t({caches:[e({key:`${a}-${r}`}),n()]}),userAgent:$(a).add({segment:"Browser",version:"lite"}),authMode:i.WithinQueryParameters};return v({...c,...o,methods:{search:M,searchForFacetValues:Q,multipleQueries:M,multipleSearchForFacetValues:Q,customRequest:U,initIndex:e=>t=>L(e)(t,{methods:{search:z,searchForFacetValues:H,findAnswers:V}})}})}K.version=a;export{K as a};
5
+ //# sourceMappingURL=algoliasearch-lite.esm.browser-d71a28dc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createBrowserLocalStorageCache","options","namespaceKey","key","storage","getStorage","undefined","localStorage","window","getNamespace","JSON","parse","getItem","setNamespace","namespace","setItem","stringify","removeOutdatedCacheItems","timeToLive","filteredNamespaceWithoutOldFormattedCacheItems","Object","fromEntries","entries","filter","cacheItem","timestamp","filteredNamespaceWithoutExpiredItems","currentTimestamp","Date","getTime","isExpired","get","defaultValue","events","miss","Promise","resolve","then","keyAsString","value","all","exists","set","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","keys","forEach","encode","format","args","i","replace","encodeURIComponent","version","createMappedRequestOptions","requestOptions","timeout","data","indexOf","cacheable","CallEnum","Read","Write","Any","HostStatusEnum","Up","Down","Timeouted","EXPIRATION_DELAY","createStatefulHost","host","status","lastUpdate","now","isStatefulHostUp","isStatefulHostTimeouted","createStatelessHost","protocol","url","accept","MethodEnum","Delete","Get","Post","Put","createRetryableOptions","hostsCache","statelessHosts","map","statelessHost","statefulHosts","hostsUp","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 const setNamespace = (namespace) => {\r\n getStorage().setItem(namespaceKey, JSON.stringify(namespace));\r\n };\r\n const removeOutdatedCacheItems = () => {\r\n const timeToLive = options.timeToLive ? options.timeToLive * 1000 : null;\r\n const namespace = getNamespace();\r\n const filteredNamespaceWithoutOldFormattedCacheItems = Object.fromEntries(Object.entries(namespace).filter(([, cacheItem]) => {\r\n return cacheItem.timestamp !== undefined;\r\n }));\r\n setNamespace(filteredNamespaceWithoutOldFormattedCacheItems);\r\n if (!timeToLive)\r\n return;\r\n const filteredNamespaceWithoutExpiredItems = Object.fromEntries(Object.entries(filteredNamespaceWithoutOldFormattedCacheItems).filter(([, cacheItem]) => {\r\n const currentTimestamp = new Date().getTime();\r\n const isExpired = cacheItem.timestamp + timeToLive < currentTimestamp;\r\n return !isExpired;\r\n }));\r\n setNamespace(filteredNamespaceWithoutExpiredItems);\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 removeOutdatedCacheItems();\r\n const keyAsString = JSON.stringify(key);\r\n return getNamespace()[keyAsString];\r\n })\r\n .then(value => {\r\n return Promise.all([value ? value.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)] = {\r\n timestamp: new Date().getTime(),\r\n value,\r\n };\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.22.1';\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":"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"}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import{g as t}from"./index-9695db0a.js";import{d as e}from"./throttle-ac4fcefa.js";function s(t,e){const s=new URLSearchParams([...new URLSearchParams(t)].map((([t,e])=>[t.replace(/([[\]])/g,((t,e)=>e==="["?".":"")),e])));const n={};new Set(s.keys()).forEach((t=>{const r=s.getAll(t).join(",").split(",").map((t=>decodeURIComponent(t.replace(/\+/g," "))));const i=r.length===1?r[0]:r;let u=t;let o=e?e({firstRawValue:s.get(t).split(","),key:u,rawValue:r,value:i}):i;if(u.includes(".")){const[t,...e]=u.split(".");const s=n[t]||{};const r=e.pop();e.reduce(((t,e)=>t[e]??={}),s)[r]=o;u=t;o=s}n[u]=o}));return n}function n(t,e){if(!t)return"";const s=[["",t]];const n=new URLSearchParams;while(s.length){const[t,r]=s.pop();Object.entries(r).forEach((([r,i])=>{if(i==null&&e==null)return;const u=typeof i;const o=t?`${t}.${r}`:r;if(i!==null&&u==="object"&&!Array.isArray(i)){s.push([o,i])}else{let t=u==="string"?i:"";if(Array.isArray(i))t=i.join(",");else if(i?.toJSON)t=i.toJSON();else if(i?.toString)t=i.toString();else t=String(i);const s=e?e({flattenedKey:o,key:r,rawValue:i,value:t}):t;s!=null&&n.append(o,s)}}))}n.sort();return n.toString()}const r="nano-component-store:";const i=(t="hash",e=window)=>{if(!e||!e.location)return{};if(t==="hash"&&e.location.hash)return s(e.location.hash.replace(/^\#/,""));else if(t==="query"&&e.location.search)return s(e.location.search.replace(/^\?/,""));return{}};const u=(t,e="hash",s=window,r="replace")=>{if(!s||!s.history)return;const i=e==="query"?s.location.search:s.location.hash;const u=e==="query"?s.location.pathname:s.location.pathname+s.location.search;let o=n(t);if(!o||!o.length){if(!i||!i.length)return;if(r==="replace")s.history.replaceState(null,null,u);else s.history.pushState(null,null,u);return}if(e==="hash"&&s.location.hash==="#"+o){try{document.querySelector("#"+o).focus()}catch(t){}return}o=(e==="hash"?"#":"?")+o;if(o===i)return;if(r==="replace")s.history.replaceState(null,null,u+o);else s.history.pushState(null,null,u+o)};const o=(t,e,n="hash",r=window,o="replace")=>{t=Object.keys(s(t))[0];const h={};h[t]=e;let c=i(n,r);c=Object.assign(Object.assign({},c),h);u(c,n,r,o)};const h=(t,e="hash",n=window)=>{t=Object.keys(s(t))[0];const r=i(e,n);return r[t]||null};const c=(t,e,s=window)=>{try{if(!e){s.sessionStorage.removeItem(r+t);return}s.sessionStorage.setItem(r+t,JSON.stringify(e))}catch(t){throw t}};const a=(t,e=window)=>{try{const s=e.sessionStorage.getItem(r+t);return s!==null?JSON.parse(s):null}catch(t){throw t}};const l=(t,e,s=window)=>{try{if(!e){s.localStorage.removeItem(r+t);return}s.localStorage.setItem(r+t,JSON.stringify(e))}catch(t){throw t}};const f=(t,e=window)=>{try{const s=e.localStorage.getItem(r+t);return s!==null?JSON.parse(s):null}catch(t){throw t}};const w=new Map;const d={init(e,s,n,r){const i=r||e.storeId||t(e).id;if(!i){console.error("No id set. You can only instantiate a new component store with an id. ");return}if(w.get(i)){console.error("Duplicate store id usage. A store ID must be unique!",i);return}const u=s.reduce(((t,s)=>{if(typeof e[s]!==undefined)t[s]=e[s];return t}),{});w.set(i,new p(i,e,s,u,n));const o=w.get(i);o.dispatchToProps();const h=e.connectedCallback;e.connectedCallback=function(){w.set(i,new p(i,e,s,u,n));const t=w.get(i);if(h){h.call(e)}if(t)t.dispatchToProps()};const c=e.componentDidRender;e.componentDidRender=function(){const t=w.get(i);if(c){c.call(e)}if(t)t.savePropsToStore()};const a=e.disconnectedCallback;e.disconnectedCallback=function(){const t=w.get(i);if(t)t.delete();w.delete(i);if(a){a.call(e)}}}};class p{constructor(t,s,n,r,i){this.method="session";this.initialState={};this.updateStore=true;this.onUrlChange=()=>{this.dispatchToProps(false)};this.savePropsToStore=()=>{if(this.updateStore){this.save(this.getData)}else if(!this.updateStore)this.updateStore=true};this.dispatchToProps=(t=true)=>{const e=this.retrieve();if(!e&&t)return;this.updateStore=t;this.keys.forEach((t=>{this.component[t]=e?e[t]:undefined}))};this.delete=()=>{if(this.method==="url-hash-push"||this.method==="url-query-push"){window.removeEventListener("popstate",this.onUrlChange)}};if(!t)throw new Error("No id set. You can only instantiate a new component store with an id");this.id=t;this.keys=n;this.component=s;if(r)this.initialState=r;if(i)this.method=i;this.savePropsToStore=e(this.savePropsToStore,500);if(this.method==="url-hash-push"||this.method==="url-query-push"){window.addEventListener("popstate",this.onUrlChange)}}equality(t,e){if(typeof t!==typeof e)return false;if(typeof t!=="object")return t===e;return JSON.stringify(t)===JSON.stringify(e)}get getData(){const t=this.keys.reduce(((t,e)=>{const s=this.equality(this.component[e],this.initialState[e]);if(typeof this.component[e]!=="undefined"&&!s){t[e]=this.component[e]}else if(s)delete t[e];return t}),{});return Object.keys(t).length?t:undefined}retrieve(){switch(this.method){case"url-hash":case"url-hash-push":return h(this.id,"hash");case"url-query":case"url-query-push":return h(this.id,"query");case"local":return f(this.id);default:return a(this.id)}}save(t){switch(this.method){case"url-hash":return o(this.id,t,"hash");case"url-query":return o(this.id,t,"query");case"url-hash-push":return o(this.id,t,"hash",window,"push");case"url-query-push":return o(this.id,t,"query",window,"push");case"local":return l(this.id,t);default:return c(this.id,t)}}}export{d as C};
5
+ //# sourceMappingURL=component-store-f7eb0a56.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["parse","searchParams","replacer","params","URLSearchParams","map","k","v","replace","_","s","t","Set","keys","forEach","paramKey","rawValue","getAll","join","split","n","decodeURIComponent","value","length","key","firstRawValue","get","includes","f","kl","o","l","pop","reduce","p","stringify","input","stack","sp","itemKey","itemValue","Object","entries","typeOfValue","flattenedKey","Array","isArray","push","toJSON","toString","String","vv","append","sort","STORAGE_NAME_SPACE","urlRead","from","win","window","location","hash","search","urlSave","object","to","method","history","oldQuery","basePath","pathname","queryStr","replaceState","pushState","document","querySelector","focus","e","urlSet","id","data","currentData","assign","urlGet","sessionSet","sessionStorage","removeItem","setItem","JSON","sessionGet","configStr","getItem","storageSet","localStorage","storageGet","store","Map","ComponentStore","init","component","getId","storeId","getElement","console","error","initialState","acc","undefined","set","Store","componentstore","dispatchToProps","connectedCallback","call","componentDidRender","savePropsToStore","disconnectedCallback","delete","constructor","this","updateStore","onUrlChange","save","getData","savedData","retrieve","removeEventListener","Error","debounce","addEventListener","equality","val1","val2","isEqual","getset.urlGet","getset.storageGet","getset.sessionGet","getset.urlSet","getset.storageSet","getset.sessionSet"],"sources":["./node_modules/tyqs/dist/parse.js","./node_modules/tyqs/dist/stringify.js","./src/utils/store/get-set.ts","./src/utils/store/component-store.ts"],"sourcesContent":["export function parse(searchParams, replacer) {\n const params = new URLSearchParams([...new URLSearchParams(searchParams)].map(([k, v]) => [\n k.replace(/([[\\]])/g, (_, s) => s === '[' ? '.' : ''),\n v,\n ]));\n const t = {};\n new Set(params.keys()).forEach((paramKey) => {\n const rawValue = params\n .getAll(paramKey)\n .join(',')\n .split(',')\n .map(n => decodeURIComponent(n.replace(/\\+/g, ' ')));\n const value = rawValue.length === 1 ? rawValue[0] : rawValue;\n let key = paramKey;\n let v = replacer ?\n replacer({\n firstRawValue: params.get(paramKey).split(','),\n key,\n rawValue,\n value,\n }) :\n value;\n if (key.includes('.')) {\n const [f, ...kl] = key.split('.');\n const o = (t[f] || {});\n const l = kl.pop();\n (kl.reduce((p, n) => (p[n] ??= {}), o))[l] = v;\n key = f;\n v = o;\n }\n t[key] = v;\n });\n return t;\n}\n//# sourceMappingURL=parse.js.map","export function stringify(input, replacer) {\n if (!input)\n return '';\n const stack = [['', input]];\n const sp = new URLSearchParams();\n while (stack.length) {\n const [itemKey, itemValue] = stack.pop();\n Object.entries(itemValue).forEach(([key, rawValue]) => {\n if (rawValue == null && replacer == null)\n return;\n const typeOfValue = typeof (rawValue);\n const flattenedKey = itemKey ? `${itemKey}.${key}` : key;\n if (rawValue !== null && typeOfValue === 'object' && !Array.isArray(rawValue)) {\n stack.push([flattenedKey, rawValue]);\n }\n else {\n let value = typeOfValue === 'string' ? rawValue : '';\n if (Array.isArray(rawValue))\n value = rawValue.join(',');\n else if (rawValue?.toJSON)\n value = rawValue.toJSON();\n else if (rawValue?.toString)\n value = rawValue.toString();\n else\n value = String(rawValue);\n const vv = replacer ?\n replacer({ flattenedKey, key, rawValue, value }) :\n value;\n vv != null && sp.append(flattenedKey, vv);\n }\n });\n }\n sp.sort();\n return sp.toString();\n}\n//# sourceMappingURL=stringify.js.map","import { parse, stringify } from 'tyqs';\n\nconst STORAGE_NAME_SPACE = 'nano-component-store:';\n\nconst urlRead = (\n from: 'hash' | 'query' = 'hash',\n win: Window = window\n): void | object => {\n if (!win || !win.location) return {};\n if (from === 'hash' && win.location.hash)\n return parse(win.location.hash.replace(/^\\#/, ''));\n else if (from === 'query' && win.location.search)\n return parse(win.location.search.replace(/^\\?/, ''));\n return {};\n};\n\nconst urlSave = (\n object: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n if (!win || !win.history) return;\n const oldQuery = to === 'query' ? win.location.search : win.location.hash;\n const basePath =\n to === 'query'\n ? win.location.pathname\n : win.location.pathname + win.location.search;\n let queryStr = stringify(object);\n\n if (!queryStr || !queryStr.length) {\n if (!oldQuery || !oldQuery.length) return;\n if (method === 'replace') win.history.replaceState(null, null, basePath);\n else win.history.pushState(null, null, basePath);\n return;\n }\n\n if (to === 'hash' && win.location.hash === '#' + queryStr) {\n try {\n (document.querySelector('#' + queryStr) as HTMLElement).focus();\n } catch (e) {}\n return;\n }\n queryStr = (to === 'hash' ? '#' : '?') + queryStr;\n if (queryStr === oldQuery) return;\n if (method === 'replace')\n win.history.replaceState(null, null, basePath + queryStr);\n else win.history.pushState(null, null, basePath + queryStr);\n};\n\nexport const urlSet = (\n id: string,\n data: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n // sanitize the incoming key\n id = Object.keys(parse(id))[0];\n const object = {};\n object[id] = data;\n\n let currentData = urlRead(to, win);\n currentData = { ...currentData, ...object };\n urlSave(currentData, to, win, method);\n};\n\nexport const urlGet = (\n key: string,\n to: 'hash' | 'query' = 'hash',\n win: Window = window\n) => {\n // sanitize the incoming key\n key = Object.keys(parse(key))[0];\n const currentData = urlRead(to, win);\n return currentData[key] || null;\n};\n\nexport const sessionSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n try {\n if (!object) {\n win.sessionStorage.removeItem(STORAGE_NAME_SPACE + key);\n return;\n }\n win.sessionStorage.setItem(\n STORAGE_NAME_SPACE + key,\n JSON.stringify(object)\n );\n } catch (e) {\n throw e;\n }\n};\n\nexport const sessionGet = (key: string, win: Window = window) => {\n try {\n const configStr = win.sessionStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n } catch (e) {\n throw e;\n }\n};\n\nexport const storageSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n try {\n if (!object) {\n win.localStorage.removeItem(STORAGE_NAME_SPACE + key);\n return;\n }\n win.localStorage.setItem(STORAGE_NAME_SPACE + key, JSON.stringify(object));\n } catch (e) {\n throw e;\n }\n};\n\nexport const storageGet = (key: string, win: Window = window) => {\n try {\n const configStr = win.localStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n } catch (e) {\n throw e;\n }\n};\n","import { getElement } from '@stencil/core';\nimport { debounce } from '../throttle';\nimport * as getset from './get-set';\n\nexport type StorageParams = Record<string, any>;\n\nexport type StorageMethods =\n | 'url-hash'\n | 'url-query'\n | 'url-hash-push'\n | 'url-query-push'\n | 'local'\n | 'session';\n\ninterface Component {\n connectedCallback?(): void;\n disconnectedCallback?(): void;\n componentDidRender?(): void;\n [key: string]: any;\n}\n\nconst store = new Map<string, Store>();\n\nexport const ComponentStore = {\n init(\n component: Component,\n keys: string[],\n method?: StorageMethods,\n id?: string\n ) {\n const getId = id || component.storeId || getElement(component).id;\n if (!getId) {\n console.error(\n 'No id set. You can only instantiate a new component store with an id. '\n );\n return;\n }\n if (store.get(getId)) {\n console.error(\n 'Duplicate store id usage. A store ID must be unique!',\n getId\n );\n return;\n }\n\n const initialState = keys.reduce((acc, key) => {\n if (typeof component[key] !== undefined) acc[key] = component[key];\n return acc;\n }, {});\n\n store.set(getId, new Store(getId, component, keys, initialState, method));\n const componentstore = store.get(getId);\n componentstore.dispatchToProps();\n\n const connectedCallback = component.connectedCallback;\n component.connectedCallback = function () {\n store.set(getId, new Store(getId, component, keys, initialState, method));\n const componentstore = store.get(getId);\n if (connectedCallback) {\n connectedCallback.call(component);\n }\n if (componentstore) componentstore.dispatchToProps();\n };\n\n const componentDidRender = component.componentDidRender;\n component.componentDidRender = function () {\n const componentstore = store.get(getId);\n if (componentDidRender) {\n componentDidRender.call(component);\n }\n if (componentstore) componentstore.savePropsToStore();\n };\n\n const disconnectedCallback = component.disconnectedCallback;\n component.disconnectedCallback = function () {\n const componentstore = store.get(getId);\n if (componentstore) componentstore.delete();\n store.delete(getId);\n if (disconnectedCallback) {\n disconnectedCallback.call(component);\n }\n };\n },\n};\n\nclass Store {\n private method: StorageMethods = 'session';\n private keys: string[];\n private id: string;\n private component: Component;\n private initialState: { [key: string]: any } = {};\n private updateStore: boolean = true;\n\n constructor(\n id: string,\n component: Component,\n keys: string[],\n initialState?: any,\n method?: StorageMethods\n ) {\n if (!id)\n throw new Error(\n 'No id set. You can only instantiate a new component store with an id'\n );\n this.id = id;\n this.keys = keys;\n this.component = component;\n if (initialState) this.initialState = initialState;\n if (method) this.method = method;\n\n this.savePropsToStore = debounce(this.savePropsToStore, 500);\n\n if (this.method === 'url-hash-push' || this.method === 'url-query-push') {\n window.addEventListener('popstate', this.onUrlChange);\n }\n }\n\n private onUrlChange = () => {\n this.dispatchToProps(false);\n };\n\n private equality(val1: any, val2: any) {\n if (typeof val1 !== typeof val2) return false;\n if (typeof val1 !== 'object') return val1 === val2;\n return JSON.stringify(val1) === JSON.stringify(val2);\n }\n\n get getData() {\n const data = this.keys.reduce((acc, key) => {\n const isEqual = this.equality(\n this.component[key],\n this.initialState[key]\n );\n if (typeof this.component[key] !== 'undefined' && !isEqual) {\n acc[key] = this.component[key];\n } else if (isEqual) delete acc[key];\n return acc;\n }, {});\n return Object.keys(data).length ? data : undefined;\n }\n\n private retrieve() {\n switch (this.method) {\n case 'url-hash':\n case 'url-hash-push':\n return getset.urlGet(this.id, 'hash');\n case 'url-query':\n case 'url-query-push':\n return getset.urlGet(this.id, 'query');\n case 'local':\n return getset.storageGet(this.id);\n default:\n return getset.sessionGet(this.id);\n }\n }\n\n private save(data: any) {\n switch (this.method) {\n case 'url-hash':\n return getset.urlSet(this.id, data, 'hash');\n case 'url-query':\n return getset.urlSet(this.id, data, 'query');\n case 'url-hash-push':\n return getset.urlSet(this.id, data, 'hash', window, 'push');\n case 'url-query-push':\n return getset.urlSet(this.id, data, 'query', window, 'push');\n case 'local':\n return getset.storageSet(this.id, data);\n default:\n return getset.sessionSet(this.id, data);\n }\n }\n\n public savePropsToStore = () => {\n if (this.updateStore) {\n this.save(this.getData);\n } else if (!this.updateStore) this.updateStore = true;\n };\n\n public dispatchToProps = (updateStore = true) => {\n const savedData = this.retrieve();\n if (!savedData && updateStore) return;\n\n // console.log('dispatching', savedData, this.id, this.initialState);\n this.updateStore = updateStore;\n\n this.keys.forEach((key) => {\n this.component[key] = savedData ? savedData[key] : undefined;\n });\n };\n\n public delete = () => {\n if (this.method === 'url-hash-push' || this.method === 'url-query-push') {\n window.removeEventListener('popstate', this.onUrlChange);\n }\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["parse","searchParams","replacer","params","URLSearchParams","map","k","v","replace","_","s","t","Set","keys","forEach","paramKey","rawValue","getAll","join","split","n","decodeURIComponent","value","length","key","firstRawValue","get","includes","f","kl","o","l","pop","reduce","p","stringify","input","stack","sp","itemKey","itemValue","Object","entries","typeOfValue","flattenedKey","Array","isArray","push","toJSON","toString","String","vv","append","sort","STORAGE_NAME_SPACE","urlRead","from","win","window","location","hash","search","urlSave","object","to","method","history","oldQuery","basePath","pathname","queryStr","replaceState","pushState","document","querySelector","focus","e","urlSet","id","data","currentData","assign","urlGet","sessionSet","sessionStorage","removeItem","setItem","JSON","sessionGet","configStr","getItem","storageSet","localStorage","storageGet","store","Map","ComponentStore","init","component","getId","storeId","getElement","console","error","initialState","acc","undefined","set","Store","componentstore","dispatchToProps","connectedCallback","call","componentDidRender","savePropsToStore","disconnectedCallback","delete","constructor","this","updateStore","onUrlChange","save","getData","savedData","retrieve","removeEventListener","Error","debounce","addEventListener","equality","val1","val2","isEqual","getset.urlGet","getset.storageGet","getset.sessionGet","getset.urlSet","getset.storageSet","getset.sessionSet"],"sources":["./node_modules/tyqs/dist/parse.js","./node_modules/tyqs/dist/stringify.js","./src/utils/store/get-set.ts","./src/utils/store/component-store.ts"],"sourcesContent":["export function parse(searchParams, replacer) {\n const params = new URLSearchParams([...new URLSearchParams(searchParams)].map(([k, v]) => [\n k.replace(/([[\\]])/g, (_, s) => s === '[' ? '.' : ''),\n v,\n ]));\n const t = {};\n new Set(params.keys()).forEach((paramKey) => {\n const rawValue = params\n .getAll(paramKey)\n .join(',')\n .split(',')\n .map(n => decodeURIComponent(n.replace(/\\+/g, ' ')));\n const value = rawValue.length === 1 ? rawValue[0] : rawValue;\n let key = paramKey;\n let v = replacer ?\n replacer({\n firstRawValue: params.get(paramKey).split(','),\n key,\n rawValue,\n value,\n }) :\n value;\n if (key.includes('.')) {\n const [f, ...kl] = key.split('.');\n const o = (t[f] || {});\n const l = kl.pop();\n (kl.reduce((p, n) => (p[n] ??= {}), o))[l] = v;\n key = f;\n v = o;\n }\n t[key] = v;\n });\n return t;\n}\n//# sourceMappingURL=parse.js.map","export function stringify(input, replacer) {\n if (!input)\n return '';\n const stack = [['', input]];\n const sp = new URLSearchParams();\n while (stack.length) {\n const [itemKey, itemValue] = stack.pop();\n Object.entries(itemValue).forEach(([key, rawValue]) => {\n if (rawValue == null && replacer == null)\n return;\n const typeOfValue = typeof (rawValue);\n const flattenedKey = itemKey ? `${itemKey}.${key}` : key;\n if (rawValue !== null && typeOfValue === 'object' && !Array.isArray(rawValue)) {\n stack.push([flattenedKey, rawValue]);\n }\n else {\n let value = typeOfValue === 'string' ? rawValue : '';\n if (Array.isArray(rawValue))\n value = rawValue.join(',');\n else if (rawValue?.toJSON)\n value = rawValue.toJSON();\n else if (rawValue?.toString)\n value = rawValue.toString();\n else\n value = String(rawValue);\n const vv = replacer ?\n replacer({ flattenedKey, key, rawValue, value }) :\n value;\n vv != null && sp.append(flattenedKey, vv);\n }\n });\n }\n sp.sort();\n return sp.toString();\n}\n//# sourceMappingURL=stringify.js.map","import { parse, stringify } from 'tyqs';\n\nconst STORAGE_NAME_SPACE = 'nano-component-store:';\n\nconst urlRead = (\n from: 'hash' | 'query' = 'hash',\n win: Window = window\n): void | object => {\n if (!win || !win.location) return {};\n if (from === 'hash' && win.location.hash)\n return parse(win.location.hash.replace(/^\\#/, ''));\n else if (from === 'query' && win.location.search)\n return parse(win.location.search.replace(/^\\?/, ''));\n return {};\n};\n\nconst urlSave = (\n object: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n if (!win || !win.history) return;\n const oldQuery = to === 'query' ? win.location.search : win.location.hash;\n const basePath =\n to === 'query'\n ? win.location.pathname\n : win.location.pathname + win.location.search;\n let queryStr = stringify(object);\n\n if (!queryStr || !queryStr.length) {\n if (!oldQuery || !oldQuery.length) return;\n if (method === 'replace') win.history.replaceState(null, null, basePath);\n else win.history.pushState(null, null, basePath);\n return;\n }\n\n if (to === 'hash' && win.location.hash === '#' + queryStr) {\n try {\n (document.querySelector('#' + queryStr) as HTMLElement).focus();\n } catch (e) {}\n return;\n }\n queryStr = (to === 'hash' ? '#' : '?') + queryStr;\n if (queryStr === oldQuery) return;\n if (method === 'replace')\n win.history.replaceState(null, null, basePath + queryStr);\n else win.history.pushState(null, null, basePath + queryStr);\n};\n\nexport const urlSet = (\n id: string,\n data: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n // sanitize the incoming key\n id = Object.keys(parse(id))[0];\n const object = {};\n object[id] = data;\n\n let currentData = urlRead(to, win);\n currentData = { ...currentData, ...object };\n urlSave(currentData, to, win, method);\n};\n\nexport const urlGet = (\n key: string,\n to: 'hash' | 'query' = 'hash',\n win: Window = window\n) => {\n // sanitize the incoming key\n key = Object.keys(parse(key))[0];\n const currentData = urlRead(to, win);\n return currentData[key] || null;\n};\n\nexport const sessionSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n try {\n if (!object) {\n win.sessionStorage.removeItem(STORAGE_NAME_SPACE + key);\n return;\n }\n win.sessionStorage.setItem(\n STORAGE_NAME_SPACE + key,\n JSON.stringify(object)\n );\n } catch (e) {\n throw e;\n }\n};\n\nexport const sessionGet = (key: string, win: Window = window) => {\n try {\n const configStr = win.sessionStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n } catch (e) {\n throw e;\n }\n};\n\nexport const storageSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n try {\n if (!object) {\n win.localStorage.removeItem(STORAGE_NAME_SPACE + key);\n return;\n }\n win.localStorage.setItem(STORAGE_NAME_SPACE + key, JSON.stringify(object));\n } catch (e) {\n throw e;\n }\n};\n\nexport const storageGet = (key: string, win: Window = window) => {\n try {\n const configStr = win.localStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n } catch (e) {\n throw e;\n }\n};\n","import { getElement } from '@stencil/core';\nimport { debounce } from '../throttle';\nimport * as getset from './get-set';\n\nexport type StorageParams = Record<string, any>;\n\nexport type StorageMethods =\n | 'url-hash'\n | 'url-query'\n | 'url-hash-push'\n | 'url-query-push'\n | 'local'\n | 'session';\n\ninterface Component {\n connectedCallback?(): void;\n disconnectedCallback?(): void;\n componentDidRender?(): void;\n [key: string]: any;\n}\n\nconst store = new Map<string, Store>();\n\nexport const ComponentStore = {\n init(\n component: Component,\n keys: string[],\n method?: StorageMethods,\n id?: string\n ) {\n const getId = id || component.storeId || getElement(component).id;\n if (!getId) {\n console.error(\n 'No id set. You can only instantiate a new component store with an id. '\n );\n return;\n }\n if (store.get(getId)) {\n console.error(\n 'Duplicate store id usage. A store ID must be unique!',\n getId\n );\n return;\n }\n\n const initialState = keys.reduce((acc, key) => {\n if (typeof component[key] !== undefined) acc[key] = component[key];\n return acc;\n }, {});\n\n store.set(getId, new Store(getId, component, keys, initialState, method));\n const componentstore = store.get(getId);\n componentstore.dispatchToProps();\n\n const connectedCallback = component.connectedCallback;\n component.connectedCallback = function () {\n store.set(getId, new Store(getId, component, keys, initialState, method));\n const componentstore = store.get(getId);\n if (connectedCallback) {\n connectedCallback.call(component);\n }\n if (componentstore) componentstore.dispatchToProps();\n };\n\n const componentDidRender = component.componentDidRender;\n component.componentDidRender = function () {\n const componentstore = store.get(getId);\n if (componentDidRender) {\n componentDidRender.call(component);\n }\n if (componentstore) componentstore.savePropsToStore();\n };\n\n const disconnectedCallback = component.disconnectedCallback;\n component.disconnectedCallback = function () {\n const componentstore = store.get(getId);\n if (componentstore) componentstore.delete();\n store.delete(getId);\n if (disconnectedCallback) {\n disconnectedCallback.call(component);\n }\n };\n },\n};\n\nclass Store {\n private method: StorageMethods = 'session';\n private keys: string[];\n private id: string;\n private component: Component;\n private initialState: { [key: string]: any } = {};\n private updateStore: boolean = true;\n\n constructor(\n id: string,\n component: Component,\n keys: string[],\n initialState?: any,\n method?: StorageMethods\n ) {\n if (!id)\n throw new Error(\n 'No id set. You can only instantiate a new component store with an id'\n );\n this.id = id;\n this.keys = keys;\n this.component = component;\n if (initialState) this.initialState = initialState;\n if (method) this.method = method;\n\n this.savePropsToStore = debounce(this.savePropsToStore, 500);\n\n if (this.method === 'url-hash-push' || this.method === 'url-query-push') {\n window.addEventListener('popstate', this.onUrlChange);\n }\n }\n\n private onUrlChange = () => {\n this.dispatchToProps(false);\n };\n\n private equality(val1: any, val2: any) {\n if (typeof val1 !== typeof val2) return false;\n if (typeof val1 !== 'object') return val1 === val2;\n return JSON.stringify(val1) === JSON.stringify(val2);\n }\n\n get getData() {\n const data = this.keys.reduce((acc, key) => {\n const isEqual = this.equality(\n this.component[key],\n this.initialState[key]\n );\n if (typeof this.component[key] !== 'undefined' && !isEqual) {\n acc[key] = this.component[key];\n } else if (isEqual) delete acc[key];\n return acc;\n }, {});\n return Object.keys(data).length ? data : undefined;\n }\n\n private retrieve() {\n switch (this.method) {\n case 'url-hash':\n case 'url-hash-push':\n return getset.urlGet(this.id, 'hash');\n case 'url-query':\n case 'url-query-push':\n return getset.urlGet(this.id, 'query');\n case 'local':\n return getset.storageGet(this.id);\n default:\n return getset.sessionGet(this.id);\n }\n }\n\n private save(data: any) {\n switch (this.method) {\n case 'url-hash':\n return getset.urlSet(this.id, data, 'hash');\n case 'url-query':\n return getset.urlSet(this.id, data, 'query');\n case 'url-hash-push':\n return getset.urlSet(this.id, data, 'hash', window, 'push');\n case 'url-query-push':\n return getset.urlSet(this.id, data, 'query', window, 'push');\n case 'local':\n return getset.storageSet(this.id, data);\n default:\n return getset.sessionSet(this.id, data);\n }\n }\n\n public savePropsToStore = () => {\n if (this.updateStore) {\n this.save(this.getData);\n } else if (!this.updateStore) this.updateStore = true;\n };\n\n public dispatchToProps = (updateStore = true) => {\n const savedData = this.retrieve();\n if (!savedData && updateStore) return;\n\n // console.log('dispatching', savedData, this.id, this.initialState);\n this.updateStore = updateStore;\n\n this.keys.forEach((key) => {\n this.component[key] = savedData ? savedData[key] : undefined;\n });\n };\n\n public delete = () => {\n if (this.method === 'url-hash-push' || this.method === 'url-query-push') {\n window.removeEventListener('popstate', this.onUrlChange);\n }\n };\n}\n"],"mappings":"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"}
@@ -2,4 +2,4 @@
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
4
  const n=/^(\d{4})-(\d{2})-(\d{2})/;var t;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(t||(t={}));function e(n,t,e){const r=parseInt(e,10);const u=parseInt(t,10);const s=parseInt(n,10);const a=Number.isInteger(s)&&Number.isInteger(u)&&Number.isInteger(r)&&u>0&&u<=12&&r>0&&r<=31&&s>0;if(a){return new Date(s,u-1,r)}return undefined}function r(t){if(!t)return undefined;const r=t.match(n);if(r){return e(r[1],r[2],r[3])}return undefined}function u(n){if(!n)return"";let t=n.getDate().toString(10);let e=(n.getMonth()+1).toString(10);const r=n.getFullYear().toString(10);if(n.getDate()<10){t=`0${t}`}if(n.getMonth()<9){e=`0${e}`}return`${r}-${e}-${t}`}function s(n,t){if(n==null||t==null)return false;return n.getFullYear()===t.getFullYear()&&n.getMonth()===t.getMonth()&&n.getDate()===t.getDate()}function a(n,t){const e=new Date(n);e.setDate(e.getDate()+t);return e}function o(n,e=t.Monday){const r=new Date(n);const u=r.getDay();const s=(u<e?7:0)+u-e;r.setDate(r.getDate()-s);return r}function c(n,e=t.Monday){const r=new Date(n);const u=r.getDay();const s=(u<e?-7:0)+6-(u-e);r.setDate(r.getDate()+s);return r}function i(n){return new Date(n.getFullYear(),n.getMonth(),1)}function f(n){return new Date(n.getFullYear(),n.getMonth()+1,0)}function d(n,t){const e=new Date(n);e.setMonth(t);return e}function D(n,t){const e=new Date(n);e.setFullYear(t);return e}function l(n,t,e){return w(n,t,e)===n}function w(n,t,e){const r=n.getTime();if(t&&t instanceof Date&&r<t.getTime()){return t}if(e&&e instanceof Date&&r>e.getTime()){return e}return n}function y(n,t){const e=[];let r=n;while(!s(r,t)){e.push(r);r=a(r,1)}e.push(r);return e}function p(n,e=t.Monday){const r=o(i(n),e);const u=c(f(n),e);return y(r,u)}export{t as D,u as a,l as b,e as c,a as d,c as e,d as f,p as g,i as h,s as i,f as j,w as k,D as l,r as p,o as s};
5
- //# sourceMappingURL=p-cecb9af1.js.map
5
+ //# sourceMappingURL=date-utils-6b7a6e1f.js.map
@@ -2,4 +2,4 @@
2
2
  * Web Components for Nanopore digital Web Apps
3
3
  */
4
4
  var e;(function(e){e[e["ElementNode"]=1]="ElementNode";e[e["TextNode"]=3]="TextNode";e[e["CommentNode"]=8]="CommentNode";e[e["DocumentNode"]=9]="DocumentNode";e[e["DocumentTypeNode"]=10]="DocumentTypeNode";e[e["DocumentFragment"]=11]="DocumentFragment"})(e||(e={}));function t(e,t=this){function n(t){if(!t||t===document||t===window)return null;if(t.assignedSlot)t=t.assignedSlot;const r=t.closest(e);return r?r:n(t.getRootNode().host)}return n(t)}function n(t,n,r=true){if(r===true){try{n=":scope > "+n.split(",").join(", :scope >");return Array.from(t.querySelectorAll(n))}catch(e){console.error(e,"an error sad")}}const o=[];Array.from(t.childNodes).forEach((t=>{if(!!t.matches&&t.matches(n))o.push(t);else if(t.nodeName.toLowerCase()==="slot"){Array.from(t.assignedNodes()).forEach((t=>{if(t.nodeType===e.ElementNode&&t.matches(n))o.push(t);else if(t.nodeType!==e.ElementNode&&!r)o.push(t)}))}else if(!r)o.push(t)}));return o}const r=(e,t)=>{const n=[];let r=e.parentNode.firstElementChild;do{if(!t||r!==e&&r.matches(t))n.push(r)}while(r=r.nextElementSibling);return n};function o(e,t){if(!t||!e)return{top:0,left:0};return{top:e.getBoundingClientRect().top-t.getBoundingClientRect().top,left:e.getBoundingClientRect().left-t.getBoundingClientRect().left}}export{o as a,r as b,t as c,n as g};
5
- //# sourceMappingURL=p-cdfc507e.js.map
5
+ //# sourceMappingURL=dom-8599fac1.js.map