@nanoporetech-digital/components 5.10.0 → 5.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (737) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/cjs/{algolia-data-6841724e.js → algolia-data-dba27b97.js} +2 -2
  3. package/dist/cjs/{algolia-data-6841724e.js.map → algolia-data-dba27b97.js.map} +1 -1
  4. package/dist/cjs/{algoliasearch-lite.esm.browser-992a2eff.js → algoliasearch-lite.esm.browser-b74ca774.js} +30 -5
  5. package/dist/cjs/algoliasearch-lite.esm.browser-b74ca774.js.map +1 -0
  6. package/dist/cjs/{component-store-6d7b8855.js → component-store-149aeffe.js} +2 -2
  7. package/dist/cjs/{component-store-6d7b8855.js.map → component-store-149aeffe.js.map} +1 -1
  8. package/dist/cjs/fade-dcabf3c1.js +211 -0
  9. package/dist/cjs/fade-dcabf3c1.js.map +1 -0
  10. package/dist/cjs/{form-control-8db579a2.js → form-control-f100407e.js} +2 -2
  11. package/dist/cjs/{form-control-8db579a2.js.map → form-control-f100407e.js.map} +1 -1
  12. package/dist/cjs/fullscreen-d24940a1.js +133 -0
  13. package/dist/cjs/fullscreen-d24940a1.js.map +1 -0
  14. package/dist/cjs/{global-3a6a7873.js → global-a5710651.js} +7 -7
  15. package/dist/cjs/{global-3a6a7873.js.map → global-a5710651.js.map} +1 -1
  16. package/dist/cjs/{index-1d3ebe1a.js → index-14451c95.js} +8 -6
  17. package/dist/cjs/index-14451c95.js.map +1 -0
  18. package/dist/cjs/{index-0f470227.js → index-f6f89d47.js} +2 -2
  19. package/dist/cjs/{index-0f470227.js.map → index-f6f89d47.js.map} +1 -1
  20. package/dist/cjs/lazyload-f6be7590.js +95 -0
  21. package/dist/cjs/lazyload-f6be7590.js.map +1 -0
  22. package/dist/cjs/loader.cjs.js +4 -4
  23. package/dist/cjs/loader.cjs.js.map +1 -1
  24. package/dist/cjs/nano-accordion.cjs.entry.js +1 -1
  25. package/dist/cjs/nano-alert.cjs.entry.js +3 -3
  26. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
  28. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -7
  30. package/dist/cjs/nano-algolia-pagination.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-algolia-results.cjs.entry.js +2 -2
  32. package/dist/cjs/nano-algolia-results.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nano-algolia.cjs.entry.js +982 -26
  34. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  35. package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
  36. package/dist/cjs/nano-checkbox-group.cjs.entry.js +10 -4
  37. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-checkbox.cjs.entry.js +4 -2
  39. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nano-components.cjs.js +4 -4
  41. package/dist/cjs/nano-components.cjs.js.map +1 -1
  42. package/dist/cjs/nano-datalist_3.cjs.entry.js +4 -4
  43. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  44. package/dist/cjs/nano-date-input.cjs.entry.js +1 -1
  45. package/dist/cjs/nano-date-picker.cjs.entry.js +2 -2
  46. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nano-demo.cjs.entry.js +1 -1
  48. package/dist/cjs/nano-details.cjs.entry.js +2 -2
  49. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nano-dialog.cjs.entry.js +5 -5
  51. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nano-drawer.cjs.entry.js +5 -5
  53. package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-dropdown.cjs.entry.js +1 -1
  55. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nano-field-validator.cjs.entry.js +7 -5
  57. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nano-file-upload.cjs.entry.js +2 -2
  59. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +4 -4
  61. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
  62. package/dist/cjs/nano-global-nav.cjs.entry.js +122 -153
  63. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  64. package/dist/cjs/nano-global-search-results.cjs.entry.js +3 -3
  65. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  66. package/dist/cjs/nano-grid-item.cjs.entry.js +1 -1
  67. package/dist/cjs/nano-grid_2.cjs.entry.js +2 -2
  68. package/dist/cjs/nano-grid_2.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nano-hero.cjs.entry.js +2 -2
  70. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nano-icon-button_2.cjs.entry.js +24 -4
  72. package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +1 -1
  73. package/dist/cjs/nano-icon.cjs.entry.js +4 -4
  74. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  75. package/dist/cjs/nano-input.cjs.entry.js +3 -3
  76. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  77. package/dist/cjs/nano-menu-drawer.cjs.entry.js +2 -2
  78. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  79. package/dist/cjs/nano-overflow-nav.cjs.entry.js +2 -2
  80. package/dist/cjs/nano-overflow-nav.cjs.entry.js.map +1 -1
  81. package/dist/cjs/nano-progress-bar.cjs.entry.js +2 -2
  82. package/dist/cjs/nano-progress-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  84. package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
  85. package/dist/cjs/nano-rating.cjs.entry.js +2 -2
  86. package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
  87. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +1 -1
  88. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  89. package/dist/cjs/nano-slides-2f3dcc02.js +2975 -0
  90. package/dist/cjs/nano-slides-2f3dcc02.js.map +1 -0
  91. package/dist/cjs/nano-slides.cjs.entry.js +3 -4292
  92. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  93. package/dist/cjs/nano-sortable.cjs.entry.js +1 -1
  94. package/dist/cjs/nano-spinner.cjs.entry.js +2 -2
  95. package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
  96. package/dist/cjs/nano-split-pane.cjs.entry.js +1 -1
  97. package/dist/cjs/nano-sticker.cjs.entry.js +3 -2
  98. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  99. package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
  100. package/dist/cjs/nano-tab-group.cjs.entry.js +4 -4
  101. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  102. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  103. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  104. package/dist/cjs/{nano-table-72d5dc63.js → nano-table-26845696.js} +5 -5
  105. package/dist/cjs/{nano-table-72d5dc63.js.map → nano-table-26845696.js.map} +1 -1
  106. package/dist/cjs/nano-table.cjs.entry.js +3 -3
  107. package/dist/cjs/page-dots-ae2cefb4.js +140 -0
  108. package/dist/cjs/page-dots-ae2cefb4.js.map +1 -0
  109. package/dist/cjs/{scroll-fc1b8387.js → scroll-e8c21f80.js} +8 -4
  110. package/dist/cjs/scroll-e8c21f80.js.map +1 -0
  111. package/dist/cjs/{table.worker-3df34efe.js → table.worker-a5996745.js} +4 -4
  112. package/dist/cjs/table.worker-a5996745.js.map +1 -0
  113. package/dist/collection/collection-manifest.json +1 -1
  114. package/dist/collection/components/alert/alert.css +1 -2
  115. package/dist/collection/components/algolia/algolia-data.js.map +1 -1
  116. package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
  117. package/dist/collection/components/algolia/algolia-pagination.js +0 -5
  118. package/dist/collection/components/algolia/algolia-pagination.js.map +1 -1
  119. package/dist/collection/components/algolia/algolia-results.js.map +1 -1
  120. package/dist/collection/components/algolia/algolia.js +4 -27
  121. package/dist/collection/components/algolia/algolia.js.map +1 -1
  122. package/dist/collection/components/algolia/lib/squirrelly/browser.js +10 -0
  123. package/dist/collection/components/algolia/lib/squirrelly/browser.js.map +1 -0
  124. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js +151 -0
  125. package/dist/collection/components/algolia/lib/squirrelly/compile-string.js.map +1 -0
  126. package/dist/collection/components/algolia/lib/squirrelly/compile.js +44 -0
  127. package/dist/collection/components/algolia/lib/squirrelly/compile.js.map +1 -0
  128. package/dist/collection/components/algolia/lib/squirrelly/config.js +68 -0
  129. package/dist/collection/components/algolia/lib/squirrelly/config.js.map +1 -0
  130. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js +57 -0
  131. package/dist/collection/components/algolia/lib/squirrelly/container-utils.js.map +1 -0
  132. package/dist/collection/components/algolia/lib/squirrelly/containers.js +128 -0
  133. package/dist/collection/components/algolia/lib/squirrelly/containers.js.map +1 -0
  134. package/dist/collection/components/algolia/lib/squirrelly/err.js +39 -0
  135. package/dist/collection/components/algolia/lib/squirrelly/err.js.map +1 -0
  136. package/dist/collection/components/algolia/lib/squirrelly/parse.js +327 -0
  137. package/dist/collection/components/algolia/lib/squirrelly/parse.js.map +1 -0
  138. package/dist/collection/components/algolia/lib/squirrelly/render.js +62 -0
  139. package/dist/collection/components/algolia/lib/squirrelly/render.js.map +1 -0
  140. package/dist/collection/components/algolia/lib/squirrelly/storage.js +32 -0
  141. package/dist/collection/components/algolia/lib/squirrelly/storage.js.map +1 -0
  142. package/dist/collection/components/algolia/lib/squirrelly/utils.js +102 -0
  143. package/dist/collection/components/algolia/lib/squirrelly/utils.js.map +1 -0
  144. package/dist/collection/{utils → components/algolia/lib}/template.js +1 -2
  145. package/dist/collection/components/algolia/lib/template.js.map +1 -0
  146. package/dist/collection/components/checkbox/checkbox-group.css +17 -15
  147. package/dist/collection/components/checkbox/checkbox-group.js +29 -2
  148. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  149. package/dist/collection/components/checkbox/checkbox.css +20 -22
  150. package/dist/collection/components/checkbox/checkbox.js +2 -0
  151. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  152. package/dist/collection/components/date-picker/date-picker.css +5 -10
  153. package/dist/collection/components/details/details.css +4 -4
  154. package/dist/collection/components/dialog/dialog.css +3 -6
  155. package/dist/collection/components/dialog/dialog.js +1 -1
  156. package/dist/collection/components/dialog/dialog.js.map +1 -1
  157. package/dist/collection/components/drawer/drawer.css +18 -24
  158. package/dist/collection/components/drawer/drawer.js +1 -1
  159. package/dist/collection/components/drawer/drawer.js.map +1 -1
  160. package/dist/collection/components/dropdown/dropdown.js +1 -1
  161. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  162. package/dist/collection/components/field-validator/field-validator.js +5 -3
  163. package/dist/collection/components/field-validator/field-validator.js.map +1 -1
  164. package/dist/collection/components/file-upload/file-upload.css +16 -30
  165. package/dist/collection/components/global-nav/global-nav.js +118 -157
  166. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  167. package/dist/collection/components/global-nav/style/global-nav.css +97 -138
  168. package/dist/collection/components/global-search-results/global-search-results.css +85 -127
  169. package/dist/collection/components/global-search-results/global-search-results.js +1 -1
  170. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  171. package/dist/collection/components/hero/hero.css +13 -26
  172. package/dist/collection/components/icon/icon.css +6 -6
  173. package/dist/collection/components/icon/icon.js +2 -2
  174. package/dist/collection/components/icon/icon.js.map +1 -1
  175. package/dist/collection/components/img/img.css +7 -17
  176. package/dist/collection/components/input/input.css +15 -36
  177. package/dist/collection/components/menu/menu.css +1 -1
  178. package/dist/collection/components/menu/menu.js +1 -1
  179. package/dist/collection/components/menu/menu.js.map +1 -1
  180. package/dist/collection/components/menu-drawer/menu-drawer.css +5 -14
  181. package/dist/collection/components/nav-item/nav-item.css +25 -46
  182. package/dist/collection/components/option/option.css +3 -5
  183. package/dist/collection/components/overflow-nav/overflow-nav.css +16 -27
  184. package/dist/collection/components/progress-bar/progress-bar.css +2 -2
  185. package/dist/collection/components/range/range.css +17 -19
  186. package/dist/collection/components/rating/rating.css +2 -8
  187. package/dist/collection/components/select/select.css +30 -53
  188. package/dist/collection/components/slides/lib/js/animate.js +29 -54
  189. package/dist/collection/components/slides/lib/js/animate.js.map +1 -0
  190. package/dist/collection/components/slides/lib/js/cell.js +12 -24
  191. package/dist/collection/components/slides/lib/js/cell.js.map +1 -0
  192. package/dist/collection/components/slides/lib/js/drag.js +65 -116
  193. package/dist/collection/components/slides/lib/js/drag.js.map +1 -0
  194. package/dist/collection/components/slides/lib/js/fade.js +52 -79
  195. package/dist/collection/components/slides/lib/js/fade.js.map +1 -0
  196. package/dist/collection/components/slides/lib/js/flickity.js +118 -206
  197. package/dist/collection/components/slides/lib/js/flickity.js.map +1 -0
  198. package/dist/collection/components/slides/lib/js/fullscreen.js +21 -40
  199. package/dist/collection/components/slides/lib/js/fullscreen.js.map +1 -0
  200. package/dist/collection/components/slides/lib/js/index.js +4 -6
  201. package/dist/collection/components/slides/lib/js/index.js.map +1 -0
  202. package/dist/collection/components/slides/lib/js/lazyload.js +21 -36
  203. package/dist/collection/components/slides/lib/js/lazyload.js.map +1 -0
  204. package/dist/collection/components/slides/lib/js/page-dots.js +21 -45
  205. package/dist/collection/components/slides/lib/js/page-dots.js.map +1 -0
  206. package/dist/collection/components/slides/lib/js/player.js +12 -40
  207. package/dist/collection/components/slides/lib/js/player.js.map +1 -0
  208. package/dist/collection/components/slides/lib/js/prev-next-button.js +24 -52
  209. package/dist/collection/components/slides/lib/js/prev-next-button.js.map +1 -0
  210. package/dist/collection/components/slides/lib/js/slide.js +10 -15
  211. package/dist/collection/components/slides/lib/js/slide.js.map +1 -0
  212. package/dist/collection/components/slides/lib/js/utils/event-emitter.js +75 -0
  213. package/dist/collection/components/slides/lib/js/utils/event-emitter.js.map +1 -0
  214. package/dist/collection/components/slides/lib/js/utils/gestures.js +436 -0
  215. package/dist/collection/components/slides/lib/js/utils/gestures.js.map +1 -0
  216. package/dist/collection/components/slides/lib/js/utils/get-size.js +160 -0
  217. package/dist/collection/components/slides/lib/js/utils/get-size.js.map +1 -0
  218. package/dist/collection/components/slides/lib/js/utils/utils.js +166 -0
  219. package/dist/collection/components/slides/lib/js/utils/utils.js.map +1 -0
  220. package/dist/collection/components/slides/slides.css +18 -19
  221. package/dist/collection/components/slides/slides.js +31 -5
  222. package/dist/collection/components/slides/slides.js.map +1 -1
  223. package/dist/collection/components/spinner/spinner.css +1 -2
  224. package/dist/collection/components/sticker/sticker.js +2 -1
  225. package/dist/collection/components/sticker/sticker.js.map +1 -1
  226. package/dist/collection/components/table/table.css +29 -48
  227. package/dist/collection/components/tabs/tab-group.css +10 -14
  228. package/dist/collection/components/tabs/tab.css +8 -18
  229. package/dist/collection/components/tooltip/tooltip.css +34 -31
  230. package/dist/collection/components/tooltip/tooltip.js +23 -3
  231. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  232. package/dist/collection/global/script/global.js +6 -6
  233. package/dist/collection/global/script/global.js.map +1 -1
  234. package/dist/collection/utils/scroll.js +7 -3
  235. package/dist/collection/utils/scroll.js.map +1 -1
  236. package/dist/components/algolia-data.js.map +1 -1
  237. package/dist/components/algolia.js +978 -23
  238. package/dist/components/algolia.js.map +1 -1
  239. package/dist/components/algoliasearch-lite.esm.browser.js +29 -4
  240. package/dist/components/algoliasearch-lite.esm.browser.js.map +1 -1
  241. package/dist/components/date-picker.js +1 -1
  242. package/dist/components/date-picker.js.map +1 -1
  243. package/dist/components/dropdown.js +1 -1
  244. package/dist/components/dropdown.js.map +1 -1
  245. package/dist/components/fade.js +208 -0
  246. package/dist/components/fade.js.map +1 -0
  247. package/dist/components/fullscreen.js +130 -0
  248. package/dist/components/fullscreen.js.map +1 -0
  249. package/dist/components/icon.js +3 -3
  250. package/dist/components/icon.js.map +1 -1
  251. package/dist/components/img.js +1 -1
  252. package/dist/components/img.js.map +1 -1
  253. package/dist/components/index.js +6 -6
  254. package/dist/components/index.js.map +1 -1
  255. package/dist/components/input.js +1 -1
  256. package/dist/components/input.js.map +1 -1
  257. package/dist/components/lazyload.js +92 -0
  258. package/dist/components/lazyload.js.map +1 -0
  259. package/dist/components/menu.js +2 -2
  260. package/dist/components/menu.js.map +1 -1
  261. package/dist/components/nano-alert.js +1 -1
  262. package/dist/components/nano-alert.js.map +1 -1
  263. package/dist/components/nano-algolia-filter.js.map +1 -1
  264. package/dist/components/nano-algolia-pagination.js +0 -5
  265. package/dist/components/nano-algolia-pagination.js.map +1 -1
  266. package/dist/components/nano-algolia-results.js.map +1 -1
  267. package/dist/components/nano-checkbox-group.js +10 -3
  268. package/dist/components/nano-checkbox-group.js.map +1 -1
  269. package/dist/components/nano-checkbox.js +3 -1
  270. package/dist/components/nano-checkbox.js.map +1 -1
  271. package/dist/components/nano-details.js +1 -1
  272. package/dist/components/nano-details.js.map +1 -1
  273. package/dist/components/nano-dialog.js +2 -2
  274. package/dist/components/nano-dialog.js.map +1 -1
  275. package/dist/components/nano-drawer.js +2 -2
  276. package/dist/components/nano-drawer.js.map +1 -1
  277. package/dist/components/nano-field-validator.js +5 -3
  278. package/dist/components/nano-field-validator.js.map +1 -1
  279. package/dist/components/nano-file-upload.js +1 -1
  280. package/dist/components/nano-file-upload.js.map +1 -1
  281. package/dist/components/nano-global-nav.js +119 -152
  282. package/dist/components/nano-global-nav.js.map +1 -1
  283. package/dist/components/nano-global-search-results.js +2 -2
  284. package/dist/components/nano-global-search-results.js.map +1 -1
  285. package/dist/components/nano-hero.js +1 -1
  286. package/dist/components/nano-hero.js.map +1 -1
  287. package/dist/components/nano-menu-drawer.js +1 -1
  288. package/dist/components/nano-menu-drawer.js.map +1 -1
  289. package/dist/components/nano-overflow-nav.js +1 -1
  290. package/dist/components/nano-overflow-nav.js.map +1 -1
  291. package/dist/components/nano-range.js +1 -1
  292. package/dist/components/nano-range.js.map +1 -1
  293. package/dist/components/nano-rating.js +1 -1
  294. package/dist/components/nano-rating.js.map +1 -1
  295. package/dist/components/nano-slides.js +760 -2090
  296. package/dist/components/nano-slides.js.map +1 -1
  297. package/dist/components/nano-tab-group.js +1 -1
  298. package/dist/components/nano-tab-group.js.map +1 -1
  299. package/dist/components/nano-tab.js +1 -1
  300. package/dist/components/nano-tab.js.map +1 -1
  301. package/dist/components/nav-item.js +1 -1
  302. package/dist/components/nav-item.js.map +1 -1
  303. package/dist/components/option.js +1 -1
  304. package/dist/components/option.js.map +1 -1
  305. package/dist/components/page-dots.js +137 -0
  306. package/dist/components/page-dots.js.map +1 -0
  307. package/dist/components/progress-bar.js +1 -1
  308. package/dist/components/progress-bar.js.map +1 -1
  309. package/dist/components/scroll.js +7 -3
  310. package/dist/components/scroll.js.map +1 -1
  311. package/dist/components/select.js +1 -1
  312. package/dist/components/select.js.map +1 -1
  313. package/dist/components/spinner.js +1 -1
  314. package/dist/components/spinner.js.map +1 -1
  315. package/dist/components/sticker.js +2 -1
  316. package/dist/components/sticker.js.map +1 -1
  317. package/dist/components/table.js +1 -1
  318. package/dist/components/table.js.map +1 -1
  319. package/dist/components/tooltip.js +24 -4
  320. package/dist/components/tooltip.js.map +1 -1
  321. package/dist/esm/{algolia-data-ebf2a439.js → algolia-data-1b42827c.js} +2 -2
  322. package/dist/esm/{algolia-data-ebf2a439.js.map → algolia-data-1b42827c.js.map} +1 -1
  323. package/dist/esm/{algoliasearch-lite.esm.browser-04891fdc.js → algoliasearch-lite.esm.browser-d71a28dc.js} +30 -5
  324. package/dist/esm/algoliasearch-lite.esm.browser-d71a28dc.js.map +1 -0
  325. package/dist/esm/{component-store-54df2005.js → component-store-f7eb0a56.js} +2 -2
  326. package/dist/esm/{component-store-54df2005.js.map → component-store-f7eb0a56.js.map} +1 -1
  327. package/dist/esm/fade-1aa7a6db.js +209 -0
  328. package/dist/esm/fade-1aa7a6db.js.map +1 -0
  329. package/dist/esm/{form-control-eb06e009.js → form-control-881fa3af.js} +2 -2
  330. package/dist/esm/{form-control-eb06e009.js.map → form-control-881fa3af.js.map} +1 -1
  331. package/dist/esm/fullscreen-86fa276a.js +131 -0
  332. package/dist/esm/fullscreen-86fa276a.js.map +1 -0
  333. package/dist/esm/{global-f6e05656.js → global-be484e8c.js} +7 -7
  334. package/dist/esm/{global-f6e05656.js.map → global-be484e8c.js.map} +1 -1
  335. package/dist/esm/{index-e8891229.js → index-3003356f.js} +2 -2
  336. package/dist/esm/{index-e8891229.js.map → index-3003356f.js.map} +1 -1
  337. package/dist/esm/{index-06666022.js → index-9695db0a.js} +8 -6
  338. package/dist/esm/index-9695db0a.js.map +1 -0
  339. package/dist/esm/lazyload-994232a6.js +93 -0
  340. package/dist/esm/lazyload-994232a6.js.map +1 -0
  341. package/dist/esm/loader.js +5 -5
  342. package/dist/esm/loader.js.map +1 -1
  343. package/dist/esm/nano-accordion.entry.js +1 -1
  344. package/dist/esm/nano-alert.entry.js +3 -3
  345. package/dist/esm/nano-alert.entry.js.map +1 -1
  346. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  347. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  348. package/dist/esm/nano-algolia-pagination.entry.js +2 -7
  349. package/dist/esm/nano-algolia-pagination.entry.js.map +1 -1
  350. package/dist/esm/nano-algolia-results.entry.js +2 -2
  351. package/dist/esm/nano-algolia-results.entry.js.map +1 -1
  352. package/dist/esm/nano-algolia.entry.js +982 -26
  353. package/dist/esm/nano-algolia.entry.js.map +1 -1
  354. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  355. package/dist/esm/nano-checkbox-group.entry.js +10 -4
  356. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  357. package/dist/esm/nano-checkbox.entry.js +4 -2
  358. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  359. package/dist/esm/nano-components.js +5 -5
  360. package/dist/esm/nano-components.js.map +1 -1
  361. package/dist/esm/nano-datalist_3.entry.js +4 -4
  362. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  363. package/dist/esm/nano-date-input.entry.js +1 -1
  364. package/dist/esm/nano-date-picker.entry.js +2 -2
  365. package/dist/esm/nano-date-picker.entry.js.map +1 -1
  366. package/dist/esm/nano-demo.entry.js +1 -1
  367. package/dist/esm/nano-details.entry.js +2 -2
  368. package/dist/esm/nano-details.entry.js.map +1 -1
  369. package/dist/esm/nano-dialog.entry.js +5 -5
  370. package/dist/esm/nano-dialog.entry.js.map +1 -1
  371. package/dist/esm/nano-drawer.entry.js +5 -5
  372. package/dist/esm/nano-drawer.entry.js.map +1 -1
  373. package/dist/esm/nano-dropdown.entry.js +1 -1
  374. package/dist/esm/nano-dropdown.entry.js.map +1 -1
  375. package/dist/esm/nano-field-validator.entry.js +7 -5
  376. package/dist/esm/nano-field-validator.entry.js.map +1 -1
  377. package/dist/esm/nano-file-upload.entry.js +2 -2
  378. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  379. package/dist/esm/nano-global-nav-user-profile_3.entry.js +4 -4
  380. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  381. package/dist/esm/nano-global-nav.entry.js +122 -153
  382. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  383. package/dist/esm/nano-global-search-results.entry.js +3 -3
  384. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  385. package/dist/esm/nano-grid-item.entry.js +1 -1
  386. package/dist/esm/nano-grid_2.entry.js +2 -2
  387. package/dist/esm/nano-grid_2.entry.js.map +1 -1
  388. package/dist/esm/nano-hero.entry.js +2 -2
  389. package/dist/esm/nano-hero.entry.js.map +1 -1
  390. package/dist/esm/nano-icon-button_2.entry.js +24 -4
  391. package/dist/esm/nano-icon-button_2.entry.js.map +1 -1
  392. package/dist/esm/nano-icon.entry.js +4 -4
  393. package/dist/esm/nano-icon.entry.js.map +1 -1
  394. package/dist/esm/nano-input.entry.js +3 -3
  395. package/dist/esm/nano-input.entry.js.map +1 -1
  396. package/dist/esm/nano-menu-drawer.entry.js +2 -2
  397. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  398. package/dist/esm/nano-overflow-nav.entry.js +2 -2
  399. package/dist/esm/nano-overflow-nav.entry.js.map +1 -1
  400. package/dist/esm/nano-progress-bar.entry.js +2 -2
  401. package/dist/esm/nano-progress-bar.entry.js.map +1 -1
  402. package/dist/esm/nano-range.entry.js +2 -2
  403. package/dist/esm/nano-range.entry.js.map +1 -1
  404. package/dist/esm/nano-rating.entry.js +2 -2
  405. package/dist/esm/nano-rating.entry.js.map +1 -1
  406. package/dist/esm/nano-resize-observe_2.entry.js +1 -1
  407. package/dist/esm/nano-slide.entry.js +1 -1
  408. package/dist/esm/nano-slides-9908c44d.js +2970 -0
  409. package/dist/esm/nano-slides-9908c44d.js.map +1 -0
  410. package/dist/esm/nano-slides.entry.js +2 -4295
  411. package/dist/esm/nano-slides.entry.js.map +1 -1
  412. package/dist/esm/nano-sortable.entry.js +1 -1
  413. package/dist/esm/nano-spinner.entry.js +2 -2
  414. package/dist/esm/nano-spinner.entry.js.map +1 -1
  415. package/dist/esm/nano-split-pane.entry.js +1 -1
  416. package/dist/esm/nano-sticker.entry.js +3 -2
  417. package/dist/esm/nano-sticker.entry.js.map +1 -1
  418. package/dist/esm/nano-tab-content.entry.js +1 -1
  419. package/dist/esm/nano-tab-group.entry.js +4 -4
  420. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  421. package/dist/esm/nano-tab.entry.js +2 -2
  422. package/dist/esm/nano-tab.entry.js.map +1 -1
  423. package/dist/esm/{nano-table-5af42ba4.js → nano-table-55d753cb.js} +5 -5
  424. package/dist/esm/{nano-table-5af42ba4.js.map → nano-table-55d753cb.js.map} +1 -1
  425. package/dist/esm/nano-table.entry.js +3 -3
  426. package/dist/esm/page-dots-467ace2e.js +138 -0
  427. package/dist/esm/page-dots-467ace2e.js.map +1 -0
  428. package/dist/esm/{scroll-ec7ac257.js → scroll-ac332213.js} +8 -4
  429. package/dist/esm/scroll-ac332213.js.map +1 -0
  430. package/dist/esm/{table.worker-3cae908c.js → table.worker-34706ecc.js} +4 -4
  431. package/dist/esm/table.worker-34706ecc.js.map +1 -0
  432. package/dist/nano-components/{p-74a7fc4f.js → active-element-75b7c8a0.js} +1 -1
  433. package/dist/nano-components/algolia-data-1b42827c.js +5 -0
  434. package/dist/nano-components/{p-a26bdb65.js.map → algolia-data-1b42827c.js.map} +1 -1
  435. package/dist/nano-components/algoliasearch-lite.esm.browser-d71a28dc.js +5 -0
  436. package/dist/nano-components/algoliasearch-lite.esm.browser-d71a28dc.js.map +1 -0
  437. package/dist/nano-components/component-store-f7eb0a56.js +5 -0
  438. package/dist/nano-components/{p-dd5687db.js.map → component-store-f7eb0a56.js.map} +1 -1
  439. package/dist/nano-components/{p-cecb9af1.js → date-utils-6b7a6e1f.js} +1 -1
  440. package/dist/nano-components/{p-cdfc507e.js → dom-8599fac1.js} +1 -1
  441. package/dist/nano-components/{p-842cf127.js → drag-1723a4cc.js} +1 -1
  442. package/dist/nano-components/{p-9bfdee71.js → events-6a805b42.js} +1 -1
  443. package/dist/nano-components/fade-1aa7a6db.js +5 -0
  444. package/dist/nano-components/fade-1aa7a6db.js.map +1 -0
  445. package/dist/nano-components/{p-f8f89998.js → focus-visible-8b2c14da.js} +1 -1
  446. package/dist/nano-components/form-control-881fa3af.js +5 -0
  447. package/dist/nano-components/{p-dc805ecc.js.map → form-control-881fa3af.js.map} +1 -1
  448. package/dist/nano-components/fullscreen-86fa276a.js +5 -0
  449. package/dist/nano-components/fullscreen-86fa276a.js.map +1 -0
  450. package/dist/nano-components/{p-d4f6ec9f.js → global-be484e8c.js} +2 -2
  451. package/dist/nano-components/{p-d4f6ec9f.js.map → global-be484e8c.js.map} +1 -1
  452. package/dist/nano-components/index-3003356f.js +5 -0
  453. package/dist/nano-components/{p-70747f20.js.map → index-3003356f.js.map} +1 -1
  454. package/dist/nano-components/{p-d6a04b3a.js → index-9695db0a.js} +2 -2
  455. package/dist/nano-components/{p-d6a04b3a.js.map → index-9695db0a.js.map} +1 -1
  456. package/dist/nano-components/{p-bb07c3d0.js → index-f626f476.js} +1 -1
  457. package/dist/nano-components/index.esm.js +1 -1
  458. package/dist/nano-components/index.esm.js.map +1 -1
  459. package/dist/nano-components/lazyload-994232a6.js +5 -0
  460. package/dist/nano-components/lazyload-994232a6.js.map +1 -0
  461. package/dist/nano-components/{p-2155fc2c.js → local-my-account-6662da72.js} +1 -1
  462. package/dist/nano-components/{p-ee045579.js → math-c02ddfda.js} +1 -1
  463. package/dist/nano-components/modal-bd9638c0.js +5 -0
  464. package/dist/nano-components/{p-2234694a.js.map → modal-bd9638c0.js.map} +1 -1
  465. package/dist/nano-components/nano-accordion.entry.js +5 -0
  466. package/dist/nano-components/{p-9f60ff14.entry.js.map → nano-accordion.entry.js.map} +1 -1
  467. package/dist/nano-components/nano-alert.entry.js +5 -0
  468. package/dist/nano-components/{p-191352c4.entry.js.map → nano-alert.entry.js.map} +1 -1
  469. package/dist/nano-components/nano-algolia-filter.entry.js +5 -0
  470. package/dist/nano-components/nano-algolia-filter.entry.js.map +1 -0
  471. package/dist/nano-components/nano-algolia-pagination.entry.js +5 -0
  472. package/dist/nano-components/nano-algolia-pagination.entry.js.map +1 -0
  473. package/dist/nano-components/nano-algolia-results.entry.js +5 -0
  474. package/dist/nano-components/nano-algolia-results.entry.js.map +1 -0
  475. package/dist/nano-components/nano-algolia.entry.js +5 -0
  476. package/dist/nano-components/nano-algolia.entry.js.map +1 -0
  477. package/dist/nano-components/nano-aspect-ratio.entry.js +5 -0
  478. package/dist/nano-components/{p-87329424.entry.js.map → nano-aspect-ratio.entry.js.map} +1 -1
  479. package/dist/nano-components/nano-checkbox-group.entry.js +5 -0
  480. package/dist/nano-components/nano-checkbox-group.entry.js.map +1 -0
  481. package/dist/nano-components/nano-checkbox.entry.js +5 -0
  482. package/dist/nano-components/nano-checkbox.entry.js.map +1 -0
  483. package/dist/nano-components/nano-components.css +1 -1
  484. package/dist/nano-components/nano-components.esm.js +1 -1
  485. package/dist/nano-components/nano-components.esm.js.map +1 -1
  486. package/dist/nano-components/nano-datalist_3.entry.js +5 -0
  487. package/dist/nano-components/nano-datalist_3.entry.js.map +1 -0
  488. package/dist/nano-components/nano-date-input.entry.js +5 -0
  489. package/dist/nano-components/{p-d4e44f93.entry.js.map → nano-date-input.entry.js.map} +1 -1
  490. package/dist/nano-components/nano-date-picker.entry.js +5 -0
  491. package/dist/nano-components/{p-efd3e121.entry.js.map → nano-date-picker.entry.js.map} +1 -1
  492. package/dist/nano-components/nano-demo.entry.js +5 -0
  493. package/dist/nano-components/{p-e98835e2.entry.js.map → nano-demo.entry.js.map} +1 -1
  494. package/dist/nano-components/nano-details.entry.js +5 -0
  495. package/dist/nano-components/nano-details.entry.js.map +1 -0
  496. package/dist/nano-components/nano-dialog.entry.js +5 -0
  497. package/dist/nano-components/{p-79fff4fd.entry.js.map → nano-dialog.entry.js.map} +1 -1
  498. package/dist/nano-components/nano-drawer.entry.js +5 -0
  499. package/dist/nano-components/nano-drawer.entry.js.map +1 -0
  500. package/dist/nano-components/nano-dropdown.entry.js +5 -0
  501. package/dist/nano-components/nano-dropdown.entry.js.map +1 -0
  502. package/dist/nano-components/nano-field-validator.entry.js +5 -0
  503. package/dist/nano-components/nano-field-validator.entry.js.map +1 -0
  504. package/dist/nano-components/nano-file-upload.entry.js +5 -0
  505. package/dist/nano-components/nano-file-upload.entry.js.map +1 -0
  506. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +5 -0
  507. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +1 -0
  508. package/dist/nano-components/nano-global-nav.entry.js +5 -0
  509. package/dist/nano-components/nano-global-nav.entry.js.map +1 -0
  510. package/dist/nano-components/nano-global-search-results.entry.js +5 -0
  511. package/dist/nano-components/nano-global-search-results.entry.js.map +1 -0
  512. package/dist/nano-components/nano-grid-item.entry.js +5 -0
  513. package/dist/nano-components/{p-9c290055.entry.js.map → nano-grid-item.entry.js.map} +1 -1
  514. package/dist/nano-components/nano-grid_2.entry.js +5 -0
  515. package/dist/nano-components/{p-7c82af28.entry.js.map → nano-grid_2.entry.js.map} +1 -1
  516. package/dist/nano-components/nano-hero.entry.js +5 -0
  517. package/dist/nano-components/{p-328ef9d3.entry.js.map → nano-hero.entry.js.map} +1 -1
  518. package/dist/nano-components/nano-icon-button_2.entry.js +5 -0
  519. package/dist/nano-components/nano-icon-button_2.entry.js.map +1 -0
  520. package/dist/nano-components/nano-icon.entry.js +5 -0
  521. package/dist/nano-components/nano-icon.entry.js.map +1 -0
  522. package/dist/nano-components/nano-input.entry.js +5 -0
  523. package/dist/nano-components/nano-input.entry.js.map +1 -0
  524. package/dist/nano-components/nano-menu-drawer.entry.js +5 -0
  525. package/dist/nano-components/nano-menu-drawer.entry.js.map +1 -0
  526. package/dist/nano-components/nano-overflow-nav.entry.js +5 -0
  527. package/dist/nano-components/nano-overflow-nav.entry.js.map +1 -0
  528. package/dist/nano-components/nano-progress-bar.entry.js +5 -0
  529. package/dist/nano-components/nano-progress-bar.entry.js.map +1 -0
  530. package/dist/nano-components/nano-range.entry.js +5 -0
  531. package/dist/nano-components/nano-range.entry.js.map +1 -0
  532. package/dist/nano-components/nano-rating.entry.js +5 -0
  533. package/dist/nano-components/nano-rating.entry.js.map +1 -0
  534. package/dist/nano-components/nano-resize-observe_2.entry.js +5 -0
  535. package/dist/nano-components/{p-e6a0675e.entry.js.map → nano-resize-observe_2.entry.js.map} +1 -1
  536. package/dist/nano-components/nano-slide.entry.js +5 -0
  537. package/dist/nano-components/{p-3d8fb8a1.entry.js.map → nano-slide.entry.js.map} +1 -1
  538. package/dist/nano-components/nano-slides-9908c44d.js +20 -0
  539. package/dist/nano-components/nano-slides-9908c44d.js.map +1 -0
  540. package/dist/nano-components/nano-slides.entry.js +5 -0
  541. package/dist/nano-components/nano-sortable.entry.js +5 -0
  542. package/dist/nano-components/{p-3ae362ae.entry.js.map → nano-sortable.entry.js.map} +1 -1
  543. package/dist/nano-components/nano-spinner.entry.js +5 -0
  544. package/dist/nano-components/{p-9925e504.entry.js.map → nano-spinner.entry.js.map} +1 -1
  545. package/dist/nano-components/nano-split-pane.entry.js +5 -0
  546. package/dist/nano-components/{p-6c4171fa.entry.js.map → nano-split-pane.entry.js.map} +1 -1
  547. package/dist/nano-components/nano-sticker.entry.js +5 -0
  548. package/dist/nano-components/nano-sticker.entry.js.map +1 -0
  549. package/dist/nano-components/nano-tab-content.entry.js +5 -0
  550. package/dist/nano-components/{p-3f40e370.entry.js.map → nano-tab-content.entry.js.map} +1 -1
  551. package/dist/nano-components/nano-tab-group.entry.js +5 -0
  552. package/dist/nano-components/nano-tab-group.entry.js.map +1 -0
  553. package/dist/nano-components/nano-tab.entry.js +5 -0
  554. package/dist/nano-components/{p-3cac5f6d.entry.js.map → nano-tab.entry.js.map} +1 -1
  555. package/dist/nano-components/nano-table-55d753cb.js +5 -0
  556. package/dist/nano-components/nano-table-55d753cb.js.map +1 -0
  557. package/dist/nano-components/nano-table.entry.js +5 -0
  558. package/dist/nano-components/page-dots-467ace2e.js +5 -0
  559. package/dist/nano-components/page-dots-467ace2e.js.map +1 -0
  560. package/dist/nano-components/{p-cd1fd454.js → popover-e5e7a641.js} +1 -1
  561. package/dist/nano-components/scroll-ac332213.js +5 -0
  562. package/dist/nano-components/scroll-ac332213.js.map +1 -0
  563. package/dist/nano-components/{p-dc565459.js → slot-8126e238.js} +1 -1
  564. package/dist/nano-components/{p-f88fa15c.js → tabbable-26a66a22.js} +1 -1
  565. package/dist/nano-components/table.worker-34706ecc.js +5 -0
  566. package/dist/nano-components/{p-411bb8f1.js → theme-82feb8cf.js} +1 -1
  567. package/dist/nano-components/{p-7bff5224.js → throttle-ac4fcefa.js} +1 -1
  568. package/dist/nano-components/{p-c3e8e3f9.js → transitions-fb09eb32.js} +1 -1
  569. package/dist/themes/nanopore.cn.css +1 -1
  570. package/dist/themes/nanopore.cn.css.map +1 -1
  571. package/dist/themes/nanopore.css +1 -1
  572. package/dist/themes/nanopore.css.map +1 -1
  573. package/dist/types/components/algolia/algolia-data.d.ts +1 -1
  574. package/dist/types/components/algolia/algolia-filter.d.ts +1 -1
  575. package/dist/types/components/algolia/algolia-pagination.d.ts +1 -1
  576. package/dist/types/components/algolia/algolia-results.d.ts +1 -1
  577. package/dist/types/components/algolia/algolia.d.ts +1 -7
  578. package/dist/types/components/algolia/lib/squirrelly/browser.d.ts +6 -0
  579. package/dist/types/components/algolia/lib/squirrelly/compile-string.d.ts +5 -0
  580. package/dist/types/components/algolia/lib/squirrelly/compile.d.ts +3 -0
  581. package/dist/types/components/algolia/lib/squirrelly/config.d.ts +48 -0
  582. package/dist/types/components/algolia/lib/squirrelly/container-utils.d.ts +8 -0
  583. package/dist/types/components/algolia/lib/squirrelly/containers.d.ts +18 -0
  584. package/dist/types/components/algolia/lib/squirrelly/err.d.ts +6 -0
  585. package/dist/types/components/algolia/lib/squirrelly/parse.d.ts +23 -0
  586. package/dist/types/components/algolia/lib/squirrelly/render.d.ts +3 -0
  587. package/dist/types/components/algolia/lib/squirrelly/storage.d.ts +13 -0
  588. package/dist/types/components/algolia/lib/squirrelly/utils.d.ts +8 -0
  589. package/dist/types/components/algolia/lib/template.d.ts +2 -0
  590. package/dist/types/components/checkbox/checkbox-group.d.ts +5 -0
  591. package/dist/types/components/global-nav/global-nav.d.ts +15 -20
  592. package/dist/types/components/slides/lib/js/animate.d.ts +2 -0
  593. package/dist/types/components/slides/lib/js/cell.d.ts +1 -0
  594. package/dist/types/components/slides/lib/js/drag.d.ts +1 -0
  595. package/dist/types/components/slides/lib/js/fade.d.ts +1 -0
  596. package/dist/types/components/slides/lib/js/flickity.d.ts +23 -0
  597. package/dist/types/components/slides/lib/js/fullscreen.d.ts +1 -0
  598. package/dist/types/components/slides/lib/js/index.d.ts +5 -0
  599. package/dist/types/components/slides/lib/js/lazyload.d.ts +1 -0
  600. package/dist/types/components/slides/lib/js/page-dots.d.ts +1 -0
  601. package/dist/types/components/slides/lib/js/player.d.ts +1 -0
  602. package/dist/types/components/slides/lib/js/prev-next-button.d.ts +1 -0
  603. package/dist/types/components/slides/lib/js/slide.d.ts +1 -0
  604. package/dist/types/components/slides/lib/js/utils/event-emitter.d.ts +1 -0
  605. package/dist/types/components/slides/lib/js/utils/gestures.d.ts +26 -0
  606. package/dist/types/components/slides/lib/js/utils/get-size.d.ts +6 -0
  607. package/dist/types/components/slides/lib/js/utils/utils.d.ts +5 -0
  608. package/dist/types/components/slides/slides-interface.d.ts +17 -7
  609. package/dist/types/components/slides/slides.d.ts +5 -0
  610. package/dist/types/components.d.ts +10 -10
  611. package/dist/types/utils/scroll.d.ts +5 -1
  612. package/docs-json.json +33 -24
  613. package/docs-vscode.json +4 -0
  614. package/hydrate/index.js +4147 -3953
  615. package/package.json +5 -8
  616. package/dist/cjs/_commonjsHelpers-29614748.js +0 -30
  617. package/dist/cjs/_commonjsHelpers-29614748.js.map +0 -1
  618. package/dist/cjs/algoliasearch-lite.esm.browser-992a2eff.js.map +0 -1
  619. package/dist/cjs/index-1d3ebe1a.js.map +0 -1
  620. package/dist/cjs/scroll-fc1b8387.js.map +0 -1
  621. package/dist/cjs/table.worker-3df34efe.js.map +0 -1
  622. package/dist/collection/components/slides/lib/js/add-remove-cell.js +0 -128
  623. package/dist/collection/components/slides/lib/js/images-loaded.js +0 -24
  624. package/dist/collection/components/slides/slides-interface.js +0 -2
  625. package/dist/collection/components/slides/slides-interface.js.map +0 -1
  626. package/dist/collection/utils/template.js.map +0 -1
  627. package/dist/components/_commonjsHelpers.js +0 -26
  628. package/dist/components/_commonjsHelpers.js.map +0 -1
  629. package/dist/esm/_commonjsHelpers-04a0e019.js +0 -26
  630. package/dist/esm/_commonjsHelpers-04a0e019.js.map +0 -1
  631. package/dist/esm/algoliasearch-lite.esm.browser-04891fdc.js.map +0 -1
  632. package/dist/esm/index-06666022.js.map +0 -1
  633. package/dist/esm/scroll-ec7ac257.js.map +0 -1
  634. package/dist/esm/table.worker-3cae908c.js.map +0 -1
  635. package/dist/nano-components/p-0563e812.entry.js +0 -5
  636. package/dist/nano-components/p-0563e812.entry.js.map +0 -1
  637. package/dist/nano-components/p-0bc40dd1.entry.js +0 -5
  638. package/dist/nano-components/p-0bc40dd1.entry.js.map +0 -1
  639. package/dist/nano-components/p-0e0f07f0.entry.js +0 -5
  640. package/dist/nano-components/p-0e0f07f0.entry.js.map +0 -1
  641. package/dist/nano-components/p-0e4da739.entry.js +0 -5
  642. package/dist/nano-components/p-0e4da739.entry.js.map +0 -1
  643. package/dist/nano-components/p-16e75af9.entry.js +0 -5
  644. package/dist/nano-components/p-16e75af9.entry.js.map +0 -1
  645. package/dist/nano-components/p-17eb456c.entry.js +0 -5
  646. package/dist/nano-components/p-17eb456c.entry.js.map +0 -1
  647. package/dist/nano-components/p-191352c4.entry.js +0 -5
  648. package/dist/nano-components/p-1987f7a9.js +0 -5
  649. package/dist/nano-components/p-1a55e282.entry.js +0 -5
  650. package/dist/nano-components/p-1a55e282.entry.js.map +0 -1
  651. package/dist/nano-components/p-2234694a.js +0 -5
  652. package/dist/nano-components/p-2a105609.entry.js +0 -5
  653. package/dist/nano-components/p-2a105609.entry.js.map +0 -1
  654. package/dist/nano-components/p-2c0218e6.entry.js +0 -5
  655. package/dist/nano-components/p-2c0218e6.entry.js.map +0 -1
  656. package/dist/nano-components/p-328ef9d3.entry.js +0 -5
  657. package/dist/nano-components/p-359b7cd2.entry.js +0 -5
  658. package/dist/nano-components/p-359b7cd2.entry.js.map +0 -1
  659. package/dist/nano-components/p-36c3ded8.entry.js +0 -5
  660. package/dist/nano-components/p-36c3ded8.entry.js.map +0 -1
  661. package/dist/nano-components/p-3ae362ae.entry.js +0 -5
  662. package/dist/nano-components/p-3cac5f6d.entry.js +0 -5
  663. package/dist/nano-components/p-3d8fb8a1.entry.js +0 -5
  664. package/dist/nano-components/p-3eeaba47.entry.js +0 -5
  665. package/dist/nano-components/p-3eeaba47.entry.js.map +0 -1
  666. package/dist/nano-components/p-3f40e370.entry.js +0 -5
  667. package/dist/nano-components/p-51133e62.entry.js +0 -5
  668. package/dist/nano-components/p-51133e62.entry.js.map +0 -1
  669. package/dist/nano-components/p-54c4a2f5.entry.js +0 -5
  670. package/dist/nano-components/p-54c4a2f5.entry.js.map +0 -1
  671. package/dist/nano-components/p-5fc3035d.entry.js +0 -5
  672. package/dist/nano-components/p-5fc3035d.entry.js.map +0 -1
  673. package/dist/nano-components/p-650aa197.entry.js +0 -5
  674. package/dist/nano-components/p-650aa197.entry.js.map +0 -1
  675. package/dist/nano-components/p-67ab5a5f.entry.js +0 -5
  676. package/dist/nano-components/p-67ab5a5f.entry.js.map +0 -1
  677. package/dist/nano-components/p-688f1a55.entry.js +0 -5
  678. package/dist/nano-components/p-688f1a55.entry.js.map +0 -1
  679. package/dist/nano-components/p-6c4171fa.entry.js +0 -5
  680. package/dist/nano-components/p-70747f20.js +0 -5
  681. package/dist/nano-components/p-7670058b.entry.js +0 -5
  682. package/dist/nano-components/p-7670058b.entry.js.map +0 -1
  683. package/dist/nano-components/p-79fff4fd.entry.js +0 -5
  684. package/dist/nano-components/p-7c82af28.entry.js +0 -5
  685. package/dist/nano-components/p-87329424.entry.js +0 -5
  686. package/dist/nano-components/p-8fe51abf.js +0 -5
  687. package/dist/nano-components/p-935968b8.entry.js +0 -23
  688. package/dist/nano-components/p-935968b8.entry.js.map +0 -1
  689. package/dist/nano-components/p-9925e504.entry.js +0 -5
  690. package/dist/nano-components/p-9c290055.entry.js +0 -5
  691. package/dist/nano-components/p-9f60ff14.entry.js +0 -5
  692. package/dist/nano-components/p-a225e976.entry.js +0 -5
  693. package/dist/nano-components/p-a225e976.entry.js.map +0 -1
  694. package/dist/nano-components/p-a26bdb65.js +0 -5
  695. package/dist/nano-components/p-abd11243.entry.js +0 -5
  696. package/dist/nano-components/p-abd11243.entry.js.map +0 -1
  697. package/dist/nano-components/p-b27b56d3.js +0 -5
  698. package/dist/nano-components/p-b27b56d3.js.map +0 -1
  699. package/dist/nano-components/p-c80336b2.entry.js +0 -5
  700. package/dist/nano-components/p-c80336b2.entry.js.map +0 -1
  701. package/dist/nano-components/p-cad86fb8.js +0 -5
  702. package/dist/nano-components/p-cad86fb8.js.map +0 -1
  703. package/dist/nano-components/p-d4e44f93.entry.js +0 -5
  704. package/dist/nano-components/p-dc4020f8.js +0 -5
  705. package/dist/nano-components/p-dc4020f8.js.map +0 -1
  706. package/dist/nano-components/p-dc6cb252.entry.js +0 -5
  707. package/dist/nano-components/p-dc6cb252.entry.js.map +0 -1
  708. package/dist/nano-components/p-dc805ecc.js +0 -5
  709. package/dist/nano-components/p-dd5687db.js +0 -5
  710. package/dist/nano-components/p-e6a0675e.entry.js +0 -5
  711. package/dist/nano-components/p-e98835e2.entry.js +0 -5
  712. package/dist/nano-components/p-efd3e121.entry.js +0 -5
  713. package/dist/nano-components/p-f73f52ed.entry.js +0 -5
  714. package/dist/nano-components/p-f73f52ed.entry.js.map +0 -1
  715. package/dist/nano-components/p-fbde7010.entry.js +0 -5
  716. package/dist/nano-components/p-fcbc9122.entry.js +0 -5
  717. package/dist/nano-components/p-fcbc9122.entry.js.map +0 -1
  718. package/dist/types/utils/template.d.ts +0 -2
  719. /package/dist/nano-components/{p-74a7fc4f.js.map → active-element-75b7c8a0.js.map} +0 -0
  720. /package/dist/nano-components/{p-cecb9af1.js.map → date-utils-6b7a6e1f.js.map} +0 -0
  721. /package/dist/nano-components/{p-cdfc507e.js.map → dom-8599fac1.js.map} +0 -0
  722. /package/dist/nano-components/{p-842cf127.js.map → drag-1723a4cc.js.map} +0 -0
  723. /package/dist/nano-components/{p-9bfdee71.js.map → events-6a805b42.js.map} +0 -0
  724. /package/dist/nano-components/{p-f8f89998.js.map → focus-visible-8b2c14da.js.map} +0 -0
  725. /package/dist/nano-components/{p-bb07c3d0.js.map → index-f626f476.js.map} +0 -0
  726. /package/dist/nano-components/{p-1987f7a9.js.map → local-my-account-6662da72.js.map} +0 -0
  727. /package/dist/nano-components/{p-ee045579.js.map → math-c02ddfda.js.map} +0 -0
  728. /package/dist/nano-components/{p-2155fc2c.js.map → nano-slides.entry.js.map} +0 -0
  729. /package/dist/nano-components/{p-8fe51abf.js.map → nano-table.entry.js.map} +0 -0
  730. /package/dist/nano-components/{p-cd1fd454.js.map → popover-e5e7a641.js.map} +0 -0
  731. /package/dist/nano-components/{p-dc565459.js.map → slot-8126e238.js.map} +0 -0
  732. /package/dist/nano-components/{p-f88fa15c.js.map → tabbable-26a66a22.js.map} +0 -0
  733. /package/dist/nano-components/{p-fbde7010.entry.js.map → table.worker-34706ecc.js.map} +0 -0
  734. /package/dist/nano-components/{p-f258383d.js → table.worker-f258383d.js} +0 -0
  735. /package/dist/nano-components/{p-411bb8f1.js.map → theme-82feb8cf.js.map} +0 -0
  736. /package/dist/nano-components/{p-7bff5224.js.map → throttle-ac4fcefa.js.map} +0 -0
  737. /package/dist/nano-components/{p-c3e8e3f9.js.map → transitions-fb09eb32.js.map} +0 -0
