@nanoporetech-digital/components 1.15.6 → 2.1.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 (981) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/cjs/active-element-2f9bf0aa.js +21 -0
  3. package/dist/cjs/active-element-2f9bf0aa.js.map +1 -0
  4. package/dist/cjs/{algoliasearch.umd-0ccd70ce.js → algoliasearch.umd-79e17a1a.js} +3 -3
  5. package/dist/cjs/{algoliasearch.umd-0ccd70ce.js.map → algoliasearch.umd-79e17a1a.js.map} +1 -1
  6. package/dist/cjs/{dom-5f3fae1a.js → dom-52f9b8b7.js} +25 -6
  7. package/dist/cjs/dom-52f9b8b7.js.map +1 -0
  8. package/dist/cjs/form-control-3bc82e3e.js +80 -0
  9. package/dist/cjs/form-control-3bc82e3e.js.map +1 -0
  10. package/dist/cjs/{index-117f36a4.js → index-53d02e05.js} +12 -27
  11. package/dist/cjs/index-53d02e05.js.map +1 -0
  12. package/dist/cjs/index-cb62df44.js +12 -12
  13. package/dist/cjs/index.cjs.js +3 -3
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +1 -1
  16. package/dist/cjs/{modal-01eed1bf.js → modal-f09e431f.js} +2 -2
  17. package/dist/cjs/{modal-01eed1bf.js.map → modal-f09e431f.js.map} +1 -1
  18. package/dist/cjs/nano-accordion.cjs.entry.js +2 -4
  19. package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
  20. package/dist/cjs/nano-alert.cjs.entry.js +6 -6
  21. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  22. package/dist/cjs/nano-algolia-filter.cjs.entry.js +1 -1
  23. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  24. package/dist/cjs/nano-algolia-input.cjs.entry.js +1 -1
  25. package/dist/cjs/nano-algolia.cjs.entry.js +9 -5
  26. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
  28. package/dist/cjs/nano-aspect-ratio.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-checkbox-group.cjs.entry.js +4 -1
  30. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-checkbox.cjs.entry.js +1 -1
  32. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nano-components.cjs.js +1 -1
  34. package/dist/cjs/nano-datalist_3.cjs.entry.js +790 -0
  35. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -0
  36. package/dist/cjs/nano-date-input.cjs.entry.js +9 -5
  37. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/{nano-date-picker_2.cjs.entry.js → nano-date-picker.cjs.entry.js} +2 -274
  39. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -0
  40. package/dist/cjs/nano-details.cjs.entry.js +2 -2
  41. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nano-dialog.cjs.entry.js +5 -5
  43. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nano-drawer.cjs.entry.js +5 -5
  45. package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nano-dropdown.cjs.entry.js +307 -0
  47. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -0
  48. package/dist/cjs/nano-file-upload.cjs.entry.js +1 -1
  49. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nano-global-nav.cjs.entry.js +19 -24
  51. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nano-global-search-results.cjs.entry.js +200 -115
  53. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-grid_3.cjs.entry.js +15 -7
  55. package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nano-hero.cjs.entry.js +13 -5
  57. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nano-icon-button.cjs.entry.js +2 -2
  59. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nano-icon.cjs.entry.js +1 -1
  61. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  62. package/dist/cjs/nano-input.cjs.entry.js +80 -75
  63. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nano-menu-drawer.cjs.entry.js +2 -2
  65. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  66. package/dist/cjs/nano-nav-item_2.cjs.entry.js +287 -533
  67. package/dist/cjs/nano-nav-item_2.cjs.entry.js.map +1 -1
  68. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  69. package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
  70. package/dist/cjs/nano-rating.cjs.entry.js +2 -2
  71. package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
  72. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -1
  73. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  74. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  75. package/dist/cjs/nano-slide.cjs.entry.js.map +1 -1
  76. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  77. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  78. package/dist/cjs/nano-spinner.cjs.entry.js +1 -1
  79. package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
  80. package/dist/cjs/nano-sticker.cjs.entry.js +3 -3
  81. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  82. package/dist/cjs/nano-tab-content.cjs.entry.js +2 -2
  83. package/dist/cjs/nano-tab-content.cjs.entry.js.map +1 -1
  84. package/dist/cjs/nano-tab-group.cjs.entry.js +72 -36
  85. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  86. package/dist/cjs/nano-tab.cjs.entry.js +9 -2
  87. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  88. package/dist/cjs/nano-tooltip.cjs.entry.js +2 -2
  89. package/dist/cjs/nano-tooltip.cjs.entry.js.map +1 -1
  90. package/dist/cjs/{popover-d033efa2.js → popover-86f1775c.js} +10 -1
  91. package/dist/cjs/popover-86f1775c.js.map +1 -0
  92. package/dist/cjs/{scroll-d7753eed.js → scroll-6b9e6870.js} +2 -2
  93. package/dist/cjs/{scroll-d7753eed.js.map → scroll-6b9e6870.js.map} +1 -1
  94. package/dist/cjs/{tabbable-615c30e1.js → tabbable-de4c23d8.js} +8 -6
  95. package/dist/cjs/tabbable-de4c23d8.js.map +1 -0
  96. package/dist/collection/collection-manifest.json +3 -2
  97. package/dist/collection/components/accordion/accordion.css +3 -0
  98. package/dist/collection/components/accordion/accordion.js +2 -5
  99. package/dist/collection/components/accordion/accordion.js.map +1 -1
  100. package/dist/collection/components/alert/alert.css +5 -6
  101. package/dist/collection/components/alert/alert.helpers.js +2 -2
  102. package/dist/collection/components/alert/alert.helpers.js.map +1 -1
  103. package/dist/collection/components/alert/alert.js +1 -1
  104. package/dist/collection/components/algolia/algolia-filter.css +3 -0
  105. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  106. package/dist/collection/components/algolia/algolia-input.js +5 -5
  107. package/dist/collection/components/algolia/algolia-results.js +1 -1
  108. package/dist/collection/components/algolia/algolia.css +3 -0
  109. package/dist/collection/components/algolia/algolia.js +6 -6
  110. package/dist/collection/components/aspect-ratio/aspect-ratio.css +3 -0
  111. package/dist/collection/components/checkbox/checkbox-group.css +3 -0
  112. package/dist/collection/components/checkbox/checkbox-group.js +5 -2
  113. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  114. package/dist/collection/components/checkbox/checkbox.css +3 -0
  115. package/dist/collection/components/checkbox/checkbox.js +3 -3
  116. package/dist/collection/components/datalist/datalist.css +55 -0
  117. package/dist/collection/components/datalist/datalist.js +796 -0
  118. package/dist/collection/components/datalist/datalist.js.map +1 -0
  119. package/dist/collection/components/date-input/date-input.css +3 -0
  120. package/dist/collection/components/date-input/date-input.js +18 -10
  121. package/dist/collection/components/date-input/date-input.js.map +1 -1
  122. package/dist/collection/components/date-picker/date-picker.css +3 -0
  123. package/dist/collection/components/date-picker/date-picker.js +5 -5
  124. package/dist/collection/components/details/details.css +3 -0
  125. package/dist/collection/components/details/details.js +2 -3
  126. package/dist/collection/components/details/details.js.map +1 -1
  127. package/dist/collection/components/dialog/dialog.css +4 -1
  128. package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
  129. package/dist/collection/components/dialog/dialog.js +1 -1
  130. package/dist/collection/components/drawer/drawer.css +3 -0
  131. package/dist/collection/components/dropdown/dropdown.css +19 -2
  132. package/dist/collection/components/dropdown/dropdown.js +56 -39
  133. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  134. package/dist/collection/components/file-upload/file-upload.css +5 -2
  135. package/dist/collection/components/file-upload/file-upload.js +4 -4
  136. package/dist/collection/components/form-control/form-control.js +73 -0
  137. package/dist/collection/components/form-control/form-control.js.map +1 -0
  138. package/dist/collection/components/global-nav/global-nav.css +43 -37
  139. package/dist/collection/components/global-nav/global-nav.js +21 -26
  140. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  141. package/dist/collection/components/global-search-results/global-search-results.css +299 -18
  142. package/dist/collection/components/global-search-results/global-search-results.js +200 -113
  143. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  144. package/dist/collection/components/grid/grid-item.css +3 -0
  145. package/dist/collection/components/grid/grid-item.js +1 -1
  146. package/dist/collection/components/grid/grid.css +3 -0
  147. package/dist/collection/components/grid/grid.js +37 -6
  148. package/dist/collection/components/grid/grid.js.map +1 -1
  149. package/dist/collection/components/hero/hero.css +13 -5
  150. package/dist/collection/components/hero/hero.js +32 -22
  151. package/dist/collection/components/hero/hero.js.map +1 -1
  152. package/dist/collection/components/icon/icon.css +3 -0
  153. package/dist/collection/components/icon/icon.js +1 -1
  154. package/dist/collection/components/icon-button/icon-button.css +6 -1
  155. package/dist/collection/components/icon-button/icon-button.js +1 -1
  156. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  157. package/dist/collection/components/img/img.css +3 -0
  158. package/dist/collection/components/input/input.css +242 -232
  159. package/dist/collection/components/input/input.js +111 -114
  160. package/dist/collection/components/input/input.js.map +1 -1
  161. package/dist/collection/components/menu/menu.css +27 -35
  162. package/dist/collection/components/menu/menu.js +222 -48
  163. package/dist/collection/components/menu/menu.js.map +1 -1
  164. package/dist/collection/components/menu-drawer/menu-drawer.css +3 -0
  165. package/dist/collection/components/nav-item/nav-item.css +3 -0
  166. package/dist/collection/components/nav-item/nav-item.js +5 -5
  167. package/dist/collection/components/nav-item/nav-item.js.map +1 -1
  168. package/dist/collection/components/option/option-interface.js +5 -0
  169. package/dist/collection/components/option/option-interface.js.map +1 -0
  170. package/dist/collection/components/option/option.css +187 -0
  171. package/dist/collection/components/option/option.js +242 -0
  172. package/dist/collection/components/option/option.js.map +1 -0
  173. package/dist/collection/components/range/range.css +3 -0
  174. package/dist/collection/components/range/range.js +4 -4
  175. package/dist/collection/components/rating/rating.css +3 -0
  176. package/dist/collection/components/resize-observe/resize-observe.js +1 -1
  177. package/dist/collection/components/select/select.css +458 -391
  178. package/dist/collection/components/select/select.js +367 -607
  179. package/dist/collection/components/select/select.js.map +1 -1
  180. package/dist/collection/components/skeleton/skeleton.css +3 -0
  181. package/dist/collection/components/slides/slide.css +3 -0
  182. package/dist/collection/components/slides/slides.css +3 -0
  183. package/dist/collection/components/slides/slides.js +7 -7
  184. package/dist/collection/components/spinner/spinner.css +3 -0
  185. package/dist/collection/components/sticky/sticker.css +3 -0
  186. package/dist/collection/components/tabs/tab-content.css +3 -0
  187. package/dist/collection/components/tabs/tab-content.js +3 -3
  188. package/dist/collection/components/tabs/tab-content.js.map +1 -1
  189. package/dist/collection/components/tabs/tab-group.css +16 -5
  190. package/dist/collection/components/tabs/tab-group.js +137 -41
  191. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  192. package/dist/collection/components/tabs/tab.css +36 -6
  193. package/dist/collection/components/tabs/tab.js +45 -2
  194. package/dist/collection/components/tabs/tab.js.map +1 -1
  195. package/dist/collection/components/tooltip/tooltip.css +3 -0
  196. package/dist/collection/utils/active-element.js +16 -0
  197. package/dist/collection/utils/active-element.js.map +1 -0
  198. package/dist/collection/utils/dom.js +24 -5
  199. package/dist/collection/utils/dom.js.map +1 -1
  200. package/dist/collection/utils/index.js +13 -13
  201. package/dist/collection/utils/index.js.map +1 -1
  202. package/dist/collection/utils/popover.js +9 -0
  203. package/dist/collection/utils/popover.js.map +1 -1
  204. package/dist/collection/utils/tabbable.js +7 -5
  205. package/dist/collection/utils/tabbable.js.map +1 -1
  206. package/dist/collection/utils/template.js +5 -1
  207. package/dist/collection/utils/template.js.map +1 -1
  208. package/dist/collection/utils/testing/index.js +11 -1
  209. package/dist/collection/utils/testing/index.js.map +1 -1
  210. package/dist/components/ResizeObserver.es.js +933 -0
  211. package/dist/components/ResizeObserver.es.js.map +1 -0
  212. package/dist/components/_commonjsHelpers.js +41 -0
  213. package/dist/components/_commonjsHelpers.js.map +1 -0
  214. package/dist/components/active-element.js +19 -0
  215. package/dist/components/active-element.js.map +1 -0
  216. package/dist/components/algolia-data.js +49 -0
  217. package/dist/components/algolia-data.js.map +1 -0
  218. package/dist/components/algolia.js +906 -0
  219. package/dist/components/algolia.js.map +1 -0
  220. package/dist/components/algoliasearch.umd.js +13 -0
  221. package/dist/components/algoliasearch.umd.js.map +1 -0
  222. package/dist/components/component-store.js +2234 -0
  223. package/dist/components/component-store.js.map +1 -0
  224. package/dist/components/datalist.js +557 -0
  225. package/dist/components/datalist.js.map +1 -0
  226. package/dist/components/date-picker.js +624 -0
  227. package/dist/components/date-picker.js.map +1 -0
  228. package/dist/{esm/dom-a791b223.js → components/dom.js} +25 -6
  229. package/dist/components/dom.js.map +1 -0
  230. package/dist/components/dropdown.js +332 -0
  231. package/dist/components/dropdown.js.map +1 -0
  232. package/dist/components/focus-visible.js +66 -0
  233. package/dist/components/focus-visible.js.map +1 -0
  234. package/dist/components/form-control.js +77 -0
  235. package/dist/components/form-control.js.map +1 -0
  236. package/dist/components/grid-item.js +112 -0
  237. package/dist/components/grid-item.js.map +1 -0
  238. package/dist/components/grid.js +276 -0
  239. package/dist/components/grid.js.map +1 -0
  240. package/dist/components/icon-button.js +70 -0
  241. package/dist/components/icon-button.js.map +1 -0
  242. package/dist/components/icon.js +269 -0
  243. package/dist/components/icon.js.map +1 -0
  244. package/dist/components/img.js +184 -0
  245. package/dist/components/img.js.map +1 -0
  246. package/dist/components/index.d.ts +26 -0
  247. package/dist/components/index.js +251 -0
  248. package/dist/components/index.js.map +1 -0
  249. package/dist/{esm/index-f41ae118.js → components/index2.js} +13 -27
  250. package/dist/components/index2.js.map +1 -0
  251. package/dist/components/index3.js +1075 -0
  252. package/dist/components/index3.js.map +1 -0
  253. package/dist/components/index4.js +637 -0
  254. package/dist/components/index4.js.map +1 -0
  255. package/dist/components/input.js +474 -0
  256. package/dist/components/input.js.map +1 -0
  257. package/dist/components/intersection-observer.js +985 -0
  258. package/dist/components/intersection-observer.js.map +1 -0
  259. package/dist/components/local-my-account.js +353 -0
  260. package/dist/components/local-my-account.js.map +1 -0
  261. package/dist/components/menu.js +235 -0
  262. package/dist/components/menu.js.map +1 -0
  263. package/dist/components/modal.js +48 -0
  264. package/dist/components/modal.js.map +1 -0
  265. package/dist/components/nano-accordion.d.ts +11 -0
  266. package/dist/components/nano-accordion.js +63 -0
  267. package/dist/components/nano-accordion.js.map +1 -0
  268. package/dist/components/nano-alert.d.ts +11 -0
  269. package/dist/components/nano-alert.js +296 -0
  270. package/dist/components/nano-alert.js.map +1 -0
  271. package/dist/components/nano-algolia-filter.d.ts +11 -0
  272. package/dist/components/nano-algolia-filter.js +317 -0
  273. package/dist/components/nano-algolia-filter.js.map +1 -0
  274. package/dist/components/nano-algolia-input.d.ts +11 -0
  275. package/dist/components/nano-algolia-input.js +224 -0
  276. package/dist/components/nano-algolia-input.js.map +1 -0
  277. package/dist/components/nano-algolia-pagination.d.ts +11 -0
  278. package/dist/components/nano-algolia-pagination.js +104 -0
  279. package/dist/components/nano-algolia-pagination.js.map +1 -0
  280. package/dist/components/nano-algolia-results.d.ts +11 -0
  281. package/dist/components/nano-algolia-results.js +224 -0
  282. package/dist/components/nano-algolia-results.js.map +1 -0
  283. package/dist/components/nano-algolia.d.ts +11 -0
  284. package/dist/components/nano-algolia.js +11 -0
  285. package/dist/components/nano-algolia.js.map +1 -0
  286. package/dist/components/nano-aspect-ratio.d.ts +11 -0
  287. package/dist/components/nano-aspect-ratio.js +74 -0
  288. package/dist/components/nano-aspect-ratio.js.map +1 -0
  289. package/dist/components/nano-checkbox-group.d.ts +11 -0
  290. package/dist/components/nano-checkbox-group.js +235 -0
  291. package/dist/components/nano-checkbox-group.js.map +1 -0
  292. package/dist/components/nano-checkbox.d.ts +11 -0
  293. package/dist/components/nano-checkbox.js +231 -0
  294. package/dist/components/nano-checkbox.js.map +1 -0
  295. package/dist/components/nano-datalist.d.ts +11 -0
  296. package/dist/components/nano-datalist.js +11 -0
  297. package/dist/components/nano-datalist.js.map +1 -0
  298. package/dist/components/nano-date-input.d.ts +11 -0
  299. package/dist/components/nano-date-input.js +408 -0
  300. package/dist/components/nano-date-input.js.map +1 -0
  301. package/dist/components/nano-date-picker.d.ts +11 -0
  302. package/dist/components/nano-date-picker.js +11 -0
  303. package/dist/components/nano-date-picker.js.map +1 -0
  304. package/dist/components/nano-details.d.ts +11 -0
  305. package/dist/components/nano-details.js +162 -0
  306. package/dist/components/nano-details.js.map +1 -0
  307. package/dist/components/nano-dialog.d.ts +11 -0
  308. package/dist/components/nano-dialog.js +231 -0
  309. package/dist/components/nano-dialog.js.map +1 -0
  310. package/dist/components/nano-drawer.d.ts +11 -0
  311. package/dist/components/nano-drawer.js +217 -0
  312. package/dist/components/nano-drawer.js.map +1 -0
  313. package/dist/components/nano-dropdown.d.ts +11 -0
  314. package/dist/components/nano-dropdown.js +11 -0
  315. package/dist/components/nano-dropdown.js.map +1 -0
  316. package/dist/components/nano-file-upload.d.ts +11 -0
  317. package/dist/components/nano-file-upload.js +421 -0
  318. package/dist/components/nano-file-upload.js.map +1 -0
  319. package/dist/components/nano-global-nav.d.ts +11 -0
  320. package/dist/components/nano-global-nav.js +1221 -0
  321. package/dist/components/nano-global-nav.js.map +1 -0
  322. package/dist/components/nano-global-search-results.d.ts +11 -0
  323. package/dist/components/nano-global-search-results.js +608 -0
  324. package/dist/components/nano-global-search-results.js.map +1 -0
  325. package/dist/components/nano-grid-item.d.ts +11 -0
  326. package/dist/components/nano-grid-item.js +11 -0
  327. package/dist/components/nano-grid-item.js.map +1 -0
  328. package/dist/components/nano-grid.d.ts +11 -0
  329. package/dist/components/nano-grid.js +11 -0
  330. package/dist/components/nano-grid.js.map +1 -0
  331. package/dist/components/nano-hero.d.ts +11 -0
  332. package/dist/components/nano-hero.js +187 -0
  333. package/dist/components/nano-hero.js.map +1 -0
  334. package/dist/components/nano-icon-button.d.ts +11 -0
  335. package/dist/components/nano-icon-button.js +11 -0
  336. package/dist/components/nano-icon-button.js.map +1 -0
  337. package/dist/components/nano-icon.d.ts +11 -0
  338. package/dist/components/nano-icon.js +11 -0
  339. package/dist/components/nano-icon.js.map +1 -0
  340. package/dist/components/nano-img.d.ts +11 -0
  341. package/dist/components/nano-img.js +11 -0
  342. package/dist/components/nano-img.js.map +1 -0
  343. package/dist/components/nano-input.d.ts +11 -0
  344. package/dist/components/nano-input.js +11 -0
  345. package/dist/components/nano-input.js.map +1 -0
  346. package/dist/components/nano-menu-drawer.d.ts +11 -0
  347. package/dist/components/nano-menu-drawer.js +221 -0
  348. package/dist/components/nano-menu-drawer.js.map +1 -0
  349. package/dist/components/nano-menu.d.ts +11 -0
  350. package/dist/components/nano-menu.js +11 -0
  351. package/dist/components/nano-menu.js.map +1 -0
  352. package/dist/components/nano-nav-item.d.ts +11 -0
  353. package/dist/components/nano-nav-item.js +11 -0
  354. package/dist/components/nano-nav-item.js.map +1 -0
  355. package/dist/components/nano-option.d.ts +11 -0
  356. package/dist/components/nano-option.js +11 -0
  357. package/dist/components/nano-option.js.map +1 -0
  358. package/dist/components/nano-range.d.ts +11 -0
  359. package/dist/components/nano-range.js +430 -0
  360. package/dist/components/nano-range.js.map +1 -0
  361. package/dist/components/nano-rating.d.ts +11 -0
  362. package/dist/components/nano-rating.js +240 -0
  363. package/dist/components/nano-rating.js.map +1 -0
  364. package/dist/components/nano-resize-observe.d.ts +11 -0
  365. package/dist/components/nano-resize-observe.js +11 -0
  366. package/dist/components/nano-resize-observe.js.map +1 -0
  367. package/dist/components/nano-select.d.ts +11 -0
  368. package/dist/components/nano-select.js +11 -0
  369. package/dist/components/nano-select.js.map +1 -0
  370. package/dist/components/nano-skeleton.d.ts +11 -0
  371. package/dist/components/nano-skeleton.js +11 -0
  372. package/dist/components/nano-skeleton.js.map +1 -0
  373. package/dist/components/nano-slide.d.ts +11 -0
  374. package/dist/components/nano-slide.js +66 -0
  375. package/dist/components/nano-slide.js.map +1 -0
  376. package/dist/components/nano-slides.d.ts +11 -0
  377. package/dist/components/nano-slides.js +4335 -0
  378. package/dist/components/nano-slides.js.map +1 -0
  379. package/dist/components/nano-spinner.d.ts +11 -0
  380. package/dist/components/nano-spinner.js +11 -0
  381. package/dist/components/nano-spinner.js.map +1 -0
  382. package/dist/components/nano-sticker.d.ts +11 -0
  383. package/dist/components/nano-sticker.js +11 -0
  384. package/dist/components/nano-sticker.js.map +1 -0
  385. package/dist/components/nano-tab-content.d.ts +11 -0
  386. package/dist/components/nano-tab-content.js +49 -0
  387. package/dist/components/nano-tab-content.js.map +1 -0
  388. package/dist/components/nano-tab-group.d.ts +11 -0
  389. package/dist/components/nano-tab-group.js +460 -0
  390. package/dist/components/nano-tab-group.js.map +1 -0
  391. package/dist/components/nano-tab.d.ts +11 -0
  392. package/dist/components/nano-tab.js +86 -0
  393. package/dist/components/nano-tab.js.map +1 -0
  394. package/dist/components/nano-tooltip.d.ts +11 -0
  395. package/dist/components/nano-tooltip.js +11 -0
  396. package/dist/components/nano-tooltip.js.map +1 -0
  397. package/dist/components/nav-item.js +327 -0
  398. package/dist/components/nav-item.js.map +1 -0
  399. package/dist/components/option.js +120 -0
  400. package/dist/components/option.js.map +1 -0
  401. package/dist/{esm/popover-2c7b2326.js → components/popover.js} +10 -1
  402. package/dist/components/popover.js.map +1 -0
  403. package/dist/components/resize-observe.js +162 -0
  404. package/dist/components/resize-observe.js.map +1 -0
  405. package/dist/{esm/scroll-5cd0ab13.js → components/scroll.js} +2 -2
  406. package/dist/components/scroll.js.map +1 -0
  407. package/dist/components/select.js +670 -0
  408. package/dist/components/select.js.map +1 -0
  409. package/dist/components/skeleton.js +43 -0
  410. package/dist/components/skeleton.js.map +1 -0
  411. package/dist/components/slot.js +48 -0
  412. package/dist/components/slot.js.map +1 -0
  413. package/dist/components/spinner.js +49 -0
  414. package/dist/components/spinner.js.map +1 -0
  415. package/dist/components/sticker.js +665 -0
  416. package/dist/components/sticker.js.map +1 -0
  417. package/dist/{esm/tabbable-e21f860a.js → components/tabbable.js} +8 -6
  418. package/dist/components/tabbable.js.map +1 -0
  419. package/dist/components/theme.js +29 -0
  420. package/dist/components/theme.js.map +1 -0
  421. package/dist/components/throttle.js +55 -0
  422. package/dist/components/throttle.js.map +1 -0
  423. package/dist/components/tooltip.js +216 -0
  424. package/dist/components/tooltip.js.map +1 -0
  425. package/dist/custom-elements/index.d.ts +12 -6
  426. package/dist/custom-elements/index.js +1745 -1116
  427. package/dist/custom-elements/index.js.map +1 -1
  428. package/dist/esm/active-element-75b7c8a0.js +19 -0
  429. package/dist/esm/active-element-75b7c8a0.js.map +1 -0
  430. package/dist/esm/{algoliasearch.umd-8e5aff52.js → algoliasearch.umd-6d09b727.js} +3 -3
  431. package/dist/esm/{algoliasearch.umd-8e5aff52.js.map → algoliasearch.umd-6d09b727.js.map} +1 -1
  432. package/dist/esm/dom-faa69d29.js +75 -0
  433. package/dist/esm/dom-faa69d29.js.map +1 -0
  434. package/dist/esm/form-control-67eeb108.js +77 -0
  435. package/dist/esm/form-control-67eeb108.js.map +1 -0
  436. package/dist/esm/index-5f8d16e7.js +12 -12
  437. package/dist/esm/index-bf53664b.js +74 -0
  438. package/dist/esm/{index-f41ae118.js.map → index-bf53664b.js.map} +1 -1
  439. package/dist/esm/index.js +4 -4
  440. package/dist/esm/index.js.map +1 -1
  441. package/dist/esm/loader.js +1 -1
  442. package/dist/esm/{modal-eb0a9bb3.js → modal-215df46b.js} +2 -2
  443. package/dist/esm/{modal-eb0a9bb3.js.map → modal-215df46b.js.map} +1 -1
  444. package/dist/esm/nano-accordion.entry.js +2 -4
  445. package/dist/esm/nano-accordion.entry.js.map +1 -1
  446. package/dist/esm/nano-alert.entry.js +6 -6
  447. package/dist/esm/nano-alert.entry.js.map +1 -1
  448. package/dist/esm/nano-algolia-filter.entry.js +1 -1
  449. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  450. package/dist/esm/nano-algolia-input.entry.js +1 -1
  451. package/dist/esm/nano-algolia.entry.js +9 -5
  452. package/dist/esm/nano-algolia.entry.js.map +1 -1
  453. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  454. package/dist/esm/nano-aspect-ratio.entry.js.map +1 -1
  455. package/dist/esm/nano-checkbox-group.entry.js +4 -1
  456. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  457. package/dist/esm/nano-checkbox.entry.js +1 -1
  458. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  459. package/dist/esm/nano-components.js +1 -1
  460. package/dist/esm/nano-datalist_3.entry.js +784 -0
  461. package/dist/esm/nano-datalist_3.entry.js.map +1 -0
  462. package/dist/esm/nano-date-input.entry.js +9 -5
  463. package/dist/esm/nano-date-input.entry.js.map +1 -1
  464. package/dist/esm/{nano-date-picker_2.entry.js → nano-date-picker.entry.js} +3 -274
  465. package/dist/esm/nano-date-picker.entry.js.map +1 -0
  466. package/dist/esm/nano-details.entry.js +2 -2
  467. package/dist/esm/nano-details.entry.js.map +1 -1
  468. package/dist/esm/nano-dialog.entry.js +5 -5
  469. package/dist/esm/nano-dialog.entry.js.map +1 -1
  470. package/dist/esm/nano-drawer.entry.js +5 -5
  471. package/dist/esm/nano-drawer.entry.js.map +1 -1
  472. package/dist/esm/nano-dropdown.entry.js +303 -0
  473. package/dist/esm/nano-dropdown.entry.js.map +1 -0
  474. package/dist/esm/nano-file-upload.entry.js +1 -1
  475. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  476. package/dist/esm/nano-global-nav.entry.js +19 -24
  477. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  478. package/dist/esm/nano-global-search-results.entry.js +200 -115
  479. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  480. package/dist/esm/nano-grid_3.entry.js +16 -8
  481. package/dist/esm/nano-grid_3.entry.js.map +1 -1
  482. package/dist/esm/nano-hero.entry.js +14 -6
  483. package/dist/esm/nano-hero.entry.js.map +1 -1
  484. package/dist/esm/nano-icon-button.entry.js +2 -2
  485. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  486. package/dist/esm/nano-icon.entry.js +1 -1
  487. package/dist/esm/nano-icon.entry.js.map +1 -1
  488. package/dist/esm/nano-input.entry.js +80 -75
  489. package/dist/esm/nano-input.entry.js.map +1 -1
  490. package/dist/esm/nano-menu-drawer.entry.js +2 -2
  491. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  492. package/dist/esm/nano-nav-item_2.entry.js +287 -533
  493. package/dist/esm/nano-nav-item_2.entry.js.map +1 -1
  494. package/dist/esm/nano-range.entry.js +2 -2
  495. package/dist/esm/nano-range.entry.js.map +1 -1
  496. package/dist/esm/nano-rating.entry.js +2 -2
  497. package/dist/esm/nano-rating.entry.js.map +1 -1
  498. package/dist/esm/nano-resize-observe_2.entry.js +1 -1
  499. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  500. package/dist/esm/nano-slide.entry.js +1 -1
  501. package/dist/esm/nano-slide.entry.js.map +1 -1
  502. package/dist/esm/nano-slides.entry.js +1 -1
  503. package/dist/esm/nano-slides.entry.js.map +1 -1
  504. package/dist/esm/nano-spinner.entry.js +1 -1
  505. package/dist/esm/nano-spinner.entry.js.map +1 -1
  506. package/dist/esm/nano-sticker.entry.js +3 -3
  507. package/dist/esm/nano-sticker.entry.js.map +1 -1
  508. package/dist/esm/nano-tab-content.entry.js +2 -2
  509. package/dist/esm/nano-tab-content.entry.js.map +1 -1
  510. package/dist/esm/nano-tab-group.entry.js +72 -36
  511. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  512. package/dist/esm/nano-tab.entry.js +10 -3
  513. package/dist/esm/nano-tab.entry.js.map +1 -1
  514. package/dist/esm/nano-tooltip.entry.js +2 -2
  515. package/dist/esm/nano-tooltip.entry.js.map +1 -1
  516. package/dist/esm/popover-db86a392.js +1893 -0
  517. package/dist/esm/popover-db86a392.js.map +1 -0
  518. package/dist/esm/scroll-881feb46.js +76 -0
  519. package/dist/esm/{scroll-5cd0ab13.js.map → scroll-881feb46.js.map} +1 -1
  520. package/dist/esm/tabbable-614f515e.js +94 -0
  521. package/dist/esm/tabbable-614f515e.js.map +1 -0
  522. package/dist/esm-es5/active-element-75b7c8a0.js +5 -0
  523. package/dist/esm-es5/active-element-75b7c8a0.js.map +1 -0
  524. package/dist/esm-es5/{algoliasearch.umd-8e5aff52.js → algoliasearch.umd-6d09b727.js} +3 -3
  525. package/dist/esm-es5/{algoliasearch.umd-8e5aff52.js.map → algoliasearch.umd-6d09b727.js.map} +1 -1
  526. package/dist/esm-es5/dom-faa69d29.js +5 -0
  527. package/dist/esm-es5/dom-faa69d29.js.map +1 -0
  528. package/dist/esm-es5/form-control-67eeb108.js +5 -0
  529. package/dist/esm-es5/form-control-67eeb108.js.map +1 -0
  530. package/dist/esm-es5/index-5f8d16e7.js +1 -1
  531. package/dist/esm-es5/index-bf53664b.js +5 -0
  532. package/dist/esm-es5/index-bf53664b.js.map +1 -0
  533. package/dist/esm-es5/index.js +1 -1
  534. package/dist/esm-es5/index.js.map +1 -1
  535. package/dist/esm-es5/loader.js +1 -1
  536. package/dist/esm-es5/loader.js.map +1 -1
  537. package/dist/esm-es5/{modal-eb0a9bb3.js → modal-215df46b.js} +2 -2
  538. package/dist/esm-es5/{modal-eb0a9bb3.js.map → modal-215df46b.js.map} +0 -0
  539. package/dist/esm-es5/nano-accordion.entry.js +1 -1
  540. package/dist/esm-es5/nano-accordion.entry.js.map +1 -1
  541. package/dist/esm-es5/nano-alert.entry.js +1 -1
  542. package/dist/esm-es5/nano-alert.entry.js.map +1 -1
  543. package/dist/esm-es5/nano-algolia-filter.entry.js +1 -1
  544. package/dist/esm-es5/nano-algolia-filter.entry.js.map +1 -1
  545. package/dist/esm-es5/nano-algolia-input.entry.js +1 -1
  546. package/dist/esm-es5/nano-algolia.entry.js +1 -1
  547. package/dist/esm-es5/nano-algolia.entry.js.map +1 -1
  548. package/dist/esm-es5/nano-aspect-ratio.entry.js +1 -1
  549. package/dist/esm-es5/nano-aspect-ratio.entry.js.map +1 -1
  550. package/dist/esm-es5/nano-checkbox-group.entry.js +1 -1
  551. package/dist/esm-es5/nano-checkbox-group.entry.js.map +1 -1
  552. package/dist/esm-es5/nano-checkbox.entry.js +1 -1
  553. package/dist/esm-es5/nano-checkbox.entry.js.map +1 -1
  554. package/dist/esm-es5/nano-components.js +1 -1
  555. package/dist/esm-es5/nano-components.js.map +1 -1
  556. package/dist/esm-es5/nano-datalist_3.entry.js +5 -0
  557. package/dist/esm-es5/nano-datalist_3.entry.js.map +1 -0
  558. package/dist/esm-es5/nano-date-input.entry.js +1 -1
  559. package/dist/esm-es5/nano-date-input.entry.js.map +1 -1
  560. package/dist/esm-es5/nano-date-picker.entry.js +5 -0
  561. package/dist/esm-es5/nano-date-picker.entry.js.map +1 -0
  562. package/dist/esm-es5/nano-details.entry.js +1 -1
  563. package/dist/esm-es5/nano-details.entry.js.map +1 -1
  564. package/dist/esm-es5/nano-dialog.entry.js +1 -1
  565. package/dist/esm-es5/nano-dialog.entry.js.map +1 -1
  566. package/dist/esm-es5/nano-drawer.entry.js +1 -1
  567. package/dist/esm-es5/nano-drawer.entry.js.map +1 -1
  568. package/dist/esm-es5/nano-dropdown.entry.js +5 -0
  569. package/dist/esm-es5/nano-dropdown.entry.js.map +1 -0
  570. package/dist/esm-es5/nano-file-upload.entry.js +1 -1
  571. package/dist/esm-es5/nano-file-upload.entry.js.map +1 -1
  572. package/dist/esm-es5/nano-global-nav.entry.js +1 -1
  573. package/dist/esm-es5/nano-global-nav.entry.js.map +1 -1
  574. package/dist/esm-es5/nano-global-search-results.entry.js +2 -2
  575. package/dist/esm-es5/nano-global-search-results.entry.js.map +1 -1
  576. package/dist/esm-es5/nano-grid_3.entry.js +1 -1
  577. package/dist/esm-es5/nano-grid_3.entry.js.map +1 -1
  578. package/dist/esm-es5/nano-hero.entry.js +1 -1
  579. package/dist/esm-es5/nano-hero.entry.js.map +1 -1
  580. package/dist/esm-es5/nano-icon-button.entry.js +1 -1
  581. package/dist/esm-es5/nano-icon-button.entry.js.map +1 -1
  582. package/dist/esm-es5/nano-icon.entry.js +1 -1
  583. package/dist/esm-es5/nano-icon.entry.js.map +1 -1
  584. package/dist/esm-es5/nano-input.entry.js +2 -2
  585. package/dist/esm-es5/nano-input.entry.js.map +1 -1
  586. package/dist/esm-es5/nano-menu-drawer.entry.js +1 -1
  587. package/dist/esm-es5/nano-menu-drawer.entry.js.map +1 -1
  588. package/dist/esm-es5/nano-nav-item_2.entry.js +1 -1
  589. package/dist/esm-es5/nano-nav-item_2.entry.js.map +1 -1
  590. package/dist/esm-es5/nano-range.entry.js +1 -1
  591. package/dist/esm-es5/nano-range.entry.js.map +1 -1
  592. package/dist/esm-es5/nano-rating.entry.js +1 -1
  593. package/dist/esm-es5/nano-rating.entry.js.map +1 -1
  594. package/dist/esm-es5/nano-resize-observe_2.entry.js +2 -2
  595. package/dist/esm-es5/nano-resize-observe_2.entry.js.map +1 -1
  596. package/dist/esm-es5/nano-slide.entry.js +1 -1
  597. package/dist/esm-es5/nano-slide.entry.js.map +1 -1
  598. package/dist/esm-es5/nano-slides.entry.js +1 -1
  599. package/dist/esm-es5/nano-slides.entry.js.map +1 -1
  600. package/dist/esm-es5/nano-spinner.entry.js +1 -1
  601. package/dist/esm-es5/nano-spinner.entry.js.map +1 -1
  602. package/dist/esm-es5/nano-sticker.entry.js +1 -1
  603. package/dist/esm-es5/nano-sticker.entry.js.map +1 -1
  604. package/dist/esm-es5/nano-tab-content.entry.js +1 -1
  605. package/dist/esm-es5/nano-tab-content.entry.js.map +1 -1
  606. package/dist/esm-es5/nano-tab-group.entry.js +2 -2
  607. package/dist/esm-es5/nano-tab-group.entry.js.map +1 -1
  608. package/dist/esm-es5/nano-tab.entry.js +2 -2
  609. package/dist/esm-es5/nano-tab.entry.js.map +1 -1
  610. package/dist/esm-es5/nano-tooltip.entry.js +1 -1
  611. package/dist/esm-es5/nano-tooltip.entry.js.map +1 -1
  612. package/dist/esm-es5/{popover-2c7b2326.js → popover-db86a392.js} +2 -2
  613. package/dist/esm-es5/popover-db86a392.js.map +1 -0
  614. package/dist/esm-es5/{scroll-5cd0ab13.js → scroll-881feb46.js} +2 -2
  615. package/dist/esm-es5/{scroll-5cd0ab13.js.map → scroll-881feb46.js.map} +0 -0
  616. package/dist/esm-es5/tabbable-614f515e.js +5 -0
  617. package/dist/esm-es5/tabbable-614f515e.js.map +1 -0
  618. package/dist/nano-components/index.esm.js +1 -1
  619. package/dist/nano-components/index.esm.js.map +1 -1
  620. package/dist/nano-components/nano-components.css +1 -1
  621. package/dist/nano-components/nano-components.esm.js +1 -1
  622. package/dist/nano-components/nano-components.esm.js.map +1 -1
  623. package/dist/nano-components/{p-2f21a443.system.entry.js → p-033296c7.system.entry.js} +2 -2
  624. package/dist/nano-components/{p-2f21a443.system.entry.js.map → p-033296c7.system.entry.js.map} +1 -1
  625. package/dist/nano-components/p-040b6cda.entry.js +5 -0
  626. package/dist/nano-components/{p-61565b5a.entry.js.map → p-040b6cda.entry.js.map} +1 -1
  627. package/dist/nano-components/p-05c7bde1.system.entry.js +5 -0
  628. package/dist/nano-components/{p-30df44d9.system.entry.js.map → p-05c7bde1.system.entry.js.map} +1 -1
  629. package/dist/nano-components/p-07bdf44d.entry.js +5 -0
  630. package/dist/nano-components/{p-88bcf55b.entry.js.map → p-07bdf44d.entry.js.map} +1 -1
  631. package/dist/nano-components/p-09066701.system.entry.js +5 -0
  632. package/dist/nano-components/p-09066701.system.entry.js.map +1 -0
  633. package/dist/nano-components/p-090f22a9.system.entry.js +5 -0
  634. package/dist/nano-components/{p-854df906.system.entry.js.map → p-090f22a9.system.entry.js.map} +1 -1
  635. package/dist/nano-components/p-096682d9.system.js +1 -1
  636. package/dist/nano-components/p-096682d9.system.js.map +1 -1
  637. package/dist/nano-components/p-09d2d944.system.js +5 -0
  638. package/dist/nano-components/p-09d2d944.system.js.map +1 -0
  639. package/dist/nano-components/{p-bfc12324.system.entry.js → p-0bee6fe6.system.entry.js} +2 -2
  640. package/dist/nano-components/{p-bfc12324.system.entry.js.map → p-0bee6fe6.system.entry.js.map} +0 -0
  641. package/dist/nano-components/{p-21c2a9a5.system.entry.js → p-173bae15.system.entry.js} +2 -2
  642. package/dist/nano-components/{p-21c2a9a5.system.entry.js.map → p-173bae15.system.entry.js.map} +1 -1
  643. package/dist/nano-components/{p-731935b1.js → p-1805d59a.js} +2 -2
  644. package/dist/nano-components/{p-731935b1.js.map → p-1805d59a.js.map} +0 -0
  645. package/dist/nano-components/p-1a293bd0.entry.js +5 -0
  646. package/dist/nano-components/{p-8b7f8ef4.entry.js.map → p-1a293bd0.entry.js.map} +1 -1
  647. package/dist/nano-components/p-1c216ca4.system.js +5 -0
  648. package/dist/{esm-es5/index-f41ae118.js.map → nano-components/p-1c216ca4.system.js.map} +1 -1
  649. package/dist/nano-components/p-1d13dbdf.system.js +5 -0
  650. package/dist/nano-components/p-1d13dbdf.system.js.map +1 -0
  651. package/dist/nano-components/p-1e974cad.entry.js +5 -0
  652. package/dist/nano-components/{p-7e60c331.entry.js.map → p-1e974cad.entry.js.map} +1 -1
  653. package/dist/nano-components/p-20387cde.system.entry.js +5 -0
  654. package/dist/nano-components/{p-91778977.system.entry.js.map → p-20387cde.system.entry.js.map} +1 -1
  655. package/dist/nano-components/p-20db18f3.entry.js +5 -0
  656. package/dist/nano-components/{p-a9dd7cf9.entry.js.map → p-20db18f3.entry.js.map} +1 -1
  657. package/dist/nano-components/p-22884654.system.entry.js +5 -0
  658. package/dist/nano-components/{p-3d0fbd0e.system.entry.js.map → p-22884654.system.entry.js.map} +1 -1
  659. package/dist/nano-components/p-2559e9c1.entry.js +5 -0
  660. package/dist/nano-components/p-2559e9c1.entry.js.map +1 -0
  661. package/dist/nano-components/p-289aa03f.js +5 -0
  662. package/dist/nano-components/p-289aa03f.js.map +1 -0
  663. package/dist/nano-components/p-2e6c55e2.entry.js +5 -0
  664. package/dist/nano-components/{p-6f3d20fe.entry.js.map → p-2e6c55e2.entry.js.map} +1 -1
  665. package/dist/nano-components/{p-60c9b580.system.js → p-3258c568.system.js} +2 -2
  666. package/dist/nano-components/p-3258c568.system.js.map +1 -0
  667. package/dist/nano-components/p-3456db01.entry.js +5 -0
  668. package/dist/nano-components/p-3456db01.entry.js.map +1 -0
  669. package/dist/nano-components/p-346588cc.entry.js +5 -0
  670. package/dist/nano-components/p-346588cc.entry.js.map +1 -0
  671. package/dist/nano-components/p-394c3c19.entry.js +5 -0
  672. package/dist/nano-components/{p-217f71aa.entry.js.map → p-394c3c19.entry.js.map} +1 -1
  673. package/dist/nano-components/p-3a13948a.system.entry.js +5 -0
  674. package/dist/nano-components/p-3a13948a.system.entry.js.map +1 -0
  675. package/dist/nano-components/p-3a725f1f.system.entry.js +5 -0
  676. package/dist/nano-components/p-3a725f1f.system.entry.js.map +1 -0
  677. package/dist/nano-components/p-3aa1d07d.entry.js +5 -0
  678. package/dist/nano-components/{p-6a1c69d3.entry.js.map → p-3aa1d07d.entry.js.map} +1 -1
  679. package/dist/nano-components/p-3ad1d5aa.system.entry.js +5 -0
  680. package/dist/nano-components/p-3ad1d5aa.system.entry.js.map +1 -0
  681. package/dist/nano-components/p-3ef30ded.system.entry.js +5 -0
  682. package/dist/nano-components/{p-9bf4a6e0.system.entry.js.map → p-3ef30ded.system.entry.js.map} +1 -1
  683. package/dist/nano-components/p-3fc52f19.system.entry.js +5 -0
  684. package/dist/nano-components/p-3fc52f19.system.entry.js.map +1 -0
  685. package/dist/nano-components/p-4429caac.system.entry.js +5 -0
  686. package/dist/nano-components/p-4429caac.system.entry.js.map +1 -0
  687. package/dist/nano-components/p-4535e3bb.entry.js +5 -0
  688. package/dist/nano-components/{p-143bca0d.entry.js.map → p-4535e3bb.entry.js.map} +1 -1
  689. package/dist/nano-components/p-462ad4f1.entry.js +5 -0
  690. package/dist/nano-components/p-462ad4f1.entry.js.map +1 -0
  691. package/dist/nano-components/p-46d0bb7b.entry.js +5 -0
  692. package/dist/nano-components/p-46d0bb7b.entry.js.map +1 -0
  693. package/dist/nano-components/p-5066e563.system.entry.js +5 -0
  694. package/dist/nano-components/{p-006f2fd3.system.entry.js.map → p-5066e563.system.entry.js.map} +1 -1
  695. package/dist/nano-components/p-52ab579e.system.entry.js +5 -0
  696. package/dist/nano-components/p-52ab579e.system.entry.js.map +1 -0
  697. package/dist/nano-components/p-531d5275.system.entry.js +5 -0
  698. package/dist/nano-components/{p-b79dc23a.system.entry.js.map → p-531d5275.system.entry.js.map} +1 -1
  699. package/dist/nano-components/p-5653961d.system.entry.js +5 -0
  700. package/dist/nano-components/{p-18f49ebf.system.entry.js.map → p-5653961d.system.entry.js.map} +1 -1
  701. package/dist/nano-components/p-56ba0d63.entry.js +5 -0
  702. package/dist/nano-components/p-56ba0d63.entry.js.map +1 -0
  703. package/dist/nano-components/p-593de29b.system.entry.js +5 -0
  704. package/dist/nano-components/{p-76b13c27.system.entry.js.map → p-593de29b.system.entry.js.map} +1 -1
  705. package/dist/nano-components/p-5a476bba.system.entry.js +5 -0
  706. package/dist/nano-components/p-5a476bba.system.entry.js.map +1 -0
  707. package/dist/nano-components/{p-8a608e6d.entry.js → p-5e7c7d3d.entry.js} +2 -2
  708. package/dist/nano-components/{p-8a608e6d.entry.js.map → p-5e7c7d3d.entry.js.map} +1 -1
  709. package/dist/nano-components/p-672e5547.js +5 -0
  710. package/dist/nano-components/p-672e5547.js.map +1 -0
  711. package/dist/nano-components/{p-a16651a6.system.js → p-67cc0d9b.system.js} +3 -3
  712. package/dist/nano-components/{p-a16651a6.system.js.map → p-67cc0d9b.system.js.map} +1 -1
  713. package/dist/nano-components/p-69439aa1.system.entry.js +5 -0
  714. package/dist/nano-components/p-69439aa1.system.entry.js.map +1 -0
  715. package/dist/nano-components/p-6ade3290.entry.js +5 -0
  716. package/dist/nano-components/{p-1e03f9bf.entry.js.map → p-6ade3290.entry.js.map} +1 -1
  717. package/dist/nano-components/p-70dec19f.entry.js +5 -0
  718. package/dist/nano-components/{p-d0e9b177.entry.js.map → p-70dec19f.entry.js.map} +1 -1
  719. package/dist/nano-components/p-71c26ace.entry.js +5 -0
  720. package/dist/nano-components/p-71c26ace.entry.js.map +1 -0
  721. package/dist/nano-components/p-7232c046.system.entry.js +5 -0
  722. package/dist/nano-components/{p-92b3f99b.system.entry.js.map → p-7232c046.system.entry.js.map} +1 -1
  723. package/dist/nano-components/p-730f60ea.entry.js +5 -0
  724. package/dist/nano-components/{p-78cf9d39.entry.js.map → p-730f60ea.entry.js.map} +1 -1
  725. package/dist/nano-components/p-74a7fc4f.js +5 -0
  726. package/dist/nano-components/p-74a7fc4f.js.map +1 -0
  727. package/dist/nano-components/p-774e090b.system.entry.js +5 -0
  728. package/dist/nano-components/p-774e090b.system.entry.js.map +1 -0
  729. package/dist/nano-components/{p-d31761c8.system.js → p-7be6b7f3.system.js} +2 -2
  730. package/dist/nano-components/p-7be6b7f3.system.js.map +1 -0
  731. package/dist/nano-components/p-7d2e2685.entry.js +5 -0
  732. package/dist/nano-components/p-7d2e2685.entry.js.map +1 -0
  733. package/dist/nano-components/p-820d9e23.system.entry.js +5 -0
  734. package/dist/nano-components/p-820d9e23.system.entry.js.map +1 -0
  735. package/dist/nano-components/p-8278c5d2.system.entry.js +5 -0
  736. package/dist/nano-components/{p-badf69ee.system.entry.js.map → p-8278c5d2.system.entry.js.map} +1 -1
  737. package/dist/nano-components/p-82f4b071.entry.js +5 -0
  738. package/dist/nano-components/p-82f4b071.entry.js.map +1 -0
  739. package/dist/nano-components/p-88f17c86.system.entry.js +5 -0
  740. package/dist/nano-components/p-88f17c86.system.entry.js.map +1 -0
  741. package/dist/nano-components/p-8a8f893b.system.entry.js +5 -0
  742. package/dist/nano-components/{p-cc668975.system.entry.js.map → p-8a8f893b.system.entry.js.map} +1 -1
  743. package/dist/nano-components/p-93448bcd.system.entry.js +5 -0
  744. package/dist/nano-components/{p-02e82e14.system.entry.js.map → p-93448bcd.system.entry.js.map} +1 -1
  745. package/dist/nano-components/p-94593617.system.entry.js +5 -0
  746. package/dist/nano-components/{p-2442eda0.system.entry.js.map → p-94593617.system.entry.js.map} +1 -1
  747. package/dist/nano-components/{p-56113dd3.js → p-9a385481.js} +2 -2
  748. package/dist/nano-components/p-9a385481.js.map +1 -0
  749. package/dist/nano-components/{p-8134c14e.system.js → p-9de508a5.system.js} +2 -2
  750. package/dist/nano-components/p-9de508a5.system.js.map +1 -0
  751. package/dist/nano-components/p-a315ed2c.entry.js +5 -0
  752. package/dist/nano-components/{p-13801651.entry.js.map → p-a315ed2c.entry.js.map} +1 -1
  753. package/dist/nano-components/p-a4075d49.entry.js +5 -0
  754. package/dist/nano-components/p-a4075d49.entry.js.map +1 -0
  755. package/dist/nano-components/p-b19e0775.system.entry.js +5 -0
  756. package/dist/nano-components/p-b19e0775.system.entry.js.map +1 -0
  757. package/dist/nano-components/{p-18411914.system.js → p-b370e3ef.system.js} +2 -2
  758. package/dist/nano-components/{p-18411914.system.js.map → p-b370e3ef.system.js.map} +0 -0
  759. package/dist/nano-components/p-b59d2bd5.entry.js +5 -0
  760. package/dist/nano-components/p-b59d2bd5.entry.js.map +1 -0
  761. package/dist/nano-components/p-b619500f.js +5 -0
  762. package/dist/nano-components/p-b619500f.js.map +1 -0
  763. package/dist/nano-components/{p-23f65b34.entry.js → p-ba13bb56.entry.js} +2 -2
  764. package/dist/nano-components/{p-23f65b34.entry.js.map → p-ba13bb56.entry.js.map} +1 -1
  765. package/dist/nano-components/p-c0ddb4c3.entry.js +5 -0
  766. package/dist/nano-components/{p-78569d39.entry.js.map → p-c0ddb4c3.entry.js.map} +1 -1
  767. package/dist/nano-components/p-c954c040.entry.js +5 -0
  768. package/dist/nano-components/p-c954c040.entry.js.map +1 -0
  769. package/dist/nano-components/p-c9c1a345.system.entry.js +5 -0
  770. package/dist/nano-components/{p-38a3e791.system.entry.js.map → p-c9c1a345.system.entry.js.map} +1 -1
  771. package/dist/nano-components/{p-8c8963f6.js → p-cb79d1ec.js} +2 -2
  772. package/dist/nano-components/{p-8c8963f6.js.map → p-cb79d1ec.js.map} +0 -0
  773. package/dist/nano-components/p-d6569144.entry.js +5 -0
  774. package/dist/nano-components/{p-c7b7f7ab.entry.js.map → p-d6569144.entry.js.map} +1 -1
  775. package/dist/nano-components/{p-2d1a856e.system.js → p-d84ef175.system.js} +2 -2
  776. package/dist/nano-components/{p-2d1a856e.system.js.map → p-d84ef175.system.js.map} +0 -0
  777. package/dist/nano-components/p-d9c7909e.js +5 -0
  778. package/dist/nano-components/p-d9c7909e.js.map +1 -0
  779. package/dist/nano-components/p-e11bd40d.entry.js +5 -0
  780. package/dist/nano-components/{p-a21d90aa.entry.js.map → p-e11bd40d.entry.js.map} +1 -1
  781. package/dist/nano-components/p-e15be516.system.entry.js +5 -0
  782. package/dist/nano-components/p-e15be516.system.entry.js.map +1 -0
  783. package/dist/nano-components/p-e2ae11d2.entry.js +5 -0
  784. package/dist/nano-components/p-e2ae11d2.entry.js.map +1 -0
  785. package/dist/nano-components/{p-8757b4eb.js → p-e3583b00.js} +3 -3
  786. package/dist/nano-components/{p-8757b4eb.js.map → p-e3583b00.js.map} +1 -1
  787. package/dist/nano-components/p-e35eac75.entry.js +5 -0
  788. package/dist/nano-components/p-e35eac75.entry.js.map +1 -0
  789. package/dist/nano-components/p-e562bffd.entry.js +5 -0
  790. package/dist/nano-components/p-e562bffd.entry.js.map +1 -0
  791. package/dist/nano-components/p-e6f41b97.entry.js +5 -0
  792. package/dist/nano-components/p-e6f41b97.entry.js.map +1 -0
  793. package/dist/nano-components/p-e6f8f9f7.system.entry.js +5 -0
  794. package/dist/nano-components/p-e6f8f9f7.system.entry.js.map +1 -0
  795. package/dist/nano-components/p-ea5eb591.system.js +5 -0
  796. package/dist/nano-components/p-ea5eb591.system.js.map +1 -0
  797. package/dist/nano-components/p-ef4e0912.system.entry.js +5 -0
  798. package/dist/nano-components/{p-2aed806d.system.entry.js.map → p-ef4e0912.system.entry.js.map} +1 -1
  799. package/dist/nano-components/{p-981cc614.entry.js → p-f1bf1099.entry.js} +2 -2
  800. package/dist/nano-components/{p-981cc614.entry.js.map → p-f1bf1099.entry.js.map} +0 -0
  801. package/dist/nano-components/p-f2e7d2f9.system.entry.js +5 -0
  802. package/dist/nano-components/p-f2e7d2f9.system.entry.js.map +1 -0
  803. package/dist/nano-components/p-f3bf942d.entry.js +5 -0
  804. package/dist/nano-components/p-f3bf942d.entry.js.map +1 -0
  805. package/dist/nano-components/p-f53989c3.system.entry.js +5 -0
  806. package/dist/nano-components/{p-6621e4f1.system.entry.js.map → p-f53989c3.system.entry.js.map} +1 -1
  807. package/dist/themes/nanopore.css +1 -1
  808. package/dist/themes/nanopore.css.map +1 -1
  809. package/dist/types/components/accordion/accordion.d.ts +0 -1
  810. package/dist/types/components/checkbox/checkbox-group.d.ts +1 -0
  811. package/dist/types/components/datalist/datalist.d.ts +98 -0
  812. package/dist/types/components/date-input/date-input.d.ts +2 -0
  813. package/dist/types/components/dialog/dialog.helpers.d.ts +2 -2
  814. package/dist/types/components/dropdown/dropdown.d.ts +8 -4
  815. package/dist/types/components/form-control/form-control.d.ts +35 -0
  816. package/dist/types/components/global-search-results/global-search-results.d.ts +1 -0
  817. package/dist/types/components/grid/grid.d.ts +7 -1
  818. package/dist/types/components/hero/hero.d.ts +2 -0
  819. package/dist/types/components/input/input.d.ts +13 -9
  820. package/dist/types/components/menu/menu.d.ts +22 -8
  821. package/dist/types/components/option/option-interface.d.ts +7 -0
  822. package/dist/types/components/option/option.d.ts +45 -0
  823. package/dist/types/components/select/select.d.ts +43 -49
  824. package/dist/types/components/tabs/tab-group.d.ts +32 -6
  825. package/dist/types/components/tabs/tab.d.ts +6 -1
  826. package/dist/types/components.d.ts +241 -70
  827. package/dist/types/interface.d.ts +1 -0
  828. package/dist/types/utils/active-element.d.ts +1 -0
  829. package/dist/types/utils/dom.d.ts +9 -1
  830. package/dist/types/utils/index.d.ts +2 -1
  831. package/dist/types/utils/tabbable.d.ts +2 -2
  832. package/dist/types/utils/testing/index.d.ts +3 -2
  833. package/docs-json.json +1244 -262
  834. package/docs-vscode.json +102 -33
  835. package/package.json +5 -5
  836. package/dist/cjs/dom-5f3fae1a.js.map +0 -1
  837. package/dist/cjs/index-117f36a4.js.map +0 -1
  838. package/dist/cjs/nano-date-picker_2.cjs.entry.js.map +0 -1
  839. package/dist/cjs/nano-menu.cjs.entry.js +0 -156
  840. package/dist/cjs/nano-menu.cjs.entry.js.map +0 -1
  841. package/dist/cjs/nano-select-option.cjs.entry.js +0 -43
  842. package/dist/cjs/nano-select-option.cjs.entry.js.map +0 -1
  843. package/dist/cjs/popover-d033efa2.js.map +0 -1
  844. package/dist/cjs/tabbable-615c30e1.js.map +0 -1
  845. package/dist/collection/components/select/select-option.css +0 -15
  846. package/dist/collection/components/select/select-option.js +0 -127
  847. package/dist/collection/components/select/select-option.js.map +0 -1
  848. package/dist/esm/dom-a791b223.js.map +0 -1
  849. package/dist/esm/nano-date-picker_2.entry.js.map +0 -1
  850. package/dist/esm/nano-menu.entry.js +0 -152
  851. package/dist/esm/nano-menu.entry.js.map +0 -1
  852. package/dist/esm/nano-select-option.entry.js +0 -39
  853. package/dist/esm/nano-select-option.entry.js.map +0 -1
  854. package/dist/esm/popover-2c7b2326.js.map +0 -1
  855. package/dist/esm/tabbable-e21f860a.js.map +0 -1
  856. package/dist/esm-es5/dom-a791b223.js +0 -5
  857. package/dist/esm-es5/dom-a791b223.js.map +0 -1
  858. package/dist/esm-es5/index-f41ae118.js +0 -5
  859. package/dist/esm-es5/nano-date-picker_2.entry.js +0 -5
  860. package/dist/esm-es5/nano-date-picker_2.entry.js.map +0 -1
  861. package/dist/esm-es5/nano-menu.entry.js +0 -5
  862. package/dist/esm-es5/nano-menu.entry.js.map +0 -1
  863. package/dist/esm-es5/nano-select-option.entry.js +0 -5
  864. package/dist/esm-es5/nano-select-option.entry.js.map +0 -1
  865. package/dist/esm-es5/popover-2c7b2326.js.map +0 -1
  866. package/dist/esm-es5/tabbable-e21f860a.js +0 -5
  867. package/dist/esm-es5/tabbable-e21f860a.js.map +0 -1
  868. package/dist/nano-components/p-006f2fd3.system.entry.js +0 -5
  869. package/dist/nano-components/p-02e82e14.system.entry.js +0 -5
  870. package/dist/nano-components/p-05a8014a.entry.js +0 -5
  871. package/dist/nano-components/p-05a8014a.entry.js.map +0 -1
  872. package/dist/nano-components/p-13801651.entry.js +0 -5
  873. package/dist/nano-components/p-13fa75fc.entry.js +0 -5
  874. package/dist/nano-components/p-13fa75fc.entry.js.map +0 -1
  875. package/dist/nano-components/p-143bca0d.entry.js +0 -5
  876. package/dist/nano-components/p-18f49ebf.system.entry.js +0 -5
  877. package/dist/nano-components/p-19428228.system.entry.js +0 -5
  878. package/dist/nano-components/p-19428228.system.entry.js.map +0 -1
  879. package/dist/nano-components/p-1e03f9bf.entry.js +0 -5
  880. package/dist/nano-components/p-217f71aa.entry.js +0 -5
  881. package/dist/nano-components/p-2442eda0.system.entry.js +0 -5
  882. package/dist/nano-components/p-2946bd70.system.entry.js +0 -5
  883. package/dist/nano-components/p-2946bd70.system.entry.js.map +0 -1
  884. package/dist/nano-components/p-2aed806d.system.entry.js +0 -5
  885. package/dist/nano-components/p-30df44d9.system.entry.js +0 -5
  886. package/dist/nano-components/p-38a3e791.system.entry.js +0 -5
  887. package/dist/nano-components/p-3a49ceab.entry.js +0 -5
  888. package/dist/nano-components/p-3a49ceab.entry.js.map +0 -1
  889. package/dist/nano-components/p-3d0fbd0e.system.entry.js +0 -5
  890. package/dist/nano-components/p-3f00179c.js +0 -5
  891. package/dist/nano-components/p-3f00179c.js.map +0 -1
  892. package/dist/nano-components/p-48e6bea3.entry.js +0 -5
  893. package/dist/nano-components/p-48e6bea3.entry.js.map +0 -1
  894. package/dist/nano-components/p-4d62ec32.system.js +0 -5
  895. package/dist/nano-components/p-4d62ec32.system.js.map +0 -1
  896. package/dist/nano-components/p-4e451498.entry.js +0 -5
  897. package/dist/nano-components/p-4e451498.entry.js.map +0 -1
  898. package/dist/nano-components/p-51d9570d.entry.js +0 -5
  899. package/dist/nano-components/p-51d9570d.entry.js.map +0 -1
  900. package/dist/nano-components/p-51fa04a6.entry.js +0 -5
  901. package/dist/nano-components/p-51fa04a6.entry.js.map +0 -1
  902. package/dist/nano-components/p-55189485.system.entry.js +0 -5
  903. package/dist/nano-components/p-55189485.system.entry.js.map +0 -1
  904. package/dist/nano-components/p-56113dd3.js.map +0 -1
  905. package/dist/nano-components/p-5bbd6c81.entry.js +0 -5
  906. package/dist/nano-components/p-5bbd6c81.entry.js.map +0 -1
  907. package/dist/nano-components/p-5e9170ae.entry.js +0 -5
  908. package/dist/nano-components/p-5e9170ae.entry.js.map +0 -1
  909. package/dist/nano-components/p-60c9b580.system.js.map +0 -1
  910. package/dist/nano-components/p-61565b5a.entry.js +0 -5
  911. package/dist/nano-components/p-621750cc.js +0 -5
  912. package/dist/nano-components/p-621750cc.js.map +0 -1
  913. package/dist/nano-components/p-6621e4f1.system.entry.js +0 -5
  914. package/dist/nano-components/p-6a1c69d3.entry.js +0 -5
  915. package/dist/nano-components/p-6ab8d211.system.entry.js +0 -5
  916. package/dist/nano-components/p-6ab8d211.system.entry.js.map +0 -1
  917. package/dist/nano-components/p-6e9b3d60.system.entry.js +0 -5
  918. package/dist/nano-components/p-6e9b3d60.system.entry.js.map +0 -1
  919. package/dist/nano-components/p-6f3d20fe.entry.js +0 -5
  920. package/dist/nano-components/p-6feac35e.entry.js +0 -5
  921. package/dist/nano-components/p-6feac35e.entry.js.map +0 -1
  922. package/dist/nano-components/p-723c212f.system.entry.js +0 -5
  923. package/dist/nano-components/p-723c212f.system.entry.js.map +0 -1
  924. package/dist/nano-components/p-76b13c27.system.entry.js +0 -5
  925. package/dist/nano-components/p-78569d39.entry.js +0 -5
  926. package/dist/nano-components/p-78cf9d39.entry.js +0 -5
  927. package/dist/nano-components/p-7e60c331.entry.js +0 -5
  928. package/dist/nano-components/p-8134c14e.system.js.map +0 -1
  929. package/dist/nano-components/p-81b4ed2a.system.entry.js +0 -5
  930. package/dist/nano-components/p-81b4ed2a.system.entry.js.map +0 -1
  931. package/dist/nano-components/p-854df906.system.entry.js +0 -5
  932. package/dist/nano-components/p-88bcf55b.entry.js +0 -5
  933. package/dist/nano-components/p-8b7f8ef4.entry.js +0 -5
  934. package/dist/nano-components/p-8c3993ff.entry.js +0 -5
  935. package/dist/nano-components/p-8c3993ff.entry.js.map +0 -1
  936. package/dist/nano-components/p-91778977.system.entry.js +0 -5
  937. package/dist/nano-components/p-92b3f99b.system.entry.js +0 -5
  938. package/dist/nano-components/p-9bd73d1d.js +0 -5
  939. package/dist/nano-components/p-9bd73d1d.js.map +0 -1
  940. package/dist/nano-components/p-9bf4a6e0.system.entry.js +0 -5
  941. package/dist/nano-components/p-9df226fd.system.entry.js +0 -5
  942. package/dist/nano-components/p-9df226fd.system.entry.js.map +0 -1
  943. package/dist/nano-components/p-a0b55c38.system.entry.js +0 -5
  944. package/dist/nano-components/p-a0b55c38.system.entry.js.map +0 -1
  945. package/dist/nano-components/p-a21d90aa.entry.js +0 -5
  946. package/dist/nano-components/p-a9dd7cf9.entry.js +0 -5
  947. package/dist/nano-components/p-ad069ba4.entry.js +0 -5
  948. package/dist/nano-components/p-ad069ba4.entry.js.map +0 -1
  949. package/dist/nano-components/p-b246a7bb.entry.js +0 -5
  950. package/dist/nano-components/p-b246a7bb.entry.js.map +0 -1
  951. package/dist/nano-components/p-b45d4be9.entry.js +0 -5
  952. package/dist/nano-components/p-b45d4be9.entry.js.map +0 -1
  953. package/dist/nano-components/p-b79dc23a.system.entry.js +0 -5
  954. package/dist/nano-components/p-b86fc6b7.system.js +0 -5
  955. package/dist/nano-components/p-b86fc6b7.system.js.map +0 -1
  956. package/dist/nano-components/p-badf69ee.system.entry.js +0 -5
  957. package/dist/nano-components/p-bde0deae.system.entry.js +0 -5
  958. package/dist/nano-components/p-bde0deae.system.entry.js.map +0 -1
  959. package/dist/nano-components/p-be3df2e8.system.entry.js +0 -5
  960. package/dist/nano-components/p-be3df2e8.system.entry.js.map +0 -1
  961. package/dist/nano-components/p-c39c1e8d.entry.js +0 -5
  962. package/dist/nano-components/p-c39c1e8d.entry.js.map +0 -1
  963. package/dist/nano-components/p-c7b7f7ab.entry.js +0 -5
  964. package/dist/nano-components/p-c82ccbc8.entry.js +0 -5
  965. package/dist/nano-components/p-c82ccbc8.entry.js.map +0 -1
  966. package/dist/nano-components/p-cc668975.system.entry.js +0 -5
  967. package/dist/nano-components/p-cfd4c9de.system.entry.js +0 -5
  968. package/dist/nano-components/p-cfd4c9de.system.entry.js.map +0 -1
  969. package/dist/nano-components/p-d0e9b177.entry.js +0 -5
  970. package/dist/nano-components/p-d31761c8.system.js.map +0 -1
  971. package/dist/nano-components/p-d47d297b.system.entry.js +0 -5
  972. package/dist/nano-components/p-d47d297b.system.entry.js.map +0 -1
  973. package/dist/nano-components/p-e48a53f5.system.entry.js +0 -5
  974. package/dist/nano-components/p-e48a53f5.system.entry.js.map +0 -1
  975. package/dist/nano-components/p-e5f01860.entry.js +0 -5
  976. package/dist/nano-components/p-e5f01860.entry.js.map +0 -1
  977. package/dist/nano-components/p-f2b2cd38.system.entry.js +0 -5
  978. package/dist/nano-components/p-f2b2cd38.system.entry.js.map +0 -1
  979. package/dist/nano-components/p-fcb5ffaf.system.entry.js +0 -5
  980. package/dist/nano-components/p-fcb5ffaf.system.entry.js.map +0 -1
  981. package/dist/types/components/select/select-option.d.ts +0 -23
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["src/components/grid/grid.scss?tag=nano-grid&encapsulation=shadow","src/components/grid/grid.tsx","src/components/grid/grid-item.scss?tag=nano-grid-item&encapsulation=shadow","src/components/grid/grid-item.tsx","src/components/img/img.scss?tag=nano-img&encapsulation=shadow","src/components/img/img.tsx"],"names":["gridCss","STATEOPTS","CANSHADOW","document","head","attachShadow","Grid","[object Object]","hostRef","this","generalClasses","gridClass","isSizes","ready","isSmall","isMedium","isLarge","isXL","isXXL","sSize","mSize","lSize","xlSize","showHelper","contentPanel","fullHeight","stateChange","debounce","bind","applySizeClasses","size","currentWidth","push","sCols","active","mCols","lCols","xlCols","xxlCols","el","style","setProperty","slice","pop","applyChildrenClasses","setTimeout","nanoBpChange","emit","gridItems","querySelectorAll","length","forEach","gridItem","changeBP","stateArr","itemState","found","itemStates","classes","ctx","querySelector","map","call","children","gItem","hasAttribute","className","split","filter","c","startsWith","join","trim","getAttribute","stateOpt","reverse","find","state","indexOf","includes","shift","classList","add","wrapper","ele","contains","nodeName","createElement","setAttribute","removeAttribute","insertBefore","appendChild","ro","ResizeObserver","entries","entry","contentRect","width","observe","disconnect","h","Host","class","has-grid","is-legacy","undefined","grid","gridItemCss","GridItem","currGridSizes","gridStates","newGridSizes","imgCss","Img","_srcSet","hasLoaded","imgStates","lazy","autoHeight","onLoad","nanoImgDidLoad","onError","nanoImgError","onResize","e","Object","detail","bp","srcOpts","keys","sort","src","_src","addIO","srcSet","bpSrc","load","window","IntersectionObserverEntry","prototype","removeIO","io","IntersectionObserver","data","isIntersecting","host","loadError","loadSrc","nanoImgWillLoad","srcChanged","srcSetChanged","lazyChanged","bgStyle","background-image","background","loaded","img__bg","no-height","img__image","hide","decoding","alt","onNanoResizeStateChange","states"],"mappings":"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","sourcesContent":["// we use &::slotted selectors to target ie ... this is a due to a bug with how stencil makes css scoping for browsers without shadow-dom. Need to be mindful incase they ever fix this!\n\n@import '../../global/style/nano-theme/base';\n\n// ie 11 fixes ... maximum numbers we can place on the grid ... upping this number decreases performance a lot.\n$max-grid-cols: 10;\n\n@mixin grid($size: 1) {\n @at-root :host(.nano-grid-#{$size}) {\n --current-grid-size: 'grid size: #{$size}';\n --col-width: calc(#{100 / $size}% - var(--grid-col-gap));\n --repeat-width: calc(100% / #{$size});\n\n .grid {\n grid-template-columns: repeat(#{$size}, minmax(var(--col-width), 1fr));\n\n $current-column: 1;\n $current-row: 1;\n\n @for $i from 1 through ($max-grid-cols * 2) {\n @if $current-column > $size {\n $current-column: 1;\n $current-row: $current-row + 1;\n }\n\n &::slotted(:nth-child(#{$i})) {\n -ms-grid-row: $current-row;\n -ms-grid-column: $current-column;\n // use margin because there's no grid gap.\n }\n $current-column: $current-column + 1;\n }\n }\n }\n}\n\n@mixin grid-spans {\n @for $i from 1 through $max-grid-cols {\n ::slotted(.nano-grid-col-start-#{$i}),\n &::slotted(.nano-grid-col-start-#{$i}) {\n grid-column-start: #{$i} !important;\n }\n\n ::slotted(.nano-grid-row-start-#{$i}),\n &::slotted(.nano-grid-row-start-#{$i}) {\n grid-row-start: #{$i} !important;\n }\n\n ::slotted(.nano-grid-col-span-#{$i}),\n &::slotted(.nano-grid-col-span-#{$i}) {\n grid-column-end: span #{$i} !important;\n }\n\n ::slotted(.nano-grid-row-span-#{$i}),\n &::slotted(.nano-grid-row-span-#{$i}) {\n grid-row-end: span #{$i} !important;\n }\n }\n}\n\n:host {\n /**\n * @prop --grid-col-gap: gap between all columns. Defaults to theme's global padding\n * @prop --grid-row-gap: gap between all rows. Defaults to theme's global padding\n */\n\n --grid-col-gap: #{$spacing-medium};\n --grid-row-gap: #{$spacing-medium};\n --current-grid-size: \"'grid size: sm'\";\n\n display: block;\n opacity: 0;\n transition: 0.2s ease opacity;\n\n .grid {\n /* autoprefixer: ignore next */\n display: grid;\n\n /* autoprefixer: ignore next */\n grid-gap: var(--grid-row-gap) var(--grid-col-gap);\n height: inherit;\n min-height: inherit;\n\n &::slotted(*) {\n border: 0 solid transparent;\n background-clip: padding-box;\n border-width: var(--grid-row-gap) calc(var(--grid-col-gap) / 2);\n }\n }\n}\n\n:host(.ready) {\n opacity: 1;\n}\n\n:host(.has-grid) {\n .grid {\n display: grid;\n\n @include grid-spans;\n\n // ie 'grid gap'. use border because there's no grid gap.\n &::slotted(*) {\n border-width: calc(var(--grid-row-gap) / 2) calc(var(--grid-col-gap) / 2);\n }\n }\n}\n\n// All sorts of IE fuckery to recreate grid-gap when nested etc\n:host([is-legacy]) {\n overflow: hidden;\n\n .grid {\n margin-bottom: calc(var(--grid-row-gap) * -0.5);\n margin-top: calc(var(--grid-row-gap) * -0.5);\n margin-left: calc(var(--grid-col-gap) * -0.5);\n margin-right: calc(var(--grid-col-gap) * -0.5);\n }\n}\n\n// nested\nnano-grid :host-context[is-legacy] {\n overflow: visible;\n\n .grid {\n &::slotted(:first-child) {\n border-top-width: calc(var(--grid-row-gap) / 2);\n }\n\n &::slotted(:last-child) {\n border-bottom-width: calc(var(--grid-row-gap) / 2);\n }\n }\n}\n\n:host([content-panel]:not([content-panel='false'])) {\n display: -ms-flexbox;\n -ms-flex-direction: column;\n\n .grid {\n grid-template-rows: auto 1fr;\n }\n}\n\n:host([full-height]:not([full-height='false'])) {\n height: 100%;\n\n .grid {\n grid-template-rows: 1fr;\n\n &::slotted(*) {\n min-height: 100%;\n }\n }\n}\n\n:host([show-helper]:not([show-helper='false'])) {\n .grid {\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n pointer-events: none;\n background-image:\n repeating-linear-gradient(\n to right,\n hsla(204, 80%, 72%, 0.25),\n hsla(204, 80%, 72%, 0.25) var(--col-width),\n transparent var(--col-width),\n transparent var(--repeat-width)\n );\n background-size: calc(100% + var(--grid-col-gap)) 100%;\n z-index: 100;\n }\n\n &::before {\n content: var(--current-grid-size);\n font-size: 30px;\n position: absolute;\n width: 100%;\n left: 0;\n text-align: center;\n top: 50%;\n transform: translateY(-50%);\n color: rgba(0, 0, 0, 0.2);\n text-transform: uppercase;\n z-index: 99;\n pointer-events: none;\n }\n }\n}\n\n@for $i from 1 through $max-grid-cols {\n @include grid($i);\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Host,\n State,\n Watch,\n Event,\n EventEmitter,\n} from '@stencil/core';\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { GridSizes } from '../../interface';\nimport { debounce } from '../../utils';\n\nconst STATEOPTS = ['col-span', 'col-start', 'row-span', 'row-start'];\nconst CANSHADOW = !!document.head.attachShadow;\n\n/**\n * A context-aware CSS grid implementation.\n * Uses it's own width to choose column number - not screen width.\n */\n@Component({\n tag: 'nano-grid',\n styleUrl: 'grid.scss',\n shadow: true,\n})\nexport class Grid {\n @Element() private el: HTMLNanoGridElement;\n private ro: ResizeObserver;\n private generalClasses: Array<string> = [''];\n private gridClass: string = null;\n private isSizes: GridSizes[] = [null];\n private currentWidth: number;\n\n constructor() {\n this.stateChange = debounce(this.stateChange.bind(this), 100);\n }\n\n @State() ready: boolean = false;\n @State() isSmall = false;\n @State() isMedium = false;\n @State() isLarge = false;\n @State() isXL = false;\n @State() isXXL = false;\n\n /**\n * the component's small breakpoint. Note - all breakpoints are based on component width, not screen width.\n */\n @Prop() sSize: number = 300;\n\n /**\n * the component's medium breakpoint. Note - all breakpoints are based on component width, not screen width.\n */\n @Prop() mSize: number = 550;\n\n /**\n * the component's large breakpoint. Note - all breakpoints are based on component width, not screen width.\n */\n @Prop() lSize: number = 800;\n\n /**\n * the component's xl breakpoint. Note - all breakpoints are based on component width, not screen width.\n */\n @Prop() xlSize: number = 1000;\n\n /**\n * the number of columns the grid has at the small breakpoint.\n */\n @Prop() sCols: number;\n\n /**\n * the number of columns the grid has at the medium breakpoint.\n */\n @Prop() mCols: number;\n\n /**\n * the number of columns the grid has at the large breakpoint.\n */\n @Prop() lCols: number;\n\n /**\n * the number of columns the grid has at the xl breakpoint.\n */\n @Prop() xlCols: number;\n\n /**\n * the number of columns the grid has at the xxl breakpoint (anything greater than the xl breakpoint)\n */\n @Prop() xxlCols: number;\n\n /**\n * shows a grid helper to visualise where columns are\n */\n @Prop({ reflect: true }) showHelper: boolean = false;\n\n /**\n * shortcut for a traditional website like grid (requires more than one row). The second row will auto expand to fill the grid height. The first row and > 2nd row will be the size of their content. e.g. header, body and footer.\n */\n @Prop({ reflect: true }) contentPanel: boolean = false;\n\n /**\n * Helper to make grid items expand to full height in IE11\n */\n @Prop({ reflect: true }) fullHeight: boolean = false;\n\n /**\n * Emitted when the `nano-grid` changes breakpoint\n */\n @Event() nanoBpChange: EventEmitter<string[]>;\n\n @Watch('sSize')\n @Watch('mSize')\n @Watch('lSize')\n @Watch('xlSize')\n @Watch('sCols')\n @Watch('mCols')\n @Watch('lCols')\n @Watch('xlCols')\n @Watch('xxlCols')\n propChanged() {\n this.applySizeClasses();\n }\n\n private applySizeClasses() {\n let size = this.currentWidth;\n\n this.isSmall = false;\n this.isMedium = false;\n this.isLarge = false;\n this.isXL = false;\n this.isXXL = false;\n\n this.generalClasses = [];\n this.gridClass = null;\n this.isSizes = [null];\n\n this.isSmall = true;\n this.generalClasses.push('is-small');\n if (this.sCols) this.gridClass = `nano-grid-${this.sCols}`;\n this.isSizes.push({ size: 's', active: true });\n\n if (size > this.sSize) {\n this.isMedium = true;\n this.generalClasses.push('is-medium');\n if (this.mCols) this.gridClass = `nano-grid-${this.mCols}`;\n this.isSizes.push({ size: 'm', active: true });\n }\n\n if (size > this.mSize) {\n this.isLarge = true;\n this.generalClasses.push('is-large');\n if (this.lCols) this.gridClass = `nano-grid-${this.lCols}`;\n this.isSizes.push({ size: 'l', active: true });\n }\n\n if (size > this.lSize) {\n this.isXL = true;\n this.generalClasses.push('is-xl');\n if (this.xlCols) this.gridClass = `nano-grid-${this.xlCols}`;\n this.isSizes.push({ size: 'xl', active: true });\n }\n\n if (size > this.xlSize) {\n this.isXXL = true;\n this.generalClasses.push('is-xxl');\n if (this.xxlCols) this.gridClass = `nano-grid-${this.xxlCols}`;\n this.isSizes.push({ size: 'xxl', active: true });\n }\n\n this.el.style.setProperty(\n '--current-grid-size',\n `'grid size: ${this.isSizes.slice().pop().size}'`\n );\n this.applyChildrenClasses();\n setTimeout(() => (this.ready = true), 0);\n }\n\n @Watch('isSmall')\n @Watch('isMedium')\n @Watch('isLarge')\n @Watch('isXL')\n @Watch('isXXL')\n stateChange() {\n this.nanoBpChange.emit(this.generalClasses);\n }\n\n private applyChildrenClasses() {\n let gridItems = this.el.querySelectorAll('nano-grid-item');\n if (gridItems.length) {\n gridItems.forEach((gridItem: HTMLNanoGridItemElement) => {\n gridItem.changeBP(this.isSizes);\n });\n return;\n }\n\n // this logic has been put into grid-item. Keep here for legacy for now\n let stateArr: Array<string> = [''],\n itemState: string = '',\n found: any,\n itemStates: Array<string>,\n classes: Array<string>,\n ctx: HTMLElement;\n\n if (!CANSHADOW) ctx = this.el.querySelector('.grid') || this.el;\n else ctx = this.el;\n\n // item states come in 4 possible flavours at every breakpoint. E.g.\n // xl-col-span-2\n // xl-col-start-2\n // xl-row-span-2\n // xl-row-start-2\n\n // loop through all grid items with states.\n [].map.call(ctx.children, (gItem: HTMLElement) => {\n if (!gItem.hasAttribute('grid-states')) return;\n\n // gridItems.forEach(gItem => {\n\n // clear all previous grid state classnames\n classes = gItem.className\n .split(' ')\n .filter((c) => !c.startsWith('nano-grid-'));\n gItem.className = classes.join(' ').trim();\n\n // get all potential states this element can have\n itemStates = gItem.getAttribute('grid-states').split(' ');\n\n // loop through all potential state options: col & row span & start\n STATEOPTS.forEach((stateOpt) => {\n // reset found flag\n found = false;\n\n // loop through all the current valid breakpoints / sizes backwards because\n // we only care about the item's state at the largest current breakpoint.\n this.isSizes\n .slice()\n .reverse()\n .forEach(function (size) {\n if (found || !size) return;\n found = itemStates.find(\n (state) => state.indexOf(`${size.size}-${stateOpt}`) === 0\n );\n\n // found a state at this current size. apply class.\n if (found) {\n // clear previous grid state classname\n classes = gItem.className\n .split(' ')\n .filter((c) => !c.includes('nano-grid-${stateOpt}'));\n gItem.className = classes.join(' ').trim();\n\n stateArr = found.split('-');\n\n // remove the size of the state\n stateArr.shift();\n itemState = stateArr.join('-');\n\n // add new class\n gItem.classList.add(`nano-grid-${itemState}`);\n }\n });\n });\n });\n }\n\n componentWillLoad() {\n let wrapper: HTMLElement, ctx;\n\n if (!CANSHADOW) ctx = this.el.querySelector('.grid') || this.el;\n else ctx = this.el;\n\n [].map.call(ctx.children, (ele: HTMLElement) => {\n if (!CANSHADOW) {\n if (\n ele.classList.contains('nano-griditem') ||\n ele.nodeName === 'NANO-GRID-ITEM'\n )\n return;\n\n wrapper = document.createElement('div');\n if (ele.hasAttribute('grid-states')) {\n wrapper.setAttribute('grid-states', ele.getAttribute('grid-states'));\n ele.removeAttribute('grid-states');\n }\n\n this.el.insertBefore(wrapper, ele);\n wrapper.appendChild(ele);\n wrapper.classList.add('nano-griditem');\n } else if (ele.nodeName !== 'NANO-GRID-ITEM')\n ele.classList.add('nano-griditem');\n });\n }\n\n componentDidLoad() {\n this.ro = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (!entry.contentRect.width) return;\n this.currentWidth = entry.contentRect.width;\n this.applySizeClasses();\n }\n });\n this.ro.observe(this.el);\n }\n\n disconnectedCallback() {\n if (this.ro) this.ro.disconnect();\n }\n\n render() {\n return (\n <Host\n class={{\n [this.generalClasses.join(' ')]: true,\n 'has-grid': !!this.gridClass,\n ready: this.ready,\n [this.gridClass]: true,\n }}\n is-legacy={!CANSHADOW ? true : undefined}\n >\n <div\n class={{\n grid: true,\n }}\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n\n// <Host class={{\n// [this.generalClasses.join(' ')]: true,\n// [this.gridClass]: true,\n// 'helper': this.showHelper,\n// 'has-grid': !!this.gridClass,\n// 'legacy': !CANSHADOW,\n// 'content-panel': this.contentPanel,\n// 'full-height': this.fullHeight,\n// 'ready': this.ready\n// }}></Host>\n",":host {\n display: block;\n}\n","import { Component, h, Prop, Element, Method, Watch } from '@stencil/core';\nimport { GridSizes } from '../../interface';\n\nconst STATEOPTS = ['col-span', 'col-start', 'row-span', 'row-start'];\n\n/**\n * Grid items to be used with [grid](/story/nano-components-grid) elements\n */\n@Component({\n tag: 'nano-grid-item',\n styleUrl: 'grid-item.scss',\n shadow: true,\n})\nexport class GridItem {\n private currGridSizes: GridSizes[] = [null];\n\n @Element() private el: HTMLNanoGridItemElement;\n /**\n * How to position this item within it's parent grid at different break points. Examples:\n * xl-col-span-2\n * l-col-start-2\n * xxl-row-span-2\n * m-row-start-2\n */\n @Prop() gridStates: string = '';\n\n @Watch('gridStates')\n updateGridClasses() {\n this.applyChildrenClasses();\n }\n\n /**\n * Called by parent grid to trigger new classes\n * @internal\n */\n @Method()\n async changeBP(newGridSizes: GridSizes[]) {\n if (this.currGridSizes === newGridSizes) return;\n this.currGridSizes = newGridSizes;\n\n if (!this.gridStates.length) return;\n this.applyChildrenClasses();\n }\n\n private applyChildrenClasses() {\n let stateArr: Array<string> = [''],\n itemState: string = '',\n found: any,\n itemStates: Array<string>,\n classes: Array<string>;\n\n // item states come in 4 possible flavours at every breakpoint. E.g.\n // xl-col-span-2\n // xl-col-start-2\n // xl-row-span-2\n // xl-row-start-2\n\n // clear all previous grid state classnames\n classes = this.el.className\n .split(' ')\n .filter((c) => !c.startsWith('nano-grid-'));\n this.el.className = classes.join(' ').trim();\n\n // get all potential states this element can have\n itemStates = this.gridStates.split(' ');\n\n // loop through all potential state options: col & row span & start\n STATEOPTS.forEach((stateOpt) => {\n // reset found flag\n found = false;\n\n // loop through all the current valid breakpoints / sizes backwards because\n // we only care about the item's state at the largest current breakpoint.\n this.currGridSizes\n .slice()\n .reverse()\n .forEach((size) => {\n if (found || !size) return;\n found = itemStates.find(\n (state) => state.indexOf(`${size.size}-${stateOpt}`) === 0\n );\n\n // found a state at this current size. apply class.\n if (found) {\n // clear previous grid state classname\n classes = this.el.className\n .split(' ')\n .filter((c) => !c.includes('nano-grid-${stateOpt}'));\n this.el.className = classes.join(' ').trim();\n\n stateArr = found.split('-');\n\n // remove the size of the state\n stateArr.shift();\n itemState = stateArr.join('-');\n\n // add new class\n this.el.classList.add(`nano-grid-${itemState}`);\n }\n });\n });\n }\n\n render() {\n return <slot />;\n }\n}\n",":host {\n /**\n * @prop --padding: padding around any content. Only relevent on `<nano-img background>`\n */\n --padding: 0;\n\n display: inline-block;\n object-fit: cover;\n object-position: center;\n background-size: cover;\n background-position: center;\n\n * {\n border-radius: inherit;\n }\n}\n\n:host([background]:not([background='false'])) {\n display: block;\n}\n\n.img {\n position: relative;\n min-height: inherit;\n height: 100%;\n display: block;\n object-fit: inherit;\n object-position: inherit;\n background-color: inherit;\n background-position: inherit;\n background-size: inherit;\n background-origin: inherit;\n background-attachment: inherit;\n background-repeat: inherit;\n}\n\n.img__loader,\n.img__observer {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n height: 100%;\n width: 100%;\n z-index: -1;\n}\n\n.img__image,\n.img__bg {\n border-radius: inherit;\n display: block;\n opacity: 0;\n transition: 0.5s ease opacity, 0.3s ease filter 0.4s;\n filter: blur(5px);\n\n &.loaded {\n opacity: 1;\n filter: blur(0.1px);\n\n @media not all and (min-resolution: 0.001dpcm) {\n @supports (-webkit-appearance: none) {\n filter: blur(0);\n }\n }\n }\n}\n\n.img__image {\n object-fit: inherit;\n object-position: inherit;\n max-width: 100%;\n height: auto;\n\n &.hide {\n visibility: hidden;\n\n &.no-height {\n height: 1px;\n position: absolute;\n z-index: -1;\n }\n }\n}\n\n.img__bg {\n background-color: inherit;\n background-position: inherit;\n background-size: inherit;\n background-origin: inherit;\n background-attachment: inherit;\n background-repeat: inherit;\n overflow: auto;\n padding: var(--padding);\n\n &.no-height {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n State,\n Prop,\n Watch,\n h,\n ComponentInterface,\n} from '@stencil/core';\nimport { ResizeStateChangeEventDetail } from '../../interface';\n\n/**\n * Img with benefits. Lazy loading. Simple `srcSet` solution for both `<img>` and `background-image` varieties.\n * @slot - Main slot. Only relevant with `<nano-img background>`\n */\n@Component({\n tag: 'nano-img',\n styleUrl: 'img.scss',\n shadow: true,\n})\nexport class Img implements ComponentInterface {\n private io?: IntersectionObserver;\n private _srcSet: { [key: string]: { src: string; active: boolean } } = {};\n\n @Element() host!: HTMLNanoImgElement;\n\n @State() loadSrc?: string;\n @State() loadError?: () => void;\n @State() hasLoaded: boolean = false;\n @State() imgStates: string = null;\n @State() _src: string;\n @Watch('_src')\n _srcChanged() {\n this.hasLoaded = false;\n this.addIO();\n }\n\n /** This attribute defines the alternative text describing the image.\n * Users will see this text displayed if the image URL is wrong, or if the image is not yet downloaded. */\n @Prop() alt?: string;\n\n /** The image URL. This attribute is mandatory for the `<img>` element. */\n @Prop() src!: string;\n @Watch('src')\n srcChanged() {\n this._src = this.src;\n }\n\n /** Optional list string providing media sizes with corresponding image srcs.\n * i.e. show img-x at 300px wide. Format `srcSet=\"200w src/imgSmall.jpg, 500h src/imgMed.png\"` */\n @Prop() srcSet?: string;\n @Watch('srcSet')\n srcSetChanged() {\n if (!this.srcSet) return;\n\n delete this._srcSet;\n this._srcSet = {};\n\n this.imgStates = this.srcSet\n .split(',')\n .map((bpSrc) => {\n const [bp, src] = bpSrc.split(' ').filter((bp) => bp.length);\n this._srcSet[bp] = { src: src, active: false };\n return bp;\n })\n .join(', ');\n }\n\n /** Render image lazily, when it comes into the browser viewport **/\n @Prop() lazy: boolean = true;\n @Watch('lazy')\n lazyChanged() {\n if (!this.lazy) this.load();\n }\n\n /** Render the image as a background image **/\n @Prop() background?: boolean;\n\n /** When the image is rendered as a background, and there is no preset dimensions of the component,\n * you can set how the component height will be set. Via image size or via the content **/\n @Prop() autoHeight: 'content' | 'image' = 'content';\n\n /** Emitted when the img src has been set */\n @Event() nanoImgWillLoad!: EventEmitter<void>;\n\n /** Emitted when the image has finished loading */\n @Event() nanoImgDidLoad!: EventEmitter<void>;\n\n /** Emitted when the img fails to load */\n @Event() nanoImgError!: EventEmitter<void>;\n\n private addIO() {\n if (!this._src || this.hasLoaded) return;\n if (!this.lazy) {\n this.load();\n return;\n }\n if (\n typeof (window as any) !== 'undefined' &&\n 'IntersectionObserver' in window &&\n 'isIntersecting' in window.IntersectionObserverEntry.prototype\n ) {\n this.removeIO();\n this.io = new IntersectionObserver((data) => {\n if (data[0].isIntersecting) {\n this.load();\n this.removeIO();\n }\n });\n\n this.io.observe(this.host);\n } else setTimeout(() => this.load(), 200);\n }\n\n private load() {\n this.loadError = this.onError;\n this.loadSrc = this._src;\n this.nanoImgWillLoad.emit();\n }\n\n private onLoad = () => {\n this.nanoImgDidLoad.emit();\n setTimeout(() => (this.hasLoaded = true), 50);\n };\n\n private onError = () => {\n this.nanoImgError.emit();\n };\n\n private onResize = (e: { detail: ResizeStateChangeEventDetail }) => {\n Object.entries(e.detail).forEach(([bp, active]) => {\n this._srcSet[bp].active = active;\n });\n\n // sort and find the highest sized matching image.\n const srcOpts = [];\n Object.keys(this._srcSet)\n .sort()\n .forEach((bp) => {\n if (this._srcSet[bp].active) srcOpts.push(this._srcSet[bp].src);\n });\n\n if (srcOpts.length) this._src = srcOpts.slice(-1)[0];\n // no matching image? Set back to default\n else this._src = this.src;\n };\n\n private removeIO() {\n if (this.io) {\n this.io.disconnect();\n this.io = undefined;\n }\n }\n\n connectedCallback() {\n this.srcChanged();\n this.srcSetChanged();\n this.lazyChanged();\n }\n\n componentDidLoad() {\n this.addIO();\n }\n\n disconnectedCallback() {\n this.removeIO();\n }\n\n render() {\n const bgStyle = !!this.loadSrc\n ? { 'background-image': `url(${this.loadSrc})` }\n : {};\n return (\n <div class=\"img\">\n <nano-skeleton class=\"img__loader\"></nano-skeleton>\n {!!this.background && (\n <div\n class={{\n loaded: this.hasLoaded,\n img__bg: true,\n 'no-height': this.autoHeight === 'image',\n }}\n style={bgStyle}\n >\n <slot />\n </div>\n )}\n <img\n class={{\n img__image: true,\n loaded: this.hasLoaded,\n hide: this.background,\n 'no-height': this.autoHeight === 'content',\n }}\n decoding=\"async\"\n src={this.loadSrc}\n alt={this.alt}\n onLoad={this.onLoad}\n onError={this.loadError}\n />\n <nano-resize-observe\n class=\"img__observer\"\n onNanoResizeStateChange={this.onResize}\n states={this.imgStates}\n />\n </div>\n );\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ /*!
2
+ * Web Components for Nanopore digital Web Apps
3
+ */
4
+ import{g as t,l as i,r as e,c as s,f as n,i as r,h as a,e as h}from"./p-ab5813a7.js";import{S as o}from"./p-5ae80fd7.js";import{r as l}from"./p-289aa03f.js";import{a as f}from"./p-e3583b00.js";import{b as u,c,a as p}from"./p-69a3e911.js";import{C as d}from"./p-5a0095f9.js";import{g as v}from"./p-b619500f.js";import{d as m}from"./p-1da5f8df.js";var y=new Map;var g=function(t,i){var e=t.fields,s=t.updater;e.forEach((function(t){s(t,i[t])}))};var b={create:function(i,e){var s=t(i);var n=new Map;var r={wormholes:n,state:e};y.set(i,r);var a=i.connectedCallback;i.connectedCallback=function(){y.set(i,r);if(a){a.call(i)}};var h=i.disconnectedCallback;i.disconnectedCallback=function(){y.delete(i);if(h){h.call(i)}};s.addEventListener("openWormhole",(function(t){t.stopPropagation();var i=t.detail,e=i.consumer,s=i.onOpen;if(n.has(e))return;if(typeof e!=="symbol"){var a=e.connectedCallback,h=e.disconnectedCallback;e.connectedCallback=function(){n.set(e,t.detail);if(a){a.call(e)}};e.disconnectedCallback=function(){n.delete(e);if(h){h.call(e)}}}n.set(e,t.detail);g(t.detail,r.state);s===null||s===void 0?void 0:s.resolve((function(){n.delete(e)}))}));s.addEventListener("closeWormhole",(function(t){var i=t.detail;n.delete(i)}))},Provider:function(t,e){var s=t.state;var n=i();if(y.has(n)){var r=y.get(n);r.state=s;r.wormholes.forEach((function(t){g(t,s)}))}return e}};var w=c((function(t,i){!function(t,e){e(i)}(p,(function(t){function i(t){var e,s,n=new Error(t);return e=n,s=i.prototype,Object.setPrototypeOf?Object.setPrototypeOf(e,s):e.__proto__=s,n}function e(t,e,s){var n=e.slice(0,s).split(/\n/),r=n.length,a=n[r-1].length+1;throw i(t+=" at line "+r+" col "+a+":\n\n "+e.split(/\n/)[r-1]+"\n "+Array(a).join(" ")+"^")}i.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var s=new Function("return this")().Promise,n=!1;try{n=new Function("return (async function(){}).constructor")()}catch(t){if(!(t instanceof SyntaxError))throw t}function r(t,i){return Object.prototype.hasOwnProperty.call(t,i)}function a(t,i,e){for(var s in i)r(i,s)&&(null==i[s]||"object"!=typeof i[s]||"storage"!==s&&"prefixes"!==s||e?t[s]=i[s]:t[s]=a({},i[s]));return t}var h=/^async +/,o=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,l=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,f=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,u=/[.*+\-?^${}()|[\]\\]/g;function c(t){return u.test(t)?t.replace(u,"\\$&"):t}function p(t,s){s.rmWhitespace&&(t=t.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),o.lastIndex=0,l.lastIndex=0,f.lastIndex=0;var n=s.prefixes,r=[n.h,n.b,n.i,n.r,n.c,n.e].reduce((function(t,i){return t&&i?t+"|"+c(i):i?c(i):t}),""),a=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+c(s.tags[1])+")","g"),u=new RegExp("([^]*?)"+c(s.tags[0])+"(-|_)?\\s*("+r+")?\\s*","g"),p=0,d=!1;function v(i,n){var r,c={f:[]},v=0,m="c";function y(i){var n=t.slice(p,i),r=n.trim();if("f"===m)"safe"===r?c.raw=!0:s.async&&h.test(r)?(r=r.replace(h,""),c.f.push([r,"",!0])):c.f.push([r,""]);else if("fp"===m)c.f[c.f.length-1][1]+=r;else if("err"===m){if(r){var a=n.search(/\S/);e("invalid syntax",t,p+a)}}else c[m]=r;p=i+1}for("h"===n||"b"===n||"c"===n?m="n":"r"===n&&(c.raw=!0,n="i"),a.lastIndex=p;null!==(r=a.exec(t));){var g=r[1],b=r[2],w=r[3],x=r[4],k=r[5],F=r.index;if(g)"("===g?(0===v&&("n"===m?(y(F),m="p"):"f"===m&&(y(F),m="fp")),v++):")"===g?0===--v&&"c"!==m&&(y(F),m="err"):0===v&&"|"===g?(y(F),m="f"):"=>"===g&&(y(F),p+=1,m="res");else if(b){if("/*"===b){var j=t.indexOf("*/",a.lastIndex);-1===j&&e("unclosed comment",t,r.index),a.lastIndex=j+2}else if("'"===b){l.lastIndex=r.index,l.exec(t)?a.lastIndex=l.lastIndex:e("unclosed string",t,r.index)}else if('"'===b){f.lastIndex=r.index,f.exec(t)?a.lastIndex=f.lastIndex:e("unclosed string",t,r.index)}else if("`"===b){o.lastIndex=r.index,o.exec(t)?a.lastIndex=o.lastIndex:e("unclosed string",t,r.index)}}else if(w)return y(F),p=F+r[0].length,u.lastIndex=p,d=k,x&&"h"===n&&(n="s"),c.t=n,c}return e("unclosed tag",t,i),c}var m=function r(a,o){a.b=[],a.d=[];var l,f=!1,c=[];function m(t,i){t&&(t=function(t,i,e,s){var n,r;return"string"==typeof i.autoTrim?n=r=i.autoTrim:Array.isArray(i.autoTrim)&&(n=i.autoTrim[1],r=i.autoTrim[0]),(e||!1===e)&&(n=e),(s||!1===s)&&(r=s),"slurp"===n&&"slurp"===r?t.trim():("_"===n||"slurp"===n?t=String.prototype.trimLeft?t.trimLeft():t.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==n&&"nl"!==n||(t=t.replace(/^(?:\n|\r|\r\n)/,"")),"_"===r||"slurp"===r?t=String.prototype.trimRight?t.trimRight():t.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==r&&"nl"!==r||(t=t.replace(/(?:\n|\r|\r\n)$/,"")),t)}(t,s,d,i))&&(t=t.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),c.push(t))}for(;null!==(l=u.exec(t));){var y,g=l[1],b=l[2],w=l[3]||"";for(var x in n)if(n[x]===w){y=x;break}m(g,b),p=l.index+l[0].length,y||e("unrecognized tag type: "+w,t,p);var k=v(l.index,y),F=k.t;if("h"===F){var j=k.n||"";s.async&&h.test(j)&&(k.a=!0,k.n=j.replace(h,"")),k=r(k),c.push(k)}else if("c"===F){if(a.n===k.n)return f?(f.d=c,a.b.push(f)):a.d=c,a;e("Helper start and end don't match",t,l.index+l[0].length)}else if("b"===F){f?(f.d=c,a.b.push(f)):a.d=c;var C=k.n||"";s.async&&h.test(C)&&(k.a=!0,k.n=C.replace(h,"")),f=k,c=[]}else if("s"===F){var I=k.n||"";s.async&&h.test(I)&&(k.a=!0,k.n=I.replace(h,"")),c.push(k)}else c.push(k)}if(!o)throw i('unclosed helper "'+a.n+'"');return m(t.slice(p,t.length),!1),a.d=c,a}({f:[]},!0);if(s.plugins)for(var y=0;y<s.plugins.length;y++){var g=s.plugins[y];g.processAST&&(m.d=g.processAST(m.d,s))}return m.d}function d(t,i){var e=p(t,i),s="var tR='';"+(i.useWith?"with("+i.varName+"||{}){":"")+b(e,i)+"if(cb){cb(null,tR)} return tR"+(i.useWith?"}":"");if(i.plugins)for(var n=0;n<i.plugins.length;n++){var r=i.plugins[n];r.processFnString&&(s=r.processFnString(s,i))}return s}function v(t,i){for(var e=0;e<i.length;e++){var s=i[e][0],n=i[e][1];t=(i[e][2]?"await ":"")+"c.l('F','"+s+"')("+t,n&&(t+=","+n),t+=")"}return t}function m(t,i,e,s,n,r){var a="{exec:"+(n?"async ":"")+g(e,i,t)+",params:["+s+"]";return r&&(a+=",name:'"+r+"'"),n&&(a+=",async:true"),a+="}"}function y(t,i){for(var e="[",s=0;s<t.length;s++){var n=t[s];e+=m(i,n.res||"",n.d,n.p||"",n.a,n.n),s<t.length&&(e+=",")}return e+="]"}function g(t,i,e){return"function("+i+"){var tR='';"+b(t,e)+"return tR}"}function b(t,i){for(var e=0,s=t.length,n="";e<s;e++){var r=t[e];if("string"==typeof r){n+="tR+='"+r+"';"}else{var a=r.t,h=r.c||"",o=r.f,l=r.n||"",f=r.p||"",u=r.res||"",c=r.b,p=!!r.a;if("i"===a){i.defaultFilter&&(h="c.l('F','"+i.defaultFilter+"')("+h+")");var d=v(h,o);!r.raw&&i.autoEscape&&(d="c.l('F','e')("+d+")"),n+="tR+="+d+";"}else if("h"===a)if(i.storage.nativeHelpers.get(l))n+=i.storage.nativeHelpers.get(l)(r,i);else{var g=(p?"await ":"")+"c.l('H','"+l+"')("+m(i,u,r.d,f,p);g+=c?","+y(c,i):",[]",n+="tR+="+v(g+=",c)",o)+";"}else"s"===a?n+="tR+="+v((p?"await ":"")+"c.l('H','"+l+"')({params:["+f+"]},[],c)",o)+";":"e"===a&&(n+=h+"\n")}}return n}var w=function(){function t(t){this.cache=t}return t.prototype.define=function(t,i){this.cache[t]=i},t.prototype.get=function(t){return this.cache[t]},t.prototype.remove=function(t){delete this.cache[t]},t.prototype.reset=function(){this.cache={}},t.prototype.load=function(t){a(this.cache,t,!0)},t}();function x(t,e,s,n){if(e&&e.length>0)throw i((n?"Native":"")+"Helper '"+t+"' doesn't accept blocks");if(s&&s.length>0)throw i((n?"Native":"")+"Helper '"+t+"' doesn't accept filters")}var k={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function F(t){return k[t]}var j=new w({}),C=new w({each:function(t,i){var e="",s=t.params[0];if(x("each",i,!1),t.async)return new Promise((function(i){!function t(i,e,s,n,r){s(i[e],e).then((function(a){n+=a,e===i.length-1?r(n):t(i,e+1,s,n,r)}))}(s,0,t.exec,e,i)}));for(var n=0;n<s.length;n++)e+=t.exec(s[n],n);return e},foreach:function(t,i){var e=t.params[0];if(x("foreach",i,!1),t.async)return new Promise((function(i){!function t(i,e,s,n,r,a){n(e[s],i[e[s]]).then((function(h){r+=h,s===e.length-1?a(r):t(i,e,s+1,n,r,a)}))}(e,Object.keys(e),0,t.exec,"",i)}));var s="";for(var n in e)r(e,n)&&(s+=t.exec(n,e[n]));return s},include:function(t,e,s){x("include",e,!1);var n=s.storage.templates.get(t.params[0]);if(!n)throw i('Could not fetch template "'+t.params[0]+'"');return n(t.params[1],s)},extends:function(t,e,s){var n=t.params[1]||{};n.content=t.exec();for(var r=0;r<e.length;r++){var a=e[r];n[a.name]=a.exec()}var h=s.storage.templates.get(t.params[0]);if(!h)throw i('Could not fetch template "'+t.params[0]+'"');return h(n,s)},useScope:function(t,i){return x("useScope",i,!1),t.exec(t.params[0])}}),I=new w({if:function(t,i){x("if",!1,t.f,!0);var e="if("+t.p+"){"+b(t.d,i)+"}";if(t.b)for(var s=0;s<t.b.length;s++){var n=t.b[s];"else"===n.n?e+="else{"+b(n.d,i)+"}":"elif"===n.n&&(e+="else if("+n.p+"){"+b(n.d,i)+"}")}return e},try:function(t,e){if(x("try",!1,t.f,!0),!t.b||1!==t.b.length||"catch"!==t.b[0].n)throw i("native helper 'try' only accepts 1 block, 'catch'");var s="try{"+b(t.d,e)+"}",n=t.b[0];return s+="catch"+(n.res?"("+n.res+")":"")+"{"+b(n.d,e)+"}"},block:function(t,i){return x("block",t.b,t.f,!0),"if(!"+i.varName+"["+t.p+"]){tR+=("+g(t.d,"",i)+")()}else{tR+="+i.varName+"["+t.p+"]}"}}),z=new w({e:function(t){var i=String(t);return/[&<>"']/.test(i)?i.replace(/[&<>"']/g,F):i}}),S={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(t,e){if("H"===t){var s=this.storage.helpers.get(e);if(s)return s;throw i("Can't find helper '"+e+"'")}if("F"===t){var n=this.storage.filters.get(e);if(n)return n;throw i("Can't find filter '"+e+"'")}},async:!1,storage:{helpers:C,nativeHelpers:I,filters:z,templates:j},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function O(t,i){var e={};return a(e,S),i&&a(e,i),t&&a(e,t),e.l.bind(e),e}function R(t,e){var s=O(e||{}),r=Function;if(s.async){if(!n)throw i("This environment doesn't support async/await");r=n}try{return new r(s.varName,"c","cb",d(t,s))}catch(e){throw e instanceof SyntaxError?i("Bad template syntax\n\n"+e.message+"\n"+Array(e.message.length+1).join("=")+"\n"+d(t,s)):e}}function A(t,i){var e;return i.cache&&i.name&&i.storage.templates.get(i.name)?i.storage.templates.get(i.name):(e="function"==typeof t?t:R(t,i),i.cache&&i.name&&i.storage.templates.define(i.name,e),e)}S.l.bind(S),t.compile=R,t.compileScope=b,t.compileScopeIntoFunction=g,t.compileToString=d,t.defaultConfig=S,t.filters=z,t.getConfig=O,t.helpers=C,t.nativeHelpers=I,t.parse=p,t.render=function(t,e,n,r){var a=O(n||{});if(!a.async)return A(t,a)(e,a);if(!r){if("function"==typeof s)return new s((function(i,s){try{i(A(t,a)(e,a))}catch(t){s(t)}}));throw i("Please provide a callback function, this env doesn't support Promises")}try{A(t,a)(e,a,r)}catch(t){return r(t)}},t.templates=j,Object.defineProperty(t,"__esModule",{value:!0})}))}));const x=u(w);const k=Object.freeze(Object.assign(Object.create(null),w,{default:x}));const F=k;F.filters.define("date_long",((t,i={year:"numeric",month:"long",day:"numeric"})=>{if(!t)return;let e=new Date(parseInt(t)*1e3);t=e.toLocaleDateString("en-GB",i);return t}));F.filters.define("date_short",((t,i="d/m/y")=>{if(!t)return;let e=new Date(parseInt(t)*1e3);t=i.replace(/(d)/,e.getDate().toString());t=t.replace(/(m)/,(e.getMonth()+1).toString());t=t.replace(/(y)/,e.getFullYear().toString());return t}));F.filters.define("public_name",(t=>{if(!t)return;t=t.split("_").map((t=>t.length<3?t.toUpperCase():t)).join(" ");return t.charAt(0).toUpperCase()+t.slice(1)}));F.filters.define("trim_to",((t,i=100)=>{if(!t)return;if(t.length<=i)return t;return t.substr(0,i)+"..."}));F.filters.define("classname",(t=>{if(!t)return;return t.replace(/[\W]+/g,"")}));F.filters.define("abs_url",((t,i=null,e)=>{if(!i)return t;if(!t)return;let s=undefined;if(i.domains&&e&&e.origin){let t=i.domains.find((t=>t.origin===e.origin));s=t?t.domain:""}else if(i.domain)s=i.domain;if(!s)return t;return t.match(/^http/)?t:location.protocol+"//"+s+t}));F.filters.define("replace",((t,i,e)=>t.replace(i,e)));F.filters.define("remove_spaces",(t=>t.replace(/ /g,"_")));F.filters.define("add_spaces",(t=>t=t.replace(/[_\-]/g," ")));F.filters.define("capitalise",(t=>t=t.charAt(0).toUpperCase()+t.slice(1)));F.filters.define("lowercase",(t=>t=t.toLowerCase()));const j=F;class C{constructor(){this.queue=[];this.workingOnPromise=false;this.stop=false;this.limit=null}enqueue(t){return new Promise(((i,e)=>{this.queue.push({promise:t,resolve:i,reject:e});this.dequeue()}))}dequeue(){if(this.workingOnPromise){return false}if(this.stop){this.queue=[];this.stop=false;return}const t=this.queue.shift();if(!t){return false}try{this.workingOnPromise=true;t.promise().then((i=>{this.workingOnPromise=false;t.resolve(i);this.dequeue()})).catch((i=>{this.workingOnPromise=false;t.reject(i);this.dequeue()}))}catch(i){this.workingOnPromise=false;t.reject(i);this.dequeue()}return true}}C.pendingPromise=false;const I=":host{-webkit-box-sizing:border-box;box-sizing:border-box}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden]{display:none !important}:host{position:relative;display:block}:host ::slotted([slot=search-template]),:host::slotted([slot=search-template]){display:none !important}.loader{opacity:0;position:fixed;height:100%;width:100%;min-height:100%;max-height:100vh !important;max-width:100vw !important;left:0;top:0;z-index:-10;font-size:60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-transition:opacity 0.2s ease, z-index 0.01s ease 0.2s;transition:opacity 0.2s ease, z-index 0.01s ease 0.2s}.loader.loading{opacity:1;z-index:10;-webkit-transition:z-index 0.01s ease, opacity 0.2s ease 0.01s;transition:z-index 0.01s ease, opacity 0.2s ease 0.01s}.default{height:100%}.default:focus{outline:none}.results{opacity:0;outline:none;overflow:auto;-webkit-transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s;transition:transform 0.3s ease, opacity 0.3s ease, visibility 0.01s ease 0.3s, z-index 0.01s ease 0.3s, -webkit-transform 0.3s ease;-webkit-transform:translate(0, 100px);transform:translate(0, 100px);visibility:hidden;z-index:-1;position:absolute;top:0;left:0;display:none}.results-container{position:relative}.results.show{-webkit-transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s;transition:z-index 0.01s ease, visibility 0.01s ease, transform 0.3s ease 0.01s, opacity 0.3s ease 0.01s, -webkit-transform 0.3s ease 0.01s;-webkit-transform:translate(0, 0);transform:translate(0, 0);visibility:visible;opacity:1;z-index:10;overflow:hidden}.results.shown{height:auto !important;width:auto !important;display:block;position:static;-webkit-transform:none;transform:none;z-index:auto;visibility:inherit;opacity:initial}";const z=!!document.head.attachShadow;let S=class{constructor(t){e(this,t);this.nanoDidLoad=s(this,"nanoDidLoad",7);this.nanoResultsShown=s(this,"nanoResultsShown",3);this.nanoBeforeQuery=s(this,"nanoBeforeQuery",7);this.nanoAfterQuery=s(this,"nanoAfterQuery",7);this.nanoNewResults=s(this,"nanoNewResults",7);this.staticFacetFilters={};this.dynFacetFilters={};this.hasLoadSlot=false;this.placedAlgoliaEles=[];this.promiseQueue=new C;this._dynFacetFilters={};this.indeces=[];this.filterChanged="";this.changeEvent=o.Init;this.isLoading=false;this.wormholeState=this;this.showResults=false;this.resultsPage=0;this.searchIndex={};this.searchIndexName="";this.listenTo=null;this.query="";this.operator="and";this.filters=[];this.tplEngine=j;this.tplRenderFn=j.render;this.replicaIndex="";this.browseIndex=false;this.minChars=2;this.storeMethod="session";this.searchChange=async()=>{if(!this.algoliaIndex)return;if(!this.query||this.query.length<this.minChars){if(!this.browseIndex){if(!this.query||this.query.length===0){this.handleSearchReset();return}else return}else if(this.query!=="*"){this.query="*";return}}this.isLoading=true;setTimeout((async()=>{this.resetPage();await this.algoliaSearch(o.Init);await this.updateContent();setTimeout((t=>this.isLoading=false),800);this.showResults=true;this.nanoResultsShown.emit(this.indexResults)}),200)};this.makeAppliedFilters=()=>{let t=[];const i=i=>{Object.values(i).forEach((i=>{if(i.value&&i.value.length){let e=t.find((t=>t.name===i.facetName));if(!e)t.push({name:i.facetName,values:[...i.value]});else e.values=[...e.values,...i.value]}}))};i(this.dynFacetFilters);i(this.staticFacetFilters);if(t.length)return t;return null};this.algoliaSearch=async t=>this.promiseQueue.enqueue((()=>this.queueSearch(t)));this.queueSearch=async t=>{if(!this.algoliaIndex||!this.query||!this.searchIndex||!this.searchIndex.index)return;this.nanoBeforeQuery.emit(this.indexResults);if(o.Init===t)this.clearAllFacetFilters();let i={filters:this.algoliaFilterStr(),page:this.indexResults?this.indexResults.currentPage:0};if(this.searchIndex.filters)i.facets=this.searchIndex.filters;if(this.searchIndex.hitsPerPage)i.hitsPerPage=this.searchIndex.hitsPerPage;let e=await this.algoliaIndex.search(this.query,i);e=this.fixDomain(e);this.changeEvent=t;if(t===o.Init||!this.indexResults){this.indexResults={currentPage:0,totalHits:e.nbHits,hitsPerPage:null,origFilters:e.facets,query:this.query,domain:this.searchIndex.domain||null,legacy:!z,totalHitsWithFilters:0,results:[],totalPages:0,appliedFilters:this.makeAppliedFilters(),indexName:this.searchIndex.name||null,index:this.searchIndex.index}}this.indexResults.dynFilters=e.facets;this.indexResults.results=e.hits;this.indexResults.totalHitsWithFilters=e.nbHits;this.indexResults.currentPage=e.page;this.indexResults.totalPages=e.nbPages;this.indexResults.hitsPerPage=e.hitsPerPage;this.indexResults.query=e.query;if(this.changeEvent!==o.Page&&this.changeEvent!==o.Replica){this.facets=e.facets}this.nanoAfterQuery.emit(this.indexResults);return new Promise((t=>{setTimeout((()=>t("tpl updated")),20)})).then((t=>{this.currentHits=this.indexResults.results;this.resultsPage=this.indexResults.currentPage}))};this.handleSearchReset=()=>{this.showResults=false;this.indexResults=null};this.onResultDisplay=()=>{n((()=>{this.resultsDiv.removeEventListener("transitionend",this.onResultDisplay);if(!this.showResults)this.resultsDiv.style.display="none";else{this.defaultDiv.style.display="none";this.resultsDiv.classList.add("shown");this.resultsDiv.style.minHeight="";this.resultsDiv.style.width=""}}))}}async removeFilters(t,i){if(!t&&!i)this.clearAllFacetFilters();else{Object.keys(this._dynFacetFilters).forEach((e=>{if(t&&this._dynFacetFilters[e].facetName===t){if(!i)this._dynFacetFilters[e].element.value="";else{this._dynFacetFilters[e].element.value=this._dynFacetFilters[e].value.filter((t=>t!==i))}}}))}}onAllTplUpdate(t){t.stopPropagation();if(t.target.tagName==="NANO-ALGOLIA-RESULTS"){l((()=>{this.nanoNewResults.emit(this.indexResults)}))}}async onPageChange(t){if(!this.indexResults)return;let i=this.resultsPage;if(t){t.stopPropagation();i=t.detail.page}i=Math.min(this.indexResults.totalPages-1,i);i=Math.max(i,0);if(this.indexResults.currentPage===i)return;this.indexResults.currentPage=i;await this.algoliaSearch(o.Page)}async onFilterChange(t){t.stopPropagation();let i={};let e=t.detail;e.element=t.target;if(this.indexResults){if(this.staticFacetFilters[e.filterId])this.staticFacetFilters[e.filterId]=e;else{i[e.filterId]=e;this._dynFacetFilters=Object.assign(Object.assign({},this._dynFacetFilters),i)}this.indexResults.appliedFilters=this.makeAppliedFilters()}else this.staticFacetFilters[e.filterId]=e;this.filterChanged=e.value&&e.value.length?e.filterId:"all";this.resetPage();this.algoliaSearch(o.Filter)}dynFacetFiltersChange(){Object.values(this._dynFacetFilters).forEach((t=>{if(this.host.ownerDocument===t.element.ownerDocument)this.dynFacetFilters[t.filterId]=t;else delete this.dynFacetFilters[t.filterId]}))}browseIndexChange(){if(this.browseIndex&&(!this.query||this.query.length<this.minChars)){this.query="*"}}inputFieldSet(){if(!this.inputField)return;if(this.query!=="*"&&this.inputField&&this.inputField.value!==this.query)this.inputField.value=this.query}queryChange(){this.searchChange()}async internalIndexSwitch(){if(!this.replicaIndex||!this.indexResults||this.indexResults.index===this.replicaIndex)return;this.indexResults.index=this.replicaIndex;this.algoliaIndex=this.algoliaClient.initIndex(this.indexResults.index);this.resetPage();this.algoliaSearch(o.Replica)}pageChange(){this.onPageChange()}searchIndexNameChange(){if(!this.searchIndexName||!this.searchIndexName.length||this.searchIndex&&this.searchIndex.index===this.searchIndexName)return;this.searchIndex={index:this.searchIndexName}}initAlgoliaClient(){if(!this.appId||!this.apiKey)return;this.algoliaClient=f(this.appId,this.apiKey)}initAlgoliaIndex(){if(!this.algoliaClient||!this.searchIndex)return;if(this.searchIndex.index){if(this.replicaIndex)this.searchIndex.index=this.replicaIndex;this.searchIndexName=this.searchIndex.index;this.algoliaIndex=this.algoliaClient.initIndex(this.searchIndex.index);this.searchChange()}}showResultsChange(){if(!this.resultsDiv||!this.defaultDiv)return;if(this.showResults){this.resultsDiv.style.width=this.host.scrollWidth+"px";this.resultsDiv.style.minHeight=this.host.scrollHeight+"px";n((()=>{this.resultsDiv.addEventListener("transitionend",this.onResultDisplay);this.resultsDiv.style.display="block";setTimeout((()=>this.resultsDiv.classList.add("show")),50)}))}else{n((()=>{this.resultsDiv.classList.remove("shown");this.defaultDiv.style.display="block";setTimeout((()=>{this.resultsDiv.addEventListener("transitionend",this.onResultDisplay);this.resultsDiv.classList.remove("show");if(!!this.slottedInput)this.slottedInput.focus({preventScroll:true});else this.defaultDiv.focus({preventScroll:true})}),50)}))}}fixDomain(t){if(!this.searchIndex||!this.searchIndex.domain)return t;t.hits.map((t=>{if(t.url&&!t.url.match(/^http/))t.url=location.protocol+"//"+this.searchIndex.domain+t.url}));return t}resetPage(){if(!this.indexResults)return;this.indexResults.currentPage=0}clearAllFacetFilters(){Object.values(this._dynFacetFilters).forEach((t=>{t.element.value=""}));this._dynFacetFilters={}}algoliaFilterStr(){let t={};const i=i=>{let e;let s;Object.keys(i).forEach((n=>{e=i[n];t[n]=t[n]||{name:e.facetName,or:[],and:[],not:[]};s=t[n][e.operator];if(e.value&&e.value.length){t[n][e.operator]=[...s,...e.value]}}))};i(this.dynFacetFilters);i(this.staticFacetFilters);const e=(t,i)=>{if(i.indexOf(" ")>-1)return t+':"'+i+'"';else return t+":"+i};let s=[];let n;let r;Object.values(t).forEach((function(t){Object.keys(t).filter((t=>t.match(/(or|and|not)/))).forEach((i=>{n=t;r=t.name;if(i==="or"||i==="and"){if(n[i].length){s.push("( "+n[i].map((t=>{if(t.length)return e(r,t)})).join(" "+i.toLocaleUpperCase()+" ")+" )")}}else{if(n.not.length){s.push("( "+n[i].map((t=>{if(t.length)return"NOT "+e(r,t)})).join(" AND ")+" )")}}}))}));s=[...this.filters,...s];return s.join(" "+this.operator.toLocaleUpperCase()+" ")}handleInputChange(t){if(t.target!==this.inputField)return;this.query=this.inputField.value}async updateContent(){return this.promiseQueue.enqueue((()=>this.updateContentQueue()))}async updateContentQueue(){let t=this.outputSlot||this.resultsDiv;if(!t||!this.tpl)return"no tpl";let i=document.createElement("div");i.innerHTML=this.tpl;let e=[];this.placedAlgoliaEles=[];Array.from(i.querySelectorAll("nano-algolia, nano-algolia-filter, nano-algolia-results")).forEach(((t,i)=>{let s=document.createElement("div");s.dataset.placeholderId=i.toString();s.classList.add("nano-ele-placeholder");e.push(t);t.parentNode.replaceChild(s,t)}));t.innerHTML=this.tplRenderFn(i.innerHTML.replace(/&gt;/gm,">").replace(/&lt;/gm,"<").replace(/&amp;/gm,"&"),this.indexResults);Array.from(t.querySelectorAll("div.nano-ele-placeholder")).forEach((t=>{t.parentNode.replaceChild(e[parseInt(t.dataset.placeholderId)],t);this.placedAlgoliaEles.push(e[parseInt(t.dataset.placeholderId)])}));if(!this.placedAlgoliaEles.length)return Promise.resolve("algolia setup");return new Promise((i=>{const e=s=>{this.placedAlgoliaEles=this.placedAlgoliaEles.filter((t=>t!==s.detail));if(!this.placedAlgoliaEles.length){setTimeout((()=>i("tpl updated")),500);t.removeEventListener("nanoTplUpdated",e)}};t.addEventListener("nanoTplUpdated",e)}))}componentWillLoad(){r((t=>{this.tplSlot=v(this.host,'[slot="template"]')[0];this.outputSlot=v(this.host,'[slot="output"]')[0];this.slottedInput=v(this.host,'[slot="search-input"]')[0];this.hasLoadSlot=!!v(this.host,'[slot="loader"]')[0];if(!!this.tplSlot)this.tpl=this.tplSlot.innerHTML;if(this.slottedInput&&(this.slottedInput.tagName.toLocaleLowerCase()==="nano-input"||this.slottedInput instanceof HTMLInputElement)){this.inputField=this.slottedInput}else if(this.slottedInput){this.inputField=this.slottedInput.querySelector('nano-input, input:not([type="radio"]):not([type="checkbox"])')}n((t=>{if(this.showResults&&this.tpl)this.searchChange()}))}));this.searchIndexNameChange();this.initAlgoliaClient();this.initAlgoliaIndex();b.create(this,this.wormholeState);if(this.storeId){d.init(this,["query","replicaIndex"],this.storeMethod,this.storeId);d.init(this,["apiKey","appId","searchIndex"],"session",this.storeId+"_api")}this.internalIndexSwitch()}connectedCallback(){this.searchChange=m(this.searchChange,300);this.browseIndexChange();this.host.dispatchEvent(new CustomEvent("nanoDidLoad",{detail:this.host}))}render(){const t={indexResults:this.indexResults,results:this.currentHits,filterChanged:this.filterChanged,tplRenderFn:this.tplRenderFn,resultsPage:this.resultsPage,changeEvent:this.changeEvent,facets:this.facets,algoliaIndex:this.algoliaIndex,searchIndex:this.searchIndex,globalStoreMethod:this.storeMethod,isLoading:this.isLoading};return a(h,{class:{"show-results":this.showResults,"is-loading":this.isLoading},"aria-busy":this.isLoading},this.hasLoadSlot&&a("div",{hidden:!this.isLoading},a("slot",{name:"loader"})),!this.hasLoadSlot&&a("div",{class:{loader:true,loading:this.isLoading}},a("nano-spinner",{overlay:true,type:"circle"})),a(b.Provider,{state:t},a("slot",{name:"search-input"}),a("div",{class:"results-container","aria-live":"polite"},a("div",{ref:t=>this.resultsDiv=t,class:"results"},a("slot",{name:"output"})))),a("div",{ref:t=>this.defaultDiv=t,class:"default",tabindex:"-1"},a("slot",null)))}get host(){return t(this)}static get watchers(){return{_dynFacetFilters:["dynFacetFiltersChange"],browseIndex:["browseIndexChange"],inputField:["inputFieldSet"],query:["queryChange"],replicaIndex:["internalIndexSwitch"],resultsPage:["pageChange"],searchIndexName:["searchIndexNameChange"],apiKey:["initAlgoliaClient"],appId:["initAlgoliaClient"],searchIndex:["initAlgoliaIndex"],showResults:["showResultsChange"]}}};S.style=I;export{S as nano_algolia};
5
+ //# sourceMappingURL=p-46d0bb7b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["node_modules/stencil-wormhole/dist/esm/universe.js","node_modules/squirrelly/dist/browser/squirrelly.min.js","src/utils/template.ts","src/utils/promise-queue.ts","src/components/algolia/algolia.scss?tag=nano-algolia&encapsulation=shadow","src/components/algolia/algolia.tsx"],"names":["multiverse","Map","updateConsumer","_a","state","fields","updater","forEach","field","Universe","create","creator","initialState","el","getElement","wormholes","universe","set","connectedCallback","call","disconnectedCallback","delete","addEventListener","event","stopPropagation","detail","consumer","onOpen","has","connectedCallback_1","disconnectedCallback_1","resolve","Provider","children","getRenderingRef","get","opening","e","t","exports","this","n","r","a","Error","prototype","Object","setPrototypeOf","__proto__","slice","split","i","length","s","Array","join","name","value","enumerable","Function","Promise","SyntaxError","hasOwnProperty","c","o","l","f","u","p","test","replace","h","rmWhitespace","lastIndex","prefixes","b","reduce","RegExp","tags","d","g","v","m","trim","raw","async","push","search","exec","y","x","w","F","S","index","I","indexOf","autoTrim","isArray","String","trimLeft","trimRight","R","T","plugins","processAST","useWith","varName","processFnString","res","defaultFilter","autoEscape","storage","nativeHelpers","cache","define","remove","reset","load","&","<",">","\"","'","each","params","then","foreach","keys","include","templates","extends","content","useScope","if","try","block","E","j","helpers","filters","H","bind","O","message","_","compile","compileScope","compileScopeIntoFunction","compileToString","defaultConfig","getConfig","parse","render","defineProperty","squirrel","Sqrl","str","options","year","month","day","date","Date","parseInt","toLocaleDateString","format","getDate","toString","getMonth","getFullYear","map","val","toUpperCase","charAt","substr","result","domain","undefined","domains","origin","found","find","dm","match","location","protocol","toLowerCase","Squirrel","PromiseQueue","[object Object]","queue","workingOnPromise","stop","limit","promise","reject","dequeue","item","shift","catch","err","pendingPromise","algoliaCss","CANSHADOW","document","head","attachShadow","Algolia","hostRef","staticFacetFilters","dynFacetFilters","hasLoadSlot","placedAlgoliaEles","promiseQueue","_dynFacetFilters","indeces","filterChanged","changeEvent","SearchChangeEvent","Init","isLoading","wormholeState","showResults","resultsPage","searchIndex","searchIndexName","listenTo","query","operator","tplEngine","tplRenderFn","replicaIndex","browseIndex","minChars","storeMethod","searchChange","algoliaIndex","handleSearchReset","setTimeout","resetPage","algoliaSearch","updateContent","nanoResultsShown","emit","indexResults","makeAppliedFilters","appliedFtrs","makeAppliedFilter","facetFilters","values","filter","appFilter","facetName","eventType","enqueue","queueSearch","nanoBeforeQuery","clearAllFacetFilters","searchParams","algoliaFilterStr","page","currentPage","facets","hitsPerPage","fixDomain","totalHits","nbHits","origFilters","legacy","totalHitsWithFilters","results","totalPages","appliedFilters","indexName","dynFilters","hits","nbPages","Page","Replica","nanoAfterQuery","currentHits","onResultDisplay","writeTask","resultsDiv","removeEventListener","style","display","defaultDiv","classList","add","minHeight","width","facetValue","filterId","element","ev","target","tagName","raf","nanoNewResults","Math","min","max","dynFilterObj","assign","Filter","host","ownerDocument","inputField","algoliaClient","initIndex","onPageChange","appId","apiKey","algoliasearch","scrollWidth","scrollHeight","slottedInput","focus","preventScroll","hit","url","facetFilterObj","groupFilters","filterOp","or","and","not","formatVal","filterStrParts","operatorGrp","filterName","filterProp","toLocaleUpperCase","updateContentQueue","outputTo","outputSlot","tpl","tmpCont","createElement","innerHTML","algoliaEles","from","querySelectorAll","placeholder","dataset","placeholderId","parentNode","replaceChild","childrenResolver","ele","readTask","tplSlot","getDirectChildren","toLocaleLowerCase","HTMLInputElement","querySelector","searchIndexNameChange","initAlgoliaClient","initAlgoliaIndex","storeId","ComponentStore","init","internalIndexSwitch","debounce","browseIndexChange","dispatchEvent","CustomEvent","globalStoreMethod","Host","class","show-results","is-loading","aria-busy","hidden","loader","loading","overlay","type","aria-live","ref","div","tabindex"],"mappings":"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","sourcesContent":["import { getElement, getRenderingRef } from \"@stencil/core\";\nvar multiverse = new Map();\nvar updateConsumer = function (_a, state) {\n var fields = _a.fields, updater = _a.updater;\n fields.forEach(function (field) { updater(field, state[field]); });\n};\nexport var Universe = {\n create: function (creator, initialState) {\n var el = getElement(creator);\n var wormholes = new Map();\n var universe = { wormholes: wormholes, state: initialState };\n multiverse.set(creator, universe);\n var connectedCallback = creator.connectedCallback;\n creator.connectedCallback = function () {\n multiverse.set(creator, universe);\n if (connectedCallback) {\n connectedCallback.call(creator);\n }\n };\n var disconnectedCallback = creator.disconnectedCallback;\n creator.disconnectedCallback = function () {\n multiverse.delete(creator);\n if (disconnectedCallback) {\n disconnectedCallback.call(creator);\n }\n };\n el.addEventListener('openWormhole', function (event) {\n event.stopPropagation();\n var _a = event.detail, consumer = _a.consumer, onOpen = _a.onOpen;\n if (wormholes.has(consumer))\n return;\n if (typeof consumer !== 'symbol') {\n var connectedCallback_1 = consumer.connectedCallback, disconnectedCallback_1 = consumer.disconnectedCallback;\n consumer.connectedCallback = function () {\n wormholes.set(consumer, event.detail);\n if (connectedCallback_1) {\n connectedCallback_1.call(consumer);\n }\n };\n consumer.disconnectedCallback = function () {\n wormholes.delete(consumer);\n if (disconnectedCallback_1) {\n disconnectedCallback_1.call(consumer);\n }\n };\n }\n wormholes.set(consumer, event.detail);\n updateConsumer(event.detail, universe.state);\n onOpen === null || onOpen === void 0 ? void 0 : onOpen.resolve(function () { wormholes.delete(consumer); });\n });\n el.addEventListener('closeWormhole', function (event) {\n var consumer = event.detail;\n wormholes.delete(consumer);\n });\n },\n Provider: function (_a, children) {\n var state = _a.state;\n var creator = getRenderingRef();\n if (multiverse.has(creator)) {\n var universe = multiverse.get(creator);\n universe.state = state;\n universe.wormholes.forEach(function (opening) { updateConsumer(opening, state); });\n }\n return children;\n }\n};\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self).Sqrl={})}(this,(function(e){\"use strict\";function t(e){var n,r,a=new Error(e);return n=a,r=t.prototype,Object.setPrototypeOf?Object.setPrototypeOf(n,r):n.__proto__=r,a}function n(e,n,r){var a=n.slice(0,r).split(/\\n/),i=a.length,s=a[i-1].length+1;throw t(e+=\" at line \"+i+\" col \"+s+\":\\n\\n \"+n.split(/\\n/)[i-1]+\"\\n \"+Array(s).join(\" \")+\"^\")}t.prototype=Object.create(Error.prototype,{name:{value:\"Squirrelly Error\",enumerable:!1}});var r=new Function(\"return this\")().Promise,a=!1;try{a=new Function(\"return (async function(){}).constructor\")()}catch(e){if(!(e instanceof SyntaxError))throw e}function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function s(e,t,n){for(var r in t)i(t,r)&&(null==t[r]||\"object\"!=typeof t[r]||\"storage\"!==r&&\"prefixes\"!==r||n?e[r]=t[r]:e[r]=s({},t[r]));return e}var c=/^async +/,o=/`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\\${)[^\\\\`])*`/g,l=/'(?:\\\\[\\s\\w\"'\\\\`]|[^\\n\\r'\\\\])*?'/g,f=/\"(?:\\\\[\\s\\w\"'\\\\`]|[^\\n\\r\"\\\\])*?\"/g,u=/[.*+\\-?^${}()|[\\]\\\\]/g;function p(e){return u.test(e)?e.replace(u,\"\\\\$&\"):e}function h(e,r){r.rmWhitespace&&(e=e.replace(/[\\r\\n]+/g,\"\\n\").replace(/^\\s+|\\s+$/gm,\"\")),o.lastIndex=0,l.lastIndex=0,f.lastIndex=0;var a=r.prefixes,i=[a.h,a.b,a.i,a.r,a.c,a.e].reduce((function(e,t){return e&&t?e+\"|\"+p(t):t?p(t):e}),\"\"),s=new RegExp(\"([|()]|=>)|('|\\\"|`|\\\\/\\\\*)|\\\\s*((\\\\/)?(-|_)?\"+p(r.tags[1])+\")\",\"g\"),u=new RegExp(\"([^]*?)\"+p(r.tags[0])+\"(-|_)?\\\\s*(\"+i+\")?\\\\s*\",\"g\"),h=0,d=!1;function g(t,a){var i,p={f:[]},g=0,v=\"c\";function m(t){var a=e.slice(h,t),i=a.trim();if(\"f\"===v)\"safe\"===i?p.raw=!0:r.async&&c.test(i)?(i=i.replace(c,\"\"),p.f.push([i,\"\",!0])):p.f.push([i,\"\"]);else if(\"fp\"===v)p.f[p.f.length-1][1]+=i;else if(\"err\"===v){if(i){var s=a.search(/\\S/);n(\"invalid syntax\",e,h+s)}}else p[v]=i;h=t+1}for(\"h\"===a||\"b\"===a||\"c\"===a?v=\"n\":\"r\"===a&&(p.raw=!0,a=\"i\"),s.lastIndex=h;null!==(i=s.exec(e));){var y=i[1],x=i[2],b=i[3],w=i[4],F=i[5],S=i.index;if(y)\"(\"===y?(0===g&&(\"n\"===v?(m(S),v=\"p\"):\"f\"===v&&(m(S),v=\"fp\")),g++):\")\"===y?0===--g&&\"c\"!==v&&(m(S),v=\"err\"):0===g&&\"|\"===y?(m(S),v=\"f\"):\"=>\"===y&&(m(S),h+=1,v=\"res\");else if(x){if(\"/*\"===x){var I=e.indexOf(\"*/\",s.lastIndex);-1===I&&n(\"unclosed comment\",e,i.index),s.lastIndex=I+2}else if(\"'\"===x){l.lastIndex=i.index,l.exec(e)?s.lastIndex=l.lastIndex:n(\"unclosed string\",e,i.index)}else if('\"'===x){f.lastIndex=i.index,f.exec(e)?s.lastIndex=f.lastIndex:n(\"unclosed string\",e,i.index)}else if(\"`\"===x){o.lastIndex=i.index,o.exec(e)?s.lastIndex=o.lastIndex:n(\"unclosed string\",e,i.index)}}else if(b)return m(S),h=S+i[0].length,u.lastIndex=h,d=F,w&&\"h\"===a&&(a=\"s\"),p.t=a,p}return n(\"unclosed tag\",e,t),p}var v=function i(s,o){s.b=[],s.d=[];var l,f=!1,p=[];function v(e,t){e&&(e=function(e,t,n,r){var a,i;return\"string\"==typeof t.autoTrim?a=i=t.autoTrim:Array.isArray(t.autoTrim)&&(a=t.autoTrim[1],i=t.autoTrim[0]),(n||!1===n)&&(a=n),(r||!1===r)&&(i=r),\"slurp\"===a&&\"slurp\"===i?e.trim():(\"_\"===a||\"slurp\"===a?e=String.prototype.trimLeft?e.trimLeft():e.replace(/^[\\s\\uFEFF\\xA0]+/,\"\"):\"-\"!==a&&\"nl\"!==a||(e=e.replace(/^(?:\\n|\\r|\\r\\n)/,\"\")),\"_\"===i||\"slurp\"===i?e=String.prototype.trimRight?e.trimRight():e.replace(/[\\s\\uFEFF\\xA0]+$/,\"\"):\"-\"!==i&&\"nl\"!==i||(e=e.replace(/(?:\\n|\\r|\\r\\n)$/,\"\")),e)}(e,r,d,t))&&(e=e.replace(/\\\\|'/g,\"\\\\$&\").replace(/\\r\\n|\\n|\\r/g,\"\\\\n\"),p.push(e))}for(;null!==(l=u.exec(e));){var m,y=l[1],x=l[2],b=l[3]||\"\";for(var w in a)if(a[w]===b){m=w;break}v(y,x),h=l.index+l[0].length,m||n(\"unrecognized tag type: \"+b,e,h);var F=g(l.index,m),S=F.t;if(\"h\"===S){var I=F.n||\"\";r.async&&c.test(I)&&(F.a=!0,F.n=I.replace(c,\"\")),F=i(F),p.push(F)}else if(\"c\"===S){if(s.n===F.n)return f?(f.d=p,s.b.push(f)):s.d=p,s;n(\"Helper start and end don't match\",e,l.index+l[0].length)}else if(\"b\"===S){f?(f.d=p,s.b.push(f)):s.d=p;var R=F.n||\"\";r.async&&c.test(R)&&(F.a=!0,F.n=R.replace(c,\"\")),f=F,p=[]}else if(\"s\"===S){var T=F.n||\"\";r.async&&c.test(T)&&(F.a=!0,F.n=T.replace(c,\"\")),p.push(F)}else p.push(F)}if(!o)throw t('unclosed helper \"'+s.n+'\"');return v(e.slice(h,e.length),!1),s.d=p,s}({f:[]},!0);if(r.plugins)for(var m=0;m<r.plugins.length;m++){var y=r.plugins[m];y.processAST&&(v.d=y.processAST(v.d,r))}return v.d}function d(e,t){var n=h(e,t),r=\"var tR='';\"+(t.useWith?\"with(\"+t.varName+\"||{}){\":\"\")+x(n,t)+\"if(cb){cb(null,tR)} return tR\"+(t.useWith?\"}\":\"\");if(t.plugins)for(var a=0;a<t.plugins.length;a++){var i=t.plugins[a];i.processFnString&&(r=i.processFnString(r,t))}return r}function g(e,t){for(var n=0;n<t.length;n++){var r=t[n][0],a=t[n][1];e=(t[n][2]?\"await \":\"\")+\"c.l('F','\"+r+\"')(\"+e,a&&(e+=\",\"+a),e+=\")\"}return e}function v(e,t,n,r,a,i){var s=\"{exec:\"+(a?\"async \":\"\")+y(n,t,e)+\",params:[\"+r+\"]\";return i&&(s+=\",name:'\"+i+\"'\"),a&&(s+=\",async:true\"),s+=\"}\"}function m(e,t){for(var n=\"[\",r=0;r<e.length;r++){var a=e[r];n+=v(t,a.res||\"\",a.d,a.p||\"\",a.a,a.n),r<e.length&&(n+=\",\")}return n+=\"]\"}function y(e,t,n){return\"function(\"+t+\"){var tR='';\"+x(e,n)+\"return tR}\"}function x(e,t){for(var n=0,r=e.length,a=\"\";n<r;n++){var i=e[n];if(\"string\"==typeof i){a+=\"tR+='\"+i+\"';\"}else{var s=i.t,c=i.c||\"\",o=i.f,l=i.n||\"\",f=i.p||\"\",u=i.res||\"\",p=i.b,h=!!i.a;if(\"i\"===s){t.defaultFilter&&(c=\"c.l('F','\"+t.defaultFilter+\"')(\"+c+\")\");var d=g(c,o);!i.raw&&t.autoEscape&&(d=\"c.l('F','e')(\"+d+\")\"),a+=\"tR+=\"+d+\";\"}else if(\"h\"===s)if(t.storage.nativeHelpers.get(l))a+=t.storage.nativeHelpers.get(l)(i,t);else{var y=(h?\"await \":\"\")+\"c.l('H','\"+l+\"')(\"+v(t,u,i.d,f,h);y+=p?\",\"+m(p,t):\",[]\",a+=\"tR+=\"+g(y+=\",c)\",o)+\";\"}else\"s\"===s?a+=\"tR+=\"+g((h?\"await \":\"\")+\"c.l('H','\"+l+\"')({params:[\"+f+\"]},[],c)\",o)+\";\":\"e\"===s&&(a+=c+\"\\n\")}}return a}var b=function(){function e(e){this.cache=e}return e.prototype.define=function(e,t){this.cache[e]=t},e.prototype.get=function(e){return this.cache[e]},e.prototype.remove=function(e){delete this.cache[e]},e.prototype.reset=function(){this.cache={}},e.prototype.load=function(e){s(this.cache,e,!0)},e}();function w(e,n,r,a){if(n&&n.length>0)throw t((a?\"Native\":\"\")+\"Helper '\"+e+\"' doesn't accept blocks\");if(r&&r.length>0)throw t((a?\"Native\":\"\")+\"Helper '\"+e+\"' doesn't accept filters\")}var F={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"};function S(e){return F[e]}var I=new b({}),R=new b({each:function(e,t){var n=\"\",r=e.params[0];if(w(\"each\",t,!1),e.async)return new Promise((function(t){!function e(t,n,r,a,i){r(t[n],n).then((function(s){a+=s,n===t.length-1?i(a):e(t,n+1,r,a,i)}))}(r,0,e.exec,n,t)}));for(var a=0;a<r.length;a++)n+=e.exec(r[a],a);return n},foreach:function(e,t){var n=e.params[0];if(w(\"foreach\",t,!1),e.async)return new Promise((function(t){!function e(t,n,r,a,i,s){a(n[r],t[n[r]]).then((function(c){i+=c,r===n.length-1?s(i):e(t,n,r+1,a,i,s)}))}(n,Object.keys(n),0,e.exec,\"\",t)}));var r=\"\";for(var a in n)i(n,a)&&(r+=e.exec(a,n[a]));return r},include:function(e,n,r){w(\"include\",n,!1);var a=r.storage.templates.get(e.params[0]);if(!a)throw t('Could not fetch template \"'+e.params[0]+'\"');return a(e.params[1],r)},extends:function(e,n,r){var a=e.params[1]||{};a.content=e.exec();for(var i=0;i<n.length;i++){var s=n[i];a[s.name]=s.exec()}var c=r.storage.templates.get(e.params[0]);if(!c)throw t('Could not fetch template \"'+e.params[0]+'\"');return c(a,r)},useScope:function(e,t){return w(\"useScope\",t,!1),e.exec(e.params[0])}}),T=new b({if:function(e,t){w(\"if\",!1,e.f,!0);var n=\"if(\"+e.p+\"){\"+x(e.d,t)+\"}\";if(e.b)for(var r=0;r<e.b.length;r++){var a=e.b[r];\"else\"===a.n?n+=\"else{\"+x(a.d,t)+\"}\":\"elif\"===a.n&&(n+=\"else if(\"+a.p+\"){\"+x(a.d,t)+\"}\")}return n},try:function(e,n){if(w(\"try\",!1,e.f,!0),!e.b||1!==e.b.length||\"catch\"!==e.b[0].n)throw t(\"native helper 'try' only accepts 1 block, 'catch'\");var r=\"try{\"+x(e.d,n)+\"}\",a=e.b[0];return r+=\"catch\"+(a.res?\"(\"+a.res+\")\":\"\")+\"{\"+x(a.d,n)+\"}\"},block:function(e,t){return w(\"block\",e.b,e.f,!0),\"if(!\"+t.varName+\"[\"+e.p+\"]){tR+=(\"+y(e.d,\"\",t)+\")()}else{tR+=\"+t.varName+\"[\"+e.p+\"]}\"}}),E=new b({e:function(e){var t=String(e);return/[&<>\"']/.test(t)?t.replace(/[&<>\"']/g,S):t}}),j={varName:\"it\",autoTrim:[!1,\"nl\"],autoEscape:!0,defaultFilter:!1,tags:[\"{{\",\"}}\"],l:function(e,n){if(\"H\"===e){var r=this.storage.helpers.get(n);if(r)return r;throw t(\"Can't find helper '\"+n+\"'\")}if(\"F\"===e){var a=this.storage.filters.get(n);if(a)return a;throw t(\"Can't find filter '\"+n+\"'\")}},async:!1,storage:{helpers:R,nativeHelpers:T,filters:E,templates:I},prefixes:{h:\"@\",b:\"#\",i:\"\",r:\"*\",c:\"/\",e:\"!\"},cache:!1,plugins:[],useWith:!1};function H(e,t){var n={};return s(n,j),t&&s(n,t),e&&s(n,e),n.l.bind(n),n}function O(e,n){var r=H(n||{}),i=Function;if(r.async){if(!a)throw t(\"This environment doesn't support async/await\");i=a}try{return new i(r.varName,\"c\",\"cb\",d(e,r))}catch(n){throw n instanceof SyntaxError?t(\"Bad template syntax\\n\\n\"+n.message+\"\\n\"+Array(n.message.length+1).join(\"=\")+\"\\n\"+d(e,r)):n}}function _(e,t){var n;return t.cache&&t.name&&t.storage.templates.get(t.name)?t.storage.templates.get(t.name):(n=\"function\"==typeof e?e:O(e,t),t.cache&&t.name&&t.storage.templates.define(t.name,n),n)}j.l.bind(j),e.compile=O,e.compileScope=x,e.compileScopeIntoFunction=y,e.compileToString=d,e.defaultConfig=j,e.filters=E,e.getConfig=H,e.helpers=R,e.nativeHelpers=T,e.parse=h,e.render=function(e,n,a,i){var s=H(a||{});if(!s.async)return _(e,s)(n,s);if(!i){if(\"function\"==typeof r)return new r((function(t,r){try{t(_(e,s)(n,s))}catch(e){r(e)}}));throw t(\"Please provide a callback function, this env doesn't support Promises\")}try{_(e,s)(n,s,i)}catch(e){return i(e)}},e.templates=I,Object.defineProperty(e,\"__esModule\",{value:!0})}));\n//# sourceMappingURL=squirrelly.min.js.map\n","import { IndexResult, AlgoliaResultHit } from '../interface';\nimport * as Sqrl from 'squirrelly';\n\nconst squirrel = Sqrl;\n\nsquirrel.filters.define(\n 'date_long',\n (\n str: string,\n options: Intl.DateTimeFormatOptions = {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n }\n ) => {\n if (!str) return;\n let date = new Date(parseInt(str) * 1000);\n str = date.toLocaleDateString('en-GB', options);\n return str;\n }\n);\n\nsquirrel.filters.define(\n 'date_short',\n (str: string, format: string = 'd/m/y') => {\n if (!str) return;\n let date = new Date(parseInt(str) * 1000);\n str = format.replace(/(d)/, date.getDate().toString());\n str = str.replace(/(m)/, (date.getMonth() + 1).toString());\n str = str.replace(/(y)/, date.getFullYear().toString());\n return str;\n }\n);\n\nsquirrel.filters.define('public_name', (str: string) => {\n if (!str) return;\n str = str\n .split('_')\n .map((val) => {\n return val.length < 3 ? val.toUpperCase() : val;\n })\n .join(' ');\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\n\nsquirrel.filters.define('trim_to', (str: string, length: number = 100) => {\n if (!str) return;\n if (str.length <= length) return str;\n return str.substr(0, length) + '...';\n});\n\nsquirrel.filters.define('classname', (str: string) => {\n if (!str) return;\n return str.replace(/[\\W]+/g, '');\n});\n\nsquirrel.filters.define(\n 'abs_url',\n (str: string, index: IndexResult = null, result?: AlgoliaResultHit) => {\n if (!index) return str;\n if (!str) return;\n\n let domain = undefined;\n if (index.domains && result && result.origin) {\n let found = index.domains.find((dm) => dm.origin === result.origin);\n domain = found ? found.domain : '';\n } else if (index.domain) domain = index.domain;\n\n if (!domain) return str;\n return str.match(/^http/) ? str : location.protocol + '//' + domain + str;\n }\n);\n\nsquirrel.filters.define(\n 'replace',\n (str: string, search?: string, replace?: string) =>\n str.replace(search, replace)\n);\nsquirrel.filters.define('remove_spaces', (str: string) =>\n str.replace(/ /g, '_')\n);\nsquirrel.filters.define(\n 'add_spaces',\n (str: string) => (str = str.replace(/[_\\-]/g, ' '))\n);\nsquirrel.filters.define(\n 'capitalise',\n (str: string) => (str = str.charAt(0).toUpperCase() + str.slice(1))\n);\nsquirrel.filters.define(\n 'lowercase',\n (str: string) => (str = str.toLowerCase())\n);\n\nexport const Squirrel = squirrel;\n","export class PromiseQueue {\n public queue = [];\n private workingOnPromise = false;\n static pendingPromise = false;\n public stop = false;\n public limit = null;\n\n public enqueue(promise: () => Promise<unknown>) {\n return new Promise((resolve, reject) => {\n this.queue.push({\n promise,\n resolve,\n reject,\n });\n this.dequeue();\n });\n }\n\n public dequeue() {\n if (this.workingOnPromise) {\n return false;\n }\n if (this.stop) {\n this.queue = [];\n this.stop = false;\n return;\n }\n const item = this.queue.shift();\n if (!item) {\n return false;\n }\n try {\n this.workingOnPromise = true;\n item\n .promise()\n .then((value) => {\n this.workingOnPromise = false;\n item.resolve(value);\n this.dequeue();\n })\n .catch((err) => {\n this.workingOnPromise = false;\n item.reject(err);\n this.dequeue();\n });\n } catch (err) {\n this.workingOnPromise = false;\n item.reject(err);\n this.dequeue();\n }\n return true;\n }\n}\n",":host {\n position: relative;\n display: block;\n\n ::slotted([slot='search-template']),\n &::slotted([slot='search-template']) {\n display: none !important;\n }\n}\n\n.loader {\n opacity: 0;\n position: fixed;\n height: 100%;\n width: 100%;\n min-height: 100%;\n max-height: 100vh !important;\n max-width: 100vw !important;\n left: 0;\n top: 0;\n z-index: -10;\n font-size: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity 0.2s ease, z-index 0.01s ease 0.2s;\n\n &.loading {\n opacity: 1;\n z-index: 10;\n transition: z-index 0.01s ease, opacity 0.2s ease 0.01s;\n }\n}\n\n.default {\n height: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.results {\n opacity: 0;\n outline: none;\n overflow: auto;\n transition:\n transform 0.3s ease,\n opacity 0.3s ease,\n visibility 0.01s ease 0.3s,\n z-index 0.01s ease 0.3s;\n transform: translate(0, 100px);\n visibility: hidden;\n z-index: -1;\n position: absolute;\n top: 0;\n left: 0;\n display: none;\n\n &-container {\n position: relative;\n }\n\n &.show {\n transition:\n z-index 0.01s ease,\n visibility 0.01s ease,\n transform 0.3s ease 0.01s,\n opacity 0.3s ease 0.01s;\n transform: translate(0, 0);\n visibility: visible;\n opacity: 1;\n z-index: 10;\n overflow: hidden;\n }\n\n &.shown {\n height: auto !important;\n width: auto !important;\n display: block;\n position: static;\n transform: none;\n z-index: auto;\n visibility: inherit;\n opacity: initial;\n }\n}\n","import {\n Component,\n h,\n Element,\n Host,\n Prop,\n Watch,\n State,\n Listen,\n Method,\n EventEmitter,\n Event,\n Build,\n writeTask,\n ComponentInterface,\n readTask,\n} from '@stencil/core';\nimport {\n AlgoliaMultiResult,\n IndexResult,\n AlgoliaResultHit,\n FilterChangeEventDetail,\n PageChangeEventDetail,\n AppliedFilter,\n AlgoliaFacet,\n SearchIndex,\n} from '../../interface';\nimport { Universe, SearchChangeEvent } from './algolia-data';\nimport { debounce, getDirectChildren, raf } from '../../utils';\nimport algoliasearch, {\n SearchClient as AlgoliaClient,\n SearchIndex as AlgoliaIndex,\n} from 'algoliasearch';\nimport { Squirrel } from '../../utils/template';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\nimport { PromiseQueue } from '../../utils/promise-queue';\n\ninterface FacetFilterQueryBlock {\n or: Array<string>;\n and: Array<string>;\n not: Array<string>;\n name: string;\n}\ninterface FacetFilter extends FilterChangeEventDetail {\n element: HTMLNanoAlgoliaFilterElement;\n}\ntype FilterGroup = { [prop: string]: FacetFilter };\n\nconst CANSHADOW = !!document.head.attachShadow;\n\n/**\n * Algolia search container to contain and sync nano-algolia-results and nano-algolia-filter components.\n * Can optionally contain nano-algolia-input components or use them as a 'resultsEmitter'\n * @slot search-input - optional. Should contain an algolia-input component.\n * @slot loader - optional. Elements to show when search results are loading.\n * @slot template - optional. Template string (format depends on 'tplEngine' property). May contain other algolia-... components with nested templates.\n * @slot output - Search result output. Will be a placeholder for template output or optionally nest algolia-... components.\n */\n@Component({\n tag: 'nano-algolia',\n shadow: true,\n styleUrl: 'algolia.scss',\n})\nexport class Algolia implements ComponentInterface {\n // filters that have an initial value\n private staticFacetFilters: FilterGroup = {};\n private dynFacetFilters: FilterGroup = {};\n private tplSlot: HTMLElement;\n private outputSlot: HTMLElement;\n private slottedInput: HTMLElement;\n private hasLoadSlot: boolean = false;\n private resultsDiv: HTMLDivElement;\n private defaultDiv: HTMLDivElement;\n private tpl: string;\n private facets: AlgoliaFacet;\n private placedAlgoliaEles: Element[] = [];\n private algoliaClient: AlgoliaClient;\n // lots of stuff happens asynchronously. This makes sure they fire in the corrent order\n private promiseQueue = new PromiseQueue();\n\n @Element() host: HTMLNanoAlgoliaElement;\n\n // Internal state\n\n // filters that change via a template. They have no initial value\n @State() _dynFacetFilters: FilterGroup = {};\n @State() inputField: HTMLNanoInputElement | HTMLInputElement;\n @State() algoliaIndex: AlgoliaIndex;\n @State() indeces: IndexResult[] = [];\n @State() resultsEmitterEle: HTMLElement;\n @State() indexResults: IndexResult;\n @State() filterChanged: string = '';\n @State() currentHits: AlgoliaResultHit[];\n @State() changeEvent: SearchChangeEvent = SearchChangeEvent.Init;\n @State() isLoading: boolean = false;\n @State() wormholeState: any = this;\n\n // Public props\n\n /**\n * Show the result panel. By default it will automatically show when the result receives new hits.\n */\n @Prop({ mutable: true }) showResults: boolean = false;\n\n /**\n * The current algolia page of results currently being viewed or to get.\n */\n @Prop({ mutable: true }) resultsPage: number = 0;\n\n /**\n * An Algolia App ID key. Used in conjunction with 'searchIndex' & 'apiKey'.\n */\n @Prop({ mutable: true }) appId: string;\n\n /**\n * An Algolia API Key. Used in conjunction with 'searchIndex' & 'appId'.\n */\n @Prop({ mutable: true }) apiKey: string;\n\n /**\n * Algolia search index. Used in conjunction with 'apiKey' & 'appId'.\n * ```\n * { index: string, // algolia index name\n * domain?: string, // used in template filters to resolve incomplete url fields\n * filters?: [string], // algolia facets to retrive\n * hitsPerPage?: number,\n * name?: string // human readable index name\n * }\n * ```\n */\n @Prop({ mutable: true }) searchIndex: SearchIndex = {} as SearchIndex;\n\n /**\n * Algolia search index name. Alternative to 'searchIndex'.\n * A simplified shortcut for setting an index.\n * Properties such as hitsPerPage and facets will come from the algolia index\n */\n @Prop({ mutable: true }) searchIndexName: string = '';\n\n /**\n * JS querSelector string of a `nano-input` / `input` element from which\n * to listen to `nano-change` or `change` events and change the `query` prop.\n * Not required if an appropriate field is in the 'search-input' slot\n */\n @Prop() listenTo?: string = null;\n\n /**\n * The query string used to search the index. Will automtically be set with any slotted\n * `search-input` input elements or from elements linked to from `listen-to`\n */\n @Prop({ mutable: true }) query: string = '';\n\n /**\n * The external operator joining filter values.\n */\n @Prop() operator: 'or' | 'and' = 'and';\n\n /**\n * Query filters to apply to all searches.\n * Refer to https://www.algolia.com/doc/api-reference/api-parameters/filters for format.\n */\n @Prop() filters: Array<string> = [];\n\n /**\n * Template engine to use when rendering results and filters.\n * Defaults to Squirrel v8 (https://squirrelly.js.org/). This gives you access\n * to the underlying squirrel object allowing you to modify it's configuration / add filters.\n */\n @Prop() tplEngine: Object = Squirrel;\n\n /**\n * Template engine render function to use when rendering results and filters.\n * Defaults to Squirrel v8's render (https://squirrelly.js.org/).\n */\n @Prop() tplRenderFn: (...args: any[]) => string = Squirrel.render;\n\n /**\n * Changes the index without removing any current filters. Most appropriate for algolia replicas.\n */\n @Prop({ mutable: true }) replicaIndex: string = '';\n\n /**\n * Will maintain a search all / '*' on init and reset allowing for a view\n * then filter experience rather than a search first experience\n */\n @Prop({ mutable: true }) browseIndex: boolean = false; // eslint-disable-line @stencil/strict-mutable\n\n /**\n * Minimum number of characters before performing a search\n */\n @Prop() minChars: number = 2;\n\n /**\n * Store search queries (against this ID) to the component store.\n * Use in conjunction with storeMethod\n */\n @Prop() storeId?: string;\n\n /**\n * The method of storage.\n * Either session storage, url hash (after the '#') or url query (after the '?').\n */\n @Prop() storeMethod: StorageMethods = 'session';\n\n // Events\n\n /**\n * Emitted when the algolia element has been created.\n */\n @Event() nanoDidLoad!: EventEmitter<HTMLNanoAlgoliaElement>;\n\n /**\n * Emitted when results and all filters are shown and have loaded.\n */\n @Event({ bubbles: false }) nanoResultsShown!: EventEmitter<IndexResult>;\n\n /**\n * Emitted before an algolia search.\n */\n @Event() nanoBeforeQuery!: EventEmitter<IndexResult>;\n\n /**\n * Emitted after an algolia search.\n */\n @Event() nanoAfterQuery!: EventEmitter<IndexResult>;\n\n /**\n * Emitted after an results have been updated\n */\n @Event() nanoNewResults!: EventEmitter<IndexResult>;\n\n // Public methods\n\n /**\n * @param facetName - will clear all filter selections of that type\n * @param facetValue - will remove a single filter selection\n * Remove facet filters (as set from nano-algolia-filter elements).\n * The omission or both will remove all facet filters\n */\n @Method()\n async removeFilters(facetName?: string, facetValue?: string) {\n if (!facetName && !facetValue) this.clearAllFacetFilters();\n else {\n Object.keys(this._dynFacetFilters).forEach((filterId) => {\n if (\n facetName &&\n this._dynFacetFilters[filterId].facetName === facetName\n ) {\n if (!facetValue) this._dynFacetFilters[filterId].element.value = '';\n else {\n this._dynFacetFilters[filterId].element.value =\n this._dynFacetFilters[filterId].value.filter(\n (val) => val !== facetValue\n );\n }\n }\n });\n }\n }\n\n // Listeners to external events\n\n // a child nano-algolia-... updated their template\n @Listen('nanoTplUpdated')\n onAllTplUpdate(ev: CustomEvent & { target: HTMLElement }) {\n ev.stopPropagation();\n\n if (ev.target.tagName === 'NANO-ALGOLIA-RESULTS') {\n raf(() => {\n this.nanoNewResults.emit(this.indexResults);\n });\n }\n }\n\n // a nano-algolia-pagination or nano-algolia-results changed the page\n @Listen('nanoPageChanged')\n async onPageChange(ev?: CustomEvent) {\n if (!this.indexResults) return;\n let page = this.resultsPage;\n if (ev) {\n ev.stopPropagation();\n page = (ev.detail as PageChangeEventDetail).page;\n }\n\n page = Math.min(this.indexResults.totalPages - 1, page);\n page = Math.max(page, 0);\n\n if (this.indexResults.currentPage === page) return;\n\n this.indexResults.currentPage = page;\n await this.algoliaSearch(SearchChangeEvent.Page);\n }\n\n /**\n * nano-algolia-filter changed value.\n * If that happened before a indexResults were setup, it was a static filter.\n * Static filters persist accross search changes\n */\n @Listen('nanoFilterChanged')\n async onFilterChange(ev: CustomEvent) {\n ev.stopPropagation();\n\n let dynFilterObj: FilterGroup = {};\n let filter = ev.detail as FacetFilter;\n filter.element = ev.target as HTMLNanoAlgoliaFilterElement;\n\n if (this.indexResults) {\n if (this.staticFacetFilters[filter.filterId])\n this.staticFacetFilters[filter.filterId] = filter;\n else {\n dynFilterObj[filter.filterId] = filter;\n this._dynFacetFilters = { ...this._dynFacetFilters, ...dynFilterObj };\n }\n\n this.indexResults.appliedFilters = this.makeAppliedFilters();\n } else this.staticFacetFilters[filter.filterId] = filter;\n\n this.filterChanged =\n filter.value && filter.value.length ? filter.filterId : 'all';\n\n this.resetPage();\n this.algoliaSearch(SearchChangeEvent.Filter);\n }\n\n // Internal state watchers\n\n // Filters can fire a change event, cause a re-render then get detached.\n // This can cause filter dupes. Check to see if the original element is still in the DOM.\n @Watch('_dynFacetFilters')\n dynFacetFiltersChange() {\n Object.values(this._dynFacetFilters).forEach((filter) => {\n if (this.host.ownerDocument === filter.element.ownerDocument)\n this.dynFacetFilters[filter.filterId] = filter;\n else delete this.dynFacetFilters[filter.filterId];\n });\n }\n\n @Watch('browseIndex')\n browseIndexChange() {\n if (\n this.browseIndex &&\n (!this.query || this.query.length < this.minChars)\n ) {\n this.query = '*';\n }\n }\n\n @Watch('inputField')\n inputFieldSet() {\n if (!this.inputField) return;\n if (\n this.query !== '*' &&\n this.inputField &&\n this.inputField.value !== this.query\n )\n this.inputField.value = this.query;\n }\n\n @Watch('query')\n queryChange() {\n this.searchChange();\n }\n private searchChange = async () => {\n if (!this.algoliaIndex) return;\n\n if (!this.query || this.query.length < this.minChars) {\n if (!this.browseIndex) {\n if (!this.query || this.query.length === 0) {\n this.handleSearchReset();\n return;\n } else return;\n } else if (this.query !== '*') {\n this.query = '*';\n return;\n }\n }\n // Do an initialise search (setup searchIndex)\n this.isLoading = true;\n\n setTimeout(async () => {\n // Clear dynamic filters and reset page\n this.resetPage();\n\n await this.algoliaSearch(SearchChangeEvent.Init);\n // Populate master content - optionally from template\n await this.updateContent();\n\n setTimeout((_) => (this.isLoading = false), 800);\n this.showResults = true;\n this.nanoResultsShown.emit(this.indexResults);\n }, 200);\n };\n\n @Watch('replicaIndex')\n async internalIndexSwitch() {\n if (\n !this.replicaIndex ||\n !this.indexResults ||\n this.indexResults.index === this.replicaIndex\n )\n return;\n this.indexResults.index = this.replicaIndex;\n this.algoliaIndex = this.algoliaClient.initIndex(this.indexResults.index);\n this.resetPage();\n this.algoliaSearch(SearchChangeEvent.Replica);\n }\n\n @Watch('resultsPage')\n pageChange() {\n this.onPageChange();\n }\n\n @Watch('searchIndexName')\n searchIndexNameChange() {\n if (\n !this.searchIndexName ||\n !this.searchIndexName.length ||\n (this.searchIndex && this.searchIndex.index === this.searchIndexName)\n )\n return;\n this.searchIndex = { index: this.searchIndexName };\n }\n\n @Watch('apiKey')\n @Watch('appId')\n initAlgoliaClient() {\n if (!this.appId || !this.apiKey) return;\n this.algoliaClient = algoliasearch(this.appId, this.apiKey);\n }\n\n @Watch('searchIndex')\n initAlgoliaIndex() {\n if (!this.algoliaClient || !this.searchIndex) return;\n if (this.searchIndex.index) {\n if (this.replicaIndex) this.searchIndex.index = this.replicaIndex;\n this.searchIndexName = this.searchIndex.index;\n this.algoliaIndex = this.algoliaClient.initIndex(this.searchIndex.index);\n this.searchChange();\n }\n }\n\n @Watch('showResults')\n showResultsChange() {\n if (!this.resultsDiv || !this.defaultDiv) return;\n\n if (this.showResults) {\n this.resultsDiv.style.width = this.host.scrollWidth + 'px';\n this.resultsDiv.style.minHeight = this.host.scrollHeight + 'px';\n\n writeTask(() => {\n this.resultsDiv.addEventListener('transitionend', this.onResultDisplay);\n this.resultsDiv.style.display = 'block';\n setTimeout(() => this.resultsDiv.classList.add('show'), 50);\n });\n } else {\n writeTask(() => {\n this.resultsDiv.classList.remove('shown');\n this.defaultDiv.style.display = 'block';\n setTimeout(() => {\n this.resultsDiv.addEventListener(\n 'transitionend',\n this.onResultDisplay\n );\n this.resultsDiv.classList.remove('show');\n\n if (!!this.slottedInput)\n this.slottedInput.focus({ preventScroll: true });\n else this.defaultDiv.focus({ preventScroll: true });\n }, 50);\n });\n }\n }\n\n // Internal methods\n\n private fixDomain(results: AlgoliaMultiResult) {\n if (!this.searchIndex || !this.searchIndex.domain) return results;\n results.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url = location.protocol + '//' + this.searchIndex.domain + hit.url;\n });\n return results;\n }\n\n // Takes all current filters (dynamic and static)\n // and merges common filters' values togther\n private makeAppliedFilters = (): AppliedFilter[] => {\n let appliedFtrs: AppliedFilter[] = [];\n\n const makeAppliedFilter = (facetFilters: {\n [prop: string]: FacetFilter;\n }) => {\n Object.values(facetFilters).forEach((filter) => {\n if (filter.value && filter.value.length) {\n let found = appliedFtrs.find(\n (appFilter) => appFilter.name === filter.facetName\n );\n if (!found)\n appliedFtrs.push({\n name: filter.facetName,\n values: [...filter.value],\n });\n else found.values = [...found.values, ...filter.value];\n }\n });\n };\n makeAppliedFilter(this.dynFacetFilters);\n makeAppliedFilter(this.staticFacetFilters);\n\n if (appliedFtrs.length) return appliedFtrs;\n return null;\n };\n\n // Queue up a search\n private algoliaSearch = async (eventType: SearchChangeEvent) => {\n return this.promiseQueue.enqueue(() => this.queueSearch(eventType));\n };\n\n // Do a search\n private queueSearch = async (eventType: SearchChangeEvent) => {\n if (\n !this.algoliaIndex ||\n !this.query ||\n !this.searchIndex ||\n !this.searchIndex.index\n )\n return;\n\n this.nanoBeforeQuery.emit(this.indexResults);\n\n // clear all facet filters on init (new query)\n if (SearchChangeEvent.Init === eventType) this.clearAllFacetFilters();\n\n let searchParams: any = {\n filters: this.algoliaFilterStr(),\n page: this.indexResults ? this.indexResults.currentPage : 0,\n };\n\n if (this.searchIndex.filters)\n searchParams.facets = this.searchIndex.filters;\n if (this.searchIndex.hitsPerPage)\n searchParams.hitsPerPage = this.searchIndex.hitsPerPage;\n\n let result = (await this.algoliaIndex.search(\n this.query,\n searchParams\n )) as AlgoliaMultiResult;\n result = this.fixDomain(result);\n\n // set event type - this informs children components why things changed\n this.changeEvent = eventType;\n\n // Setup initial meta on new queries. Some of it should not change on filter / pagination\n if (eventType === SearchChangeEvent.Init || !this.indexResults) {\n this.indexResults = {\n currentPage: 0,\n totalHits: result.nbHits,\n hitsPerPage: null,\n origFilters: result.facets,\n query: this.query,\n domain: this.searchIndex.domain || null,\n legacy: !CANSHADOW,\n totalHitsWithFilters: 0,\n results: [],\n totalPages: 0,\n appliedFilters: this.makeAppliedFilters(),\n indexName: this.searchIndex.name || null,\n index: this.searchIndex.index,\n };\n }\n\n this.indexResults.dynFilters = result.facets;\n this.indexResults.results = result.hits as AlgoliaResultHit[];\n this.indexResults.totalHitsWithFilters = result.nbHits;\n this.indexResults.currentPage = result.page;\n this.indexResults.totalPages = result.nbPages;\n this.indexResults.hitsPerPage = result.hitsPerPage;\n this.indexResults.query = result.query;\n // console.log('I GOT NEW RESULTS', eventType, this.query, this.algoliaFilterStr(), this.indexResults.results.length, this.indexResults.currentPage )\n\n if (\n this.changeEvent !== SearchChangeEvent.Page &&\n this.changeEvent !== SearchChangeEvent.Replica\n ) {\n this.facets = result.facets;\n }\n this.nanoAfterQuery.emit(this.indexResults);\n\n // current hits and page will cause re-renders in children components.\n // Wait a tick before firing otherwise events can fire in the wrong order\n return new Promise((resolve) => {\n setTimeout(() => resolve('tpl updated'), 20);\n }).then((_) => {\n this.currentHits = this.indexResults.results;\n this.resultsPage = this.indexResults.currentPage;\n });\n };\n\n private resetPage() {\n if (!this.indexResults) return;\n this.indexResults.currentPage = 0;\n }\n\n private clearAllFacetFilters() {\n Object.values(this._dynFacetFilters).forEach((filter) => {\n filter.element.value = '';\n });\n this._dynFacetFilters = {};\n }\n\n private algoliaFilterStr() {\n // groups applied facet filters (from algolia-filter components)\n // with their applied, 'internal' operators (and, or, not)\n\n let facetFilterObj: { [prop: string]: FacetFilterQueryBlock } = {};\n\n const groupFilters = (facetFilters: { [prop: string]: FacetFilter }) => {\n let filter: FilterChangeEventDetail;\n let filterOp: Array<string>;\n\n Object.keys(facetFilters).forEach((filterId) => {\n filter = facetFilters[filterId];\n facetFilterObj[filterId] = facetFilterObj[filterId] || {\n name: filter.facetName,\n or: [],\n and: [],\n not: [],\n };\n\n filterOp = facetFilterObj[filterId][filter.operator];\n if (filter.value && filter.value.length) {\n facetFilterObj[filterId][filter.operator] = [\n ...filterOp,\n ...filter.value,\n ];\n }\n });\n };\n\n groupFilters(this.dynFacetFilters);\n groupFilters(this.staticFacetFilters);\n\n const formatVal = (name: string, val: string) => {\n if (val.indexOf(' ') > -1) return name + ':\"' + val + '\"';\n else return name + ':' + val;\n };\n let filterStrParts: Array<string> = [];\n let operatorGrp: FacetFilterQueryBlock;\n let filterName: string;\n // let processedFilters: string[] = [];\n\n // joins all applied facet filter operator groups with the set 'outer'\n // operator into an algolia filter query string\n Object.values(facetFilterObj).forEach(function (filter) {\n Object.keys(filter)\n .filter((filterProp) => filterProp.match(/(or|and|not)/))\n .forEach((operator) => {\n operatorGrp = filter;\n filterName = filter.name;\n\n if (operator === 'or' || operator === 'and') {\n if (operatorGrp[operator].length) {\n filterStrParts.push(\n '( \\\n ' +\n operatorGrp[operator]\n .map((val) => {\n if (val.length) return formatVal(filterName, val);\n })\n .join(' ' + operator.toLocaleUpperCase() + ' ') +\n ' \\\n )'\n );\n }\n } else {\n if (operatorGrp.not.length) {\n filterStrParts.push(\n '( \\\n ' +\n operatorGrp[operator]\n .map((val) => {\n if (val.length)\n return 'NOT ' + formatVal(filterName, val);\n })\n .join(' AND ') +\n ' \\\n )'\n );\n }\n }\n });\n });\n\n // add in any static applied filters from filters prop\n filterStrParts = [...this.filters, ...filterStrParts];\n // console.log('filterStr:', filterStrParts.join(' ' + this.operator.toLocaleUpperCase() + ' '))\n return filterStrParts.join(' ' + this.operator.toLocaleUpperCase() + ' ');\n }\n\n @Listen('nanoChange', { target: 'body' })\n @Listen('change', { target: 'body' })\n handleInputChange(ev: CustomEvent | (Event & { target: HTMLElement })) {\n if (ev.target !== this.inputField) return;\n this.query = this.inputField.value;\n }\n\n private handleSearchReset = () => {\n this.showResults = false;\n this.indexResults = null;\n };\n\n private onResultDisplay = () => {\n writeTask(() => {\n this.resultsDiv.removeEventListener(\n 'transitionend',\n this.onResultDisplay\n );\n if (!this.showResults) this.resultsDiv.style.display = 'none';\n else {\n this.defaultDiv.style.display = 'none';\n this.resultsDiv.classList.add('shown');\n this.resultsDiv.style.minHeight = '';\n this.resultsDiv.style.width = '';\n }\n });\n };\n\n private async updateContent() {\n return this.promiseQueue.enqueue(() => this.updateContentQueue());\n }\n\n private async updateContentQueue() {\n let outputTo = this.outputSlot || this.resultsDiv;\n\n if (!outputTo || !this.tpl) return 'no tpl';\n\n let tmpCont = document.createElement('div');\n tmpCont.innerHTML = this.tpl;\n\n let algoliaEles: Element[] = [];\n this.placedAlgoliaEles = [];\n\n // take out children algolia elements 'cos they have their own templates\n // don't want to swap in their templates\n Array.from(\n tmpCont.querySelectorAll(\n 'nano-algolia, nano-algolia-filter, nano-algolia-results'\n )\n ).forEach((el, i) => {\n let placeholder = document.createElement('div');\n placeholder.dataset.placeholderId = i.toString();\n placeholder.classList.add('nano-ele-placeholder');\n algoliaEles.push(el);\n el.parentNode.replaceChild(placeholder, el);\n });\n\n // swap in template content\n // (all this nonsense htmlencodes any < or >)\n\n outputTo.innerHTML = this.tplRenderFn(\n tmpCont.innerHTML\n .replace(/&gt;/gm, '>')\n .replace(/&lt;/gm, '<')\n .replace(/&amp;/gm, '&'),\n this.indexResults\n );\n\n // put back in algolia elements\n Array.from(outputTo.querySelectorAll('div.nano-ele-placeholder')).forEach(\n (el: HTMLDivElement) => {\n el.parentNode.replaceChild(\n algoliaEles[parseInt(el.dataset.placeholderId)],\n el\n );\n this.placedAlgoliaEles.push(\n algoliaEles[parseInt(el.dataset.placeholderId)]\n );\n }\n );\n\n if (!this.placedAlgoliaEles.length) return Promise.resolve('algolia setup');\n\n // wait for all children algolia elements to resolve before calling 'done'\n return new Promise((resolve) => {\n const childrenResolver = (ev: CustomEvent) => {\n this.placedAlgoliaEles = this.placedAlgoliaEles.filter(\n (ele) => ele !== (ev.detail as HTMLElement)\n );\n if (!this.placedAlgoliaEles.length) {\n setTimeout(() => resolve('tpl updated'), 500);\n outputTo.removeEventListener('nanoTplUpdated', childrenResolver);\n }\n };\n outputTo.addEventListener('nanoTplUpdated', childrenResolver);\n });\n }\n\n // Stencil hooks\n\n componentWillLoad() {\n readTask((_) => {\n this.tplSlot = getDirectChildren(this.host, '[slot=\"template\"]')[0];\n this.outputSlot = getDirectChildren(this.host, '[slot=\"output\"]')[0];\n this.slottedInput = getDirectChildren(\n this.host,\n '[slot=\"search-input\"]'\n )[0];\n this.hasLoadSlot = !!getDirectChildren(this.host, '[slot=\"loader\"]')[0];\n if (!!this.tplSlot) this.tpl = this.tplSlot.innerHTML;\n\n // get input field to listen to\n if (\n this.slottedInput &&\n (this.slottedInput.tagName.toLocaleLowerCase() === 'nano-input' ||\n this.slottedInput instanceof HTMLInputElement)\n ) {\n this.inputField = this.slottedInput as HTMLNanoInputElement;\n } else if (this.slottedInput) {\n this.inputField = this.slottedInput.querySelector(\n 'nano-input, input:not([type=\"radio\"]):not([type=\"checkbox\"])'\n );\n }\n\n writeTask((_) => {\n if (this.showResults && this.tpl) this.searchChange();\n });\n });\n\n this.searchIndexNameChange();\n this.initAlgoliaClient();\n this.initAlgoliaIndex();\n\n // Create wormwhole shared 'universe' (https://github.com/mihar-22/stencil-wormhole)\n Universe.create(this, this.wormholeState);\n\n if (this.storeId) {\n ComponentStore.init(\n this,\n ['query', 'replicaIndex'],\n this.storeMethod,\n this.storeId\n );\n ComponentStore.init(\n this,\n ['apiKey', 'appId', 'searchIndex'],\n 'session',\n this.storeId + '_api'\n );\n }\n this.internalIndexSwitch();\n }\n\n connectedCallback() {\n this.searchChange = debounce(this.searchChange, 300);\n this.browseIndexChange();\n\n if (!Build.isBrowser) return;\n this.host.dispatchEvent(\n new CustomEvent('nanoDidLoad', {\n detail: this.host,\n })\n );\n }\n\n render() {\n const wormholeState = {\n indexResults: this.indexResults,\n results: this.currentHits,\n filterChanged: this.filterChanged,\n tplRenderFn: this.tplRenderFn,\n resultsPage: this.resultsPage,\n changeEvent: this.changeEvent,\n facets: this.facets,\n algoliaIndex: this.algoliaIndex,\n searchIndex: this.searchIndex,\n globalStoreMethod: this.storeMethod,\n isLoading: this.isLoading,\n };\n return (\n <Host\n class={{\n 'show-results': this.showResults,\n 'is-loading': this.isLoading,\n }}\n aria-busy={this.isLoading}\n >\n {this.hasLoadSlot && (\n <div hidden={!this.isLoading}>\n <slot name=\"loader\" />\n </div>\n )}\n {!this.hasLoadSlot && (\n <div\n class={{\n loader: true,\n loading: this.isLoading,\n }}\n >\n <nano-spinner overlay={true} type=\"circle\"></nano-spinner>\n </div>\n )}\n\n <Universe.Provider state={wormholeState}>\n <slot name=\"search-input\"></slot>\n <div class=\"results-container\" aria-live=\"polite\">\n <div ref={(div) => (this.resultsDiv = div)} class=\"results\">\n <slot name=\"output\" />\n </div>\n </div>\n </Universe.Provider>\n\n <div\n ref={(div) => (this.defaultDiv = div)}\n class=\"default\"\n tabindex=\"-1\"\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -0,0 +1,5 @@
1
+ var __awaiter=this&&this.__awaiter||function(r,n,e,a){function t(r){return r instanceof e?r:new e((function(n){n(r)}))}return new(e||(e=Promise))((function(e,o){function i(r){try{c(a.next(r))}catch(n){o(n)}}function s(r){try{c(a["throw"](r))}catch(n){o(n)}}function c(r){r.done?e(r.value):t(r.value).then(i,s)}c((a=a.apply(r,n||[])).next())}))};var __generator=this&&this.__generator||function(r,n){var e={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},a,t,o,i;return i={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(i[Symbol.iterator]=function(){return this}),i;function s(r){return function(n){return c([r,n])}}function c(i){if(a)throw new TypeError("Generator is already executing.");while(e)try{if(a=1,t&&(o=i[0]&2?t["return"]:i[0]?t["throw"]||((o=t["return"])&&o.call(t),0):t.next)&&!(o=o.call(t,i[1])).done)return o;if(t=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:e.label++;return{value:i[1],done:false};case 5:e.label++;t=i[1];i=[0];continue;case 7:i=e.ops.pop();e.trys.pop();continue;default:if(!(o=e.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){e=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){e.label=i[1];break}if(i[0]===6&&e.label<o[1]){e.label=o[1];o=i;break}if(o&&e.label<o[2]){e.label=o[2];e.ops.push(i);break}if(o[2])e.ops.pop();e.trys.pop();continue}i=n.call(r,e)}catch(s){i=[6,s];t=0}finally{a=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};
2
+ /*!
3
+ * Web Components for Nanopore digital Web Apps
4
+ */System.register(["./p-59b3d24b.system.js","./p-1c216ca4.system.js","./p-89edc042.system.js","./p-ef053a2f.system.js"],(function(r,n){"use strict";var e,a,t,o,i,s,c,b,l;return{setters:[function(r){e=r.r;a=r.c;t=r.h;o=r.e;i=r.g},function(r){s=r.c;c=r.a},function(r){b=r.c},function(r){l=r.a}],execute:function(){var d='.sc-nano-range-h{-webkit-box-sizing:border-box;box-sizing:border-box}*.sc-nano-range,*.sc-nano-range::before,*.sc-nano-range::after{-webkit-box-sizing:border-box;box-sizing:border-box}[hidden].sc-nano-range{display:none !important}.sc-nano-range-h{--knob-handle-size:(var(--knob-size) * 2);--rgb-inactive:165, 165, 165;--knob-border-radius:50%;--knob-background:var(--nano-color-primary, #007495);--knob-box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.3);--knob-size:30px;--bar-height:8px;--bar-background:#e2e1e0;--bar-background-active:#a5a5a5;--bar-border-radius:4px;--height:42px;--pin-background:var(--nano-color-primary, #007495);--pin-color:var(--nano-color-primary-contrast, #fff);--focus-style:0 0 0 5px var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}.range-wrap.sc-nano-range{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-flex:3;-ms-flex:3;flex:3;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.range-wrap.sc-nano-range-s>ion-icon[slot],.range-wrap .sc-nano-range-s>ion-icon[slot]{font-size:1.5em}.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-left:0;margin-right:14px;margin-top:0;margin-bottom:0;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px}}.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-left:14px;margin-right:0;margin-top:0;margin-bottom:0;font-size:0.9em}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-left:unset;margin-right:unset;-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0}}.range-slider.sc-nano-range{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}.range-pressed.sc-nano-range-h .range-slider.sc-nano-range{cursor:-webkit-grabbing;cursor:grabbing}.range-bar.sc-nano-range{border-radius:var(--bar-border-radius);left:0;top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-bar[dir=rtl].sc-nano-range{left:unset;right:unset;right:0}.range-snaps.sc-nano-range-h .range-bar.sc-nano-range{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-snaps.sc-nano-range-h .range-bar[dir=rtl].sc-nano-range{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-bar[dir=rtl].sc-nano-range{left:unset}.range-bar-active.sc-nano-range{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active .range-pressed.sc-nano-range-h{will-change:left, right}.range-knob.sc-nano-range{border-radius:var(--knob-border-radius);left:calc(50% - var(--knob-size) / 2);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none;-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease}.range-knob[dir=rtl].sc-nano-range{left:unset;right:unset;right:calc(50% - var(--knob-size) / 2)}.range-knob[dir=rtl].sc-nano-range{left:unset}.sc-nano-range-h:not(.range-has-pin) .range-knob-pressed.sc-nano-range .range-knob.sc-nano-range{-webkit-transform:scale(1);transform:scale(1)}.range-knob-handle.sc-nano-range{left:0;top:calc((var(--height) - var(--knob-handle-size)) / 2);margin-left:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:calc(var(--knob-handle-size));height:calc(var(--knob-handle-size));text-align:center}.range-knob-handle[dir=rtl].sc-nano-range{left:unset;right:unset;right:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.range-knob-handle.sc-nano-range{margin-left:unset;-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2)}}.range-knob-handle[dir=rtl].sc-nano-range{left:unset}.range-knob-handle.sc-nano-range:active,.range-knob-handle.sc-nano-range:focus{outline:none}.range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{-webkit-box-shadow:var(--knob-box-shadow), var(--focus-style);box-shadow:var(--knob-box-shadow), var(--focus-style)}.range-tick.sc-nano-range{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick.sc-nano-range:first-of-type{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-tick.sc-nano-range:first-of-type[dir=rtl]{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-tick.sc-nano-range:last-of-type{border-top-left-radius:0;border-top-right-radius:var(--bar-border-radius);border-bottom-right-radius:var(--bar-border-radius);border-bottom-left-radius:0}.range-tick.sc-nano-range:last-of-type[dir=rtl]{border-top-left-radius:var(--bar-border-radius);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--bar-border-radius)}.range-tick-active.sc-nano-range{background:transparent}.range-pin.sc-nano-range{-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);-webkit-transform-origin:center top;transform-origin:center top;padding:0.66em 0;border-radius:50%;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;position:relative;min-width:2.33em;height:2.33em;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color);font-size:0.75em}.range-pin.sc-nano-range::before{left:50%;top:0.25em;margin-left:-1.08em;border-radius:50% 50% 50% 0;position:absolute;width:2.16em;height:2.16em;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:"";z-index:-1}.range-pin.sc-nano-range::before[dir=rtl]{left:unset;right:unset;right:50%}.range-pin.sc-nano-range::before[dir=rtl]{left:unset}.range-knob-pressed.sc-nano-range .range-pin.sc-nano-range{-webkit-transform:translate3d(0, -50%, 0) scale(1);transform:translate3d(0, -50%, 0) scale(1);-webkit-transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1);transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1)}.range-disabled.sc-nano-range-h{pointer-events:none}.range-disabled.sc-nano-range-h .range-bar-active.sc-nano-range,.range-disabled.sc-nano-range-h .range-bar.sc-nano-range,.range-disabled.sc-nano-range-h .range-tick.sc-nano-range{background-color:rgba(var(--rgb-inactive), 0.5)}.range-disabled.sc-nano-range-h .range-knob.sc-nano-range{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:rgba(var(--rgb-inactive), 0.5)}.nano-color.sc-nano-range-h .range-bar-active.sc-nano-range,.nano-color.sc-nano-range-h .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range::before,.nano-color.sc-nano-range-h .range-tick.sc-nano-range{background:var(--nano-color-base);color:var(--nano-color-contrast)}.nano-color.sc-nano-range-h .range-bar.sc-nano-range{background:rgba(var(--nano-color-base-rgb), 0.26)}.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{-webkit-box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56);box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56)}';var g=r("nano_range",function(){function r(r){var n=this;e(this,r);this.nanoChange=a(this,"nanoChange",7);this.nanoStyle=a(this,"nanoStyle",7);this.nanoFocus=a(this,"nanoFocus",7);this.nanoBlur=a(this,"nanoBlur",7);this.noUpdate=false;this.hasFocus=false;this.ratioA=0;this.ratioB=0;this.debounce=0;this.name="";this.dualKnobs=false;this.min=0;this.max=100;this.pin=false;this.snaps=false;this.step=1;this.ticks=false;this.disabled=false;this.value=0;this.clampBounds=function(r){return s(n.min,r,n.max)};this.ensureValueInBounds=function(r){if(n.dualKnobs){return{lower:n.clampBounds(r.lower),upper:n.clampBounds(r.upper)}}else{return n.clampBounds(r)}};this.handleKeyboard=function(r,e){var a=n.step;a=a>0?a:1;a=a/(n.max-n.min);if(!e){a*=-1}if(r==="A"){n.ratioA=s(0,n.ratioA+a,1)}else{n.ratioB=s(0,n.ratioB+a,1)}n.updateValue()};this.onBlur=function(){if(n.hasFocus){n.hasFocus=false;n.nanoBlur.emit();n.emitStyle()}};this.onFocus=function(){if(!n.hasFocus){n.hasFocus=true;n.nanoFocus.emit();n.emitStyle()}}}r.prototype.debounceChanged=function(){this.nanoChange=l(this.nanoChange,this.debounce)};r.prototype.minChanged=function(){if(!this.noUpdate){this.updateRatio()}};r.prototype.maxChanged=function(){if(!this.noUpdate){this.updateRatio()}};r.prototype.disabledChanged=function(){if(this.gesture){this.gesture.enable(!this.disabled)}this.emitStyle()};r.prototype.valueChanged=function(r){if(!this.noUpdate){this.updateRatio()}r=this.ensureValueInBounds(r);this.nanoChange.emit({value:r})};r.prototype.connectedCallback=function(){this.updateRatio();this.debounceChanged();this.disabledChanged()};r.prototype.disconnectedCallback=function(){if(this.gesture){this.gesture.destroy();this.gesture=undefined}};r.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var r,e;var a=this;return __generator(this,(function(t){switch(t.label){case 0:r=this.rangeSlider;if(!r)return[3,2];e=this;return[4,n.import("./p-f48f482f.system.js")];case 1:e.gesture=t.sent().createGesture({el:r,gestureName:"range",gesturePriority:100,threshold:0,onStart:function(r){return a.onStart(r)},onMove:function(r){return a.onMove(r)},onEnd:function(r){return a.onEnd(r)}});this.gesture.enable(!this.disabled);t.label=2;case 2:return[2]}}))}))};r.prototype.getValue=function(){var r=this.value||0;if(this.dualKnobs){if(typeof r==="object"){return r}return{lower:0,upper:r}}else{if(typeof r==="object"){return r.upper}return r}};r.prototype.emitStyle=function(){this.nanoStyle.emit({interactive:true,"interactive-disabled":this.disabled})};r.prototype.onStart=function(r){var n=this.rect=this.rangeSlider.getBoundingClientRect();var e=r.currentX;var a=s(0,(e-n.left)/n.width,1);if(document.dir==="rtl"){a=1-a}this.pressedKnob=!this.dualKnobs||Math.abs(this.ratioA-a)<Math.abs(this.ratioB-a)?"A":"B";this.setFocus(this.pressedKnob);this.update(e)};r.prototype.onMove=function(r){this.update(r.currentX)};r.prototype.onEnd=function(r){this.update(r.currentX);this.pressedKnob=undefined};r.prototype.update=function(r){var n=this.rect;var e=s(0,(r-n.left)/n.width,1);if(document.dir==="rtl"){e=1-e}if(this.snaps){e=p(h(e,this.min,this.max,this.step),this.min,this.max)}if(this.pressedKnob==="A"){this.ratioA=e}else{this.ratioB=e}this.updateValue()};Object.defineProperty(r.prototype,"valA",{get:function(){return h(this.ratioA,this.min,this.max,this.step)},enumerable:false,configurable:true});Object.defineProperty(r.prototype,"valB",{get:function(){return h(this.ratioB,this.min,this.max,this.step)},enumerable:false,configurable:true});Object.defineProperty(r.prototype,"ratioLower",{get:function(){if(this.dualKnobs){return Math.min(this.ratioA,this.ratioB)}return 0},enumerable:false,configurable:true});Object.defineProperty(r.prototype,"ratioUpper",{get:function(){if(this.dualKnobs){return Math.max(this.ratioA,this.ratioB)}return this.ratioA},enumerable:false,configurable:true});r.prototype.updateRatio=function(){var r=this.getValue();var n=this,e=n.min,a=n.max;if(this.dualKnobs){this.ratioA=p(r.lower,e,a);this.ratioB=p(r.upper,e,a)}else{this.ratioA=p(r,e,a)}};r.prototype.updateValue=function(){this.noUpdate=true;var r=this,n=r.valA,e=r.valB;this.value=!this.dualKnobs?n:{lower:Math.min(n,e),upper:Math.max(n,e)};this.noUpdate=false};r.prototype.setFocus=function(r){if(this.el.shadowRoot){var n=this.el.shadowRoot.querySelector(r==="A"?".range-knob-a":".range-knob-b");if(n){n.focus()}}};r.prototype.render=function(){var r;var n=this;var e=this,a=e.min,i=e.max,s=e.step,l=e.el,d=e.handleKeyboard,g=e.pressedKnob,h=e.disabled,f=e.pin,m=e.ratioLower,v=e.ratioUpper;var k=m*100+"%";var w=100-v*100+"%";var y=document;var x=y.dir==="rtl";var z=x?"right":"left";var B=x?"left":"right";var A=function(r){var n;return n={},n[z]=r[z],n};var C=(r={},r[z]=k,r[B]=w,r);var K=[];if(this.snaps&&this.ticks){for(var S=a;S<=i;S+=s){var F=p(S,a,i);var j={ratio:F,active:F>=m&&F<=v};j[z]=F*100+"%";K.push(j)}}c(true,l,this.name,JSON.stringify(this.getValue()),h);return t(o,{onFocusin:this.onFocus,onFocusout:this.onBlur,class:b(this.color,{"range-disabled":h,"range-pressed":g!==undefined,"range-has-pin":f,"range-snaps":this.snaps})},t("div",{class:"range-wrap"},t("slot",{name:"start"}),t("div",{class:"range-slider",ref:function(r){return n.rangeSlider=r}},K.map((function(r){return t("span",{style:A(r),role:"presentation",class:{"range-tick":true,"range-tick-active":r.active},part:r.active?"tick-active":"tick"})})),t("div",{class:"range-bar",role:"presentation",part:"bar"}),t("div",{class:"range-bar range-bar-active",role:"presentation",style:C,part:"bar-active"}),u(x,{knob:"A",pressed:g==="A",value:this.valA,ratio:this.ratioA,pin:f,disabled:h,handleKeyboard:d,min:a,max:i}),this.dualKnobs&&u(x,{knob:"B",pressed:g==="B",value:this.valB,ratio:this.ratioB,pin:f,disabled:h,handleKeyboard:d,min:a,max:i})),t("slot",{name:"end"})))};Object.defineProperty(r.prototype,"el",{get:function(){return i(this)},enumerable:false,configurable:true});Object.defineProperty(r,"watchers",{get:function(){return{debounce:["debounceChanged"],min:["minChanged"],max:["maxChanged"],disabled:["disabledChanged"],value:["valueChanged"]}},enumerable:false,configurable:true});return r}());var u=function(r,n){var e=n.knob,a=n.value,o=n.ratio,i=n.min,s=n.max,c=n.disabled,b=n.pressed,l=n.pin,d=n.handleKeyboard;var g=r?"right":"left";var u=function(){var r={};r[g]=o*100+"%";return r};return t("div",{onKeyDown:function(r){var n=r.key;if(n==="ArrowLeft"||n==="ArrowDown"){d(e,false);r.preventDefault();r.stopPropagation()}else if(n==="ArrowRight"||n==="ArrowUp"){d(e,true);r.preventDefault();r.stopPropagation()}},class:{"range-knob-handle":true,"range-knob-a":e==="A","range-knob-b":e==="B","range-knob-pressed":b,"range-knob-min":a===i,"range-knob-max":a===s},style:u(),role:"slider",tabindex:c?-1:0,"aria-valuemin":i,"aria-valuemax":s,"aria-disabled":c?"true":null,"aria-valuenow":a},l&&t("div",{class:"range-pin",role:"presentation",part:"pin"},Math.round(a)),t("div",{class:"range-knob",role:"presentation",part:"knob"}))};var h=function(r,n,e,a){var t=(e-n)*r;if(a>0){t=Math.round(t/a)*a+n}return s(n,t,e)};var p=function(r,n,e){return s(0,(r-n)/(e-n),1)};g.style=d}}}));
5
+ //# sourceMappingURL=p-5066e563.system.entry.js.map