@nanoporetech-digital/components 7.9.1 → 8.0.0-alpha.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 (1783) hide show
  1. package/dist/cjs/active-element-DB7WRcF-.js +69 -0
  2. package/dist/cjs/algolia-data-JweofGji.js +49 -0
  3. package/dist/cjs/algoliasearch-lite.esm.browser-DWj6KfUw.js +951 -0
  4. package/dist/cjs/component-store-DKMzj8Ei.js +326 -0
  5. package/dist/cjs/date-utils-DqYlulq4.js +232 -0
  6. package/dist/cjs/dom-a3wgHxbn.js +71 -0
  7. package/dist/cjs/drag-B5XXLJW9.js +72 -0
  8. package/dist/cjs/events-pBdXJwIU.js +37 -0
  9. package/dist/cjs/fade-run1oYFS.js +212 -0
  10. package/dist/cjs/form-control-zW-pmQ5Y.js +84 -0
  11. package/dist/cjs/fullscreen-DGiusO_n.js +132 -0
  12. package/dist/cjs/index-BV7Y7Zvi.js +198 -0
  13. package/dist/cjs/index-D0X7QVou.js +655 -0
  14. package/dist/cjs/index-DYD4xvxr.js +3328 -0
  15. package/dist/cjs/index-browser-3bwVgSYS.js +13 -0
  16. package/dist/cjs/index.cjs.js +41 -24
  17. package/dist/cjs/lazyload-CavfHrQV.js +94 -0
  18. package/dist/cjs/loader.cjs.js +4 -9
  19. package/dist/cjs/local-logged-in-C8Qr7Q7o.js +223 -0
  20. package/dist/cjs/local-logged-out-fCQ614s8.js +219 -0
  21. package/dist/cjs/math-DIjJ3V87.js +39 -0
  22. package/dist/cjs/modal-lJ_KdrUQ.js +49 -0
  23. package/dist/cjs/nano-accordion.cjs.entry.js +13 -27
  24. package/dist/cjs/nano-alert.cjs.entry.js +85 -36
  25. package/dist/cjs/nano-algolia-filter.cjs.entry.js +10 -15
  26. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +5 -9
  27. package/dist/cjs/nano-algolia-results.cjs.entry.js +7 -11
  28. package/dist/cjs/nano-algolia.cjs.entry.js +22 -27
  29. package/dist/cjs/nano-animation.cjs.entry.js +4 -8
  30. package/dist/cjs/nano-avatar_5.cjs.entry.js +1778 -0
  31. package/dist/cjs/nano-breadcrumb.cjs.entry.js +41 -0
  32. package/dist/cjs/nano-card-carousel.cjs.entry.js +95 -0
  33. package/dist/cjs/nano-card.cjs.entry.js +23 -0
  34. package/dist/cjs/nano-checkbox-group.cjs.entry.js +79 -47
  35. package/dist/cjs/nano-checkbox.cjs.entry.js +34 -24
  36. package/dist/cjs/nano-collapsible-comparison.cjs.entry.js +62 -0
  37. package/dist/cjs/nano-components.cjs.js +8 -11
  38. package/dist/cjs/nano-content-links.cjs.entry.js +17 -0
  39. package/dist/cjs/nano-cta.cjs.entry.js +42 -0
  40. package/dist/cjs/nano-data-table-DlJaR4KG.js +1847 -0
  41. package/dist/cjs/nano-data-table.cjs.entry.js +17 -0
  42. package/dist/cjs/nano-datalist_3.cjs.entry.js +85 -258
  43. package/dist/cjs/nano-date-input.cjs.entry.js +14 -27
  44. package/dist/cjs/nano-date-picker_2.cjs.entry.js +999 -0
  45. package/dist/cjs/nano-details.cjs.entry.js +61 -81
  46. package/dist/cjs/nano-dialog.cjs.entry.js +45 -42
  47. package/dist/cjs/nano-dropdown_2.cjs.entry.js +640 -0
  48. package/dist/cjs/nano-field-validator.cjs.entry.js +9 -17
  49. package/dist/cjs/nano-file-upload.cjs.entry.js +6 -11
  50. package/dist/cjs/nano-footer.cjs.entry.js +25 -0
  51. package/dist/cjs/nano-global-nav.cjs.entry.js +416 -1171
  52. package/dist/cjs/nano-grid-item.cjs.entry.js +3 -7
  53. package/dist/cjs/nano-grid_2.cjs.entry.js +12 -18
  54. package/dist/cjs/nano-hero.cjs.entry.js +9 -16
  55. package/dist/cjs/nano-icon-item.cjs.entry.js +21 -0
  56. package/dist/cjs/nano-icon_3.cjs.entry.js +655 -0
  57. package/dist/cjs/nano-in-page-nav.cjs.entry.js +212 -0
  58. package/dist/cjs/nano-intersection-observe.cjs.entry.js +15 -10
  59. package/dist/cjs/nano-masked-overflow.cjs.entry.js +351 -0
  60. package/dist/cjs/nano-menu-drawer.cjs.entry.js +8 -13
  61. package/dist/cjs/nano-more-less.cjs.entry.js +5 -9
  62. package/dist/cjs/nano-nav-item.cjs.entry.js +271 -0
  63. package/dist/cjs/nano-progress-bar.cjs.entry.js +8 -13
  64. package/dist/cjs/nano-range.cjs.entry.js +9 -14
  65. package/dist/cjs/nano-rating.cjs.entry.js +10 -20
  66. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +8 -13
  67. package/dist/cjs/nano-slide.cjs.entry.js +6 -11
  68. package/dist/cjs/nano-slides-D5q9vQ4P.js +3050 -0
  69. package/dist/cjs/nano-slides.cjs.entry.js +4 -8
  70. package/dist/cjs/nano-sortable.cjs.entry.js +11 -14
  71. package/dist/cjs/nano-spinner.cjs.entry.js +6 -11
  72. package/dist/cjs/nano-split-pane.cjs.entry.js +9 -14
  73. package/dist/cjs/nano-sticker.cjs.entry.js +12 -17
  74. package/dist/cjs/nano-tab-content.cjs.entry.js +9 -14
  75. package/dist/cjs/nano-tab-group.cjs.entry.js +64 -228
  76. package/dist/cjs/nano-tab.cjs.entry.js +18 -20
  77. package/dist/cjs/nano-table.cjs.entry.js +232 -13
  78. package/dist/cjs/page-dots-D-QQnR4W.js +138 -0
  79. package/dist/cjs/popover-CpIMxMWJ.js +1947 -0
  80. package/dist/cjs/renderer-SkVn69pT.js +71 -0
  81. package/dist/cjs/scroll-DXjC771e.js +185 -0
  82. package/dist/cjs/search-insights-BtxuX7Wv.js +50 -0
  83. package/dist/cjs/slot-CBvkJee9.js +107 -0
  84. package/dist/cjs/style-BccHkuhC.js +58 -0
  85. package/dist/cjs/tabbable-M9OUrhLE.js +124 -0
  86. package/dist/cjs/table.worker-BTF0UXAd.js +4 -0
  87. package/dist/cjs/table.worker-FkRsUwRY.js +32 -0
  88. package/dist/cjs/theme-2potFCtG.js +46 -0
  89. package/dist/cjs/throttle-CrRDOkln.js +52 -0
  90. package/dist/collection/assets/img/bsi/27001.svg +188 -0
  91. package/dist/collection/assets/img/bsi/9001.svg +172 -0
  92. package/dist/collection/assets/img/bsi/mark-of-trust.svg +230 -0
  93. package/dist/collection/assets/img/flags/en.svg +15 -0
  94. package/dist/collection/assets/img/flags/es.svg +544 -0
  95. package/dist/collection/assets/img/flags/ja.svg +11 -0
  96. package/dist/collection/assets/img/flags/zh.svg +14 -0
  97. package/dist/collection/collection-manifest.json +16 -4
  98. package/dist/collection/components/accordion/accordion.css +24 -10
  99. package/dist/collection/components/accordion/accordion.js +20 -55
  100. package/dist/collection/components/alert/alert.css +127 -58
  101. package/dist/collection/components/alert/alert.helpers.js +19 -12
  102. package/dist/collection/components/alert/alert.js +147 -32
  103. package/dist/collection/components/algolia/algolia-data.js +1 -2
  104. package/dist/collection/components/algolia/algolia-filter.css +23 -9
  105. package/dist/collection/components/algolia/algolia-filter.js +8 -9
  106. package/dist/collection/components/algolia/algolia-interface.js +0 -1
  107. package/dist/collection/components/algolia/algolia-pagination.js +4 -5
  108. package/dist/collection/components/algolia/algolia-results.js +5 -6
  109. package/dist/collection/components/algolia/algolia.css +23 -9
  110. package/dist/collection/components/algolia/algolia.js +20 -18
  111. package/dist/collection/components/algolia/lib/squirrelly/browser.js +1 -2
  112. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js +1 -2
  113. package/dist/collection/components/algolia/lib/squirrelly/compile.js +1 -2
  114. package/dist/collection/components/algolia/lib/squirrelly/config.js +1 -2
  115. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js +1 -2
  116. package/dist/collection/components/algolia/lib/squirrelly/containers.js +1 -2
  117. package/dist/collection/components/algolia/lib/squirrelly/err.js +1 -2
  118. package/dist/collection/components/algolia/lib/squirrelly/parse.js +1 -2
  119. package/dist/collection/components/algolia/lib/squirrelly/render.js +1 -2
  120. package/dist/collection/components/algolia/lib/squirrelly/storage.js +1 -2
  121. package/dist/collection/components/algolia/lib/squirrelly/utils.js +1 -2
  122. package/dist/collection/components/algolia/lib/template.js +1 -2
  123. package/dist/collection/components/animation/animation.js +15 -15
  124. package/dist/collection/components/animation/animations/attention_seekers/bounce.js +1 -2
  125. package/dist/collection/components/animation/animations/attention_seekers/flash.js +1 -2
  126. package/dist/collection/components/animation/animations/attention_seekers/headShake.js +1 -2
  127. package/dist/collection/components/animation/animations/attention_seekers/heartBeat.js +1 -2
  128. package/dist/collection/components/animation/animations/attention_seekers/jello.js +1 -2
  129. package/dist/collection/components/animation/animations/attention_seekers/pulse.js +1 -2
  130. package/dist/collection/components/animation/animations/attention_seekers/rubberBand.js +1 -2
  131. package/dist/collection/components/animation/animations/attention_seekers/shake.js +1 -2
  132. package/dist/collection/components/animation/animations/attention_seekers/shakeX.js +1 -2
  133. package/dist/collection/components/animation/animations/attention_seekers/shakeY.js +1 -2
  134. package/dist/collection/components/animation/animations/attention_seekers/swing.js +1 -2
  135. package/dist/collection/components/animation/animations/attention_seekers/tada.js +1 -2
  136. package/dist/collection/components/animation/animations/attention_seekers/wobble.js +1 -2
  137. package/dist/collection/components/animation/animations/back_entrances/backInDown.js +1 -2
  138. package/dist/collection/components/animation/animations/back_entrances/backInLeft.js +1 -2
  139. package/dist/collection/components/animation/animations/back_entrances/backInRight.js +1 -2
  140. package/dist/collection/components/animation/animations/back_entrances/backInUp.js +1 -2
  141. package/dist/collection/components/animation/animations/back_exits/backOutDown.js +1 -2
  142. package/dist/collection/components/animation/animations/back_exits/backOutLeft.js +1 -2
  143. package/dist/collection/components/animation/animations/back_exits/backOutRight.js +1 -2
  144. package/dist/collection/components/animation/animations/back_exits/backOutUp.js +1 -2
  145. package/dist/collection/components/animation/animations/bouncing_entrances/bounceIn.js +1 -2
  146. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInDown.js +1 -2
  147. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInLeft.js +1 -2
  148. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInRight.js +1 -2
  149. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInUp.js +1 -2
  150. package/dist/collection/components/animation/animations/bouncing_exits/bounceOut.js +1 -2
  151. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutDown.js +1 -2
  152. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutLeft.js +1 -2
  153. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutRight.js +1 -2
  154. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutUp.js +1 -2
  155. package/dist/collection/components/animation/animations/easings/easings.js +1 -2
  156. package/dist/collection/components/animation/animations/fading_entrances/fadeIn.js +1 -2
  157. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomLeft.js +1 -2
  158. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomRight.js +1 -2
  159. package/dist/collection/components/animation/animations/fading_entrances/fadeInDown.js +1 -2
  160. package/dist/collection/components/animation/animations/fading_entrances/fadeInDownBig.js +1 -2
  161. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeft.js +1 -2
  162. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeftBig.js +1 -2
  163. package/dist/collection/components/animation/animations/fading_entrances/fadeInRight.js +1 -2
  164. package/dist/collection/components/animation/animations/fading_entrances/fadeInRightBig.js +1 -2
  165. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopLeft.js +1 -2
  166. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopRight.js +1 -2
  167. package/dist/collection/components/animation/animations/fading_entrances/fadeInUp.js +1 -2
  168. package/dist/collection/components/animation/animations/fading_entrances/fadeInUpBig.js +1 -2
  169. package/dist/collection/components/animation/animations/fading_exits/fadeOut.js +1 -2
  170. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomLeft.js +1 -2
  171. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomRight.js +1 -2
  172. package/dist/collection/components/animation/animations/fading_exits/fadeOutDown.js +1 -2
  173. package/dist/collection/components/animation/animations/fading_exits/fadeOutDownBig.js +1 -2
  174. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeft.js +1 -2
  175. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeftBig.js +1 -2
  176. package/dist/collection/components/animation/animations/fading_exits/fadeOutRight.js +1 -2
  177. package/dist/collection/components/animation/animations/fading_exits/fadeOutRightBig.js +1 -2
  178. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopLeft.js +1 -2
  179. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopRight.js +1 -2
  180. package/dist/collection/components/animation/animations/fading_exits/fadeOutUp.js +1 -2
  181. package/dist/collection/components/animation/animations/fading_exits/fadeOutUpBig.js +1 -2
  182. package/dist/collection/components/animation/animations/flippers/flip.js +1 -2
  183. package/dist/collection/components/animation/animations/flippers/flipInX.js +1 -2
  184. package/dist/collection/components/animation/animations/flippers/flipInY.js +1 -2
  185. package/dist/collection/components/animation/animations/flippers/flipOutX.js +1 -2
  186. package/dist/collection/components/animation/animations/flippers/flipOutY.js +1 -2
  187. package/dist/collection/components/animation/animations/index.js +1 -2
  188. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInLeft.js +1 -2
  189. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInRight.js +1 -2
  190. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutLeft.js +1 -2
  191. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutRight.js +1 -2
  192. package/dist/collection/components/animation/animations/rotating_entrances/rotateIn.js +1 -2
  193. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownLeft.js +1 -2
  194. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownRight.js +1 -2
  195. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpLeft.js +1 -2
  196. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpRight.js +1 -2
  197. package/dist/collection/components/animation/animations/rotating_exits/rotateOut.js +1 -2
  198. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownLeft.js +1 -2
  199. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownRight.js +1 -2
  200. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpLeft.js +1 -2
  201. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpRight.js +1 -2
  202. package/dist/collection/components/animation/animations/sliding_entrances/slideInDown.js +1 -2
  203. package/dist/collection/components/animation/animations/sliding_entrances/slideInLeft.js +1 -2
  204. package/dist/collection/components/animation/animations/sliding_entrances/slideInRight.js +1 -2
  205. package/dist/collection/components/animation/animations/sliding_entrances/slideInUp.js +1 -2
  206. package/dist/collection/components/animation/animations/sliding_exits/slideOutDown.js +1 -2
  207. package/dist/collection/components/animation/animations/sliding_exits/slideOutLeft.js +1 -2
  208. package/dist/collection/components/animation/animations/sliding_exits/slideOutRight.js +1 -2
  209. package/dist/collection/components/animation/animations/sliding_exits/slideOutUp.js +1 -2
  210. package/dist/collection/components/animation/animations/specials/hinge.js +1 -2
  211. package/dist/collection/components/animation/animations/specials/jackInTheBox.js +1 -2
  212. package/dist/collection/components/animation/animations/specials/rollIn.js +1 -2
  213. package/dist/collection/components/animation/animations/specials/rollOut.js +1 -2
  214. package/dist/collection/components/animation/animations/zooming_entrances/zoomIn.js +1 -2
  215. package/dist/collection/components/animation/animations/zooming_entrances/zoomInDown.js +1 -2
  216. package/dist/collection/components/animation/animations/zooming_entrances/zoomInLeft.js +1 -2
  217. package/dist/collection/components/animation/animations/zooming_entrances/zoomInRight.js +1 -2
  218. package/dist/collection/components/animation/animations/zooming_entrances/zoomInUp.js +1 -2
  219. package/dist/collection/components/animation/animations/zooming_exits/zoomOut.js +1 -2
  220. package/dist/collection/components/animation/animations/zooming_exits/zoomOutDown.js +1 -2
  221. package/dist/collection/components/animation/animations/zooming_exits/zoomOutLeft.js +1 -2
  222. package/dist/collection/components/animation/animations/zooming_exits/zoomOutRight.js +1 -2
  223. package/dist/collection/components/animation/animations/zooming_exits/zoomOutUp.js +1 -2
  224. package/dist/collection/components/avatar/avatar.css +41 -0
  225. package/dist/collection/components/avatar/avatar.js +47 -0
  226. package/dist/collection/components/badge/badge.js +84 -0
  227. package/dist/collection/components/breadcrumb/breadcrumb.css +168 -0
  228. package/dist/collection/components/breadcrumb/breadcrumb.js +83 -0
  229. package/dist/collection/components/card/card.css +43 -0
  230. package/dist/collection/components/card/card.js +92 -0
  231. package/dist/collection/components/card-carousel/card-carousel.css +167 -0
  232. package/dist/collection/components/card-carousel/card-carousel.js +144 -0
  233. package/dist/collection/components/checkbox/checkbox-group.css +96 -106
  234. package/dist/collection/components/checkbox/checkbox-group.js +95 -56
  235. package/dist/collection/components/checkbox/checkbox-interface.js +0 -1
  236. package/dist/collection/components/checkbox/checkbox.css +303 -305
  237. package/dist/collection/components/checkbox/checkbox.js +76 -59
  238. package/dist/collection/components/collapsible-comparison/collapsible-comparison.css +80 -0
  239. package/dist/collection/components/collapsible-comparison/collapsible-comparison.js +120 -0
  240. package/dist/collection/components/content-links/content-links.css +46 -0
  241. package/dist/collection/components/content-links/content-links.js +21 -0
  242. package/dist/collection/components/cta/cta.css +49 -0
  243. package/dist/collection/components/cta/cta.js +175 -0
  244. package/dist/collection/components/data-table/table.cell.js +114 -0
  245. package/dist/collection/components/data-table/table.constants.js +4 -0
  246. package/dist/collection/components/data-table/table.css +327 -0
  247. package/dist/collection/components/data-table/table.header.js +65 -0
  248. package/dist/collection/components/data-table/table.js +1721 -0
  249. package/dist/collection/components/data-table/table.pin-service.js +388 -0
  250. package/dist/collection/components/data-table/table.row.js +112 -0
  251. package/dist/collection/components/data-table/table.store.js +144 -0
  252. package/dist/collection/components/data-table/table.utils.js +133 -0
  253. package/dist/collection/components/data-table/table.worker.js +220 -0
  254. package/dist/collection/components/datalist/datalist.css +43 -26
  255. package/dist/collection/components/datalist/datalist.js +35 -32
  256. package/dist/collection/components/date-input/date-input.css +25 -13
  257. package/dist/collection/components/date-input/date-input.js +49 -48
  258. package/dist/collection/components/date-picker/date-picker.css +51 -53
  259. package/dist/collection/components/date-picker/date-picker.js +41 -73
  260. package/dist/collection/components/date-picker/duet-date-picker/date-adapter.js +1 -2
  261. package/dist/collection/components/date-picker/duet-date-picker/date-localization.js +1 -2
  262. package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js +1 -2
  263. package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js +2 -3
  264. package/dist/collection/components/details/details.css +80 -106
  265. package/dist/collection/components/details/details.js +83 -134
  266. package/dist/collection/components/dialog/dialog.css +89 -87
  267. package/dist/collection/components/dialog/dialog.helpers.js +18 -7
  268. package/dist/collection/components/dialog/dialog.js +47 -57
  269. package/dist/collection/components/drawer/drawer.css +119 -50
  270. package/dist/collection/components/drawer/drawer.js +144 -55
  271. package/dist/collection/components/dropdown/dropdown.css +46 -31
  272. package/dist/collection/components/dropdown/dropdown.js +82 -64
  273. package/dist/collection/components/field-validator/field-validator.js +22 -25
  274. package/dist/collection/components/file-upload/file-upload-list.js +1 -2
  275. package/dist/collection/components/file-upload/file-upload.css +29 -17
  276. package/dist/collection/components/file-upload/file-upload.js +20 -20
  277. package/dist/collection/components/footer/footer.css +185 -0
  278. package/dist/collection/components/footer/footer.js +43 -0
  279. package/dist/collection/components/form-control/form-control.js +8 -8
  280. package/dist/collection/components/global-nav/assets/local-logged-in.json +202 -0
  281. package/dist/collection/components/global-nav/assets/local-logged-out.json +198 -0
  282. package/dist/collection/components/global-nav/global-nav.css +435 -0
  283. package/dist/collection/components/global-nav/global-nav.js +573 -1468
  284. package/dist/collection/components/global-search-results/global-search-results.css +26 -14
  285. package/dist/collection/components/global-search-results/global-search-results.js +36 -27
  286. package/dist/collection/components/grid/grid-item.js +2 -3
  287. package/dist/collection/components/grid/grid.css +23 -9
  288. package/dist/collection/components/grid/grid.js +21 -24
  289. package/dist/collection/components/hero/hero.css +23 -9
  290. package/dist/collection/components/hero/hero.js +12 -13
  291. package/dist/collection/components/icon/device/elysion.svg +5 -0
  292. package/dist/collection/components/icon/device/flongle.svg +4 -0
  293. package/dist/collection/components/icon/device/gridion.svg +9 -0
  294. package/dist/collection/components/icon/device/minion-mk1d.svg +4 -0
  295. package/dist/collection/components/icon/device/p2-integrated.svg +7 -0
  296. package/dist/collection/components/icon/device/p2-solo.svg +5 -0
  297. package/dist/collection/components/icon/device/p24.svg +6 -0
  298. package/dist/collection/components/icon/device/q.svg +4 -0
  299. package/dist/collection/components/icon/icon.css +76 -37
  300. package/dist/collection/components/icon/icon.js +144 -103
  301. package/dist/collection/components/icon/pictogram/analyse.svg +10 -0
  302. package/dist/collection/components/icon/pictogram/animal-research.svg +4 -0
  303. package/dist/collection/components/icon/pictogram/assembly.svg +3 -0
  304. package/dist/collection/components/icon/pictogram/biopharma.svg +3 -0
  305. package/dist/collection/components/icon/pictogram/cancer-research.svg +15 -0
  306. package/dist/collection/components/icon/pictogram/chromatin-conformation.svg +3 -0
  307. package/dist/collection/components/icon/pictogram/clinical-research.svg +3 -0
  308. package/dist/collection/components/icon/pictogram/environmental-conservation.svg +5 -0
  309. package/dist/collection/components/icon/pictogram/epigenetics.svg +5 -0
  310. package/dist/collection/components/icon/pictogram/fusion-transcripts.svg +3 -0
  311. package/dist/collection/components/icon/pictogram/gene-expression.svg +3 -0
  312. package/dist/collection/components/icon/pictogram/genome-research.svg +3 -0
  313. package/dist/collection/components/icon/pictogram/human-genomics.svg +4 -0
  314. package/dist/collection/components/icon/pictogram/infectious-disease.svg +13 -0
  315. package/dist/collection/components/icon/pictogram/microbial-genomics.svg +15 -0
  316. package/dist/collection/components/icon/pictogram/microbiome-metagenomics.svg +16 -0
  317. package/dist/collection/components/icon/pictogram/multiomics.svg +13 -0
  318. package/dist/collection/components/icon/pictogram/plant-research.svg +3 -0
  319. package/dist/collection/components/icon/pictogram/population-genomics.svg +6 -0
  320. package/dist/collection/components/icon/pictogram/prepare.svg +4 -0
  321. package/dist/collection/components/icon/pictogram/scalable.svg +12 -0
  322. package/dist/collection/components/icon/pictogram/sequence.svg +3 -0
  323. package/dist/collection/components/icon/pictogram/single-cell-spatial-transcriptions.svg +12 -0
  324. package/dist/collection/components/icon/pictogram/snvs-phasing.svg +4 -0
  325. package/dist/collection/components/icon/pictogram/splice-variation.svg +4 -0
  326. package/dist/collection/components/icon/pictogram/structural-variation.svg +4 -0
  327. package/dist/collection/components/icon/pictogram/targeted-sequencing.svg +10 -0
  328. package/dist/collection/components/icon/pictogram/transcriptomics.svg +3 -0
  329. package/dist/collection/components/icon/pictogram/unrestricted-read-length.svg +10 -0
  330. package/dist/collection/components/icon/pictogram/whole-genome-sequencing.svg +3 -0
  331. package/dist/collection/components/icon/pictogram/workflow-end-to-end.svg +3 -0
  332. package/dist/collection/components/icon/request.js +1 -2
  333. package/dist/collection/components/icon/utils.js +8 -11
  334. package/dist/collection/components/icon/validate.js +1 -2
  335. package/dist/collection/components/icon-button/icon-button.css +45 -37
  336. package/dist/collection/components/icon-button/icon-button.js +17 -26
  337. package/dist/collection/components/icon-item/icon-item.css +41 -0
  338. package/dist/collection/components/icon-item/icon-item.js +72 -0
  339. package/dist/collection/components/img/img.css +23 -9
  340. package/dist/collection/components/img/img.js +10 -11
  341. package/dist/collection/components/in-page-nav/in-page-nav.css +122 -0
  342. package/dist/collection/components/in-page-nav/in-page-nav.js +278 -0
  343. package/dist/collection/components/input/input.css +215 -167
  344. package/dist/collection/components/input/input.js +372 -133
  345. package/dist/collection/components/intersection-observe/intersection-observe.js +21 -10
  346. package/dist/collection/components/masked-overflow/masked-overflow.css +241 -0
  347. package/dist/collection/components/masked-overflow/masked-overflow.js +610 -0
  348. package/dist/collection/components/menu/menu.css +38 -46
  349. package/dist/collection/components/menu/menu.js +93 -36
  350. package/dist/collection/components/menu-drawer/menu-drawer.css +23 -9
  351. package/dist/collection/components/menu-drawer/menu-drawer.js +7 -8
  352. package/dist/collection/components/more-less/more-less.js +7 -8
  353. package/dist/collection/components/nav-item/nav-item.css +73 -270
  354. package/dist/collection/components/nav-item/nav-item.js +128 -291
  355. package/dist/collection/components/option/option.css +57 -39
  356. package/dist/collection/components/option/option.js +33 -18
  357. package/dist/collection/components/progress-bar/progress-bar.css +23 -9
  358. package/dist/collection/components/progress-bar/progress-bar.js +11 -9
  359. package/dist/collection/components/range/range.css +23 -9
  360. package/dist/collection/components/range/range.js +17 -19
  361. package/dist/collection/components/rating/rating.css +24 -10
  362. package/dist/collection/components/rating/rating.js +13 -18
  363. package/dist/collection/components/resize-observe/resize-observe.js +6 -9
  364. package/dist/collection/components/select/select.css +194 -223
  365. package/dist/collection/components/select/select.js +108 -136
  366. package/dist/collection/components/skeleton/skeleton.css +23 -9
  367. package/dist/collection/components/skeleton/skeleton.js +7 -7
  368. package/dist/collection/components/slides/lib/js/animate.js +1 -2
  369. package/dist/collection/components/slides/lib/js/cell.js +1 -2
  370. package/dist/collection/components/slides/lib/js/drag.js +1 -2
  371. package/dist/collection/components/slides/lib/js/fade.js +1 -2
  372. package/dist/collection/components/slides/lib/js/flickity.js +15 -5
  373. package/dist/collection/components/slides/lib/js/fullscreen.js +1 -2
  374. package/dist/collection/components/slides/lib/js/index.js +1 -2
  375. package/dist/collection/components/slides/lib/js/lazyload.js +1 -2
  376. package/dist/collection/components/slides/lib/js/page-dots.js +5 -7
  377. package/dist/collection/components/slides/lib/js/player.js +1 -2
  378. package/dist/collection/components/slides/lib/js/prev-next-button.js +1 -2
  379. package/dist/collection/components/slides/lib/js/slide.js +1 -2
  380. package/dist/collection/components/slides/lib/js/utils/event-emitter.js +1 -2
  381. package/dist/collection/components/slides/lib/js/utils/gestures.js +1 -2
  382. package/dist/collection/components/slides/lib/js/utils/get-size.js +1 -2
  383. package/dist/collection/components/slides/lib/js/utils/utils.js +1 -2
  384. package/dist/collection/components/slides/slide.css +23 -9
  385. package/dist/collection/components/slides/slide.js +3 -4
  386. package/dist/collection/components/slides/slides.css +49 -24
  387. package/dist/collection/components/slides/slides.js +16 -16
  388. package/dist/collection/components/sortable/sortable.css +25 -13
  389. package/dist/collection/components/sortable/sortable.js +34 -25
  390. package/dist/collection/components/spinner/spinner.css +23 -11
  391. package/dist/collection/components/spinner/spinner.js +8 -5
  392. package/dist/collection/components/split-pane/split-pane.css +33 -20
  393. package/dist/collection/components/split-pane/split-pane.js +13 -11
  394. package/dist/collection/components/sticker/sticker.css +23 -9
  395. package/dist/collection/components/sticker/sticker.js +14 -14
  396. package/dist/collection/components/table/table.css +31 -383
  397. package/dist/collection/components/table/table.js +211 -1566
  398. package/dist/collection/components/tabs/tab-content.css +23 -9
  399. package/dist/collection/components/tabs/tab-content.js +11 -7
  400. package/dist/collection/components/tabs/tab-group.css +70 -229
  401. package/dist/collection/components/tabs/tab-group.js +98 -266
  402. package/dist/collection/components/tabs/tab.css +83 -134
  403. package/dist/collection/components/tabs/tab.js +25 -18
  404. package/dist/collection/components/tag/tag.css +45 -0
  405. package/dist/collection/components/tag/tag.js +122 -0
  406. package/dist/collection/components/tooltip/tooltip.css +93 -66
  407. package/dist/collection/components/tooltip/tooltip.js +30 -14
  408. package/dist/collection/global/script/global.js +1 -2
  409. package/dist/collection/index.js +2 -2
  410. package/dist/collection/types/shared.js +0 -1
  411. package/dist/collection/utils/active-element.js +49 -2
  412. package/dist/collection/utils/constructible-style.js +3 -4
  413. package/dist/collection/utils/custom-template.js +1 -2
  414. package/dist/collection/utils/date-utils.js +1 -2
  415. package/dist/collection/utils/dom.js +10 -11
  416. package/dist/collection/utils/drag.js +1 -2
  417. package/dist/collection/utils/events.js +1 -2
  418. package/dist/collection/utils/fetch.js +1 -2
  419. package/dist/collection/utils/form.js +1 -2
  420. package/dist/collection/utils/gesture/gesture-controller.js +1 -2
  421. package/dist/collection/utils/gesture/index.js +1 -2
  422. package/dist/collection/utils/gesture/listener.js +1 -2
  423. package/dist/collection/utils/gesture/pointer-events.js +1 -2
  424. package/dist/collection/utils/gesture/recognizers.js +1 -2
  425. package/dist/collection/utils/gesture/swipe-back.js +1 -2
  426. package/dist/collection/utils/math.js +1 -2
  427. package/dist/collection/utils/modal.js +1 -2
  428. package/dist/collection/utils/popover.js +7 -4
  429. package/dist/collection/utils/promise-queue.js +1 -2
  430. package/dist/collection/utils/renderer.js +12 -3
  431. package/dist/collection/utils/scroll.js +59 -3
  432. package/dist/collection/utils/search-insights.js +1 -2
  433. package/dist/collection/utils/slot.js +82 -28
  434. package/dist/collection/utils/store/component-store.js +25 -14
  435. package/dist/collection/utils/store/get-set.js +1 -2
  436. package/dist/collection/utils/style.js +54 -0
  437. package/dist/collection/utils/tabbable.js +41 -27
  438. package/dist/collection/utils/testing/index.js +1 -2
  439. package/dist/collection/utils/theme.js +2 -4
  440. package/dist/collection/utils/throttle.js +1 -2
  441. package/dist/collection/utils/transitions.js +24 -7
  442. package/dist/components/active-element.js +50 -4
  443. package/dist/components/algolia-data.js +1 -3
  444. package/dist/components/algolia.js +964 -23
  445. package/dist/components/avatar.js +33 -0
  446. package/dist/components/badge.js +36 -0
  447. package/dist/components/component-store.js +27 -26
  448. package/dist/components/cta.js +61 -0
  449. package/dist/components/datalist.js +24 -27
  450. package/dist/components/date-picker.js +33 -45
  451. package/dist/components/details.js +198 -0
  452. package/dist/components/dom.js +11 -22
  453. package/dist/components/drag.js +1 -3
  454. package/dist/components/drawer.js +402 -0
  455. package/dist/components/dropdown.js +65 -59
  456. package/dist/components/events.js +1 -3
  457. package/dist/components/fade.js +2 -4
  458. package/dist/components/form-control.js +11 -9
  459. package/dist/components/fullscreen.js +2 -4
  460. package/dist/components/global-search-results.js +735 -0
  461. package/dist/components/grid.js +6 -9
  462. package/dist/components/icon-button.js +3 -17
  463. package/dist/components/icon.js +98 -90
  464. package/dist/components/img.js +6 -9
  465. package/dist/components/index-browser.js +3 -5
  466. package/dist/components/index.js +41 -22
  467. package/dist/components/index2.js +1 -3
  468. package/dist/components/index3.js +4 -9
  469. package/dist/components/input.js +178 -65
  470. package/dist/components/lazyload.js +2 -4
  471. package/dist/components/local-logged-in.js +214 -0
  472. package/dist/components/local-logged-out.js +210 -0
  473. package/dist/components/masked-overflow.js +402 -0
  474. package/dist/components/math.js +2 -4
  475. package/dist/components/menu.js +76 -29
  476. package/dist/components/modal.js +1 -3
  477. package/dist/components/nano-accordion.js +13 -26
  478. package/dist/components/nano-alert.js +82 -28
  479. package/dist/components/nano-algolia-filter.js +5 -8
  480. package/dist/components/nano-algolia-pagination.js +3 -5
  481. package/dist/components/nano-algolia-results.js +4 -6
  482. package/dist/components/nano-algolia.js +1 -3
  483. package/dist/components/nano-animation.js +2 -4
  484. package/dist/components/nano-avatar.d.ts +11 -0
  485. package/dist/components/nano-avatar.js +9 -0
  486. package/dist/components/nano-badge.d.ts +11 -0
  487. package/dist/components/nano-badge.js +9 -0
  488. package/dist/components/nano-breadcrumb.d.ts +11 -0
  489. package/dist/components/nano-breadcrumb.js +84 -0
  490. package/dist/components/nano-card-carousel.d.ts +11 -0
  491. package/dist/components/nano-card-carousel.js +124 -0
  492. package/dist/components/nano-card.d.ts +11 -0
  493. package/dist/components/nano-card.js +42 -0
  494. package/dist/components/nano-checkbox-group.js +76 -42
  495. package/dist/components/nano-checkbox.js +35 -22
  496. package/dist/components/nano-collapsible-comparison.d.ts +11 -0
  497. package/dist/components/nano-collapsible-comparison.js +106 -0
  498. package/dist/components/nano-content-links.d.ts +11 -0
  499. package/dist/components/nano-content-links.js +32 -0
  500. package/dist/components/nano-cta.d.ts +11 -0
  501. package/dist/components/nano-cta.js +9 -0
  502. package/dist/components/nano-data-table.d.ts +11 -0
  503. package/dist/components/nano-data-table.js +1945 -0
  504. package/dist/components/nano-datalist.js +1 -3
  505. package/dist/components/nano-date-input.js +35 -34
  506. package/dist/components/nano-date-picker.js +3 -5
  507. package/dist/components/nano-details.js +3 -209
  508. package/dist/components/nano-dialog.js +38 -34
  509. package/dist/components/nano-drawer.js +2 -335
  510. package/dist/components/nano-dropdown.js +1 -3
  511. package/dist/components/nano-field-validator.js +8 -14
  512. package/dist/components/nano-file-upload.js +4 -7
  513. package/dist/components/nano-footer.d.ts +11 -0
  514. package/dist/components/nano-footer.js +47 -0
  515. package/dist/components/nano-global-nav.js +519 -1251
  516. package/dist/components/nano-global-search-results.js +2 -669
  517. package/dist/components/nano-grid-item.js +2 -4
  518. package/dist/components/nano-grid.js +1 -3
  519. package/dist/components/nano-hero.js +9 -12
  520. package/dist/components/nano-icon-button.js +1 -3
  521. package/dist/components/nano-icon-item.d.ts +11 -0
  522. package/dist/components/nano-icon-item.js +39 -0
  523. package/dist/components/nano-icon.js +1 -3
  524. package/dist/components/nano-img.js +1 -3
  525. package/dist/components/nano-in-page-nav.d.ts +11 -0
  526. package/dist/components/nano-in-page-nav.js +246 -0
  527. package/dist/components/nano-input.js +1 -3
  528. package/dist/components/nano-intersection-observe.js +11 -5
  529. package/dist/components/nano-masked-overflow.d.ts +11 -0
  530. package/dist/components/nano-masked-overflow.js +9 -0
  531. package/dist/components/nano-menu-drawer.js +5 -8
  532. package/dist/components/nano-menu.js +1 -3
  533. package/dist/components/nano-more-less.js +3 -5
  534. package/dist/components/nano-nav-item.js +1 -3
  535. package/dist/components/nano-option.js +1 -3
  536. package/dist/components/nano-progress-bar.js +1 -3
  537. package/dist/components/nano-range.js +4 -7
  538. package/dist/components/nano-rating.js +8 -16
  539. package/dist/components/nano-resize-observe.js +1 -3
  540. package/dist/components/nano-select.js +1 -3
  541. package/dist/components/nano-skeleton.js +1 -3
  542. package/dist/components/nano-slide.js +4 -7
  543. package/dist/components/nano-slides.js +3 -3087
  544. package/dist/components/nano-sortable.js +12 -13
  545. package/dist/components/nano-spinner.js +1 -3
  546. package/dist/components/nano-split-pane.js +5 -8
  547. package/dist/components/nano-sticker.js +1 -3
  548. package/dist/components/nano-tab-content.js +8 -11
  549. package/dist/components/nano-tab-group.js +85 -239
  550. package/dist/components/nano-tab.js +17 -17
  551. package/dist/components/nano-table.js +205 -1882
  552. package/dist/components/nano-tag.d.ts +11 -0
  553. package/dist/components/nano-tag.js +9 -0
  554. package/dist/components/nano-tooltip.js +1 -3
  555. package/dist/components/nav-item.js +174 -225
  556. package/dist/components/option.js +12 -13
  557. package/dist/components/page-dots.js +6 -9
  558. package/dist/components/popover.js +31 -16
  559. package/dist/components/progress-bar.js +6 -9
  560. package/dist/components/renderer.js +12 -4
  561. package/dist/components/resize-observe.js +2 -4
  562. package/dist/components/scroll.js +60 -5
  563. package/dist/components/select.js +111 -100
  564. package/dist/components/skeleton.js +5 -8
  565. package/dist/components/slides.js +3097 -0
  566. package/dist/components/slot.js +84 -36
  567. package/dist/components/spinner.js +4 -7
  568. package/dist/components/sticker.js +7 -10
  569. package/dist/components/style.js +56 -0
  570. package/dist/components/tabbable.js +42 -28
  571. package/dist/components/table.worker.js +3 -5
  572. package/dist/components/tag.js +89 -0
  573. package/dist/components/theme.js +2 -5
  574. package/dist/components/throttle.js +1 -3
  575. package/dist/components/tooltip.js +20 -10
  576. package/dist/esm/active-element-C1pBwzyj.js +65 -0
  577. package/dist/esm/algolia-data-BNDipgId.js +47 -0
  578. package/dist/esm/algoliasearch-lite.esm.browser-C1SNUAIj.js +949 -0
  579. package/dist/esm/component-store-DqCSKpAK.js +324 -0
  580. package/dist/esm/date-utils-BZYdjI1P.js +217 -0
  581. package/dist/esm/dom-CF0Ycs9M.js +67 -0
  582. package/dist/esm/drag-BLOEuv-q.js +70 -0
  583. package/dist/esm/events-ClRFmcmJ.js +34 -0
  584. package/dist/esm/fade-CdIyPeai.js +210 -0
  585. package/dist/esm/form-control-DXPQniNX.js +81 -0
  586. package/dist/esm/fullscreen-C4GllGer.js +130 -0
  587. package/dist/esm/index-BQSuCPXH.js +652 -0
  588. package/dist/esm/index-CFYZ-ZOT.js +3289 -0
  589. package/dist/esm/index-DxKBolVo.js +196 -0
  590. package/dist/esm/index-browser-BvSm1vXe.js +6 -0
  591. package/dist/esm/index.js +43 -24
  592. package/dist/esm/lazyload-pTbJ7q2S.js +92 -0
  593. package/dist/esm/loader.js +4 -7
  594. package/dist/esm/local-logged-in-DNQyU0ot.js +214 -0
  595. package/dist/esm/local-logged-out-CD2oXHpq.js +210 -0
  596. package/dist/esm/math-BEqsTfVK.js +36 -0
  597. package/dist/esm/modal-B50PWCuY.js +47 -0
  598. package/dist/esm/nano-accordion.entry.js +13 -25
  599. package/dist/esm/nano-alert.entry.js +85 -34
  600. package/dist/esm/nano-algolia-filter.entry.js +10 -13
  601. package/dist/esm/nano-algolia-pagination.entry.js +5 -7
  602. package/dist/esm/nano-algolia-results.entry.js +7 -9
  603. package/dist/esm/nano-algolia.entry.js +22 -25
  604. package/dist/esm/nano-animation.entry.js +4 -6
  605. package/dist/esm/nano-avatar_5.entry.js +1772 -0
  606. package/dist/esm/nano-breadcrumb.entry.js +39 -0
  607. package/dist/esm/nano-card-carousel.entry.js +93 -0
  608. package/dist/esm/nano-card.entry.js +21 -0
  609. package/dist/esm/nano-checkbox-group.entry.js +79 -45
  610. package/dist/esm/nano-checkbox.entry.js +34 -22
  611. package/dist/esm/nano-collapsible-comparison.entry.js +60 -0
  612. package/dist/esm/nano-components.js +6 -8
  613. package/dist/esm/nano-content-links.entry.js +15 -0
  614. package/dist/esm/nano-cta.entry.js +40 -0
  615. package/dist/esm/nano-data-table-DsTG4mqR.js +1844 -0
  616. package/dist/esm/nano-data-table.entry.js +11 -0
  617. package/dist/esm/nano-datalist_3.entry.js +84 -255
  618. package/dist/esm/nano-date-input.entry.js +14 -25
  619. package/dist/esm/nano-date-picker_2.entry.js +996 -0
  620. package/dist/esm/nano-details.entry.js +61 -79
  621. package/dist/esm/nano-dialog.entry.js +45 -40
  622. package/dist/esm/nano-dropdown_2.entry.js +637 -0
  623. package/dist/esm/nano-field-validator.entry.js +9 -15
  624. package/dist/esm/nano-file-upload.entry.js +6 -9
  625. package/dist/esm/nano-footer.entry.js +23 -0
  626. package/dist/esm/nano-global-nav.entry.js +416 -1169
  627. package/dist/esm/nano-grid-item.entry.js +3 -5
  628. package/dist/esm/nano-grid_2.entry.js +12 -16
  629. package/dist/esm/nano-hero.entry.js +9 -14
  630. package/dist/esm/nano-icon-item.entry.js +19 -0
  631. package/dist/esm/nano-icon_3.entry.js +651 -0
  632. package/dist/esm/nano-in-page-nav.entry.js +210 -0
  633. package/dist/esm/nano-intersection-observe.entry.js +14 -7
  634. package/dist/esm/nano-masked-overflow.entry.js +349 -0
  635. package/dist/esm/nano-menu-drawer.entry.js +8 -11
  636. package/dist/esm/nano-more-less.entry.js +5 -7
  637. package/dist/esm/nano-nav-item.entry.js +269 -0
  638. package/dist/esm/nano-progress-bar.entry.js +8 -11
  639. package/dist/esm/nano-range.entry.js +9 -12
  640. package/dist/esm/nano-rating.entry.js +10 -18
  641. package/dist/esm/nano-resize-observe_2.entry.js +8 -11
  642. package/dist/esm/nano-slide.entry.js +6 -9
  643. package/dist/esm/nano-slides-BcyK9Szs.js +3045 -0
  644. package/dist/esm/nano-slides.entry.js +4 -6
  645. package/dist/esm/nano-sortable.entry.js +11 -12
  646. package/dist/esm/nano-spinner.entry.js +6 -9
  647. package/dist/esm/nano-split-pane.entry.js +9 -12
  648. package/dist/esm/nano-sticker.entry.js +10 -13
  649. package/dist/esm/nano-tab-content.entry.js +9 -12
  650. package/dist/esm/nano-tab-group.entry.js +64 -226
  651. package/dist/esm/nano-tab.entry.js +18 -18
  652. package/dist/esm/nano-table.entry.js +234 -9
  653. package/dist/esm/page-dots-Cq8hjoql.js +136 -0
  654. package/dist/esm/popover-D1cBIHdr.js +1945 -0
  655. package/dist/esm/renderer-LJzCFyMt.js +66 -0
  656. package/dist/esm/scroll-BRRzrkAi.js +179 -0
  657. package/dist/esm/search-insights-8OL2oeQN.js +48 -0
  658. package/dist/esm/slot-DBzVpliZ.js +104 -0
  659. package/dist/esm/style-BrRDhFfF.js +56 -0
  660. package/dist/esm/tabbable-BpHwrUYt.js +121 -0
  661. package/dist/esm/table.worker-BTF0UXAd.js +4 -0
  662. package/dist/esm/table.worker-BoX4CUXT.js +28 -0
  663. package/dist/esm/theme-aiuyr36I.js +43 -0
  664. package/dist/esm/throttle-C93FMm2Z.js +48 -0
  665. package/dist/nano-assets/font/jp/noto-sans-jp-v53-japanese_latin-300.woff2 +0 -0
  666. package/dist/nano-assets/font/latin/noto-sans-v39-latin-300.woff2 +0 -0
  667. package/dist/nano-assets/font/latin/noto-sans-v39-latin-300italic.woff2 +0 -0
  668. package/dist/nano-assets/font/sc/noto-sans-sc-v37-chinese-simplified_latin-300.woff2 +0 -0
  669. package/dist/nano-assets/hash.txt +1 -1
  670. package/dist/nano-assets/icon/device/elysion.svg +5 -0
  671. package/dist/nano-assets/icon/device/flongle.svg +4 -0
  672. package/dist/nano-assets/icon/device/gridion.svg +9 -0
  673. package/dist/nano-assets/icon/device/minion-mk1d.svg +4 -0
  674. package/dist/nano-assets/icon/device/p2-integrated.svg +7 -0
  675. package/dist/nano-assets/icon/device/p2-solo.svg +5 -0
  676. package/dist/nano-assets/icon/device/p24.svg +6 -0
  677. package/dist/nano-assets/icon/device/q.svg +4 -0
  678. package/dist/nano-assets/icon/pictogram/analyse.svg +10 -0
  679. package/dist/nano-assets/icon/pictogram/animal-research.svg +4 -0
  680. package/dist/nano-assets/icon/pictogram/assembly.svg +3 -0
  681. package/dist/nano-assets/icon/pictogram/biopharma.svg +3 -0
  682. package/dist/nano-assets/icon/pictogram/cancer-research.svg +15 -0
  683. package/dist/nano-assets/icon/pictogram/chromatin-conformation.svg +3 -0
  684. package/dist/nano-assets/icon/pictogram/clinical-research.svg +3 -0
  685. package/dist/nano-assets/icon/pictogram/environmental-conservation.svg +5 -0
  686. package/dist/nano-assets/icon/pictogram/epigenetics.svg +5 -0
  687. package/dist/nano-assets/icon/pictogram/fusion-transcripts.svg +3 -0
  688. package/dist/nano-assets/icon/pictogram/gene-expression.svg +3 -0
  689. package/dist/nano-assets/icon/pictogram/genome-research.svg +3 -0
  690. package/dist/nano-assets/icon/pictogram/human-genomics.svg +4 -0
  691. package/dist/nano-assets/icon/pictogram/infectious-disease.svg +13 -0
  692. package/dist/nano-assets/icon/pictogram/microbial-genomics.svg +15 -0
  693. package/dist/nano-assets/icon/pictogram/microbiome-metagenomics.svg +16 -0
  694. package/dist/nano-assets/icon/pictogram/multiomics.svg +13 -0
  695. package/dist/nano-assets/icon/pictogram/plant-research.svg +3 -0
  696. package/dist/nano-assets/icon/pictogram/population-genomics.svg +6 -0
  697. package/dist/nano-assets/icon/pictogram/prepare.svg +4 -0
  698. package/dist/nano-assets/icon/pictogram/scalable.svg +12 -0
  699. package/dist/nano-assets/icon/pictogram/sequence.svg +3 -0
  700. package/dist/nano-assets/icon/pictogram/single-cell-spatial-transcriptions.svg +12 -0
  701. package/dist/nano-assets/icon/pictogram/snvs-phasing.svg +4 -0
  702. package/dist/nano-assets/icon/pictogram/splice-variation.svg +4 -0
  703. package/dist/nano-assets/icon/pictogram/structural-variation.svg +4 -0
  704. package/dist/nano-assets/icon/pictogram/targeted-sequencing.svg +10 -0
  705. package/dist/nano-assets/icon/pictogram/transcriptomics.svg +3 -0
  706. package/dist/nano-assets/icon/pictogram/unrestricted-read-length.svg +10 -0
  707. package/dist/nano-assets/icon/pictogram/whole-genome-sequencing.svg +3 -0
  708. package/dist/nano-assets/icon/pictogram/workflow-end-to-end.svg +3 -0
  709. package/dist/nano-assets/img/bsi/27001.svg +188 -0
  710. package/dist/nano-assets/img/bsi/9001.svg +172 -0
  711. package/dist/nano-assets/img/bsi/mark-of-trust.svg +230 -0
  712. package/dist/nano-assets/img/flags/en.svg +15 -0
  713. package/dist/nano-assets/img/flags/es.svg +544 -0
  714. package/dist/nano-assets/img/flags/ja.svg +11 -0
  715. package/dist/nano-assets/img/flags/zh.svg +14 -0
  716. package/dist/nano-assets/local-logged-in.json +202 -0
  717. package/dist/nano-assets/local-logged-out.json +198 -0
  718. package/dist/nano-components/active-element-C1pBwzyj.js +4 -0
  719. package/dist/nano-components/algolia-data-BNDipgId.js +4 -0
  720. package/dist/nano-components/algoliasearch-lite.esm.browser-C1SNUAIj.js +4 -0
  721. package/dist/nano-components/assets/local-logged-in.json +202 -0
  722. package/dist/nano-components/assets/local-logged-out.json +198 -0
  723. package/dist/nano-components/component-store-DqCSKpAK.js +4 -0
  724. package/dist/nano-components/date-utils-BZYdjI1P.js +4 -0
  725. package/dist/nano-components/device/elysion.svg +5 -0
  726. package/dist/nano-components/device/flongle.svg +4 -0
  727. package/dist/nano-components/device/gridion.svg +9 -0
  728. package/dist/nano-components/device/minion-mk1d.svg +4 -0
  729. package/dist/nano-components/device/p2-integrated.svg +7 -0
  730. package/dist/nano-components/device/p2-solo.svg +5 -0
  731. package/dist/nano-components/device/p24.svg +6 -0
  732. package/dist/nano-components/device/q.svg +4 -0
  733. package/dist/nano-components/dom-CF0Ycs9M.js +4 -0
  734. package/dist/nano-components/drag-BLOEuv-q.js +4 -0
  735. package/dist/nano-components/events-ClRFmcmJ.js +4 -0
  736. package/dist/nano-components/fade-CdIyPeai.js +4 -0
  737. package/dist/nano-components/form-control-DXPQniNX.js +4 -0
  738. package/dist/nano-components/fullscreen-C4GllGer.js +4 -0
  739. package/dist/nano-components/index-BQSuCPXH.js +4 -0
  740. package/dist/nano-components/index-CFYZ-ZOT.js +5 -0
  741. package/dist/nano-components/index-DxKBolVo.js +4 -0
  742. package/dist/nano-components/index-browser-BvSm1vXe.js +4 -0
  743. package/dist/nano-components/index.esm.js +2 -3
  744. package/dist/nano-components/lazyload-pTbJ7q2S.js +4 -0
  745. package/dist/nano-components/local-logged-in-DNQyU0ot.js +4 -0
  746. package/dist/nano-components/local-logged-out-CD2oXHpq.js +4 -0
  747. package/dist/nano-components/math-BEqsTfVK.js +4 -0
  748. package/dist/nano-components/modal-B50PWCuY.js +4 -0
  749. package/dist/nano-components/nano-accordion.entry.js +2 -3
  750. package/dist/nano-components/nano-alert.entry.js +2 -3
  751. package/dist/nano-components/nano-algolia-filter.entry.js +2 -3
  752. package/dist/nano-components/nano-algolia-pagination.entry.js +2 -3
  753. package/dist/nano-components/nano-algolia-results.entry.js +2 -3
  754. package/dist/nano-components/nano-algolia.entry.js +2 -3
  755. package/dist/nano-components/nano-animation.entry.js +2 -3
  756. package/dist/nano-components/nano-avatar_5.entry.js +4 -0
  757. package/dist/nano-components/nano-breadcrumb.entry.js +4 -0
  758. package/dist/nano-components/nano-card-carousel.entry.js +4 -0
  759. package/dist/nano-components/nano-card.entry.js +4 -0
  760. package/dist/nano-components/nano-checkbox-group.entry.js +2 -3
  761. package/dist/nano-components/nano-checkbox.entry.js +2 -3
  762. package/dist/nano-components/nano-collapsible-comparison.entry.js +4 -0
  763. package/dist/nano-components/nano-components.css +2025 -1
  764. package/dist/nano-components/nano-components.esm.js +2 -3
  765. package/dist/nano-components/nano-content-links.entry.js +4 -0
  766. package/dist/nano-components/nano-cta.entry.js +4 -0
  767. package/dist/nano-components/nano-data-table-DsTG4mqR.js +4 -0
  768. package/dist/nano-components/nano-data-table.entry.js +4 -0
  769. package/dist/nano-components/nano-datalist_3.entry.js +2 -3
  770. package/dist/nano-components/nano-date-input.entry.js +2 -3
  771. package/dist/nano-components/nano-date-picker_2.entry.js +4 -0
  772. package/dist/nano-components/nano-details.entry.js +2 -3
  773. package/dist/nano-components/nano-dialog.entry.js +2 -3
  774. package/dist/nano-components/nano-dropdown_2.entry.js +4 -0
  775. package/dist/nano-components/nano-field-validator.entry.js +2 -3
  776. package/dist/nano-components/nano-file-upload.entry.js +2 -3
  777. package/dist/nano-components/nano-footer.entry.js +4 -0
  778. package/dist/nano-components/nano-global-nav.entry.js +2 -3
  779. package/dist/nano-components/nano-grid-item.entry.js +2 -3
  780. package/dist/nano-components/nano-grid_2.entry.js +2 -3
  781. package/dist/nano-components/nano-hero.entry.js +2 -3
  782. package/dist/nano-components/nano-icon-item.entry.js +4 -0
  783. package/dist/nano-components/nano-icon_3.entry.js +4 -0
  784. package/dist/nano-components/nano-in-page-nav.entry.js +4 -0
  785. package/dist/nano-components/nano-intersection-observe.entry.js +2 -3
  786. package/dist/nano-components/nano-masked-overflow.entry.js +4 -0
  787. package/dist/nano-components/nano-menu-drawer.entry.js +2 -3
  788. package/dist/nano-components/nano-more-less.entry.js +2 -3
  789. package/dist/nano-components/nano-nav-item.entry.js +4 -0
  790. package/dist/nano-components/nano-progress-bar.entry.js +2 -3
  791. package/dist/nano-components/nano-range.entry.js +2 -3
  792. package/dist/nano-components/nano-rating.entry.js +2 -3
  793. package/dist/nano-components/nano-resize-observe_2.entry.js +2 -3
  794. package/dist/nano-components/nano-slide.entry.js +2 -3
  795. package/dist/nano-components/nano-slides-BcyK9Szs.js +22 -0
  796. package/dist/nano-components/nano-slides.entry.js +2 -3
  797. package/dist/nano-components/nano-sortable.entry.js +2 -3
  798. package/dist/nano-components/nano-spinner.entry.js +2 -3
  799. package/dist/nano-components/nano-split-pane.entry.js +2 -3
  800. package/dist/nano-components/nano-sticker.entry.js +2 -3
  801. package/dist/nano-components/nano-tab-content.entry.js +2 -3
  802. package/dist/nano-components/nano-tab-group.entry.js +2 -3
  803. package/dist/nano-components/nano-tab.entry.js +2 -3
  804. package/dist/nano-components/nano-table.entry.js +2 -3
  805. package/dist/nano-components/page-dots-Cq8hjoql.js +4 -0
  806. package/dist/nano-components/pictogram/analyse.svg +10 -0
  807. package/dist/nano-components/pictogram/animal-research.svg +4 -0
  808. package/dist/nano-components/pictogram/assembly.svg +3 -0
  809. package/dist/nano-components/pictogram/biopharma.svg +3 -0
  810. package/dist/nano-components/pictogram/cancer-research.svg +15 -0
  811. package/dist/nano-components/pictogram/chromatin-conformation.svg +3 -0
  812. package/dist/nano-components/pictogram/clinical-research.svg +3 -0
  813. package/dist/nano-components/pictogram/environmental-conservation.svg +5 -0
  814. package/dist/nano-components/pictogram/epigenetics.svg +5 -0
  815. package/dist/nano-components/pictogram/fusion-transcripts.svg +3 -0
  816. package/dist/nano-components/pictogram/gene-expression.svg +3 -0
  817. package/dist/nano-components/pictogram/genome-research.svg +3 -0
  818. package/dist/nano-components/pictogram/human-genomics.svg +4 -0
  819. package/dist/nano-components/pictogram/infectious-disease.svg +13 -0
  820. package/dist/nano-components/pictogram/microbial-genomics.svg +15 -0
  821. package/dist/nano-components/pictogram/microbiome-metagenomics.svg +16 -0
  822. package/dist/nano-components/pictogram/multiomics.svg +13 -0
  823. package/dist/nano-components/pictogram/plant-research.svg +3 -0
  824. package/dist/nano-components/pictogram/population-genomics.svg +6 -0
  825. package/dist/nano-components/pictogram/prepare.svg +4 -0
  826. package/dist/nano-components/pictogram/scalable.svg +12 -0
  827. package/dist/nano-components/pictogram/sequence.svg +3 -0
  828. package/dist/nano-components/pictogram/single-cell-spatial-transcriptions.svg +12 -0
  829. package/dist/nano-components/pictogram/snvs-phasing.svg +4 -0
  830. package/dist/nano-components/pictogram/splice-variation.svg +4 -0
  831. package/dist/nano-components/pictogram/structural-variation.svg +4 -0
  832. package/dist/nano-components/pictogram/targeted-sequencing.svg +10 -0
  833. package/dist/nano-components/pictogram/transcriptomics.svg +3 -0
  834. package/dist/nano-components/pictogram/unrestricted-read-length.svg +10 -0
  835. package/dist/nano-components/pictogram/whole-genome-sequencing.svg +3 -0
  836. package/dist/nano-components/pictogram/workflow-end-to-end.svg +3 -0
  837. package/dist/nano-components/popover-D1cBIHdr.js +4 -0
  838. package/dist/nano-components/renderer-LJzCFyMt.js +4 -0
  839. package/dist/nano-components/scroll-BRRzrkAi.js +4 -0
  840. package/dist/nano-components/search-insights-8OL2oeQN.js +4 -0
  841. package/dist/nano-components/slot-DBzVpliZ.js +4 -0
  842. package/dist/nano-components/style-BrRDhFfF.js +4 -0
  843. package/dist/nano-components/tabbable-BpHwrUYt.js +4 -0
  844. package/dist/nano-components/table.worker-BTF0UXAd.js +4 -0
  845. package/dist/nano-components/table.worker-BoX4CUXT.js +4 -0
  846. package/dist/nano-components/theme-aiuyr36I.js +4 -0
  847. package/dist/nano-components/throttle-C93FMm2Z.js +4 -0
  848. package/dist/plugins/postcss/scoped-part.js +26 -0
  849. package/dist/plugins/stencil/vue-output/generate-vue-component.js +73 -0
  850. package/dist/plugins/stencil/vue-output/index.js +4 -0
  851. package/dist/plugins/stencil/vue-output/output-vue.js +95 -0
  852. package/dist/plugins/stencil/vue-output/plugin.js +43 -0
  853. package/dist/plugins/stencil/vue-output/types.js +1 -0
  854. package/dist/plugins/stencil/vue-output/utils.js +81 -0
  855. package/dist/stencil.config.js +50 -22
  856. package/dist/stencil.config.prod.js +4 -2
  857. package/dist/style/components.css +1 -0
  858. package/dist/style/components.css.map +1 -0
  859. package/dist/style/core.css +1 -0
  860. package/dist/style/core.css.map +1 -0
  861. package/dist/style/dark.css +1 -0
  862. package/dist/style/dark.css.map +1 -0
  863. package/dist/style/light.css +1 -0
  864. package/dist/style/light.css.map +1 -0
  865. package/dist/style/nano.css +1 -0
  866. package/dist/style/nano.css.map +1 -0
  867. package/dist/testing/mocks/intersection-observer.js +1 -2
  868. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/postcss/scoped-part.d.ts +8 -0
  869. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/stencil.config.d.ts +2 -0
  870. package/dist/types/Users/John.Jenkins/projects/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +2 -0
  871. package/dist/types/components/accordion/accordion.d.ts +10 -12
  872. package/dist/types/components/alert/alert.d.ts +35 -5
  873. package/dist/types/components/alert/alert.helpers.d.ts +7 -5
  874. package/dist/types/components/algolia/algolia-interface.d.ts +1 -1
  875. package/dist/types/components/avatar/avatar.d.ts +13 -0
  876. package/dist/types/components/badge/badge.d.ts +17 -0
  877. package/dist/types/components/breadcrumb/breadcrumb.d.ts +22 -0
  878. package/dist/types/components/card/card.d.ts +20 -0
  879. package/dist/types/components/card-carousel/card-carousel.d.ts +32 -0
  880. package/dist/types/components/checkbox/checkbox-group.d.ts +12 -7
  881. package/dist/types/components/checkbox/checkbox.d.ts +16 -11
  882. package/dist/types/components/collapsible-comparison/collapsible-comparison.d.ts +30 -0
  883. package/dist/types/components/content-links/content-links.d.ts +10 -0
  884. package/dist/types/components/cta/cta.d.ts +30 -0
  885. package/dist/types/components/data-table/table-interface.d.ts +280 -0
  886. package/dist/types/components/data-table/table.d.ts +250 -0
  887. package/dist/types/components/data-table/table.store.d.ts +24 -0
  888. package/dist/types/components/data-table/table.utils.d.ts +63 -0
  889. package/dist/types/components/datalist/datalist.d.ts +5 -5
  890. package/dist/types/components/date-input/date-input.d.ts +8 -5
  891. package/dist/types/components/date-picker/date-picker.d.ts +11 -15
  892. package/dist/types/components/details/details.d.ts +25 -27
  893. package/dist/types/components/dialog/dialog.d.ts +4 -5
  894. package/dist/types/components/dialog/dialog.helpers.d.ts +2 -5
  895. package/dist/types/components/drawer/drawer.d.ts +14 -3
  896. package/dist/types/components/dropdown/dropdown.d.ts +11 -9
  897. package/dist/types/components/field-validator/field-validator.d.ts +4 -6
  898. package/dist/types/components/footer/footer.d.ts +21 -0
  899. package/dist/types/components/form-control/form-control.d.ts +4 -1
  900. package/dist/types/components/global-nav/global-nav.d.ts +111 -280
  901. package/dist/types/components/global-search-results/global-search-results.d.ts +8 -7
  902. package/dist/types/components/grid/grid.d.ts +4 -6
  903. package/dist/types/components/icon/icon.d.ts +21 -14
  904. package/dist/types/components/icon-button/icon-button.d.ts +4 -4
  905. package/dist/types/components/icon-item/icon-item.d.ts +17 -0
  906. package/dist/types/components/in-page-nav/in-page-nav.d.ts +52 -0
  907. package/dist/types/components/input/input.d.ts +59 -21
  908. package/dist/types/components/intersection-observe/intersection-observe.d.ts +6 -2
  909. package/dist/types/components/masked-overflow/masked-overflow.d.ts +94 -0
  910. package/dist/types/components/menu/menu.d.ts +15 -7
  911. package/dist/types/components/nav-item/nav-item.d.ts +30 -84
  912. package/dist/types/components/option/option.d.ts +2 -1
  913. package/dist/types/components/progress-bar/progress-bar.d.ts +4 -1
  914. package/dist/types/components/range/range.d.ts +3 -4
  915. package/dist/types/components/rating/rating.d.ts +0 -1
  916. package/dist/types/components/resize-observe/resize-observe.d.ts +2 -4
  917. package/dist/types/components/select/select.d.ts +20 -21
  918. package/dist/types/components/skeleton/skeleton.d.ts +3 -2
  919. package/dist/types/components/slides/slides.d.ts +3 -3
  920. package/dist/types/components/sortable/sortable.d.ts +5 -5
  921. package/dist/types/components/spinner/spinner.d.ts +4 -0
  922. package/dist/types/components/split-pane/split-pane.d.ts +3 -0
  923. package/dist/types/components/table/table.d.ts +27 -245
  924. package/dist/types/components/tabs/tab-content.d.ts +6 -1
  925. package/dist/types/components/tabs/tab-group.d.ts +17 -37
  926. package/dist/types/components/tabs/tab.d.ts +9 -4
  927. package/dist/types/components/tag/tag.d.ts +30 -0
  928. package/dist/types/components/tooltip/tooltip.d.ts +4 -0
  929. package/dist/types/components.d.ts +2617 -1108
  930. package/dist/types/stencil-public-runtime.d.ts +23 -1
  931. package/dist/types/types/shared.d.ts +1 -1
  932. package/dist/types/utils/active-element.d.ts +20 -0
  933. package/dist/types/utils/popover.d.ts +1 -0
  934. package/dist/types/utils/scroll.d.ts +15 -1
  935. package/dist/types/utils/slot.d.ts +25 -9
  936. package/dist/types/utils/store/component-store.d.ts +21 -0
  937. package/dist/types/utils/style.d.ts +9 -0
  938. package/dist/types/utils/tabbable.d.ts +4 -2
  939. package/dist/types/utils/transitions.d.ts +2 -0
  940. package/dist/wdio.conf.js +1 -3
  941. package/docs-json.json +15694 -12511
  942. package/docs-vscode.json +807 -442
  943. package/hydrate/index.d.ts +38 -24
  944. package/hydrate/index.js +15164 -14544
  945. package/hydrate/index.mjs +15163 -14543
  946. package/loader/cdn.js +1 -1
  947. package/loader/index.cjs.js +1 -1
  948. package/loader/index.es2017.js +1 -1
  949. package/loader/index.js +1 -1
  950. package/package.json +26 -19
  951. package/dist/cjs/active-element-8ffcfe49.js +0 -21
  952. package/dist/cjs/active-element-8ffcfe49.js.map +0 -1
  953. package/dist/cjs/algolia-data-ca9cd58e.js +0 -51
  954. package/dist/cjs/algolia-data-ca9cd58e.js.map +0 -1
  955. package/dist/cjs/algoliasearch-lite.esm.browser-890872fc.js +0 -968
  956. package/dist/cjs/algoliasearch-lite.esm.browser-890872fc.js.map +0 -1
  957. package/dist/cjs/app-globals-3e14cb71.js +0 -41
  958. package/dist/cjs/app-globals-3e14cb71.js.map +0 -1
  959. package/dist/cjs/component-store-b8d4bd91.js +0 -325
  960. package/dist/cjs/component-store-b8d4bd91.js.map +0 -1
  961. package/dist/cjs/date-utils-d9d3e6b4.js +0 -234
  962. package/dist/cjs/date-utils-d9d3e6b4.js.map +0 -1
  963. package/dist/cjs/dom-b99a1aec.js +0 -83
  964. package/dist/cjs/dom-b99a1aec.js.map +0 -1
  965. package/dist/cjs/drag-c0a99167.js +0 -74
  966. package/dist/cjs/drag-c0a99167.js.map +0 -1
  967. package/dist/cjs/events-96e9a3d4.js +0 -39
  968. package/dist/cjs/events-96e9a3d4.js.map +0 -1
  969. package/dist/cjs/fade-6a5004f4.js +0 -214
  970. package/dist/cjs/fade-6a5004f4.js.map +0 -1
  971. package/dist/cjs/focus-visible-39b54d1f.js +0 -68
  972. package/dist/cjs/focus-visible-39b54d1f.js.map +0 -1
  973. package/dist/cjs/form-control-5bb39cc2.js +0 -82
  974. package/dist/cjs/form-control-5bb39cc2.js.map +0 -1
  975. package/dist/cjs/fullscreen-f5db9bbe.js +0 -134
  976. package/dist/cjs/fullscreen-f5db9bbe.js.map +0 -1
  977. package/dist/cjs/index-41263d6e.js +0 -660
  978. package/dist/cjs/index-41263d6e.js.map +0 -1
  979. package/dist/cjs/index-615cdb64.js +0 -3085
  980. package/dist/cjs/index-615cdb64.js.map +0 -1
  981. package/dist/cjs/index-a92a0379.js +0 -200
  982. package/dist/cjs/index-a92a0379.js.map +0 -1
  983. package/dist/cjs/index-browser-745018ea.js +0 -16
  984. package/dist/cjs/index-browser-745018ea.js.map +0 -1
  985. package/dist/cjs/index.cjs.js.map +0 -1
  986. package/dist/cjs/lazyload-13d72e60.js +0 -96
  987. package/dist/cjs/lazyload-13d72e60.js.map +0 -1
  988. package/dist/cjs/loader.cjs.js.map +0 -1
  989. package/dist/cjs/local-my-account-53c19159.js +0 -472
  990. package/dist/cjs/local-my-account-53c19159.js.map +0 -1
  991. package/dist/cjs/math-ea9cdc71.js +0 -41
  992. package/dist/cjs/math-ea9cdc71.js.map +0 -1
  993. package/dist/cjs/modal-ff47c677.js +0 -51
  994. package/dist/cjs/modal-ff47c677.js.map +0 -1
  995. package/dist/cjs/nano-accordion.cjs.entry.js.map +0 -1
  996. package/dist/cjs/nano-alert.cjs.entry.js.map +0 -1
  997. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +0 -1
  998. package/dist/cjs/nano-algolia-pagination.cjs.entry.js.map +0 -1
  999. package/dist/cjs/nano-algolia-results.cjs.entry.js.map +0 -1
  1000. package/dist/cjs/nano-algolia.cjs.entry.js.map +0 -1
  1001. package/dist/cjs/nano-animation.cjs.entry.js.map +0 -1
  1002. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +0 -1
  1003. package/dist/cjs/nano-checkbox.cjs.entry.js.map +0 -1
  1004. package/dist/cjs/nano-components.cjs.js.map +0 -1
  1005. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +0 -1
  1006. package/dist/cjs/nano-date-input.cjs.entry.js.map +0 -1
  1007. package/dist/cjs/nano-date-picker.cjs.entry.js +0 -393
  1008. package/dist/cjs/nano-date-picker.cjs.entry.js.map +0 -1
  1009. package/dist/cjs/nano-details.cjs.entry.js.map +0 -1
  1010. package/dist/cjs/nano-dialog.cjs.entry.js.map +0 -1
  1011. package/dist/cjs/nano-drawer.cjs.entry.js +0 -289
  1012. package/dist/cjs/nano-drawer.cjs.entry.js.map +0 -1
  1013. package/dist/cjs/nano-dropdown.cjs.entry.js +0 -373
  1014. package/dist/cjs/nano-dropdown.cjs.entry.js.map +0 -1
  1015. package/dist/cjs/nano-field-validator.cjs.entry.js.map +0 -1
  1016. package/dist/cjs/nano-file-upload.cjs.entry.js.map +0 -1
  1017. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +0 -1107
  1018. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +0 -1
  1019. package/dist/cjs/nano-global-nav.cjs.entry.js.map +0 -1
  1020. package/dist/cjs/nano-global-search-results.cjs.entry.js +0 -636
  1021. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +0 -1
  1022. package/dist/cjs/nano-grid-item.cjs.entry.js.map +0 -1
  1023. package/dist/cjs/nano-grid_2.cjs.entry.js.map +0 -1
  1024. package/dist/cjs/nano-hero.cjs.entry.js.map +0 -1
  1025. package/dist/cjs/nano-icon-button_2.cjs.entry.js +0 -341
  1026. package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +0 -1
  1027. package/dist/cjs/nano-icon.cjs.entry.js +0 -320
  1028. package/dist/cjs/nano-icon.cjs.entry.js.map +0 -1
  1029. package/dist/cjs/nano-input.cjs.entry.js +0 -548
  1030. package/dist/cjs/nano-input.cjs.entry.js.map +0 -1
  1031. package/dist/cjs/nano-intersection-observe.cjs.entry.js.map +0 -1
  1032. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +0 -1
  1033. package/dist/cjs/nano-more-less.cjs.entry.js.map +0 -1
  1034. package/dist/cjs/nano-overflow-nav.cjs.entry.js +0 -342
  1035. package/dist/cjs/nano-overflow-nav.cjs.entry.js.map +0 -1
  1036. package/dist/cjs/nano-progress-bar.cjs.entry.js.map +0 -1
  1037. package/dist/cjs/nano-range.cjs.entry.js.map +0 -1
  1038. package/dist/cjs/nano-rating.cjs.entry.js.map +0 -1
  1039. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +0 -1
  1040. package/dist/cjs/nano-slide.cjs.entry.js.map +0 -1
  1041. package/dist/cjs/nano-slides-0a60315d.js +0 -3043
  1042. package/dist/cjs/nano-slides-0a60315d.js.map +0 -1
  1043. package/dist/cjs/nano-slides.cjs.entry.js.map +0 -1
  1044. package/dist/cjs/nano-sortable.cjs.entry.js.map +0 -1
  1045. package/dist/cjs/nano-spinner.cjs.entry.js.map +0 -1
  1046. package/dist/cjs/nano-split-pane.cjs.entry.js.map +0 -1
  1047. package/dist/cjs/nano-sticker.cjs.entry.js.map +0 -1
  1048. package/dist/cjs/nano-tab-content.cjs.entry.js.map +0 -1
  1049. package/dist/cjs/nano-tab-group.cjs.entry.js.map +0 -1
  1050. package/dist/cjs/nano-tab.cjs.entry.js.map +0 -1
  1051. package/dist/cjs/nano-table-54523fe5.js +0 -1880
  1052. package/dist/cjs/nano-table-54523fe5.js.map +0 -1
  1053. package/dist/cjs/nano-table.cjs.entry.js.map +0 -1
  1054. package/dist/cjs/page-dots-ecdd64d1.js +0 -141
  1055. package/dist/cjs/page-dots-ecdd64d1.js.map +0 -1
  1056. package/dist/cjs/popover-3dfc73f6.js +0 -1932
  1057. package/dist/cjs/popover-3dfc73f6.js.map +0 -1
  1058. package/dist/cjs/renderer-cd8b6098.js +0 -63
  1059. package/dist/cjs/renderer-cd8b6098.js.map +0 -1
  1060. package/dist/cjs/scroll-a3e5c6c6.js +0 -128
  1061. package/dist/cjs/scroll-a3e5c6c6.js.map +0 -1
  1062. package/dist/cjs/scroll-parent-798d9651.js +0 -31
  1063. package/dist/cjs/scroll-parent-798d9651.js.map +0 -1
  1064. package/dist/cjs/search-insights-694b3436.js +0 -53
  1065. package/dist/cjs/search-insights-694b3436.js.map +0 -1
  1066. package/dist/cjs/slot-4e057042.js +0 -61
  1067. package/dist/cjs/slot-4e057042.js.map +0 -1
  1068. package/dist/cjs/tabbable-619dc959.js +0 -112
  1069. package/dist/cjs/tabbable-619dc959.js.map +0 -1
  1070. package/dist/cjs/table.worker-99f69a43.js +0 -33
  1071. package/dist/cjs/table.worker-99f69a43.js.map +0 -1
  1072. package/dist/cjs/table.worker-da5412ed.js +0 -4
  1073. package/dist/cjs/theme-a2f7ddf8.js +0 -49
  1074. package/dist/cjs/theme-a2f7ddf8.js.map +0 -1
  1075. package/dist/cjs/throttle-46a497fb.js +0 -54
  1076. package/dist/cjs/throttle-46a497fb.js.map +0 -1
  1077. package/dist/cjs/transitions-a2b2090b.js +0 -62
  1078. package/dist/cjs/transitions-a2b2090b.js.map +0 -1
  1079. package/dist/collection/components/accordion/accordion.js.map +0 -1
  1080. package/dist/collection/components/alert/alert.helpers.js.map +0 -1
  1081. package/dist/collection/components/alert/alert.js.map +0 -1
  1082. package/dist/collection/components/algolia/algolia-data.js.map +0 -1
  1083. package/dist/collection/components/algolia/algolia-filter.js.map +0 -1
  1084. package/dist/collection/components/algolia/algolia-interface.js.map +0 -1
  1085. package/dist/collection/components/algolia/algolia-pagination.js.map +0 -1
  1086. package/dist/collection/components/algolia/algolia-results.js.map +0 -1
  1087. package/dist/collection/components/algolia/algolia.js.map +0 -1
  1088. package/dist/collection/components/algolia/lib/squirrelly/browser.js.map +0 -1
  1089. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js.map +0 -1
  1090. package/dist/collection/components/algolia/lib/squirrelly/compile.js.map +0 -1
  1091. package/dist/collection/components/algolia/lib/squirrelly/config.js.map +0 -1
  1092. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js.map +0 -1
  1093. package/dist/collection/components/algolia/lib/squirrelly/containers.js.map +0 -1
  1094. package/dist/collection/components/algolia/lib/squirrelly/err.js.map +0 -1
  1095. package/dist/collection/components/algolia/lib/squirrelly/parse.js.map +0 -1
  1096. package/dist/collection/components/algolia/lib/squirrelly/render.js.map +0 -1
  1097. package/dist/collection/components/algolia/lib/squirrelly/storage.js.map +0 -1
  1098. package/dist/collection/components/algolia/lib/squirrelly/utils.js.map +0 -1
  1099. package/dist/collection/components/algolia/lib/template.js.map +0 -1
  1100. package/dist/collection/components/animation/animation.js.map +0 -1
  1101. package/dist/collection/components/animation/animations/attention_seekers/bounce.js.map +0 -1
  1102. package/dist/collection/components/animation/animations/attention_seekers/flash.js.map +0 -1
  1103. package/dist/collection/components/animation/animations/attention_seekers/headShake.js.map +0 -1
  1104. package/dist/collection/components/animation/animations/attention_seekers/heartBeat.js.map +0 -1
  1105. package/dist/collection/components/animation/animations/attention_seekers/jello.js.map +0 -1
  1106. package/dist/collection/components/animation/animations/attention_seekers/pulse.js.map +0 -1
  1107. package/dist/collection/components/animation/animations/attention_seekers/rubberBand.js.map +0 -1
  1108. package/dist/collection/components/animation/animations/attention_seekers/shake.js.map +0 -1
  1109. package/dist/collection/components/animation/animations/attention_seekers/shakeX.js.map +0 -1
  1110. package/dist/collection/components/animation/animations/attention_seekers/shakeY.js.map +0 -1
  1111. package/dist/collection/components/animation/animations/attention_seekers/swing.js.map +0 -1
  1112. package/dist/collection/components/animation/animations/attention_seekers/tada.js.map +0 -1
  1113. package/dist/collection/components/animation/animations/attention_seekers/wobble.js.map +0 -1
  1114. package/dist/collection/components/animation/animations/back_entrances/backInDown.js.map +0 -1
  1115. package/dist/collection/components/animation/animations/back_entrances/backInLeft.js.map +0 -1
  1116. package/dist/collection/components/animation/animations/back_entrances/backInRight.js.map +0 -1
  1117. package/dist/collection/components/animation/animations/back_entrances/backInUp.js.map +0 -1
  1118. package/dist/collection/components/animation/animations/back_exits/backOutDown.js.map +0 -1
  1119. package/dist/collection/components/animation/animations/back_exits/backOutLeft.js.map +0 -1
  1120. package/dist/collection/components/animation/animations/back_exits/backOutRight.js.map +0 -1
  1121. package/dist/collection/components/animation/animations/back_exits/backOutUp.js.map +0 -1
  1122. package/dist/collection/components/animation/animations/bouncing_entrances/bounceIn.js.map +0 -1
  1123. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInDown.js.map +0 -1
  1124. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInLeft.js.map +0 -1
  1125. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInRight.js.map +0 -1
  1126. package/dist/collection/components/animation/animations/bouncing_entrances/bounceInUp.js.map +0 -1
  1127. package/dist/collection/components/animation/animations/bouncing_exits/bounceOut.js.map +0 -1
  1128. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutDown.js.map +0 -1
  1129. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutLeft.js.map +0 -1
  1130. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutRight.js.map +0 -1
  1131. package/dist/collection/components/animation/animations/bouncing_exits/bounceOutUp.js.map +0 -1
  1132. package/dist/collection/components/animation/animations/easings/easings.js.map +0 -1
  1133. package/dist/collection/components/animation/animations/fading_entrances/fadeIn.js.map +0 -1
  1134. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomLeft.js.map +0 -1
  1135. package/dist/collection/components/animation/animations/fading_entrances/fadeInBottomRight.js.map +0 -1
  1136. package/dist/collection/components/animation/animations/fading_entrances/fadeInDown.js.map +0 -1
  1137. package/dist/collection/components/animation/animations/fading_entrances/fadeInDownBig.js.map +0 -1
  1138. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeft.js.map +0 -1
  1139. package/dist/collection/components/animation/animations/fading_entrances/fadeInLeftBig.js.map +0 -1
  1140. package/dist/collection/components/animation/animations/fading_entrances/fadeInRight.js.map +0 -1
  1141. package/dist/collection/components/animation/animations/fading_entrances/fadeInRightBig.js.map +0 -1
  1142. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopLeft.js.map +0 -1
  1143. package/dist/collection/components/animation/animations/fading_entrances/fadeInTopRight.js.map +0 -1
  1144. package/dist/collection/components/animation/animations/fading_entrances/fadeInUp.js.map +0 -1
  1145. package/dist/collection/components/animation/animations/fading_entrances/fadeInUpBig.js.map +0 -1
  1146. package/dist/collection/components/animation/animations/fading_exits/fadeOut.js.map +0 -1
  1147. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomLeft.js.map +0 -1
  1148. package/dist/collection/components/animation/animations/fading_exits/fadeOutBottomRight.js.map +0 -1
  1149. package/dist/collection/components/animation/animations/fading_exits/fadeOutDown.js.map +0 -1
  1150. package/dist/collection/components/animation/animations/fading_exits/fadeOutDownBig.js.map +0 -1
  1151. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeft.js.map +0 -1
  1152. package/dist/collection/components/animation/animations/fading_exits/fadeOutLeftBig.js.map +0 -1
  1153. package/dist/collection/components/animation/animations/fading_exits/fadeOutRight.js.map +0 -1
  1154. package/dist/collection/components/animation/animations/fading_exits/fadeOutRightBig.js.map +0 -1
  1155. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopLeft.js.map +0 -1
  1156. package/dist/collection/components/animation/animations/fading_exits/fadeOutTopRight.js.map +0 -1
  1157. package/dist/collection/components/animation/animations/fading_exits/fadeOutUp.js.map +0 -1
  1158. package/dist/collection/components/animation/animations/fading_exits/fadeOutUpBig.js.map +0 -1
  1159. package/dist/collection/components/animation/animations/flippers/flip.js.map +0 -1
  1160. package/dist/collection/components/animation/animations/flippers/flipInX.js.map +0 -1
  1161. package/dist/collection/components/animation/animations/flippers/flipInY.js.map +0 -1
  1162. package/dist/collection/components/animation/animations/flippers/flipOutX.js.map +0 -1
  1163. package/dist/collection/components/animation/animations/flippers/flipOutY.js.map +0 -1
  1164. package/dist/collection/components/animation/animations/index.js.map +0 -1
  1165. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInLeft.js.map +0 -1
  1166. package/dist/collection/components/animation/animations/lightspeed/lightSpeedInRight.js.map +0 -1
  1167. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutLeft.js.map +0 -1
  1168. package/dist/collection/components/animation/animations/lightspeed/lightSpeedOutRight.js.map +0 -1
  1169. package/dist/collection/components/animation/animations/rotating_entrances/rotateIn.js.map +0 -1
  1170. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownLeft.js.map +0 -1
  1171. package/dist/collection/components/animation/animations/rotating_entrances/rotateInDownRight.js.map +0 -1
  1172. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpLeft.js.map +0 -1
  1173. package/dist/collection/components/animation/animations/rotating_entrances/rotateInUpRight.js.map +0 -1
  1174. package/dist/collection/components/animation/animations/rotating_exits/rotateOut.js.map +0 -1
  1175. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownLeft.js.map +0 -1
  1176. package/dist/collection/components/animation/animations/rotating_exits/rotateOutDownRight.js.map +0 -1
  1177. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpLeft.js.map +0 -1
  1178. package/dist/collection/components/animation/animations/rotating_exits/rotateOutUpRight.js.map +0 -1
  1179. package/dist/collection/components/animation/animations/sliding_entrances/slideInDown.js.map +0 -1
  1180. package/dist/collection/components/animation/animations/sliding_entrances/slideInLeft.js.map +0 -1
  1181. package/dist/collection/components/animation/animations/sliding_entrances/slideInRight.js.map +0 -1
  1182. package/dist/collection/components/animation/animations/sliding_entrances/slideInUp.js.map +0 -1
  1183. package/dist/collection/components/animation/animations/sliding_exits/slideOutDown.js.map +0 -1
  1184. package/dist/collection/components/animation/animations/sliding_exits/slideOutLeft.js.map +0 -1
  1185. package/dist/collection/components/animation/animations/sliding_exits/slideOutRight.js.map +0 -1
  1186. package/dist/collection/components/animation/animations/sliding_exits/slideOutUp.js.map +0 -1
  1187. package/dist/collection/components/animation/animations/specials/hinge.js.map +0 -1
  1188. package/dist/collection/components/animation/animations/specials/jackInTheBox.js.map +0 -1
  1189. package/dist/collection/components/animation/animations/specials/rollIn.js.map +0 -1
  1190. package/dist/collection/components/animation/animations/specials/rollOut.js.map +0 -1
  1191. package/dist/collection/components/animation/animations/zooming_entrances/zoomIn.js.map +0 -1
  1192. package/dist/collection/components/animation/animations/zooming_entrances/zoomInDown.js.map +0 -1
  1193. package/dist/collection/components/animation/animations/zooming_entrances/zoomInLeft.js.map +0 -1
  1194. package/dist/collection/components/animation/animations/zooming_entrances/zoomInRight.js.map +0 -1
  1195. package/dist/collection/components/animation/animations/zooming_entrances/zoomInUp.js.map +0 -1
  1196. package/dist/collection/components/animation/animations/zooming_exits/zoomOut.js.map +0 -1
  1197. package/dist/collection/components/animation/animations/zooming_exits/zoomOutDown.js.map +0 -1
  1198. package/dist/collection/components/animation/animations/zooming_exits/zoomOutLeft.js.map +0 -1
  1199. package/dist/collection/components/animation/animations/zooming_exits/zoomOutRight.js.map +0 -1
  1200. package/dist/collection/components/animation/animations/zooming_exits/zoomOutUp.js.map +0 -1
  1201. package/dist/collection/components/checkbox/checkbox-group.js.map +0 -1
  1202. package/dist/collection/components/checkbox/checkbox-interface.js.map +0 -1
  1203. package/dist/collection/components/checkbox/checkbox.js.map +0 -1
  1204. package/dist/collection/components/datalist/datalist.js.map +0 -1
  1205. package/dist/collection/components/date-input/date-input.js.map +0 -1
  1206. package/dist/collection/components/date-picker/date-picker.js.map +0 -1
  1207. package/dist/collection/components/date-picker/duet-date-picker/date-adapter.js.map +0 -1
  1208. package/dist/collection/components/date-picker/duet-date-picker/date-localization.js.map +0 -1
  1209. package/dist/collection/components/date-picker/duet-date-picker/date-picker-day.js.map +0 -1
  1210. package/dist/collection/components/date-picker/duet-date-picker/date-picker-month.js.map +0 -1
  1211. package/dist/collection/components/details/details.js.map +0 -1
  1212. package/dist/collection/components/dialog/dialog.helpers.js.map +0 -1
  1213. package/dist/collection/components/dialog/dialog.js.map +0 -1
  1214. package/dist/collection/components/drawer/drawer.js.map +0 -1
  1215. package/dist/collection/components/dropdown/dropdown.js.map +0 -1
  1216. package/dist/collection/components/field-validator/field-validator.js.map +0 -1
  1217. package/dist/collection/components/file-upload/file-upload-list.js.map +0 -1
  1218. package/dist/collection/components/file-upload/file-upload.js.map +0 -1
  1219. package/dist/collection/components/form-control/form-control.js.map +0 -1
  1220. package/dist/collection/components/global-nav/assets/local-my-account.json +0 -447
  1221. package/dist/collection/components/global-nav/global-nav-user-profile.js +0 -70
  1222. package/dist/collection/components/global-nav/global-nav-user-profile.js.map +0 -1
  1223. package/dist/collection/components/global-nav/global-nav.js.map +0 -1
  1224. package/dist/collection/components/global-nav/style/global-nav.css +0 -893
  1225. package/dist/collection/components/global-search-results/global-search-results.js.map +0 -1
  1226. package/dist/collection/components/grid/grid-item.js.map +0 -1
  1227. package/dist/collection/components/grid/grid.js.map +0 -1
  1228. package/dist/collection/components/hero/hero.js.map +0 -1
  1229. package/dist/collection/components/icon/icon.js.map +0 -1
  1230. package/dist/collection/components/icon/request.js.map +0 -1
  1231. package/dist/collection/components/icon/utils.js.map +0 -1
  1232. package/dist/collection/components/icon/validate.js.map +0 -1
  1233. package/dist/collection/components/icon-button/icon-button.js.map +0 -1
  1234. package/dist/collection/components/img/img.js.map +0 -1
  1235. package/dist/collection/components/input/input.js.map +0 -1
  1236. package/dist/collection/components/intersection-observe/intersection-observe.js.map +0 -1
  1237. package/dist/collection/components/menu/menu.js.map +0 -1
  1238. package/dist/collection/components/menu-drawer/menu-drawer.js.map +0 -1
  1239. package/dist/collection/components/more-less/more-less.js.map +0 -1
  1240. package/dist/collection/components/nav-item/nav-item.js.map +0 -1
  1241. package/dist/collection/components/option/option.js.map +0 -1
  1242. package/dist/collection/components/overflow-nav/overflow-nav.css +0 -226
  1243. package/dist/collection/components/overflow-nav/overflow-nav.js +0 -537
  1244. package/dist/collection/components/overflow-nav/overflow-nav.js.map +0 -1
  1245. package/dist/collection/components/progress-bar/progress-bar.js.map +0 -1
  1246. package/dist/collection/components/range/range.js.map +0 -1
  1247. package/dist/collection/components/rating/rating.js.map +0 -1
  1248. package/dist/collection/components/resize-observe/resize-observe.js.map +0 -1
  1249. package/dist/collection/components/select/select.js.map +0 -1
  1250. package/dist/collection/components/skeleton/skeleton.js.map +0 -1
  1251. package/dist/collection/components/slides/lib/js/animate.js.map +0 -1
  1252. package/dist/collection/components/slides/lib/js/cell.js.map +0 -1
  1253. package/dist/collection/components/slides/lib/js/drag.js.map +0 -1
  1254. package/dist/collection/components/slides/lib/js/fade.js.map +0 -1
  1255. package/dist/collection/components/slides/lib/js/flickity.js.map +0 -1
  1256. package/dist/collection/components/slides/lib/js/fullscreen.js.map +0 -1
  1257. package/dist/collection/components/slides/lib/js/index.js.map +0 -1
  1258. package/dist/collection/components/slides/lib/js/lazyload.js.map +0 -1
  1259. package/dist/collection/components/slides/lib/js/page-dots.js.map +0 -1
  1260. package/dist/collection/components/slides/lib/js/player.js.map +0 -1
  1261. package/dist/collection/components/slides/lib/js/prev-next-button.js.map +0 -1
  1262. package/dist/collection/components/slides/lib/js/slide.js.map +0 -1
  1263. package/dist/collection/components/slides/lib/js/utils/event-emitter.js.map +0 -1
  1264. package/dist/collection/components/slides/lib/js/utils/gestures.js.map +0 -1
  1265. package/dist/collection/components/slides/lib/js/utils/get-size.js.map +0 -1
  1266. package/dist/collection/components/slides/lib/js/utils/utils.js.map +0 -1
  1267. package/dist/collection/components/slides/slide.js.map +0 -1
  1268. package/dist/collection/components/slides/slides.js.map +0 -1
  1269. package/dist/collection/components/sortable/sortable.js.map +0 -1
  1270. package/dist/collection/components/spinner/spinner.js.map +0 -1
  1271. package/dist/collection/components/split-pane/split-pane.js.map +0 -1
  1272. package/dist/collection/components/sticker/sticker.js.map +0 -1
  1273. package/dist/collection/components/table/table.cell.js +0 -113
  1274. package/dist/collection/components/table/table.cell.js.map +0 -1
  1275. package/dist/collection/components/table/table.constants.js +0 -5
  1276. package/dist/collection/components/table/table.constants.js.map +0 -1
  1277. package/dist/collection/components/table/table.header.js +0 -63
  1278. package/dist/collection/components/table/table.header.js.map +0 -1
  1279. package/dist/collection/components/table/table.js.map +0 -1
  1280. package/dist/collection/components/table/table.pin-service.js +0 -389
  1281. package/dist/collection/components/table/table.pin-service.js.map +0 -1
  1282. package/dist/collection/components/table/table.row.js +0 -113
  1283. package/dist/collection/components/table/table.row.js.map +0 -1
  1284. package/dist/collection/components/table/table.store.js +0 -145
  1285. package/dist/collection/components/table/table.store.js.map +0 -1
  1286. package/dist/collection/components/table/table.utils.js +0 -157
  1287. package/dist/collection/components/table/table.utils.js.map +0 -1
  1288. package/dist/collection/components/table/table.worker.js +0 -221
  1289. package/dist/collection/components/table/table.worker.js.map +0 -1
  1290. package/dist/collection/components/tabs/tab-content.js.map +0 -1
  1291. package/dist/collection/components/tabs/tab-group.js.map +0 -1
  1292. package/dist/collection/components/tabs/tab.js.map +0 -1
  1293. package/dist/collection/components/tooltip/tooltip.js.map +0 -1
  1294. package/dist/collection/global/script/global.js.map +0 -1
  1295. package/dist/collection/index.js.map +0 -1
  1296. package/dist/collection/types/shared.js.map +0 -1
  1297. package/dist/collection/utils/active-element.js.map +0 -1
  1298. package/dist/collection/utils/constructible-style.js.map +0 -1
  1299. package/dist/collection/utils/custom-template.js.map +0 -1
  1300. package/dist/collection/utils/date-utils.js.map +0 -1
  1301. package/dist/collection/utils/dom.js.map +0 -1
  1302. package/dist/collection/utils/drag.js.map +0 -1
  1303. package/dist/collection/utils/events.js.map +0 -1
  1304. package/dist/collection/utils/fetch.js.map +0 -1
  1305. package/dist/collection/utils/focus-visible.js +0 -63
  1306. package/dist/collection/utils/focus-visible.js.map +0 -1
  1307. package/dist/collection/utils/form.js.map +0 -1
  1308. package/dist/collection/utils/gesture/gesture-controller.js.map +0 -1
  1309. package/dist/collection/utils/gesture/index.js.map +0 -1
  1310. package/dist/collection/utils/gesture/listener.js.map +0 -1
  1311. package/dist/collection/utils/gesture/pointer-events.js.map +0 -1
  1312. package/dist/collection/utils/gesture/recognizers.js.map +0 -1
  1313. package/dist/collection/utils/gesture/swipe-back.js.map +0 -1
  1314. package/dist/collection/utils/math.js.map +0 -1
  1315. package/dist/collection/utils/modal.js.map +0 -1
  1316. package/dist/collection/utils/popover.js.map +0 -1
  1317. package/dist/collection/utils/promise-queue.js.map +0 -1
  1318. package/dist/collection/utils/renderer.js.map +0 -1
  1319. package/dist/collection/utils/scroll-parent.js +0 -26
  1320. package/dist/collection/utils/scroll-parent.js.map +0 -1
  1321. package/dist/collection/utils/scroll.js.map +0 -1
  1322. package/dist/collection/utils/search-insights.js.map +0 -1
  1323. package/dist/collection/utils/slot.js.map +0 -1
  1324. package/dist/collection/utils/store/component-store.js.map +0 -1
  1325. package/dist/collection/utils/store/get-set.js.map +0 -1
  1326. package/dist/collection/utils/tabbable.js.map +0 -1
  1327. package/dist/collection/utils/testing/index.js.map +0 -1
  1328. package/dist/collection/utils/theme.js.map +0 -1
  1329. package/dist/collection/utils/throttle.js.map +0 -1
  1330. package/dist/collection/utils/transitions.js.map +0 -1
  1331. package/dist/components/active-element.js.map +0 -1
  1332. package/dist/components/algolia-data.js.map +0 -1
  1333. package/dist/components/algolia.js.map +0 -1
  1334. package/dist/components/algoliasearch-lite.esm.browser.js +0 -966
  1335. package/dist/components/algoliasearch-lite.esm.browser.js.map +0 -1
  1336. package/dist/components/component-store.js.map +0 -1
  1337. package/dist/components/datalist.js.map +0 -1
  1338. package/dist/components/date-picker.js.map +0 -1
  1339. package/dist/components/dom.js.map +0 -1
  1340. package/dist/components/drag.js.map +0 -1
  1341. package/dist/components/dropdown.js.map +0 -1
  1342. package/dist/components/events.js.map +0 -1
  1343. package/dist/components/fade.js.map +0 -1
  1344. package/dist/components/focus-visible.js +0 -66
  1345. package/dist/components/focus-visible.js.map +0 -1
  1346. package/dist/components/form-control.js.map +0 -1
  1347. package/dist/components/fullscreen.js.map +0 -1
  1348. package/dist/components/global-nav-user-profile.js +0 -50
  1349. package/dist/components/global-nav-user-profile.js.map +0 -1
  1350. package/dist/components/grid.js.map +0 -1
  1351. package/dist/components/icon-button.js.map +0 -1
  1352. package/dist/components/icon.js.map +0 -1
  1353. package/dist/components/img.js.map +0 -1
  1354. package/dist/components/index-browser.js.map +0 -1
  1355. package/dist/components/index.js.map +0 -1
  1356. package/dist/components/index2.js.map +0 -1
  1357. package/dist/components/index3.js.map +0 -1
  1358. package/dist/components/input.js.map +0 -1
  1359. package/dist/components/lazyload.js.map +0 -1
  1360. package/dist/components/local-my-account.js +0 -462
  1361. package/dist/components/local-my-account.js.map +0 -1
  1362. package/dist/components/math.js.map +0 -1
  1363. package/dist/components/menu.js.map +0 -1
  1364. package/dist/components/modal.js.map +0 -1
  1365. package/dist/components/nano-accordion.js.map +0 -1
  1366. package/dist/components/nano-alert.js.map +0 -1
  1367. package/dist/components/nano-algolia-filter.js.map +0 -1
  1368. package/dist/components/nano-algolia-pagination.js.map +0 -1
  1369. package/dist/components/nano-algolia-results.js.map +0 -1
  1370. package/dist/components/nano-algolia.js.map +0 -1
  1371. package/dist/components/nano-animation.js.map +0 -1
  1372. package/dist/components/nano-checkbox-group.js.map +0 -1
  1373. package/dist/components/nano-checkbox.js.map +0 -1
  1374. package/dist/components/nano-datalist.js.map +0 -1
  1375. package/dist/components/nano-date-input.js.map +0 -1
  1376. package/dist/components/nano-date-picker.js.map +0 -1
  1377. package/dist/components/nano-details.js.map +0 -1
  1378. package/dist/components/nano-dialog.js.map +0 -1
  1379. package/dist/components/nano-drawer.js.map +0 -1
  1380. package/dist/components/nano-dropdown.js.map +0 -1
  1381. package/dist/components/nano-field-validator.js.map +0 -1
  1382. package/dist/components/nano-file-upload.js.map +0 -1
  1383. package/dist/components/nano-global-nav-user-profile.d.ts +0 -11
  1384. package/dist/components/nano-global-nav-user-profile.js +0 -11
  1385. package/dist/components/nano-global-nav-user-profile.js.map +0 -1
  1386. package/dist/components/nano-global-nav.js.map +0 -1
  1387. package/dist/components/nano-global-search-results.js.map +0 -1
  1388. package/dist/components/nano-grid-item.js.map +0 -1
  1389. package/dist/components/nano-grid.js.map +0 -1
  1390. package/dist/components/nano-hero.js.map +0 -1
  1391. package/dist/components/nano-icon-button.js.map +0 -1
  1392. package/dist/components/nano-icon.js.map +0 -1
  1393. package/dist/components/nano-img.js.map +0 -1
  1394. package/dist/components/nano-input.js.map +0 -1
  1395. package/dist/components/nano-intersection-observe.js.map +0 -1
  1396. package/dist/components/nano-menu-drawer.js.map +0 -1
  1397. package/dist/components/nano-menu.js.map +0 -1
  1398. package/dist/components/nano-more-less.js.map +0 -1
  1399. package/dist/components/nano-nav-item.js.map +0 -1
  1400. package/dist/components/nano-option.js.map +0 -1
  1401. package/dist/components/nano-overflow-nav.d.ts +0 -11
  1402. package/dist/components/nano-overflow-nav.js +0 -390
  1403. package/dist/components/nano-overflow-nav.js.map +0 -1
  1404. package/dist/components/nano-progress-bar.js.map +0 -1
  1405. package/dist/components/nano-range.js.map +0 -1
  1406. package/dist/components/nano-rating.js.map +0 -1
  1407. package/dist/components/nano-resize-observe.js.map +0 -1
  1408. package/dist/components/nano-select.js.map +0 -1
  1409. package/dist/components/nano-skeleton.js.map +0 -1
  1410. package/dist/components/nano-slide.js.map +0 -1
  1411. package/dist/components/nano-slides.js.map +0 -1
  1412. package/dist/components/nano-sortable.js.map +0 -1
  1413. package/dist/components/nano-spinner.js.map +0 -1
  1414. package/dist/components/nano-split-pane.js.map +0 -1
  1415. package/dist/components/nano-sticker.js.map +0 -1
  1416. package/dist/components/nano-tab-content.js.map +0 -1
  1417. package/dist/components/nano-tab-group.js.map +0 -1
  1418. package/dist/components/nano-tab.js.map +0 -1
  1419. package/dist/components/nano-table.js.map +0 -1
  1420. package/dist/components/nano-tooltip.js.map +0 -1
  1421. package/dist/components/nav-item.js.map +0 -1
  1422. package/dist/components/option.js.map +0 -1
  1423. package/dist/components/page-dots.js.map +0 -1
  1424. package/dist/components/popover.js.map +0 -1
  1425. package/dist/components/progress-bar.js.map +0 -1
  1426. package/dist/components/renderer.js.map +0 -1
  1427. package/dist/components/resize-observe.js.map +0 -1
  1428. package/dist/components/scroll-parent.js +0 -29
  1429. package/dist/components/scroll-parent.js.map +0 -1
  1430. package/dist/components/scroll.js.map +0 -1
  1431. package/dist/components/search-insights.js +0 -51
  1432. package/dist/components/search-insights.js.map +0 -1
  1433. package/dist/components/select.js.map +0 -1
  1434. package/dist/components/skeleton.js.map +0 -1
  1435. package/dist/components/slot.js.map +0 -1
  1436. package/dist/components/spinner.js.map +0 -1
  1437. package/dist/components/sticker.js.map +0 -1
  1438. package/dist/components/tabbable.js.map +0 -1
  1439. package/dist/components/table.worker.js.map +0 -1
  1440. package/dist/components/theme.js.map +0 -1
  1441. package/dist/components/throttle.js.map +0 -1
  1442. package/dist/components/tooltip.js.map +0 -1
  1443. package/dist/components/transitions.js +0 -60
  1444. package/dist/components/transitions.js.map +0 -1
  1445. package/dist/esm/active-element-a2502948.js +0 -19
  1446. package/dist/esm/active-element-a2502948.js.map +0 -1
  1447. package/dist/esm/algolia-data-f0f72f1d.js +0 -49
  1448. package/dist/esm/algolia-data-f0f72f1d.js.map +0 -1
  1449. package/dist/esm/algoliasearch-lite.esm.browser-0f71b631.js +0 -966
  1450. package/dist/esm/algoliasearch-lite.esm.browser-0f71b631.js.map +0 -1
  1451. package/dist/esm/app-globals-f0120bbe.js +0 -39
  1452. package/dist/esm/app-globals-f0120bbe.js.map +0 -1
  1453. package/dist/esm/component-store-199a9fd8.js +0 -323
  1454. package/dist/esm/component-store-199a9fd8.js.map +0 -1
  1455. package/dist/esm/date-utils-1e39c114.js +0 -219
  1456. package/dist/esm/date-utils-1e39c114.js.map +0 -1
  1457. package/dist/esm/dom-fafdec9a.js +0 -78
  1458. package/dist/esm/dom-fafdec9a.js.map +0 -1
  1459. package/dist/esm/drag-9d765d2d.js +0 -72
  1460. package/dist/esm/drag-9d765d2d.js.map +0 -1
  1461. package/dist/esm/events-f38f3e59.js +0 -36
  1462. package/dist/esm/events-f38f3e59.js.map +0 -1
  1463. package/dist/esm/fade-ce1a4958.js +0 -212
  1464. package/dist/esm/fade-ce1a4958.js.map +0 -1
  1465. package/dist/esm/focus-visible-e5f02c46.js +0 -66
  1466. package/dist/esm/focus-visible-e5f02c46.js.map +0 -1
  1467. package/dist/esm/form-control-f48fa873.js +0 -79
  1468. package/dist/esm/form-control-f48fa873.js.map +0 -1
  1469. package/dist/esm/fullscreen-52d62028.js +0 -132
  1470. package/dist/esm/fullscreen-52d62028.js.map +0 -1
  1471. package/dist/esm/index-6cc72cd9.js +0 -3045
  1472. package/dist/esm/index-6cc72cd9.js.map +0 -1
  1473. package/dist/esm/index-a2043fcd.js +0 -657
  1474. package/dist/esm/index-a2043fcd.js.map +0 -1
  1475. package/dist/esm/index-browser-8c563093.js +0 -8
  1476. package/dist/esm/index-browser-8c563093.js.map +0 -1
  1477. package/dist/esm/index-f5f7b950.js +0 -198
  1478. package/dist/esm/index-f5f7b950.js.map +0 -1
  1479. package/dist/esm/index.js.map +0 -1
  1480. package/dist/esm/lazyload-8ff69ba4.js +0 -94
  1481. package/dist/esm/lazyload-8ff69ba4.js.map +0 -1
  1482. package/dist/esm/loader.js.map +0 -1
  1483. package/dist/esm/local-my-account-3ba1ec04.js +0 -462
  1484. package/dist/esm/local-my-account-3ba1ec04.js.map +0 -1
  1485. package/dist/esm/math-d160f8a6.js +0 -38
  1486. package/dist/esm/math-d160f8a6.js.map +0 -1
  1487. package/dist/esm/modal-02828a39.js +0 -49
  1488. package/dist/esm/modal-02828a39.js.map +0 -1
  1489. package/dist/esm/nano-accordion.entry.js.map +0 -1
  1490. package/dist/esm/nano-alert.entry.js.map +0 -1
  1491. package/dist/esm/nano-algolia-filter.entry.js.map +0 -1
  1492. package/dist/esm/nano-algolia-pagination.entry.js.map +0 -1
  1493. package/dist/esm/nano-algolia-results.entry.js.map +0 -1
  1494. package/dist/esm/nano-algolia.entry.js.map +0 -1
  1495. package/dist/esm/nano-animation.entry.js.map +0 -1
  1496. package/dist/esm/nano-checkbox-group.entry.js.map +0 -1
  1497. package/dist/esm/nano-checkbox.entry.js.map +0 -1
  1498. package/dist/esm/nano-components.js.map +0 -1
  1499. package/dist/esm/nano-datalist_3.entry.js.map +0 -1
  1500. package/dist/esm/nano-date-input.entry.js.map +0 -1
  1501. package/dist/esm/nano-date-picker.entry.js +0 -389
  1502. package/dist/esm/nano-date-picker.entry.js.map +0 -1
  1503. package/dist/esm/nano-details.entry.js.map +0 -1
  1504. package/dist/esm/nano-dialog.entry.js.map +0 -1
  1505. package/dist/esm/nano-drawer.entry.js +0 -285
  1506. package/dist/esm/nano-drawer.entry.js.map +0 -1
  1507. package/dist/esm/nano-dropdown.entry.js +0 -369
  1508. package/dist/esm/nano-dropdown.entry.js.map +0 -1
  1509. package/dist/esm/nano-field-validator.entry.js.map +0 -1
  1510. package/dist/esm/nano-file-upload.entry.js.map +0 -1
  1511. package/dist/esm/nano-global-nav-user-profile_3.entry.js +0 -1101
  1512. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +0 -1
  1513. package/dist/esm/nano-global-nav.entry.js.map +0 -1
  1514. package/dist/esm/nano-global-search-results.entry.js +0 -632
  1515. package/dist/esm/nano-global-search-results.entry.js.map +0 -1
  1516. package/dist/esm/nano-grid-item.entry.js.map +0 -1
  1517. package/dist/esm/nano-grid_2.entry.js.map +0 -1
  1518. package/dist/esm/nano-hero.entry.js.map +0 -1
  1519. package/dist/esm/nano-icon-button_2.entry.js +0 -336
  1520. package/dist/esm/nano-icon-button_2.entry.js.map +0 -1
  1521. package/dist/esm/nano-icon.entry.js +0 -316
  1522. package/dist/esm/nano-icon.entry.js.map +0 -1
  1523. package/dist/esm/nano-input.entry.js +0 -544
  1524. package/dist/esm/nano-input.entry.js.map +0 -1
  1525. package/dist/esm/nano-intersection-observe.entry.js.map +0 -1
  1526. package/dist/esm/nano-menu-drawer.entry.js.map +0 -1
  1527. package/dist/esm/nano-more-less.entry.js.map +0 -1
  1528. package/dist/esm/nano-overflow-nav.entry.js +0 -338
  1529. package/dist/esm/nano-overflow-nav.entry.js.map +0 -1
  1530. package/dist/esm/nano-progress-bar.entry.js.map +0 -1
  1531. package/dist/esm/nano-range.entry.js.map +0 -1
  1532. package/dist/esm/nano-rating.entry.js.map +0 -1
  1533. package/dist/esm/nano-resize-observe_2.entry.js.map +0 -1
  1534. package/dist/esm/nano-slide.entry.js.map +0 -1
  1535. package/dist/esm/nano-slides-2715825b.js +0 -3038
  1536. package/dist/esm/nano-slides-2715825b.js.map +0 -1
  1537. package/dist/esm/nano-slides.entry.js.map +0 -1
  1538. package/dist/esm/nano-sortable.entry.js.map +0 -1
  1539. package/dist/esm/nano-spinner.entry.js.map +0 -1
  1540. package/dist/esm/nano-split-pane.entry.js.map +0 -1
  1541. package/dist/esm/nano-sticker.entry.js.map +0 -1
  1542. package/dist/esm/nano-tab-content.entry.js.map +0 -1
  1543. package/dist/esm/nano-tab-group.entry.js.map +0 -1
  1544. package/dist/esm/nano-tab.entry.js.map +0 -1
  1545. package/dist/esm/nano-table-3965ddd0.js +0 -1877
  1546. package/dist/esm/nano-table-3965ddd0.js.map +0 -1
  1547. package/dist/esm/nano-table.entry.js.map +0 -1
  1548. package/dist/esm/page-dots-5b23db8c.js +0 -139
  1549. package/dist/esm/page-dots-5b23db8c.js.map +0 -1
  1550. package/dist/esm/popover-30ce6cac.js +0 -1930
  1551. package/dist/esm/popover-30ce6cac.js.map +0 -1
  1552. package/dist/esm/renderer-4bc3e2dc.js +0 -58
  1553. package/dist/esm/renderer-4bc3e2dc.js.map +0 -1
  1554. package/dist/esm/scroll-1afc6a4e.js +0 -124
  1555. package/dist/esm/scroll-1afc6a4e.js.map +0 -1
  1556. package/dist/esm/scroll-parent-be39fbd0.js +0 -29
  1557. package/dist/esm/scroll-parent-be39fbd0.js.map +0 -1
  1558. package/dist/esm/search-insights-1a7b7dc5.js +0 -51
  1559. package/dist/esm/search-insights-1a7b7dc5.js.map +0 -1
  1560. package/dist/esm/slot-1cd90e53.js +0 -58
  1561. package/dist/esm/slot-1cd90e53.js.map +0 -1
  1562. package/dist/esm/tabbable-44932eb7.js +0 -109
  1563. package/dist/esm/tabbable-44932eb7.js.map +0 -1
  1564. package/dist/esm/table.worker-8e04f768.js +0 -29
  1565. package/dist/esm/table.worker-8e04f768.js.map +0 -1
  1566. package/dist/esm/table.worker-da5412ed.js +0 -4
  1567. package/dist/esm/theme-d553c17a.js +0 -46
  1568. package/dist/esm/theme-d553c17a.js.map +0 -1
  1569. package/dist/esm/throttle-df960210.js +0 -50
  1570. package/dist/esm/throttle-df960210.js.map +0 -1
  1571. package/dist/esm/transitions-c09bd7f6.js +0 -60
  1572. package/dist/esm/transitions-c09bd7f6.js.map +0 -1
  1573. package/dist/generators/custom-element-doc-generator.js +0 -75
  1574. package/dist/generators/custom-element-doc-generator.js.map +0 -1
  1575. package/dist/generators/vue/generate-vue-component.js +0 -74
  1576. package/dist/generators/vue/generate-vue-component.js.map +0 -1
  1577. package/dist/generators/vue/index.js +0 -5
  1578. package/dist/generators/vue/index.js.map +0 -1
  1579. package/dist/generators/vue/output-vue.js +0 -96
  1580. package/dist/generators/vue/output-vue.js.map +0 -1
  1581. package/dist/generators/vue/plugin.js +0 -44
  1582. package/dist/generators/vue/plugin.js.map +0 -1
  1583. package/dist/generators/vue/types.js +0 -2
  1584. package/dist/generators/vue/types.js.map +0 -1
  1585. package/dist/generators/vue/utils.js +0 -82
  1586. package/dist/generators/vue/utils.js.map +0 -1
  1587. package/dist/nano-assets/fonts/jp/noto-sans-jp-v53-japanese-500.woff2 +0 -0
  1588. package/dist/nano-assets/fonts/latin/noto-sans-v38-latin-500.woff2 +0 -0
  1589. package/dist/nano-assets/fonts/latin/noto-sans-v38-latin-500italic.woff2 +0 -0
  1590. package/dist/nano-assets/fonts/sc/noto-sans-sc-v37-chinese-simplified-500.woff2 +0 -0
  1591. package/dist/nano-assets/local-my-account.json +0 -447
  1592. package/dist/nano-components/active-element-a2502948.js +0 -5
  1593. package/dist/nano-components/active-element-a2502948.js.map +0 -1
  1594. package/dist/nano-components/algolia-data-f0f72f1d.js +0 -5
  1595. package/dist/nano-components/algolia-data-f0f72f1d.js.map +0 -1
  1596. package/dist/nano-components/algoliasearch-lite.esm.browser-0f71b631.js +0 -5
  1597. package/dist/nano-components/algoliasearch-lite.esm.browser-0f71b631.js.map +0 -1
  1598. package/dist/nano-components/app-globals-f0120bbe.js +0 -5
  1599. package/dist/nano-components/app-globals-f0120bbe.js.map +0 -1
  1600. package/dist/nano-components/assets/local-my-account.json +0 -447
  1601. package/dist/nano-components/component-store-199a9fd8.js +0 -5
  1602. package/dist/nano-components/component-store-199a9fd8.js.map +0 -1
  1603. package/dist/nano-components/date-utils-1e39c114.js +0 -5
  1604. package/dist/nano-components/date-utils-1e39c114.js.map +0 -1
  1605. package/dist/nano-components/dom-fafdec9a.js +0 -5
  1606. package/dist/nano-components/dom-fafdec9a.js.map +0 -1
  1607. package/dist/nano-components/drag-9d765d2d.js +0 -5
  1608. package/dist/nano-components/drag-9d765d2d.js.map +0 -1
  1609. package/dist/nano-components/events-f38f3e59.js +0 -5
  1610. package/dist/nano-components/events-f38f3e59.js.map +0 -1
  1611. package/dist/nano-components/fade-ce1a4958.js +0 -5
  1612. package/dist/nano-components/fade-ce1a4958.js.map +0 -1
  1613. package/dist/nano-components/focus-visible-e5f02c46.js +0 -5
  1614. package/dist/nano-components/focus-visible-e5f02c46.js.map +0 -1
  1615. package/dist/nano-components/form-control-f48fa873.js +0 -5
  1616. package/dist/nano-components/form-control-f48fa873.js.map +0 -1
  1617. package/dist/nano-components/fullscreen-52d62028.js +0 -5
  1618. package/dist/nano-components/fullscreen-52d62028.js.map +0 -1
  1619. package/dist/nano-components/index-6cc72cd9.js +0 -6
  1620. package/dist/nano-components/index-6cc72cd9.js.map +0 -1
  1621. package/dist/nano-components/index-a2043fcd.js +0 -5
  1622. package/dist/nano-components/index-a2043fcd.js.map +0 -1
  1623. package/dist/nano-components/index-browser-8c563093.js +0 -5
  1624. package/dist/nano-components/index-browser-8c563093.js.map +0 -1
  1625. package/dist/nano-components/index-f5f7b950.js +0 -5
  1626. package/dist/nano-components/index-f5f7b950.js.map +0 -1
  1627. package/dist/nano-components/index.esm.js.map +0 -1
  1628. package/dist/nano-components/lazyload-8ff69ba4.js +0 -5
  1629. package/dist/nano-components/lazyload-8ff69ba4.js.map +0 -1
  1630. package/dist/nano-components/local-my-account-3ba1ec04.js +0 -5
  1631. package/dist/nano-components/local-my-account-3ba1ec04.js.map +0 -1
  1632. package/dist/nano-components/math-d160f8a6.js +0 -5
  1633. package/dist/nano-components/math-d160f8a6.js.map +0 -1
  1634. package/dist/nano-components/modal-02828a39.js +0 -5
  1635. package/dist/nano-components/modal-02828a39.js.map +0 -1
  1636. package/dist/nano-components/nano-accordion.entry.js.map +0 -1
  1637. package/dist/nano-components/nano-alert.entry.js.map +0 -1
  1638. package/dist/nano-components/nano-algolia-filter.entry.js.map +0 -1
  1639. package/dist/nano-components/nano-algolia-pagination.entry.js.map +0 -1
  1640. package/dist/nano-components/nano-algolia-results.entry.js.map +0 -1
  1641. package/dist/nano-components/nano-algolia.entry.js.map +0 -1
  1642. package/dist/nano-components/nano-animation.entry.js.map +0 -1
  1643. package/dist/nano-components/nano-checkbox-group.entry.js.map +0 -1
  1644. package/dist/nano-components/nano-checkbox.entry.js.map +0 -1
  1645. package/dist/nano-components/nano-components.esm.js.map +0 -1
  1646. package/dist/nano-components/nano-datalist_3.entry.js.map +0 -1
  1647. package/dist/nano-components/nano-date-input.entry.js.map +0 -1
  1648. package/dist/nano-components/nano-date-picker.entry.js +0 -5
  1649. package/dist/nano-components/nano-date-picker.entry.js.map +0 -1
  1650. package/dist/nano-components/nano-details.entry.js.map +0 -1
  1651. package/dist/nano-components/nano-dialog.entry.js.map +0 -1
  1652. package/dist/nano-components/nano-drawer.entry.js +0 -5
  1653. package/dist/nano-components/nano-drawer.entry.js.map +0 -1
  1654. package/dist/nano-components/nano-dropdown.entry.js +0 -5
  1655. package/dist/nano-components/nano-dropdown.entry.js.map +0 -1
  1656. package/dist/nano-components/nano-field-validator.entry.js.map +0 -1
  1657. package/dist/nano-components/nano-file-upload.entry.js.map +0 -1
  1658. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +0 -5
  1659. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +0 -1
  1660. package/dist/nano-components/nano-global-nav.entry.js.map +0 -1
  1661. package/dist/nano-components/nano-global-search-results.entry.js +0 -5
  1662. package/dist/nano-components/nano-global-search-results.entry.js.map +0 -1
  1663. package/dist/nano-components/nano-grid-item.entry.js.map +0 -1
  1664. package/dist/nano-components/nano-grid_2.entry.js.map +0 -1
  1665. package/dist/nano-components/nano-hero.entry.js.map +0 -1
  1666. package/dist/nano-components/nano-icon-button_2.entry.js +0 -5
  1667. package/dist/nano-components/nano-icon-button_2.entry.js.map +0 -1
  1668. package/dist/nano-components/nano-icon.entry.js +0 -5
  1669. package/dist/nano-components/nano-icon.entry.js.map +0 -1
  1670. package/dist/nano-components/nano-input.entry.js +0 -5
  1671. package/dist/nano-components/nano-input.entry.js.map +0 -1
  1672. package/dist/nano-components/nano-intersection-observe.entry.js.map +0 -1
  1673. package/dist/nano-components/nano-menu-drawer.entry.js.map +0 -1
  1674. package/dist/nano-components/nano-more-less.entry.js.map +0 -1
  1675. package/dist/nano-components/nano-overflow-nav.entry.js +0 -5
  1676. package/dist/nano-components/nano-overflow-nav.entry.js.map +0 -1
  1677. package/dist/nano-components/nano-progress-bar.entry.js.map +0 -1
  1678. package/dist/nano-components/nano-range.entry.js.map +0 -1
  1679. package/dist/nano-components/nano-rating.entry.js.map +0 -1
  1680. package/dist/nano-components/nano-resize-observe_2.entry.js.map +0 -1
  1681. package/dist/nano-components/nano-slide.entry.js.map +0 -1
  1682. package/dist/nano-components/nano-slides-2715825b.js +0 -20
  1683. package/dist/nano-components/nano-slides-2715825b.js.map +0 -1
  1684. package/dist/nano-components/nano-slides.entry.js.map +0 -1
  1685. package/dist/nano-components/nano-sortable.entry.js.map +0 -1
  1686. package/dist/nano-components/nano-spinner.entry.js.map +0 -1
  1687. package/dist/nano-components/nano-split-pane.entry.js.map +0 -1
  1688. package/dist/nano-components/nano-sticker.entry.js.map +0 -1
  1689. package/dist/nano-components/nano-tab-content.entry.js.map +0 -1
  1690. package/dist/nano-components/nano-tab-group.entry.js.map +0 -1
  1691. package/dist/nano-components/nano-tab.entry.js.map +0 -1
  1692. package/dist/nano-components/nano-table-3965ddd0.js +0 -5
  1693. package/dist/nano-components/nano-table-3965ddd0.js.map +0 -1
  1694. package/dist/nano-components/nano-table.entry.js.map +0 -1
  1695. package/dist/nano-components/page-dots-5b23db8c.js +0 -5
  1696. package/dist/nano-components/page-dots-5b23db8c.js.map +0 -1
  1697. package/dist/nano-components/popover-30ce6cac.js +0 -5
  1698. package/dist/nano-components/popover-30ce6cac.js.map +0 -1
  1699. package/dist/nano-components/renderer-4bc3e2dc.js +0 -5
  1700. package/dist/nano-components/renderer-4bc3e2dc.js.map +0 -1
  1701. package/dist/nano-components/scroll-1afc6a4e.js +0 -5
  1702. package/dist/nano-components/scroll-1afc6a4e.js.map +0 -1
  1703. package/dist/nano-components/scroll-parent-be39fbd0.js +0 -5
  1704. package/dist/nano-components/scroll-parent-be39fbd0.js.map +0 -1
  1705. package/dist/nano-components/search-insights-1a7b7dc5.js +0 -5
  1706. package/dist/nano-components/search-insights-1a7b7dc5.js.map +0 -1
  1707. package/dist/nano-components/slot-1cd90e53.js +0 -5
  1708. package/dist/nano-components/slot-1cd90e53.js.map +0 -1
  1709. package/dist/nano-components/tabbable-44932eb7.js +0 -5
  1710. package/dist/nano-components/tabbable-44932eb7.js.map +0 -1
  1711. package/dist/nano-components/table.worker-8e04f768.js +0 -5
  1712. package/dist/nano-components/table.worker-8e04f768.js.map +0 -1
  1713. package/dist/nano-components/table.worker-da5412ed.js +0 -4
  1714. package/dist/nano-components/theme-d553c17a.js +0 -5
  1715. package/dist/nano-components/theme-d553c17a.js.map +0 -1
  1716. package/dist/nano-components/throttle-df960210.js +0 -5
  1717. package/dist/nano-components/throttle-df960210.js.map +0 -1
  1718. package/dist/nano-components/transitions-c09bd7f6.js +0 -5
  1719. package/dist/nano-components/transitions-c09bd7f6.js.map +0 -1
  1720. package/dist/stencil.config.js.map +0 -1
  1721. package/dist/stencil.config.prod.js.map +0 -1
  1722. package/dist/testing/mocks/intersection-observer.js.map +0 -1
  1723. package/dist/themes/base/normalize.css +0 -1
  1724. package/dist/themes/base/normalize.css.map +0 -1
  1725. package/dist/themes/base/noto-sans-jp.css +0 -1
  1726. package/dist/themes/base/noto-sans-jp.css.map +0 -1
  1727. package/dist/themes/base/noto-sans-sc.css +0 -1
  1728. package/dist/themes/base/noto-sans-sc.css.map +0 -1
  1729. package/dist/themes/base/noto-sans.css +0 -1
  1730. package/dist/themes/base/noto-sans.css.map +0 -1
  1731. package/dist/themes/base/structure.css +0 -1
  1732. package/dist/themes/base/structure.css.map +0 -1
  1733. package/dist/themes/london-calling.css +0 -1
  1734. package/dist/themes/london-calling.css.map +0 -1
  1735. package/dist/themes/nanopore.css +0 -1
  1736. package/dist/themes/nanopore.css.map +0 -1
  1737. package/dist/types/builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/custom-element-doc-generator.d.ts +0 -8
  1738. package/dist/types/builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/stencil.config.d.ts +0 -2
  1739. package/dist/types/builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/stencil.config.prod.d.ts +0 -2
  1740. package/dist/types/components/global-nav/global-nav-user-profile.d.ts +0 -16
  1741. package/dist/types/components/overflow-nav/overflow-nav.d.ts +0 -89
  1742. package/dist/types/components/table/table-interface.d.ts +0 -278
  1743. package/dist/types/components/table/table.store.d.ts +0 -24
  1744. package/dist/types/components/table/table.utils.d.ts +0 -70
  1745. package/dist/types/utils/focus-visible.d.ts +0 -8
  1746. package/dist/types/utils/scroll-parent.d.ts +0 -6
  1747. package/dist/wdio.conf.js.map +0 -1
  1748. package/themes/base/normalize.css +0 -1
  1749. package/themes/base/normalize.css.map +0 -1
  1750. package/themes/base/noto-sans-jp.css +0 -1
  1751. package/themes/base/noto-sans-jp.css.map +0 -1
  1752. package/themes/base/noto-sans-sc.css +0 -1
  1753. package/themes/base/noto-sans-sc.css.map +0 -1
  1754. package/themes/base/noto-sans.css +0 -1
  1755. package/themes/base/noto-sans.css.map +0 -1
  1756. package/themes/base/structure.css +0 -1
  1757. package/themes/base/structure.css.map +0 -1
  1758. package/themes/london-calling.css +0 -1
  1759. package/themes/london-calling.css.map +0 -1
  1760. package/themes/nanopore.css +0 -1
  1761. package/themes/nanopore.css.map +0 -1
  1762. /package/dist/nano-assets/{fonts/jp/noto-sans-jp-v53-japanese-700.woff2 → font/jp/noto-sans-jp-v53-japanese_latin-700.woff2} +0 -0
  1763. /package/dist/nano-assets/{fonts/jp/noto-sans-jp-v53-japanese-regular.woff2 → font/jp/noto-sans-jp-v53-japanese_latin-regular.woff2} +0 -0
  1764. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-700.woff2 +0 -0
  1765. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-700italic.woff2 +0 -0
  1766. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-italic.woff2 +0 -0
  1767. /package/dist/nano-assets/{fonts → font}/latin/noto-sans-v38-latin-regular.woff2 +0 -0
  1768. /package/dist/nano-assets/{fonts/sc/noto-sans-sc-v37-chinese-simplified-700.woff2 → font/sc/noto-sans-sc-v37-chinese-simplified_latin-700.woff2} +0 -0
  1769. /package/dist/nano-assets/{fonts/sc/noto-sans-sc-v37-chinese-simplified-regular.woff2 → font/sc/noto-sans-sc-v37-chinese-simplified_latin-regular.woff2} +0 -0
  1770. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/generate-vue-component.d.ts +0 -0
  1771. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/index.d.ts +0 -0
  1772. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/output-vue.d.ts +0 -0
  1773. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/plugin.d.ts +0 -0
  1774. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/types.d.ts +0 -0
  1775. /package/dist/types/{builds/6SyqsxUA/0/Digital/nano-components/packages/components/.stencil/generators/vue → Users/John.Jenkins/projects/nano-components/packages/components/.stencil/plugins/stencil/vue-output}/utils.d.ts +0 -0
  1776. /package/dist/types/{builds/6SyqsxUA/0/Digital → Users/John.Jenkins/projects}/nano-components/packages/components/.stencil/testing/mocks/intersection-observer.d.ts +0 -0
  1777. /package/dist/types/{builds/6SyqsxUA/0/Digital → Users/John.Jenkins/projects}/nano-components/packages/components/.stencil/wdio.conf.d.ts +0 -0
  1778. /package/dist/types/components/{table → data-table}/table.cell.d.ts +0 -0
  1779. /package/dist/types/components/{table → data-table}/table.constants.d.ts +0 -0
  1780. /package/dist/types/components/{table → data-table}/table.header.d.ts +0 -0
  1781. /package/dist/types/components/{table → data-table}/table.pin-service.d.ts +0 -0
  1782. /package/dist/types/components/{table → data-table}/table.row.d.ts +0 -0
  1783. /package/dist/types/components/{table → data-table}/table.worker.d.ts +0 -0