@@ -5,7 +5,6 @@ import { getElement, getRenderingRef, proxyCustomElement, HTMLElement, createEve
5
5
  import { a as algoliasearch } from './algoliasearch-lite.esm.browser.js';
6
6
  import { g as getDirectChildren } from './dom.js';
7
7
  import { C as ComponentStore } from './component-store.js';
8
- import { g as getDefaultExportFromCjs, c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers.js';
9
8
  import { d as debounce } from './throttle.js';
10
9
  import { S as SearchChangeEvent } from './algolia-data.js';
11
10
  import { d as defineCustomElement$1 } from './spinner.js';
@@ -65,19 +64,977 @@ class PromiseQueue {
65
64
  }
66
65
  PromiseQueue.pendingPromise = false;
67
66
 
68
- var squirrelly_min = createCommonjsModule(function (module, exports) {
69
- !function(e,t){t(exports);}(commonjsGlobal,(function(e){function t(e){var n,r,a=new Error(e);return n=a,r=t.prototype,Object.setPrototypeOf?Object.setPrototypeOf(n,r):n.__proto__=r,a}function n(e,n,r){var a=n.slice(0,r).split(/\n/),i=a.length,s=a[i-1].length+1;throw t(e+=" at line "+i+" col "+s+":\n\n "+n.split(/\n/)[i-1]+"\n "+Array(s).join(" ")+"^")}t.prototype=Object.create(Error.prototype,{name:{value:"Squirrelly Error",enumerable:!1}});var r=new Function("return this")().Promise,a=!1;try{a=new Function("return (async function(){}).constructor")();}catch(e){if(!(e instanceof SyntaxError))throw e}function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function s(e,t,n){for(var r in t)i(t,r)&&(null==t[r]||"object"!=typeof t[r]||"storage"!==r&&"prefixes"!==r||n?e[r]=t[r]:e[r]=s({},t[r]));return e}var c=/^async +/,o=/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g,l=/'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g,f=/"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g,u=/[.*+\-?^${}()|[\]\\]/g;function p(e){return u.test(e)?e.replace(u,"\\$&"):e}function h(e,r){r.rmWhitespace&&(e=e.replace(/[\r\n]+/g,"\n").replace(/^\s+|\s+$/gm,"")),o.lastIndex=0,l.lastIndex=0,f.lastIndex=0;var a=r.prefixes,i=[a.h,a.b,a.i,a.r,a.c,a.e].reduce((function(e,t){return e&&t?e+"|"+p(t):t?p(t):e}),""),s=new RegExp("([|()]|=>)|('|\"|`|\\/\\*)|\\s*((\\/)?(-|_)?"+p(r.tags[1])+")","g"),u=new RegExp("([^]*?)"+p(r.tags[0])+"(-|_)?\\s*("+i+")?\\s*","g"),h=0,d=!1;function g(t,a){var i,p={f:[]},g=0,v="c";function m(t){var a=e.slice(h,t),i=a.trim();if("f"===v)"safe"===i?p.raw=!0:r.async&&c.test(i)?(i=i.replace(c,""),p.f.push([i,"",!0])):p.f.push([i,""]);else if("fp"===v)p.f[p.f.length-1][1]+=i;else if("err"===v){if(i){var s=a.search(/\S/);n("invalid syntax",e,h+s);}}else p[v]=i;h=t+1;}for("h"===a||"b"===a||"c"===a?v="n":"r"===a&&(p.raw=!0,a="i"),s.lastIndex=h;null!==(i=s.exec(e));){var y=i[1],x=i[2],b=i[3],w=i[4],F=i[5],S=i.index;if(y)"("===y?(0===g&&("n"===v?(m(S),v="p"):"f"===v&&(m(S),v="fp")),g++):")"===y?0===--g&&"c"!==v&&(m(S),v="err"):0===g&&"|"===y?(m(S),v="f"):"=>"===y&&(m(S),h+=1,v="res");else if(x){if("/*"===x){var I=e.indexOf("*/",s.lastIndex);-1===I&&n("unclosed comment",e,i.index),s.lastIndex=I+2;}else if("'"===x){l.lastIndex=i.index,l.exec(e)?s.lastIndex=l.lastIndex:n("unclosed string",e,i.index);}else if('"'===x){f.lastIndex=i.index,f.exec(e)?s.lastIndex=f.lastIndex:n("unclosed string",e,i.index);}else if("`"===x){o.lastIndex=i.index,o.exec(e)?s.lastIndex=o.lastIndex:n("unclosed string",e,i.index);}}else if(b)return m(S),h=S+i[0].length,u.lastIndex=h,d=F,w&&"h"===a&&(a="s"),p.t=a,p}return n("unclosed tag",e,t),p}var v=function i(s,o){s.b=[],s.d=[];var l,f=!1,p=[];function v(e,t){e&&(e=function(e,t,n,r){var a,i;return "string"==typeof t.autoTrim?a=i=t.autoTrim:Array.isArray(t.autoTrim)&&(a=t.autoTrim[1],i=t.autoTrim[0]),(n||!1===n)&&(a=n),(r||!1===r)&&(i=r),"slurp"===a&&"slurp"===i?e.trim():("_"===a||"slurp"===a?e=String.prototype.trimLeft?e.trimLeft():e.replace(/^[\s\uFEFF\xA0]+/,""):"-"!==a&&"nl"!==a||(e=e.replace(/^(?:\n|\r|\r\n)/,"")),"_"===i||"slurp"===i?e=String.prototype.trimRight?e.trimRight():e.replace(/[\s\uFEFF\xA0]+$/,""):"-"!==i&&"nl"!==i||(e=e.replace(/(?:\n|\r|\r\n)$/,"")),e)}(e,r,d,t))&&(e=e.replace(/\\|'/g,"\\$&").replace(/\r\n|\n|\r/g,"\\n"),p.push(e));}for(;null!==(l=u.exec(e));){var m,y=l[1],x=l[2],b=l[3]||"";for(var w in a)if(a[w]===b){m=w;break}v(y,x),h=l.index+l[0].length,m||n("unrecognized tag type: "+b,e,h);var F=g(l.index,m),S=F.t;if("h"===S){var I=F.n||"";r.async&&c.test(I)&&(F.a=!0,F.n=I.replace(c,"")),F=i(F),p.push(F);}else if("c"===S){if(s.n===F.n)return f?(f.d=p,s.b.push(f)):s.d=p,s;n("Helper start and end don't match",e,l.index+l[0].length);}else if("b"===S){f?(f.d=p,s.b.push(f)):s.d=p;var R=F.n||"";r.async&&c.test(R)&&(F.a=!0,F.n=R.replace(c,"")),f=F,p=[];}else if("s"===S){var T=F.n||"";r.async&&c.test(T)&&(F.a=!0,F.n=T.replace(c,"")),p.push(F);}else p.push(F);}if(!o)throw t('unclosed helper "'+s.n+'"');return v(e.slice(h,e.length),!1),s.d=p,s}({f:[]},!0);if(r.plugins)for(var m=0;m<r.plugins.length;m++){var y=r.plugins[m];y.processAST&&(v.d=y.processAST(v.d,r));}return v.d}function d(e,t){var n=h(e,t),r="var tR='';"+(t.useWith?"with("+t.varName+"||{}){":"")+x(n,t)+"if(cb){cb(null,tR)} return tR"+(t.useWith?"}":"");if(t.plugins)for(var a=0;a<t.plugins.length;a++){var i=t.plugins[a];i.processFnString&&(r=i.processFnString(r,t));}return r}function g(e,t){for(var n=0;n<t.length;n++){var r=t[n][0],a=t[n][1];e=(t[n][2]?"await ":"")+"c.l('F','"+r+"')("+e,a&&(e+=","+a),e+=")";}return e}function v(e,t,n,r,a,i){var s="{exec:"+(a?"async ":"")+y(n,t,e)+",params:["+r+"]";return i&&(s+=",name:'"+i+"'"),a&&(s+=",async:true"),s+="}"}function m(e,t){for(var n="[",r=0;r<e.length;r++){var a=e[r];n+=v(t,a.res||"",a.d,a.p||"",a.a,a.n),r<e.length&&(n+=",");}return n+="]"}function y(e,t,n){return "function("+t+"){var tR='';"+x(e,n)+"return tR}"}function x(e,t){for(var n=0,r=e.length,a="";n<r;n++){var i=e[n];if("string"==typeof i){a+="tR+='"+i+"';";}else {var s=i.t,c=i.c||"",o=i.f,l=i.n||"",f=i.p||"",u=i.res||"",p=i.b,h=!!i.a;if("i"===s){t.defaultFilter&&(c="c.l('F','"+t.defaultFilter+"')("+c+")");var d=g(c,o);!i.raw&&t.autoEscape&&(d="c.l('F','e')("+d+")"),a+="tR+="+d+";";}else if("h"===s)if(t.storage.nativeHelpers.get(l))a+=t.storage.nativeHelpers.get(l)(i,t);else {var y=(h?"await ":"")+"c.l('H','"+l+"')("+v(t,u,i.d,f,h);y+=p?","+m(p,t):",[]",a+="tR+="+g(y+=",c)",o)+";";}else "s"===s?a+="tR+="+g((h?"await ":"")+"c.l('H','"+l+"')({params:["+f+"]},[],c)",o)+";":"e"===s&&(a+=c+"\n");}}return a}var b=function(){function e(e){this.cache=e;}return e.prototype.define=function(e,t){this.cache[e]=t;},e.prototype.get=function(e){return this.cache[e]},e.prototype.remove=function(e){delete this.cache[e];},e.prototype.reset=function(){this.cache={};},e.prototype.load=function(e){s(this.cache,e,!0);},e}();function w(e,n,r,a){if(n&&n.length>0)throw t((a?"Native":"")+"Helper '"+e+"' doesn't accept blocks");if(r&&r.length>0)throw t((a?"Native":"")+"Helper '"+e+"' doesn't accept filters")}var F={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function S(e){return F[e]}var I=new b({}),R=new b({each:function(e,t){var n="",r=e.params[0];if(w("each",t,!1),e.async)return new Promise((function(t){!function e(t,n,r,a,i){r(t[n],n).then((function(s){a+=s,n===t.length-1?i(a):e(t,n+1,r,a,i);}));}(r,0,e.exec,n,t);}));for(var a=0;a<r.length;a++)n+=e.exec(r[a],a);return n},foreach:function(e,t){var n=e.params[0];if(w("foreach",t,!1),e.async)return new Promise((function(t){!function e(t,n,r,a,i,s){a(n[r],t[n[r]]).then((function(c){i+=c,r===n.length-1?s(i):e(t,n,r+1,a,i,s);}));}(n,Object.keys(n),0,e.exec,"",t);}));var r="";for(var a in n)i(n,a)&&(r+=e.exec(a,n[a]));return r},include:function(e,n,r){w("include",n,!1);var a=r.storage.templates.get(e.params[0]);if(!a)throw t('Could not fetch template "'+e.params[0]+'"');return a(e.params[1],r)},extends:function(e,n,r){var a=e.params[1]||{};a.content=e.exec();for(var i=0;i<n.length;i++){var s=n[i];a[s.name]=s.exec();}var c=r.storage.templates.get(e.params[0]);if(!c)throw t('Could not fetch template "'+e.params[0]+'"');return c(a,r)},useScope:function(e,t){return w("useScope",t,!1),e.exec(e.params[0])}}),T=new b({if:function(e,t){w("if",!1,e.f,!0);var n="if("+e.p+"){"+x(e.d,t)+"}";if(e.b)for(var r=0;r<e.b.length;r++){var a=e.b[r];"else"===a.n?n+="else{"+x(a.d,t)+"}":"elif"===a.n&&(n+="else if("+a.p+"){"+x(a.d,t)+"}");}return n},try:function(e,n){if(w("try",!1,e.f,!0),!e.b||1!==e.b.length||"catch"!==e.b[0].n)throw t("native helper 'try' only accepts 1 block, 'catch'");var r="try{"+x(e.d,n)+"}",a=e.b[0];return r+="catch"+(a.res?"("+a.res+")":"")+"{"+x(a.d,n)+"}"},block:function(e,t){return w("block",e.b,e.f,!0),"if(!"+t.varName+"["+e.p+"]){tR+=("+y(e.d,"",t)+")()}else{tR+="+t.varName+"["+e.p+"]}"}}),E=new b({e:function(e){var t=String(e);return /[&<>"']/.test(t)?t.replace(/[&<>"']/g,S):t}}),j={varName:"it",autoTrim:[!1,"nl"],autoEscape:!0,defaultFilter:!1,tags:["{{","}}"],l:function(e,n){if("H"===e){var r=this.storage.helpers.get(n);if(r)return r;throw t("Can't find helper '"+n+"'")}if("F"===e){var a=this.storage.filters.get(n);if(a)return a;throw t("Can't find filter '"+n+"'")}},async:!1,storage:{helpers:R,nativeHelpers:T,filters:E,templates:I},prefixes:{h:"@",b:"#",i:"",r:"*",c:"/",e:"!"},cache:!1,plugins:[],useWith:!1};function H(e,t){var n={};return s(n,j),t&&s(n,t),e&&s(n,e),n.l.bind(n),n}function O(e,n){var r=H(n||{}),i=Function;if(r.async){if(!a)throw t("This environment doesn't support async/await");i=a;}try{return new i(r.varName,"c","cb",d(e,r))}catch(n){throw n instanceof SyntaxError?t("Bad template syntax\n\n"+n.message+"\n"+Array(n.message.length+1).join("=")+"\n"+d(e,r)):n}}function _(e,t){var n;return t.cache&&t.name&&t.storage.templates.get(t.name)?t.storage.templates.get(t.name):(n="function"==typeof e?e:O(e,t),t.cache&&t.name&&t.storage.templates.define(t.name,n),n)}j.l.bind(j),e.compile=O,e.compileScope=x,e.compileScopeIntoFunction=y,e.compileToString=d,e.defaultConfig=j,e.filters=E,e.getConfig=H,e.helpers=R,e.nativeHelpers=T,e.parse=h,e.render=function(e,n,a,i){var s=H(a||{});if(!s.async)return _(e,s)(n,s);if(!i){if("function"==typeof r)return new r((function(t,r){try{t(_(e,s)(n,s));}catch(e){r(e);}}));throw t("Please provide a callback function, this env doesn't support Promises")}try{_(e,s)(n,s,i);}catch(e){return i(e)}},e.templates=I,Object.defineProperty(e,"__esModule",{value:!0});}));
70
- //# sourceMappingURL=squirrelly.min.js.map
67
+ function setPrototypeOf(obj, proto) {
68
+ if (Object.setPrototypeOf) {
69
+ Object.setPrototypeOf(obj, proto);
70
+ }
71
+ else {
72
+ obj.__proto__ = proto;
73
+ }
74
+ }
75
+ function SqrlErr(message) {
76
+ const err = new Error(message);
77
+ setPrototypeOf(err, SqrlErr.prototype);
78
+ return err;
79
+ }
80
+ SqrlErr.prototype = Object.create(Error.prototype, {
81
+ name: { value: 'Squirrelly Error', enumerable: false },
82
+ });
83
+ // TODO: Class transpilation adds a lot to the bundle size
84
+ function ParseErr(message, str, indx) {
85
+ const whitespace = str.slice(0, indx).split(/\n/);
86
+ const lineNo = whitespace.length;
87
+ const colNo = whitespace[lineNo - 1].length + 1;
88
+ message +=
89
+ ' at line ' +
90
+ lineNo +
91
+ ' col ' +
92
+ colNo +
93
+ ':\n\n' +
94
+ ' ' +
95
+ str.split(/\n/)[lineNo - 1] +
96
+ '\n' +
97
+ ' ' +
98
+ Array(colNo).join(' ') +
99
+ '^';
100
+ throw SqrlErr(message);
101
+ }
102
+
103
+ // TODO: allow '-' to trim up until newline. Use [^\S\n\r] instead of \s
104
+ // TODO: only include trimLeft polyfill if not in ES6
105
+ /* END TYPES */
106
+ const promiseImpl = new Function('return this')().Promise;
107
+ let asyncFunc = false;
108
+ try {
109
+ asyncFunc = new Function('return (async function(){}).constructor')();
110
+ }
111
+ catch (e) {
112
+ // We shouldn't actually ever have any other errors, but...
113
+ if (!(e instanceof SyntaxError)) {
114
+ throw e;
115
+ }
116
+ }
117
+ function hasOwnProp(obj, prop) {
118
+ return Object.prototype.hasOwnProperty.call(obj, prop);
119
+ }
120
+ function copyProps(toObj, fromObj, notConfig) {
121
+ for (const key in fromObj) {
122
+ if (hasOwnProp(fromObj, key)) {
123
+ if (fromObj[key] != null &&
124
+ typeof fromObj[key] == 'object' &&
125
+ (key === 'storage' || key === 'prefixes') &&
126
+ !notConfig // not called from Cache.load
127
+ ) {
128
+ // plugins or storage
129
+ // Note: this doesn't merge from initial config!
130
+ // Deep clone instead of assigning
131
+ // TODO: run checks on this
132
+ toObj[key] = copyProps(
133
+ /*toObj[key] ||*/ {}, fromObj[key]);
134
+ }
135
+ else {
136
+ toObj[key] = fromObj[key];
137
+ }
138
+ }
139
+ }
140
+ return toObj;
141
+ }
142
+ function trimWS(str, env, wsLeft, wsRight) {
143
+ let leftTrim;
144
+ let rightTrim;
145
+ if (typeof env.autoTrim === 'string') {
146
+ leftTrim = rightTrim = env.autoTrim;
147
+ // Don't need to check if env.autoTrim is false
148
+ // Because leftTrim, rightTrim are initialized as falsy
149
+ }
150
+ else if (Array.isArray(env.autoTrim)) {
151
+ // kinda confusing
152
+ // but _}} will trim the left side of the following string
153
+ leftTrim = env.autoTrim[1];
154
+ rightTrim = env.autoTrim[0];
155
+ }
156
+ if (wsLeft || wsLeft === false) {
157
+ leftTrim = wsLeft;
158
+ }
159
+ if (wsRight || wsRight === false) {
160
+ rightTrim = wsRight;
161
+ }
162
+ if (leftTrim === 'slurp' && rightTrim === 'slurp') {
163
+ return str.trim();
164
+ }
165
+ if (leftTrim === '_' || leftTrim === 'slurp') {
166
+ // console.log('trimming left' + leftTrim)
167
+ // full slurp
168
+ // eslint-disable-next-line no-extra-boolean-cast
169
+ if (!!String.prototype.trimLeft) {
170
+ str = str.trimLeft();
171
+ }
172
+ else {
173
+ str = str.replace(/^[\s\uFEFF\xA0]+/, '');
174
+ }
175
+ }
176
+ else if (leftTrim === '-' || leftTrim === 'nl') {
177
+ // console.log('trimming left nl' + leftTrim)
178
+ // nl trim
179
+ str = str.replace(/^(?:\n|\r|\r\n)/, '');
180
+ }
181
+ if (rightTrim === '_' || rightTrim === 'slurp') {
182
+ // console.log('trimming right' + rightTrim)
183
+ // full slurp
184
+ // eslint-disable-next-line no-extra-boolean-cast
185
+ if (!!String.prototype.trimRight) {
186
+ str = str.trimRight();
187
+ }
188
+ else {
189
+ str = str.replace(/[\s\uFEFF\xA0]+$/, '');
190
+ }
191
+ }
192
+ else if (rightTrim === '-' || rightTrim === 'nl') {
193
+ // console.log('trimming right nl' + rightTrim)
194
+ // nl trim
195
+ str = str.replace(/(?:\n|\r|\r\n)$/, ''); // TODO: make sure this gets \r\n
196
+ }
197
+ return str;
198
+ }
199
+
200
+ /* END TYPES */
201
+ const asyncRegExp = /^async +/;
202
+ const templateLitReg = /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g;
203
+ const singleQuoteReg = /'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g;
204
+ const doubleQuoteReg = /"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g;
205
+ const specialCharsReg = /[.*+\-?^${}()|[\]\\]/g;
206
+ function escapeRegExp(string) {
207
+ // From MDN
208
+ return specialCharsReg.test(string)
209
+ ? string.replace(specialCharsReg, '\\$&') // $& means the whole matched string
210
+ : string;
211
+ }
212
+ function parse(str, env) {
213
+ /* Adding for EJS compatibility */
214
+ if (env.rmWhitespace) {
215
+ // Code taken directly from EJS
216
+ // Have to use two separate replaces here as `^` and `$` operators don't
217
+ // work well with `\r` and empty lines don't work well with the `m` flag.
218
+ // Essentially, this replaces the whitespace at the beginning and end of
219
+ // each line and removes multiple newlines.
220
+ str = str.replace(/[\r\n]+/g, '\n').replace(/^\s+|\s+$/gm, '');
221
+ }
222
+ /* End rmWhitespace option */
223
+ templateLitReg.lastIndex = 0;
224
+ singleQuoteReg.lastIndex = 0;
225
+ doubleQuoteReg.lastIndex = 0;
226
+ const envPrefixes = env.prefixes;
227
+ const prefixes = [
228
+ envPrefixes.h,
229
+ envPrefixes.b,
230
+ envPrefixes.i,
231
+ envPrefixes.r,
232
+ envPrefixes.c,
233
+ envPrefixes.e,
234
+ ].reduce(function (accumulator, prefix) {
235
+ if (accumulator && prefix) {
236
+ return accumulator + '|' + escapeRegExp(prefix);
237
+ }
238
+ else if (prefix) {
239
+ // accumulator is empty
240
+ return escapeRegExp(prefix);
241
+ }
242
+ else {
243
+ // prefix and accumulator are both empty strings
244
+ return accumulator;
245
+ }
246
+ }, '');
247
+ const parseCloseReg = new RegExp('([|()]|=>)|' + // powerchars
248
+ '(\'|"|`|\\/\\*)|\\s*((\\/)?(-|_)?' + // comments, strings
249
+ escapeRegExp(env.tags[1]) +
250
+ ')', 'g');
251
+ const tagOpenReg = new RegExp('([^]*?)' + escapeRegExp(env.tags[0]) + '(-|_)?\\s*(' + prefixes + ')?\\s*', 'g');
252
+ let startInd = 0;
253
+ let trimNextLeftWs = false;
254
+ function parseTag(tagOpenIndex, currentType) {
255
+ const currentObj = { f: [] };
256
+ let numParens = 0;
257
+ let currentAttribute = 'c'; // default - Valid values: 'c'=content, 'f'=filter, 'fp'=filter params, 'p'=param, 'n'=name
258
+ if (currentType === 'h' || currentType === 'b' || currentType === 'c') {
259
+ currentAttribute = 'n';
260
+ }
261
+ else if (currentType === 'r') {
262
+ currentObj.raw = true;
263
+ currentType = 'i';
264
+ }
265
+ function addAttrValue(indx) {
266
+ const valUnprocessed = str.slice(startInd, indx);
267
+ // console.log(valUnprocessed)
268
+ let val = valUnprocessed.trim();
269
+ if (currentAttribute === 'f') {
270
+ if (val === 'safe') {
271
+ currentObj.raw = true;
272
+ }
273
+ else {
274
+ if (env.async && asyncRegExp.test(val)) {
275
+ val = val.replace(asyncRegExp, '');
276
+ currentObj.f.push([val, '', true]);
277
+ }
278
+ else {
279
+ currentObj.f.push([val, '']);
280
+ }
281
+ }
282
+ }
283
+ else if (currentAttribute === 'fp') {
284
+ currentObj.f[currentObj.f.length - 1][1] += val;
285
+ }
286
+ else if (currentAttribute === 'err') {
287
+ if (val) {
288
+ const found = valUnprocessed.search(/\S/);
289
+ ParseErr('invalid syntax', str, startInd + found);
290
+ }
291
+ }
292
+ else {
293
+ // if (currentObj[currentAttribute]) { // TODO make sure no errs
294
+ // currentObj[currentAttribute] += val
295
+ // } else {
296
+ currentObj[currentAttribute] = val;
297
+ // }
298
+ }
299
+ startInd = indx + 1;
300
+ }
301
+ parseCloseReg.lastIndex = startInd;
302
+ let m;
303
+ // tslint:disable-next-line:no-conditional-assignment
304
+ while ((m = parseCloseReg.exec(str)) !== null) {
305
+ const char = m[1];
306
+ const punctuator = m[2];
307
+ const tagClose = m[3];
308
+ const slash = m[4];
309
+ const wsControl = m[5];
310
+ const i = m.index;
311
+ if (char) {
312
+ // Power character
313
+ if (char === '(') {
314
+ if (numParens === 0) {
315
+ if (currentAttribute === 'n') {
316
+ addAttrValue(i);
317
+ currentAttribute = 'p';
318
+ }
319
+ else if (currentAttribute === 'f') {
320
+ addAttrValue(i);
321
+ currentAttribute = 'fp';
322
+ }
323
+ }
324
+ numParens++;
325
+ }
326
+ else if (char === ')') {
327
+ numParens--;
328
+ if (numParens === 0 && currentAttribute !== 'c') {
329
+ // Then it's closing a filter, block, or helper
330
+ addAttrValue(i);
331
+ currentAttribute = 'err'; // Reset the current attribute
332
+ }
333
+ }
334
+ else if (numParens === 0 && char === '|') {
335
+ addAttrValue(i); // this should actually always be whitespace or empty
336
+ currentAttribute = 'f';
337
+ }
338
+ else if (char === '=>') {
339
+ addAttrValue(i);
340
+ startInd += 1; // this is 2 chars
341
+ currentAttribute = 'res';
342
+ }
343
+ }
344
+ else if (punctuator) {
345
+ if (punctuator === '/*') {
346
+ const commentCloseInd = str.indexOf('*/', parseCloseReg.lastIndex);
347
+ if (commentCloseInd === -1) {
348
+ ParseErr('unclosed comment', str, m.index);
349
+ }
350
+ parseCloseReg.lastIndex = commentCloseInd + 2; // since */ is 2 characters, and we're using indexOf rather than a RegExp
351
+ }
352
+ else if (punctuator === "'") {
353
+ singleQuoteReg.lastIndex = m.index;
354
+ const singleQuoteMatch = singleQuoteReg.exec(str);
355
+ if (singleQuoteMatch) {
356
+ parseCloseReg.lastIndex = singleQuoteReg.lastIndex;
357
+ }
358
+ else {
359
+ ParseErr('unclosed string', str, m.index);
360
+ }
361
+ }
362
+ else if (punctuator === '"') {
363
+ doubleQuoteReg.lastIndex = m.index;
364
+ const doubleQuoteMatch = doubleQuoteReg.exec(str);
365
+ if (doubleQuoteMatch) {
366
+ parseCloseReg.lastIndex = doubleQuoteReg.lastIndex;
367
+ }
368
+ else {
369
+ ParseErr('unclosed string', str, m.index);
370
+ }
371
+ }
372
+ else if (punctuator === '`') {
373
+ templateLitReg.lastIndex = m.index;
374
+ const templateLitMatch = templateLitReg.exec(str);
375
+ if (templateLitMatch) {
376
+ parseCloseReg.lastIndex = templateLitReg.lastIndex;
377
+ }
378
+ else {
379
+ ParseErr('unclosed string', str, m.index);
380
+ }
381
+ }
382
+ }
383
+ else if (tagClose) {
384
+ addAttrValue(i);
385
+ startInd = i + m[0].length;
386
+ tagOpenReg.lastIndex = startInd;
387
+ // console.log('tagClose: ' + startInd)
388
+ trimNextLeftWs = wsControl;
389
+ if (slash && currentType === 'h') {
390
+ currentType = 's';
391
+ } // TODO throw err
392
+ currentObj.t = currentType;
393
+ return currentObj;
394
+ }
395
+ }
396
+ ParseErr('unclosed tag', str, tagOpenIndex);
397
+ return currentObj; // To prevent TypeScript from erroring
398
+ }
399
+ function parseContext(parentObj, firstParse) {
400
+ parentObj.b = []; // assume there will be blocks // TODO: perf optimize this
401
+ parentObj.d = [];
402
+ let lastBlock = false;
403
+ let buffer = [];
404
+ function pushString(strng, shouldTrimRightOfString) {
405
+ if (strng) {
406
+ // if string is truthy it must be of type 'string'
407
+ // TODO: benchmark replace( /(\\|')/g, '\\$1')
408
+ strng = trimWS(strng, env, trimNextLeftWs, // this will only be false on the first str, the next ones will be null or undefined
409
+ shouldTrimRightOfString);
410
+ if (strng) {
411
+ // replace \ with \\, ' with \'
412
+ strng = strng.replace(/\\|'/g, '\\$&').replace(/\r\n|\n|\r/g, '\\n');
413
+ // we're going to convert all CRLF to LF so it doesn't take more than one replace
414
+ buffer.push(strng);
415
+ }
416
+ }
417
+ }
418
+ // Random TODO: parentObj.b doesn't need to have t: #
419
+ let tagOpenMatch;
420
+ // tslint:disable-next-line:no-conditional-assignment
421
+ while ((tagOpenMatch = tagOpenReg.exec(str)) !== null) {
422
+ const precedingString = tagOpenMatch[1];
423
+ const shouldTrimRightPrecedingString = tagOpenMatch[2];
424
+ const prefix = tagOpenMatch[3] || '';
425
+ let prefixType;
426
+ for (const key in envPrefixes) {
427
+ if (envPrefixes[key] === prefix) {
428
+ prefixType = key;
429
+ break;
430
+ }
431
+ }
432
+ pushString(precedingString, shouldTrimRightPrecedingString);
433
+ startInd = tagOpenMatch.index + tagOpenMatch[0].length;
434
+ if (!prefixType) {
435
+ ParseErr('unrecognized tag type: ' + prefix, str, startInd);
436
+ }
437
+ let currentObj = parseTag(tagOpenMatch.index, prefixType);
438
+ // ===== NOW ADD THE OBJECT TO OUR BUFFER =====
439
+ const currentType = currentObj.t;
440
+ if (currentType === 'h') {
441
+ const hName = currentObj.n || '';
442
+ if (env.async && asyncRegExp.test(hName)) {
443
+ currentObj.a = true;
444
+ currentObj.n = hName.replace(asyncRegExp, '');
445
+ }
446
+ currentObj = parseContext(currentObj); // currentObj is the parent object
447
+ buffer.push(currentObj);
448
+ }
449
+ else if (currentType === 'c') {
450
+ // tag close
451
+ if (parentObj.n === currentObj.n) {
452
+ if (lastBlock) {
453
+ // If there's a previous block
454
+ lastBlock.d = buffer;
455
+ parentObj.b.push(lastBlock);
456
+ }
457
+ else {
458
+ parentObj.d = buffer;
459
+ }
460
+ // console.log('parentObj: ' + JSON.stringify(parentObj))
461
+ return parentObj;
462
+ }
463
+ else {
464
+ ParseErr("Helper start and end don't match", str, tagOpenMatch.index + tagOpenMatch[0].length);
465
+ }
466
+ }
467
+ else if (currentType === 'b') {
468
+ // block
469
+ // TODO: make sure async stuff inside blocks are recognized
470
+ if (lastBlock) {
471
+ // If there's a previous block
472
+ lastBlock.d = buffer;
473
+ parentObj.b.push(lastBlock);
474
+ }
475
+ else {
476
+ parentObj.d = buffer;
477
+ }
478
+ const blockName = currentObj.n || '';
479
+ if (env.async && asyncRegExp.test(blockName)) {
480
+ currentObj.a = true;
481
+ currentObj.n = blockName.replace(asyncRegExp, '');
482
+ }
483
+ lastBlock = currentObj; // Set the 'lastBlock' object to the value of the current block
484
+ buffer = [];
485
+ }
486
+ else if (currentType === 's') {
487
+ const selfClosingHName = currentObj.n || '';
488
+ if (env.async && asyncRegExp.test(selfClosingHName)) {
489
+ currentObj.a = true;
490
+ currentObj.n = selfClosingHName.replace(asyncRegExp, '');
491
+ }
492
+ buffer.push(currentObj);
493
+ }
494
+ else {
495
+ buffer.push(currentObj);
496
+ }
497
+ // ===== DONE ADDING OBJECT TO BUFFER =====
498
+ }
499
+ if (firstParse) {
500
+ pushString(str.slice(startInd, str.length), false);
501
+ parentObj.d = buffer;
502
+ }
503
+ else {
504
+ throw SqrlErr('unclosed helper "' + parentObj.n + '"');
505
+ // It should have returned by now
506
+ }
507
+ return parentObj;
508
+ }
509
+ const parseResult = parseContext({ f: [] }, true);
510
+ // console.log(JSON.stringify(parseResult))
511
+ if (env.plugins) {
512
+ for (let i = 0; i < env.plugins.length; i++) {
513
+ const plugin = env.plugins[i];
514
+ if (plugin.processAST) {
515
+ parseResult.d = plugin.processAST(parseResult.d, env);
516
+ }
517
+ }
518
+ }
519
+ return parseResult.d; // Parse the very outside context
520
+ }
521
+
522
+ // import SqrlErr from './err'
523
+ /* END TYPES */
524
+ function compileToString(str, env) {
525
+ const buffer = parse(str, env);
526
+ let res = "var tR='';" +
527
+ (env.useWith ? 'with(' + env.varName + '||{}){' : '') +
528
+ compileScope(buffer, env) +
529
+ 'if(cb){cb(null,tR)} return tR' +
530
+ (env.useWith ? '}' : '');
531
+ if (env.plugins) {
532
+ for (let i = 0; i < env.plugins.length; i++) {
533
+ const plugin = env.plugins[i];
534
+ if (plugin.processFnString) {
535
+ res = plugin.processFnString(res, env);
536
+ }
537
+ }
538
+ }
539
+ return res;
540
+ // TODO: is `return cb()` necessary, or could we just do `cb()`
541
+ }
542
+ function filter(str, filters) {
543
+ for (let i = 0; i < filters.length; i++) {
544
+ const name = filters[i][0];
545
+ const params = filters[i][1];
546
+ const isFilterAsync = filters[i][2];
547
+ // if (isFilterAsync && !env.async) {
548
+ // throw SqrlErr("Async filter '" + name + "' in non-async env")
549
+ // }
550
+ // Let the JS compiler do this, compile() will catch it
551
+ str = (isFilterAsync ? 'await ' : '') + "c.l('F','" + name + "')(" + str;
552
+ if (params) {
553
+ str += ',' + params;
554
+ }
555
+ str += ')';
556
+ }
557
+ return str;
558
+ }
559
+ // TODO: Use type intersections for TemplateObject, etc.
560
+ // so I don't have to make properties mandatory
561
+ function compileHelper(env, res, descendants, params, isAsync, name) {
562
+ let ret = '{exec:' +
563
+ (isAsync ? 'async ' : '') +
564
+ compileScopeIntoFunction(descendants, res, env) +
565
+ ',params:[' +
566
+ params +
567
+ ']';
568
+ if (name) {
569
+ ret += ",name:'" + name + "'";
570
+ }
571
+ if (isAsync) {
572
+ ret += ',async:true';
573
+ }
574
+ ret += '}';
575
+ return ret;
576
+ }
577
+ function compileBlocks(blocks, env) {
578
+ let ret = '[';
579
+ for (let i = 0; i < blocks.length; i++) {
580
+ const block = blocks[i];
581
+ ret += compileHelper(env, block.res || '', block.d, block.p || '', block.a, block.n);
582
+ if (i < blocks.length) {
583
+ ret += ',';
584
+ }
585
+ }
586
+ ret += ']';
587
+ return ret;
588
+ }
589
+ function compileScopeIntoFunction(buff, res, env) {
590
+ return ('function(' + res + "){var tR='';" + compileScope(buff, env) + 'return tR}');
591
+ }
592
+ function compileScope(buff, env) {
593
+ let i = 0;
594
+ const buffLength = buff.length;
595
+ let returnStr = '';
596
+ for (i; i < buffLength; i++) {
597
+ const currentBlock = buff[i];
598
+ if (typeof currentBlock === 'string') {
599
+ const str = currentBlock;
600
+ // we know string exists
601
+ returnStr += "tR+='" + str + "';";
602
+ }
603
+ else {
604
+ const type = currentBlock.t; // h, s, e, i
605
+ let content = currentBlock.c || '';
606
+ const filters = currentBlock.f;
607
+ const name = currentBlock.n || '';
608
+ const params = currentBlock.p || '';
609
+ const res = currentBlock.res || '';
610
+ const blocks = currentBlock.b;
611
+ const isAsync = !!currentBlock.a; // !! is to booleanize it
612
+ // if (isAsync && !env.async) {
613
+ // throw SqrlErr("Async block or helper '" + name + "' in non-async env")
614
+ // }
615
+ // Let compiler do this
616
+ if (type === 'i') {
617
+ if (env.defaultFilter) {
618
+ content = "c.l('F','" + env.defaultFilter + "')(" + content + ')';
619
+ }
620
+ let filtered = filter(content, filters);
621
+ if (!currentBlock.raw && env.autoEscape) {
622
+ filtered = "c.l('F','e')(" + filtered + ')';
623
+ }
624
+ returnStr += 'tR+=' + filtered + ';';
625
+ // reference
626
+ }
627
+ else if (type === 'h') {
628
+ // helper
629
+ if (env.storage.nativeHelpers.get(name)) {
630
+ returnStr += env.storage.nativeHelpers.get(name)(currentBlock, env);
631
+ }
632
+ else {
633
+ let helperReturn = (isAsync ? 'await ' : '') +
634
+ "c.l('H','" +
635
+ name +
636
+ "')(" +
637
+ compileHelper(env, res, currentBlock.d, params, isAsync);
638
+ if (blocks) {
639
+ helperReturn += ',' + compileBlocks(blocks, env);
640
+ }
641
+ else {
642
+ helperReturn += ',[]';
643
+ }
644
+ helperReturn += ',c)';
645
+ returnStr += 'tR+=' + filter(helperReturn, filters) + ';';
646
+ }
647
+ }
648
+ else if (type === 's') {
649
+ // self-closing helper
650
+ returnStr +=
651
+ 'tR+=' +
652
+ filter((isAsync ? 'await ' : '') +
653
+ "c.l('H','" +
654
+ name +
655
+ "')({params:[" +
656
+ params +
657
+ ']},[],c)', filters) +
658
+ ';';
659
+ }
660
+ else if (type === 'e') {
661
+ // execute
662
+ returnStr += content + '\n';
663
+ }
664
+ }
665
+ }
666
+ return returnStr;
667
+ }
668
+
669
+ /* END TYPES */
670
+ class Cacher {
671
+ constructor(cache) {
672
+ this.cache = cache;
673
+ }
674
+ define(key, val) {
675
+ this.cache[key] = val;
676
+ }
677
+ get(key) {
678
+ // string | array.
679
+ // TODO: allow array of keys to look down
680
+ // TODO: create plugin to allow referencing helpers, filters with dot notation
681
+ return this.cache[key];
682
+ }
683
+ remove(key) {
684
+ delete this.cache[key];
685
+ }
686
+ reset() {
687
+ this.cache = {};
688
+ }
689
+ load(cacheObj) {
690
+ // TODO: this will err with deep objects and `storage` or `plugins` keys.
691
+ // Update Feb 26: EDITED so it shouldn't err
692
+ copyProps(this.cache, cacheObj, true);
693
+ }
694
+ }
695
+
696
+ function errWithBlocksOrFilters(name, blocks, // false means don't check
697
+ filters, native) {
698
+ if (blocks && blocks.length > 0) {
699
+ throw SqrlErr((native ? 'Native' : '') + "Helper '" + name + "' doesn't accept blocks");
700
+ }
701
+ if (filters && filters.length > 0) {
702
+ throw SqrlErr((native ? 'Native' : '') + "Helper '" + name + "' doesn't accept filters");
703
+ }
704
+ }
705
+ /* ASYNC LOOP FNs */
706
+ function asyncArrLoop(arr, index, fn, res, cb) {
707
+ fn(arr[index], index).then(function (val) {
708
+ res += val;
709
+ if (index === arr.length - 1) {
710
+ cb(res);
711
+ }
712
+ else {
713
+ asyncArrLoop(arr, index + 1, fn, res, cb);
714
+ }
715
+ });
716
+ }
717
+ function asyncObjLoop(obj, keys, index, fn, res, cb) {
718
+ fn(keys[index], obj[keys[index]]).then(function (val) {
719
+ res += val;
720
+ if (index === keys.length - 1) {
721
+ cb(res);
722
+ }
723
+ else {
724
+ asyncObjLoop(obj, keys, index + 1, fn, res, cb);
725
+ }
726
+ });
727
+ }
728
+ const escMap = {
729
+ '&': '&amp;',
730
+ '<': '&lt;',
731
+ '>': '&gt;',
732
+ '"': '&quot;',
733
+ "'": '&#39;',
734
+ };
735
+ function replaceChar(s) {
736
+ return escMap[s];
737
+ }
738
+ function XMLEscape(str) {
739
+ // To deal with XSS. Based on Escape implementations of Mustache.JS and Marko, then customized.
740
+ const newStr = String(str);
741
+ if (/[&<>"']/.test(newStr)) {
742
+ return newStr.replace(/[&<>"']/g, replaceChar);
743
+ }
744
+ else {
745
+ return newStr;
746
+ }
747
+ }
748
+
749
+ /* END TYPES */
750
+ const templates = new Cacher({});
751
+ /* ASYNC LOOP FNs */
752
+ const helpers = new Cacher({
753
+ each: function (content, blocks) {
754
+ let res = '';
755
+ const arr = content.params[0];
756
+ errWithBlocksOrFilters('each', blocks, false);
757
+ if (content.async) {
758
+ return new Promise(function (resolve) {
759
+ asyncArrLoop(arr, 0, content.exec, res, resolve);
760
+ });
761
+ }
762
+ else {
763
+ for (let i = 0; i < arr.length; i++) {
764
+ res += content.exec(arr[i], i);
765
+ }
766
+ return res;
767
+ }
768
+ },
769
+ foreach: function (content, blocks) {
770
+ const obj = content.params[0];
771
+ errWithBlocksOrFilters('foreach', blocks, false);
772
+ if (content.async) {
773
+ return new Promise(function (resolve) {
774
+ asyncObjLoop(obj, Object.keys(obj), 0, content.exec, '', resolve);
775
+ });
776
+ }
777
+ else {
778
+ let res = '';
779
+ for (const key in obj) {
780
+ if (!hasOwnProp(obj, key))
781
+ continue;
782
+ res += content.exec(key, obj[key]); // todo: check on order
783
+ }
784
+ return res;
785
+ }
786
+ },
787
+ include: function (content, blocks, config) {
788
+ errWithBlocksOrFilters('include', blocks, false);
789
+ const template = config.storage.templates.get(content.params[0]);
790
+ if (!template) {
791
+ throw SqrlErr('Could not fetch template "' + content.params[0] + '"');
792
+ }
793
+ return template(content.params[1], config);
794
+ },
795
+ extends: function (content, blocks, config) {
796
+ const data = content.params[1] || {};
797
+ data.content = content.exec();
798
+ for (let i = 0; i < blocks.length; i++) {
799
+ const currentBlock = blocks[i];
800
+ data[currentBlock.name] = currentBlock.exec();
801
+ }
802
+ const template = config.storage.templates.get(content.params[0]);
803
+ if (!template) {
804
+ throw SqrlErr('Could not fetch template "' + content.params[0] + '"');
805
+ }
806
+ return template(data, config);
807
+ },
808
+ useScope: function (content, blocks) {
809
+ errWithBlocksOrFilters('useScope', blocks, false);
810
+ return content.exec(content.params[0]);
811
+ },
812
+ });
813
+ const nativeHelpers = new Cacher({
814
+ if: function (buffer, env) {
815
+ errWithBlocksOrFilters('if', false, buffer.f, true);
816
+ let returnStr = 'if(' + buffer.p + '){' + compileScope(buffer.d, env) + '}';
817
+ if (buffer.b) {
818
+ for (let i = 0; i < buffer.b.length; i++) {
819
+ const currentBlock = buffer.b[i];
820
+ if (currentBlock.n === 'else') {
821
+ returnStr += 'else{' + compileScope(currentBlock.d, env) + '}';
822
+ }
823
+ else if (currentBlock.n === 'elif') {
824
+ returnStr +=
825
+ 'else if(' +
826
+ currentBlock.p +
827
+ '){' +
828
+ compileScope(currentBlock.d, env) +
829
+ '}';
830
+ }
831
+ }
832
+ }
833
+ return returnStr;
834
+ },
835
+ try: function (buffer, env) {
836
+ errWithBlocksOrFilters('try', false, buffer.f, true);
837
+ if (!buffer.b || buffer.b.length !== 1 || buffer.b[0].n !== 'catch') {
838
+ throw SqrlErr("native helper 'try' only accepts 1 block, 'catch'");
839
+ }
840
+ let returnStr = 'try{' + compileScope(buffer.d, env) + '}';
841
+ const currentBlock = buffer.b[0];
842
+ returnStr +=
843
+ 'catch' +
844
+ (currentBlock.res ? '(' + currentBlock.res + ')' : '') +
845
+ '{' +
846
+ compileScope(currentBlock.d, env) +
847
+ '}';
848
+ return returnStr;
849
+ },
850
+ block: function (buffer, env) {
851
+ errWithBlocksOrFilters('block', buffer.b, buffer.f, true);
852
+ const returnStr = 'if(!' +
853
+ env.varName +
854
+ '[' +
855
+ buffer.p +
856
+ ']){tR+=(' +
857
+ compileScopeIntoFunction(buffer.d, '', env) +
858
+ ')()}else{tR+=' +
859
+ env.varName +
860
+ '[' +
861
+ buffer.p +
862
+ ']}';
863
+ return returnStr;
864
+ },
71
865
  });
866
+ const filters = new Cacher({ e: XMLEscape });
72
867
 
73
- const squirrelly_min$1 = /*@__PURE__*/getDefaultExportFromCjs(squirrelly_min);
868
+ /* END TYPES */
869
+ const defaultConfig = {
870
+ varName: 'it',
871
+ autoTrim: [false, 'nl'],
872
+ autoEscape: true,
873
+ defaultFilter: false,
874
+ tags: ['{{', '}}'],
875
+ l: function (container, name) {
876
+ if (container === 'H') {
877
+ const hRet = this.storage.helpers.get(name);
878
+ if (hRet) {
879
+ return hRet;
880
+ }
881
+ else {
882
+ throw SqrlErr("Can't find helper '" + name + "'");
883
+ }
884
+ }
885
+ else if (container === 'F') {
886
+ const fRet = this.storage.filters.get(name);
887
+ if (fRet) {
888
+ return fRet;
889
+ }
890
+ else {
891
+ throw SqrlErr("Can't find filter '" + name + "'");
892
+ }
893
+ }
894
+ },
895
+ async: false,
896
+ storage: {
897
+ helpers: helpers,
898
+ nativeHelpers: nativeHelpers,
899
+ filters: filters,
900
+ templates: templates,
901
+ },
902
+ prefixes: {
903
+ h: '@',
904
+ b: '#',
905
+ i: '',
906
+ r: '*',
907
+ c: '/',
908
+ e: '!',
909
+ },
910
+ cache: false,
911
+ plugins: [],
912
+ useWith: false,
913
+ };
914
+ defaultConfig.l.bind(defaultConfig);
915
+ function getConfig(override, baseConfig) {
916
+ // TODO: run more tests on this
917
+ const res = {}; // Linked
918
+ copyProps(res, defaultConfig); // Creates deep clone of res, 1 layer deep
919
+ if (baseConfig) {
920
+ copyProps(res, baseConfig);
921
+ }
922
+ if (override) {
923
+ copyProps(res, override);
924
+ }
925
+ res.l.bind(res);
926
+ return res;
927
+ }
74
928
 
75
- const Sqrl = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.assign(/*#__PURE__*/Object.create(null), squirrelly_min, {
76
- 'default': squirrelly_min$1
77
- }));
929
+ /* END TYPES */
930
+ function compile(str, env) {
931
+ const options = getConfig(env || {});
932
+ let ctor = Function; // constructor
933
+ /* ASYNC HANDLING */
934
+ // The below code is modified from mde/ejs. All credit should go to them.
935
+ if (options.async) {
936
+ // Have to use generated function for this, since in envs without support,
937
+ // it breaks in parsing
938
+ if (asyncFunc) {
939
+ ctor = asyncFunc;
940
+ }
941
+ else {
942
+ throw SqrlErr("This environment doesn't support async/await");
943
+ }
944
+ }
945
+ /* END ASYNC HANDLING */
946
+ try {
947
+ return new ctor(options.varName, 'c', // SqrlConfig
948
+ 'cb', // optional callback
949
+ compileToString(str, options)); // eslint-disable-line no-new-func
950
+ }
951
+ catch (e) {
952
+ if (e instanceof SyntaxError) {
953
+ throw SqrlErr('Bad template syntax\n\n' +
954
+ e.message +
955
+ '\n' +
956
+ Array(e.message.length + 1).join('=') +
957
+ '\n' +
958
+ compileToString(str, options));
959
+ }
960
+ else {
961
+ throw e;
962
+ }
963
+ }
964
+ }
965
+
966
+ /* TYPES */
967
+ /* END TYPES */
968
+ function handleCache(template, options) {
969
+ let templateFunc;
970
+ if (options.cache &&
971
+ options.name &&
972
+ options.storage.templates.get(options.name)) {
973
+ return options.storage.templates.get(options.name);
974
+ }
975
+ if (typeof template === 'function') {
976
+ templateFunc = template;
977
+ }
978
+ else {
979
+ templateFunc = compile(template, options);
980
+ }
981
+ if (options.cache && options.name) {
982
+ options.storage.templates.define(options.name, templateFunc);
983
+ }
984
+ return templateFunc;
985
+ }
986
+ function render(template, data, env, cb) {
987
+ const options = getConfig(env || {});
988
+ if (options.async) {
989
+ let result;
990
+ if (!cb) {
991
+ // No callback, try returning a promise
992
+ if (typeof promiseImpl === 'function') {
993
+ return new promiseImpl(function (resolve, reject) {
994
+ try {
995
+ result = handleCache(template, options)(data, options);
996
+ resolve(result);
997
+ }
998
+ catch (err) {
999
+ reject(err);
1000
+ }
1001
+ });
1002
+ }
1003
+ else {
1004
+ throw SqrlErr("Please provide a callback function, this env doesn't support Promises");
1005
+ }
1006
+ }
1007
+ else {
1008
+ try {
1009
+ handleCache(template, options)(data, options, cb);
1010
+ }
1011
+ catch (err) {
1012
+ return cb(err);
1013
+ }
1014
+ }
1015
+ }
1016
+ else {
1017
+ return handleCache(template, options)(data, options);
1018
+ }
1019
+ }
1020
+
1021
+ const squirrel = /*#__PURE__*/Object.freeze({
1022
+ __proto__: null,
1023
+ compileToString: compileToString,
1024
+ compileScope: compileScope,
1025
+ compileScopeIntoFunction: compileScopeIntoFunction,
1026
+ compile: compile,
1027
+ parse: parse,
1028
+ render: render,
1029
+ helpers: helpers,
1030
+ nativeHelpers: nativeHelpers,
1031
+ filters: filters,
1032
+ templates: templates,
1033
+ defaultConfig: defaultConfig,
1034
+ getConfig: getConfig
1035
+ });
78
1036
 
79
- const squirrel = Sqrl;
80
- squirrel.filters.define('date_long', (str, options = {
1037
+ filters.define('date_long', (str, options = {
81
1038
  year: 'numeric',
82
1039
  month: 'long',
83
1040
  day: 'numeric',
@@ -88,7 +1045,7 @@ squirrel.filters.define('date_long', (str, options = {
88
1045
  str = date.toLocaleDateString('en-GB', options);
89
1046
  return str;
90
1047
  });
91
- squirrel.filters.define('date_short', (str, format = 'd/m/y') => {
1048
+ filters.define('date_short', (str, format = 'd/m/y') => {
92
1049
  if (!str)
93
1050
  return;
94
1051
  const date = new Date(parseInt(str) * 1000);
@@ -97,7 +1054,7 @@ squirrel.filters.define('date_short', (str, format = 'd/m/y') => {
97
1054
  str = str.replace(/(y)/, date.getFullYear().toString());
98
1055
  return str;
99
1056
  });
100
- squirrel.filters.define('public_name', (str) => {
1057
+ filters.define('public_name', (str) => {
101
1058
  if (!str)
102
1059
  return;
103
1060
  str = str
@@ -108,19 +1065,19 @@ squirrel.filters.define('public_name', (str) => {
108
1065
  .join(' ');
109
1066
  return str.charAt(0).toUpperCase() + str.slice(1);
110
1067
  });
111
- squirrel.filters.define('trim_to', (str, length = 100) => {
1068
+ filters.define('trim_to', (str, length = 100) => {
112
1069
  if (!str)
113
1070
  return;
114
1071
  if (str.length <= length)
115
1072
  return str;
116
1073
  return str.substr(0, length) + '...';
117
1074
  });
118
- squirrel.filters.define('classname', (str) => {
1075
+ filters.define('classname', (str) => {
119
1076
  if (!str)
120
1077
  return;
121
1078
  return str.replace(/[\W]+/g, '');
122
1079
  });
123
- squirrel.filters.define('abs_url', (str, index = null, result) => {
1080
+ filters.define('abs_url', (str, index = null, result) => {
124
1081
  if (!index)
125
1082
  return str;
126
1083
  if (!str)
@@ -136,11 +1093,11 @@ squirrel.filters.define('abs_url', (str, index = null, result) => {
136
1093
  return str;
137
1094
  return str.match(/^http/) ? str : location.protocol + '//' + domain + str;
138
1095
  });
139
- squirrel.filters.define('replace', (str, search, replace) => str.replace(search, replace));
140
- squirrel.filters.define('remove_spaces', (str) => str.replace(/ /g, '_'));
141
- squirrel.filters.define('add_spaces', (str) => (str = str.replace(/[_\-]/g, ' ')));
142
- squirrel.filters.define('capitalise', (str) => (str = str.charAt(0).toUpperCase() + str.slice(1)));
143
- squirrel.filters.define('lowercase', (str) => (str = str.toLowerCase()));
1096
+ filters.define('replace', (str, search, replace) => str.replace(search, replace));
1097
+ filters.define('remove_spaces', (str) => str.replace(/ /g, '_'));
1098
+ filters.define('add_spaces', (str) => (str = str.replace(/[_\-]/g, ' ')));
1099
+ filters.define('capitalise', (str) => (str = str.charAt(0).toUpperCase() + str.slice(1)));
1100
+ filters.define('lowercase', (str) => (str = str.toLowerCase()));
144
1101
  const Squirrel = squirrel;
145
1102
 
146
1103
  var multiverse = new Map();
@@ -226,7 +1183,7 @@ const Algolia = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
226
1183
  this.dynFacetFilters = {};
227
1184
  this.hasLoadSlot = false;
228
1185
  this.placedAlgoliaEles = [];
229
- // lots of stuff happens asynchronously. This makes sure they fire in the corrent order
1186
+ // lots of stuff happens asynchronously. This makes sure they fire in the correct order
230
1187
  this.promiseQueue = new PromiseQueue();
231
1188
  this.searchChange = async () => {
232
1189
  if (!this.algoliaIndex)
@@ -385,7 +1342,6 @@ const Algolia = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
385
1342
  this.query = '';
386
1343
  this.operator = 'and';
387
1344
  this.filters = [];
388
- this.tplEngine = Squirrel;
389
1345
  this.tplRenderFn = Squirrel.render;
390
1346
  this.replicaIndex = '';
391
1347
  this.browseIndex = false;
@@ -818,7 +1774,6 @@ const Algolia = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
818
1774
  "query": [1025],
819
1775
  "operator": [1],
820
1776
  "filters": [16],
821
- "tplEngine": [16],
822
1777
  "tplRenderFn": [16],
823
1778
  "replicaIndex": [1025, "replica-index"],
824
1779
  "browseIndex": [1028, "browse-index"],