@nanoporetech-digital/components 5.9.6 → 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 (752) hide show
  1. package/CHANGELOG.md +60 -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 -10
  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 +995 -27
  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 +207 -201
  63. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nano-global-search-results.cjs.entry.js +9 -10
  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-49b4b3a6.js → nano-table-26845696.js} +5 -5
  105. package/dist/cjs/{nano-table-49b4b3a6.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-da980a2f.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 -2
  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-interface.js.map +1 -1
  118. package/dist/collection/components/algolia/algolia-pagination.js +0 -5
  119. package/dist/collection/components/algolia/algolia-pagination.js.map +1 -1
  120. package/dist/collection/components/algolia/algolia-results.js.map +1 -1
  121. package/dist/collection/components/algolia/algolia.js +21 -32
  122. package/dist/collection/components/algolia/algolia.js.map +1 -1
  123. package/dist/collection/components/algolia/lib/squirrelly/browser.js +10 -0
  124. package/dist/collection/components/algolia/lib/squirrelly/browser.js.map +1 -0
  125. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js +151 -0
  126. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js.map +1 -0
  127. package/dist/collection/components/algolia/lib/squirrelly/compile.js +44 -0
  128. package/dist/collection/components/algolia/lib/squirrelly/compile.js.map +1 -0
  129. package/dist/collection/components/algolia/lib/squirrelly/config.js +68 -0
  130. package/dist/collection/components/algolia/lib/squirrelly/config.js.map +1 -0
  131. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js +57 -0
  132. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js.map +1 -0
  133. package/dist/collection/components/algolia/lib/squirrelly/containers.js +128 -0
  134. package/dist/collection/components/algolia/lib/squirrelly/containers.js.map +1 -0
  135. package/dist/collection/components/algolia/lib/squirrelly/err.js +39 -0
  136. package/dist/collection/components/algolia/lib/squirrelly/err.js.map +1 -0
  137. package/dist/collection/components/algolia/lib/squirrelly/parse.js +327 -0
  138. package/dist/collection/components/algolia/lib/squirrelly/parse.js.map +1 -0
  139. package/dist/collection/components/algolia/lib/squirrelly/render.js +62 -0
  140. package/dist/collection/components/algolia/lib/squirrelly/render.js.map +1 -0
  141. package/dist/collection/components/algolia/lib/squirrelly/storage.js +32 -0
  142. package/dist/collection/components/algolia/lib/squirrelly/storage.js.map +1 -0
  143. package/dist/collection/components/algolia/lib/squirrelly/utils.js +102 -0
  144. package/dist/collection/components/algolia/lib/squirrelly/utils.js.map +1 -0
  145. package/dist/collection/{utils → components/algolia/lib}/template.js +1 -2
  146. package/dist/collection/components/algolia/lib/template.js.map +1 -0
  147. package/dist/collection/components/checkbox/checkbox-group.css +17 -15
  148. package/dist/collection/components/checkbox/checkbox-group.js +29 -2
  149. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  150. package/dist/collection/components/checkbox/checkbox.css +20 -22
  151. package/dist/collection/components/checkbox/checkbox.js +2 -0
  152. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  153. package/dist/collection/components/date-picker/date-picker.css +5 -10
  154. package/dist/collection/components/details/details.css +4 -4
  155. package/dist/collection/components/dialog/dialog.css +3 -6
  156. package/dist/collection/components/dialog/dialog.js +1 -1
  157. package/dist/collection/components/dialog/dialog.js.map +1 -1
  158. package/dist/collection/components/drawer/drawer.css +18 -24
  159. package/dist/collection/components/drawer/drawer.js +1 -1
  160. package/dist/collection/components/drawer/drawer.js.map +1 -1
  161. package/dist/collection/components/dropdown/dropdown.js +1 -1
  162. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  163. package/dist/collection/components/field-validator/field-validator.js +5 -3
  164. package/dist/collection/components/field-validator/field-validator.js.map +1 -1
  165. package/dist/collection/components/file-upload/file-upload.css +16 -30
  166. package/dist/collection/components/global-nav/global-nav.js +203 -205
  167. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  168. package/dist/collection/components/global-nav/style/global-nav.css +97 -138
  169. package/dist/collection/components/global-search-results/global-search-results.css +85 -127
  170. package/dist/collection/components/global-search-results/global-search-results.js +7 -8
  171. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  172. package/dist/collection/components/hero/hero.css +13 -26
  173. package/dist/collection/components/icon/icon.css +6 -6
  174. package/dist/collection/components/icon/icon.js +2 -2
  175. package/dist/collection/components/icon/icon.js.map +1 -1
  176. package/dist/collection/components/img/img.css +7 -17
  177. package/dist/collection/components/input/input.css +15 -36
  178. package/dist/collection/components/menu/menu.css +1 -1
  179. package/dist/collection/components/menu/menu.js +1 -1
  180. package/dist/collection/components/menu/menu.js.map +1 -1
  181. package/dist/collection/components/menu-drawer/menu-drawer.css +5 -14
  182. package/dist/collection/components/nav-item/nav-item.css +25 -46
  183. package/dist/collection/components/option/option.css +3 -5
  184. package/dist/collection/components/overflow-nav/overflow-nav.css +16 -27
  185. package/dist/collection/components/progress-bar/progress-bar.css +2 -2
  186. package/dist/collection/components/range/range.css +17 -19
  187. package/dist/collection/components/rating/rating.css +2 -8
  188. package/dist/collection/components/select/select.css +30 -53
  189. package/dist/collection/components/slides/lib/js/animate.js +29 -54
  190. package/dist/collection/components/slides/lib/js/animate.js.map +1 -0
  191. package/dist/collection/components/slides/lib/js/cell.js +12 -24
  192. package/dist/collection/components/slides/lib/js/cell.js.map +1 -0
  193. package/dist/collection/components/slides/lib/js/drag.js +65 -116
  194. package/dist/collection/components/slides/lib/js/drag.js.map +1 -0
  195. package/dist/collection/components/slides/lib/js/fade.js +52 -79
  196. package/dist/collection/components/slides/lib/js/fade.js.map +1 -0
  197. package/dist/collection/components/slides/lib/js/flickity.js +118 -206
  198. package/dist/collection/components/slides/lib/js/flickity.js.map +1 -0
  199. package/dist/collection/components/slides/lib/js/fullscreen.js +21 -40
  200. package/dist/collection/components/slides/lib/js/fullscreen.js.map +1 -0
  201. package/dist/collection/components/slides/lib/js/index.js +4 -6
  202. package/dist/collection/components/slides/lib/js/index.js.map +1 -0
  203. package/dist/collection/components/slides/lib/js/lazyload.js +21 -36
  204. package/dist/collection/components/slides/lib/js/lazyload.js.map +1 -0
  205. package/dist/collection/components/slides/lib/js/page-dots.js +21 -45
  206. package/dist/collection/components/slides/lib/js/page-dots.js.map +1 -0
  207. package/dist/collection/components/slides/lib/js/player.js +12 -40
  208. package/dist/collection/components/slides/lib/js/player.js.map +1 -0
  209. package/dist/collection/components/slides/lib/js/prev-next-button.js +24 -52
  210. package/dist/collection/components/slides/lib/js/prev-next-button.js.map +1 -0
  211. package/dist/collection/components/slides/lib/js/slide.js +10 -15
  212. package/dist/collection/components/slides/lib/js/slide.js.map +1 -0
  213. package/dist/collection/components/slides/lib/js/utils/event-emitter.js +75 -0
  214. package/dist/collection/components/slides/lib/js/utils/event-emitter.js.map +1 -0
  215. package/dist/collection/components/slides/lib/js/utils/gestures.js +436 -0
  216. package/dist/collection/components/slides/lib/js/utils/gestures.js.map +1 -0
  217. package/dist/collection/components/slides/lib/js/utils/get-size.js +160 -0
  218. package/dist/collection/components/slides/lib/js/utils/get-size.js.map +1 -0
  219. package/dist/collection/components/slides/lib/js/utils/utils.js +166 -0
  220. package/dist/collection/components/slides/lib/js/utils/utils.js.map +1 -0
  221. package/dist/collection/components/slides/slides.css +18 -19
  222. package/dist/collection/components/slides/slides.js +31 -5
  223. package/dist/collection/components/slides/slides.js.map +1 -1
  224. package/dist/collection/components/spinner/spinner.css +1 -2
  225. package/dist/collection/components/sticker/sticker.js +2 -1
  226. package/dist/collection/components/sticker/sticker.js.map +1 -1
  227. package/dist/collection/components/table/table.css +29 -48
  228. package/dist/collection/components/tabs/tab-group.css +10 -14
  229. package/dist/collection/components/tabs/tab.css +8 -18
  230. package/dist/collection/components/tooltip/tooltip.css +34 -31
  231. package/dist/collection/components/tooltip/tooltip.js +23 -3
  232. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  233. package/dist/collection/global/script/global.js +6 -6
  234. package/dist/collection/global/script/global.js.map +1 -1
  235. package/dist/collection/utils/scroll.js +7 -3
  236. package/dist/collection/utils/scroll.js.map +1 -1
  237. package/dist/components/algolia-data.js.map +1 -1
  238. package/dist/components/algolia.js +991 -25
  239. package/dist/components/algolia.js.map +1 -1
  240. package/dist/components/algoliasearch-lite.esm.browser.js +29 -4
  241. package/dist/components/algoliasearch-lite.esm.browser.js.map +1 -1
  242. package/dist/components/date-picker.js +1 -1
  243. package/dist/components/date-picker.js.map +1 -1
  244. package/dist/components/dropdown.js +1 -1
  245. package/dist/components/dropdown.js.map +1 -1
  246. package/dist/components/fade.js +208 -0
  247. package/dist/components/fade.js.map +1 -0
  248. package/dist/components/fullscreen.js +130 -0
  249. package/dist/components/fullscreen.js.map +1 -0
  250. package/dist/components/icon.js +3 -3
  251. package/dist/components/icon.js.map +1 -1
  252. package/dist/components/img.js +1 -1
  253. package/dist/components/img.js.map +1 -1
  254. package/dist/components/index.d.ts +0 -1
  255. package/dist/components/index.js +6 -7
  256. package/dist/components/index.js.map +1 -1
  257. package/dist/components/input.js +1 -1
  258. package/dist/components/input.js.map +1 -1
  259. package/dist/components/lazyload.js +92 -0
  260. package/dist/components/lazyload.js.map +1 -0
  261. package/dist/components/menu.js +2 -2
  262. package/dist/components/menu.js.map +1 -1
  263. package/dist/components/nano-alert.js +1 -1
  264. package/dist/components/nano-alert.js.map +1 -1
  265. package/dist/components/nano-algolia-filter.js.map +1 -1
  266. package/dist/components/nano-algolia-pagination.js +0 -5
  267. package/dist/components/nano-algolia-pagination.js.map +1 -1
  268. package/dist/components/nano-algolia-results.js.map +1 -1
  269. package/dist/components/nano-checkbox-group.js +10 -3
  270. package/dist/components/nano-checkbox-group.js.map +1 -1
  271. package/dist/components/nano-checkbox.js +3 -1
  272. package/dist/components/nano-checkbox.js.map +1 -1
  273. package/dist/components/nano-details.js +1 -1
  274. package/dist/components/nano-details.js.map +1 -1
  275. package/dist/components/nano-dialog.js +2 -2
  276. package/dist/components/nano-dialog.js.map +1 -1
  277. package/dist/components/nano-drawer.js +2 -2
  278. package/dist/components/nano-drawer.js.map +1 -1
  279. package/dist/components/nano-field-validator.js +5 -3
  280. package/dist/components/nano-field-validator.js.map +1 -1
  281. package/dist/components/nano-file-upload.js +1 -1
  282. package/dist/components/nano-file-upload.js.map +1 -1
  283. package/dist/components/nano-global-nav.js +204 -200
  284. package/dist/components/nano-global-nav.js.map +1 -1
  285. package/dist/components/nano-global-search-results.js +8 -9
  286. package/dist/components/nano-global-search-results.js.map +1 -1
  287. package/dist/components/nano-hero.js +1 -1
  288. package/dist/components/nano-hero.js.map +1 -1
  289. package/dist/components/nano-menu-drawer.js +1 -1
  290. package/dist/components/nano-menu-drawer.js.map +1 -1
  291. package/dist/components/nano-overflow-nav.js +1 -1
  292. package/dist/components/nano-overflow-nav.js.map +1 -1
  293. package/dist/components/nano-range.js +1 -1
  294. package/dist/components/nano-range.js.map +1 -1
  295. package/dist/components/nano-rating.js +1 -1
  296. package/dist/components/nano-rating.js.map +1 -1
  297. package/dist/components/nano-slides.js +760 -2090
  298. package/dist/components/nano-slides.js.map +1 -1
  299. package/dist/components/nano-tab-group.js +1 -1
  300. package/dist/components/nano-tab-group.js.map +1 -1
  301. package/dist/components/nano-tab.js +1 -1
  302. package/dist/components/nano-tab.js.map +1 -1
  303. package/dist/components/nav-item.js +1 -1
  304. package/dist/components/nav-item.js.map +1 -1
  305. package/dist/components/option.js +1 -1
  306. package/dist/components/option.js.map +1 -1
  307. package/dist/components/page-dots.js +137 -0
  308. package/dist/components/page-dots.js.map +1 -0
  309. package/dist/components/progress-bar.js +1 -1
  310. package/dist/components/progress-bar.js.map +1 -1
  311. package/dist/components/scroll.js +7 -3
  312. package/dist/components/scroll.js.map +1 -1
  313. package/dist/components/select.js +1 -1
  314. package/dist/components/select.js.map +1 -1
  315. package/dist/components/spinner.js +1 -1
  316. package/dist/components/spinner.js.map +1 -1
  317. package/dist/components/sticker.js +2 -1
  318. package/dist/components/sticker.js.map +1 -1
  319. package/dist/components/table.js +1 -1
  320. package/dist/components/table.js.map +1 -1
  321. package/dist/components/tooltip.js +24 -4
  322. package/dist/components/tooltip.js.map +1 -1
  323. package/dist/esm/{algolia-data-ebf2a439.js → algolia-data-1b42827c.js} +2 -2
  324. package/dist/esm/{algolia-data-ebf2a439.js.map → algolia-data-1b42827c.js.map} +1 -1
  325. package/dist/esm/{algoliasearch-lite.esm.browser-04891fdc.js → algoliasearch-lite.esm.browser-d71a28dc.js} +30 -5
  326. package/dist/esm/algoliasearch-lite.esm.browser-d71a28dc.js.map +1 -0
  327. package/dist/esm/{component-store-54df2005.js → component-store-f7eb0a56.js} +2 -2
  328. package/dist/esm/{component-store-54df2005.js.map → component-store-f7eb0a56.js.map} +1 -1
  329. package/dist/esm/fade-1aa7a6db.js +209 -0
  330. package/dist/esm/fade-1aa7a6db.js.map +1 -0
  331. package/dist/esm/{form-control-eb06e009.js → form-control-881fa3af.js} +2 -2
  332. package/dist/esm/{form-control-eb06e009.js.map → form-control-881fa3af.js.map} +1 -1
  333. package/dist/esm/fullscreen-86fa276a.js +131 -0
  334. package/dist/esm/fullscreen-86fa276a.js.map +1 -0
  335. package/dist/esm/{global-f6e05656.js → global-be484e8c.js} +7 -7
  336. package/dist/esm/{global-f6e05656.js.map → global-be484e8c.js.map} +1 -1
  337. package/dist/esm/{index-e8891229.js → index-3003356f.js} +2 -2
  338. package/dist/esm/{index-e8891229.js.map → index-3003356f.js.map} +1 -1
  339. package/dist/esm/{index-06666022.js → index-9695db0a.js} +8 -10
  340. package/dist/esm/index-9695db0a.js.map +1 -0
  341. package/dist/esm/lazyload-994232a6.js +93 -0
  342. package/dist/esm/lazyload-994232a6.js.map +1 -0
  343. package/dist/esm/loader.js +5 -5
  344. package/dist/esm/loader.js.map +1 -1
  345. package/dist/esm/nano-accordion.entry.js +1 -1
  346. package/dist/esm/nano-alert.entry.js +3 -3
  347. package/dist/esm/nano-alert.entry.js.map +1 -1
  348. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  349. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  350. package/dist/esm/nano-algolia-pagination.entry.js +2 -7
  351. package/dist/esm/nano-algolia-pagination.entry.js.map +1 -1
  352. package/dist/esm/nano-algolia-results.entry.js +2 -2
  353. package/dist/esm/nano-algolia-results.entry.js.map +1 -1
  354. package/dist/esm/nano-algolia.entry.js +995 -27
  355. package/dist/esm/nano-algolia.entry.js.map +1 -1
  356. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  357. package/dist/esm/nano-checkbox-group.entry.js +10 -4
  358. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  359. package/dist/esm/nano-checkbox.entry.js +4 -2
  360. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  361. package/dist/esm/nano-components.js +5 -5
  362. package/dist/esm/nano-components.js.map +1 -1
  363. package/dist/esm/nano-datalist_3.entry.js +4 -4
  364. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  365. package/dist/esm/nano-date-input.entry.js +1 -1
  366. package/dist/esm/nano-date-picker.entry.js +2 -2
  367. package/dist/esm/nano-date-picker.entry.js.map +1 -1
  368. package/dist/esm/nano-demo.entry.js +1 -1
  369. package/dist/esm/nano-details.entry.js +2 -2
  370. package/dist/esm/nano-details.entry.js.map +1 -1
  371. package/dist/esm/nano-dialog.entry.js +5 -5
  372. package/dist/esm/nano-dialog.entry.js.map +1 -1
  373. package/dist/esm/nano-drawer.entry.js +5 -5
  374. package/dist/esm/nano-drawer.entry.js.map +1 -1
  375. package/dist/esm/nano-dropdown.entry.js +1 -1
  376. package/dist/esm/nano-dropdown.entry.js.map +1 -1
  377. package/dist/esm/nano-field-validator.entry.js +7 -5
  378. package/dist/esm/nano-field-validator.entry.js.map +1 -1
  379. package/dist/esm/nano-file-upload.entry.js +2 -2
  380. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  381. package/dist/esm/nano-global-nav-user-profile_3.entry.js +4 -4
  382. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  383. package/dist/esm/nano-global-nav.entry.js +207 -201
  384. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  385. package/dist/esm/nano-global-search-results.entry.js +9 -10
  386. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  387. package/dist/esm/nano-grid-item.entry.js +1 -1
  388. package/dist/esm/nano-grid_2.entry.js +2 -2
  389. package/dist/esm/nano-grid_2.entry.js.map +1 -1
  390. package/dist/esm/nano-hero.entry.js +2 -2
  391. package/dist/esm/nano-hero.entry.js.map +1 -1
  392. package/dist/esm/nano-icon-button_2.entry.js +24 -4
  393. package/dist/esm/nano-icon-button_2.entry.js.map +1 -1
  394. package/dist/esm/nano-icon.entry.js +4 -4
  395. package/dist/esm/nano-icon.entry.js.map +1 -1
  396. package/dist/esm/nano-input.entry.js +3 -3
  397. package/dist/esm/nano-input.entry.js.map +1 -1
  398. package/dist/esm/nano-menu-drawer.entry.js +2 -2
  399. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  400. package/dist/esm/nano-overflow-nav.entry.js +2 -2
  401. package/dist/esm/nano-overflow-nav.entry.js.map +1 -1
  402. package/dist/esm/nano-progress-bar.entry.js +2 -2
  403. package/dist/esm/nano-progress-bar.entry.js.map +1 -1
  404. package/dist/esm/nano-range.entry.js +2 -2
  405. package/dist/esm/nano-range.entry.js.map +1 -1
  406. package/dist/esm/nano-rating.entry.js +2 -2
  407. package/dist/esm/nano-rating.entry.js.map +1 -1
  408. package/dist/esm/nano-resize-observe_2.entry.js +1 -1
  409. package/dist/esm/nano-slide.entry.js +1 -1
  410. package/dist/esm/nano-slides-9908c44d.js +2970 -0
  411. package/dist/esm/nano-slides-9908c44d.js.map +1 -0
  412. package/dist/esm/nano-slides.entry.js +2 -4295
  413. package/dist/esm/nano-slides.entry.js.map +1 -1
  414. package/dist/esm/nano-sortable.entry.js +1 -1
  415. package/dist/esm/nano-spinner.entry.js +2 -2
  416. package/dist/esm/nano-spinner.entry.js.map +1 -1
  417. package/dist/esm/nano-split-pane.entry.js +1 -1
  418. package/dist/esm/nano-sticker.entry.js +3 -2
  419. package/dist/esm/nano-sticker.entry.js.map +1 -1
  420. package/dist/esm/nano-tab-content.entry.js +1 -1
  421. package/dist/esm/nano-tab-group.entry.js +4 -4
  422. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  423. package/dist/esm/nano-tab.entry.js +2 -2
  424. package/dist/esm/nano-tab.entry.js.map +1 -1
  425. package/dist/esm/{nano-table-673838b5.js → nano-table-55d753cb.js} +5 -5
  426. package/dist/esm/{nano-table-673838b5.js.map → nano-table-55d753cb.js.map} +1 -1
  427. package/dist/esm/nano-table.entry.js +3 -3
  428. package/dist/esm/page-dots-467ace2e.js +138 -0
  429. package/dist/esm/page-dots-467ace2e.js.map +1 -0
  430. package/dist/esm/{scroll-ec7ac257.js → scroll-ac332213.js} +8 -4
  431. package/dist/esm/scroll-ac332213.js.map +1 -0
  432. package/dist/esm/{table.worker-608a4868.js → table.worker-34706ecc.js} +4 -4
  433. package/dist/esm/table.worker-34706ecc.js.map +1 -0
  434. package/dist/nano-components/{p-74a7fc4f.js → active-element-75b7c8a0.js} +1 -1
  435. package/dist/nano-components/algolia-data-1b42827c.js +5 -0
  436. package/dist/nano-components/{p-a26bdb65.js.map → algolia-data-1b42827c.js.map} +1 -1
  437. package/dist/nano-components/algoliasearch-lite.esm.browser-d71a28dc.js +5 -0
  438. package/dist/nano-components/algoliasearch-lite.esm.browser-d71a28dc.js.map +1 -0
  439. package/dist/nano-components/component-store-f7eb0a56.js +5 -0
  440. package/dist/nano-components/{p-dd5687db.js.map → component-store-f7eb0a56.js.map} +1 -1
  441. package/dist/nano-components/{p-cecb9af1.js → date-utils-6b7a6e1f.js} +1 -1
  442. package/dist/nano-components/{p-cdfc507e.js → dom-8599fac1.js} +1 -1
  443. package/dist/nano-components/{p-842cf127.js → drag-1723a4cc.js} +1 -1
  444. package/dist/nano-components/{p-9bfdee71.js → events-6a805b42.js} +1 -1
  445. package/dist/nano-components/fade-1aa7a6db.js +5 -0
  446. package/dist/nano-components/fade-1aa7a6db.js.map +1 -0
  447. package/dist/nano-components/{p-f8f89998.js → focus-visible-8b2c14da.js} +1 -1
  448. package/dist/nano-components/form-control-881fa3af.js +5 -0
  449. package/dist/nano-components/{p-dc805ecc.js.map → form-control-881fa3af.js.map} +1 -1
  450. package/dist/nano-components/fullscreen-86fa276a.js +5 -0
  451. package/dist/nano-components/fullscreen-86fa276a.js.map +1 -0
  452. package/dist/nano-components/{p-d4f6ec9f.js → global-be484e8c.js} +2 -2
  453. package/dist/nano-components/{p-d4f6ec9f.js.map → global-be484e8c.js.map} +1 -1
  454. package/dist/nano-components/index-3003356f.js +5 -0
  455. package/dist/nano-components/{p-70747f20.js.map → index-3003356f.js.map} +1 -1
  456. package/dist/nano-components/{p-d6a04b3a.js → index-9695db0a.js} +2 -2
  457. package/dist/nano-components/{p-d6a04b3a.js.map → index-9695db0a.js.map} +1 -1
  458. package/dist/nano-components/{p-bb07c3d0.js → index-f626f476.js} +1 -1
  459. package/dist/nano-components/index.esm.js +1 -1
  460. package/dist/nano-components/index.esm.js.map +1 -1
  461. package/dist/nano-components/lazyload-994232a6.js +5 -0
  462. package/dist/nano-components/lazyload-994232a6.js.map +1 -0
  463. package/dist/nano-components/{p-2155fc2c.js → local-my-account-6662da72.js} +1 -1
  464. package/dist/nano-components/{p-ee045579.js → math-c02ddfda.js} +1 -1
  465. package/dist/nano-components/modal-bd9638c0.js +5 -0
  466. package/dist/nano-components/{p-2234694a.js.map → modal-bd9638c0.js.map} +1 -1
  467. package/dist/nano-components/nano-accordion.entry.js +5 -0
  468. package/dist/nano-components/{p-9f60ff14.entry.js.map → nano-accordion.entry.js.map} +1 -1
  469. package/dist/nano-components/nano-alert.entry.js +5 -0
  470. package/dist/nano-components/{p-191352c4.entry.js.map → nano-alert.entry.js.map} +1 -1
  471. package/dist/nano-components/nano-algolia-filter.entry.js +5 -0
  472. package/dist/nano-components/nano-algolia-filter.entry.js.map +1 -0
  473. package/dist/nano-components/nano-algolia-pagination.entry.js +5 -0
  474. package/dist/nano-components/nano-algolia-pagination.entry.js.map +1 -0
  475. package/dist/nano-components/nano-algolia-results.entry.js +5 -0
  476. package/dist/nano-components/nano-algolia-results.entry.js.map +1 -0
  477. package/dist/nano-components/nano-algolia.entry.js +5 -0
  478. package/dist/nano-components/nano-algolia.entry.js.map +1 -0
  479. package/dist/nano-components/nano-aspect-ratio.entry.js +5 -0
  480. package/dist/nano-components/{p-87329424.entry.js.map → nano-aspect-ratio.entry.js.map} +1 -1
  481. package/dist/nano-components/nano-checkbox-group.entry.js +5 -0
  482. package/dist/nano-components/nano-checkbox-group.entry.js.map +1 -0
  483. package/dist/nano-components/nano-checkbox.entry.js +5 -0
  484. package/dist/nano-components/nano-checkbox.entry.js.map +1 -0
  485. package/dist/nano-components/nano-components.css +1 -1
  486. package/dist/nano-components/nano-components.esm.js +1 -1
  487. package/dist/nano-components/nano-components.esm.js.map +1 -1
  488. package/dist/nano-components/nano-datalist_3.entry.js +5 -0
  489. package/dist/nano-components/nano-datalist_3.entry.js.map +1 -0
  490. package/dist/nano-components/nano-date-input.entry.js +5 -0
  491. package/dist/nano-components/{p-d4e44f93.entry.js.map → nano-date-input.entry.js.map} +1 -1
  492. package/dist/nano-components/nano-date-picker.entry.js +5 -0
  493. package/dist/nano-components/{p-efd3e121.entry.js.map → nano-date-picker.entry.js.map} +1 -1
  494. package/dist/nano-components/nano-demo.entry.js +5 -0
  495. package/dist/nano-components/{p-e98835e2.entry.js.map → nano-demo.entry.js.map} +1 -1
  496. package/dist/nano-components/nano-details.entry.js +5 -0
  497. package/dist/nano-components/nano-details.entry.js.map +1 -0
  498. package/dist/nano-components/nano-dialog.entry.js +5 -0
  499. package/dist/nano-components/{p-79fff4fd.entry.js.map → nano-dialog.entry.js.map} +1 -1
  500. package/dist/nano-components/nano-drawer.entry.js +5 -0
  501. package/dist/nano-components/nano-drawer.entry.js.map +1 -0
  502. package/dist/nano-components/nano-dropdown.entry.js +5 -0
  503. package/dist/nano-components/nano-dropdown.entry.js.map +1 -0
  504. package/dist/nano-components/nano-field-validator.entry.js +5 -0
  505. package/dist/nano-components/nano-field-validator.entry.js.map +1 -0
  506. package/dist/nano-components/nano-file-upload.entry.js +5 -0
  507. package/dist/nano-components/nano-file-upload.entry.js.map +1 -0
  508. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +5 -0
  509. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +1 -0
  510. package/dist/nano-components/nano-global-nav.entry.js +5 -0
  511. package/dist/nano-components/nano-global-nav.entry.js.map +1 -0
  512. package/dist/nano-components/nano-global-search-results.entry.js +5 -0
  513. package/dist/nano-components/nano-global-search-results.entry.js.map +1 -0
  514. package/dist/nano-components/nano-grid-item.entry.js +5 -0
  515. package/dist/nano-components/{p-9c290055.entry.js.map → nano-grid-item.entry.js.map} +1 -1
  516. package/dist/nano-components/nano-grid_2.entry.js +5 -0
  517. package/dist/nano-components/{p-7c82af28.entry.js.map → nano-grid_2.entry.js.map} +1 -1
  518. package/dist/nano-components/nano-hero.entry.js +5 -0
  519. package/dist/nano-components/{p-328ef9d3.entry.js.map → nano-hero.entry.js.map} +1 -1
  520. package/dist/nano-components/nano-icon-button_2.entry.js +5 -0
  521. package/dist/nano-components/nano-icon-button_2.entry.js.map +1 -0
  522. package/dist/nano-components/nano-icon.entry.js +5 -0
  523. package/dist/nano-components/nano-icon.entry.js.map +1 -0
  524. package/dist/nano-components/nano-input.entry.js +5 -0
  525. package/dist/nano-components/nano-input.entry.js.map +1 -0
  526. package/dist/nano-components/nano-menu-drawer.entry.js +5 -0
  527. package/dist/nano-components/nano-menu-drawer.entry.js.map +1 -0
  528. package/dist/nano-components/nano-overflow-nav.entry.js +5 -0
  529. package/dist/nano-components/nano-overflow-nav.entry.js.map +1 -0
  530. package/dist/nano-components/nano-progress-bar.entry.js +5 -0
  531. package/dist/nano-components/nano-progress-bar.entry.js.map +1 -0
  532. package/dist/nano-components/nano-range.entry.js +5 -0
  533. package/dist/nano-components/nano-range.entry.js.map +1 -0
  534. package/dist/nano-components/nano-rating.entry.js +5 -0
  535. package/dist/nano-components/nano-rating.entry.js.map +1 -0
  536. package/dist/nano-components/nano-resize-observe_2.entry.js +5 -0
  537. package/dist/nano-components/{p-e6a0675e.entry.js.map → nano-resize-observe_2.entry.js.map} +1 -1
  538. package/dist/nano-components/nano-slide.entry.js +5 -0
  539. package/dist/nano-components/{p-3d8fb8a1.entry.js.map → nano-slide.entry.js.map} +1 -1
  540. package/dist/nano-components/nano-slides-9908c44d.js +20 -0
  541. package/dist/nano-components/nano-slides-9908c44d.js.map +1 -0
  542. package/dist/nano-components/nano-slides.entry.js +5 -0
  543. package/dist/nano-components/nano-sortable.entry.js +5 -0
  544. package/dist/nano-components/{p-3ae362ae.entry.js.map → nano-sortable.entry.js.map} +1 -1
  545. package/dist/nano-components/nano-spinner.entry.js +5 -0
  546. package/dist/nano-components/{p-9925e504.entry.js.map → nano-spinner.entry.js.map} +1 -1
  547. package/dist/nano-components/nano-split-pane.entry.js +5 -0
  548. package/dist/nano-components/{p-6c4171fa.entry.js.map → nano-split-pane.entry.js.map} +1 -1
  549. package/dist/nano-components/nano-sticker.entry.js +5 -0
  550. package/dist/nano-components/nano-sticker.entry.js.map +1 -0
  551. package/dist/nano-components/nano-tab-content.entry.js +5 -0
  552. package/dist/nano-components/{p-3f40e370.entry.js.map → nano-tab-content.entry.js.map} +1 -1
  553. package/dist/nano-components/nano-tab-group.entry.js +5 -0
  554. package/dist/nano-components/nano-tab-group.entry.js.map +1 -0
  555. package/dist/nano-components/nano-tab.entry.js +5 -0
  556. package/dist/nano-components/{p-3cac5f6d.entry.js.map → nano-tab.entry.js.map} +1 -1
  557. package/dist/nano-components/nano-table-55d753cb.js +5 -0
  558. package/dist/nano-components/nano-table-55d753cb.js.map +1 -0
  559. package/dist/nano-components/nano-table.entry.js +5 -0
  560. package/dist/nano-components/page-dots-467ace2e.js +5 -0
  561. package/dist/nano-components/page-dots-467ace2e.js.map +1 -0
  562. package/dist/nano-components/{p-cd1fd454.js → popover-e5e7a641.js} +1 -1
  563. package/dist/nano-components/scroll-ac332213.js +5 -0
  564. package/dist/nano-components/scroll-ac332213.js.map +1 -0
  565. package/dist/nano-components/{p-dc565459.js → slot-8126e238.js} +1 -1
  566. package/dist/nano-components/{p-f88fa15c.js → tabbable-26a66a22.js} +1 -1
  567. package/dist/nano-components/table.worker-34706ecc.js +5 -0
  568. package/dist/nano-components/{p-411bb8f1.js → theme-82feb8cf.js} +1 -1
  569. package/dist/nano-components/{p-7bff5224.js → throttle-ac4fcefa.js} +1 -1
  570. package/dist/nano-components/{p-c3e8e3f9.js → transitions-fb09eb32.js} +1 -1
  571. package/dist/themes/nanopore.cn.css +1 -1
  572. package/dist/themes/nanopore.cn.css.map +1 -1
  573. package/dist/themes/nanopore.css +1 -1
  574. package/dist/themes/nanopore.css.map +1 -1
  575. package/dist/types/components/algolia/algolia-data.d.ts +1 -1
  576. package/dist/types/components/algolia/algolia-filter.d.ts +1 -1
  577. package/dist/types/components/algolia/algolia-interface.d.ts +8 -2
  578. package/dist/types/components/algolia/algolia-pagination.d.ts +1 -1
  579. package/dist/types/components/algolia/algolia-results.d.ts +1 -1
  580. package/dist/types/components/algolia/algolia.d.ts +4 -11
  581. package/dist/types/components/algolia/lib/squirrelly/browser.d.ts +6 -0
  582. package/dist/types/components/algolia/lib/squirrelly/compile-string.d.ts +5 -0
  583. package/dist/types/components/algolia/lib/squirrelly/compile.d.ts +3 -0
  584. package/dist/types/components/algolia/lib/squirrelly/config.d.ts +48 -0
  585. package/dist/types/components/algolia/lib/squirrelly/container-utils.d.ts +8 -0
  586. package/dist/types/components/algolia/lib/squirrelly/containers.d.ts +18 -0
  587. package/dist/types/components/algolia/lib/squirrelly/err.d.ts +6 -0
  588. package/dist/types/components/algolia/lib/squirrelly/parse.d.ts +23 -0
  589. package/dist/types/components/algolia/lib/squirrelly/render.d.ts +3 -0
  590. package/dist/types/components/algolia/lib/squirrelly/storage.d.ts +13 -0
  591. package/dist/types/components/algolia/lib/squirrelly/utils.d.ts +8 -0
  592. package/dist/types/components/algolia/lib/template.d.ts +2 -0
  593. package/dist/types/components/checkbox/checkbox-group.d.ts +5 -0
  594. package/dist/types/components/global-nav/global-nav.d.ts +47 -20
  595. package/dist/types/components/slides/lib/js/animate.d.ts +2 -0
  596. package/dist/types/components/slides/lib/js/cell.d.ts +1 -0
  597. package/dist/types/components/slides/lib/js/drag.d.ts +1 -0
  598. package/dist/types/components/slides/lib/js/fade.d.ts +1 -0
  599. package/dist/types/components/slides/lib/js/flickity.d.ts +23 -0
  600. package/dist/types/components/slides/lib/js/fullscreen.d.ts +1 -0
  601. package/dist/types/components/slides/lib/js/index.d.ts +5 -0
  602. package/dist/types/components/slides/lib/js/lazyload.d.ts +1 -0
  603. package/dist/types/components/slides/lib/js/page-dots.d.ts +1 -0
  604. package/dist/types/components/slides/lib/js/player.d.ts +1 -0
  605. package/dist/types/components/slides/lib/js/prev-next-button.d.ts +1 -0
  606. package/dist/types/components/slides/lib/js/slide.d.ts +1 -0
  607. package/dist/types/components/slides/lib/js/utils/event-emitter.d.ts +1 -0
  608. package/dist/types/components/slides/lib/js/utils/gestures.d.ts +26 -0
  609. package/dist/types/components/slides/lib/js/utils/get-size.d.ts +6 -0
  610. package/dist/types/components/slides/lib/js/utils/utils.d.ts +5 -0
  611. package/dist/types/components/slides/slides-interface.d.ts +17 -7
  612. package/dist/types/components/slides/slides.d.ts +5 -0
  613. package/dist/types/components.d.ts +12 -137
  614. package/dist/types/utils/scroll.d.ts +5 -1
  615. package/docs-json.json +37 -280
  616. package/docs-vscode.json +6 -63
  617. package/hydrate/index.js +3502 -3443
  618. package/package.json +5 -8
  619. package/dist/cjs/_commonjsHelpers-29614748.js +0 -30
  620. package/dist/cjs/_commonjsHelpers-29614748.js.map +0 -1
  621. package/dist/cjs/algoliasearch-lite.esm.browser-992a2eff.js.map +0 -1
  622. package/dist/cjs/index-1d3ebe1a.js.map +0 -1
  623. package/dist/cjs/nano-algolia-input.cjs.entry.js +0 -168
  624. package/dist/cjs/nano-algolia-input.cjs.entry.js.map +0 -1
  625. package/dist/cjs/scroll-fc1b8387.js.map +0 -1
  626. package/dist/cjs/table.worker-da980a2f.js.map +0 -1
  627. package/dist/collection/components/algolia/algolia-input.js +0 -463
  628. package/dist/collection/components/algolia/algolia-input.js.map +0 -1
  629. package/dist/collection/components/slides/lib/js/add-remove-cell.js +0 -128
  630. package/dist/collection/components/slides/lib/js/images-loaded.js +0 -24
  631. package/dist/collection/components/slides/slides-interface.js +0 -2
  632. package/dist/collection/components/slides/slides-interface.js.map +0 -1
  633. package/dist/collection/utils/template.js.map +0 -1
  634. package/dist/components/_commonjsHelpers.js +0 -26
  635. package/dist/components/_commonjsHelpers.js.map +0 -1
  636. package/dist/components/nano-algolia-input.d.ts +0 -11
  637. package/dist/components/nano-algolia-input.js +0 -195
  638. package/dist/components/nano-algolia-input.js.map +0 -1
  639. package/dist/esm/_commonjsHelpers-04a0e019.js +0 -26
  640. package/dist/esm/_commonjsHelpers-04a0e019.js.map +0 -1
  641. package/dist/esm/algoliasearch-lite.esm.browser-04891fdc.js.map +0 -1
  642. package/dist/esm/index-06666022.js.map +0 -1
  643. package/dist/esm/nano-algolia-input.entry.js +0 -164
  644. package/dist/esm/nano-algolia-input.entry.js.map +0 -1
  645. package/dist/esm/scroll-ec7ac257.js.map +0 -1
  646. package/dist/esm/table.worker-608a4868.js.map +0 -1
  647. package/dist/nano-components/p-02b727d3.entry.js +0 -5
  648. package/dist/nano-components/p-02b727d3.entry.js.map +0 -1
  649. package/dist/nano-components/p-0563e812.entry.js +0 -5
  650. package/dist/nano-components/p-0563e812.entry.js.map +0 -1
  651. package/dist/nano-components/p-06c85b64.js +0 -5
  652. package/dist/nano-components/p-0b7c676c.entry.js +0 -5
  653. package/dist/nano-components/p-0bc40dd1.entry.js +0 -5
  654. package/dist/nano-components/p-0bc40dd1.entry.js.map +0 -1
  655. package/dist/nano-components/p-0e0f07f0.entry.js +0 -5
  656. package/dist/nano-components/p-0e0f07f0.entry.js.map +0 -1
  657. package/dist/nano-components/p-0e4da739.entry.js +0 -5
  658. package/dist/nano-components/p-0e4da739.entry.js.map +0 -1
  659. package/dist/nano-components/p-16e75af9.entry.js +0 -5
  660. package/dist/nano-components/p-16e75af9.entry.js.map +0 -1
  661. package/dist/nano-components/p-17eb456c.entry.js +0 -5
  662. package/dist/nano-components/p-17eb456c.entry.js.map +0 -1
  663. package/dist/nano-components/p-191352c4.entry.js +0 -5
  664. package/dist/nano-components/p-1a55e282.entry.js +0 -5
  665. package/dist/nano-components/p-1a55e282.entry.js.map +0 -1
  666. package/dist/nano-components/p-2234694a.js +0 -5
  667. package/dist/nano-components/p-24dcd788.entry.js +0 -5
  668. package/dist/nano-components/p-24dcd788.entry.js.map +0 -1
  669. package/dist/nano-components/p-2a105609.entry.js +0 -5
  670. package/dist/nano-components/p-2a105609.entry.js.map +0 -1
  671. package/dist/nano-components/p-328ef9d3.entry.js +0 -5
  672. package/dist/nano-components/p-359b7cd2.entry.js +0 -5
  673. package/dist/nano-components/p-359b7cd2.entry.js.map +0 -1
  674. package/dist/nano-components/p-36c3ded8.entry.js +0 -5
  675. package/dist/nano-components/p-36c3ded8.entry.js.map +0 -1
  676. package/dist/nano-components/p-3ae362ae.entry.js +0 -5
  677. package/dist/nano-components/p-3cac5f6d.entry.js +0 -5
  678. package/dist/nano-components/p-3d8fb8a1.entry.js +0 -5
  679. package/dist/nano-components/p-3eeaba47.entry.js +0 -5
  680. package/dist/nano-components/p-3eeaba47.entry.js.map +0 -1
  681. package/dist/nano-components/p-3f40e370.entry.js +0 -5
  682. package/dist/nano-components/p-51133e62.entry.js +0 -5
  683. package/dist/nano-components/p-51133e62.entry.js.map +0 -1
  684. package/dist/nano-components/p-54c4a2f5.entry.js +0 -5
  685. package/dist/nano-components/p-54c4a2f5.entry.js.map +0 -1
  686. package/dist/nano-components/p-5fc3035d.entry.js +0 -5
  687. package/dist/nano-components/p-5fc3035d.entry.js.map +0 -1
  688. package/dist/nano-components/p-650aa197.entry.js +0 -5
  689. package/dist/nano-components/p-650aa197.entry.js.map +0 -1
  690. package/dist/nano-components/p-67ab5a5f.entry.js +0 -5
  691. package/dist/nano-components/p-67ab5a5f.entry.js.map +0 -1
  692. package/dist/nano-components/p-688f1a55.entry.js +0 -5
  693. package/dist/nano-components/p-688f1a55.entry.js.map +0 -1
  694. package/dist/nano-components/p-6c4171fa.entry.js +0 -5
  695. package/dist/nano-components/p-70747f20.js +0 -5
  696. package/dist/nano-components/p-7670058b.entry.js +0 -5
  697. package/dist/nano-components/p-7670058b.entry.js.map +0 -1
  698. package/dist/nano-components/p-79fff4fd.entry.js +0 -5
  699. package/dist/nano-components/p-7c82af28.entry.js +0 -5
  700. package/dist/nano-components/p-7dd30a3f.entry.js +0 -7
  701. package/dist/nano-components/p-7dd30a3f.entry.js.map +0 -1
  702. package/dist/nano-components/p-842f826a.entry.js +0 -5
  703. package/dist/nano-components/p-842f826a.entry.js.map +0 -1
  704. package/dist/nano-components/p-87329424.entry.js +0 -5
  705. package/dist/nano-components/p-8fe51abf.js +0 -5
  706. package/dist/nano-components/p-935968b8.entry.js +0 -23
  707. package/dist/nano-components/p-935968b8.entry.js.map +0 -1
  708. package/dist/nano-components/p-9925e504.entry.js +0 -5
  709. package/dist/nano-components/p-9c290055.entry.js +0 -5
  710. package/dist/nano-components/p-9f60ff14.entry.js +0 -5
  711. package/dist/nano-components/p-a225e976.entry.js +0 -5
  712. package/dist/nano-components/p-a225e976.entry.js.map +0 -1
  713. package/dist/nano-components/p-a26bdb65.js +0 -5
  714. package/dist/nano-components/p-b27b56d3.js +0 -5
  715. package/dist/nano-components/p-b27b56d3.js.map +0 -1
  716. package/dist/nano-components/p-c80336b2.entry.js +0 -5
  717. package/dist/nano-components/p-c80336b2.entry.js.map +0 -1
  718. package/dist/nano-components/p-cad86fb8.js +0 -5
  719. package/dist/nano-components/p-cad86fb8.js.map +0 -1
  720. package/dist/nano-components/p-d18c0a7a.js +0 -5
  721. package/dist/nano-components/p-d18c0a7a.js.map +0 -1
  722. package/dist/nano-components/p-d4e44f93.entry.js +0 -5
  723. package/dist/nano-components/p-dc805ecc.js +0 -5
  724. package/dist/nano-components/p-dd5687db.js +0 -5
  725. package/dist/nano-components/p-e6a0675e.entry.js +0 -5
  726. package/dist/nano-components/p-e98835e2.entry.js +0 -5
  727. package/dist/nano-components/p-efd3e121.entry.js +0 -5
  728. package/dist/nano-components/p-f73f52ed.entry.js +0 -5
  729. package/dist/nano-components/p-f73f52ed.entry.js.map +0 -1
  730. package/dist/nano-components/p-fcbc9122.entry.js +0 -5
  731. package/dist/nano-components/p-fcbc9122.entry.js.map +0 -1
  732. package/dist/types/components/algolia/algolia-input.d.ts +0 -103
  733. package/dist/types/utils/template.d.ts +0 -2
  734. /package/dist/nano-components/{p-74a7fc4f.js.map → active-element-75b7c8a0.js.map} +0 -0
  735. /package/dist/nano-components/{p-cecb9af1.js.map → date-utils-6b7a6e1f.js.map} +0 -0
  736. /package/dist/nano-components/{p-cdfc507e.js.map → dom-8599fac1.js.map} +0 -0
  737. /package/dist/nano-components/{p-842cf127.js.map → drag-1723a4cc.js.map} +0 -0
  738. /package/dist/nano-components/{p-9bfdee71.js.map → events-6a805b42.js.map} +0 -0
  739. /package/dist/nano-components/{p-f8f89998.js.map → focus-visible-8b2c14da.js.map} +0 -0
  740. /package/dist/nano-components/{p-bb07c3d0.js.map → index-f626f476.js.map} +0 -0
  741. /package/dist/nano-components/{p-06c85b64.js.map → local-my-account-6662da72.js.map} +0 -0
  742. /package/dist/nano-components/{p-ee045579.js.map → math-c02ddfda.js.map} +0 -0
  743. /package/dist/nano-components/{p-0b7c676c.entry.js.map → nano-slides.entry.js.map} +0 -0
  744. /package/dist/nano-components/{p-2155fc2c.js.map → nano-table.entry.js.map} +0 -0
  745. /package/dist/nano-components/{p-cd1fd454.js.map → popover-e5e7a641.js.map} +0 -0
  746. /package/dist/nano-components/{p-dc565459.js.map → slot-8126e238.js.map} +0 -0
  747. /package/dist/nano-components/{p-f88fa15c.js.map → tabbable-26a66a22.js.map} +0 -0
  748. /package/dist/nano-components/{p-8fe51abf.js.map → table.worker-34706ecc.js.map} +0 -0
  749. /package/dist/nano-components/{p-f258383d.js → table.worker-f258383d.js} +0 -0
  750. /package/dist/nano-components/{p-411bb8f1.js.map → theme-82feb8cf.js.map} +0 -0
  751. /package/dist/nano-components/{p-7bff5224.js.map → throttle-ac4fcefa.js.map} +0 -0
  752. /package/dist/nano-components/{p-c3e8e3f9.js.map → transitions-fb09eb32.js.map} +0 -0
@@ -1,5 +0,0 @@
1
- /*!
2
- * Web Components for Nanopore digital Web Apps
3
- */
4
- import{h as e,r as t,c as a,a as s,g as i}from"./p-d6a04b3a.js";import{i as n,g as o,b as d,p as r,D as l,d as c,s as h,e as u,f as b,h as p,j as _,k as f,l as v,a as g}from"./p-cecb9af1.js";import{f as y}from"./p-f8f89998.js";import{c as m}from"./p-411bb8f1.js";const x={buttonLabel:"Choose date",placeholder:"YYYY-MM-DD",selectedDateMessage:"Selected date is",prevMonthLabel:"Previous month",nextMonthLabel:"Next month",monthSelectLabel:"Month",yearSelectLabel:"Year",closeLabel:"Close window",keyboardInstruction:"You can use arrow keys to navigate dates",calendarHeading:"Choose a date",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]};const k=({focusedDay:t,today:a,day:s,onDaySelect:i,onKeyboardNavigation:o,focusedDayRef:d,inRange:r,disabled:l,isSelected:c})=>{const h=n(s,a);const u=n(s,t);const b=s.getMonth()!==t.getMonth()||l;const p=!r;function _(e){i(e,s)}return e("button",{class:{"duet-date__day":true,"is-outside":p,"is-disabled":b,"is-today":h},tabIndex:u?0:-1,onClick:_,onKeyDown:o,disabled:p,type:"button","aria-pressed":c?"true":"false",ref:e=>{if(u&&e&&d){d(e)}}},e("span",{"aria-hidden":"true"},s.getDate()),e("span",{class:"duet-date__vhidden"},s.toLocaleDateString(undefined,{day:"numeric",month:"long"})))};function w(e,t){const a=[];for(let s=0;s<e.length;s+=t){a.push(e.slice(s,s+t))}return a}function D(e,t,a){return e.map(((s,i)=>{const n=(i+t)%e.length;return a(e[n])}))}const z=({selectedDate:t,focusedDate:a,labelledById:s,localization:i,firstDayOfWeek:r,min:l,max:c,onDateSelect:h,onKeyboardNavigation:u,focusedDayRef:b,onMouseDown:p,onFocusIn:_,isDateDisabled:f})=>{const v=new Date;const g=o(a,r);return e("table",{class:"duet-date__table",role:"grid","aria-labelledby":s,onFocusin:_,onMouseDown:p},e("thead",null,e("tr",null,D(i.dayNames,r,(t=>e("th",{class:"duet-date__table-header",scope:"col"},e("span",{"aria-hidden":"true"},t.substr(0,2)),e("span",{class:"duet-date__vhidden"},t)))))),e("tbody",null,w(g,7).map((s=>e("tr",{class:"duet-date__row"},s.map((s=>e("td",{class:"duet-date__cell",role:"gridcell","aria-selected":n(s,t)?"true":undefined},e(k,{day:s,today:v,focusedDay:a,inRange:d(s,l,c),onDaySelect:h,onKeyboardNavigation:u,focusedDayRef:b,disabled:f(s),isSelected:n(s,t)})))))))))};const M=':host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{--background:var(--nano-layer-bg, #fff);--active-color:var(--nano-color-base, var(--nano-color-primary, #007495));--active-text-color:var(\n --nano-color-contrast,\n var(--nano-color-primary-contrast, #fff)\n );--focus-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)));--inactive-color:var(--nano-button-color, #f0efed);display:block;font-size:16px}:host(.nano-color){--active-color:var(--nano-color-base, var(--nano-color-primary, #007495));--active-text-color:var(--nano-color-contrast);--focus-shadow:0 0 0 0.1875rem rgb(var(--nano-color-tint-rgb)/0.56)}.duet-date *,.duet-date *::before,.duet-date *::after{box-sizing:border-box;margin:0}.duet-date{box-sizing:border-box;color:currentcolor;display:block;margin:0;position:relative;text-align:start;inline-size:100%}.duet-date__dialog{display:flex;inset-block-start:100%;max-inline-size:100%;inline-size:100%}.duet-date__dialog.is-left{inset-inline:auto 0;inline-size:auto}.duet-date__dialog-content{background:var(--background);min-inline-size:290px;padding-block:16px 20px;padding-inline:16px;position:relative;transform:none;max-inline-size:100%;inline-size:100%}.duet-date__table{border-collapse:collapse;border-spacing:0;font-size:1em;line-height:1.25;text-align:center;inline-size:100%}.duet-date__table-header{font-size:0.75em;font-weight:600;letter-spacing:1px;line-height:1.25;-webkit-padding-after:8px;padding-block-end:8px;text-decoration:none;text-transform:uppercase}.duet-date__cell{text-align:center}.duet-date__day{-webkit-appearance:none;appearance:none;background:transparent;border:0;border-radius:50%;cursor:pointer;display:inline-block;font-size:0.875em;font-variant-numeric:tabular-nums;line-height:1.25;position:relative;text-align:center;vertical-align:middle;z-index:1;transition:0.15s ease all;block-size:2.5em;inline-size:2.5em}.duet-date__day.is-today{box-shadow:0 0 0 1px var(--active-color);position:relative}.duet-date__day:hover::before,.duet-date__day.is-today::before{content:"";background:var(--active-color);border-radius:50%;opacity:0.16;position:absolute;inset:0}[aria-selected=true] .duet-date__day{background:var(--active-color) !important;color:var(--active-text-color);box-shadow:none;outline:0}.duet-date__day:active{background:var(--active-color);box-shadow:var(--focus-shadow);color:var(--active-text-color)}.duet-date__day:focus{box-shadow:var(--focus-shadow);outline:0}.duet-date__day.is-disabled{background:transparent;box-shadow:none;cursor:default;opacity:0.5}.duet-date__day.is-disabled::before{display:none}.duet-date__day.is-outside{background:var(--inactive-color);box-shadow:none;cursor:default;opacity:0.6;pointer-events:none}.duet-date__day.is-outside::before{display:none}.duet-date__header{align-items:center;display:flex;justify-content:space-between;-webkit-margin-after:16px;margin-block-end:16px;inline-size:100%}.duet-date__nav{white-space:nowrap}.duet-date__prev,.duet-date__next{background:var(--inactive-color);align-items:center;-webkit-appearance:none;appearance:none;border:0;border-radius:50%;cursor:pointer;display:inline-flex;justify-content:space-around;-webkit-margin-start:8px;margin-inline-start:8px;padding:0;transition:background-color 300ms ease;font-size:0.9em;block-size:2.2em;inline-size:2.2em}.duet-date__prev:focus,.duet-date__next:focus{box-shadow:var(--focus-shadow);outline:0}.duet-date__prev:active:focus,.duet-date__next:active:focus{box-shadow:none}.duet-date__prev:disabled,.duet-date__next:disabled{cursor:default;opacity:0.5}.duet-date__prev nano-icon,.duet-date__next nano-icon{margin-block:0;margin-inline:auto}.duet-date__select{display:inline-flex;-webkit-margin-before:4px;margin-block-start:4px;position:relative}.duet-date__select span{-webkit-margin-end:4px;margin-inline-end:4px}.duet-date__select select{cursor:pointer;font-size:1em;block-size:100%;inset-inline-start:0;opacity:0;position:absolute;inset-block-start:0;inline-size:100%;z-index:2}.duet-date__select select.focus-visible:focus+.duet-date__select-label{box-shadow:var(--focus-shadow)}.duet-date__select-label{align-items:center;border-radius:4px;display:flex;font-size:1.25em;font-weight:600;line-height:1.25;padding-block:0;padding-inline:8px 4px;pointer-events:none;position:relative;inline-size:100%;z-index:1}.duet-date__select-label nano-icon{font-size:0.55em}.duet-date__vhidden{border:0;clip:rect(1px, 1px, 1px, 1px);block-size:1px;overflow:hidden;padding:0;position:absolute;inset-block-start:0;inline-size:1px}';function S(e,t){const a=[];for(let s=e;s<=t;s++){a.push(s)}return a}let C=0;const F=class{constructor(e){t(this,e);this.nanoDatePicked=a(this,"nanoDatePicked",7);this.dateId=`nano-datepicker-${C++}`;this.monthSelectId=this.dateId+"-"+"month";this.yearSelectId=this.dateId+"-"+"year";this.dialogLabelId=this.dateId+"-"+"dialog";this.initialTouchX=null;this.initialTouchY=null;this.enableActiveFocus=()=>{this.activeFocus=true};this.disableActiveFocus=()=>{this.activeFocus=false};this.handleTouchStart=e=>{const t=e.changedTouches[0];this.initialTouchX=t.pageX;this.initialTouchY=t.pageY};this.handleTouchMove=e=>{e.preventDefault()};this.handleTouchEnd=e=>{const t=e.changedTouches[0];const a=t.pageX-this.initialTouchX;const s=t.pageY-this.initialTouchY;const i=70;const n=Math.abs(a)>=i&&Math.abs(s)<=i;if(n){this.addMonths(a<0?1:-1)}this.initialTouchY=null;this.initialTouchX=null};this.handleNextMonthClick=e=>{e.preventDefault();this.addMonths(1)};this.handlePreviousMonthClick=e=>{e.preventDefault();this.addMonths(-1)};this.handleKeyboardNavigation=e=>{if(e.key==="Tab"&&!e.shiftKey&&this.isModal){e.preventDefault();const t=this.firstFocusEle||this.firstFocusableElement;t.focus();return}let t=true;switch(e.key){case"ArrowRight":this.addDays(1);break;case"ArrowLeft":this.addDays(-1);break;case"ArrowDown":this.addDays(7);break;case"ArrowUp":this.addDays(-7);break;case"PageUp":if(e.shiftKey){this.addYears(-1)}else{this.addMonths(-1)}break;case"PageDown":if(e.shiftKey){this.addYears(1)}else{this.addMonths(1)}break;case"Home":this.startOfWeek();break;case"End":this.endOfWeek();break;default:t=false}if(t){e.preventDefault();this.enableActiveFocus()}};this.handleDaySelect=(e,t)=>{const a=!this.isDateDisabled(t);const s=d(t,r(this.min),r(this.max));if(!s||!a){return}if(t.getMonth()===this.focusedDay.getMonth()){this.setValue(t)}else{this.setFocusedDay(t)}};this.handleMonthSelect=e=>{this.setMonth(parseInt(e.target.value,10))};this.handleYearSelect=e=>{this.setYear(parseInt(e.target.value,10))};this.processFocusedDayNode=e=>{this.focusedDayNode=e;if(this.activeFocus){setTimeout((()=>e.focus()),0)}};this.activeFocus=false;this.focusedDay=new Date;this.selectedDate="";this.min="";this.max="";this.firstDayOfWeek=l.Monday;this.localization=x;this.color=undefined;this.isDateDisabled=()=>false;this.isModal=false;this.firstFocusEle=undefined}async setFocus(e=false,t=false){this.setFocusedDay(r(this.selectedDate)||new Date);if(e){setTimeout((e=>this.focusedDayNode.focus()),20);return}clearTimeout(this.focusTimeoutId);this.focusTimeoutId=setTimeout((()=>{if(t)y.force(this.monthSelectNode);this.monthSelectNode.focus()}),20)}handleSelectedDateChange(){this.setFocus(true)}addDays(e){this.setFocusedDay(c(this.focusedDay,e))}addMonths(e){this.setMonth(this.focusedDay.getMonth()+e)}addYears(e){this.setYear(this.focusedDay.getFullYear()+e)}startOfWeek(){this.setFocusedDay(h(this.focusedDay,this.firstDayOfWeek))}endOfWeek(){this.setFocusedDay(u(this.focusedDay,this.firstDayOfWeek))}setMonth(e){const t=b(p(this.focusedDay),e);const a=_(t);const s=b(this.focusedDay,e);this.setFocusedDay(f(s,t,a))}setYear(e){const t=v(p(this.focusedDay),e);const a=_(t);const s=v(this.focusedDay,e);this.setFocusedDay(f(s,t,a))}setFocusedDay(e){this.focusedDay=f(e,r(this.min),r(this.max))}setValue(e){this.selectedDate=g(e);this.nanoDatePicked.emit({value:this.selectedDate,valueAsDate:e})}connectedCallback(){if(this.yearSelectNode)y.observe(this.yearSelectNode);if(this.monthSelectNode)y.observe(this.monthSelectNode)}componentWillLoad(){this.handleSelectedDateChange()}componentDidLoad(){this.connectedCallback()}disconnectedCallback(){y.unobserve(this.yearSelectNode);y.unobserve(this.monthSelectNode)}render(){const t=r(this.selectedDate);const a=(t||this.focusedDay).getFullYear();const i=this.focusedDay.getMonth();const n=this.focusedDay.getFullYear();const o=r(this.min);const l=r(this.max);const c=o!=null&&o.getMonth()===i&&o.getFullYear()===n;const h=l!=null&&l.getMonth()===i&&l.getFullYear()===n;let u=a-10;let b=a+10;if(o)u=o.getFullYear();if(l)b=l.getFullYear();return e(s,{class:Object.assign({},m(this.color))},e("div",{class:"duet-date"},e("div",{class:{"duet-date__dialog":true,"is-active":true},onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd},e("div",{class:"duet-date__dialog-content"},e("div",{class:"duet-date__vhidden duet-date__instructions","aria-live":"polite"},this.localization.keyboardInstruction),e("div",{class:"duet-date__header",onFocusin:this.disableActiveFocus},e("div",null,e("h2",{id:this.dialogLabelId,class:"duet-date__vhidden","aria-live":"polite"},this.localization.monthNames[i]," ",this.focusedDay.getFullYear()),e("label",{htmlFor:this.monthSelectId,class:"duet-date__vhidden"},this.localization.monthSelectLabel),e("div",{class:"duet-date__select"},e("select",{id:this.monthSelectId,class:"duet-date__select--month",ref:e=>this.firstFocusableElement=this.monthSelectNode=e,onChange:this.handleMonthSelect},this.localization.monthNames.map(((t,a)=>e("option",{key:t,value:a,selected:a===i,disabled:!d(new Date(n,a,1),o?p(o):null,l?_(l):null)},t)))),e("div",{class:"duet-date__select-label","aria-hidden":"true"},e("span",null,this.localization.monthNamesShort[i]),e("nano-icon",{name:"light/chevron-down"}))),e("label",{htmlFor:this.yearSelectId,class:"duet-date__vhidden"},this.localization.yearSelectLabel),e("div",{class:"duet-date__select"},e("select",{id:this.yearSelectId,class:"duet-date__select--year",onChange:this.handleYearSelect,ref:e=>this.yearSelectNode=e},S(u,b).map((t=>e("option",{key:t,selected:t===n},t)))),e("div",{class:"duet-date__select-label","aria-hidden":"true"},e("span",null,this.focusedDay.getFullYear()),e("nano-icon",{name:"light/chevron-down"})))),e("div",{class:"duet-date__nav"},e("button",{class:"duet-date__prev",onClick:this.handlePreviousMonthClick,disabled:c,type:"button"},e("nano-icon",{name:"light/chevron-left"}),e("span",{class:"duet-date__vhidden"},this.localization.prevMonthLabel)),e("button",{class:"duet-date__next",onClick:this.handleNextMonthClick,disabled:h,type:"button"},e("nano-icon",{name:"light/chevron-right"}),e("span",{class:"duet-date__vhidden"},this.localization.nextMonthLabel)))),e("div",null,e(z,{selectedDate:t,focusedDate:this.focusedDay,onDateSelect:this.handleDaySelect,onKeyboardNavigation:this.handleKeyboardNavigation,labelledById:this.dialogLabelId,localization:this.localization,firstDayOfWeek:this.firstDayOfWeek,focusedDayRef:this.processFocusedDayNode,min:o,max:l,isDateDisabled:this.isDateDisabled}))))))}get host(){return i(this)}static get watchers(){return{selectedDate:["handleSelectedDateChange"]}}};F.style=M;export{F as nano_date_picker};
5
- //# sourceMappingURL=p-efd3e121.entry.js.map
@@ -1,5 +0,0 @@
1
- /*!
2
- * Web Components for Nanopore digital Web Apps
3
- */
4
- import{r as t,c as i,h as s,a as e,g as h}from"./p-d6a04b3a.js";import{a as n}from"./p-cdfc507e.js";import{d as o}from"./p-7bff5224.js";const r=':host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{--stuck-left:initial;--stuck-right:initial;--stuck-z-index:var(--nano-layer-index-menubar, 10);--top-hide:translateY(-110%);--bottom-hide:translateY(110%);display:block;max-inline-size:100%}:host([sticky]){position:sticky;transition:0.3s ease transform;will-change:min-block-size}:host([sticky][stuck]){inset-inline:var(--stuck-left) var(--stuck-right);z-index:var(--stuck-z-index) !important}:host([sticky][hide][placed-top]){transform:var(--top-hide)}:host([sticky][hide][placed-bottom]){transform:var(--bottom-hide)}:host([sticky][index="1"]){z-index:calc(var(--stuck-z-index) + 1)}:host([sticky][index="2"]){z-index:calc(var(--stuck-z-index) + 2)}:host([sticky][index="3"]){z-index:calc(var(--stuck-z-index) + 3)}:host([sticky][index="4"]){z-index:calc(var(--stuck-z-index) + 4)}:host([sticky][index="5"]){z-index:calc(var(--stuck-z-index) + 5)}.sticker{display:inherit;max-inline-size:inherit;inline-size:100%}.sticker:not(.stuck){inline-size:auto !important}.sticker.sticky{transition:0.3s ease all;position:relative}:host([index="1"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 1)}:host([index="2"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 2)}:host([index="3"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 3)}:host([index="4"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 4)}:host([index="5"]) .sticker.sticky{z-index:calc(var(--stuck-z-index) + 5)}.sticker.stuck{position:fixed;inset-inline:var(--stuck-left) var(--stuck-right);z-index:var(--stuck-z-index);transform:translateY(0)}:host([placed-top]) .sticker.stuck{inset-block-start:0}:host([placed-bottom]) .sticker.stuck{inset-block-end:0}:host([placed-top]) .sticker.stuck.hide{transform:var(--top-hide)}:host([placed-bottom]) .sticker.stuck.hide{transform:var(--bottom-hide)}.sticker-content{display:flex;flex-wrap:wrap}';function a(t){return t instanceof Document?window.pageYOffset:t.scrollTop}function c(t,i){const s=i instanceof Document?document.documentElement:i;return n(t,s)}const f=class{constructor(s){t(this,s);this.nanoStuck=i(this,"nanoStuck",7);this.nanoUnstuck=i(this,"nanoUnstuck",7);this.nanoHide=i(this,"nanoHide",7);this.nanoShow=i(this,"nanoShow",7);this.isRtl=false;this.scrollPosCache=0;this.scrollPosThresholdCache=0;this.cacheOffset=0;this.pauseResizeWatcher=false;this.listenForScrollParent=false;this.positions=[];this.pauseHide=false;this.hasBootstrapped=false;this.setupParentResizeListener=()=>{if(!window["ResizeObserver"])return;if(this.parentSizeObserver){this.parentSizeObserver.disconnect();this.parentSizeObserver=undefined}this.parentSizeObserver=new ResizeObserver((t=>{for(const i of t){let t,s;if(i.contentRect.height)t=i.contentRect.height;if(i.contentRect.width)s=i.contentRect.width;if(typeof this.quietMode==="object"){if(s<this.quietMode.w||t<this.quietMode.h)this.quietModeIsOn=true;else this.quietModeIsOn=false}if(this.breakPointMin){if(s>this.breakPointMin)this.isSticky=true;else this.isSticky=false}if(this.breakPointMax){if(s<this.breakPointMax)this.isSticky=true;else this.isSticky=false}if(this.isRootSticker&&this.sticker&&this.autoResize)this.sticker.style.width=this.host.scrollWidth+"px"}}));const t=this.scrollParent instanceof Document?this.scrollParent.documentElement:this.scrollParent;if(t)this.parentSizeObserver.observe(t)};this.onStickToDisplayEvent=t=>{if(t.detail.sticker!==this.stickToEle)return;switch(t.type){case"nanoHide":this._offset=0;this.cacheOffset=this.offset;this.offset=0;if(!this.isStuck)this.moveTrigger(false);if(!this.isRootSticker&&this.quietModeIsOn){requestAnimationFrame((()=>{this.stickToEle.style.minHeight=this.stickToEleInitSize.height+(this.host.scrollHeight+(typeof this.cacheOffset==="object"?this.cacheOffset.v:this.cacheOffset))+"px";this.stickToEle.setTriggerPos(this.stickToEleInitSize.height*-1)}))}break;case"nanoShow":this._offset=this.stickToEleInitSize.height;this.offset=this.cacheOffset;this.moveTrigger(true);if(!this.isRootSticker&&this.quietModeIsOn){requestAnimationFrame((()=>{this.stickToEle.style.minHeight="";this.stickToEle.setTriggerPos(0)}))}break;case"nanoStuck":this.stickToEleInitSize=this.stickToEle.getBoundingClientRect();this._offset=this.stickToEleInitSize.height;break}};this.onStickEvent=async t=>{const i=t.detail?t.detail.sticker:null;if(!i||i.position!==this.position)return;const s=await i.getTriggerPos();if(t.type==="nanoStuck"&&i!==this.host&&i.scrollParent===this.host.scrollParent){this.stickerIndex++;if(!this.hideOnNewStickers)return;if(this.positions.includes("top")&&this.triggerPos.top<s.top||this.positions.includes("bottom")&&this.triggerPos.top>s.top){this.multiStickerHide=true;this.stuckCounter++}}if(t.type==="nanoUnstuck"&&i!==this.host&&i.scrollParent===this.host.scrollParent){this.stickerIndex--;if(!this.hideOnNewStickers)return;if(this.positions.includes("top")&&this.triggerPos.top<s.top||this.positions.includes("bottom")&&this.triggerPos.top>s.top){this.stuckCounter--;if(this.stuckCounter<1)this.multiStickerHide=false}}};this.onScroll=()=>{const t=a(this.scrollParent);if(t<this.scrollPosCache){if(!this.positions.includes("bottom"))this.handleScrollTo();else this.handleScrollAway(t)}if(t>this.scrollPosCache){if(!this.positions.includes("bottom"))this.handleScrollAway(t);else this.handleScrollTo()}this.scrollPosCache=t};this.isStuck=false;this.isRootSticker=true;this.hide=false;this.scrollHide=false;this.multiStickerHide=false;this.scrollingTo=false;this.quietModeIsOn=false;this.stuckCounter=0;this.stickerIndex=0;this.stickToEle=undefined;this.triggerPos=undefined;this.trigger=undefined;this._offset=0;this.autoResize=true;this.isSticky=true;this.offset=0;this.position="top";this.quietMode={h:600,w:600};this.hideOnNewStickers=true;this.breakPointMax=null;this.breakPointMin=null;this.scrollParent=undefined;this.stickTo=undefined}async isHiding(){return this.hide}async isSticking(){this.shouldStick();return this.isStuck}async setTriggerPos(t){return this._offset=t}async getTriggerPos(){return this.triggerPos}async pauseHiding(t){return this.pauseHide=t}updateTriggerOffset(){if(!this.trigger||!this.scrollParent||!this.listenForScrollParent)return;this.triggerPos=c(this.trigger,this.scrollParent)}stickerResizeListener(){if(!this.content||!window["ResizeObserver"])return;if(this.contentSizeObserver){this.contentSizeObserver.disconnect();this.contentSizeObserver=undefined}this.contentSizeObserver=new ResizeObserver((t=>{for(const i of t){if(this.pauseResizeWatcher)return;if(i.contentRect.height){if(this.position==="top")this.host.style.height=i.contentRect.height+"px";if(this.position==="bottom")this.host.style.minHeight=i.contentRect.height+"px"}}}));this.contentSizeObserver.observe(this.content)}quietModeChange(){if(this.quietMode==="on")requestAnimationFrame((()=>this.quietModeIsOn=true));else if(this.quietMode==="off")requestAnimationFrame((()=>this.quietModeIsOn=false))}setOffset(){this.trigger.setAttribute("style","");let t,i,s,e;const h=this.isRootSticker||this.stickToEle?this.sticker:this.host;if(!h)return;if(typeof this.offset==="object")({v:t,h:i}=this.offset);else t=i=this.offset;if(typeof this._offset==="object")({v:t=s,h:i=e}=this._offset);else s=e=this._offset;const n=s=>{const e=s.match(/(top|bottom)/)?t:i;o(s);h.style[s]=e+"px";if(e)this.host.style.setProperty("--hide-transform-amount",`(110% + ${e}px)`);else this.host.style.setProperty("--hide-transform-amount",null)};const o=h=>{const n=h.match(/(top|bottom)/)?t+s:i+e;this.trigger.style[h]=n*-1+"px";this.trigger.style.position="relative";this.trigger.style.minHeight="1px";this.trigger.style.maxHeight="1px";this.trigger.style.overflow="hidden"};if(this.positions.includes("start")&&this.isRtl||this.positions.includes("end")&&!this.isRtl)n("right");if(this.positions.includes("end")&&this.isRtl||this.positions.includes("start")&&!this.isRtl)n("left");if(this.positions.includes("top"))n("top");if(this.positions.includes("bottom"))n("bottom")}positionChange(){this.positions=this.position.split("-");this.setOffset()}async stuckChange(){if(this.isStuck){if(this.stickToEle){const t=this.host.children;this.slottedContent=Array.from(t);this.slottedContent.forEach((t=>{this.stickToEle.appendChild(t);t.style.order=this.stickerIndex+""}));this.nanoStuck.emit({sticker:this.stickToEle})}else this.nanoStuck.emit({sticker:this.host})}else{this.scrollHide=false;if(this.stickToEle){this.slottedContent.forEach((t=>{this.host.appendChild(t);t.style.order=""}));this.nanoUnstuck.emit({sticker:this.stickToEle})}else this.nanoUnstuck.emit({sticker:this.host})}}attachScrollListeners(){if(this.quietModeIsOn)this.scrollParent.addEventListener("scroll",this.onScroll,{passive:true,capture:false});else if(this.scrollParent){this.scrollParent.removeEventListener("scroll",this.onScroll);this.moveTrigger(true)}}handleParentEvents(t,i=null){if(!this.listenForScrollParent)return;if(i)this.manageListenersOnParent(false,i);if(this.scrollParent)this.manageListenersOnParent(!this.stickToEle)}stickToEleChange(t,i){if(this.stickToEle){this.stickToEle.addEventListener("nanoHide",this.onStickToDisplayEvent);this.stickToEle.addEventListener("nanoShow",this.onStickToDisplayEvent);this.stickToEle.addEventListener("nanoStuck",this.onStickToDisplayEvent);this.stickToEle.addEventListener("nanoUnstuck",this.onStickToDisplayEvent)}if(i){i.removeEventListener("nanoHide",this.onStickToDisplayEvent);i.removeEventListener("nanoShow",this.onStickToDisplayEvent);i.removeEventListener("nanoStuck",this.onStickToDisplayEvent);i.removeEventListener("nanoUnstuck",this.onStickToDisplayEvent)}}stickToChange(){if(typeof this.stickTo==="string")this.stickToEle=this.scrollParent.querySelector(this.stickTo);else if(!!this.stickTo)this.stickToEle=this.stickTo;else this.stickToEle=undefined}visibilityDecisionHandler(){if(this.multiStickerHide||this.scrollHide)this.hide=true;else this.hide=false}handleHideChange(){if(this.hide)this.nanoHide.emit({sticker:this.host});else this.nanoShow.emit({sticker:this.host})}setupIO(){if(this.io){this.io.disconnect();this.io=undefined}if(!this.scrollParent||!this.hasBootstrapped||!this.trigger)return;this.isRootSticker=this.scrollParent instanceof Document;let t=this.scrollParent;if(this.scrollParent instanceof Document)t=null;this.io=new window.IntersectionObserver((t=>{if(this.pauseResizeWatcher||!this.isSticky)return;this.shouldStick(t.slice(-1)[0])}),{root:t});this.io.observe(this.trigger)}manageListenersOnParent(t,i){const s=i||this.scrollParent;if(!s)return;if(!t){try{if(this.quietModeIsOn)s.removeEventListener("scroll",this.onScroll);s.removeEventListener("nanoStuck",this.onStickEvent);s.removeEventListener("nanoUnstuck",this.onStickEvent)}catch(t){console.error("Events haven`t been added")}}else{s.addEventListener("nanoStuck",this.onStickEvent);s.addEventListener("nanoUnstuck",this.onStickEvent);if(this.quietModeIsOn)this.attachScrollListeners()}this.setupParentResizeListener()}handleScrollTo(){this.scrollPosThresholdCache=null;if(!this.scrollHide)return;if(this.scrollingTo!==true){this._offset=this.cacheOffset||this._offset}this.scrollingTo=true;this.scrollHide=false}handleScrollAway(t){if(this.scrollHide)return;if(!this.isStuck)return;if(this.scrollingTo!==false){this.cacheOffset=this._offset;this._offset=0}this.scrollingTo=false;if(!this.scrollPosThresholdCache)this.scrollPosThresholdCache=t;else if(!this.pauseHide&&Math.abs(t-this.scrollPosThresholdCache)>100)this.scrollHide=true}moveTrigger(t){if(this.positions.includes("bottom")&&!t||!this.positions.includes("bottom")&&t){this.host.parentNode.insertBefore(this.trigger,this.host)}else this.host.parentNode.insertBefore(this.trigger,this.host.nextSibling)}getScrollParent(){const t=/(auto|scroll)/;const i=(t,s)=>{if(t.parentNode===null){return s}return i(t.parentNode,s.concat([t]))};const s=(t,i)=>getComputedStyle(t,null).getPropertyValue(i);const e=t=>s(t,"overflow")+s(t,"overflow-y")+s(t,"overflow-x");const h=i=>t.test(e(i));const n=document.documentElement.getBoundingClientRect().height;const o=t=>{if(!(typeof t==="object"))return;const s=i(t,[]);return s.find((t=>h(t)&&t.getBoundingClientRect().height!==n))||document};return o(this.host)}shouldStick(t){let i;if(this.positions.includes("top")){if(!this.isRootSticker){i=c(this.trigger,this.scrollParent).top}else{i=this.trigger.getBoundingClientRect().top}this.isStuck=i<-1}else if(this.positions.includes("bottom")){i=this.trigger.getBoundingClientRect().top;const s=t&&t.rootBounds?t.rootBounds:(this.scrollParent instanceof Document?document.documentElement:this.scrollParent).getBoundingClientRect();this.isStuck=!t.isIntersecting||i>s.height+s.top}}bootstrapGurantor(){this.hasBootstrapped=true;this.scrollParent=this.scrollParent||this.getScrollParent();this.isRootSticker=this.scrollParent instanceof Document;this.trigger=this.trigger||document.createElement("div");this.trigger.innerHTML="&nbsp;";this.trigger.classList.add("sticker-trigger");this.positionChange();this.moveTrigger(true);this.quietModeChange();this.listenForScrollParent=true;this.handleParentEvents(true);this.stickerIndex=Array.from(this.scrollParent.querySelectorAll("nano-sticker")).filter((t=>t.position===this.position)).findIndex((t=>t===this.host));this.setOffset();this.stickerResizeListener();this.setupParentResizeListener();this.slottedContent=Array.from(this.host.children);this.slottedContent.forEach((t=>{t.style.order=this.stickerIndex+""}));this.updateTriggerOffset();this.stickToChange();this.setupIO();this.onStickToDisplayEvent=o(this.onStickToDisplayEvent,50)}connectedCallback(){this.isRtl=this.host.dir==="rtl"||this.host.ownerDocument.dir==="rtl";document.documentElement.addEventListener("nanoComponentsReady",(()=>{setTimeout((t=>this.bootstrapGurantor()),200)}));setTimeout((t=>{if(!this.hasBootstrapped)this.bootstrapGurantor()}),1e3)}disconnectedCallback(){if(this.io){this.io.disconnect();this.io=undefined}if(this.parentSizeObserver){this.parentSizeObserver.disconnect();this.parentSizeObserver=undefined}this.scrollParent=null;this.hasBootstrapped=false}render(){return s(e,{sticky:!this.isRootSticker&&!this.stickToEle&&this.isSticky,hide:this.hide&&this.isStuck,siblings:this.stuckCounter,index:this.stickerIndex,stuck:this.isStuck&&this.isSticky,"placed-bottom":this.positions.includes("bottom"),"placed-top":this.positions.includes("top"),"placed-end":this.positions.includes("end"),"placed-start":this.positions.includes("start")},s("div",{class:{sticker:true,sticky:this.isRootSticker&&this.isSticky,stuck:this.isStuck&&this.isRootSticker&&this.isSticky,hide:this.isRootSticker&&this.hide&&this.isStuck},ref:t=>this.sticker=t},s("div",{class:"sticker-content",ref:t=>this.content=t},s("slot",null))))}get host(){return h(this)}static get watchers(){return{trigger:["updateTriggerOffset"],scrollParent:["updateTriggerOffset","handleParentEvents","setupIO"],position:["stickerResizeListener","positionChange"],quietMode:["quietModeChange"],offset:["setOffset"],_offset:["setOffset"],isStuck:["stuckChange"],quietModeIsOn:["attachScrollListeners"],stickToEle:["handleParentEvents","stickToEleChange"],stickTo:["stickToChange"],multiStickerHide:["visibilityDecisionHandler"],scrollHide:["visibilityDecisionHandler"],hide:["handleHideChange"]}}};f.style=r;export{f as nano_sticker};
5
- //# sourceMappingURL=p-f73f52ed.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["stickerCss","_getScrollTop","ele","Document","window","pageYOffset","scrollTop","_getOffset","parent","parentEle","document","documentElement","getOffset","Sticker","this","isRtl","scrollPosCache","scrollPosThresholdCache","cacheOffset","pauseResizeWatcher","listenForScrollParent","positions","pauseHide","hasBootstrapped","setupParentResizeListener","parentSizeObserver","disconnect","undefined","ResizeObserver","entries","entry","height","width","contentRect","quietMode","w","h","quietModeIsOn","breakPointMin","isSticky","breakPointMax","isRootSticker","sticker","autoResize","style","host","scrollWidth","toWatch","scrollParent","observe","onStickToDisplayEvent","e","detail","stickToEle","type","_offset","offset","isStuck","moveTrigger","requestAnimationFrame","minHeight","stickToEleInitSize","scrollHeight","v","setTriggerPos","getBoundingClientRect","onStickEvent","async","position","incomingTriggerPos","getTriggerPos","stickerIndex","hideOnNewStickers","includes","triggerPos","top","multiStickerHide","stuckCounter","onScroll","y","handleScrollTo","handleScrollAway","hide","shouldStick","pause","updateTriggerOffset","trigger","stickerResizeListener","content","contentSizeObserver","quietModeChange","setOffset","setAttribute","_v","_h","setPos","pos","u","match","setTriggetPos","setProperty","maxHeight","overflow","positionChange","split","children","slottedContent","Array","from","forEach","child","appendChild","order","nanoStuck","emit","scrollHide","nanoUnstuck","attachScrollListeners","addEventListener","passive","capture","removeEventListener","handleParentEvents","_","oldParent","manageListenersOnParent","stickToEleChange","oldEle","stickToChange","stickTo","querySelector","visibilityDecisionHandler","handleHideChange","nanoHide","nanoShow","setupIO","io","root","IntersectionObserver","slice","addEvents","console","error","scrollingTo","currScroll","Math","abs","toInitial","parentNode","insertBefore","nextSibling","getScrollParent","regex","parents","_node","ps","concat","prop","getComputedStyle","getPropertyValue","scroll","test","docHeight","find","data","scrollAmt","parentBounding","rootBounds","isIntersecting","bootstrapGurantor","createElement","innerHTML","classList","add","querySelectorAll","filter","findIndex","debounce","connectedCallback","dir","ownerDocument","setTimeout","disconnectedCallback","render","Host","sticky","siblings","index","stuck","class","ref","div"],"sources":["./src/components/sticker/sticker.scss?tag=nano-sticker&encapsulation=shadow","./src/components/sticker/sticker.tsx"],"sourcesContent":["@import '../../global/style/nano-theme/layers';\n\n:host {\n /**\n * @prop --stuck-left: The left position when your sticker is stuck. This can be useful to force your sticker to fill the viewport for example. Defaults to initial\n * @prop --stuck-right: The right position when your sticker is stuck. This can be useful to force your sticker to fill the viewport for example. Defaults to initial\n * @prop --stuck-z-index: The z-index order to display your sticker. Can be useful when displaying multiple stickers simultaneously. Defaults to #{$layer-index-menubar};\n * @prop --top-hide: This is used for the hide transform animation (e.g. when quiet-mode is on). Defaults to translateY(-110%);\n * @prop --bottom-hide: This is used for the hide transform animation (e.g. when quiet-mode is on). Defaults to translateY(110%);\n */\n\n --stuck-left: initial;\n --stuck-right: initial;\n --stuck-z-index: #{$layer-index-menubar};\n --top-hide: translateY(-110%);\n --bottom-hide: translateY(110%);\n\n display: block;\n max-inline-size: 100%;\n}\n\n:host([sticky]) {\n position: sticky;\n transition: 0.3s ease transform;\n will-change: min-block-size;\n}\n\n:host([sticky][stuck]) {\n inset-inline: var(--stuck-left) var(--stuck-right);\n z-index: var(--stuck-z-index) !important;\n}\n\n:host([sticky][hide][placed-top]) {\n transform: var(--top-hide);\n}\n\n:host([sticky][hide][placed-bottom]) {\n transform: var(--bottom-hide);\n}\n\n:host([sticky][index='1']) {\n z-index: calc(var(--stuck-z-index) + 1);\n}\n\n:host([sticky][index='2']) {\n z-index: calc(var(--stuck-z-index) + 2);\n}\n\n:host([sticky][index='3']) {\n z-index: calc(var(--stuck-z-index) + 3);\n}\n\n:host([sticky][index='4']) {\n z-index: calc(var(--stuck-z-index) + 4);\n}\n\n:host([sticky][index='5']) {\n z-index: calc(var(--stuck-z-index) + 5);\n}\n\n.sticker {\n display: inherit;\n max-inline-size: inherit;\n inline-size: 100%;\n\n &:not(.stuck) {\n inline-size: auto !important;\n }\n\n &.sticky {\n transition: 0.3s ease all;\n position: relative;\n\n :host([index='1']) & {\n z-index: calc(var(--stuck-z-index) + 1);\n }\n\n :host([index='2']) & {\n z-index: calc(var(--stuck-z-index) + 2);\n }\n\n :host([index='3']) & {\n z-index: calc(var(--stuck-z-index) + 3);\n }\n\n :host([index='4']) & {\n z-index: calc(var(--stuck-z-index) + 4);\n }\n\n :host([index='5']) & {\n z-index: calc(var(--stuck-z-index) + 5);\n }\n }\n\n &.stuck {\n position: fixed;\n inset-inline: var(--stuck-left) var(--stuck-right);\n z-index: var(--stuck-z-index);\n transform: translateY(0);\n\n :host([placed-top]) & {\n inset-block-start: 0;\n }\n\n :host([placed-bottom]) & {\n inset-block-end: 0;\n }\n\n &.hide {\n :host([placed-top]) & {\n transform: var(--top-hide);\n }\n\n :host([placed-bottom]) & {\n transform: var(--bottom-hide);\n }\n }\n }\n}\n\n.sticker-content {\n display: flex;\n flex-wrap: wrap;\n}\n","import {\n Component,\n ComponentInterface,\n h,\n Host,\n Prop,\n State,\n Watch,\n Element,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport { getOffset } from '../../utils/dom';\nimport { debounce } from '../../utils/throttle';\n\nfunction _getScrollTop(ele: HTMLElement | Document) {\n return ele instanceof Document ? window.pageYOffset : ele.scrollTop;\n}\n\nfunction _getOffset(ele: HTMLElement, parent: HTMLElement | Document) {\n const parentEle =\n parent instanceof Document ? document.documentElement : parent;\n return getOffset(ele, parentEle);\n}\n\ntype Positions = 'top' | 'bottom' | 'start' | 'end';\n\n/**\n * The Sticker component is a toolbox for 'sticking' items to scrolling containers.\n *\n */\n@Component({\n tag: 'nano-sticker',\n styleUrl: 'sticker.scss',\n shadow: true,\n})\nexport class Sticker implements ComponentInterface {\n private isRtl: boolean = false;\n private io: IntersectionObserver;\n private contentSizeObserver: ResizeObserver;\n private parentSizeObserver: ResizeObserver;\n private sticker: HTMLDivElement;\n private content: HTMLDivElement;\n private scrollPosCache = 0;\n private scrollPosThresholdCache = 0;\n private cacheOffset: number | { v: number; h: number } = 0;\n private slottedContent: Element[];\n private pauseResizeWatcher = false;\n private listenForScrollParent = false;\n private stickToEleInitSize?: DOMRect;\n private positions: Positions[] = [];\n private pauseHide: boolean = false;\n private hasBootstrapped = false;\n\n @Element() host: HTMLNanoStickerElement;\n\n // Internal State\n\n @State() isStuck = false;\n @State() isRootSticker = true;\n @State() hide = false;\n @State() scrollHide = false;\n @State() multiStickerHide = false;\n @State() scrollingTo = false;\n @State() quietModeIsOn = false;\n @State() stuckCounter = 0;\n @State() stickerIndex = 0;\n @State() stickToEle?: HTMLNanoStickerElement;\n @State() triggerPos: { top: number; left: number };\n @State() trigger: HTMLDivElement;\n @State() _offset: number | { v: number; h: number } = 0;\n\n // Public API\n\n /** Only applicable to root stickers. When applied the sticker will grow or shrink to the scrollParent size */\n @Prop() autoResize = true;\n\n /** Manually enable / disabled sticky behaviour */\n @Prop({ mutable: true }) isSticky = true;\n\n /** Distance the item should be stuck from the sticky edge. */\n @Prop({ mutable: true }) offset: number | { v: number; h: number } = 0;\n\n /** The edge of the scroll-parent to stick to */\n @Prop() position: 'top' | 'bottom' = 'top';\n // other opts I'd like one day. 'start' | 'end' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end'\n\n /** When applied, the sticker will hide when the scroll-parent\n * is scrolling away from the sticker's stuck position and show when scrolling toward it.\n * By default this will apply when the parent is below either the h or w dimensions */\n @Prop() quietMode: 'on' | 'off' | { h: number; w: number } = {\n h: 600,\n w: 600,\n };\n\n /** When applied stickers will hide upon new stickers being stuck to the same position */\n @Prop() hideOnNewStickers = true;\n\n /** The max width of the item to implement sticky behaviour. */\n @Prop() breakPointMax: null | number = null;\n\n /** The min width of the item to implement sticky behaviour. */\n @Prop() breakPointMin: null | number = null;\n\n /** Define which scroll element to listen & stick to.\n * By default, it will find traverse the DOM to find the closest. */\n @Prop({ mutable: true }) scrollParent?: HTMLElement | Document;\n\n /** Upon being stuck, attach the sticker to another sticker element.\n * JS query selector string or DOM element pointing to a `<nano-sticker>` */\n @Prop() stickTo: string | HTMLNanoStickerElement;\n\n // Broadcasted Events\n\n /** Emitted when a sticker is stuck */\n @Event() nanoStuck!: EventEmitter<{ sticker: HTMLNanoStickerElement }>;\n\n /** Emitted when a sticker is unstuck */\n @Event() nanoUnstuck!: EventEmitter<{ sticker: HTMLNanoStickerElement }>;\n\n /** Emitted when a sticker is hidden */\n @Event() nanoHide!: EventEmitter<{ sticker: HTMLNanoStickerElement }>;\n\n /** Emitted when a sticker is showing */\n @Event() nanoShow!: EventEmitter<{ sticker: HTMLNanoStickerElement }>;\n\n // Public methods\n\n /**\n * Method to return the visibility status of the sticker\n * @returns boolean\n */\n @Method()\n async isHiding() {\n return this.hide;\n }\n\n /**\n * Method to return the stuck status of the sticker\n * @returns boolean\n */\n @Method()\n async isSticking() {\n this.shouldStick();\n return this.isStuck;\n }\n\n /** @internal */\n @Method()\n async setTriggerPos(offset: number | { v: number; h: number }) {\n return (this._offset = offset);\n }\n\n /** @internal */\n @Method()\n async getTriggerPos() {\n return this.triggerPos;\n }\n\n /** @internal */\n @Method()\n async pauseHiding(pause: boolean) {\n return (this.pauseHide = pause);\n }\n\n // Watchers\n\n /** Keep a note of trigger position. Need this to track sticker order in the DOM */\n @Watch('trigger')\n @Watch('scrollParent')\n updateTriggerOffset() {\n if (!this.trigger || !this.scrollParent || !this.listenForScrollParent)\n return;\n this.triggerPos = _getOffset(this.trigger, this.scrollParent);\n }\n\n /** A root sticker is a fixed element Or this sticker is sticking to another.\n * We need a content resize watcher to make sure we maintain a correct placeholder size in the body */\n @Watch('position')\n stickerResizeListener() {\n if (!this.content || !window['ResizeObserver']) return;\n\n if (this.contentSizeObserver) {\n this.contentSizeObserver.disconnect();\n this.contentSizeObserver = undefined;\n }\n\n this.contentSizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (this.pauseResizeWatcher) return;\n\n if (entry.contentRect.height) {\n if (this.position === 'top')\n this.host.style.height = entry.contentRect.height + 'px';\n if (this.position === 'bottom')\n this.host.style.minHeight = entry.contentRect.height + 'px';\n }\n }\n });\n this.contentSizeObserver.observe(this.content);\n }\n\n @Watch('quietMode')\n quietModeChange() {\n if (this.quietMode === 'on')\n requestAnimationFrame(() => (this.quietModeIsOn = true));\n else if (this.quietMode === 'off')\n requestAnimationFrame(() => (this.quietModeIsOn = false));\n }\n\n /** offset is part of the public API but we also use it to manipulate trigger points */\n @Watch('offset')\n @Watch('_offset')\n setOffset() {\n this.trigger.setAttribute('style', '');\n let v: number, h: number, _v: number, _h: number;\n const sticker: HTMLElement =\n this.isRootSticker || this.stickToEle ? this.sticker : this.host;\n\n if (!sticker) return;\n\n if (typeof this.offset === 'object') ({ v, h } = this.offset);\n else v = h = this.offset;\n\n if (typeof this._offset === 'object') ({ v = _v, h = _h } = this._offset);\n else _v = _h = this._offset;\n\n const setPos = (pos: 'top' | 'bottom' | 'left' | 'right') => {\n const u = pos.match(/(top|bottom)/) ? v : h;\n setTriggetPos(pos);\n sticker.style[pos] = u + 'px';\n if (u)\n this.host.style.setProperty(\n '--hide-transform-amount',\n `(110% + ${u}px)`\n );\n else this.host.style.setProperty('--hide-transform-amount', null);\n };\n\n const setTriggetPos = (pos: 'top' | 'bottom' | 'left' | 'right') => {\n const u = pos.match(/(top|bottom)/) ? v + _v : h + _h;\n this.trigger.style[pos] = u * -1 + 'px';\n this.trigger.style.position = 'relative';\n this.trigger.style.minHeight = '1px';\n this.trigger.style.maxHeight = '1px';\n this.trigger.style.overflow = 'hidden';\n };\n\n if (\n (this.positions.includes('start') && this.isRtl) ||\n (this.positions.includes('end') && !this.isRtl)\n )\n setPos('right');\n\n if (\n (this.positions.includes('end') && this.isRtl) ||\n (this.positions.includes('start') && !this.isRtl)\n )\n setPos('left');\n\n if (this.positions.includes('top')) setPos('top');\n if (this.positions.includes('bottom')) setPos('bottom');\n }\n\n @Watch('position')\n positionChange() {\n this.positions = this.position.split('-') as Positions[];\n this.setOffset();\n }\n\n /** If this sticker is attached to a 'master' sticker (stickToEle),\n * here we move the content of this sticker in and out accordingly */\n @Watch('isStuck')\n async stuckChange() {\n if (this.isStuck) {\n if (this.stickToEle) {\n const content = this.host.children;\n this.slottedContent = Array.from(content);\n\n this.slottedContent.forEach((child: HTMLElement) => {\n this.stickToEle.appendChild(child);\n child.style.order = this.stickerIndex + '';\n });\n\n this.nanoStuck.emit({ sticker: this.stickToEle });\n } else this.nanoStuck.emit({ sticker: this.host });\n } else {\n this.scrollHide = false;\n\n if (this.stickToEle) {\n this.slottedContent.forEach((child: HTMLElement) => {\n this.host.appendChild(child);\n child.style.order = '';\n });\n this.nanoUnstuck.emit({ sticker: this.stickToEle });\n } else this.nanoUnstuck.emit({ sticker: this.host });\n }\n }\n\n /** attach scroll listener. 'hides' stickers when scrolling away from trigger and 'shows' when scrolling toward */\n @Watch('quietModeIsOn')\n attachScrollListeners() {\n if (this.quietModeIsOn)\n this.scrollParent.addEventListener('scroll', this.onScroll, {\n passive: true,\n capture: false,\n });\n else if (this.scrollParent) {\n this.scrollParent.removeEventListener('scroll', this.onScroll);\n this.moveTrigger(true);\n }\n }\n\n /** Add / remove parent scrolling listeners. If there's stickToEle we need to remove them */\n @Watch('scrollParent')\n @Watch('stickToEle')\n handleParentEvents(_, oldParent: null | HTMLElement = null) {\n if (!this.listenForScrollParent) return;\n if (oldParent) this.manageListenersOnParent(false, oldParent);\n if (this.scrollParent) this.manageListenersOnParent(!this.stickToEle);\n }\n\n /** Add remove specific listeners if we're sticking to a sticker.\n * We need to adjust triggers according to the status of the 'master' */\n @Watch('stickToEle')\n stickToEleChange(_, oldEle: null | HTMLNanoStickerElement) {\n if (this.stickToEle) {\n this.stickToEle.addEventListener('nanoHide', this.onStickToDisplayEvent);\n this.stickToEle.addEventListener('nanoShow', this.onStickToDisplayEvent);\n this.stickToEle.addEventListener('nanoStuck', this.onStickToDisplayEvent);\n this.stickToEle.addEventListener(\n 'nanoUnstuck',\n this.onStickToDisplayEvent\n );\n }\n if (oldEle) {\n oldEle.removeEventListener('nanoHide', this.onStickToDisplayEvent);\n oldEle.removeEventListener('nanoShow', this.onStickToDisplayEvent);\n oldEle.removeEventListener('nanoStuck', this.onStickToDisplayEvent);\n oldEle.removeEventListener('nanoUnstuck', this.onStickToDisplayEvent);\n }\n }\n\n /** Find and set the stickToEle from the public, selector string */\n @Watch('stickTo')\n stickToChange() {\n if (typeof this.stickTo === 'string')\n this.stickToEle = this.scrollParent.querySelector(this.stickTo);\n else if (!!this.stickTo) this.stickToEle = this.stickTo;\n else this.stickToEle = undefined;\n }\n\n /** 2 potential criteria for hiding. Multi-stickers or quiet mode. */\n @Watch('multiStickerHide')\n @Watch('scrollHide')\n visibilityDecisionHandler() {\n if (this.multiStickerHide || this.scrollHide) this.hide = true;\n else this.hide = false;\n }\n\n @Watch('hide')\n handleHideChange() {\n if (this.hide) this.nanoHide.emit({ sticker: this.host });\n else this.nanoShow.emit({ sticker: this.host });\n }\n\n @Watch('scrollParent')\n setupIO() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n if (!this.scrollParent || !this.hasBootstrapped || !this.trigger) return;\n\n this.isRootSticker = this.scrollParent instanceof Document;\n let root = this.scrollParent;\n if (this.scrollParent instanceof Document) root = null;\n\n this.io = new window.IntersectionObserver(\n (_) => {\n if (this.pauseResizeWatcher || !this.isSticky) return;\n this.shouldStick(_.slice(-1)[0]);\n },\n { root: root as HTMLElement }\n );\n\n this.io.observe(this.trigger);\n }\n\n // Private methods / handlers\n\n /** Assesses the public API quitemode and works out if it should be applied atm.\n * If 'small screen', or there is a breakpointmax / min it will add a resizeobserver to conditionally add behaviour */\n private setupParentResizeListener = () => {\n if (!window['ResizeObserver']) return;\n\n if (this.parentSizeObserver) {\n this.parentSizeObserver.disconnect();\n this.parentSizeObserver = undefined;\n }\n\n this.parentSizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n let height: number, width: number;\n if (entry.contentRect.height) height = entry.contentRect.height;\n if (entry.contentRect.width) width = entry.contentRect.width;\n\n if (typeof this.quietMode === 'object') {\n if (width < this.quietMode.w || height < this.quietMode.h)\n this.quietModeIsOn = true;\n else this.quietModeIsOn = false;\n }\n\n if (this.breakPointMin) {\n if (width > this.breakPointMin) this.isSticky = true;\n else this.isSticky = false;\n }\n\n if (this.breakPointMax) {\n if (width < this.breakPointMax) this.isSticky = true;\n else this.isSticky = false;\n }\n\n if (this.isRootSticker && this.sticker && this.autoResize)\n this.sticker.style.width = this.host.scrollWidth + 'px';\n }\n });\n\n const toWatch =\n this.scrollParent instanceof Document\n ? this.scrollParent.documentElement\n : this.scrollParent;\n if (toWatch) this.parentSizeObserver.observe(toWatch);\n };\n\n /** For stickTo stickers. We listen to the events from the 'master' sticker to amend the hide/show trigger\n * Main diffs from root-stickers / non is height being on 'master' */\n private onStickToDisplayEvent = (\n e: CustomEvent<{ sticker: HTMLNanoStickerElement }>\n ) => {\n if (e.detail.sticker !== this.stickToEle) return;\n\n switch (e.type) {\n case 'nanoHide':\n this._offset = 0;\n this.cacheOffset = this.offset;\n this.offset = 0;\n /** trigger moves down, underneath sticker if the main sticker hides */\n if (!this.isStuck) this.moveTrigger(false);\n\n /** If it's an actual 'position: sticky' element, we need to give the sticker an appropriate height.\n * This minimises content jumping around as items are added */\n if (!this.isRootSticker && this.quietModeIsOn) {\n requestAnimationFrame(() => {\n this.stickToEle.style.minHeight =\n this.stickToEleInitSize.height +\n (this.host.scrollHeight +\n (typeof this.cacheOffset === 'object'\n ? this.cacheOffset.v\n : this.cacheOffset)) +\n 'px';\n this.stickToEle.setTriggerPos(this.stickToEleInitSize.height * -1);\n });\n }\n break;\n case 'nanoShow':\n this._offset = this.stickToEleInitSize.height;\n this.offset = this.cacheOffset;\n this.moveTrigger(true);\n\n /** reset master sticker size */\n if (!this.isRootSticker && this.quietModeIsOn) {\n requestAnimationFrame(() => {\n this.stickToEle.style.minHeight = '';\n this.stickToEle.setTriggerPos(0);\n });\n }\n break;\n case 'nanoStuck':\n this.stickToEleInitSize = this.stickToEle.getBoundingClientRect();\n this._offset = this.stickToEleInitSize.height;\n break;\n }\n };\n\n /** Add or removes event listeners / observers on scrolling parent\n * for when the scrolling parent changes, or, this sticker is sticking to another */\n private manageListenersOnParent(\n addEvents: boolean,\n ele?: HTMLElement | Document\n ) {\n const scrollParent = ele || this.scrollParent;\n\n if (!scrollParent) return;\n\n if (!addEvents) {\n try {\n if (this.quietModeIsOn)\n scrollParent.removeEventListener('scroll', this.onScroll);\n scrollParent.removeEventListener('nanoStuck', this.onStickEvent);\n scrollParent.removeEventListener('nanoUnstuck', this.onStickEvent);\n } catch (e) {\n console.error('Events haven`t been added');\n }\n } else {\n scrollParent.addEventListener('nanoStuck', this.onStickEvent);\n scrollParent.addEventListener('nanoUnstuck', this.onStickEvent);\n\n if (this.quietModeIsOn) this.attachScrollListeners();\n }\n this.setupParentResizeListener();\n }\n\n /** Handler applied to scrolling parent. When 'hideOnNewStickers' is true, hide this sticker on subsequent stuck stickers. */\n private onStickEvent = async (\n e: CustomEvent<{ sticker: HTMLNanoStickerElement }>\n ) => {\n const sticker = e.detail ? e.detail.sticker : null;\n if (!sticker || sticker.position !== this.position) return;\n\n const incomingTriggerPos = await sticker.getTriggerPos();\n\n if (\n e.type === 'nanoStuck' &&\n sticker !== this.host &&\n sticker.scrollParent === this.host.scrollParent\n ) {\n this.stickerIndex++;\n\n if (!this.hideOnNewStickers) return;\n\n if (\n (this.positions.includes('top') &&\n this.triggerPos.top < incomingTriggerPos.top) ||\n (this.positions.includes('bottom') &&\n this.triggerPos.top > incomingTriggerPos.top)\n ) {\n this.multiStickerHide = true;\n this.stuckCounter++;\n }\n }\n\n if (\n e.type === 'nanoUnstuck' &&\n sticker !== this.host &&\n sticker.scrollParent === this.host.scrollParent\n ) {\n this.stickerIndex--;\n\n if (!this.hideOnNewStickers) return;\n\n if (\n (this.positions.includes('top') &&\n this.triggerPos.top < incomingTriggerPos.top) ||\n (this.positions.includes('bottom') &&\n this.triggerPos.top > incomingTriggerPos.top)\n ) {\n this.stuckCounter--;\n if (this.stuckCounter < 1) this.multiStickerHide = false;\n }\n }\n };\n\n /** Scroll handler applied to scrolling parent. Only applied when quietmode is on.\n * 'hides' stickers when scrolling over 100px away from trigger and 'shows' when scrolling toward */\n private onScroll = () => {\n const y: number = _getScrollTop(this.scrollParent);\n\n // scrolling up\n if (y < this.scrollPosCache) {\n if (!this.positions.includes('bottom')) this.handleScrollTo();\n else this.handleScrollAway(y);\n }\n\n // scrolling down\n if (y > this.scrollPosCache) {\n if (!this.positions.includes('bottom')) this.handleScrollAway(y);\n else this.handleScrollTo();\n }\n this.scrollPosCache = y;\n };\n\n /** Watch for scroll direction. Only applies when quietmode is on.\n * We need to addjust the position of the trigger when the sticker is hidden */\n private handleScrollTo() {\n this.scrollPosThresholdCache = null;\n if (!this.scrollHide) return;\n\n if (this.scrollingTo !== true) {\n this._offset = this.cacheOffset || this._offset;\n }\n this.scrollingTo = true;\n this.scrollHide = false;\n }\n\n private handleScrollAway(currScroll: number) {\n if (this.scrollHide) return;\n\n if (!this.isStuck) return;\n\n if (this.scrollingTo !== false) {\n this.cacheOffset = this._offset;\n this._offset = 0;\n }\n this.scrollingTo = false;\n\n if (!this.scrollPosThresholdCache)\n this.scrollPosThresholdCache = currScroll;\n else if (\n !this.pauseHide &&\n Math.abs(currScroll - this.scrollPosThresholdCache) > 100\n )\n this.scrollHide = true;\n }\n\n private moveTrigger(toInitial?: boolean) {\n if (\n (this.positions.includes('bottom') && !toInitial) ||\n (!this.positions.includes('bottom') && toInitial)\n ) {\n this.host.parentNode.insertBefore(this.trigger, this.host);\n } else\n this.host.parentNode.insertBefore(this.trigger, this.host.nextSibling);\n }\n\n /**\n * Gets the 'closest' scrolling parent\n * @returns either an element with `overflow: scroll | auto` or the parent Document\n */\n private getScrollParent(): HTMLElement | Document {\n const regex = /(auto|scroll)/;\n const parents = (_node: Node, ps: Node[]) => {\n if (_node.parentNode === null) {\n return ps;\n }\n return parents(_node.parentNode, ps.concat([_node]));\n };\n const style = (_node, prop) =>\n getComputedStyle(_node, null).getPropertyValue(prop);\n const overflow = (_node) =>\n style(_node, 'overflow') +\n style(_node, 'overflow-y') +\n style(_node, 'overflow-x');\n const scroll = (_node) => regex.test(overflow(_node));\n const docHeight = document.documentElement.getBoundingClientRect().height;\n\n const scrollParent = (_node: HTMLElement) => {\n if (!(typeof _node === 'object')) return;\n\n const ps = parents(_node, []);\n return (\n ps.find(\n (ele) =>\n scroll(ele) && ele.getBoundingClientRect().height !== docHeight\n ) || document\n );\n };\n\n return scrollParent(this.host);\n }\n\n private shouldStick(data?: IntersectionObserverEntry) {\n let scrollAmt: number;\n\n if (this.positions.includes('top')) {\n if (!this.isRootSticker) {\n scrollAmt = _getOffset(this.trigger, this.scrollParent).top;\n } else {\n scrollAmt = this.trigger.getBoundingClientRect().top;\n }\n this.isStuck = scrollAmt < -1;\n } else if (this.positions.includes('bottom')) {\n scrollAmt = this.trigger.getBoundingClientRect().top;\n const parentBounding =\n data && data.rootBounds\n ? data.rootBounds\n : (this.scrollParent instanceof Document\n ? document.documentElement\n : this.scrollParent\n ).getBoundingClientRect();\n this.isStuck =\n !data.isIntersecting ||\n scrollAmt > parentBounding.height + parentBounding.top;\n }\n }\n\n private bootstrapGurantor() {\n this.hasBootstrapped = true;\n\n this.scrollParent = this.scrollParent || this.getScrollParent();\n this.isRootSticker = this.scrollParent instanceof Document;\n\n this.trigger = this.trigger || document.createElement('div');\n this.trigger.innerHTML = '&nbsp;';\n this.trigger.classList.add('sticker-trigger');\n\n this.positionChange();\n this.moveTrigger(true);\n this.quietModeChange();\n\n this.listenForScrollParent = true;\n this.handleParentEvents(true);\n\n this.stickerIndex = Array.from(\n this.scrollParent.querySelectorAll('nano-sticker')\n )\n .filter(\n (sticker: HTMLNanoStickerElement) => sticker.position === this.position\n )\n .findIndex((sticker) => sticker === this.host);\n\n this.setOffset();\n this.stickerResizeListener();\n this.setupParentResizeListener();\n\n // bit of a hack ... add default 'order'. Required for 'stickTo' elements.\n this.slottedContent = Array.from(this.host.children);\n this.slottedContent.forEach((child: HTMLElement) => {\n child.style.order = this.stickerIndex + '';\n });\n\n this.updateTriggerOffset();\n this.stickToChange();\n this.setupIO();\n this.onStickToDisplayEvent = debounce(this.onStickToDisplayEvent, 50);\n }\n\n // Stencil methods\n\n connectedCallback() {\n this.isRtl =\n this.host.dir === 'rtl' ||\n (this.host.ownerDocument as Document).dir === 'rtl';\n\n // this is all horrible.... shrug\n document.documentElement.addEventListener('nanoComponentsReady', () => {\n setTimeout((_) => this.bootstrapGurantor(), 200);\n });\n setTimeout((_) => {\n if (!this.hasBootstrapped) this.bootstrapGurantor();\n }, 1000);\n }\n\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n\n if (this.parentSizeObserver) {\n this.parentSizeObserver.disconnect();\n this.parentSizeObserver = undefined;\n }\n\n this.scrollParent = null;\n this.hasBootstrapped = false;\n }\n\n render() {\n return (\n <Host\n sticky={!this.isRootSticker && !this.stickToEle && this.isSticky}\n hide={this.hide && this.isStuck}\n siblings={this.stuckCounter}\n index={this.stickerIndex}\n stuck={this.isStuck && this.isSticky}\n placed-bottom={this.positions.includes('bottom')}\n placed-top={this.positions.includes('top')}\n placed-end={this.positions.includes('end')}\n placed-start={this.positions.includes('start')}\n >\n <div\n class={{\n sticker: true,\n sticky: this.isRootSticker && this.isSticky,\n stuck: this.isStuck && this.isRootSticker && this.isSticky,\n hide: this.isRootSticker && this.hide && this.isStuck,\n }}\n ref={(div) => (this.sticker = div)}\n >\n <div class=\"sticker-content\" ref={(div) => (this.content = div)}>\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /*!
2
- * Web Components for Nanopore digital Web Apps
3
- */
4
- import{i as n,r as i,h as o,a as t,g as r}from"./p-d6a04b3a.js";import{c as s}from"./p-411bb8f1.js";let e;const a=()=>{if(!e){const n=window;n.Nanoicons=n.Nanoicons||{};e=n.Nanoicons.map=n.Nanoicons.map||new Map}return e};const c=n=>{let i=f(n.src);if(i){return i}i=h(n.name,n.icon);if(i){return l(i)}if(n.icon){i=f(n.icon);if(i){return i}}return null};const l=i=>{const o=a().get(i);if(o){return o}return n(`../nano-assets/fontawesome-pro/svgs/${i}.svg`)};const h=(n,i)=>{if(!n&&i&&!d(i)){n=i}if(u(n)){n=m(n)}if(!u(n)||n.trim()===""){return null}const o=n.replace(/[a-z]|-|\/|\d/gi,"");if(o!==""){console.warn("invalid characters in icon name "+n);return null}return n};const f=n=>{if(u(n)){n=n.trim();if(d(n)){return n}}return null};const d=n=>n.length>0&&/(\/|\.)/.test(n);const u=n=>typeof n==="string";const m=n=>n.toLowerCase();const p=n=>{if(n){const i=document.createElement("div");i.innerHTML=n;for(let n=i.childNodes.length-1;n>=0;n--){if(i.childNodes[n].nodeName.toLowerCase()!=="svg"){i.removeChild(i.childNodes[n])}}const o=i.firstElementChild;if(o&&o.nodeName.toLowerCase()==="svg"){const n=o.getAttribute("class")||"";o.setAttribute("class",(n+" sc-nano-icon s-nano-icon svg").trim());if(g(o)){return i.innerHTML}}}return""};const g=n=>{if(n.nodeType===1){if(n.nodeName.toLowerCase()==="script"){return false}for(let i=0;i<n.attributes.length;i++){const o=n.attributes[i].value;if(u(o)&&o.toLowerCase().indexOf("on")===0){return false}}for(let i=0;i<n.childNodes.length;i++){if(!g(n.childNodes[i])){return false}}}return true};const v=new Map;const b=new Map;const w=n=>{let i=b.get(n);if(!i){i=fetch(n).then((i=>{if(i.ok){return i.text().then((i=>{v.set(n,p(i))}))}v.set(n,"")}));b.set(n,i)}return i};const y=":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{--color:var(--nano-color-base, currentcolor);--primary-color:var(--nano-color-tint, currentcolor);--secondary-color:var(--nano-color-shade, currentcolor);--stroke-width:32px;--primary-opacity:0.8;--secondary-opacity:1;--icon-size:var(--nano-icon-size, 1em);--icon-margin-top:var(--nano-icon-margin-top, 0);--icon-margin-end:var(--nano-icon-margin-end, 0);--icon-margin-bottom:var(--nano-icon-margin-bottom, 0);--icon-margin-start:var(--nano-icon-margin-start, 0);display:inline-block;width:var(--icon-size);height:var(--icon-size);min-width:var(--icon-size);min-height:var(--icon-size);contain:strict;fill:currentcolor;box-sizing:content-box !important;transition:opacity 0.3s ease;color:var(--color);margin-inline:var(--icon-margin-start) var(--icon-margin-end);margin-block:var(--icon-margin-top) var(--icon-margin-bottom)}:host .nanoicon{stroke:currentcolor}.nanoicon-fill-none{fill:none}.nanoicon-stroke-width{stroke-width:32px;stroke-width:var(--stroke-width)}.icon-inner,.nanoicon,svg,.svg{display:block;height:100%;width:100%;overflow:visible}:host(.loading){opacity:0}.fa-primary{color:var(--primary-color);opacity:var(--primary-opacity, 1)}.fa-secondary{color:var(--secondary-color);opacity:var(--secondary-opacity) !important}:host(.flip-rtl) .icon-inner{transform:scaleX(-1)}:host(.icon-small){font-size:18px !important}:host(.icon-large){font-size:32px !important}";const x=class{constructor(n){i(this,n);this.svgContent=undefined;this.isVisible=false;this.isLoading=true;this.color=undefined;this.ariaLabel=undefined;this.flipRtl=undefined;this.name=undefined;this.src=undefined;this.icon=undefined;this.size=undefined;this.lazy=true}setAriaLabel(){if(!this.ariaLabel){const n=h(this.name,this.icon);if(n){this.ariaLabel=n.split("/").slice(-1)[0].replace(/\-/g," ")}}}connectedCallback(){this.waitUntilVisible(this.el,"50px",(()=>{this.isVisible=true;this.loadIcon()}))}disconnectedCallback(){if(this.io){this.io.disconnect();this.io=undefined}}componentWillLoad(){this.setAriaLabel()}waitUntilVisible(n,i,o){if(this.lazy&&typeof window!=="undefined"&&window.IntersectionObserver){const t=this.io=new window.IntersectionObserver((n=>{if(n[0].isIntersecting||n[1]&&n[1].isIntersecting){t.disconnect();this.io=undefined;o()}}),{rootMargin:i});t.observe(n)}else{o()}}loadIcon(){if(this.isVisible){const n=c(this);if(n){if(v.has(n)){this.svgContent=v.get(n);requestAnimationFrame((()=>this.isLoading=false))}else{w(n).then((()=>{this.svgContent=v.get(n);requestAnimationFrame((()=>this.isLoading=false))}))}}}this.setAriaLabel()}render(){const n=this.flipRtl||this.name&&(this.name.indexOf("arrow")>-1||this.name.indexOf("chevron")>-1)&&this.el.ownerDocument.dir==="rtl"&&this.flipRtl!==false;return o(t,{role:"img",class:Object.assign(Object.assign({},s(this.color)),{loading:this.isLoading,[`icon-${this.size}`]:!!this.size,"flip-rtl":!!n})},this.svgContent?o("div",{class:"icon-inner",innerHTML:this.svgContent}):o("div",{class:"icon-inner"}))}get el(){return r(this)}static get watchers(){return{name:["loadIcon"],src:["loadIcon"],icon:["loadIcon"]}}};x.style=y;export{x as nano_icon};
5
- //# sourceMappingURL=p-fcbc9122.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["CACHED_MAP","getIconMap","win","window","Nanoicons","map","Map","getUrl","i","url","getSrc","src","getName","name","icon","getNamedUrl","iconName","get","getAssetPath","isSrc","isStr","toLower","trim","invalidChars","replace","console","warn","str","length","test","val","toLowerCase","validateContent","svgContent","div","document","createElement","innerHTML","childNodes","nodeName","removeChild","svgElm","firstElementChild","svgClass","getAttribute","setAttribute","isValid","elm","nodeType","attributes","value","indexOf","iconContent","requests","getSvgContent","req","fetch","then","rsp","ok","text","set","iconCss","Icon","setAriaLabel","this","ariaLabel","label","split","slice","connectedCallback","waitUntilVisible","el","isVisible","loadIcon","disconnectedCallback","io","disconnect","undefined","componentWillLoad","rootMargin","cb","lazy","IntersectionObserver","data","isIntersecting","observe","has","requestAnimationFrame","isLoading","render","flipRtl","ownerDocument","dir","h","Host","role","class","Object","assign","createColorClasses","color","loading","size"],"sources":["./src/components/icon/utils.ts","./src/components/icon/validate.ts","./src/components/icon/request.ts","./src/components/icon/icon.scss?tag=nano-icon&encapsulation=shadow","./src/components/icon/icon.tsx"],"sourcesContent":["import { getAssetPath } from '@stencil/core';\nimport { Icon } from './icon';\n\nlet CACHED_MAP: Map<string, string>;\n\nexport const getIconMap = (): Map<string, string> => {\n if (!CACHED_MAP) {\n const win = window as any;\n win.Nanoicons = win.Nanoicons || {};\n CACHED_MAP = win.Nanoicons.map = win.Nanoicons.map || new Map();\n }\n return CACHED_MAP;\n};\n\nexport const addIcons = (icons: { [name: string]: string }) => {\n const map = getIconMap();\n Object.keys(icons).forEach((name) => map.set(name, icons[name]));\n};\n\nexport const getUrl = (i: Icon) => {\n let url = getSrc(i.src);\n if (url) {\n return url;\n }\n\n url = getName(i.name, i.icon);\n if (url) {\n return getNamedUrl(url);\n }\n\n if (i.icon) {\n url = getSrc(i.icon);\n if (url) {\n return url;\n }\n }\n return null;\n};\n\nconst getNamedUrl = (iconName: string) => {\n const url = getIconMap().get(iconName);\n if (url) {\n return url;\n }\n return getAssetPath(`../nano-assets/fontawesome-pro/svgs/${iconName}.svg`);\n};\n\nexport const getName = (\n iconName: string | undefined,\n icon: string | undefined\n) => {\n if (!iconName && icon && !isSrc(icon)) {\n iconName = icon;\n }\n if (isStr(iconName)) {\n iconName = toLower(iconName);\n }\n\n if (!isStr(iconName) || iconName.trim() === '') {\n return null;\n }\n\n // only allow alpha characters and dash\n const invalidChars = iconName.replace(/[a-z]|-|\\/|\\d/gi, '');\n if (invalidChars !== '') {\n console.warn('invalid characters in icon name ' + iconName);\n return null;\n }\n return iconName;\n};\n\nexport const getSrc = (src: string | undefined) => {\n if (isStr(src)) {\n src = src.trim();\n if (isSrc(src)) {\n return src;\n }\n }\n return null;\n};\n\nexport const isSrc = (str: string) => str.length > 0 && /(\\/|\\.)/.test(str);\nexport const isStr = (val: any): val is string => typeof val === 'string';\nexport const toLower = (val: string) => val.toLowerCase();\n","import { isStr } from './utils';\n\nexport const validateContent = (svgContent: string | null) => {\n if (svgContent) {\n const div = document.createElement('div');\n div.innerHTML = svgContent;\n\n // setup this way to ensure it works on our buddy IE\n for (let i = div.childNodes.length - 1; i >= 0; i--) {\n if (div.childNodes[i].nodeName.toLowerCase() !== 'svg') {\n div.removeChild(div.childNodes[i]);\n }\n }\n\n // must only have 1 root element\n const svgElm = div.firstElementChild;\n if (svgElm && svgElm.nodeName.toLowerCase() === 'svg') {\n const svgClass = svgElm.getAttribute('class') || '';\n svgElm.setAttribute(\n 'class',\n (svgClass + ' sc-nano-icon s-nano-icon svg').trim()\n );\n\n // root element must be an svg\n // lets double check we've got valid elements\n // do not allow scripts\n if (isValid(svgElm as any)) {\n return div.innerHTML;\n }\n }\n }\n return '';\n};\n\nexport const isValid = (elm: HTMLElement) => {\n if (elm.nodeType === 1) {\n if (elm.nodeName.toLowerCase() === 'script') {\n return false;\n }\n\n for (let i = 0; i < elm.attributes.length; i++) {\n const val = elm.attributes[i].value;\n if (isStr(val) && val.toLowerCase().indexOf('on') === 0) {\n return false;\n }\n }\n\n for (let i = 0; i < elm.childNodes.length; i++) {\n if (!isValid(elm.childNodes[i] as any)) {\n return false;\n }\n }\n }\n return true;\n};\n","import { validateContent } from './validate';\nexport const iconContent = new Map<string, string>();\nconst requests = new Map<string, Promise<any>>();\n\nexport const getSvgContent = (url: string) => {\n // see if we already have a request for this url\n let req = requests.get(url);\n if (!req) {\n // we don't already have a request\n req = fetch(url).then((rsp) => {\n if (rsp.ok) {\n return rsp.text().then((svgContent) => {\n iconContent.set(url, validateContent(svgContent));\n });\n }\n iconContent.set(url, '');\n });\n\n // cache for the same requests\n requests.set(url, req);\n }\n return req;\n};\n","@import '../../global/style/utilities/globals';\n\n:host {\n /**\n * @prop --color: defaults to current context color\n * @prop --primary-color: used for duotone icons to set the primary color\n * @prop --secondary-color: used for duotone icons to set the secondary color\n * @prop --primary-opacity: used for duotone icons to set the primary opacity\n * @prop --secondary-opacity: used for duotone icons to set the secondary opacity\n * @prop --stroke-width: 32px default stroke width\n */\n\n --color: var(--nano-color-base, currentcolor);\n --primary-color: var(--nano-color-tint, currentcolor);\n --secondary-color: var(--nano-color-shade, currentcolor);\n --stroke-width: 32px;\n --primary-opacity: 0.8;\n --secondary-opacity: 1;\n --icon-size: var(--nano-icon-size, 1em);\n --icon-margin-top: var(--nano-icon-margin-top, 0);\n --icon-margin-end: var(--nano-icon-margin-end, 0);\n --icon-margin-bottom: var(--nano-icon-margin-bottom, 0);\n --icon-margin-start: var(--nano-icon-margin-start, 0);\n\n display: inline-block;\n width: var(--icon-size);\n height: var(--icon-size);\n min-width: var(--icon-size);\n min-height: var(--icon-size);\n contain: strict;\n fill: currentcolor;\n box-sizing: content-box !important;\n transition: opacity 0.3s ease;\n color: var(--color);\n margin-inline: var(--icon-margin-start) var(--icon-margin-end);\n margin-block: var(--icon-margin-top) var(--icon-margin-bottom);\n}\n\n:host .nanoicon {\n stroke: currentcolor;\n}\n\n.nanoicon-fill-none {\n fill: none;\n}\n\n.nanoicon-stroke-width {\n stroke-width: 32px;\n stroke-width: var(--stroke-width);\n}\n\n.icon-inner,\n.nanoicon,\nsvg,\n.svg {\n display: block;\n height: 100%;\n width: 100%;\n overflow: visible;\n}\n\n:host(.loading) {\n opacity: 0;\n}\n\n.fa-primary {\n color: var(--primary-color);\n opacity: var(--primary-opacity, 1);\n}\n\n.fa-secondary {\n color: var(--secondary-color);\n opacity: var(--secondary-opacity) !important;\n}\n\n/* Icon RTL\n * -----------------------------------------------------------\n */\n:host(.flip-rtl) .icon-inner {\n transform: scaleX(-1);\n}\n\n/* Icon Sizes\n * -----------------------------------------------------------\n */\n:host(.icon-small) {\n font-size: 18px !important;\n}\n\n:host(.icon-large) {\n font-size: 32px !important;\n}\n","import {\n Build,\n Component,\n Element,\n Host,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { createColorClasses } from '../../utils/theme';\nimport { getSvgContent, iconContent } from './request';\nimport { getName, getUrl } from './utils';\nimport type { Color } from '../../interface';\n\n/**\n * An SVG loader / helper. Comes bundled with all fontawesome pro icons by default but can use any custom SVG (with an correct path). Lazily loads SVG for each icon, so will only request the icons that you're using and that are visible.\n */\n@Component({\n tag: 'nano-icon',\n styleUrl: 'icon.scss',\n shadow: true,\n})\nexport class Icon {\n private io?: IntersectionObserver;\n\n @Element() el!: HTMLNanoIconElement;\n\n @State() svgContent?: string;\n @State() isVisible = false;\n @State() isLoading = true;\n\n /**\n * Color to use from your application's color palette.\n * Default options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`.\n */\n @Prop() color?: Color;\n\n /**\n * Specifies the label to use for accessibility. Defaults to the icon name.\n */\n @Prop({ mutable: true, reflect: true }) ariaLabel: string;\n\n /**\n * Specifies whether the icon should horizontally flip when `dir` is `\"rtl\"`.\n */\n @Prop() flipRtl?: boolean;\n\n /**\n * Specifies which icon to use from the built-in set of icons.\n */\n @Prop() name?: string;\n\n /**\n * Specifies the exact `src` of an SVG file to use.\n */\n @Prop() src?: string;\n\n /**\n * A combination of both `name` and `src`. If a `src` url is detected\n * it will set the `src` property. Otherwise it assumes it's a built-in named\n * SVG and set the `name` property.\n */\n @Prop() icon?: any;\n\n /**\n * The size of the icon.\n * Available options are: `\"small\"` and `\"large\"`.\n */\n @Prop() size?: 'small' | 'large';\n\n /**\n * If enabled, nano-icon will be loaded lazily when it's visible in the viewport.\n * Default, `true`.\n */\n @Prop() lazy = true;\n\n private setAriaLabel() {\n if (!this.ariaLabel) {\n const label = getName(this.name, this.icon);\n // user did not provide a label\n // come up with the label based on the icon name\n if (label) {\n this.ariaLabel = label.split('/').slice(-1)[0].replace(/\\-/g, ' ');\n }\n }\n }\n\n connectedCallback() {\n // purposely do not return the promise here because loading\n // the svg file should not hold up loading the app\n // only load the svg if it's visible\n this.waitUntilVisible(this.el, '50px', () => {\n this.isVisible = true;\n this.loadIcon();\n });\n }\n\n disconnectedCallback() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n\n componentWillLoad() {\n this.setAriaLabel();\n }\n\n private waitUntilVisible(\n el: HTMLElement,\n rootMargin: string,\n cb: () => void\n ) {\n if (\n Build.isBrowser &&\n this.lazy &&\n typeof window !== 'undefined' &&\n (window as any).IntersectionObserver\n ) {\n const io = (this.io = new (window as any).IntersectionObserver(\n (data: IntersectionObserverEntry[]) => {\n if (data[0].isIntersecting || (data[1] && data[1].isIntersecting)) {\n io.disconnect();\n this.io = undefined;\n cb();\n }\n },\n { rootMargin }\n ));\n\n io.observe(el);\n } else {\n // browser doesn't support IntersectionObserver\n // so just fallback to always show it\n cb();\n }\n }\n\n @Watch('name')\n @Watch('src')\n @Watch('icon')\n loadIcon() {\n if (Build.isBrowser && this.isVisible) {\n const url = getUrl(this);\n if (url) {\n if (iconContent.has(url)) {\n // sync if it's already loaded\n this.svgContent = iconContent.get(url);\n requestAnimationFrame(() => (this.isLoading = false));\n } else {\n // async if it hasn't been loaded\n getSvgContent(url).then(() => {\n this.svgContent = iconContent.get(url);\n requestAnimationFrame(() => (this.isLoading = false));\n });\n }\n }\n }\n this.setAriaLabel();\n }\n\n render() {\n const flipRtl =\n this.flipRtl ||\n (this.name &&\n (this.name.indexOf('arrow') > -1 ||\n this.name.indexOf('chevron') > -1) &&\n (this.el.ownerDocument as Document).dir === 'rtl' &&\n this.flipRtl !== false);\n\n return (\n <Host\n role=\"img\"\n class={{\n ...createColorClasses(this.color),\n loading: this.isLoading,\n [`icon-${this.size}`]: !!this.size,\n 'flip-rtl': !!flipRtl,\n }}\n >\n {Build.isBrowser && this.svgContent ? (\n <div class=\"icon-inner\" innerHTML={this.svgContent}></div>\n ) : (\n <div class=\"icon-inner\"></div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,103 +0,0 @@
1
- import { EventEmitter, ComponentInterface } from '../../stencil-public-runtime';
2
- import { SearchIndex as AlgoliaIndex } from 'algoliasearch';
3
- import { StorageMethods } from '../../utils/store/component-store';
4
- import { InputChangeEventDetail, AloliaSearchResultDetail, SearchIndex, AlgoliaMultiResult } from '../../interface';
5
- /**
6
- * @deprecated
7
- * Component for querying Algolia Indeces.
8
- * Can be nested within an algolia element or used outside as a 'resultsEmitter' (see algolia component documentation)
9
- * Must include one 'nano-input' component
10
- */
11
- export declare class AlgoliaInput implements ComponentInterface {
12
- private internalIndex;
13
- private algoliaClient;
14
- private isNested;
15
- private inputField;
16
- host: HTMLNanoAlgoliaInputElement;
17
- searchStr: string;
18
- algoliaIndex: AlgoliaIndex;
19
- currentResults: AlgoliaMultiResult;
20
- /**
21
- * An Algolia App ID key. Used in conjunction with 'searchIndex' & 'apiKey'.
22
- * Alternatively this will be set automatically when nested within an algolia component
23
- */
24
- appId: string;
25
- /**
26
- * An Algolia API Key. Used in conjunction with 'searchIndex' & 'appId'.
27
- * Alternatively this will be set automatically when nested within an algolia component
28
- */
29
- apiKey: string;
30
- /**
31
- * Algolia search index. Used in conjunction with 'searchIndex' & 'appId'.
32
- * Alternatively this will be set automatically if you're using a 'resultsEmitter' element.
33
- * ```
34
- * { index: string, // algolia index name
35
- * domain?: string, // used in template filers to resolve incomplete url fields
36
- * filters?: [string], // algolia facets to retrive
37
- * hitsPerPage?: number,
38
- * name?: string // human readable index name
39
- * }
40
- * ```
41
- */
42
- searchIndex: SearchIndex;
43
- /**
44
- * Algolia search index name. Alternative to 'searchIndex'.
45
- * A simplified shortcut for setting an index.
46
- * properties such as hitsPerPage and facets will come from the algolia index
47
- */
48
- searchIndexName: string;
49
- /**
50
- * Minimum number of characters before performing a search
51
- */
52
- minChars: number;
53
- /**
54
- * Automatically emit results data to algolia components.
55
- * For example, if you wanted to provide an 'autocomplete' style dropdown
56
- * before showing the main results with a submit button
57
- */
58
- autoEmit: boolean;
59
- /**
60
- * Will maintain a search all / '*' on init and reset allowing for a view
61
- * then filter experience rather than a search first experience
62
- */
63
- browseIndex: boolean;
64
- /**
65
- * Store search queries (against this ID) to the component store.
66
- * Use in conjunction with storeMethod
67
- */
68
- storeId?: string;
69
- /**
70
- * The method of storage.
71
- * Either session storage, url hash (after the '#') or url query (after the '?').
72
- */
73
- storeMethod: StorageMethods;
74
- /**
75
- * Manually emit search results to algolia components.
76
- * Useful if you don't wish to search on input change / want to provide 'autocomplete' options
77
- * or / and want to use a submit button */
78
- search(): Promise<void>;
79
- /**
80
- * Emitted when search results are successfully returned from Algolia.
81
- * @internal
82
- */
83
- nanoSearchResult: EventEmitter<AloliaSearchResultDetail>;
84
- /**
85
- * Emitted when search results are successfully returned from Algolia.
86
- */
87
- nanoSearch: EventEmitter<AloliaSearchResultDetail>;
88
- /**
89
- * Emitted when search field is cleared.
90
- */
91
- nanoSearchReset: EventEmitter<AloliaSearchResultDetail>;
92
- searchIndexNameChange(): void;
93
- algoliaChange(): void;
94
- browseIndexChange(): void;
95
- initAlgoliaClient(): void;
96
- searchSubmit(ev?: CustomEvent<InputChangeEventDetail>): Promise<void>;
97
- private emitResults;
98
- private fixDomain;
99
- private handleFocus;
100
- connectedCallback(): void;
101
- componentWillLoad(): void;
102
- render(): any;
103
- }
@@ -1,2 +0,0 @@
1
- import * as Sqrl from 'squirrelly';
2
- export declare const Squirrel: typeof Sqrl;