@@ -1,26 +0,0 @@
1
- /*!
2
- * Web Components for Nanopore digital Web Apps
3
- */
4
- /**
5
- * Attempts to find the closest scrolling parental element
6
- * @param element - the element from which to traverse up the DOM
7
- * @returns - the closest scrolling parental element
8
- */
9
- export function findScrollParent(element) {
10
- let style = getComputedStyle(element);
11
- const excludeStaticParent = style.position === 'absolute';
12
- const overflowRegex = /(auto|scroll)/;
13
- if (style.position === 'fixed')
14
- return document.documentElement;
15
- for (let parent = element; (parent = parent.parentElement);) {
16
- style = getComputedStyle(parent);
17
- if (excludeStaticParent && style.position === 'static') {
18
- continue;
19
- }
20
- if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) {
21
- return parent;
22
- }
23
- }
24
- return document.documentElement;
25
- }
26
- //# sourceMappingURL=scroll-parent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scroll-parent.js","sourceRoot":"","sources":["../../../src/utils/scroll-parent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAoB;IACnD,IAAI,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,mBAAmB,GAAG,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC;IAC1D,MAAM,aAAa,GAAG,eAAe,CAAC;IAEtC,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC,eAAe,CAAC;IAEhE,KAAK,IAAI,MAAM,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC,GAAI,CAAC;QAC7D,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,mBAAmB,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACvD,SAAS;QACX,CAAC;QACD,IACE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,EACtE,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,eAAe,CAAC;AAClC,CAAC","sourcesContent":["/**\n * Attempts to find the closest scrolling parental element\n * @param element - the element from which to traverse up the DOM\n * @returns - the closest scrolling parental element\n */\nexport function findScrollParent(element: HTMLElement) {\n let style = getComputedStyle(element);\n const excludeStaticParent = style.position === 'absolute';\n const overflowRegex = /(auto|scroll)/;\n\n if (style.position === 'fixed') return document.documentElement;\n\n for (let parent = element; (parent = parent.parentElement); ) {\n style = getComputedStyle(parent);\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n if (\n overflowRegex.test(style.overflow + style.overflowY + style.overflowX)\n ) {\n return parent;\n }\n }\n return document.documentElement;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/utils/scroll.ts"],"names":[],"mappings":"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","sourcesContent":["import { getOffset } from './dom';\n\n/**\n * @returns the width of the document's scrollbar\n */\nfunction getScrollbarWidth() {\n const documentWidth = document.documentElement.clientWidth;\n return Math.abs(window.innerWidth - documentWidth);\n}\n\n/**\n * Used in conjunction with `scrollbarWidth` to set proper body padding in case the user has padding already on the `<body>` element.\n * @returns body's computed css padding\n */\nfunction getExistingBodyPadding() {\n const padding = Number(\n getComputedStyle(document.body).paddingRight.replace(/px/, '')\n );\n\n if (isNaN(padding) || !padding) {\n return 0;\n }\n\n return padding;\n}\n\nconst locks = new Set();\n/**\n * Prevents body scrolling. Keeps track of which elements requested a lock so multiple levels of locking are possible\n * without premature unlocking.\n */\nexport function lockBodyScrolling(lockingEl: HTMLElement) {\n locks.add(lockingEl);\n\n if (document.documentElement.classList.contains('nano-scroll-lock')) return;\n\n // When the first lock is created,\n // set the scroll lock size to match the scrollbar's width to prevent content from shifting.\n const scrollbarWidth = getScrollbarWidth() + getExistingBodyPadding(); // must be measured before the `sl-scroll-lock` class is applied\n let scrollbarGutterProperty = getComputedStyle(\n document.documentElement\n ).scrollbarGutter;\n\n // default is auto, unsupported browsers is \"undefined\"\n if (!scrollbarGutterProperty || scrollbarGutterProperty === 'auto') {\n scrollbarGutterProperty = 'stable';\n }\n if (scrollbarWidth <= 0) {\n // if there's no scrollbar, just set it to \"revert\" so whatever the user has set gets used. This is useful is the page is not overflowing and showing a scrollbar, or if the user has overflow: hidden, or any other reason a scrollbar may not be showing.\n scrollbarGutterProperty = 'revert';\n }\n\n document.documentElement.style.setProperty(\n '--nano-scroll-lock-gutter',\n scrollbarGutterProperty\n );\n document.documentElement.classList.add('nano-scroll-lock');\n document.documentElement.style.setProperty(\n '--nano-scroll-lock-size',\n `${scrollbarWidth}px`\n );\n}\n\n/**\n * Unlocks body scrolling. Scrolling will only be unlocked once all elements that requested a lock call this method.\n */\nexport function unlockBodyScrolling(lockingEl: HTMLElement) {\n locks.delete(lockingEl);\n\n if (locks.size === 0) {\n document.documentElement.classList.remove('nano-scroll-lock');\n document.documentElement.style.removeProperty('--nano-scroll-lock-size');\n }\n}\n\nfunction scrollTo(\n element: HTMLElement,\n scrollAmt: number,\n vertical: boolean = false\n) {\n if (!vertical) {\n try {\n element.scrollTo({ left: scrollAmt, behavior: 'smooth' });\n } catch (_e) {\n element.scrollLeft = scrollAmt;\n }\n return;\n }\n try {\n element.scrollTo({ top: scrollAmt, behavior: 'smooth' });\n } catch (_e) {\n element.scrollTop = scrollAmt;\n }\n}\n\n/**\n * Scrolls an element into view *of its parent container*.\n * Note to future me - cannot use native `scrollIntoView`\n * 'cos it will move the whole window\n * (vertically even though we only care about parent).\n * If the element is already in view, nothing will happen.\n */\nexport function scrollIntoView(\n element: HTMLElement,\n container: HTMLElement,\n direction: 'horizontal' | 'vertical' | 'both' = 'vertical',\n position: 'center' | 'start' = 'start'\n) {\n if (!element) return;\n const offset = getOffset(element, container);\n const offsetTop = offset.top + container.scrollTop;\n const offsetLeft = offset.left + container.scrollLeft;\n const minX = container.scrollLeft;\n const maxX = container.scrollLeft + container.offsetWidth;\n const minY = container.scrollTop;\n const maxY = container.scrollTop + container.offsetHeight;\n\n if (direction === 'horizontal' || direction === 'both') {\n if (position === 'start') {\n if (offsetLeft < minX) scrollTo(container, offsetLeft);\n else if (offsetLeft + element.clientWidth > maxX)\n scrollTo(\n container,\n offsetLeft - container.offsetWidth + element.clientWidth\n );\n } else {\n scrollTo(\n container,\n container.scrollLeft +\n offset.left -\n (container.offsetWidth / 2 - element.offsetWidth / 2)\n );\n }\n }\n\n if (direction === 'vertical' || direction === 'both') {\n if (position === 'start') {\n if (offsetTop < minY) scrollTo(container, offsetTop, true);\n else if (offsetTop + element.clientHeight > maxY) {\n scrollTo(\n container,\n offsetTop - container.offsetHeight + element.clientHeight,\n true\n );\n }\n } else {\n scrollTo(\n container,\n container.scrollTop +\n offset.top -\n (container.offsetHeight / 2 - element.offsetHeight / 2),\n true\n );\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"search-insights.js","sourceRoot":"","sources":["../../../src/utils/search-insights.ts"],"names":[],"mappings":"AAGA,IAAI,cAAqC,CAAC;AAE1C,MAAM,aAAa,GAAG;IACpB;;;;;OAKG;IACH,IAAI,EAAE,KAAK,EAAE,KAAa,EAAE,MAAc,EAAE,EAAE;QAC5C,IAAI,cAAc;YAAE,OAAO;QAE3B,cAAc,GAAG,CAAC,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3D,cAAc,CAAC,MAAM,EAAE;YACrB,KAAK;YACL,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,SAAS,EAAE,CAAC,MAAgC,EAAE,EAAE;QAC9C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,cAAc,CAAC,6BAA6B,EAAE,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACvE,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,OAAO,EAAE,CAAC,SAAiB,EAAE,EAAE;QAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,cAAc,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import type SearchInsights from 'search-insights';\nimport type { InsightsSearchClickEvent } from 'search-insights/dist/click';\n\nlet searchInsights: typeof SearchInsights;\n\nconst searchInsight = {\n /**\n * Initialise algolia search insights.\n * Will asynchronously import the search-insight library\n * @param appId\n * @param apiKey\n */\n init: async (appId: string, apiKey: string) => {\n if (searchInsights) return;\n\n searchInsights = (await import('search-insights')).default;\n searchInsights('init', {\n appId,\n apiKey,\n });\n },\n\n /**\n * Sends a `clickedObjectIDsAfterSearch` event to algolia search-insights.\n * `init(...)` Must have been called first.\n * @param params\n */\n sendClick: (params: InsightsSearchClickEvent) => {\n if (!searchInsights) {\n console.error('You must call `init()` first');\n return;\n }\n searchInsights('clickedObjectIDsAfterSearch', { ...params }).catch((e) => {\n console.error('Error sending click event', e);\n });\n },\n\n /**\n * Associates algolia analytics with a user id\n * @param userToken\n */\n setUser: (userToken: string) => {\n if (!searchInsights) {\n console.error('You must call `init()` first');\n return;\n }\n searchInsights('setUserToken', userToken);\n },\n};\n\nexport default searchInsight;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"slot.js","sourceRoot":"","sources":["../../../src/utils/slot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAqB;IAChD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,IAAK,IAAoB,CAAC,SAAS,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAqB;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,IAAI,IAAI,GAAG,EAAE,CAAC;IAEd,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,IAAI,IAAI,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,IAAiB,EAAE,IAAa;IACtD,wBAAwB;IACxB,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;IACzD,CAAC;IAED,0BAA0B;IAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACpD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACvE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBACxC,MAAM,EAAE,GAAG,IAAmB,CAAC;gBAC/B,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7B,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,eAAe,CAAC;QAC3E,OAAO,IAAI,CAAC;AAChB,CAAC","sourcesContent":["/**\n * Given a slot, this function iterates over all of its assigned elements and text nodes and returns the concatenated\n * HTML as a string. This is useful because we can't use slot.innerHTML as an alternative.\n * @param slot\n * @returns a concatenated string from html and text nodes\n */\nexport function getInnerHTML(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let html = '';\n\n [...nodes].map((node) => {\n if (node.nodeType === Node.ELEMENT_NODE) {\n html += (node as HTMLElement).outerHTML;\n }\n\n if (node.nodeType === Node.TEXT_NODE) {\n html += node.textContent;\n }\n });\n\n return html;\n}\n\n/**\n * Given a slot, this function iterates over all of its assigned text nodes and returns the concatenated text as a\n * string. This is useful because we can't use slot.textContent as an alternative.\n * @param slot\n * @returns a concatenated string of text\n */\nexport function getTextContent(slot: HTMLSlotElement): string {\n const nodes = slot.assignedNodes({ flatten: true });\n let text = '';\n\n [...nodes].map((node) => {\n text += node.textContent + ' ';\n });\n\n return text.trim();\n}\n\n/**\n * Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n * slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\n * @param host a custom element host\n * @param name a slot to find\n * @returns boolean\n */\nexport function hasSlot(host: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return host.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n if (this.host.shadowRoot) {\n return [...Array.from(host.childNodes)].some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== '') {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute('slot')) {\n return true;\n }\n }\n\n return false;\n });\n }\n\n // non-shadow component...TODO - only for 'scoped' components atm\n if (host.querySelector(`:not(.sc-${host.tagName.toLowerCase()}):not([slot])`))\n return true;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component-store.js","sourceRoot":"","sources":["../../../../src/utils/store/component-store.ts"],"names":[],"mappings":"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","sourcesContent":["import { getElement } from '@stencil/core';\nimport { debounce } from '../throttle';\nimport * as getset from './get-set';\n\nexport type StorageParams = Record<string, any>;\n\nexport type StorageMethods =\n | 'url-hash'\n | 'url-query'\n | 'url-hash-push'\n | 'url-query-push'\n | 'local'\n | 'session';\n\ninterface Component {\n connectedCallback?(): void;\n disconnectedCallback?(): void;\n componentDidRender?(): void;\n [key: string]: any;\n}\n\nconst store = new Map<string, Store>();\n\nexport const ComponentStore = {\n init(\n component: Component,\n keys: string[],\n method?: StorageMethods,\n id?: string\n ) {\n const getId = id || component.storeId || getElement(component).id;\n if (!getId) {\n console.error(\n 'No id set. You can only instantiate a new component store with an id. '\n );\n return;\n }\n if (store.get(getId)) {\n console.error(\n 'Duplicate store id usage. A store ID must be unique!',\n getId\n );\n return;\n }\n\n const initialState = keys.reduce((acc, key) => {\n if (component[key] !== undefined) acc[key] = component[key];\n return acc;\n }, {});\n\n store.set(getId, new Store(getId, component, keys, initialState, method));\n const componentstore = store.get(getId);\n componentstore.dispatchToProps();\n\n const connectedCallback = component.connectedCallback;\n component.connectedCallback = function () {\n store.set(getId, new Store(getId, component, keys, initialState, method));\n const componentstore = store.get(getId);\n if (connectedCallback) {\n connectedCallback.call(component);\n }\n if (componentstore) componentstore.dispatchToProps();\n };\n\n const componentDidRender = component.componentDidRender;\n component.componentDidRender = function () {\n const componentstore = store.get(getId);\n if (componentDidRender) {\n componentDidRender.call(component);\n }\n if (componentstore) componentstore.savePropsToStore();\n };\n\n const disconnectedCallback = component.disconnectedCallback;\n component.disconnectedCallback = function () {\n const componentstore = store.get(getId);\n if (componentstore) componentstore.delete();\n store.delete(getId);\n if (disconnectedCallback) {\n disconnectedCallback.call(component);\n }\n };\n },\n};\n\nclass Store {\n private method: StorageMethods = 'session';\n private keys: string[];\n private id: string;\n private component: Component;\n private initialState: { [key: string]: any } = {};\n private updateStore: boolean = true;\n\n constructor(\n id: string,\n component: Component,\n keys: string[],\n initialState?: any,\n method?: StorageMethods\n ) {\n if (!id)\n throw new Error(\n 'No id set. You can only instantiate a new component store with an id'\n );\n this.id = id;\n this.keys = keys;\n this.component = component;\n if (initialState) this.initialState = initialState;\n if (method) this.method = method;\n\n this.savePropsToStore = debounce(this.savePropsToStore, 500);\n\n if (this.method === 'url-hash-push' || this.method === 'url-query-push') {\n window.addEventListener('popstate', this.onUrlChange);\n }\n }\n\n private onUrlChange = () => {\n this.dispatchToProps(false);\n };\n\n private equality(val1: any, val2: any) {\n if (typeof val1 !== typeof val2) return false;\n if (typeof val1 !== 'object') return val1 === val2;\n return JSON.stringify(val1) === JSON.stringify(val2);\n }\n\n get getData() {\n const data = this.keys.reduce((acc, key) => {\n const isEqual = this.equality(\n this.component[key],\n this.initialState[key]\n );\n if (typeof this.component[key] !== 'undefined' && !isEqual) {\n acc[key] = this.component[key];\n } else if (isEqual) delete acc[key];\n return acc;\n }, {});\n return Object.keys(data).length ? data : undefined;\n }\n\n private retrieve() {\n switch (this.method) {\n case 'url-hash':\n case 'url-hash-push':\n return getset.urlGet(this.id, 'hash');\n case 'url-query':\n case 'url-query-push':\n return getset.urlGet(this.id, 'query');\n case 'local':\n return getset.storageGet(this.id);\n default:\n return getset.sessionGet(this.id);\n }\n }\n\n private save(data: any) {\n switch (this.method) {\n case 'url-hash':\n return getset.urlSet(this.id, data, 'hash');\n case 'url-query':\n return getset.urlSet(this.id, data, 'query');\n case 'url-hash-push':\n return getset.urlSet(this.id, data, 'hash', window, 'push');\n case 'url-query-push':\n return getset.urlSet(this.id, data, 'query', window, 'push');\n case 'local':\n return getset.storageSet(this.id, data);\n default:\n return getset.sessionSet(this.id, data);\n }\n }\n\n public savePropsToStore = () => {\n if (this.updateStore) {\n this.save(this.getData);\n } else if (!this.updateStore) this.updateStore = true;\n };\n\n public dispatchToProps = (updateStore = true) => {\n const savedData = this.retrieve();\n if (!savedData && updateStore) return;\n\n // console.log('dispatching', savedData, this.id, this.initialState);\n this.updateStore = updateStore;\n\n this.keys.forEach((key) => {\n this.component[key] = savedData ? savedData[key] : undefined;\n });\n };\n\n public delete = () => {\n if (this.method === 'url-hash-push' || this.method === 'url-query-push') {\n window.removeEventListener('popstate', this.onUrlChange);\n }\n };\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-set.js","sourceRoot":"","sources":["../../../../src/utils/store/get-set.ts"],"names":[],"mappings":"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","sourcesContent":["import { parse, stringify } from 'tyqs';\n\nconst STORAGE_NAME_SPACE = 'nano-component-store:';\n\nconst urlRead = (\n from: 'hash' | 'query' = 'hash',\n win: Window = window\n): void | object => {\n if (!win || !win.location) return {};\n if (from === 'hash' && win.location.hash && win.location.hash.match(/&|=/))\n return parse(win.location.hash.replace(/^#/, ''));\n else if (\n from === 'query' &&\n win.location.search &&\n win.location.search.match(/&|=/)\n )\n return parse(win.location.search.replace(/^\\?/, ''));\n return {};\n};\n\nconst urlSave = (\n object: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n if (!win || !win.history) return;\n const oldQuery = to === 'query' ? win.location.search : win.location.hash;\n const basePath =\n to === 'query'\n ? win.location.pathname\n : win.location.pathname + win.location.search;\n let queryStr = stringify(object);\n\n if (!queryStr || !queryStr.length) {\n if (!oldQuery || !oldQuery.length) return;\n if (method === 'replace') win.history.replaceState(null, null, basePath);\n else win.history.pushState(null, null, basePath);\n return;\n }\n\n if (to === 'hash' && win.location.hash === '#' + queryStr) {\n try {\n document.querySelector<HTMLElement>('#' + queryStr)?.focus();\n // eslint-disable-next-line no-empty\n } catch (_e) {}\n return;\n }\n queryStr = (to === 'hash' ? '#' : '?') + queryStr;\n if (queryStr === oldQuery) return;\n if (method === 'replace')\n win.history.replaceState(null, null, basePath + queryStr);\n else win.history.pushState(null, null, basePath + queryStr);\n};\n\nexport const urlSet = (\n id: string,\n data: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n // sanitize the incoming key\n id = Object.keys(parse(id))[0];\n const object = {};\n\n // delete all empty incoming values\n for (const key in data) {\n if (!data[key] || (Array.isArray(data[key]) && !data[key].length)) {\n delete data[key];\n }\n }\n\n object[id] = data;\n let currentData = urlRead(to, win);\n\n // current data is empty and incoming data is empty\n // let's not do anything\n if (!currentData[id] && !object[id]) return;\n\n // let's merge current and incoming data and write it to the url\n currentData = { ...currentData, ...object };\n urlSave(currentData, to, win, method);\n};\n\nexport const urlGet = (\n key: string,\n to: 'hash' | 'query' = 'hash',\n win: Window = window\n) => {\n // sanitize the incoming key\n key = Object.keys(parse(key))[0];\n const currentData = urlRead(to, win);\n return currentData[key] || null;\n};\n\nexport const sessionSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n if (!object) {\n win.sessionStorage.removeItem(STORAGE_NAME_SPACE + key);\n return;\n }\n win.sessionStorage.setItem(STORAGE_NAME_SPACE + key, JSON.stringify(object));\n};\n\nexport const sessionGet = (key: string, win: Window = window) => {\n const configStr = win.sessionStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n};\n\nexport const storageSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n if (!object) {\n win.localStorage.removeItem(STORAGE_NAME_SPACE + key);\n return;\n }\n win.localStorage.setItem(STORAGE_NAME_SPACE + key, JSON.stringify(object));\n};\n\nexport const storageGet = (key: string, win: Window = window) => {\n const configStr = win.localStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tabbable.js","sourceRoot":"","sources":["../../../src/utils/tabbable.ts"],"names":[],"mappings":"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","sourcesContent":["// Determines if the specified element is tabbable using heuristics inspired by https://github.com/focus-trap/tabbable\nfunction isTabbable(el: HTMLElement) {\n const tag = el.tagName.toLowerCase();\n\n // Elements with a -1 tab index are not tabbable\n if (el.getAttribute('tabindex') === '-1') {\n return false;\n }\n\n // Elements with a disabled attribute are not tabbable\n if (el.hasAttribute('disabled')) {\n return false;\n }\n\n // Elements with aria-disabled are not tabbable\n if (\n el.hasAttribute('aria-disabled') &&\n el.getAttribute('aria-disabled') !== 'false'\n ) {\n return false;\n }\n\n // Elements with a tabindex other than -1 are tabbable\n if (el.hasAttribute('tabindex')) {\n return true;\n }\n\n // Elements with a contenteditable attribute are tabbable\n if (\n el.hasAttribute('contenteditable') &&\n el.getAttribute('contenteditable') !== 'false'\n ) {\n return true;\n }\n\n // Audio and video elements with the controls attribute are tabbable\n if ((tag === 'audio' || tag === 'video') && el.hasAttribute('controls')) {\n return true;\n }\n\n // Radios without a checked attribute are not tabbable\n if (\n tag === 'input' &&\n el.getAttribute('type') === 'radio' &&\n !el.hasAttribute('checked')\n ) {\n return false;\n }\n\n // Elements that are hidden have no offsetParent and are not tabbable\n if (!el.offsetParent) {\n return false;\n }\n\n // Elements without visibility are not tabbable (calculated last due to performance)\n if (window.getComputedStyle(el).visibility === 'hidden') {\n return false;\n }\n\n // At this point, the following elements are considered tabbable\n return [\n 'button',\n 'input',\n 'select',\n 'textarea',\n 'a',\n 'audio',\n 'video',\n 'summary',\n ].includes(tag);\n}\n\n/**\n * Recursively locate all tabbable elements within an element.\n * If the target element is tabbable, it will be included in the\n * resulting array. This function will also look in open shadow roots.\n * @param root the root to search from\n * @param first return the first tabbable element found\n * @returns an array of tabbable elements\n */\nexport function getTabbableElements(\n root: HTMLElement | ShadowRoot,\n first: boolean = false\n) {\n const tabbableElements: HTMLElement[] = [];\n\n if (root instanceof HTMLElement) {\n // Is the root element tabbable?\n if (isTabbable(root)) {\n tabbableElements.push(root);\n\n if (first) return tabbableElements;\n }\n\n // Look for tabbable elements in the shadow root\n if (root.shadowRoot && root.shadowRoot.mode === 'open') {\n getTabbableElements(root.shadowRoot, first).map((el) => {\n if (!tabbableElements.includes(el)) tabbableElements.push(el);\n });\n }\n\n // Look at slotted elements\n if (HTMLSlotElement && root instanceof HTMLSlotElement) {\n root.assignedElements().map((slottedEl: HTMLElement) => {\n getTabbableElements(slottedEl, first).map((el) => {\n if (!tabbableElements.includes(el)) tabbableElements.push(el);\n });\n });\n }\n }\n\n // Look for tabbable elements in children\n Array.from(root.children).map((el: HTMLElement) => {\n getTabbableElements(el, first).map((el) => {\n if (!tabbableElements.includes(el)) tabbableElements.push(el);\n });\n });\n\n return tabbableElements;\n}\n\nexport function getNearestTabbableElement(el: Element): HTMLElement | null {\n const tabbableElements = getTabbableElements(el as HTMLElement, true);\n return tabbableElements.length ? tabbableElements[0] : null;\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/testing/index.ts"],"names":[],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport { newE2EPage, E2EPage } from '@stencil/core/testing';\nimport * as axe from 'axe-core';\n// import { MatchImageSnapshotOptions } from 'jest-image-snapshot';\n// import { ElementHandle, Page as PuppeteerPage } from 'puppeteer';\n\ndeclare global {\n interface Window {\n axe: typeof axe;\n }\n}\n\nexport interface NanoE2EPage\n extends E2EPage,\n Pick<PuppeteerPage, 'screenshot' | 'viewport'> {\n reportA11y: (contextQuery?: string) => Promise<string>;\n}\n\ntype NanoE2EPageOptions = {\n html: string;\n viewportWidth: number;\n viewportHeight?: number;\n dir: 'ltr' | 'rtl';\n padding?: string;\n};\n\nexport class E2EPlayGround<T> {\n public props: Partial<T>;\n public viewportHeight: number;\n /** element template string. Add `{{ attrs }}` to place the attributes */\n public template: string;\n public cssVars: { [key: string]: string };\n public viewportWidth = 600;\n public page: NanoE2EPage;\n public tag: string;\n\n constructor(setup: { template: string; tag: string } | string) {\n setup =\n typeof setup === 'string'\n ? { template: `<${setup} {{ attrs }}></${setup}>`, tag: setup }\n : setup;\n this.template = setup.template;\n this.tag = setup.tag;\n }\n\n private get attrs() {\n if (!this.props) return '';\n return Object.entries(this.props)\n .map(([attr, value]) => `${kebabize(attr)}=\"${value as string}\"`)\n .join(' ');\n }\n\n private get css() {\n if (!this.cssVars) return '';\n return Object.entries(this.cssVars)\n .map(([attr, value]) => `${attr}: ${value}`)\n .join('\\n');\n }\n\n public async newPage(\n props?: Partial<T>,\n docOpts?: { dir?: 'rtl' | 'ltr'; padding?: string }\n ) {\n if (!this.template || !this.tag) {\n console.warn('no template set');\n return;\n }\n\n this.props = props;\n this.page = await createPage({\n html: `\n <style>\n :root {\n ${this.css}\n }\n </style>\n ${this.template.replace(/(\\{\\{ attrs \\}\\})/g, this.attrs)}\n `,\n viewportWidth: this.viewportWidth,\n viewportHeight: this.viewportHeight,\n dir: docOpts ? docOpts.dir : 'ltr',\n padding: docOpts ? docOpts.padding : '1rem',\n });\n\n return this.page;\n }\n\n public reportA11y() {\n if (!this.page) {\n console.warn('no page rendered');\n return;\n }\n return this.page.reportA11y(this.tag);\n }\n\n public async component() {\n if (!this.page) {\n console.warn('no page rendered');\n return;\n }\n return this.page.find(this.tag);\n }\n\n public async componentQuery(selectorStr: string, shadow = true) {\n if (!this.page) {\n console.warn('no page rendered');\n return;\n }\n if (!selectorStr) {\n console.warn('selectorStr not set');\n return;\n }\n\n if (shadow) {\n return (\n await this.page.waitForFunction(\n (args) => {\n const [tag, selectorStr] = args;\n return document\n .querySelector(tag)\n .shadowRoot.querySelector(selectorStr);\n },\n {},\n [this.tag, selectorStr]\n )\n ).asElement();\n } else {\n return (\n await this.page.waitForFunction(\n (args) => {\n const [tag, selectorStr] = args;\n return document.querySelector(tag + ' ' + selectorStr);\n },\n {},\n [this.tag, selectorStr]\n )\n ).asElement();\n }\n }\n}\n\nexport async function getFocusedElement(\n page: E2EPage,\n shadowEleSelector: string = null\n) {\n if (!shadowEleSelector)\n return page.evaluateHandle(() => document.activeElement);\n else {\n return page.evaluateHandle(\n (shadowEleSelector) =>\n document.querySelector(shadowEleSelector).shadowRoot.activeElement,\n shadowEleSelector\n );\n }\n}\n\nexport async function clickOnElement(\n page: E2EPage,\n elem: ElementHandle<Element>,\n x: number = null,\n y: number = null\n) {\n const rect = await page.evaluate((el) => {\n const { top, left, width, height } = el.getBoundingClientRect();\n return { top, left, width, height };\n }, elem);\n\n // Use given position or default to center\n const _x = x !== null ? x : rect.width / 3;\n const _y = y !== null ? y : rect.height / 3;\n\n await page.mouse.click(rect.left + _x, rect.top + _y);\n}\n\nexport async function createPage(optionsOrHtml?: string | NanoE2EPageOptions) {\n const options: NanoE2EPageOptions =\n typeof optionsOrHtml === 'string'\n ? { html: optionsOrHtml, viewportWidth: 600, dir: 'ltr', padding: '1rem' }\n : optionsOrHtml;\n\n const page = (await newE2EPage()) as NanoE2EPage;\n\n // setup navigator langs for consistent localization\n await page.evaluate(() => {\n Object.defineProperty(navigator, 'language', {\n get: function () {\n return 'en-GB';\n },\n });\n Object.defineProperty(navigator, 'languages', {\n get: function () {\n return ['en-GB'];\n },\n });\n });\n const viewport = {\n height: options.viewportHeight || page.viewport().height,\n width: options.viewportWidth,\n };\n // set viewport size\n await page.setViewport(viewport);\n\n // add content\n await page.setContent(\n `<link rel=\"stylesheet\" href=\"/themes/nanopore.css\">\n <div class=\"screenshot\" style=\"padding: ${options.padding || '1rem'};\">${\n options.html\n }</div>`,\n { waitUntil: 'networkidle2' }\n );\n\n // set the direction - need to set here as stencil removes it on setContent\n await page.evaluate((dir) => {\n document.documentElement.setAttribute('dir', dir);\n document.dir = dir;\n }, options.dir);\n\n // monkey patch screenshot function to add some extra features\n const screenshot = page.screenshot;\n page.screenshot = async function () {\n // get the element's height, and set viewport to that height\n // this enables us to get full page, clipped screenshots\n const htmlElement = await page.$('.screenshot');\n const { width, height } = await htmlElement.boundingBox();\n\n await page.setViewport({\n width: page.viewport().width,\n height: options.viewportHeight || Math.round(height),\n });\n\n return screenshot.call(page, {\n clip: {\n x: 0,\n y: 0,\n width: Math.round(width),\n height: options.viewportHeight || Math.round(height),\n },\n captureBeyondViewport: false,\n });\n };\n\n await page.evaluate(async (source) => await window.eval(source), axe.source);\n\n page.reportA11y = async (contextQuery?: string) => {\n const result = await page.evaluate(async (contextQuery) => {\n const context: axe.ContextObject = {\n include: contextQuery ? [[contextQuery]] : undefined,\n exclude: [[contextQuery + ' .button--primary', '#shadow-host']],\n };\n const opts: axe.RunOptions = {};\n return await window.axe.run(context, opts);\n }, contextQuery);\n\n // we only want serious issues and we want to ignore nanopore buttons. We know though they're bad.\n const violations = result.violations\n .filter((violation) => [`serious`, `critical`].includes(violation.impact))\n .filter((violation) => {\n violation.nodes = violation.nodes.filter(\n (node) => !node.target.join().match('.button--')\n );\n return !!violation.nodes.length;\n });\n\n // const output = violations\n // .map(\n // (violations, index) => `(${index}) [Type: ${violations.id}]: ${\n // violations.description\n // } (${violations.help}).\n // Elements: ${violations.nodes\n // .map(\n // (node, index) => `[${index}]'${node.target}'. HTML: ${node.html}`\n // )\n // .join(`, `)}.`\n // )\n // .join(`\\n\\n`);\n return violations.length ? JSON.stringify(violations, null, 2) : '';\n // return output;\n };\n\n return page;\n}\n\nexport const kebabize = (str) => {\n return str\n .split('')\n .map((letter, idx) => {\n return letter.toUpperCase() === letter\n ? `${idx !== 0 ? '-' : ''}${letter.toLowerCase()}`\n : letter;\n })\n .join('');\n};\n\nexport const screenshotSettings = (\n dirname: string\n): MatchImageSnapshotOptions => {\n return {\n failureThreshold: 0.002,\n failureThresholdType: 'percent',\n customSnapshotsDir: `${dirname}/__screenshots__/${process.platform}`,\n };\n};\n\nexport const waitForVisibleSnippet = (selector) => {\n return `\n (function () {\n function isVisible(elem) {\n if (!(elem instanceof Element)) throw Error('DomUtil: elem is not an element.');\n const style = getComputedStyle(elem);\n if (style.display === 'none') return false;\n if (style.visibility !== 'visible') return false;\n if (style.opacity < 0.1) return false;\n if (elem.offsetWidth + elem.offsetHeight + elem.getBoundingClientRect().height +\n elem.getBoundingClientRect().width === 0) {\n return false;\n }\n const elemCenter = {\n x: elem.getBoundingClientRect().left + elem.offsetWidth / 2,\n y: elem.getBoundingClientRect().top + elem.offsetHeight / 2\n };\n if (elemCenter.x < 0) return false;\n if (elemCenter.x > (document.documentElement.clientWidth || window.innerWidth)) return false;\n if (elemCenter.y < 0) return false;\n if (elemCenter.y > (document.documentElement.clientHeight || window.innerHeight)) return false;\n let pointContainer = document.elementFromPoint(elemCenter.x, elemCenter.y);\n do {\n if (pointContainer === elem) return true;\n } while (pointContainer = pointContainer.parentNode);\n return false;\n }\n return isVisible(document.querySelector(\"${selector}\"));\n })()\n`;\n};\n\nexport const stringifyFormSnippet = `\n<div id=\"form-result\"></div>\n<script>\n var form = document.querySelector('form');\n var result = document.querySelector('#form-result');\n form.addEventListener('submit', (e) => {\n e.preventDefault();\n var data = new FormData(event.target);\n var object = {};\n data.forEach((value, key) => {\n // Reflect.has in favor of: object.hasOwnProperty(key)\n if(!Reflect.has(object, key)){\n object[key] = value;\n return;\n }\n if(!Array.isArray(object[key])){\n object[key] = [object[key]];\n }\n object[key].push(value);\n });\n result.innerHTML = JSON.stringify(object);\n })\n</script>`;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/utils/theme.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,EAAe,EAAW,EAAE;IACxE,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAA+B,EAC/B,WAAyB,EACA,EAAE;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAClD,CAAC,CAAC;YACE,YAAY,EAAE,IAAI;YAClB,CAAC,cAAc,KAAK,EAAE,CAAC,EAAE,IAAI;YAC7B,GAAG,WAAW;SACf;QACH,CAAC,CAAC,WAAW,CAAC;AAClB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,YAAY,GAAG,CACnB,OAA2D,EACjD,EAAE;IACZ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpE,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAsC,EACzB,EAAE;IACf,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IACtD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC","sourcesContent":["import type { Color, CssClassMap } from '../types/shared';\n\nexport const hostContext = (selector: string, el: HTMLElement): boolean => {\n return el.closest(selector) !== null;\n};\n\n/**\n * Create the mode and color classes for the component based on the classes passed in\n * @param color\n * @param cssClassMap\n * @returns an jsx class map\n */\nexport const createColorClasses = (\n color: Color | undefined | null,\n cssClassMap?: CssClassMap\n): CssClassMap | undefined => {\n return typeof color === 'string' && color.length > 0\n ? {\n 'nano-color': true,\n [`nano-color-${color}`]: true,\n ...cssClassMap,\n }\n : cssClassMap;\n};\n\n/**\n * @param classes\n * @returns an array of trimmed class names\n */\nconst getClassList = (\n classes: string | (string | null | undefined)[] | undefined\n): string[] => {\n if (classes !== undefined) {\n const array = Array.isArray(classes) ? classes : classes.split(' ');\n return array\n .filter((c) => c != null)\n .map((c) => c.trim())\n .filter((c) => c !== '');\n }\n return [];\n};\n\n/**\n * turns a string, or array of strings into a jsx class map\n * @param classes\n * @returns a jsx class map\n */\nexport const getClassMap = (\n classes: string | string[] | undefined\n): CssClassMap => {\n const map: CssClassMap = {};\n getClassList(classes).forEach((c) => (map[c] = true));\n return map;\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttle.js","sourceRoot":"","sources":["../../../src/utils/throttle.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAmB,EAAgB,EAAE;IAC9D,OAAO,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAmB,EACnB,IAAY,EACE,EAAE;IAChB,MAAM,QAAQ,GAAI,KAAa,CAAC,SAAS,IAAI,KAAK,CAAC;IACnD,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;KACnC,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAkC,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE;IACvE,IAAI,KAAU,CAAC;IACf,OAAO,CAAC,GAAG,IAAW,EAAO,EAAE;QAC7B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;IAC1C,yCAAyC;IACzC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACjB,sCAAsC;QACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAEjC,2CAA2C;QAC3C,sBAAsB;QACtB,IAAI,GAAG,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,CAAC;YAEX,oCAAoC;YACpC,kCAAkC;YAClC,qBAAqB;YACrB,OAAO,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { EventEmitter } from '@stencil/core';\n\nexport const deferEvent = (event: EventEmitter): EventEmitter => {\n return debounceEvent(event, 0);\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\n/**\n * debounce ensures that one function call is made for an event that fires multiple times.\n * @param callback to perform after waiting\n * @param wait how to long to wait before calling the function\n * @returns a debounced function to call as often as required\n */\nexport const debounce = (callback: (...args: any[]) => void, wait = 0) => {\n let timer: any;\n return (...args: any[]): any => {\n clearTimeout(timer);\n timer = setTimeout(callback, wait, ...args);\n };\n};\n\n/**\n * throttle delays executing a function - reducing the function calls of an event that fires multiple times.\n * @param callback to perform after a delay\n * @param delay how long to delay before calling the function\n * @returns a throttled function to call as often as required\n */\nexport const throttle = (callback, delay) => {\n // Previously called time of the function\n let prev = 0;\n return (...args) => {\n // Current called time of the function\n const now = new Date().getTime();\n\n // If difference is greater than delay call\n // the function again.\n if (now - prev > delay) {\n prev = now;\n\n // \"...\" is the spread operator here\n // returning the function with the\n // array of arguments\n return callback(...args);\n }\n };\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../../src/utils/transitions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAe,EAAiB,EAAE;IAC/D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,EAAE,CAAC,mBAAmB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QACF,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,EAAe,EACf,OAKC,EAC4B,EAAE;IAC/B,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,OAAO;QACpB,GAAG,OAAO;KACX,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YACpC,IACE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;gBACnE,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EACtE,CAAC;gBACD,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjB,EAAE,CAAC,mBAAmB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,CAAkB,EAAE,EAAE;YACpC,IACE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;gBACnE,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EACtE,CAAC;gBACD,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC1B,EAAE,CAAC,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC;gBACvC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAClB,EAAE,CAAC,mBAAmB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAC7C,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,EAAE,CAAC,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC;YACtC,oEAAoE;YACpE,EAAE,CAAC,WAAW,CAAC,CAAC,eAAe;YAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAC7C,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["/**\n * Quality of life for transition handling.\n * Adds / removes transitionend events. Resolves on complete\n\n * @param el element\n * @returns a promise that resolves when the transition is done\n */\nexport const transitionDone = (el: HTMLElement): Promise<void> => {\n return new Promise((resolve) => {\n const callback = () => {\n el.removeEventListener('transitionend', callback);\n resolve(void 0);\n };\n el.addEventListener('transitionend', callback);\n });\n};\n\n/**\n * handles hiding and showing elements properly (with display),\n * along with transitions, so they are no longer viewable in the dom.\n * - OnHide remove show class, listen for transition end, then display: none on finish\n * - OnShow, display block on start then add a show class\n *\n * @param el\n * @param options\n * @returns a promise of resolving as either 'show' or 'hidden'\n */\nexport const displayTransition = (\n el: HTMLElement,\n options?: {\n className?: string;\n show?: boolean;\n showDisplay?: string;\n transitionProp?: string[];\n }\n): Promise<'shown' | 'hidden'> => {\n const opts = {\n className: '',\n show: true,\n showDisplay: 'block',\n ...options,\n };\n\n return new Promise((resolve) => {\n const showCb = (e: TransitionEvent) => {\n if (\n (e.target === el || e.composedPath().some((el) => el === e.target)) &&\n (!opts.transitionProp || opts.transitionProp.includes(e.propertyName))\n ) {\n resolve('shown');\n el.removeEventListener('transitionend', showCb);\n }\n };\n\n const hideCb = (e: TransitionEvent) => {\n if (\n (e.target === el || e.composedPath().some((el) => el === e.target)) &&\n (!opts.transitionProp || opts.transitionProp.includes(e.propertyName))\n ) {\n el.style.display = 'none';\n el.dataset.displayTransition = 'false';\n resolve('hidden');\n el.removeEventListener('transitionend', hideCb);\n }\n };\n\n if (opts.show) {\n el.addEventListener('transitionend', showCb);\n el.style.display = opts.showDisplay;\n el.dataset.displayTransition = 'true';\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n el.clientWidth; // force reflow\n setTimeout(() => el.classList.add(opts.className), 50);\n } else {\n el.addEventListener('transitionend', hideCb);\n el.classList.remove(opts.className);\n }\n });\n};\n"]}
@@ -1 +0,0 @@
1
- {"file":"active-element.js","mappings":";;;SAAgB,gBAAgB,CAC9B,OAA8B,QAAQ;IAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;IAEpC,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,IAAI,CAAC;KACb;IAED,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,EAAE;QAC5D,OAAO,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KAC9C;SAAM;QACL,OAAO,QAAQ,CAAC;KACjB;AACH;;;;","names":[],"sources":["src/utils/active-element.ts"],"sourcesContent":["export function getActiveElement(\n root: Document | ShadowRoot = document\n): Element | null {\n const activeEl = root.activeElement;\n\n if (!activeEl) {\n return null;\n }\n\n if (activeEl.shadowRoot && activeEl.shadowRoot.activeElement) {\n return getActiveElement(activeEl.shadowRoot);\n } else {\n return activeEl;\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"algolia-data.js","mappings":";;;;;AAAO,IAAI,qBAAqB,GAAG,YAAY;AAC/C,IAAI,IAAI,OAAO,CAAC;AAChB,IAAI,IAAI,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,GAAG,EAAE,EAAE,OAAO,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AACjE,IAAI,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAClD,CAAC;;ACFM,IAAI,YAAY,GAAG,UAAU,SAAS,EAAE,KAAK,EAAE;AACtD,IAAI,IAAI,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC;AACjD,IAAI,IAAI,iBAAiB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC;AACjE,IAAI,kBAAkB,CAAC,iBAAiB,GAAG,YAAY;AACvD,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AAClC,QAAQ,IAAI,MAAM,GAAG,qBAAqB,EAAE,CAAC;AAC7C,QAAQ,IAAI,KAAK,GAAG,IAAI,WAAW,CAAC,cAAc,EAAE;AACpD,YAAY,OAAO,EAAE,IAAI;AACzB,YAAY,QAAQ,EAAE,IAAI;AAC1B,YAAY,MAAM,EAAE;AACpB,gBAAgB,QAAQ,EAAE,IAAI;AAC9B,gBAAgB,MAAM,EAAE,KAAK;AAC7B,gBAAgB,OAAO,EAAE,UAAU,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE;AACxE,gBAAgB,MAAM,EAAE,MAAM;AAC9B,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAChC,QAAQ,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY;AAC/C,YAAY,IAAI,iBAAiB,EAAE;AACnC,gBAAgB,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrD,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,CAAC;;ICbW;AAAZ,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,kCAAa,CAAA;IACb,wCAAmB,CAAA;IACnB,kCAAa,CAAA;AACf,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;MAqBY,QAAQ,GAAG,CACtB,SAAsC,EACtC,KAA8B,KAC3B,YAAY,CAAC,SAAS,EAAE,KAAK;;;;","names":[],"sources":["../../node_modules/.pnpm/stencil-wormhole@3.2.1_@stencil+core@4.27.2/node_modules/stencil-wormhole/dist/esm/deferred.js","../../node_modules/.pnpm/stencil-wormhole@3.2.1_@stencil+core@4.27.2/node_modules/stencil-wormhole/dist/esm/consumer.js","src/components/algolia/algolia-data.ts"],"sourcesContent":["export var createDeferredPromise = function () {\n var resolve;\n var promise = new Promise(function (res) { resolve = res; });\n return { promise: promise, resolve: resolve };\n};\n","import { getElement } from \"@stencil/core\";\nimport { createDeferredPromise } from \"./deferred\";\nexport var openWormhole = function (Component, props) {\n var ComponentPrototype = Component.prototype;\n var componentWillLoad = ComponentPrototype.componentWillLoad;\n ComponentPrototype.componentWillLoad = function () {\n var _this = this;\n var el = getElement(this);\n var onOpen = createDeferredPromise();\n var event = new CustomEvent('openWormhole', {\n bubbles: true,\n composed: true,\n detail: {\n consumer: this,\n fields: props,\n updater: function (prop, value) { _this[prop] = value; },\n onOpen: onOpen,\n },\n });\n el.dispatchEvent(event);\n return onOpen.promise.then(function () {\n if (componentWillLoad) {\n return componentWillLoad.call(_this);\n }\n });\n };\n};\n","import {\n openWormhole,\n type WormholeConsumerConstructor,\n} from 'stencil-wormhole';\nimport type { SearchIndex as AlgoliaIndex } from 'algoliasearch';\nimport type { StorageMethods } from '../../utils/store/component-store';\n\nimport type {\n IndexResult,\n AlgoliaResultHit,\n SearchIndex,\n} from './algolia-interface';\n\nexport enum SearchChangeEvent {\n Filter = 'filter',\n Page = 'page',\n Replica = 'replica',\n Init = 'init',\n}\n\nexport interface WormholeState {\n indexResults: IndexResult;\n filterChanged?: string;\n facets?: {\n [prop: string]: {\n [prop: string]: number;\n };\n };\n results: AlgoliaResultHit[];\n resultsPage: number;\n tplRenderFn?: (...args: any[]) => any;\n changeEvent: SearchChangeEvent;\n algoliaIndex: AlgoliaIndex;\n searchIndex: SearchIndex;\n browseIndex: boolean;\n globalStoreMethod: StorageMethods;\n isLoading: boolean;\n}\n\nexport const Wormhole = (\n Component: WormholeConsumerConstructor,\n props: (keyof WormholeState)[]\n) => openWormhole(Component, props);\n\nexport * from 'stencil-wormhole';\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"algolia.js","mappings":"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","names":["Parse","squirrel.filters"],"sources":["src/utils/promise-queue.ts","src/components/algolia/lib/squirrelly/err.ts","src/components/algolia/lib/squirrelly/utils.ts","src/components/algolia/lib/squirrelly/parse.ts","src/components/algolia/lib/squirrelly/compile-string.ts","src/components/algolia/lib/squirrelly/storage.ts","src/components/algolia/lib/squirrelly/container-utils.ts","src/components/algolia/lib/squirrelly/containers.ts","src/components/algolia/lib/squirrelly/config.ts","src/components/algolia/lib/squirrelly/compile.ts","src/components/algolia/lib/squirrelly/render.ts","src/components/algolia/lib/template.ts","../../node_modules/.pnpm/stencil-wormhole@3.2.1_@stencil+core@4.27.2/node_modules/stencil-wormhole/dist/esm/universe.js","src/components/algolia/algolia.scss?tag=nano-algolia&encapsulation=shadow","src/components/algolia/algolia.tsx"],"sourcesContent":["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","function setPrototypeOf(obj: any, proto: any) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(obj, proto);\n } else {\n obj.__proto__ = proto;\n }\n}\n\nexport default function SqrlErr(message: string): Error {\n const err = new Error(message);\n setPrototypeOf(err, SqrlErr.prototype);\n return err;\n}\n\nSqrlErr.prototype = Object.create(Error.prototype, {\n name: { value: 'Squirrelly Error', enumerable: false },\n});\n\n// TODO: Class transpilation adds a lot to the bundle size\n\nexport function ParseErr(message: string, str: string, indx: number) {\n const whitespace = str.slice(0, indx).split(/\\n/);\n\n const lineNo = whitespace.length;\n const colNo = whitespace[lineNo - 1].length + 1;\n message +=\n ' at line ' +\n lineNo +\n ' col ' +\n colNo +\n ':\\n\\n' +\n ' ' +\n str.split(/\\n/)[lineNo - 1] +\n '\\n' +\n ' ' +\n Array(colNo).join(' ') +\n '^';\n throw SqrlErr(message);\n}\n","// TODO: allow '-' to trim up until newline. Use [^\\S\\n\\r] instead of \\s\n// TODO: only include trimLeft polyfill if not in ES6\n\n/* TYPES */\n\nimport { SqrlConfig } from './config';\n\n/* END TYPES */\n\nexport const promiseImpl = new Function('return this')().Promise;\n\nlet asyncFunc: FunctionConstructor | false = false;\n\ntry {\n asyncFunc = new Function('return (async function(){}).constructor')();\n} catch (e) {\n // We shouldn't actually ever have any other errors, but...\n if (!(e instanceof SyntaxError)) {\n throw e;\n }\n}\n\nexport { asyncFunc };\n\nexport function hasOwnProp(obj: object, prop: string) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport function copyProps<T>(toObj: T, fromObj: T, notConfig?: boolean) {\n for (const key in fromObj) {\n if (hasOwnProp(fromObj as unknown as object, key)) {\n if (\n fromObj[key] != null &&\n typeof fromObj[key] == 'object' &&\n (key === 'storage' || key === 'prefixes') &&\n !notConfig // not called from Cache.load\n ) {\n // plugins or storage\n // Note: this doesn't merge from initial config!\n // Deep clone instead of assigning\n // TODO: run checks on this\n toObj[key] = copyProps(\n /*toObj[key] ||*/ {} as T[Extract<keyof T, string>],\n fromObj[key]\n );\n } else {\n toObj[key] = fromObj[key];\n }\n }\n }\n return toObj;\n}\n\nfunction trimWS(\n str: string,\n env: SqrlConfig,\n wsLeft: string | false,\n wsRight?: string | false\n): string {\n let leftTrim;\n let rightTrim;\n\n if (typeof env.autoTrim === 'string') {\n leftTrim = rightTrim = env.autoTrim;\n // Don't need to check if env.autoTrim is false\n // Because leftTrim, rightTrim are initialized as falsy\n } else if (Array.isArray(env.autoTrim)) {\n // kinda confusing\n // but _}} will trim the left side of the following string\n leftTrim = env.autoTrim[1];\n rightTrim = env.autoTrim[0];\n }\n\n if (wsLeft || wsLeft === false) {\n leftTrim = wsLeft;\n }\n\n if (wsRight || wsRight === false) {\n rightTrim = wsRight;\n }\n\n if (leftTrim === 'slurp' && rightTrim === 'slurp') {\n return str.trim();\n }\n\n if (leftTrim === '_' || leftTrim === 'slurp') {\n // console.log('trimming left' + leftTrim)\n // full slurp\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!String.prototype.trimLeft) {\n str = str.trimLeft();\n } else {\n str = str.replace(/^[\\s\\uFEFF\\xA0]+/, '');\n }\n } else if (leftTrim === '-' || leftTrim === 'nl') {\n // console.log('trimming left nl' + leftTrim)\n // nl trim\n str = str.replace(/^(?:\\n|\\r|\\r\\n)/, '');\n }\n\n if (rightTrim === '_' || rightTrim === 'slurp') {\n // console.log('trimming right' + rightTrim)\n // full slurp\n // eslint-disable-next-line no-extra-boolean-cast\n if (!!String.prototype.trimRight) {\n str = str.trimRight();\n } else {\n str = str.replace(/[\\s\\uFEFF\\xA0]+$/, '');\n }\n } else if (rightTrim === '-' || rightTrim === 'nl') {\n // console.log('trimming right nl' + rightTrim)\n // nl trim\n str = str.replace(/(?:\\n|\\r|\\r\\n)$/, ''); // TODO: make sure this gets \\r\\n\n }\n\n return str;\n}\n\nexport { trimWS };\n","import SqrlErr, { ParseErr } from './err';\nimport { trimWS } from './utils';\n\n/* TYPES */\n\nimport { SqrlConfig } from './config';\n\nexport type TagType = 'h' | 'b' | 'i' | 'r' | 'c' | 'e' | 'q' | 's';\n// TODO: change to anagram \"QBIRCHES\"\nexport type TemplateAttribute = 'c' | 'f' | 'fp' | 'p' | 'n' | 'res' | 'err';\nexport type TemplateObjectAttribute = 'c' | 'p' | 'n' | 'res';\n\nexport type AstObject = string | TemplateObject;\n\nexport type Filter = [string, string] | [string, string, true];\n// [name, params, async]\nexport interface TemplateObject {\n n?: string;\n t?: 'h' | 'b' | 'i' | 'c' | 'q' | 'e' | 's';\n f: Array<Filter>;\n c?: string;\n p?: string;\n res?: string;\n d?: Array<AstObject>;\n raw?: boolean;\n a?: boolean; // async\n b?: Array<ParentTemplateObject>;\n}\n\nexport interface ParentTemplateObject extends TemplateObject {\n d: Array<AstObject>;\n b: Array<ParentTemplateObject>;\n}\n\n/* END TYPES */\n\nconst asyncRegExp = /^async +/;\n\nconst templateLitReg =\n /`(?:\\\\[\\s\\S]|\\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\\${)[^\\\\`])*`/g;\n\nconst singleQuoteReg = /'(?:\\\\[\\s\\w\"'\\\\`]|[^\\n\\r'\\\\])*?'/g;\n\nconst doubleQuoteReg = /\"(?:\\\\[\\s\\w\"'\\\\`]|[^\\n\\r\"\\\\])*?\"/g;\n\nconst specialCharsReg = /[.*+\\-?^${}()|[\\]\\\\]/g;\n\nfunction escapeRegExp(string: string) {\n // From MDN\n return specialCharsReg.test(string)\n ? string.replace(specialCharsReg, '\\\\$&') // $& means the whole matched string\n : string;\n}\n\nexport default function parse(str: string, env: SqrlConfig): Array<AstObject> {\n /* Adding for EJS compatibility */\n if (env.rmWhitespace) {\n // Code taken directly from EJS\n // Have to use two separate replaces here as `^` and `$` operators don't\n // work well with `\\r` and empty lines don't work well with the `m` flag.\n // Essentially, this replaces the whitespace at the beginning and end of\n // each line and removes multiple newlines.\n str = str.replace(/[\\r\\n]+/g, '\\n').replace(/^\\s+|\\s+$/gm, '');\n }\n /* End rmWhitespace option */\n\n templateLitReg.lastIndex = 0;\n singleQuoteReg.lastIndex = 0;\n doubleQuoteReg.lastIndex = 0;\n\n const envPrefixes = env.prefixes;\n\n const prefixes = [\n envPrefixes.h,\n envPrefixes.b,\n envPrefixes.i,\n envPrefixes.r,\n envPrefixes.c,\n envPrefixes.e,\n ].reduce(function (accumulator, prefix) {\n if (accumulator && prefix) {\n return accumulator + '|' + escapeRegExp(prefix);\n } else if (prefix) {\n // accumulator is empty\n return escapeRegExp(prefix);\n } else {\n // prefix and accumulator are both empty strings\n return accumulator;\n }\n }, '');\n\n const parseCloseReg = new RegExp(\n '([|()]|=>)|' + // powerchars\n '(\\'|\"|`|\\\\/\\\\*)|\\\\s*((\\\\/)?(-|_)?' + // comments, strings\n escapeRegExp(env.tags[1]) +\n ')',\n 'g'\n );\n\n const tagOpenReg = new RegExp(\n '([^]*?)' + escapeRegExp(env.tags[0]) + '(-|_)?\\\\s*(' + prefixes + ')?\\\\s*',\n 'g'\n );\n\n let startInd = 0;\n let trimNextLeftWs: string | false = false;\n\n function parseTag(\n tagOpenIndex: number,\n currentType: TagType\n ): TemplateObject {\n const currentObj: TemplateObject = { f: [] };\n let numParens = 0;\n let currentAttribute: TemplateAttribute = 'c'; // default - Valid values: 'c'=content, 'f'=filter, 'fp'=filter params, 'p'=param, 'n'=name\n\n if (currentType === 'h' || currentType === 'b' || currentType === 'c') {\n currentAttribute = 'n';\n } else if (currentType === 'r') {\n currentObj.raw = true;\n currentType = 'i';\n }\n\n function addAttrValue(indx: number) {\n const valUnprocessed = str.slice(startInd, indx);\n // console.log(valUnprocessed)\n let val = valUnprocessed.trim();\n if (currentAttribute === 'f') {\n if (val === 'safe') {\n currentObj.raw = true;\n } else {\n if (env.async && asyncRegExp.test(val)) {\n val = val.replace(asyncRegExp, '');\n currentObj.f.push([val, '', true]);\n } else {\n currentObj.f.push([val, '']);\n }\n }\n } else if (currentAttribute === 'fp') {\n currentObj.f[currentObj.f.length - 1][1] += val;\n } else if (currentAttribute === 'err') {\n if (val) {\n const found = valUnprocessed.search(/\\S/);\n ParseErr('invalid syntax', str, startInd + found);\n }\n } else {\n // if (currentObj[currentAttribute]) { // TODO make sure no errs\n // currentObj[currentAttribute] += val\n // } else {\n currentObj[currentAttribute] = val;\n // }\n }\n startInd = indx + 1;\n }\n\n parseCloseReg.lastIndex = startInd;\n\n let m;\n // tslint:disable-next-line:no-conditional-assignment\n while ((m = parseCloseReg.exec(str)) !== null) {\n const char = m[1];\n const punctuator = m[2];\n const tagClose = m[3];\n const slash = m[4];\n const wsControl = m[5];\n const i = m.index;\n\n if (char) {\n // Power character\n if (char === '(') {\n if (numParens === 0) {\n if (currentAttribute === 'n') {\n addAttrValue(i);\n currentAttribute = 'p';\n } else if (currentAttribute === 'f') {\n addAttrValue(i);\n currentAttribute = 'fp';\n }\n }\n numParens++;\n } else if (char === ')') {\n numParens--;\n if (numParens === 0 && currentAttribute !== 'c') {\n // Then it's closing a filter, block, or helper\n addAttrValue(i);\n\n currentAttribute = 'err'; // Reset the current attribute\n }\n } else if (numParens === 0 && char === '|') {\n addAttrValue(i); // this should actually always be whitespace or empty\n currentAttribute = 'f';\n } else if (char === '=>') {\n addAttrValue(i);\n startInd += 1; // this is 2 chars\n currentAttribute = 'res';\n }\n } else if (punctuator) {\n if (punctuator === '/*') {\n const commentCloseInd = str.indexOf('*/', parseCloseReg.lastIndex);\n if (commentCloseInd === -1) {\n ParseErr('unclosed comment', str, m.index);\n }\n parseCloseReg.lastIndex = commentCloseInd + 2; // since */ is 2 characters, and we're using indexOf rather than a RegExp\n } else if (punctuator === \"'\") {\n singleQuoteReg.lastIndex = m.index;\n\n const singleQuoteMatch = singleQuoteReg.exec(str);\n if (singleQuoteMatch) {\n parseCloseReg.lastIndex = singleQuoteReg.lastIndex;\n } else {\n ParseErr('unclosed string', str, m.index);\n }\n } else if (punctuator === '\"') {\n doubleQuoteReg.lastIndex = m.index;\n const doubleQuoteMatch = doubleQuoteReg.exec(str);\n\n if (doubleQuoteMatch) {\n parseCloseReg.lastIndex = doubleQuoteReg.lastIndex;\n } else {\n ParseErr('unclosed string', str, m.index);\n }\n } else if (punctuator === '`') {\n templateLitReg.lastIndex = m.index;\n const templateLitMatch = templateLitReg.exec(str);\n if (templateLitMatch) {\n parseCloseReg.lastIndex = templateLitReg.lastIndex;\n } else {\n ParseErr('unclosed string', str, m.index);\n }\n }\n } else if (tagClose) {\n addAttrValue(i);\n startInd = i + m[0].length;\n tagOpenReg.lastIndex = startInd;\n // console.log('tagClose: ' + startInd)\n trimNextLeftWs = wsControl;\n if (slash && currentType === 'h') {\n currentType = 's';\n } // TODO throw err\n currentObj.t = currentType;\n return currentObj;\n }\n }\n ParseErr('unclosed tag', str, tagOpenIndex);\n return currentObj; // To prevent TypeScript from erroring\n }\n\n function parseContext(\n parentObj: TemplateObject,\n firstParse?: boolean\n ): ParentTemplateObject {\n parentObj.b = []; // assume there will be blocks // TODO: perf optimize this\n parentObj.d = [];\n let lastBlock: ParentTemplateObject | false = false;\n let buffer: Array<AstObject> = [];\n\n function pushString(\n strng: string,\n shouldTrimRightOfString?: string | false\n ) {\n if (strng) {\n // if string is truthy it must be of type 'string'\n\n // TODO: benchmark replace( /(\\\\|')/g, '\\\\$1')\n strng = trimWS(\n strng,\n env,\n trimNextLeftWs, // this will only be false on the first str, the next ones will be null or undefined\n shouldTrimRightOfString\n );\n\n if (strng) {\n // replace \\ with \\\\, ' with \\'\n\n strng = strng.replace(/\\\\|'/g, '\\\\$&').replace(/\\r\\n|\\n|\\r/g, '\\\\n');\n // we're going to convert all CRLF to LF so it doesn't take more than one replace\n\n buffer.push(strng);\n }\n }\n }\n\n // Random TODO: parentObj.b doesn't need to have t: #\n let tagOpenMatch;\n // tslint:disable-next-line:no-conditional-assignment\n while ((tagOpenMatch = tagOpenReg.exec(str)) !== null) {\n const precedingString = tagOpenMatch[1];\n const shouldTrimRightPrecedingString = tagOpenMatch[2];\n const prefix = tagOpenMatch[3] || '';\n let prefixType: TagType | undefined;\n\n for (const key in envPrefixes) {\n if (envPrefixes[key] === prefix) {\n prefixType = key as TagType;\n break;\n }\n }\n\n pushString(precedingString, shouldTrimRightPrecedingString);\n startInd = tagOpenMatch.index + tagOpenMatch[0].length;\n\n if (!prefixType) {\n ParseErr('unrecognized tag type: ' + prefix, str, startInd);\n }\n\n let currentObj = parseTag(tagOpenMatch.index, prefixType);\n // ===== NOW ADD THE OBJECT TO OUR BUFFER =====\n\n const currentType = currentObj.t;\n if (currentType === 'h') {\n const hName = currentObj.n || '';\n if (env.async && asyncRegExp.test(hName)) {\n currentObj.a = true;\n currentObj.n = hName.replace(asyncRegExp, '');\n }\n currentObj = parseContext(currentObj); // currentObj is the parent object\n buffer.push(currentObj);\n } else if (currentType === 'c') {\n // tag close\n if (parentObj.n === currentObj.n) {\n if (lastBlock) {\n // If there's a previous block\n lastBlock.d = buffer;\n parentObj.b.push(lastBlock);\n } else {\n parentObj.d = buffer;\n }\n // console.log('parentObj: ' + JSON.stringify(parentObj))\n return parentObj as ParentTemplateObject;\n } else {\n ParseErr(\n \"Helper start and end don't match\",\n str,\n tagOpenMatch.index + tagOpenMatch[0].length\n );\n }\n } else if (currentType === 'b') {\n // block\n // TODO: make sure async stuff inside blocks are recognized\n if (lastBlock) {\n // If there's a previous block\n lastBlock.d = buffer;\n parentObj.b.push(lastBlock);\n } else {\n parentObj.d = buffer;\n }\n\n const blockName = currentObj.n || '';\n if (env.async && asyncRegExp.test(blockName)) {\n currentObj.a = true;\n currentObj.n = blockName.replace(asyncRegExp, '');\n }\n\n lastBlock = currentObj as ParentTemplateObject; // Set the 'lastBlock' object to the value of the current block\n\n buffer = [];\n } else if (currentType === 's') {\n const selfClosingHName = currentObj.n || '';\n if (env.async && asyncRegExp.test(selfClosingHName)) {\n currentObj.a = true;\n currentObj.n = selfClosingHName.replace(asyncRegExp, '');\n }\n buffer.push(currentObj);\n } else {\n buffer.push(currentObj);\n }\n // ===== DONE ADDING OBJECT TO BUFFER =====\n }\n\n if (firstParse) {\n pushString(str.slice(startInd, str.length), false);\n parentObj.d = buffer;\n } else {\n throw SqrlErr('unclosed helper \"' + parentObj.n + '\"');\n // It should have returned by now\n }\n\n return parentObj as ParentTemplateObject;\n }\n\n const parseResult = parseContext({ f: [] }, true);\n // console.log(JSON.stringify(parseResult))\n if (env.plugins) {\n for (let i = 0; i < env.plugins.length; i++) {\n const plugin = env.plugins[i];\n if (plugin.processAST) {\n parseResult.d = plugin.processAST(parseResult.d, env);\n }\n }\n }\n return parseResult.d; // Parse the very outside context\n}\n","import Parse, { AstObject, Filter, ParentTemplateObject } from './parse';\n\n/* TYPES */\n\nimport { SqrlConfig } from './config';\ntype ParsedTagType = 'h' | 's' | 'e' | 'i';\n// import SqrlErr from './err'\n\n/* END TYPES */\n\nexport default function compileToString(str: string, env: SqrlConfig) {\n const buffer: Array<AstObject> = Parse(str, env);\n\n let res =\n \"var tR='';\" +\n (env.useWith ? 'with(' + env.varName + '||{}){' : '') +\n compileScope(buffer, env) +\n 'if(cb){cb(null,tR)} return tR' +\n (env.useWith ? '}' : '');\n\n if (env.plugins) {\n for (let i = 0; i < env.plugins.length; i++) {\n const plugin = env.plugins[i];\n if (plugin.processFnString) {\n res = plugin.processFnString(res, env);\n }\n }\n }\n\n return res;\n\n // TODO: is `return cb()` necessary, or could we just do `cb()`\n}\n\nfunction filter(str: string, filters: Array<Filter>) {\n for (let i = 0; i < filters.length; i++) {\n const name = filters[i][0];\n const params = filters[i][1];\n const isFilterAsync = filters[i][2];\n\n // if (isFilterAsync && !env.async) {\n // throw SqrlErr(\"Async filter '\" + name + \"' in non-async env\")\n // }\n // Let the JS compiler do this, compile() will catch it\n\n str = (isFilterAsync ? 'await ' : '') + \"c.l('F','\" + name + \"')(\" + str;\n if (params) {\n str += ',' + params;\n }\n str += ')';\n }\n return str;\n}\n\n// TODO: Use type intersections for TemplateObject, etc.\n// so I don't have to make properties mandatory\n\nfunction compileHelper(\n env: SqrlConfig,\n res: string,\n descendants: Array<AstObject>,\n params: string,\n isAsync?: boolean,\n name?: string\n) {\n let ret =\n '{exec:' +\n (isAsync ? 'async ' : '') +\n compileScopeIntoFunction(descendants, res, env) +\n ',params:[' +\n params +\n ']';\n if (name) {\n ret += \",name:'\" + name + \"'\";\n }\n if (isAsync) {\n ret += ',async:true';\n }\n ret += '}';\n return ret;\n}\n\nfunction compileBlocks(blocks: Array<ParentTemplateObject>, env: SqrlConfig) {\n let ret = '[';\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i];\n ret += compileHelper(\n env,\n block.res || '',\n block.d,\n block.p || '',\n block.a,\n block.n\n );\n if (i < blocks.length) {\n ret += ',';\n }\n }\n ret += ']';\n return ret;\n}\n\nexport function compileScopeIntoFunction(\n buff: Array<AstObject>,\n res: string,\n env: SqrlConfig\n) {\n return (\n 'function(' + res + \"){var tR='';\" + compileScope(buff, env) + 'return tR}'\n );\n}\n\nexport function compileScope(buff: Array<AstObject>, env: SqrlConfig) {\n let i = 0;\n const buffLength = buff.length;\n let returnStr = '';\n\n for (i; i < buffLength; i++) {\n const currentBlock = buff[i];\n if (typeof currentBlock === 'string') {\n const str = currentBlock;\n\n // we know string exists\n returnStr += \"tR+='\" + str + \"';\";\n } else {\n const type: ParsedTagType = currentBlock.t as ParsedTagType; // h, s, e, i\n let content = currentBlock.c || '';\n const filters = currentBlock.f;\n const name = currentBlock.n || '';\n const params = currentBlock.p || '';\n const res = currentBlock.res || '';\n const blocks = currentBlock.b;\n const isAsync = !!currentBlock.a; // !! is to booleanize it\n // if (isAsync && !env.async) {\n // throw SqrlErr(\"Async block or helper '\" + name + \"' in non-async env\")\n // }\n // Let compiler do this\n if (type === 'i') {\n if (env.defaultFilter) {\n content = \"c.l('F','\" + env.defaultFilter + \"')(\" + content + ')';\n }\n let filtered = filter(content, filters);\n if (!currentBlock.raw && env.autoEscape) {\n filtered = \"c.l('F','e')(\" + filtered + ')';\n }\n returnStr += 'tR+=' + filtered + ';';\n // reference\n } else if (type === 'h') {\n // helper\n if (env.storage.nativeHelpers.get(name)) {\n returnStr += env.storage.nativeHelpers.get(name)(currentBlock, env);\n } else {\n let helperReturn =\n (isAsync ? 'await ' : '') +\n \"c.l('H','\" +\n name +\n \"')(\" +\n compileHelper(\n env,\n res,\n (currentBlock as ParentTemplateObject).d,\n params,\n isAsync\n );\n if (blocks) {\n helperReturn += ',' + compileBlocks(blocks, env);\n } else {\n helperReturn += ',[]';\n }\n helperReturn += ',c)';\n\n returnStr += 'tR+=' + filter(helperReturn, filters) + ';';\n }\n } else if (type === 's') {\n // self-closing helper\n\n returnStr +=\n 'tR+=' +\n filter(\n (isAsync ? 'await ' : '') +\n \"c.l('H','\" +\n name +\n \"')({params:[\" +\n params +\n ']},[],c)',\n filters\n ) +\n ';';\n } else if (type === 'e') {\n // execute\n returnStr += content + '\\n';\n }\n }\n }\n\n return returnStr;\n}\n","import { copyProps } from './utils';\n\n/* TYPES */\n\ninterface Dict<T> {\n // Basically, an object where all keys point to a value of the same type\n [key: string]: T;\n}\n\n/* END TYPES */\n\nclass Cacher<T> {\n constructor(private cache: Dict<T>) {}\n define(key: string, val: T) {\n this.cache[key] = val;\n }\n get(key: string) {\n // string | array.\n // TODO: allow array of keys to look down\n // TODO: create plugin to allow referencing helpers, filters with dot notation\n return this.cache[key];\n }\n remove(key: string) {\n delete this.cache[key];\n }\n reset() {\n this.cache = {};\n }\n load(cacheObj: Dict<T>) {\n // TODO: this will err with deep objects and `storage` or `plugins` keys.\n // Update Feb 26: EDITED so it shouldn't err\n copyProps(this.cache, cacheObj, true);\n }\n}\n\nexport { Cacher };\n","import SqrlErr from './err';\n\nexport function errWithBlocksOrFilters(\n name: string,\n blocks: Array<any> | false, // false means don't check\n filters: Array<any> | false,\n native?: boolean\n) {\n if (blocks && blocks.length > 0) {\n throw SqrlErr(\n (native ? 'Native' : '') + \"Helper '\" + name + \"' doesn't accept blocks\"\n );\n }\n if (filters && filters.length > 0) {\n throw SqrlErr(\n (native ? 'Native' : '') + \"Helper '\" + name + \"' doesn't accept filters\"\n );\n }\n}\n\n/* ASYNC LOOP FNs */\nexport function asyncArrLoop(\n arr: Array<any>,\n index: number,\n fn: Function,\n res: string,\n cb: Function\n) {\n fn(arr[index], index).then(function (val: string) {\n res += val;\n if (index === arr.length - 1) {\n cb(res);\n } else {\n asyncArrLoop(arr, index + 1, fn, res, cb);\n }\n });\n}\n\nexport function asyncObjLoop(\n obj: { [index: string]: any },\n keys: Array<string>,\n index: number,\n fn: Function,\n res: string,\n cb: Function\n) {\n fn(keys[index], obj[keys[index]]).then(function (val: string) {\n res += val;\n if (index === keys.length - 1) {\n cb(res);\n } else {\n asyncObjLoop(obj, keys, index + 1, fn, res, cb);\n }\n });\n}\n\nconst escMap: EscapeMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n};\n\nexport function replaceChar(s: string): string {\n return escMap[s];\n}\n\nexport function XMLEscape(str: unknown) {\n // To deal with XSS. Based on Escape implementations of Mustache.JS and Marko, then customized.\n const newStr = String(str);\n if (/[&<>\"']/.test(newStr)) {\n return newStr.replace(/[&<>\"']/g, replaceChar);\n } else {\n return newStr;\n }\n}\n\n/* INTERFACES */\ninterface EscapeMap {\n '&': '&amp;';\n '<': '&lt;';\n '>': '&gt;';\n '\"': '&quot;';\n \"'\": '&#39;';\n [index: string]: string;\n}\n","import { Cacher } from './storage';\nimport SqrlErr from './err';\nimport { compileScope, compileScopeIntoFunction } from './compile-string';\nimport { hasOwnProp } from './utils';\nimport {\n errWithBlocksOrFilters,\n asyncArrLoop,\n asyncObjLoop,\n XMLEscape,\n} from './container-utils';\n\n/* TYPES */\n\nimport { SqrlConfig } from './config';\nimport { TemplateFunction } from './compile';\nimport { ParentTemplateObject } from './parse';\n\nexport interface HelperContent {\n exec: Function;\n params: Array<any>;\n async?: boolean;\n}\n\nexport interface HelperBlock extends HelperContent {\n name: string;\n}\n\nexport type HelperFunction = (\n content: HelperContent,\n blocks: Array<HelperBlock>,\n config: SqrlConfig\n) => string | Promise<string>;\n\nexport type FilterFunction = (...args: any[]) => any | Promise<any>;\n\ninterface IncludeHelperContent extends HelperContent {\n params: [string, object];\n}\n\ninterface GenericData {\n [index: string]: any;\n}\n\n/* END TYPES */\n\nconst templates = new Cacher<TemplateFunction>({});\n\n/* ASYNC LOOP FNs */\n\nconst helpers = new Cacher<HelperFunction>({\n each: function (content: HelperContent, blocks: Array<HelperBlock>) {\n let res = '';\n const arr = content.params[0];\n errWithBlocksOrFilters('each', blocks, false);\n\n if (content.async) {\n return new Promise(function (resolve) {\n asyncArrLoop(arr, 0, content.exec, res, resolve);\n });\n } else {\n for (let i = 0; i < arr.length; i++) {\n res += content.exec(arr[i], i);\n }\n return res;\n }\n },\n foreach: function (content: HelperContent, blocks: Array<HelperBlock>) {\n const obj = content.params[0];\n errWithBlocksOrFilters('foreach', blocks, false);\n\n if (content.async) {\n return new Promise(function (resolve) {\n asyncObjLoop(obj, Object.keys(obj), 0, content.exec, '', resolve);\n });\n } else {\n let res = '';\n\n for (const key in obj) {\n if (!hasOwnProp(obj, key)) continue;\n res += content.exec(key, obj[key]); // todo: check on order\n }\n return res;\n }\n },\n include: function (\n content: IncludeHelperContent,\n blocks: Array<HelperBlock>,\n config: SqrlConfig\n ): string {\n errWithBlocksOrFilters('include', blocks, false);\n const template = config.storage.templates.get(content.params[0]);\n if (!template) {\n throw SqrlErr('Could not fetch template \"' + content.params[0] + '\"');\n }\n return template(content.params[1], config);\n } as HelperFunction,\n extends: function (\n content: IncludeHelperContent,\n blocks: Array<HelperBlock>,\n config: SqrlConfig\n ): string {\n const data: GenericData = content.params[1] || {};\n data.content = content.exec();\n\n for (let i = 0; i < blocks.length; i++) {\n const currentBlock = blocks[i];\n data[currentBlock.name] = currentBlock.exec();\n }\n\n const template = config.storage.templates.get(content.params[0]);\n if (!template) {\n throw SqrlErr('Could not fetch template \"' + content.params[0] + '\"');\n }\n return template(data, config);\n } as HelperFunction,\n useScope: function (\n content: HelperContent,\n blocks: Array<HelperBlock>\n ): string {\n errWithBlocksOrFilters('useScope', blocks, false);\n\n return content.exec(content.params[0]);\n } as HelperFunction,\n});\n\nconst nativeHelpers = new Cacher<Function>({\n if: function (buffer: ParentTemplateObject, env: SqrlConfig) {\n errWithBlocksOrFilters('if', false, buffer.f, true);\n\n let returnStr = 'if(' + buffer.p + '){' + compileScope(buffer.d, env) + '}';\n if (buffer.b) {\n for (let i = 0; i < buffer.b.length; i++) {\n const currentBlock = buffer.b[i];\n if (currentBlock.n === 'else') {\n returnStr += 'else{' + compileScope(currentBlock.d, env) + '}';\n } else if (currentBlock.n === 'elif') {\n returnStr +=\n 'else if(' +\n currentBlock.p +\n '){' +\n compileScope(currentBlock.d, env) +\n '}';\n }\n }\n }\n return returnStr;\n },\n try: function (buffer: ParentTemplateObject, env: SqrlConfig) {\n errWithBlocksOrFilters('try', false, buffer.f, true);\n\n if (!buffer.b || buffer.b.length !== 1 || buffer.b[0].n !== 'catch') {\n throw SqrlErr(\"native helper 'try' only accepts 1 block, 'catch'\");\n }\n let returnStr = 'try{' + compileScope(buffer.d, env) + '}';\n\n const currentBlock = buffer.b[0];\n returnStr +=\n 'catch' +\n (currentBlock.res ? '(' + currentBlock.res + ')' : '') +\n '{' +\n compileScope(currentBlock.d, env) +\n '}';\n\n return returnStr;\n },\n block: function (buffer: ParentTemplateObject, env: SqrlConfig) {\n errWithBlocksOrFilters('block', buffer.b, buffer.f, true);\n\n const returnStr =\n 'if(!' +\n env.varName +\n '[' +\n buffer.p +\n ']){tR+=(' +\n compileScopeIntoFunction(buffer.d, '', env) +\n ')()}else{tR+=' +\n env.varName +\n '[' +\n buffer.p +\n ']}';\n\n return returnStr;\n },\n});\n\nconst filters = new Cacher<FilterFunction>({ e: XMLEscape });\n\nexport { templates, helpers, nativeHelpers, filters };\n","import {\n helpers,\n nativeHelpers,\n filters,\n templates,\n HelperFunction,\n FilterFunction,\n} from './containers';\nimport SqrlErr from './err';\nimport { copyProps } from './utils';\n\n/* TYPES */\n\nexport type FetcherFunction = (\n container: 'H' | 'F',\n name: string\n) => Function | undefined;\nimport { TemplateFunction } from './compile';\nimport { Cacher } from './storage';\n// import { TagType } from './parse'\n\ntype trimConfig = 'nl' | 'slurp' | false;\n\nexport interface SqrlConfig {\n varName: string;\n autoTrim: trimConfig | [trimConfig, trimConfig];\n rmWhitespace?: boolean;\n autoEscape: boolean;\n defaultFilter: false | string;\n tags: [string, string];\n l: FetcherFunction;\n plugins: Array<{ processFnString?: Function; processAST?: Function }>;\n async: boolean;\n storage: {\n helpers: Cacher<HelperFunction>;\n nativeHelpers: Cacher<Function>;\n filters: Cacher<FilterFunction>;\n templates: Cacher<TemplateFunction>;\n };\n prefixes: {\n h: string;\n b: string;\n i: string;\n r: string;\n c: string;\n e: string;\n [index: string]: string;\n };\n cache: boolean;\n views?: string | Array<string>;\n root?: string;\n filename?: string;\n name?: string;\n 'view cache'?: boolean;\n useWith?: boolean;\n [index: string]: any;\n}\n\nexport type PartialConfig = {\n [P in keyof SqrlConfig]?: SqrlConfig[P];\n};\n\n/* END TYPES */\n\nconst defaultConfig: SqrlConfig = {\n varName: 'it',\n autoTrim: [false, 'nl'],\n autoEscape: true,\n defaultFilter: false,\n tags: ['{{', '}}'],\n l: function (\n container: 'H' | 'F',\n name: string\n ): HelperFunction | FilterFunction | undefined {\n if (container === 'H') {\n const hRet = this.storage.helpers.get(name) as HelperFunction | undefined;\n if (hRet) {\n return hRet;\n } else {\n throw SqrlErr(\"Can't find helper '\" + name + \"'\");\n }\n } else if (container === 'F') {\n const fRet = this.storage.filters.get(name) as FilterFunction | undefined;\n if (fRet) {\n return fRet;\n } else {\n throw SqrlErr(\"Can't find filter '\" + name + \"'\");\n }\n }\n },\n async: false,\n storage: {\n helpers: helpers,\n nativeHelpers: nativeHelpers,\n filters: filters,\n templates: templates,\n },\n prefixes: {\n h: '@',\n b: '#',\n i: '',\n r: '*',\n c: '/',\n e: '!',\n },\n cache: false,\n plugins: [],\n useWith: false,\n};\n\ndefaultConfig.l.bind(defaultConfig);\n\nfunction getConfig(\n override: PartialConfig,\n baseConfig?: SqrlConfig\n): SqrlConfig {\n // TODO: run more tests on this\n\n const res: PartialConfig = {}; // Linked\n copyProps(res, defaultConfig); // Creates deep clone of res, 1 layer deep\n\n if (baseConfig) {\n copyProps(res, baseConfig);\n }\n\n if (override) {\n copyProps(res, override);\n }\n\n (res as SqrlConfig).l.bind(res);\n\n return res as SqrlConfig;\n}\n\nexport { defaultConfig, getConfig };\n","import compileToString from './compile-string';\nimport { getConfig, SqrlConfig, PartialConfig } from './config';\nimport { asyncFunc } from './utils';\nimport SqrlErr from './err';\n\n/* TYPES */\n\nexport type TemplateFunction = (\n data: object,\n config: SqrlConfig,\n cb?: any\n) => string;\n\n/* END TYPES */\n\nexport default function compile(\n str: string,\n env?: PartialConfig\n): TemplateFunction {\n const options: SqrlConfig = getConfig(env || {});\n let ctor = Function; // constructor\n\n /* ASYNC HANDLING */\n // The below code is modified from mde/ejs. All credit should go to them.\n if (options.async) {\n // Have to use generated function for this, since in envs without support,\n // it breaks in parsing\n if (asyncFunc) {\n ctor = asyncFunc;\n } else {\n throw SqrlErr(\"This environment doesn't support async/await\");\n }\n }\n\n /* END ASYNC HANDLING */\n try {\n return new ctor(\n options.varName,\n 'c', // SqrlConfig\n 'cb', // optional callback\n compileToString(str, options)\n ) as TemplateFunction;\n } catch (e) {\n if (e instanceof SyntaxError) {\n throw SqrlErr(\n 'Bad template syntax\\n\\n' +\n e.message +\n '\\n' +\n Array(e.message.length + 1).join('=') +\n '\\n' +\n compileToString(str, options)\n );\n } else {\n throw e;\n }\n }\n}\n","import compile, { TemplateFunction } from './compile';\nimport { getConfig, SqrlConfig, PartialConfig } from './config';\nimport { promiseImpl } from './utils';\nimport SqrlErr from './err';\n\n/* TYPES */\n\n/* END TYPES */\n\nfunction handleCache(\n template: string | TemplateFunction,\n options: SqrlConfig\n): TemplateFunction {\n let templateFunc;\n\n if (\n options.cache &&\n options.name &&\n options.storage.templates.get(options.name)\n ) {\n return options.storage.templates.get(options.name);\n }\n\n if (typeof template === 'function') {\n templateFunc = template;\n } else {\n templateFunc = compile(template, options);\n }\n\n if (options.cache && options.name) {\n options.storage.templates.define(options.name, templateFunc);\n }\n\n return templateFunc;\n}\n\nexport default function render(\n template: string | TemplateFunction,\n data: object,\n env?: PartialConfig,\n cb?: any\n) {\n const options = getConfig(env || {});\n\n if (options.async) {\n let result;\n if (!cb) {\n // No callback, try returning a promise\n if (typeof promiseImpl === 'function') {\n return new promiseImpl(function (resolve: Function, reject: Function) {\n try {\n result = handleCache(template, options)(data, options);\n resolve(result);\n } catch (err) {\n reject(err);\n }\n });\n } else {\n throw SqrlErr(\n \"Please provide a callback function, this env doesn't support Promises\"\n );\n }\n } else {\n try {\n handleCache(template, options)(data, options, cb);\n } catch (err) {\n return cb(err);\n }\n }\n } else {\n return handleCache(template, options)(data, options);\n }\n}\n","import * as squirrel from './squirrelly/browser';\nimport type { IndexResult, AlgoliaResultHit } from '../algolia-interface';\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 const 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 const 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 const 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 (str.match(/^http/) || !domain) return str;\n\n if (!str.startsWith('/')) str = '/' + str;\n return 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","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",":host {\n position: relative;\n display: block;\n\n ::slotted([slot='search-template']) {\n display: none !important;\n }\n}\n\n.loader {\n opacity: 0;\n position: fixed;\n block-size: 100%;\n inline-size: 100%;\n min-block-size: 100%;\n max-block-size: 100vh !important;\n max-inline-size: 100vw !important;\n inset-inline-start: 0;\n inset-block-start: 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 block-size: 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 inset-block-start: 0;\n inset-inline-start: 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 overflow 0.01s ease 0.31s;\n transform: translate(0, 0);\n visibility: visible;\n opacity: 1;\n z-index: 10;\n overflow: hidden;\n }\n\n &.shown {\n block-size: auto !important;\n inline-size: auto !important;\n display: block;\n position: static;\n transform: none;\n z-index: auto;\n visibility: inherit;\n opacity: initial;\n overflow: visible;\n }\n}\n","import {\n Component,\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 algoliasearch from 'algoliasearch/dist/algoliasearch-lite.esm.browser';\nimport { getDirectChildren } from '../../utils/dom';\nimport { PromiseQueue } from '../../utils/promise-queue';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\nimport { debounce } from '../../utils/throttle';\nimport { transformTag, h } from '../../utils/renderer';\nimport { Squirrel } from './lib/template';\nimport { Universe, SearchChangeEvent } from './algolia-data';\nimport type {\n SearchClient as AlgoliaClient,\n SearchIndex as AlgoliaIndex,\n} from 'algoliasearch/lite';\nimport type {\n AlgoliaMultiResult,\n IndexResult,\n AlgoliaResultHit,\n PageChangeEventDetail,\n SearchIndex,\n FilterChangeEventDetail,\n AlgoliaFacet,\n AppliedFilter,\n} from './algolia-interface';\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\n/**\n * Algolia search container to contain and sync nano-algolia-results and nano-algolia-filter components.\n * @slot search-input - optional. Should contain an `input` or `nano-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 /* eslint-disable @stencil-community/strict-mutable */\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 correct 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() 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 querySelector 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 @Watch('listenTo')\n handleListenToChange() {\n if (!this.listenTo) return;\n\n const foundInput = document.querySelector(this.listenTo);\n if (\n ['nano-input', 'input'].includes(foundInput.tagName.toLocaleLowerCase())\n ) {\n this.inputField = foundInput as HTMLNanoInputElement;\n }\n }\n\n /**\n * The query string used to search the index. Will automatically 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 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[]) => any = 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;\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<{\n meta: IndexResult;\n client: { apiKey: string; appId: string };\n }>;\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 (\n ev.target.tagName.toLowerCase() === transformTag('nano-algolia-results')\n ) {\n requestAnimationFrame(() => {\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 const dynFilterObj: FilterGroup = {};\n const 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({\n meta: this.indexResults,\n client: { appId: this.appId, apiKey: this.apiKey },\n });\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.searchIndex.hitsPerPage) this.searchIndex.hitsPerPage = 100;\n if (this.replicaIndex) this.searchIndex.index = this.replicaIndex;\n this.searchIndexName = this.searchIndex.index;\n this.algoliaIndex = this.algoliaClient.initIndex(this.searchIndex.index);\n this.searchChange();\n }\n }\n\n @Watch('showResults')\n showResultsChange() {\n if (!this.resultsDiv || !this.defaultDiv) return;\n\n if (this.showResults) {\n this.resultsDiv.style.width = this.host.scrollWidth + 'px';\n this.resultsDiv.style.minHeight = this.host.scrollHeight + 'px';\n\n writeTask(() => {\n this.resultsDiv.addEventListener('transitionend', this.onResultDisplay);\n this.resultsDiv.style.display = 'block';\n setTimeout(() => this.resultsDiv.classList.add('show'), 50);\n });\n } else {\n writeTask(() => {\n this.resultsDiv.classList.remove('shown');\n this.defaultDiv.style.display = 'block';\n setTimeout(() => {\n this.resultsDiv.addEventListener(\n 'transitionend',\n this.onResultDisplay\n );\n this.resultsDiv.classList.remove('show');\n\n if (this.slottedInput)\n this.slottedInput.focus({ preventScroll: true });\n else this.defaultDiv.focus({ preventScroll: true });\n }, 50);\n });\n }\n }\n\n @Watch('filters')\n handleFilterpropChange() {\n this.algoliaSearch(SearchChangeEvent.Init);\n }\n\n // Internal methods\n\n private fixDomain(results: AlgoliaMultiResult) {\n if (!this.searchIndex || !this.searchIndex.domain) return results;\n results.hits.map((hit) => {\n if (hit.url && !hit.url.match(/^http/))\n hit.url = location.protocol + '//' + this.searchIndex.domain + hit.url;\n });\n return results;\n }\n\n // Takes all current filters (dynamic and static)\n // and merges common filters' values togther\n private makeAppliedFilters = (): AppliedFilter[] => {\n const 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 const 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 const searchParams: any = {\n filters: this.algoliaFilterStr(),\n page: this.indexResults ? this.indexResults.currentPage : 0,\n clickAnalytics: true,\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 queryID: result.queryID,\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 totalHitsWithFilters: 0,\n results: [],\n totalPages: 0,\n appliedFilters: this.makeAppliedFilters(),\n indexName: this.searchIndex.name || null,\n index: this.searchIndex.index,\n searchIndex: this.searchIndex,\n };\n }\n\n this.indexResults.dynFilters = result.facets;\n this.indexResults.results = result.hits;\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 const 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 const outputTo = this.outputSlot || this.resultsDiv;\n\n if (!outputTo || !this.tpl) return 'no tpl';\n\n const tmpCont = document.createElement('div');\n tmpCont.innerHTML = this.tpl;\n\n const 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 `${transformTag('nano-algolia')}, ${transformTag(\n 'nano-algolia-filter'\n )}, ${transformTag('nano-algolia-results')}`\n )\n ).forEach((el, i) => {\n const 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)\n this.tpl = this.tplSlot.innerHTML || this.tplSlot.innerText;\n\n // get input field to listen to\n if (\n this.slottedInput &&\n (this.slottedInput.tagName.toLocaleLowerCase() ===\n transformTag('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 `${transformTag(\n 'nano-input'\n )}, input:not([type=\"radio\"]):not([type=\"checkbox\"])`\n );\n } else this.handleListenToChange();\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 'nano-algolia': true,\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 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"],"version":3}