@nanoporetech-digital/components 3.7.0 → 3.8.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 (783) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/cjs/{algolia-data-9152d0ef.js → algolia-data-f495daf4.js} +2 -2
  3. package/dist/cjs/{algolia-data-9152d0ef.js.map → algolia-data-f495daf4.js.map} +1 -1
  4. package/dist/cjs/{algoliasearch.umd-7ee60729.js → algoliasearch.umd-689c1560.js} +3 -3
  5. package/dist/cjs/{algoliasearch.umd-7ee60729.js.map → algoliasearch.umd-689c1560.js.map} +1 -1
  6. package/dist/cjs/{component-store-d7c8c326.js → component-store-d2fdaecf.js} +25 -12
  7. package/dist/cjs/component-store-d2fdaecf.js.map +1 -0
  8. package/dist/cjs/{dom-d7c33f11.js → dom-7acf7afd.js} +15 -15
  9. package/dist/cjs/dom-7acf7afd.js.map +1 -0
  10. package/dist/cjs/{form-control-57c71246.js → form-control-c24fbff3.js} +4 -4
  11. package/dist/cjs/form-control-c24fbff3.js.map +1 -0
  12. package/dist/{esm/global-8047b4ff.js → cjs/global-3a6a7873.js} +5 -14
  13. package/dist/cjs/global-3a6a7873.js.map +1 -0
  14. package/dist/cjs/{index-bb2a6ab8.js → index-361e5114.js} +2 -2
  15. package/dist/cjs/{index-bb2a6ab8.js.map → index-361e5114.js.map} +1 -1
  16. package/dist/cjs/{index-41582c2a.js → index-5c437a69.js} +1436 -516
  17. package/dist/cjs/index-5c437a69.js.map +1 -0
  18. package/dist/cjs/{index-ece1cb9e.js → index-72ee0363.js} +2 -10
  19. package/dist/cjs/index-72ee0363.js.map +1 -0
  20. package/dist/cjs/index.cjs.js +18 -35
  21. package/dist/cjs/index.cjs.js.map +1 -1
  22. package/dist/cjs/loader.cjs.js +5 -4
  23. package/dist/cjs/loader.cjs.js.map +1 -1
  24. package/dist/cjs/{modal-e4defcc3.js → modal-5884a6de.js} +3 -2
  25. package/dist/cjs/modal-5884a6de.js.map +1 -0
  26. package/dist/cjs/nano-accordion.cjs.entry.js +4 -7
  27. package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
  28. package/dist/cjs/nano-alert.cjs.entry.js +25 -19
  29. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  30. package/dist/cjs/nano-algolia-filter.cjs.entry.js +5 -5
  31. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  32. package/dist/cjs/nano-algolia-input.cjs.entry.js +4 -4
  33. package/dist/cjs/nano-algolia-input.cjs.entry.js.map +1 -1
  34. package/dist/cjs/nano-algolia-pagination.cjs.entry.js +2 -2
  35. package/dist/cjs/nano-algolia-results.cjs.entry.js +2 -2
  36. package/dist/cjs/nano-algolia.cjs.entry.js +8 -8
  37. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-aspect-ratio.cjs.entry.js +1 -1
  39. package/dist/cjs/nano-checkbox-group.cjs.entry.js +52 -9
  40. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  41. package/dist/cjs/nano-checkbox.cjs.entry.js +8 -8
  42. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  43. package/dist/cjs/nano-components.cjs.js +8 -4
  44. package/dist/cjs/nano-components.cjs.js.map +1 -1
  45. package/dist/cjs/nano-datalist_3.cjs.entry.js +46 -36
  46. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  47. package/dist/cjs/nano-date-input.cjs.entry.js +6 -6
  48. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  49. package/dist/cjs/nano-date-picker.cjs.entry.js +4 -4
  50. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
  51. package/dist/cjs/nano-demo.cjs.entry.js +13 -9
  52. package/dist/cjs/nano-demo.cjs.entry.js.map +1 -1
  53. package/dist/cjs/nano-details.cjs.entry.js +4 -4
  54. package/dist/cjs/nano-details.cjs.entry.js.map +1 -1
  55. package/dist/cjs/nano-dialog.cjs.entry.js +6 -6
  56. package/dist/cjs/nano-dialog.cjs.entry.js.map +1 -1
  57. package/dist/cjs/nano-drawer.cjs.entry.js +5 -5
  58. package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
  59. package/dist/cjs/nano-dropdown.cjs.entry.js +9 -4
  60. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
  61. package/dist/cjs/nano-field-validator.cjs.entry.js +4 -3
  62. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
  63. package/dist/cjs/nano-file-upload.cjs.entry.js +5 -5
  64. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  65. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +54 -67
  66. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
  67. package/dist/cjs/nano-global-nav.cjs.entry.js +55 -42
  68. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  69. package/dist/cjs/nano-global-search-results.cjs.entry.js +6 -4
  70. package/dist/cjs/nano-global-search-results.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nano-grid_3.cjs.entry.js +8 -7
  72. package/dist/cjs/nano-grid_3.cjs.entry.js.map +1 -1
  73. package/dist/cjs/nano-hero.cjs.entry.js +4 -2
  74. package/dist/cjs/nano-hero.cjs.entry.js.map +1 -1
  75. package/dist/cjs/nano-icon-button.cjs.entry.js +2 -2
  76. package/dist/cjs/nano-icon-button.cjs.entry.js.map +1 -1
  77. package/dist/cjs/nano-icon.cjs.entry.js +7 -14
  78. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  79. package/dist/cjs/nano-input.cjs.entry.js +19 -33
  80. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  81. package/dist/cjs/nano-menu-drawer.cjs.entry.js +3 -3
  82. package/dist/cjs/nano-menu-drawer.cjs.entry.js.map +1 -1
  83. package/dist/cjs/nano-progress-bar_2.cjs.entry.js +4 -4
  84. package/dist/cjs/nano-progress-bar_2.cjs.entry.js.map +1 -1
  85. package/dist/cjs/nano-range.cjs.entry.js +4 -4
  86. package/dist/cjs/nano-range.cjs.entry.js.map +1 -1
  87. package/dist/cjs/nano-rating.cjs.entry.js +2 -2
  88. package/dist/cjs/nano-rating.cjs.entry.js.map +1 -1
  89. package/dist/cjs/nano-resize-observe_2.cjs.entry.js +18 -10
  90. package/dist/cjs/nano-resize-observe_2.cjs.entry.js.map +1 -1
  91. package/dist/cjs/nano-slide.cjs.entry.js +1 -1
  92. package/dist/cjs/nano-slides.cjs.entry.js +11 -21
  93. package/dist/cjs/nano-slides.cjs.entry.js.map +1 -1
  94. package/dist/cjs/nano-spinner.cjs.entry.js +3 -3
  95. package/dist/cjs/nano-spinner.cjs.entry.js.map +1 -1
  96. package/dist/cjs/nano-split-pane.cjs.entry.js +15 -13
  97. package/dist/cjs/nano-split-pane.cjs.entry.js.map +1 -1
  98. package/dist/cjs/nano-sticker.cjs.entry.js +6 -4
  99. package/dist/cjs/nano-sticker.cjs.entry.js.map +1 -1
  100. package/dist/cjs/nano-tab-content.cjs.entry.js +9 -3
  101. package/dist/cjs/nano-tab-content.cjs.entry.js.map +1 -1
  102. package/dist/cjs/nano-tab-group.cjs.entry.js +18 -12
  103. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/nano-tab.cjs.entry.js +2 -2
  105. package/dist/cjs/nano-tab.cjs.entry.js.map +1 -1
  106. package/dist/cjs/{nano-table-56eb29c1.js → nano-table-860b9714.js} +115 -150
  107. package/dist/cjs/nano-table-860b9714.js.map +1 -0
  108. package/dist/cjs/nano-table.cjs.entry.js +3 -3
  109. package/dist/cjs/{popover-508bcedb.js → popover-088646b2.js} +61 -50
  110. package/dist/cjs/popover-088646b2.js.map +1 -0
  111. package/dist/cjs/{scroll-9bb5e060.js → scroll-a197d9c4.js} +2 -2
  112. package/dist/cjs/{scroll-9bb5e060.js.map → scroll-a197d9c4.js.map} +1 -1
  113. package/dist/cjs/{table.worker-b1c53001.js → table.worker-88f2cb15.js} +4 -4
  114. package/dist/cjs/table.worker-88f2cb15.js.map +1 -0
  115. package/dist/cjs/{theme-50275e1a.js → theme-9cbe28c5.js} +2 -7
  116. package/dist/cjs/theme-9cbe28c5.js.map +1 -0
  117. package/dist/collection/collection-manifest.json +2 -2
  118. package/dist/collection/components/accordion/accordion.js +1 -4
  119. package/dist/collection/components/accordion/accordion.js.map +1 -1
  120. package/dist/collection/components/alert/alert.css +4 -3
  121. package/dist/collection/components/alert/alert.helpers.js +6 -24
  122. package/dist/collection/components/alert/alert.helpers.js.map +1 -1
  123. package/dist/collection/components/alert/alert.js +19 -13
  124. package/dist/collection/components/alert/alert.js.map +1 -1
  125. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  126. package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
  127. package/dist/collection/components/algolia/algolia-input.js.map +1 -1
  128. package/dist/collection/components/algolia/algolia.css +2 -1
  129. package/dist/collection/components/algolia/algolia.js +3 -3
  130. package/dist/collection/components/algolia/algolia.js.map +1 -1
  131. package/dist/collection/components/checkbox/checkbox-group.css +16 -10
  132. package/dist/collection/components/checkbox/checkbox-group.js +91 -7
  133. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  134. package/dist/collection/components/checkbox/checkbox.css +14 -12
  135. package/dist/collection/components/checkbox/checkbox.js +5 -5
  136. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  137. package/dist/collection/components/datalist/datalist.js +39 -31
  138. package/dist/collection/components/datalist/datalist.js.map +1 -1
  139. package/dist/collection/components/date-input/date-input.css +3 -3
  140. package/dist/collection/components/date-input/date-input.js +3 -3
  141. package/dist/collection/components/date-input/date-input.js.map +1 -1
  142. package/dist/collection/components/date-picker/date-picker.css +15 -11
  143. package/dist/collection/components/date-picker/date-picker.js +1 -1
  144. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  145. package/dist/collection/components/demo/demo.js +12 -8
  146. package/dist/collection/components/demo/demo.js.map +1 -1
  147. package/dist/collection/components/details/details.css +2 -1
  148. package/dist/collection/components/details/details.js +1 -1
  149. package/dist/collection/components/details/details.js.map +1 -1
  150. package/dist/collection/components/dialog/dialog.css +8 -5
  151. package/dist/collection/components/dialog/dialog.helpers.js +3 -11
  152. package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
  153. package/dist/collection/components/drawer/drawer.css +2 -2
  154. package/dist/collection/components/dropdown/dropdown.css +1 -1
  155. package/dist/collection/components/dropdown/dropdown.js +6 -1
  156. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  157. package/dist/collection/components/field-validator/field-validator.js +2 -1
  158. package/dist/collection/components/field-validator/field-validator.js.map +1 -1
  159. package/dist/collection/components/file-upload/file-upload.css +35 -25
  160. package/dist/collection/components/file-upload/file-upload.js +4 -4
  161. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  162. package/dist/collection/components/form-control/form-control.js +2 -2
  163. package/dist/collection/components/form-control/form-control.js.map +1 -1
  164. package/dist/collection/components/global-nav/global-nav-user-profile.js +6 -7
  165. package/dist/collection/components/global-nav/global-nav-user-profile.js.map +1 -1
  166. package/dist/collection/components/global-nav/global-nav.js +62 -27
  167. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  168. package/dist/collection/components/global-nav/style/global-nav.css +92 -48
  169. package/dist/collection/components/global-search-results/global-search-results.css +83 -44
  170. package/dist/collection/components/global-search-results/global-search-results.js +4 -2
  171. package/dist/collection/components/global-search-results/global-search-results.js.map +1 -1
  172. package/dist/collection/components/grid/grid-item.css +1 -1
  173. package/dist/collection/components/grid/grid.css +1 -0
  174. package/dist/collection/components/grid/grid.js +2 -0
  175. package/dist/collection/components/grid/grid.js.map +1 -1
  176. package/dist/collection/components/hero/hero.css +110 -18
  177. package/dist/collection/components/hero/hero.js +2 -0
  178. package/dist/collection/components/hero/hero.js.map +1 -1
  179. package/dist/collection/components/icon/icon.css +2 -2
  180. package/dist/collection/components/icon/icon.js +3 -10
  181. package/dist/collection/components/icon/icon.js.map +1 -1
  182. package/dist/collection/components/icon-button/icon-button.css +1 -1
  183. package/dist/collection/components/img/img.css +0 -1
  184. package/dist/collection/components/img/img.js +3 -4
  185. package/dist/collection/components/img/img.js.map +1 -1
  186. package/dist/collection/components/input/input.css +54 -32
  187. package/dist/collection/components/input/input.js +14 -28
  188. package/dist/collection/components/input/input.js.map +1 -1
  189. package/dist/collection/components/menu/menu.js +4 -2
  190. package/dist/collection/components/menu/menu.js.map +1 -1
  191. package/dist/collection/components/menu-drawer/menu-drawer.css +20 -13
  192. package/dist/collection/components/menu-drawer/menu-drawer.js +1 -1
  193. package/dist/collection/components/menu-drawer/menu-drawer.js.map +1 -1
  194. package/dist/collection/components/nav-item/nav-item.css +31 -16
  195. package/dist/collection/components/nav-item/nav-item.js +4 -4
  196. package/dist/collection/components/nav-item/nav-item.js.map +1 -1
  197. package/dist/collection/components/option/option.css +4 -2
  198. package/dist/collection/components/progress-bar/progress-bar.css +4 -4
  199. package/dist/collection/components/range/range.css +11 -9
  200. package/dist/collection/components/rating/rating.css +9 -5
  201. package/dist/collection/components/resize-observe/resize-observe.js +17 -6
  202. package/dist/collection/components/resize-observe/resize-observe.js.map +1 -1
  203. package/dist/collection/components/select/select.css +59 -34
  204. package/dist/collection/components/select/select.js +42 -55
  205. package/dist/collection/components/select/select.js.map +1 -1
  206. package/dist/collection/components/skeleton/skeleton.css +5 -5
  207. package/dist/collection/components/slides/slides.css +4 -2
  208. package/dist/collection/components/slides/slides.js +9 -19
  209. package/dist/collection/components/slides/slides.js.map +1 -1
  210. package/dist/collection/components/spinner/spinner.css +13 -8
  211. package/dist/collection/components/spinner/spinner.js +1 -1
  212. package/dist/collection/components/spinner/spinner.js.map +1 -1
  213. package/dist/collection/components/split-pane/split-pane.css +1 -1
  214. package/dist/collection/components/split-pane/split-pane.js +13 -11
  215. package/dist/collection/components/split-pane/split-pane.js.map +1 -1
  216. package/dist/collection/components/sticker/sticker.js +4 -2
  217. package/dist/collection/components/sticker/sticker.js.map +1 -1
  218. package/dist/collection/components/table/table.cell.js +8 -8
  219. package/dist/collection/components/table/table.cell.js.map +1 -1
  220. package/dist/collection/components/table/table.css +46 -25
  221. package/dist/collection/components/table/table.header.js +6 -19
  222. package/dist/collection/components/table/table.header.js.map +1 -1
  223. package/dist/collection/components/table/table.js +85 -93
  224. package/dist/collection/components/table/table.js.map +1 -1
  225. package/dist/collection/components/table/table.row.js +8 -8
  226. package/dist/collection/components/table/table.row.js.map +1 -1
  227. package/dist/collection/components/table/table.store.js +2 -1
  228. package/dist/collection/components/table/table.store.js.map +1 -1
  229. package/dist/collection/components/table/table.utils.js +8 -7
  230. package/dist/collection/components/table/table.utils.js.map +1 -1
  231. package/dist/collection/components/tabs/tab-content.css +7 -2
  232. package/dist/collection/components/tabs/tab-content.js +12 -1
  233. package/dist/collection/components/tabs/tab-content.js.map +1 -1
  234. package/dist/collection/components/tabs/tab-group.css +13 -10
  235. package/dist/collection/components/tabs/tab-group.js +17 -7
  236. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  237. package/dist/collection/components/tabs/tab.css +21 -12
  238. package/dist/collection/components/tooltip/tooltip.css +25 -16
  239. package/dist/collection/global/script/global.js +2 -13
  240. package/dist/collection/global/script/global.js.map +1 -1
  241. package/dist/collection/index.js +17 -0
  242. package/dist/collection/index.js.map +1 -1
  243. package/dist/collection/utils/dom.js +16 -15
  244. package/dist/collection/utils/dom.js.map +1 -1
  245. package/dist/collection/utils/fetch.js +15 -12
  246. package/dist/collection/utils/fetch.js.map +1 -1
  247. package/dist/collection/utils/gesture/index.js +1 -9
  248. package/dist/collection/utils/gesture/index.js.map +1 -1
  249. package/dist/collection/utils/modal.js +2 -1
  250. package/dist/collection/utils/modal.js.map +1 -1
  251. package/dist/collection/utils/store/get-set.js +1 -1
  252. package/dist/collection/utils/store/get-set.js.map +1 -1
  253. package/dist/collection/utils/testing/index.js +1 -0
  254. package/dist/collection/utils/testing/index.js.map +1 -1
  255. package/dist/collection/utils/theme.js +1 -6
  256. package/dist/collection/utils/theme.js.map +1 -1
  257. package/dist/components/algolia.js +3 -3
  258. package/dist/components/algolia.js.map +1 -1
  259. package/dist/components/algoliasearch.umd.js +2 -2
  260. package/dist/components/algoliasearch.umd.js.map +1 -1
  261. package/dist/components/component-store.js +23 -10
  262. package/dist/components/component-store.js.map +1 -1
  263. package/dist/components/datalist.js +39 -31
  264. package/dist/components/datalist.js.map +1 -1
  265. package/dist/components/date-picker.js +2 -2
  266. package/dist/components/date-picker.js.map +1 -1
  267. package/dist/components/dom.js +17 -15
  268. package/dist/components/dom.js.map +1 -1
  269. package/dist/components/dropdown.js +7 -2
  270. package/dist/components/dropdown.js.map +1 -1
  271. package/dist/components/form-control.js +2 -2
  272. package/dist/components/form-control.js.map +1 -1
  273. package/dist/components/global-nav-user-profile.js +4 -3
  274. package/dist/components/global-nav-user-profile.js.map +1 -1
  275. package/dist/components/grid-item.js +1 -1
  276. package/dist/components/grid-item.js.map +1 -1
  277. package/dist/components/grid.js +3 -1
  278. package/dist/components/grid.js.map +1 -1
  279. package/dist/components/icon-button.js +1 -1
  280. package/dist/components/icon-button.js.map +1 -1
  281. package/dist/components/icon.js +4 -11
  282. package/dist/components/icon.js.map +1 -1
  283. package/dist/components/img.js +4 -5
  284. package/dist/components/img.js.map +1 -1
  285. package/dist/components/index.d.ts +9 -0
  286. package/dist/components/index.js +23 -52
  287. package/dist/components/index.js.map +1 -1
  288. package/dist/components/index3.js +635 -1069
  289. package/dist/components/index3.js.map +1 -1
  290. package/dist/components/input.js +15 -29
  291. package/dist/components/input.js.map +1 -1
  292. package/dist/components/menu.js +4 -2
  293. package/dist/components/menu.js.map +1 -1
  294. package/dist/components/modal.js +2 -1
  295. package/dist/components/modal.js.map +1 -1
  296. package/dist/components/nano-accordion.js +1 -4
  297. package/dist/components/nano-accordion.js.map +1 -1
  298. package/dist/components/nano-alert.js +20 -14
  299. package/dist/components/nano-alert.js.map +1 -1
  300. package/dist/components/nano-algolia-filter.js +2 -2
  301. package/dist/components/nano-algolia-filter.js.map +1 -1
  302. package/dist/components/nano-algolia-input.js.map +1 -1
  303. package/dist/components/nano-checkbox-group.js +53 -9
  304. package/dist/components/nano-checkbox-group.js.map +1 -1
  305. package/dist/components/nano-checkbox.js +6 -6
  306. package/dist/components/nano-checkbox.js.map +1 -1
  307. package/dist/components/nano-date-input.js +4 -4
  308. package/dist/components/nano-date-input.js.map +1 -1
  309. package/dist/components/nano-demo.js +12 -8
  310. package/dist/components/nano-demo.js.map +1 -1
  311. package/dist/components/nano-details.js +2 -2
  312. package/dist/components/nano-details.js.map +1 -1
  313. package/dist/components/nano-dialog.js +1 -1
  314. package/dist/components/nano-dialog.js.map +1 -1
  315. package/dist/components/nano-drawer.js +1 -1
  316. package/dist/components/nano-drawer.js.map +1 -1
  317. package/dist/components/nano-field-validator.js +2 -1
  318. package/dist/components/nano-field-validator.js.map +1 -1
  319. package/dist/components/nano-file-upload.js +4 -4
  320. package/dist/components/nano-file-upload.js.map +1 -1
  321. package/dist/components/nano-global-nav.js +52 -38
  322. package/dist/components/nano-global-nav.js.map +1 -1
  323. package/dist/components/nano-global-search-results.js +5 -3
  324. package/dist/components/nano-global-search-results.js.map +1 -1
  325. package/dist/components/nano-hero.js +3 -1
  326. package/dist/components/nano-hero.js.map +1 -1
  327. package/dist/components/nano-menu-drawer.js +2 -2
  328. package/dist/components/nano-menu-drawer.js.map +1 -1
  329. package/dist/components/nano-range.js +2 -2
  330. package/dist/components/nano-range.js.map +1 -1
  331. package/dist/components/nano-rating.js +1 -1
  332. package/dist/components/nano-rating.js.map +1 -1
  333. package/dist/components/nano-slides.js +10 -20
  334. package/dist/components/nano-slides.js.map +1 -1
  335. package/dist/components/nano-split-pane.js +14 -12
  336. package/dist/components/nano-split-pane.js.map +1 -1
  337. package/dist/components/nano-tab-content.js +10 -3
  338. package/dist/components/nano-tab-content.js.map +1 -1
  339. package/dist/components/nano-tab-group.js +18 -8
  340. package/dist/components/nano-tab-group.js.map +1 -1
  341. package/dist/components/nano-tab.js +1 -1
  342. package/dist/components/nano-tab.js.map +1 -1
  343. package/dist/components/nav-item.js +5 -5
  344. package/dist/components/nav-item.js.map +1 -1
  345. package/dist/components/option.js +1 -1
  346. package/dist/components/option.js.map +1 -1
  347. package/dist/components/popover.js +60 -49
  348. package/dist/components/popover.js.map +1 -1
  349. package/dist/components/progress-bar.js +1 -1
  350. package/dist/components/progress-bar.js.map +1 -1
  351. package/dist/components/resize-observe.js +16 -8
  352. package/dist/components/resize-observe.js.map +1 -1
  353. package/dist/components/select.js +43 -56
  354. package/dist/components/select.js.map +1 -1
  355. package/dist/components/skeleton.js +1 -1
  356. package/dist/components/skeleton.js.map +1 -1
  357. package/dist/components/spinner.js +2 -2
  358. package/dist/components/spinner.js.map +1 -1
  359. package/dist/components/sticker.js +4 -2
  360. package/dist/components/sticker.js.map +1 -1
  361. package/dist/components/table.js +117 -152
  362. package/dist/components/table.js.map +1 -1
  363. package/dist/components/theme.js +1 -6
  364. package/dist/components/theme.js.map +1 -1
  365. package/dist/components/tooltip.js +1 -1
  366. package/dist/components/tooltip.js.map +1 -1
  367. package/dist/esm/{algolia-data-b5cd0c58.js → algolia-data-213ed40c.js} +2 -2
  368. package/dist/esm/{algolia-data-b5cd0c58.js.map → algolia-data-213ed40c.js.map} +1 -1
  369. package/dist/esm/{algoliasearch.umd-86359963.js → algoliasearch.umd-4f7efa84.js} +3 -3
  370. package/dist/esm/{algoliasearch.umd-86359963.js.map → algoliasearch.umd-4f7efa84.js.map} +1 -1
  371. package/dist/esm/{component-store-ec512820.js → component-store-df8af0e6.js} +25 -12
  372. package/dist/esm/component-store-df8af0e6.js.map +1 -0
  373. package/dist/esm/{dom-d3ad49e2.js → dom-311c9e1e.js} +15 -15
  374. package/dist/esm/dom-311c9e1e.js.map +1 -0
  375. package/dist/esm/{form-control-84bac7a2.js → form-control-445de741.js} +4 -4
  376. package/dist/esm/form-control-445de741.js.map +1 -0
  377. package/dist/{cjs/global-989678ec.js → esm/global-f6e05656.js} +3 -16
  378. package/dist/esm/global-f6e05656.js.map +1 -0
  379. package/dist/esm/{index-3c280603.js → index-44c85cc8.js} +1436 -517
  380. package/dist/esm/index-44c85cc8.js.map +1 -0
  381. package/dist/esm/{index-c752dae1.js → index-d1b02919.js} +2 -2
  382. package/dist/esm/{index-c752dae1.js.map → index-d1b02919.js.map} +1 -1
  383. package/dist/{components/index4.js → esm/index-f626f476.js} +2 -10
  384. package/dist/esm/index-f626f476.js.map +1 -0
  385. package/dist/esm/index.js +18 -36
  386. package/dist/esm/index.js.map +1 -1
  387. package/dist/esm/loader.js +5 -4
  388. package/dist/esm/loader.js.map +1 -1
  389. package/dist/esm/{modal-5c9ce466.js → modal-1f3223cd.js} +3 -2
  390. package/dist/esm/modal-1f3223cd.js.map +1 -0
  391. package/dist/esm/nano-accordion.entry.js +4 -7
  392. package/dist/esm/nano-accordion.entry.js.map +1 -1
  393. package/dist/esm/nano-alert.entry.js +25 -19
  394. package/dist/esm/nano-alert.entry.js.map +1 -1
  395. package/dist/esm/nano-algolia-filter.entry.js +5 -5
  396. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  397. package/dist/esm/nano-algolia-input.entry.js +4 -4
  398. package/dist/esm/nano-algolia-input.entry.js.map +1 -1
  399. package/dist/esm/nano-algolia-pagination.entry.js +2 -2
  400. package/dist/esm/nano-algolia-results.entry.js +2 -2
  401. package/dist/esm/nano-algolia.entry.js +8 -8
  402. package/dist/esm/nano-algolia.entry.js.map +1 -1
  403. package/dist/esm/nano-aspect-ratio.entry.js +1 -1
  404. package/dist/esm/nano-checkbox-group.entry.js +52 -9
  405. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  406. package/dist/esm/nano-checkbox.entry.js +8 -8
  407. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  408. package/dist/esm/nano-components.js +5 -4
  409. package/dist/esm/nano-components.js.map +1 -1
  410. package/dist/esm/nano-datalist_3.entry.js +46 -36
  411. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  412. package/dist/esm/nano-date-input.entry.js +6 -6
  413. package/dist/esm/nano-date-input.entry.js.map +1 -1
  414. package/dist/esm/nano-date-picker.entry.js +4 -4
  415. package/dist/esm/nano-date-picker.entry.js.map +1 -1
  416. package/dist/esm/nano-demo.entry.js +13 -9
  417. package/dist/esm/nano-demo.entry.js.map +1 -1
  418. package/dist/esm/nano-details.entry.js +4 -4
  419. package/dist/esm/nano-details.entry.js.map +1 -1
  420. package/dist/esm/nano-dialog.entry.js +6 -6
  421. package/dist/esm/nano-dialog.entry.js.map +1 -1
  422. package/dist/esm/nano-drawer.entry.js +5 -5
  423. package/dist/esm/nano-drawer.entry.js.map +1 -1
  424. package/dist/esm/nano-dropdown.entry.js +9 -4
  425. package/dist/esm/nano-dropdown.entry.js.map +1 -1
  426. package/dist/esm/nano-field-validator.entry.js +4 -3
  427. package/dist/esm/nano-field-validator.entry.js.map +1 -1
  428. package/dist/esm/nano-file-upload.entry.js +5 -5
  429. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  430. package/dist/esm/nano-global-nav-user-profile_3.entry.js +54 -67
  431. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  432. package/dist/esm/nano-global-nav.entry.js +55 -42
  433. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  434. package/dist/esm/nano-global-search-results.entry.js +6 -4
  435. package/dist/esm/nano-global-search-results.entry.js.map +1 -1
  436. package/dist/esm/nano-grid_3.entry.js +8 -7
  437. package/dist/esm/nano-grid_3.entry.js.map +1 -1
  438. package/dist/esm/nano-hero.entry.js +4 -2
  439. package/dist/esm/nano-hero.entry.js.map +1 -1
  440. package/dist/esm/nano-icon-button.entry.js +2 -2
  441. package/dist/esm/nano-icon-button.entry.js.map +1 -1
  442. package/dist/esm/nano-icon.entry.js +7 -14
  443. package/dist/esm/nano-icon.entry.js.map +1 -1
  444. package/dist/esm/nano-input.entry.js +19 -33
  445. package/dist/esm/nano-input.entry.js.map +1 -1
  446. package/dist/esm/nano-menu-drawer.entry.js +3 -3
  447. package/dist/esm/nano-menu-drawer.entry.js.map +1 -1
  448. package/dist/esm/nano-progress-bar_2.entry.js +4 -4
  449. package/dist/esm/nano-progress-bar_2.entry.js.map +1 -1
  450. package/dist/esm/nano-range.entry.js +4 -4
  451. package/dist/esm/nano-range.entry.js.map +1 -1
  452. package/dist/esm/nano-rating.entry.js +2 -2
  453. package/dist/esm/nano-rating.entry.js.map +1 -1
  454. package/dist/esm/nano-resize-observe_2.entry.js +18 -10
  455. package/dist/esm/nano-resize-observe_2.entry.js.map +1 -1
  456. package/dist/esm/nano-slide.entry.js +1 -1
  457. package/dist/esm/nano-slides.entry.js +11 -21
  458. package/dist/esm/nano-slides.entry.js.map +1 -1
  459. package/dist/esm/nano-spinner.entry.js +3 -3
  460. package/dist/esm/nano-spinner.entry.js.map +1 -1
  461. package/dist/esm/nano-split-pane.entry.js +15 -13
  462. package/dist/esm/nano-split-pane.entry.js.map +1 -1
  463. package/dist/esm/nano-sticker.entry.js +6 -4
  464. package/dist/esm/nano-sticker.entry.js.map +1 -1
  465. package/dist/esm/nano-tab-content.entry.js +9 -3
  466. package/dist/esm/nano-tab-content.entry.js.map +1 -1
  467. package/dist/esm/nano-tab-group.entry.js +18 -12
  468. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  469. package/dist/esm/nano-tab.entry.js +2 -2
  470. package/dist/esm/nano-tab.entry.js.map +1 -1
  471. package/dist/esm/{nano-table-38f3c797.js → nano-table-331a0cad.js} +115 -150
  472. package/dist/esm/nano-table-331a0cad.js.map +1 -0
  473. package/dist/esm/nano-table.entry.js +3 -3
  474. package/dist/esm/polyfills/css-shim.js +1 -1
  475. package/dist/esm/{popover-e748bb61.js → popover-02e6714d.js} +61 -50
  476. package/dist/esm/popover-02e6714d.js.map +1 -0
  477. package/dist/esm/{scroll-a1e59d8c.js → scroll-e5825d8d.js} +2 -2
  478. package/dist/esm/{scroll-a1e59d8c.js.map → scroll-e5825d8d.js.map} +1 -1
  479. package/dist/esm/{table.worker-e57fffd8.js → table.worker-682e581f.js} +4 -4
  480. package/dist/esm/table.worker-682e581f.js.map +1 -0
  481. package/dist/esm/{theme-931bd452.js → theme-82feb8cf.js} +2 -7
  482. package/dist/esm/theme-82feb8cf.js.map +1 -0
  483. package/dist/nano-components/index.esm.js +1 -1
  484. package/dist/nano-components/index.esm.js.map +1 -1
  485. package/dist/nano-components/nano-components.esm.js +1 -1
  486. package/dist/nano-components/nano-components.esm.js.map +1 -1
  487. package/dist/nano-components/p-014872f7.entry.js +5 -0
  488. package/dist/nano-components/p-014872f7.entry.js.map +1 -0
  489. package/dist/nano-components/{p-bd05b3aa.entry.js → p-01c1f47a.entry.js} +2 -2
  490. package/dist/nano-components/{p-bd05b3aa.entry.js.map → p-01c1f47a.entry.js.map} +1 -1
  491. package/dist/nano-components/{p-69e5a37d.entry.js → p-08c3ffaf.entry.js} +2 -2
  492. package/dist/nano-components/p-08c3ffaf.entry.js.map +1 -0
  493. package/dist/nano-components/p-0c3a5c44.entry.js +5 -0
  494. package/dist/nano-components/p-0c3a5c44.entry.js.map +1 -0
  495. package/dist/nano-components/p-0eaa9a08.entry.js +5 -0
  496. package/dist/nano-components/p-0eaa9a08.entry.js.map +1 -0
  497. package/dist/nano-components/p-0f7c19fc.entry.js +5 -0
  498. package/dist/nano-components/p-0f7c19fc.entry.js.map +1 -0
  499. package/dist/nano-components/p-12beee2b.entry.js +5 -0
  500. package/dist/nano-components/p-12beee2b.entry.js.map +1 -0
  501. package/dist/nano-components/p-1416c06b.entry.js +5 -0
  502. package/dist/nano-components/p-1416c06b.entry.js.map +1 -0
  503. package/dist/nano-components/p-14b7f2c7.entry.js +5 -0
  504. package/dist/nano-components/p-14b7f2c7.entry.js.map +1 -0
  505. package/dist/nano-components/p-167b9165.js.map +1 -1
  506. package/dist/nano-components/p-1d0194af.entry.js +5 -0
  507. package/dist/nano-components/p-1d0194af.entry.js.map +1 -0
  508. package/dist/nano-components/{p-1e709f87.entry.js → p-2113cc09.entry.js} +2 -2
  509. package/dist/nano-components/p-2113cc09.entry.js.map +1 -0
  510. package/dist/nano-components/p-2155fc2c.js.map +1 -1
  511. package/dist/nano-components/p-257432ff.js +5 -0
  512. package/dist/nano-components/p-257432ff.js.map +1 -0
  513. package/dist/nano-components/p-28874fdc.entry.js +5 -0
  514. package/dist/nano-components/p-28874fdc.entry.js.map +1 -0
  515. package/dist/nano-components/{p-b40eedcb.entry.js → p-34df2f17.entry.js} +2 -2
  516. package/dist/nano-components/p-34df2f17.entry.js.map +1 -0
  517. package/dist/nano-components/{p-1a8e60c4.entry.js → p-362d6a04.entry.js} +2 -2
  518. package/dist/nano-components/p-362d6a04.entry.js.map +1 -0
  519. package/dist/nano-components/p-38268f3c.entry.js +5 -0
  520. package/dist/nano-components/p-38268f3c.entry.js.map +1 -0
  521. package/dist/nano-components/p-411bb8f1.js +5 -0
  522. package/dist/nano-components/p-411bb8f1.js.map +1 -0
  523. package/dist/nano-components/p-41f33a56.entry.js +5 -0
  524. package/dist/nano-components/p-41f33a56.entry.js.map +1 -0
  525. package/dist/nano-components/p-45abbbdd.js.map +1 -1
  526. package/dist/nano-components/{p-885b6950.js → p-45b7682a.js} +2 -2
  527. package/dist/nano-components/p-45b7682a.js.map +1 -0
  528. package/dist/nano-components/{p-a2d0d7b9.entry.js → p-4971a1f1.entry.js} +2 -2
  529. package/dist/nano-components/p-4971a1f1.entry.js.map +1 -0
  530. package/dist/nano-components/p-4b12ba50.entry.js +5 -0
  531. package/dist/nano-components/p-4b12ba50.entry.js.map +1 -0
  532. package/dist/nano-components/p-4db34382.entry.js +5 -0
  533. package/dist/nano-components/p-4db34382.entry.js.map +1 -0
  534. package/dist/nano-components/p-51bc8b59.js +5 -0
  535. package/dist/nano-components/p-51bc8b59.js.map +1 -0
  536. package/dist/nano-components/p-533db8ad.entry.js +5 -0
  537. package/dist/nano-components/p-533db8ad.entry.js.map +1 -0
  538. package/dist/nano-components/p-578cc92e.entry.js +5 -0
  539. package/dist/nano-components/p-578cc92e.entry.js.map +1 -0
  540. package/dist/nano-components/p-5ec7263c.js +5 -0
  541. package/dist/nano-components/p-5ec7263c.js.map +1 -0
  542. package/dist/nano-components/p-61e22cad.entry.js +5 -0
  543. package/dist/nano-components/p-61e22cad.entry.js.map +1 -0
  544. package/dist/nano-components/{p-447a5910.entry.js → p-63811de1.entry.js} +2 -2
  545. package/dist/nano-components/p-63811de1.entry.js.map +1 -0
  546. package/dist/nano-components/p-67195231.js +5 -0
  547. package/dist/nano-components/p-67195231.js.map +1 -0
  548. package/dist/nano-components/p-69a3e911.js.map +1 -1
  549. package/dist/nano-components/p-6a2c2a7c.entry.js +5 -0
  550. package/dist/nano-components/p-6a2c2a7c.entry.js.map +1 -0
  551. package/dist/nano-components/p-70e718fe.entry.js +5 -0
  552. package/dist/nano-components/p-70e718fe.entry.js.map +1 -0
  553. package/dist/nano-components/{p-dba8a88d.entry.js → p-71e545fe.entry.js} +2 -2
  554. package/dist/nano-components/p-71e545fe.entry.js.map +1 -0
  555. package/dist/nano-components/p-73fc0adc.entry.js +5 -0
  556. package/dist/nano-components/p-73fc0adc.entry.js.map +1 -0
  557. package/dist/nano-components/p-74a7fc4f.js.map +1 -1
  558. package/dist/nano-components/p-7c23e950.js +5 -0
  559. package/dist/nano-components/p-7c23e950.js.map +1 -0
  560. package/dist/nano-components/p-80e42c89.entry.js +5 -0
  561. package/dist/nano-components/p-80e42c89.entry.js.map +1 -0
  562. package/dist/nano-components/p-8a4f6a46.js +5 -0
  563. package/dist/nano-components/p-8a4f6a46.js.map +1 -0
  564. package/dist/nano-components/{p-651b3264.js → p-8e39d4ee.js} +2 -2
  565. package/dist/nano-components/p-8e39d4ee.js.map +1 -0
  566. package/dist/nano-components/p-91f23170.entry.js +5 -0
  567. package/dist/nano-components/p-91f23170.entry.js.map +1 -0
  568. package/dist/nano-components/p-9746b0a5.js.map +1 -1
  569. package/dist/nano-components/p-9c57b61b.entry.js +5 -0
  570. package/dist/nano-components/p-9c57b61b.entry.js.map +1 -0
  571. package/dist/nano-components/p-a8db13db.entry.js +5 -0
  572. package/dist/nano-components/p-a8db13db.entry.js.map +1 -0
  573. package/dist/nano-components/p-ae2ce39b.entry.js +5 -0
  574. package/dist/nano-components/p-ae2ce39b.entry.js.map +1 -0
  575. package/dist/nano-components/p-b11c89f6.entry.js +5 -0
  576. package/dist/nano-components/p-b11c89f6.entry.js.map +1 -0
  577. package/dist/nano-components/p-b8abd6a1.js +5 -0
  578. package/dist/nano-components/p-b8abd6a1.js.map +1 -0
  579. package/dist/nano-components/p-b933f3c8.js.map +1 -1
  580. package/dist/nano-components/{p-2828788c.js → p-bb07c3d0.js} +2 -2
  581. package/dist/nano-components/p-bb07c3d0.js.map +1 -0
  582. package/dist/nano-components/{p-3f25fc76.entry.js → p-bd1ff3a4.entry.js} +2 -2
  583. package/dist/nano-components/p-bd1ff3a4.entry.js.map +1 -0
  584. package/dist/nano-components/{p-151aad1e.entry.js → p-c12042c7.entry.js} +4 -4
  585. package/dist/nano-components/p-c12042c7.entry.js.map +1 -0
  586. package/dist/nano-components/p-cecb9af1.js.map +1 -1
  587. package/dist/nano-components/p-cf0ce679.entry.js +5 -0
  588. package/dist/nano-components/p-cf0ce679.entry.js.map +1 -0
  589. package/dist/nano-components/p-d49c5b2b.entry.js +5 -0
  590. package/dist/nano-components/p-d49c5b2b.entry.js.map +1 -0
  591. package/dist/nano-components/p-d4f6ec9f.js +5 -0
  592. package/dist/nano-components/p-d4f6ec9f.js.map +1 -0
  593. package/dist/nano-components/p-dc785fb7.entry.js +5 -0
  594. package/dist/nano-components/p-dc785fb7.entry.js.map +1 -0
  595. package/dist/nano-components/p-de72a35c.entry.js +5 -0
  596. package/dist/nano-components/p-de72a35c.entry.js.map +1 -0
  597. package/dist/nano-components/{p-c9a7c7ea.js → p-e04f2333.js} +2 -2
  598. package/dist/nano-components/p-e04f2333.js.map +1 -0
  599. package/dist/nano-components/p-e460753c.entry.js +5 -0
  600. package/dist/nano-components/{p-41addb3a.entry.js.map → p-e460753c.entry.js.map} +1 -1
  601. package/dist/nano-components/{p-a0b93616.js → p-ed6adde2.js} +3 -3
  602. package/dist/nano-components/p-ed6adde2.js.map +1 -0
  603. package/dist/nano-components/p-ee045579.js.map +1 -1
  604. package/dist/nano-components/p-f6d105c2.entry.js +5 -0
  605. package/dist/nano-components/p-f6d105c2.entry.js.map +1 -0
  606. package/dist/nano-components/p-f84612d4.js +6 -0
  607. package/dist/nano-components/p-f84612d4.js.map +1 -0
  608. package/dist/nano-components/p-f8f89998.js.map +1 -1
  609. package/dist/nano-components/p-f9d45db1.entry.js +5 -0
  610. package/dist/nano-components/p-f9d45db1.entry.js.map +1 -0
  611. package/dist/themes/london-calling.css +1 -1
  612. package/dist/themes/london-calling.css.map +1 -1
  613. package/dist/themes/nanopore.css +1 -1
  614. package/dist/themes/nanopore.css.map +1 -1
  615. package/dist/types/components/alert/alert-interface.d.ts +1 -1
  616. package/dist/types/components/algolia/algolia-input.d.ts +1 -1
  617. package/dist/types/components/algolia/algolia.d.ts +2 -2
  618. package/dist/types/components/checkbox/checkbox-group.d.ts +11 -0
  619. package/dist/types/components/date-picker/date-picker-interface.d.ts +2 -2
  620. package/dist/types/components/date-picker/duet-date-picker/date-adapter.d.ts +3 -3
  621. package/dist/types/components/date-picker/duet-date-picker/date-localization.d.ts +3 -3
  622. package/dist/types/components/date-picker/duet-date-picker/date-picker-day.d.ts +1 -1
  623. package/dist/types/components/date-picker/duet-date-picker/date-picker-month.d.ts +1 -1
  624. package/dist/types/components/field-validator/field-validator-interface.d.ts +4 -4
  625. package/dist/types/components/file-upload/file-upload.d.ts +1 -1
  626. package/dist/types/components/global-nav/global-nav.d.ts +12 -6
  627. package/dist/types/components/icon/icon.d.ts +3 -3
  628. package/dist/types/components/menu/menu.d.ts +1 -1
  629. package/dist/types/components/nav-item/nav-item.d.ts +1 -1
  630. package/dist/types/components/range/range-interface.d.ts +2 -2
  631. package/dist/types/components/resize-observe/resize-observe.d.ts +1 -0
  632. package/dist/types/components/slides/slides-interface.d.ts +2 -2
  633. package/dist/types/components/slides/slides.d.ts +0 -2
  634. package/dist/types/components/table/table.cell.d.ts +1 -1
  635. package/dist/types/components/table/table.d.ts +9 -14
  636. package/dist/types/components/table/table.header.d.ts +1 -1
  637. package/dist/types/components/table/table.row.d.ts +2 -2
  638. package/dist/types/components/table/table.utils.d.ts +2 -1
  639. package/dist/types/components/tabs/tab-content.d.ts +2 -0
  640. package/dist/types/components.d.ts +829 -9
  641. package/dist/types/index.d.ts +5 -0
  642. package/dist/types/stencil-public-runtime.d.ts +48 -3
  643. package/dist/types/utils/dom.d.ts +9 -0
  644. package/dist/types/utils/gesture/index.d.ts +1 -1
  645. package/dist/types/utils/popover.d.ts +1 -1
  646. package/dist/types/utils/store/component-store.d.ts +2 -2
  647. package/dist/types/utils/testing/index.d.ts +1 -1
  648. package/docs-json.json +89 -50
  649. package/docs-vscode.json +8 -4
  650. package/hydrate/index.d.ts +853 -0
  651. package/{dist/custom-elements → hydrate}/index.js +11477 -7967
  652. package/hydrate/package.json +6 -0
  653. package/loader/index.d.ts +9 -0
  654. package/package.json +23 -15
  655. package/dist/cjs/component-store-d7c8c326.js.map +0 -1
  656. package/dist/cjs/dom-d7c33f11.js.map +0 -1
  657. package/dist/cjs/form-control-57c71246.js.map +0 -1
  658. package/dist/cjs/global-989678ec.js.map +0 -1
  659. package/dist/cjs/index-41582c2a.js.map +0 -1
  660. package/dist/cjs/index-75b61776.js +0 -1077
  661. package/dist/cjs/index-75b61776.js.map +0 -1
  662. package/dist/cjs/index-ece1cb9e.js.map +0 -1
  663. package/dist/cjs/modal-e4defcc3.js.map +0 -1
  664. package/dist/cjs/nano-table-56eb29c1.js.map +0 -1
  665. package/dist/cjs/popover-508bcedb.js.map +0 -1
  666. package/dist/cjs/table.worker-b1c53001.js.map +0 -1
  667. package/dist/cjs/theme-50275e1a.js.map +0 -1
  668. package/dist/components/index4.js.map +0 -1
  669. package/dist/custom-elements/index.d.ts +0 -339
  670. package/dist/custom-elements/index.js.map +0 -1
  671. package/dist/esm/component-store-ec512820.js.map +0 -1
  672. package/dist/esm/dom-d3ad49e2.js.map +0 -1
  673. package/dist/esm/form-control-84bac7a2.js.map +0 -1
  674. package/dist/esm/global-8047b4ff.js.map +0 -1
  675. package/dist/esm/index-3bbaffe4.js +0 -1075
  676. package/dist/esm/index-3bbaffe4.js.map +0 -1
  677. package/dist/esm/index-3c280603.js.map +0 -1
  678. package/dist/esm/index-dc076ea6.js +0 -649
  679. package/dist/esm/index-dc076ea6.js.map +0 -1
  680. package/dist/esm/modal-5c9ce466.js.map +0 -1
  681. package/dist/esm/nano-table-38f3c797.js.map +0 -1
  682. package/dist/esm/popover-e748bb61.js.map +0 -1
  683. package/dist/esm/table.worker-e57fffd8.js.map +0 -1
  684. package/dist/esm/theme-931bd452.js.map +0 -1
  685. package/dist/nano-components/p-0b29b22c.js +0 -5
  686. package/dist/nano-components/p-0b29b22c.js.map +0 -1
  687. package/dist/nano-components/p-135fed16.entry.js +0 -5
  688. package/dist/nano-components/p-135fed16.entry.js.map +0 -1
  689. package/dist/nano-components/p-151aad1e.entry.js.map +0 -1
  690. package/dist/nano-components/p-15543295.entry.js +0 -5
  691. package/dist/nano-components/p-15543295.entry.js.map +0 -1
  692. package/dist/nano-components/p-1a8e60c4.entry.js.map +0 -1
  693. package/dist/nano-components/p-1e709f87.entry.js.map +0 -1
  694. package/dist/nano-components/p-1f347342.entry.js +0 -5
  695. package/dist/nano-components/p-1f347342.entry.js.map +0 -1
  696. package/dist/nano-components/p-1fe12320.js +0 -6
  697. package/dist/nano-components/p-1fe12320.js.map +0 -1
  698. package/dist/nano-components/p-23575705.entry.js +0 -5
  699. package/dist/nano-components/p-23575705.entry.js.map +0 -1
  700. package/dist/nano-components/p-2828788c.js.map +0 -1
  701. package/dist/nano-components/p-284dd9a2.entry.js +0 -5
  702. package/dist/nano-components/p-284dd9a2.entry.js.map +0 -1
  703. package/dist/nano-components/p-2a97ef51.entry.js +0 -5
  704. package/dist/nano-components/p-2a97ef51.entry.js.map +0 -1
  705. package/dist/nano-components/p-36842a50.entry.js +0 -5
  706. package/dist/nano-components/p-36842a50.entry.js.map +0 -1
  707. package/dist/nano-components/p-3a1026d1.entry.js +0 -5
  708. package/dist/nano-components/p-3a1026d1.entry.js.map +0 -1
  709. package/dist/nano-components/p-3f25fc76.entry.js.map +0 -1
  710. package/dist/nano-components/p-41addb3a.entry.js +0 -5
  711. package/dist/nano-components/p-447a5910.entry.js.map +0 -1
  712. package/dist/nano-components/p-4b69178e.entry.js +0 -5
  713. package/dist/nano-components/p-4b69178e.entry.js.map +0 -1
  714. package/dist/nano-components/p-559a6492.entry.js +0 -5
  715. package/dist/nano-components/p-559a6492.entry.js.map +0 -1
  716. package/dist/nano-components/p-5d149792.entry.js +0 -5
  717. package/dist/nano-components/p-5d149792.entry.js.map +0 -1
  718. package/dist/nano-components/p-63834d50.js +0 -5
  719. package/dist/nano-components/p-63834d50.js.map +0 -1
  720. package/dist/nano-components/p-651b3264.js.map +0 -1
  721. package/dist/nano-components/p-69e5a37d.entry.js.map +0 -1
  722. package/dist/nano-components/p-6ad194e4.entry.js +0 -5
  723. package/dist/nano-components/p-6ad194e4.entry.js.map +0 -1
  724. package/dist/nano-components/p-6cb77d5c.entry.js +0 -5
  725. package/dist/nano-components/p-6cb77d5c.entry.js.map +0 -1
  726. package/dist/nano-components/p-77cad8d1.js +0 -5
  727. package/dist/nano-components/p-77cad8d1.js.map +0 -1
  728. package/dist/nano-components/p-793588d1.js +0 -5
  729. package/dist/nano-components/p-793588d1.js.map +0 -1
  730. package/dist/nano-components/p-7b3638b7.js +0 -5
  731. package/dist/nano-components/p-7b3638b7.js.map +0 -1
  732. package/dist/nano-components/p-807c2e92.entry.js +0 -5
  733. package/dist/nano-components/p-807c2e92.entry.js.map +0 -1
  734. package/dist/nano-components/p-845ae77e.js +0 -5
  735. package/dist/nano-components/p-845ae77e.js.map +0 -1
  736. package/dist/nano-components/p-885b6950.js.map +0 -1
  737. package/dist/nano-components/p-8d747891.js +0 -5
  738. package/dist/nano-components/p-8d747891.js.map +0 -1
  739. package/dist/nano-components/p-9059c8c1.entry.js +0 -5
  740. package/dist/nano-components/p-9059c8c1.entry.js.map +0 -1
  741. package/dist/nano-components/p-92504f7f.entry.js +0 -5
  742. package/dist/nano-components/p-92504f7f.entry.js.map +0 -1
  743. package/dist/nano-components/p-99fbae74.entry.js +0 -5
  744. package/dist/nano-components/p-99fbae74.entry.js.map +0 -1
  745. package/dist/nano-components/p-9a4297e1.entry.js +0 -5
  746. package/dist/nano-components/p-9a4297e1.entry.js.map +0 -1
  747. package/dist/nano-components/p-9eeed8f5.entry.js +0 -5
  748. package/dist/nano-components/p-9eeed8f5.entry.js.map +0 -1
  749. package/dist/nano-components/p-a0b93616.js.map +0 -1
  750. package/dist/nano-components/p-a183e3c7.entry.js +0 -5
  751. package/dist/nano-components/p-a183e3c7.entry.js.map +0 -1
  752. package/dist/nano-components/p-a2d0d7b9.entry.js.map +0 -1
  753. package/dist/nano-components/p-b25e79b8.entry.js +0 -5
  754. package/dist/nano-components/p-b25e79b8.entry.js.map +0 -1
  755. package/dist/nano-components/p-b40eedcb.entry.js.map +0 -1
  756. package/dist/nano-components/p-b55ffa92.entry.js +0 -5
  757. package/dist/nano-components/p-b55ffa92.entry.js.map +0 -1
  758. package/dist/nano-components/p-b87539f0.entry.js +0 -5
  759. package/dist/nano-components/p-b87539f0.entry.js.map +0 -1
  760. package/dist/nano-components/p-ba9cd047.entry.js +0 -5
  761. package/dist/nano-components/p-ba9cd047.entry.js.map +0 -1
  762. package/dist/nano-components/p-c9a7c7ea.js.map +0 -1
  763. package/dist/nano-components/p-cc5e7acb.entry.js +0 -5
  764. package/dist/nano-components/p-cc5e7acb.entry.js.map +0 -1
  765. package/dist/nano-components/p-d26b97d1.js +0 -5
  766. package/dist/nano-components/p-d26b97d1.js.map +0 -1
  767. package/dist/nano-components/p-d5303933.entry.js +0 -5
  768. package/dist/nano-components/p-d5303933.entry.js.map +0 -1
  769. package/dist/nano-components/p-d565991d.entry.js +0 -5
  770. package/dist/nano-components/p-d565991d.entry.js.map +0 -1
  771. package/dist/nano-components/p-dba8a88d.entry.js.map +0 -1
  772. package/dist/nano-components/p-dc50b93c.entry.js +0 -5
  773. package/dist/nano-components/p-dc50b93c.entry.js.map +0 -1
  774. package/dist/nano-components/p-e3860f00.js +0 -5
  775. package/dist/nano-components/p-e3860f00.js.map +0 -1
  776. package/dist/nano-components/p-e5408bc8.entry.js +0 -5
  777. package/dist/nano-components/p-e5408bc8.entry.js.map +0 -1
  778. package/dist/nano-components/p-ea2de992.js +0 -19
  779. package/dist/nano-components/p-ea2de992.js.map +0 -1
  780. package/dist/nano-components/p-f7471cca.entry.js +0 -5
  781. package/dist/nano-components/p-f7471cca.entry.js.map +0 -1
  782. package/dist/nano-components/p-fe94eeff.entry.js +0 -5
  783. package/dist/nano-components/p-fe94eeff.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/demo/demo.tsx"],"names":["capitalise","value","charAt","toUpperCase","slice","mediumDate","date","undefined","Date","toLocaleDateString","year","month","day","currency","amount","currencyCode","toLocaleUpperCase","Intl","NumberFormat","style","format","Demo","[object Object]","hostRef","this","order","checks","name","external_id","status","account_info","email","address_line_1","address_line_2","address_postcode","address_city","address_region","address_country","individual_name_compliance_information","table","names","addresses","match","false_positive","organization_compliance_information","label","item_type","answer","further_information","attachments","notes","orderId","createdAt","updatedAt","subStatus","customerPaymentMethod","paymentPlatform","dataAreaId","defaultShippingWarehouse","deliveryContact","deliveryMode","deliveryName","deliveryTerms","invoiceAccountNumber","orderAccountNumber","orderAccountName","originalLeadTime","salesDate","salesName","salesOrigin","salesOriginName","customerReference","purchaseOrder","additionalDocuments","total","shippingAmount","taxAmount","projectId","deliveryPhoneNumber","invoicePhoneNumber","quoteNumber","customerType","invoiceAccountEmail","partnerReference","sentToD365","sentToD365Status","orderAccountEmail","controllingAccountNumber","controllingAccountEmail","deliveryAddress","street","city","postcode","region","regionCode","countryCode","invoiceAddress","shopOrderLines","sku","quantity","price","maskSku","productType","salesTag","requestedShippingDate","discount","discountPercentage","finalSku","includedItems","orderLines","pickedItems","packedItems","trackingNumbers","trackingUpdates","ecoOrder","revenueOrder","length","forEach","itm","h","Host","rowRender","template","_","c","TableCell","renderedRow","rowModel","map","item","class","header","Fragment","flat","columns","title","prop","pinned","rowHeader","autoTooltip","cellTemplate","cellModel","rows","caption","showFooter","footRender","colSpan","scope","lineItemTotal"],"mappings":"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","sourcesContent":["import {\n Component,\n ComponentInterface,\n Fragment,\n h,\n Host,\n} from '@stencil/core';\n\nfunction capitalise(value: string) {\n if (!value) return '';\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nfunction mediumDate(date: Date) {\n if (!date) return undefined;\n return new Date(date).toLocaleDateString(undefined, {\n year: 'numeric',\n month: 'short',\n day: 'numeric',\n });\n}\n\nfunction currency(amount: number = 0, currencyCode: string = 'USD') {\n currencyCode = currencyCode?.toLocaleUpperCase() || 'USD';\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: currencyCode,\n }).format(amount);\n}\n\n@Component({\n tag: 'nano-demo',\n shadow: true,\n styles: /* css */ `\n :host {display: block}\n .child-row {\n opacity: .8;\n font-style: italic;\n }\n `,\n})\nexport class Demo implements ComponentInterface {\n private order = {\n checks: [\n {\n name: 'Compliance',\n external_id: 'CO',\n status: 'complete',\n account_info: {\n name: 'Jeongmin Song',\n email: 'js2957@cornell.edu',\n address_line_1: '930 Campus Road',\n address_line_2: 'Veterinary Medical Center C4 109',\n address_postcode: '14853',\n address_city: 'Ithaca',\n address_region: 'New York',\n address_country: 'US',\n },\n individual_name_compliance_information: {\n table: {\n names: [],\n addresses: [],\n match: false,\n false_positive: null,\n },\n },\n organization_compliance_information: {\n table: {\n names: [],\n addresses: [],\n match: false,\n false_positive: null,\n },\n },\n checks: [\n {\n label: 'Compliance check',\n external_id: 'compliance_check',\n item_type: 'pass/fail/escalate',\n answer: 'pass',\n },\n ],\n further_information: [],\n attachments: [],\n notes: [],\n },\n ],\n orderId: '00886434',\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T16:02:29',\n status: 'Processing',\n subStatus: null,\n currency: 'USD',\n customerPaymentMethod: 'CC-USD',\n paymentPlatform: 'Shop',\n dataAreaId: 'OXUS',\n defaultShippingWarehouse: null,\n deliveryContact: 'Jeongmin Song',\n deliveryMode: null,\n deliveryName: 'Cornell University',\n deliveryTerms: null,\n invoiceAccountNumber: 'C038330',\n orderAccountNumber: 'C038330',\n orderAccountName: 'Cornell University',\n originalLeadTime: null,\n salesDate: '2022-12-09T15:57:50',\n salesName: 'Cornell University',\n salesOrigin: 'Shop',\n salesOriginName: 'Main USD Store View',\n customerReference: '',\n purchaseOrder: null,\n additionalDocuments: [],\n total: 860,\n shippingAmount: 50,\n taxAmount: 0,\n projectId: null,\n deliveryPhoneNumber: '+16072533722',\n invoicePhoneNumber: '+16072533722',\n quoteNumber: null,\n customerType: 'N/A',\n invoiceAccountEmail: 'js2957@cornell.edu',\n partnerReference: null,\n sentToD365: false,\n sentToD365Status: 'unsent',\n orderAccountEmail: 'js2957@cornell.edu',\n controllingAccountNumber: 'C038330',\n controllingAccountEmail: 'js2957@cornell.edu',\n deliveryAddress: {\n street: ['930 Campus Road, Veterinary Medical Center C4 109'],\n city: 'Ithaca',\n postcode: '14853',\n region: 'New York',\n regionCode: 'NY',\n countryCode: 'US',\n },\n invoiceAddress: {\n street: ['930 Campus Road, Veterinary Medical Center C4 109'],\n city: 'Ithaca',\n postcode: '14853',\n region: 'New York',\n regionCode: 'NY',\n countryCode: 'US',\n },\n shopOrderLines: [\n {\n name: 'Flongle Flow Cell (R9.4.1)',\n sku: 'FLO-FLG001',\n quantity: 1,\n price: 810,\n total: 810,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: 'FLO-FLG001',\n productType: 'bundle',\n salesTag: 'FLGExpSP',\n requestedShippingDate: null,\n discount: 0,\n discountPercentage: 0,\n get finalSku() {\n return this.maskSku || this.sku;\n },\n includedItems: [\n {\n name: 'Flongle Flow Cell (R9.4.1)',\n sku: 'FLO-FLG001D',\n quantity: 12,\n price: 66,\n total: 792,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: 'FLO-FLG001',\n productType: 'simple',\n salesTag: 'FLGExpSP',\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n },\n {\n name: 'Flongle Flow Cell Priming Kit',\n sku: 'EXP-FSE001',\n quantity: 1,\n price: 18,\n total: 18,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: '',\n productType: 'simple',\n salesTag: 'FLGExpSP',\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n },\n ],\n },\n {\n name: 'Carriage - Device shipment',\n sku: 'FREIGHT',\n quantity: 1,\n price: 50,\n total: 50,\n createdAt: '2022-12-09T15:57:50',\n updatedAt: '2022-12-09T15:57:50',\n maskSku: '',\n productType: 'virtual',\n salesTag: null,\n requestedShippingDate: '2022-12-27T00:00:00',\n discount: 0,\n discountPercentage: 0,\n get finalSku() {\n return this.maskSku || this.sku;\n },\n },\n ],\n orderLines: [],\n pickedItems: [],\n packedItems: [],\n trackingNumbers: [],\n trackingUpdates: [],\n ecoOrder: false,\n revenueOrder: false,\n };\n\n private lineItemTotal(order) {\n if (!order || !order.shopOrderLines?.length) return;\n let total = 0;\n order.shopOrderLines.forEach((itm) => {\n if (itm.status !== 'cancelled') total += itm.total;\n });\n return total;\n }\n\n render() {\n return (\n <Host>\n <nano-table\n rowRender={{\n template: (_, c, TableCell) =>\n [\n c.renderedRow,\n c.rowModel.includedItems?.length ? (\n c.rowModel.includedItems?.map((item) => {\n return (\n <tr class=\"child-row\">\n <TableCell header={true}>{item.name}</TableCell>\n <TableCell>\n {capitalise(c.rowModel.status || this.order.status)}\n </TableCell>\n <TableCell>{capitalise(item.sku)}</TableCell>\n <TableCell>{capitalise(item.salesTag)}</TableCell>\n <TableCell>\n {mediumDate(item.requestedShippingDate)}\n </TableCell>\n </tr>\n );\n })\n ) : (\n <Fragment />\n ),\n ].flat(1),\n }}\n columns={[\n {\n title: 'Name',\n prop: 'name',\n pinned: 'start',\n rowHeader: true,\n autoTooltip: true,\n },\n {\n title: 'Status',\n prop: 'status',\n cellTemplate: (_, c) =>\n capitalise(c.cellModel || this.order.status),\n },\n {\n title: 'SKU',\n prop: 'finalSku',\n },\n {\n title: 'Sales tag',\n prop: 'salesTag',\n cellTemplate: (_, c) => c.cellModel || 'None',\n },\n {\n title: 'Requested ship date',\n prop: 'requestedShippingDate',\n cellTemplate: (_, c) => mediumDate(c.cellModel) || 'N/A',\n },\n {\n title: 'Quantity',\n prop: 'quantity',\n },\n {\n title: 'Unit price',\n prop: 'price',\n cellTemplate: (_, c) =>\n currency(c.cellModel, this.order.currency),\n },\n {\n title: 'Discount %',\n prop: 'discountPercentage',\n cellTemplate: (_, c) => c.cellModel || 0,\n },\n {\n title: 'Line value',\n prop: 'total',\n cellTemplate: (_, c) =>\n currency(c.cellModel, this.order.currency),\n },\n ]}\n rows={this.order.shopOrderLines}\n caption={`List of order line items found within order ${this.order.orderId}`}\n showFooter={true}\n footRender={{\n pinned: 'bottom',\n template: () => [\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">Sub total:</span>\n <span class=\"order-lines__total--num\">\n {currency(\n this.lineItemTotal(this.order),\n this.order.currency\n )}\n </span>\n </div>\n </th>\n </tr>,\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">\n Total order tax:\n </span>\n <span class=\"order-lines__total--num\">\n {currency(this.order.taxAmount, this.order.currency)}\n </span>\n </div>\n </th>\n </tr>,\n <tr>\n <td colSpan={6}>&nbsp;</td>\n <th scope=\"row\" class=\"tbl__pin nano-tbl__pin--end\" colSpan={3}>\n <div class=\"nano-tbl__cell-content order-lines__total\">\n <span class=\"order-lines__total--label\">\n Total on order placement:\n </span>\n <span class=\"order-lines__total--num\">\n {currency(this.order.total, this.order.currency)}\n </span>\n </div>\n </th>\n </tr>,\n ],\n }}\n />\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +0,0 @@
1
- /*!
2
- * Web Components for Nanopore digital Web Apps
3
- */
4
- import{r as n,c as a,h as e,a as r,g as s}from"./p-1fe12320.js";import{c as t}from"./p-ee045579.js";import{c as i}from"./p-7b3638b7.js";import{a as o}from"./p-9746b0a5.js";const h=(n,a,e,r)=>{let s=n.querySelector("input.aux-input");if(!s){s=n.ownerDocument.createElement("input");s.type="hidden";s.classList.add("aux-input");n.appendChild(s)}s.disabled=r;s.name=a;s.value=e||""};const c='.sc-nano-range-h{box-sizing:border-box}*.sc-nano-range,*.sc-nano-range::before,*.sc-nano-range::after{box-sizing:border-box}[hidden].sc-nano-range{display:none !important}.sc-nano-range-h{--knob-handle-size:(var(--knob-size) * 2);--rgb-inactive:165, 165, 165;--knob-border-radius:50%;--knob-background:var(--nano-color-primary, #007495);--knob-box-shadow:0 2px 4px 0 rgba(0, 0, 0, 0.3);--knob-size:30px;--bar-height:8px;--bar-background:#e2e1e0;--bar-background-active:#a5a5a5;--bar-border-radius:4px;--height:42px;--pin-background:var(--nano-color-primary, #007495);--pin-color:var(--nano-color-primary-contrast, #fff);--focus-style:0 0 0 5px var(--nano-control-focus-color, rgba(144, 198, 231, 0.8))}.range-wrap.sc-nano-range{display:flex;position:relative;flex:3;align-items:center;-webkit-user-select:none;user-select:none}.range-wrap.sc-nano-range-s>ion-icon[slot],.range-wrap .sc-nano-range-s>ion-icon[slot]{font-size:1.5em}.range-wrap.sc-nano-range-s>[slot=start],.range-wrap .sc-nano-range-s>[slot=start]{margin-inline:0 14px;margin-block:0;font-size:0.9em}.range-wrap.sc-nano-range-s>[slot=end],.range-wrap .sc-nano-range-s>[slot=end]{margin-inline:14px 0;margin-block:0;font-size:0.9em}.range-slider.sc-nano-range{position:relative;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:grab;touch-action:pan-y}.range-pressed.sc-nano-range-h .range-slider.sc-nano-range{cursor:grabbing}.range-bar.sc-nano-range{border-radius:var(--bar-border-radius);inset-block-start:calc((var(--height) - var(--bar-height)) / 2);inset-inline-start:0;position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-snaps.sc-nano-range-h .range-bar.sc-nano-range{border-radius:var(--bar-border-radius) 0 0 var(--bar-border-radius)}.range-bar-active.sc-nano-range{inset-block-end:0;width:auto;background:var(--bar-background-active)}.range-bar-active .range-pressed.sc-nano-range-h{will-change:left, right}.range-knob.sc-nano-range{border-radius:var(--knob-border-radius);inset-block-start:calc(50% - var(--knob-size) / 2);inset-inline-start:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none;transform:scale(0.67);transition-duration:120ms;transition-property:transform, background-color, border;transition-timing-function:ease}.sc-nano-range-h:not(.range-has-pin) .range-knob-pressed.sc-nano-range .range-knob.sc-nano-range{transform:scale(1)}.range-knob-handle.sc-nano-range{inset-block-start:calc((var(--height) - var(--knob-handle-size)) / 2);inset-inline-start:0;margin-inline-start:calc(0px - var(--knob-handle-size) / 2);position:absolute;width:calc(var(--knob-handle-size));height:calc(var(--knob-handle-size));text-align:center}.range-knob-handle.sc-nano-range:active,.range-knob-handle.sc-nano-range:focus{outline:none}.range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{box-shadow:var(--knob-box-shadow), var(--focus-style)}.range-tick.sc-nano-range{position:absolute;inset-block-start:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick.sc-nano-range:first-of-type{border-radius:var(--bar-border-radius) 0 0 var(--bar-border-radius)}.range-tick.sc-nano-range:last-of-type{border-radius:0 var(--bar-border-radius) var(--bar-border-radius) 0}.range-tick-active.sc-nano-range{background:transparent}.range-pin.sc-nano-range{transform:translate3d(0, 0, 0) scale(0.01);transform-origin:center top;padding:0.66em 0;border-radius:50%;text-align:center;box-sizing:border-box;display:inline-block;position:relative;min-width:2.33em;height:2.33em;transition:transform 120ms ease, background 120ms ease;background:var(--pin-background);color:var(--pin-color);font-size:0.75em}.range-pin.sc-nano-range::before{inset-block-start:0.25em;inset-inline-start:50%;margin-inline-start:-1.08em;border-radius:50% 50% 50% 0;position:absolute;width:2.16em;height:2.16em;transform:rotate(-45deg);transition:background 120ms ease;background:var(--pin-background);content:"";z-index:-1}.range-knob-pressed.sc-nano-range .range-pin.sc-nano-range{transform:translate3d(0, -50%, 0) scale(1);transform:translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1)}.range-disabled.sc-nano-range-h{pointer-events:none}.range-disabled.sc-nano-range-h .range-bar-active.sc-nano-range,.range-disabled.sc-nano-range-h .range-bar.sc-nano-range,.range-disabled.sc-nano-range-h .range-tick.sc-nano-range{background-color:rgba(var(--rgb-inactive), 0.5)}.range-disabled.sc-nano-range-h .range-knob.sc-nano-range{transform:scale(0.55);outline:5px solid #fff;background-color:rgba(var(--rgb-inactive), 0.5)}.nano-color.sc-nano-range-h .range-bar-active.sc-nano-range,.nano-color.sc-nano-range-h .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range,.nano-color.sc-nano-range-h .range-pin.sc-nano-range::before,.nano-color.sc-nano-range-h .range-tick.sc-nano-range{background:var(--nano-color-base);color:var(--nano-color-contrast)}.nano-color.sc-nano-range-h .range-bar.sc-nano-range{background:rgba(var(--nano-color-base-rgb), 0.26)}.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:active .range-knob.sc-nano-range,.nano-color.sc-nano-range-h .range-knob-handle.sc-nano-range:focus .range-knob.sc-nano-range{box-shadow:var(--knob-box-shadow), 0 0 0 5px rgba(var(--nano-color-tint-rgb), 0.56)}';const g=class{constructor(e){n(this,e);this.nanoChange=a(this,"nanoChange",7);this.nanoStyle=a(this,"nanoStyle",7);this.nanoFocus=a(this,"nanoFocus",7);this.nanoBlur=a(this,"nanoBlur",7);this.noUpdate=false;this.hasFocus=false;this.clampBounds=n=>t(this.min,n,this.max);this.ensureValueInBounds=n=>{if(this.dualKnobs){return{lower:this.clampBounds(n.lower),upper:this.clampBounds(n.upper)}}else{return this.clampBounds(n)}};this.handleKeyboard=(n,a)=>{let e=this.step;e=e>0?e:1;e=e/(this.max-this.min);if(!a){e*=-1}if(n==="A"){this.ratioA=t(0,this.ratioA+e,1)}else{this.ratioB=t(0,this.ratioB+e,1)}this.updateValue()};this.onBlur=()=>{if(this.hasFocus){this.hasFocus=false;this.nanoBlur.emit();this.emitStyle()}};this.onFocus=()=>{if(!this.hasFocus){this.hasFocus=true;this.nanoFocus.emit();this.emitStyle()}};this.ratioA=0;this.ratioB=0;this.pressedKnob=undefined;this.color=undefined;this.debounce=0;this.name="";this.dualKnobs=false;this.min=0;this.max=100;this.pin=false;this.snaps=false;this.step=1;this.ticks=false;this.disabled=false;this.value=0}debounceChanged(){this.nanoChange=o(this.nanoChange,this.debounce)}minChanged(){if(!this.noUpdate){this.updateRatio()}}maxChanged(){if(!this.noUpdate){this.updateRatio()}}disabledChanged(){if(this.gesture){this.gesture.enable(!this.disabled)}this.emitStyle()}valueChanged(n){if(!this.noUpdate){this.updateRatio()}n=this.ensureValueInBounds(n);this.nanoChange.emit({value:n})}connectedCallback(){this.updateRatio();this.debounceChanged();this.disabledChanged()}disconnectedCallback(){if(this.gesture){this.gesture.destroy();this.gesture=undefined}}async componentDidLoad(){const n=this.rangeSlider;if(n){this.gesture=(await import("./p-2828788c.js")).createGesture({el:n,gestureName:"range",gesturePriority:100,threshold:0,onStart:n=>this.onStart(n),onMove:n=>this.onMove(n),onEnd:n=>this.onEnd(n)});this.gesture.enable(!this.disabled)}}getValue(){const n=this.value||0;if(this.dualKnobs){if(typeof n==="object"){return n}return{lower:0,upper:n}}else{if(typeof n==="object"){return n.upper}return n}}emitStyle(){this.nanoStyle.emit({interactive:true,"interactive-disabled":this.disabled})}onStart(n){const a=this.rect=this.rangeSlider.getBoundingClientRect();const e=n.currentX;let r=t(0,(e-a.left)/a.width,1);if(document.dir==="rtl"){r=1-r}this.pressedKnob=!this.dualKnobs||Math.abs(this.ratioA-r)<Math.abs(this.ratioB-r)?"A":"B";this.setFocus(this.pressedKnob);this.update(e)}onMove(n){this.update(n.currentX)}onEnd(n){this.update(n.currentX);this.pressedKnob=undefined}update(n){const a=this.rect;let e=t(0,(n-a.left)/a.width,1);if(document.dir==="rtl"){e=1-e}if(this.snaps){e=b(d(e,this.min,this.max,this.step),this.min,this.max)}if(this.pressedKnob==="A"){this.ratioA=e}else{this.ratioB=e}this.updateValue()}get valA(){return d(this.ratioA,this.min,this.max,this.step)}get valB(){return d(this.ratioB,this.min,this.max,this.step)}get ratioLower(){if(this.dualKnobs){return Math.min(this.ratioA,this.ratioB)}return 0}get ratioUpper(){if(this.dualKnobs){return Math.max(this.ratioA,this.ratioB)}return this.ratioA}updateRatio(){const n=this.getValue();const{min:a,max:e}=this;if(this.dualKnobs){this.ratioA=b(n.lower,a,e);this.ratioB=b(n.upper,a,e)}else{this.ratioA=b(n,a,e)}}updateValue(){this.noUpdate=true;const{valA:n,valB:a}=this;this.value=!this.dualKnobs?n:{lower:Math.min(n,a),upper:Math.max(n,a)};this.noUpdate=false}setFocus(n){if(this.el.shadowRoot){const a=this.el.shadowRoot.querySelector(n==="A"?".range-knob-a":".range-knob-b");if(a){a.focus()}}}render(){const{min:n,max:a,step:s,el:t,handleKeyboard:o,pressedKnob:c,disabled:g,pin:d,ratioLower:u,ratioUpper:p}=this;const v=`${u*100}%`;const k=`${100-p*100}%`;const f=document;const m=f.dir==="rtl";const x=m?"right":"left";const w=m?"left":"right";const y=n=>({[x]:n[x]});const z={[x]:v,[w]:k};const A=[];if(this.snaps&&this.ticks){for(let e=n;e<=a;e+=s){const r=b(e,n,a);const s={ratio:r,active:r>=u&&r<=p};s[x]=`${r*100}%`;A.push(s)}}h(t,this.name,JSON.stringify(this.getValue()),g);return e(r,{onFocusin:this.onFocus,onFocusout:this.onBlur,class:i(this.color,{"range-disabled":g,"range-pressed":c!==undefined,"range-has-pin":d,"range-snaps":this.snaps})},e("div",{class:"range-wrap"},e("slot",{name:"start"}),e("div",{class:"range-slider",ref:n=>this.rangeSlider=n},A.map((n=>e("span",{style:y(n),role:"presentation",class:{"range-tick":true,"range-tick-active":n.active},part:n.active?"tick-active":"tick"}))),e("div",{class:"range-bar",role:"presentation",part:"bar"}),e("div",{class:"range-bar range-bar-active",role:"presentation",style:z,part:"bar-active"}),l(m,{knob:"A",pressed:c==="A",value:this.valA,ratio:this.ratioA,pin:d,disabled:g,handleKeyboard:o,min:n,max:a}),this.dualKnobs&&l(m,{knob:"B",pressed:c==="B",value:this.valB,ratio:this.ratioB,pin:d,disabled:g,handleKeyboard:o,min:n,max:a})),e("slot",{name:"end"})))}get el(){return s(this)}static get watchers(){return{debounce:["debounceChanged"],min:["minChanged"],max:["maxChanged"],disabled:["disabledChanged"],value:["valueChanged"]}}};const l=(n,{knob:a,value:r,ratio:s,min:t,max:i,disabled:o,pressed:h,pin:c,handleKeyboard:g})=>{const l=n?"right":"left";const d=()=>{const n={};n[l]=`${s*100}%`;return n};return e("div",{onKeyDown:n=>{const e=n.key;if(e==="ArrowLeft"||e==="ArrowDown"){g(a,false);n.preventDefault();n.stopPropagation()}else if(e==="ArrowRight"||e==="ArrowUp"){g(a,true);n.preventDefault();n.stopPropagation()}},class:{"range-knob-handle":true,"range-knob-a":a==="A","range-knob-b":a==="B","range-knob-pressed":h,"range-knob-min":r===t,"range-knob-max":r===i},style:d(),role:"slider",tabindex:o?-1:0,"aria-valuemin":t,"aria-valuemax":i,"aria-disabled":o?"true":null,"aria-valuenow":r},c&&e("div",{class:"range-pin",role:"presentation",part:"pin"},Math.round(r)),e("div",{class:"range-knob",role:"presentation",part:"knob"}))};const d=(n,a,e,r)=>{let s=(e-a)*n;if(r>0){s=Math.round(s/r)*r+a}return t(a,s,e)};const b=(n,a,e)=>t(0,(n-a)/(e-a),1);g.style=c;export{g as nano_range};
5
- //# sourceMappingURL=p-9eeed8f5.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/utils/form.ts","src/components/range/range.scss?tag=nano-range&encapsulation=scoped","src/components/range/range.tsx"],"names":["renderHiddenInput","container","name","value","disabled","input","querySelector","ownerDocument","createElement","type","classList","add","appendChild","rangeCss","Range","this","noUpdate","hasFocus","clampBounds","clamp","min","max","ensureValueInBounds","dualKnobs","lower","upper","handleKeyboard","knob","isIncrease","step","ratioA","ratioB","updateValue","onBlur","nanoBlur","emit","emitStyle","onFocus","nanoFocus","[object Object]","nanoChange","debounceEvent","debounce","updateRatio","gesture","enable","debounceChanged","disabledChanged","destroy","undefined","rangeSlider","import","createGesture","el","gestureName","gesturePriority","threshold","onStart","ev","onMove","onEnd","nanoStyle","interactive","interactive-disabled","detail","rect","getBoundingClientRect","currentX","ratio","left","width","document","dir","pressedKnob","Math","abs","setFocus","update","snaps","valueToRatio","ratioToValue","valA","valB","ratioLower","ratioUpper","getValue","shadowRoot","knobEl","focus","pin","barStart","barEnd","doc","isRTL","start","end","tickStyle","tick","barStyle","ticks","active","push","JSON","stringify","h","Host","onFocusin","onFocusout","class","createColorClasses","color","range-disabled","range-pressed","range-has-pin","range-snaps","ref","rangeEl","map","style","role","range-tick","range-tick-active","part","renderKnob","pressed","knobStyle","onKeyDown","key","preventDefault","stopPropagation","range-knob-handle","range-knob-a","range-knob-b","range-knob-pressed","range-knob-min","range-knob-max","tabindex","aria-valuemin","aria-valuemax","aria-disabled","aria-valuenow","round"],"mappings":"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","sourcesContent":["export const renderHiddenInput = (\n container: HTMLElement,\n name: string,\n value: string | undefined | null,\n disabled: boolean\n) => {\n let input = container.querySelector(\n 'input.aux-input'\n ) as HTMLInputElement | null;\n if (!input) {\n input = container.ownerDocument!.createElement('input');\n input.type = 'hidden';\n input.classList.add('aux-input');\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n input.value = value || '';\n};\n","@import '../../global/style/utilities/globals';\n@import '../../global/style/nano-theme/form';\n\n// Range\n// --------------------------------------------------\n\n:host {\n /**\n * @prop --knob-handle-size: defaults to calc(var(--knob-size) * 2);\n * @prop --rgb-inactive: defaults to #{color-to-rgb-list(#a5a5a5)};\n * @prop --bar-background: Background of the range bar; Defaults to #e2e1e0;\n * @prop --bar-background-active: Background of the active range bar; Defaults to #a5a5a5;\n * @prop --bar-height: Height of the range bar; Defaults to 8px;\n * @prop --bar-border-radius: Border radius of the range bar; Defaults to 4px;\n * @prop --height: Height of the range. Defaults to 42px;\n * @prop --knob-background: Background of the range knob. Defaults to #{nano-color(primary, base)};\n * @prop --knob-border-radius: Border radius of the range knob. Defaults to 50%;\n * @prop --knob-box-shadow: Box shadow of the range knob; Defaults to 0 2px 4px 0 rgba(0, 0, 0, 0.3);\n * @prop --knob-size: Size of the range knob; Defaults to 30px;\n * @prop --pin-background: Background of the range pin; Defaults to #{nano-color(primary, base)};\n * @prop --pin-color: Color of the range pin; Defaults to #{nano-color(primary, contrast)};\n * @prop --focus-style: Focus shadow around knob; Defaults to 0 0 0 5px #{$control-focus-color};\n */\n --knob-handle-size: (var(--knob-size) * 2);\n --rgb-inactive: #{color-to-rgb-list(#a5a5a5)};\n --knob-border-radius: 50%;\n --knob-background: #{nano-color(primary, base)};\n --knob-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);\n --knob-size: 30px;\n --bar-height: 8px;\n --bar-background: #e2e1e0;\n --bar-background-active: #a5a5a5;\n --bar-border-radius: 4px;\n --height: 42px;\n --pin-background: #{nano-color(primary, base)};\n --pin-color: #{nano-color(primary, contrast)};\n --focus-style: 0 0 0 5px #{$control-focus-color};\n}\n\n.range-wrap {\n display: flex;\n position: relative;\n flex: 3;\n align-items: center;\n user-select: none;\n\n ::slotted(ion-icon[slot]) {\n font-size: 1.5em;\n }\n\n ::slotted([slot='start']) {\n margin-inline: 0 14px;\n margin-block: 0;\n font-size: 0.9em;\n }\n\n ::slotted([slot='end']) {\n margin-inline: 14px 0;\n margin-block: 0;\n font-size: 0.9em;\n }\n}\n\n.range-slider {\n position: relative;\n flex: 1;\n width: 100%;\n height: var(--height);\n contain: size layout style;\n cursor: grab;\n touch-action: pan-y;\n}\n\n:host(.range-pressed) .range-slider {\n cursor: grabbing;\n}\n\n// bar\n\n.range-bar {\n border-radius: var(--bar-border-radius);\n inset-block-start: calc((var(--height) - var(--bar-height)) / 2);\n inset-inline-start: 0;\n position: absolute;\n width: 100%;\n height: var(--bar-height);\n background: var(--bar-background);\n pointer-events: none;\n\n :host(.range-snaps) & {\n border-radius: var(--bar-border-radius) 0 0 var(--bar-border-radius);\n }\n}\n\n.range-bar-active {\n inset-block-end: 0;\n width: auto;\n background: var(--bar-background-active);\n\n :host(.range-pressed) {\n will-change: left, right;\n }\n}\n\n// knob\n\n.range-knob {\n border-radius: var(--knob-border-radius);\n inset-block-start: calc(50% - var(--knob-size) / 2);\n inset-inline-start: calc(50% - var(--knob-size) / 2);\n position: absolute;\n width: var(--knob-size);\n height: var(--knob-size);\n background: var(--knob-background);\n box-shadow: var(--knob-box-shadow);\n z-index: 2;\n pointer-events: none;\n transform: scale(0.67);\n transition-duration: 120ms;\n transition-property: transform, background-color, border;\n transition-timing-function: ease;\n\n :host(:not(.range-has-pin)) .range-knob-pressed & {\n transform: scale(1);\n }\n}\n\n.range-knob-handle {\n inset-block-start: calc((var(--height) - var(--knob-handle-size)) / 2);\n inset-inline-start: 0;\n margin-inline-start: calc(0px - var(--knob-handle-size) / 2);\n position: absolute;\n width: calc(var(--knob-handle-size));\n height: calc(var(--knob-handle-size));\n text-align: center;\n\n &:active,\n &:focus {\n outline: none;\n\n .range-knob {\n box-shadow: var(--knob-box-shadow), var(--focus-style);\n }\n }\n}\n\n// ticks\n\n.range-tick {\n position: absolute;\n inset-block-start: calc((var(--height) - var(--bar-height)) / 2);\n width: var(--bar-height);\n height: var(--bar-height);\n background: var(--bar-background-active);\n z-index: 1;\n pointer-events: none;\n\n &:first-of-type {\n border-radius: var(--bar-border-radius) 0 0 var(--bar-border-radius);\n }\n\n &:last-of-type {\n border-radius: 0 var(--bar-border-radius) var(--bar-border-radius) 0;\n }\n\n &-active {\n background: transparent;\n }\n}\n\n// pin\n\n.range-pin {\n transform: translate3d(0, 0, 0) scale(0.01);\n transform-origin: center top;\n padding: 0.66em 0;\n border-radius: 50%;\n text-align: center;\n box-sizing: border-box;\n display: inline-block;\n position: relative;\n min-width: 2.33em;\n height: 2.33em;\n transition: transform 120ms ease, background 120ms ease;\n background: var(--pin-background);\n color: var(--pin-color);\n font-size: 0.75em;\n\n &::before {\n inset-block-start: 0.25em;\n inset-inline-start: 50%;\n margin-inline-start: -1.08em;\n border-radius: 50% 50% 50% 0;\n position: absolute;\n width: 2.16em;\n height: 2.16em;\n transform: rotate(-45deg);\n transition: background 120ms ease;\n background: var(--pin-background);\n content: '';\n z-index: -1;\n }\n\n .range-knob-pressed & {\n transform: translate3d(0, -50%, 0) scale(1);\n transform: translate3d(0, calc((100% - var(--bar-height)) * -1), 0) scale(1);\n }\n}\n\n// disabled\n\n:host(.range-disabled) {\n pointer-events: none;\n\n .range-bar-active,\n .range-bar,\n .range-tick {\n background-color: rgba(var(--rgb-inactive), 0.5);\n }\n\n .range-knob {\n transform: scale(0.55);\n outline: 5px solid #fff;\n background-color: rgba(var(--rgb-inactive), 0.5);\n }\n}\n\n// theme\n\n:host(.nano-color) {\n .range-bar-active,\n .range-knob,\n .range-pin,\n .range-pin::before,\n .range-tick {\n background: current-color(base);\n color: current-color(contrast);\n }\n\n .range-bar {\n background: current-color(base, 0.26);\n }\n\n .range-knob-handle {\n &:active,\n &:focus {\n .range-knob {\n box-shadow: var(--knob-box-shadow), 0 0 0 5px current-color(tint, 0.56);\n }\n }\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { renderHiddenInput } from '../../utils/form';\nimport { clamp } from '../../utils/math';\nimport { createColorClasses } from '../../utils/theme';\nimport { debounceEvent } from '../../utils/throttle';\nimport type {\n Color,\n Gesture,\n GestureDetail,\n KnobName,\n RangeChangeEventDetail,\n RangeValue,\n StyleEventDetail,\n} from '../../interface';\n\n/**\n * The Range slider lets users select from a range of values by moving\n * the slider knob. It can accept dual knobs, but by default one knob controls the value of the range.\n *\n * Labels can be placed on either side of the range by adding the\n * `slot=\"start\"` or `slot=\"end\"` to the element.\n *\n * @slot start - Content is placed to the left of the range slider in LTR, and to the right in RTL.\n * @slot end - Content is placed to the right of the range slider in LTR, and to the left in RTL.\n */\n@Component({\n tag: 'nano-range',\n styleUrl: 'range.scss',\n scoped: true,\n})\nexport class Range implements ComponentInterface {\n private noUpdate = false;\n private rect!: ClientRect;\n private hasFocus = false;\n private rangeSlider?: HTMLElement;\n private gesture?: Gesture;\n\n @Element() el!: HTMLNanoRangeElement;\n\n @State() private ratioA = 0;\n @State() private ratioB = 0;\n @State() private pressedKnob: KnobName;\n\n /**\n * The color to use from your application's color palette.\n * Default options are: `\"primary\"`, `\"secondary\"`, `\"tertiary\"`, `\"success\"`, `\"warning\"`, `\"danger\"`, `\"light\"`, `\"medium\"`, and `\"dark\"`\n */\n @Prop() color?: Color;\n\n /**\n * How long, in milliseconds, to wait to trigger the\n * `nanoChange` event after each change in the range value.\n */\n @Prop() debounce = 0;\n\n @Watch('debounce')\n protected debounceChanged() {\n this.nanoChange = debounceEvent(this.nanoChange, this.debounce);\n }\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = '';\n\n /**\n * Show two knobs.\n */\n @Prop() dualKnobs = false;\n\n /**\n * Minimum integer value of the range.\n */\n @Prop() min = 0;\n @Watch('min')\n protected minChanged() {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n }\n\n /**\n * Maximum integer value of the range.\n */\n @Prop() max = 100;\n @Watch('max')\n protected maxChanged() {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n }\n\n /**\n * If `true`, a pin with integer value is shown when the knob\n * is pressed.\n */\n @Prop() pin = false;\n\n /**\n * If `true`, the knob snaps to tick marks evenly spaced based\n * on the step property value.\n */\n @Prop() snaps = false;\n\n /**\n * Specifies the value granularity.\n */\n @Prop() step = 1;\n\n /**\n * If `true`, tick marks are displayed based on the step value.\n * Only applies when `snaps` is `true`.\n */\n @Prop() ticks = false;\n\n /**\n * If `true`, the user cannot interact with the range.\n */\n @Prop() disabled = false;\n @Watch('disabled')\n protected disabledChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.disabled);\n }\n this.emitStyle();\n }\n\n /**\n * the value of the range.\n */\n @Prop({ mutable: true }) value: RangeValue = 0;\n @Watch('value')\n protected valueChanged(value: RangeValue) {\n if (!this.noUpdate) {\n this.updateRatio();\n }\n\n value = this.ensureValueInBounds(value);\n\n this.nanoChange.emit({ value });\n }\n\n private clampBounds = (value: any): number => {\n return clamp(this.min, value, this.max);\n };\n\n private ensureValueInBounds = (value: any) => {\n if (this.dualKnobs) {\n return {\n lower: this.clampBounds(value.lower),\n upper: this.clampBounds(value.upper),\n };\n } else {\n return this.clampBounds(value);\n }\n };\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() nanoChange!: EventEmitter<RangeChangeEventDetail>;\n\n /**\n * Emitted when the styles change.\n * @internal\n */\n @Event() nanoStyle!: EventEmitter<StyleEventDetail>;\n\n /**\n * Emitted when the range has focus.\n */\n @Event() nanoFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the range loses focus.\n */\n @Event() nanoBlur!: EventEmitter<void>;\n\n connectedCallback() {\n this.updateRatio();\n this.debounceChanged();\n this.disabledChanged();\n }\n\n disconnectedCallback() {\n if (this.gesture) {\n this.gesture.destroy();\n this.gesture = undefined;\n }\n }\n\n async componentDidLoad() {\n const rangeSlider = this.rangeSlider;\n if (rangeSlider) {\n this.gesture = (await import('../../utils/gesture/index')).createGesture({\n el: rangeSlider,\n gestureName: 'range',\n gesturePriority: 100,\n threshold: 0,\n onStart: (ev) => this.onStart(ev),\n onMove: (ev) => this.onMove(ev),\n onEnd: (ev) => this.onEnd(ev),\n });\n this.gesture.enable(!this.disabled);\n }\n }\n\n private handleKeyboard = (knob: KnobName, isIncrease: boolean) => {\n let step = this.step;\n step = step > 0 ? step : 1;\n step = step / (this.max - this.min);\n if (!isIncrease) {\n step *= -1;\n }\n if (knob === 'A') {\n this.ratioA = clamp(0, this.ratioA + step, 1);\n } else {\n this.ratioB = clamp(0, this.ratioB + step, 1);\n }\n this.updateValue();\n };\n\n private getValue(): RangeValue {\n const value = this.value || 0;\n if (this.dualKnobs) {\n if (typeof value === 'object') {\n return value;\n }\n return {\n lower: 0,\n upper: value,\n };\n } else {\n if (typeof value === 'object') {\n return value.upper;\n }\n return value;\n }\n }\n\n private emitStyle() {\n this.nanoStyle.emit({\n interactive: true,\n 'interactive-disabled': this.disabled,\n });\n }\n\n private onStart(detail: GestureDetail) {\n const rect = (this.rect = this.rangeSlider!.getBoundingClientRect() as any);\n const currentX = detail.currentX;\n\n // figure out which knob they started closer to\n let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);\n if (document.dir === 'rtl') {\n ratio = 1 - ratio;\n }\n\n this.pressedKnob =\n !this.dualKnobs ||\n Math.abs(this.ratioA - ratio) < Math.abs(this.ratioB - ratio)\n ? 'A'\n : 'B';\n\n this.setFocus(this.pressedKnob);\n\n // update the active knob's position\n this.update(currentX);\n }\n\n private onMove(detail: GestureDetail) {\n this.update(detail.currentX);\n }\n\n private onEnd(detail: GestureDetail) {\n this.update(detail.currentX);\n this.pressedKnob = undefined;\n }\n\n private update(currentX: number) {\n // figure out where the pointer is currently at\n // update the knob being interacted with\n const rect = this.rect;\n let ratio = clamp(0, (currentX - rect.left) / rect.width, 1);\n if (document.dir === 'rtl') {\n ratio = 1 - ratio;\n }\n\n if (this.snaps) {\n // snaps the ratio to the current value\n ratio = valueToRatio(\n ratioToValue(ratio, this.min, this.max, this.step),\n this.min,\n this.max\n );\n }\n\n // update which knob is pressed\n if (this.pressedKnob === 'A') {\n this.ratioA = ratio;\n } else {\n this.ratioB = ratio;\n }\n\n // Update input value\n this.updateValue();\n }\n\n private get valA() {\n return ratioToValue(this.ratioA, this.min, this.max, this.step);\n }\n\n private get valB() {\n return ratioToValue(this.ratioB, this.min, this.max, this.step);\n }\n\n private get ratioLower() {\n if (this.dualKnobs) {\n return Math.min(this.ratioA, this.ratioB);\n }\n return 0;\n }\n\n private get ratioUpper() {\n if (this.dualKnobs) {\n return Math.max(this.ratioA, this.ratioB);\n }\n return this.ratioA;\n }\n\n private updateRatio() {\n const value = this.getValue() as any;\n const { min, max } = this;\n if (this.dualKnobs) {\n this.ratioA = valueToRatio(value.lower, min, max);\n this.ratioB = valueToRatio(value.upper, min, max);\n } else {\n this.ratioA = valueToRatio(value, min, max);\n }\n }\n\n private updateValue() {\n this.noUpdate = true;\n\n const { valA, valB } = this;\n this.value = !this.dualKnobs\n ? valA\n : {\n lower: Math.min(valA, valB),\n upper: Math.max(valA, valB),\n };\n\n this.noUpdate = false;\n }\n\n private setFocus(knob: KnobName) {\n if (this.el.shadowRoot) {\n const knobEl = this.el.shadowRoot.querySelector(\n knob === 'A' ? '.range-knob-a' : '.range-knob-b'\n ) as HTMLElement | undefined;\n if (knobEl) {\n knobEl.focus();\n }\n }\n }\n\n private onBlur = () => {\n if (this.hasFocus) {\n this.hasFocus = false;\n this.nanoBlur.emit();\n this.emitStyle();\n }\n };\n\n private onFocus = () => {\n if (!this.hasFocus) {\n this.hasFocus = true;\n this.nanoFocus.emit();\n this.emitStyle();\n }\n };\n\n render() {\n const {\n min,\n max,\n step,\n el,\n handleKeyboard,\n pressedKnob,\n disabled,\n pin,\n ratioLower,\n ratioUpper,\n } = this;\n\n const barStart = `${ratioLower * 100}%`;\n const barEnd = `${100 - ratioUpper * 100}%`;\n\n const doc = document;\n const isRTL = doc.dir === 'rtl';\n const start = isRTL ? 'right' : 'left';\n const end = isRTL ? 'left' : 'right';\n\n const tickStyle = (tick: any) => {\n return {\n [start]: tick[start],\n };\n };\n\n const barStyle = {\n [start]: barStart,\n [end]: barEnd,\n };\n\n const ticks = [];\n if (this.snaps && this.ticks) {\n for (let value = min; value <= max; value += step) {\n const ratio = valueToRatio(value, min, max);\n\n const tick: any = {\n ratio,\n active: ratio >= ratioLower && ratio <= ratioUpper,\n };\n\n tick[start] = `${ratio * 100}%`;\n\n ticks.push(tick);\n }\n }\n\n renderHiddenInput(el, this.name, JSON.stringify(this.getValue()), disabled);\n\n return (\n <Host\n onFocusin={this.onFocus}\n onFocusout={this.onBlur}\n class={createColorClasses(this.color, {\n 'range-disabled': disabled,\n 'range-pressed': pressedKnob !== undefined,\n 'range-has-pin': pin,\n 'range-snaps': this.snaps,\n })}\n >\n <div class=\"range-wrap\">\n <slot name=\"start\"></slot>\n <div\n class=\"range-slider\"\n ref={(rangeEl) => (this.rangeSlider = rangeEl)}\n >\n {ticks.map((tick) => (\n <span\n style={tickStyle(tick)}\n role=\"presentation\"\n class={{\n 'range-tick': true,\n 'range-tick-active': tick.active,\n }}\n part={tick.active ? 'tick-active' : 'tick'}\n />\n ))}\n\n <div class=\"range-bar\" role=\"presentation\" part=\"bar\" />\n <div\n class=\"range-bar range-bar-active\"\n role=\"presentation\"\n style={barStyle}\n part=\"bar-active\"\n />\n\n {renderKnob(isRTL, {\n knob: 'A',\n pressed: pressedKnob === 'A',\n value: this.valA,\n ratio: this.ratioA,\n pin,\n disabled,\n handleKeyboard,\n min,\n max,\n })}\n\n {this.dualKnobs &&\n renderKnob(isRTL, {\n knob: 'B',\n pressed: pressedKnob === 'B',\n value: this.valB,\n ratio: this.ratioB,\n pin,\n disabled,\n handleKeyboard,\n min,\n max,\n })}\n </div>\n <slot name=\"end\"></slot>\n </div>\n </Host>\n );\n }\n}\n\ninterface RangeKnob {\n knob: KnobName;\n value: number;\n ratio: number;\n min: number;\n max: number;\n disabled: boolean;\n pressed: boolean;\n pin: boolean;\n\n handleKeyboard: (name: KnobName, isIncrease: boolean) => void;\n}\n\nconst renderKnob = (\n isRTL: boolean,\n {\n knob,\n value,\n ratio,\n min,\n max,\n disabled,\n pressed,\n pin,\n handleKeyboard,\n }: RangeKnob\n) => {\n const start = isRTL ? 'right' : 'left';\n\n const knobStyle = () => {\n const style: any = {};\n style[start] = `${ratio * 100}%`;\n return style;\n };\n\n return (\n <div\n onKeyDown={(ev: KeyboardEvent) => {\n const key = ev.key;\n if (key === 'ArrowLeft' || key === 'ArrowDown') {\n handleKeyboard(knob, false);\n ev.preventDefault();\n ev.stopPropagation();\n } else if (key === 'ArrowRight' || key === 'ArrowUp') {\n handleKeyboard(knob, true);\n ev.preventDefault();\n ev.stopPropagation();\n }\n }}\n class={{\n 'range-knob-handle': true,\n 'range-knob-a': knob === 'A',\n 'range-knob-b': knob === 'B',\n 'range-knob-pressed': pressed,\n 'range-knob-min': value === min,\n 'range-knob-max': value === max,\n }}\n style={knobStyle()}\n role=\"slider\"\n tabindex={disabled ? -1 : 0}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-disabled={disabled ? 'true' : null}\n aria-valuenow={value}\n >\n {pin && (\n <div class=\"range-pin\" role=\"presentation\" part=\"pin\">\n {Math.round(value)}\n </div>\n )}\n <div class=\"range-knob\" role=\"presentation\" part=\"knob\" />\n </div>\n );\n};\n\nconst ratioToValue = (\n ratio: number,\n min: number,\n max: number,\n step: number\n): number => {\n let value = (max - min) * ratio;\n if (step > 0) {\n value = Math.round(value / step) * step + min;\n }\n return clamp(min, value, max);\n};\n\nconst valueToRatio = (value: number, min: number, max: number): number => {\n return clamp(0, (value - min) / (max - min), 1);\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["node_modules/algoliasearch/dist/algoliasearch.umd.js"],"names":["t","e","module","exports","this","r","Object","defineProperty","value","enumerable","configurable","writable","keys","getOwnPropertySymbols","n","filter","getOwnPropertyDescriptor","push","apply","arguments","length","a","forEach","getOwnPropertyDescriptors","defineProperties","o","indexOf","prototype","propertyIsEnumerable","call","Array","isArray","Symbol","iterator","toString","i","u","next","done","return","TypeError","from","concat","key","localStorage","window","JSON","parse","getItem","get","miss","Promise","resolve","then","stringify","all","set","setItem","delete","clear","removeItem","caches","shift","catch","s","serializable","c","x-algolia-api-key","x-algolia-application-id","headers","m","WithinHeaders","queryParameters","WithinQueryParameters","f","setTimeout","Math","min","d","assign","wait","l","floor","random","p","h","replace","encodeURIComponent","y","data","entries","timeout","cacheable","g","Read","Write","Any","v","b","P","w","status","lastUpdate","Date","now","O","protocol","url","accept","I","x","j","D","q","map","getTimeout","statelessHosts","S","method","toLowerCase","x-algolia-agent","userAgent","pop","name","message","transporterStackTrace","R","N","path","connectTimeout","timeouts","connect","responseTimeout","request","response","host","triesLeft","onSuccess","content","onRetry","isTimedOut","logger","info","A","hostsCache","onFail","requester","send","reverse","k","requestsCache","responsesCache","hosts","read","mappedRequestOptions","transporter","reject","write","T","add","segment","version","E","charAt","substr","join","C","U","z","J","F","H","M","K","batch","hits","shouldStop","cursor","page","W","acl","tt","B","cluster","Q","users","G","clearExistingDictionaryEntries","requests","action","body","jt","taskID","L","operation","destination","ut","methods","waitTask","de","V","scope","pe","Rules","_","Settings","X","Synonyms","Y","Z","$","objectID","et","rt","nt","at","ot","it","retrieveMappings","getClusters","appId","indexName","st","ct","ft","dt","lt","pt","ht","mt","params","yt","facetName","facetQuery","searchForFacetValues","ue","gt","vt","bt","Pt","wt","query","Ot","It","xt","every","Dt","qt","St","hitsPerPage","se","_highlightResult","kt","ce","Tt","batchSize","taskIDs","objectIDs","Nt","Et","forwardToReplicas","Rt","At","Ct","Ut","zt","le","DeleteObject","Jt","Ft","Ht","Lt","Mt","queryLanguages","Kt","paginate","ie","object","position","parseInt","nbPages","Wt","Bt","Qt","attributesToRetrieve","Gt","getVersion","Vt","_t","Xt","createIfNotExists","PartialUpdateObject","PartialUpdateObjectNoCreate","Yt","safe","autoGenerateObjectIDIfNotExist","substring","ee","Zt","ne","clearExistingRules","$t","oe","clearExistingSynonyms","te","AddObject","UpdateObject","re","ae","replaceExistingSynonyms","fe","DeleteIndex","ClearIndex","he","me","ye","ge","apiKey","XMLHttpRequest","open","setRequestHeader","abort","onreadystatechange","readyState","OPENED","clearTimeout","onerror","responseText","onload","debug","console","error","region","content-type","getPersonalizationStrategy","setPersonalizationStrategy","authMode","addAlgoliaAgent","clearCache","search","multipleBatch","multipleGetObjects","multipleQueries","copyIndex","copySettings","copySynonyms","copyRules","moveIndex","listIndices","getLogs","listClusters","multipleSearchForFacetValues","getApiKey","addApiKey","listApiKeys","updateApiKey","deleteApiKey","restoreApiKey","assignUserID","assignUserIDs","getUserID","searchUserIDs","listUserIDs","getTopUserIDs","removeUserID","hasPendingMappings","clearDictionaryEntries","deleteDictionaryEntries","getDictionarySettings","getAppTask","replaceDictionaryEntries","saveDictionaryEntries","searchDictionaryEntries","setDictionarySettings","waitAppTask","customRequest","initIndex","findAnswers","getObject","getObjects","saveObject","saveObjects","setSettings","getSettings","partialUpdateObject","partialUpdateObjects","deleteObject","deleteObjects","deleteBy","clearObjects","browseObjects","getObjectPosition","findObject","exists","saveSynonym","saveSynonyms","getSynonym","searchSynonyms","browseSynonyms","deleteSynonym","clearSynonyms","replaceAllObjects","replaceAllSynonyms","searchRules","getRule","deleteRule","saveRule","saveRules","replaceAllRules","browseRules","clearRules","initAnalytics","addABTest","getABTest","getABTests","stopABTest","deleteABTest","initPersonalization","initRecommendation"],"mappings":"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","sourcesContent":["/*! algoliasearch.umd.js | 4.13.1 | © Algolia, inc. | https://github.com/algolia/algoliasearch-client-javascript */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=t||self).algoliasearch=e()}(this,(function(){\"use strict\";function t(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function e(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function r(r){for(var n=1;n<arguments.length;n++){var a=null!=arguments[n]?arguments[n]:{};n%2?e(Object(a),!0).forEach((function(e){t(r,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(a)):e(Object(a)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(a,t))}))}return r}function n(t,e){if(null==t)return{};var r,n,a=function(t,e){if(null==t)return{};var r,n,a={},o=Object.keys(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||(a[r]=t[r]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(!(Symbol.iterator in Object(t)||\"[object Arguments]\"===Object.prototype.toString.call(t)))return;var r=[],n=!0,a=!1,o=void 0;try{for(var i,u=t[Symbol.iterator]();!(n=(i=u.next()).done)&&(r.push(i.value),!e||r.length!==e);n=!0);}catch(t){a=!0,o=t}finally{try{n||null==u.return||u.return()}finally{if(a)throw o}}return r}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}()}function o(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}(t)||function(t){if(Symbol.iterator in Object(t)||\"[object Arguments]\"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}()}function i(t){var e,r=\"algoliasearch-client-js-\".concat(t.key),n=function(){return void 0===e&&(e=t.localStorage||window.localStorage),e},o=function(){return JSON.parse(n().getItem(r)||\"{}\")};return{get:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then((function(){var r=JSON.stringify(t),n=o()[r];return Promise.all([n||e(),void 0!==n])})).then((function(t){var e=a(t,2),n=e[0],o=e[1];return Promise.all([n,o||r.miss(n)])})).then((function(t){return a(t,1)[0]}))},set:function(t,e){return Promise.resolve().then((function(){var a=o();return a[JSON.stringify(t)]=e,n().setItem(r,JSON.stringify(a)),e}))},delete:function(t){return Promise.resolve().then((function(){var e=o();delete e[JSON.stringify(t)],n().setItem(r,JSON.stringify(e))}))},clear:function(){return Promise.resolve().then((function(){n().removeItem(r)}))}}}function u(t){var e=o(t.caches),r=e.shift();return void 0===r?{get:function(t,e){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},n=e();return n.then((function(t){return Promise.all([t,r.miss(t)])})).then((function(t){return a(t,1)[0]}))},set:function(t,e){return Promise.resolve(e)},delete:function(t){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(t,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(t,n,a).catch((function(){return u({caches:e}).get(t,n,a)}))},set:function(t,n){return r.set(t,n).catch((function(){return u({caches:e}).set(t,n)}))},delete:function(t){return r.delete(t).catch((function(){return u({caches:e}).delete(t)}))},clear:function(){return r.clear().catch((function(){return u({caches:e}).clear()}))}}}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{serializable:!0},e={};return{get:function(r,n){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{miss:function(){return Promise.resolve()}},o=JSON.stringify(r);if(o in e)return Promise.resolve(t.serializable?JSON.parse(e[o]):e[o]);var i=n(),u=a&&a.miss||function(){return Promise.resolve()};return i.then((function(t){return u(t)})).then((function(){return i}))},set:function(r,n){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(t){return delete e[JSON.stringify(t)],Promise.resolve()},clear:function(){return e={},Promise.resolve()}}}function c(t,e,r){var n={\"x-algolia-api-key\":r,\"x-algolia-application-id\":e};return{headers:function(){return t===m.WithinHeaders?n:{}},queryParameters:function(){return t===m.WithinQueryParameters?n:{}}}}function f(t){var e=0;return t((function r(){return e++,new Promise((function(n){setTimeout((function(){n(t(r))}),Math.min(100*e,1e3))}))}))}function d(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(t,e){return Promise.resolve()};return Object.assign(t,{wait:function(r){return d(t.then((function(t){return Promise.all([e(t,r),t])})).then((function(t){return t[1]})))}})}function l(t){for(var e=t.length-1;e>0;e--){var r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function p(t,e){return e?(Object.keys(e).forEach((function(r){t[r]=e[r](t)})),t):t}function h(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n<e;n++)r[n-1]=arguments[n];var a=0;return t.replace(/%s/g,(function(){return encodeURIComponent(r[a++])}))}var m={WithinQueryParameters:0,WithinHeaders:1};function y(t,e){var r=t||{},n=r.data||{};return Object.keys(r).forEach((function(t){-1===[\"timeout\",\"headers\",\"queryParameters\",\"data\",\"cacheable\"].indexOf(t)&&(n[t]=r[t])})),{data:Object.entries(n).length>0?n:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var g={Read:1,Write:2,Any:3},v=1,b=2,P=3;function w(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:v;return r(r({},t),{},{status:e,lastUpdate:Date.now()})}function O(t){return\"string\"==typeof t?{protocol:\"https\",url:t,accept:g.Any}:{protocol:t.protocol||\"https\",url:t.url,accept:t.accept||g.Any}}var I=\"DELETE\",x=\"GET\",j=\"POST\",D=\"PUT\";function q(t,e){return Promise.all(e.map((function(e){return t.get(e,(function(){return Promise.resolve(w(e))}))}))).then((function(t){var r=t.filter((function(t){return function(t){return t.status===v||Date.now()-t.lastUpdate>12e4}(t)})),n=t.filter((function(t){return function(t){return t.status===P&&Date.now()-t.lastUpdate<=12e4}(t)})),a=[].concat(o(r),o(n));return{getTimeout:function(t,e){return(0===n.length&&0===t?1:n.length+3+t)*e},statelessHosts:a.length>0?a.map((function(t){return O(t)})):e}}))}function S(t,e,n,a){var i=[],u=function(t,e){if(t.method===x||void 0===t.data&&void 0===e.data)return;var n=Array.isArray(t.data)?t.data:r(r({},t.data),e.data);return JSON.stringify(n)}(n,a),s=function(t,e){var n=r(r({},t.headers),e.headers),a={};return Object.keys(n).forEach((function(t){var e=n[t];a[t.toLowerCase()]=e})),a}(t,a),c=n.method,f=n.method!==x?{}:r(r({},n.data),a.data),d=r(r(r({\"x-algolia-agent\":t.userAgent.value},t.queryParameters),f),a.queryParameters),l=0,p=function e(r,o){var f=r.pop();if(void 0===f)throw{name:\"RetryError\",message:\"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.\",transporterStackTrace:R(i)};var p={data:u,headers:s,method:c,url:N(f,n.path,d),connectTimeout:o(l,t.timeouts.connect),responseTimeout:o(l,a.timeout)},h=function(t){var e={request:p,response:t,host:f,triesLeft:r.length};return i.push(e),e},m={onSuccess:function(t){return function(t){try{return JSON.parse(t.content)}catch(e){throw function(t,e){return{name:\"DeserializationError\",message:t,response:e}}(e.message,t)}}(t)},onRetry:function(n){var a=h(n);return n.isTimedOut&&l++,Promise.all([t.logger.info(\"Retryable failure\",A(a)),t.hostsCache.set(f,w(f,n.isTimedOut?P:b))]).then((function(){return e(r,o)}))},onFail:function(t){throw h(t),function(t,e){var r=t.content,n=t.status,a=r;try{a=JSON.parse(r).message}catch(t){}return function(t,e,r){return{name:\"ApiError\",message:t,status:e,transporterStackTrace:r}}(a,n,e)}(t,R(i))}};return t.requester.send(p).then((function(t){return function(t,e){return function(t){var e=t.status;return t.isTimedOut||function(t){var e=t.isTimedOut,r=t.status;return!e&&0==~~r}(t)||2!=~~(e/100)&&4!=~~(e/100)}(t)?e.onRetry(t):2==~~(t.status/100)?e.onSuccess(t):e.onFail(t)}(t,m)}))};return q(t.hostsCache,e).then((function(t){return p(o(t.statelessHosts).reverse(),t.getTimeout)}))}function k(t){var e=t.hostsCache,r=t.logger,n=t.requester,o=t.requestsCache,i=t.responsesCache,u=t.timeouts,s=t.userAgent,c=t.hosts,f=t.queryParameters,d={hostsCache:e,logger:r,requester:n,requestsCache:o,responsesCache:i,timeouts:u,userAgent:s,headers:t.headers,queryParameters:f,hosts:c.map((function(t){return O(t)})),read:function(t,e){var r=y(e,d.timeouts.read),n=function(){return S(d,d.hosts.filter((function(t){return 0!=(t.accept&g.Read)})),t,r)};if(!0!==(void 0!==r.cacheable?r.cacheable:t.cacheable))return n();var o={request:t,mappedRequestOptions:r,transporter:{queryParameters:d.queryParameters,headers:d.headers}};return d.responsesCache.get(o,(function(){return d.requestsCache.get(o,(function(){return d.requestsCache.set(o,n()).then((function(t){return Promise.all([d.requestsCache.delete(o),t])}),(function(t){return Promise.all([d.requestsCache.delete(o),Promise.reject(t)])})).then((function(t){var e=a(t,2);e[0];return e[1]}))}))}),{miss:function(t){return d.responsesCache.set(o,t)}})},write:function(t,e){return S(d,d.hosts.filter((function(t){return 0!=(t.accept&g.Write)})),t,y(e,d.timeouts.write))}};return d}function T(t){var e={value:\"Algolia for JavaScript (\".concat(t,\")\"),add:function(t){var r=\"; \".concat(t.segment).concat(void 0!==t.version?\" (\".concat(t.version,\")\"):\"\");return-1===e.value.indexOf(r)&&(e.value=\"\".concat(e.value).concat(r)),e}};return e}function N(t,e,r){var n=E(r),a=\"\".concat(t.protocol,\"://\").concat(t.url,\"/\").concat(\"/\"===e.charAt(0)?e.substr(1):e);return n.length&&(a+=\"?\".concat(n)),a}function E(t){return Object.keys(t).map((function(e){return h(\"%s=%s\",e,(r=t[e],\"[object Object]\"===Object.prototype.toString.call(r)||\"[object Array]\"===Object.prototype.toString.call(r)?JSON.stringify(t[e]):t[e]));var r})).join(\"&\")}function R(t){return t.map((function(t){return A(t)}))}function A(t){var e=t.request.headers[\"x-algolia-api-key\"]?{\"x-algolia-api-key\":\"*****\"}:{};return r(r({},t),{},{request:r(r({},t.request),{},{headers:r(r({},t.request.headers),e)})})}var C=function(t){return function(e,r){return t.transporter.write({method:j,path:\"2/abtests\",data:e},r)}},U=function(t){return function(e,r){return t.transporter.write({method:I,path:h(\"2/abtests/%s\",e)},r)}},z=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"2/abtests/%s\",e)},r)}},J=function(t){return function(e){return t.transporter.read({method:x,path:\"2/abtests\"},e)}},F=function(t){return function(e,r){return t.transporter.write({method:j,path:h(\"2/abtests/%s/stop\",e)},r)}},H=function(t){return function(e){return t.transporter.read({method:x,path:\"1/strategies/personalization\"},e)}},M=function(t){return function(e,r){return t.transporter.write({method:j,path:\"1/strategies/personalization\",data:e},r)}};function K(t){return function e(r){return t.request(r).then((function(n){if(void 0!==t.batch&&t.batch(n.hits),!t.shouldStop(n))return n.cursor?e({cursor:n.cursor}):e({page:(r.page||0)+1})}))}({})}var W=function(t){return function(e,a){var o=a||{},i=o.queryParameters,u=n(o,[\"queryParameters\"]),s=r({acl:e},void 0!==i?{queryParameters:i}:{});return d(t.transporter.write({method:j,path:\"1/keys\",data:s},u),(function(e,r){return f((function(n){return tt(t)(e.key,r).catch((function(t){if(404!==t.status)throw t;return n()}))}))}))}},B=function(t){return function(e,r,n){var a=y(n);return a.queryParameters[\"X-Algolia-User-ID\"]=e,t.transporter.write({method:j,path:\"1/clusters/mapping\",data:{cluster:r}},a)}},Q=function(t){return function(e,r,n){return t.transporter.write({method:j,path:\"1/clusters/mapping/batch\",data:{users:e,cluster:r}},n)}},G=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!0,requests:{action:\"addEntry\",body:[]}}},r),(function(e,r){return jt(t)(e.taskID,r)}))}},L=function(t){return function(e,r,n){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/operation\",e),data:{operation:\"copy\",destination:r}},n),(function(r,n){return ut(t)(e,{methods:{waitTask:de}}).waitTask(r.taskID,n)}))}},V=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[pe.Rules]}))}},_=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[pe.Settings]}))}},X=function(t){return function(e,n,a){return L(t)(e,n,r(r({},a),{},{scope:[pe.Synonyms]}))}},Y=function(t){return function(e,r){return e.method===x?t.transporter.read(e,r):t.transporter.write(e,r)}},Z=function(t){return function(e,r){return d(t.transporter.write({method:I,path:h(\"1/keys/%s\",e)},r),(function(r,n){return f((function(r){return tt(t)(e,n).then(r).catch((function(t){if(404!==t.status)throw t}))}))}))}},$=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"deleteEntry\",body:{objectID:t}}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(e,r){return jt(t)(e.taskID,r)}))}},tt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/keys/%s\",e)},r)}},et=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/task/%s\",e.toString())},r)}},rt=function(t){return function(e){return t.transporter.read({method:x,path:\"/1/dictionaries/*/settings\"},e)}},nt=function(t){return function(e){return t.transporter.read({method:x,path:\"1/logs\"},e)}},at=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters/mapping/top\"},e)}},ot=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/clusters/mapping/%s\",e)},r)}},it=function(t){return function(e){var r=e||{},a=r.retrieveMappings,o=n(r,[\"retrieveMappings\"]);return!0===a&&(o.getClusters=!0),t.transporter.read({method:x,path:\"1/clusters/mapping/pending\"},o)}},ut=function(t){return function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={transporter:t.transporter,appId:t.appId,indexName:e};return p(n,r.methods)}},st=function(t){return function(e){return t.transporter.read({method:x,path:\"1/keys\"},e)}},ct=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters\"},e)}},ft=function(t){return function(e){return t.transporter.read({method:x,path:\"1/indexes\"},e)}},dt=function(t){return function(e){return t.transporter.read({method:x,path:\"1/clusters/mapping\"},e)}},lt=function(t){return function(e,r,n){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/operation\",e),data:{operation:\"move\",destination:r}},n),(function(r,n){return ut(t)(e,{methods:{waitTask:de}}).waitTask(r.taskID,n)}))}},pt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:\"1/indexes/*/batch\",data:{requests:e}},r),(function(e,r){return Promise.all(Object.keys(e.taskID).map((function(n){return ut(t)(n,{methods:{waitTask:de}}).waitTask(e.taskID[n],r)})))}))}},ht=function(t){return function(e,r){return t.transporter.read({method:j,path:\"1/indexes/*/objects\",data:{requests:e}},r)}},mt=function(t){return function(e,n){var a=e.map((function(t){return r(r({},t),{},{params:E(t.params||{})})}));return t.transporter.read({method:j,path:\"1/indexes/*/queries\",data:{requests:a},cacheable:!0},n)}},yt=function(t){return function(e,a){return Promise.all(e.map((function(e){var o=e.params,i=o.facetName,u=o.facetQuery,s=n(o,[\"facetName\",\"facetQuery\"]);return ut(t)(e.indexName,{methods:{searchForFacetValues:ue}}).searchForFacetValues(i,u,r(r({},a),s))})))}},gt=function(t){return function(e,r){var n=y(r);return n.queryParameters[\"X-Algolia-User-ID\"]=e,t.transporter.write({method:I,path:\"1/clusters/mapping\"},n)}},vt=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"addEntry\",body:t}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!0,requests:a}},n),(function(e,r){return jt(t)(e.taskID,r)}))}},bt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"1/keys/%s/restore\",e)},r),(function(r,n){return f((function(r){return tt(t)(e,n).catch((function(t){if(404!==t.status)throw t;return r()}))}))}))}},Pt=function(t){return function(e,r,n){var a=r.map((function(t){return{action:\"addEntry\",body:t}}));return d(t.transporter.write({method:j,path:h(\"/1/dictionaries/%s/batch\",e),data:{clearExistingDictionaryEntries:!1,requests:a}},n),(function(e,r){return jt(t)(e.taskID,r)}))}},wt=function(t){return function(e,r,n){return t.transporter.read({method:j,path:h(\"/1/dictionaries/%s/search\",e),data:{query:r},cacheable:!0},n)}},Ot=function(t){return function(e,r){return t.transporter.read({method:j,path:\"1/clusters/mapping/search\",data:{query:e}},r)}},It=function(t){return function(e,r){return d(t.transporter.write({method:D,path:\"/1/dictionaries/*/settings\",data:e},r),(function(e,r){return jt(t)(e.taskID,r)}))}},xt=function(t){return function(e,r){var a=Object.assign({},r),o=r||{},i=o.queryParameters,u=n(o,[\"queryParameters\"]),s=i?{queryParameters:i}:{},c=[\"acl\",\"indexes\",\"referers\",\"restrictSources\",\"queryParameters\",\"description\",\"maxQueriesPerIPPerHour\",\"maxHitsPerQuery\"];return d(t.transporter.write({method:D,path:h(\"1/keys/%s\",e),data:s},u),(function(r,n){return f((function(r){return tt(t)(e,n).then((function(t){return function(t){return Object.keys(a).filter((function(t){return-1!==c.indexOf(t)})).every((function(e){return t[e]===a[e]}))}(t)?Promise.resolve():r()}))}))}))}},jt=function(t){return function(e,r){return f((function(n){return et(t)(e,r).then((function(t){return\"published\"!==t.status?n():void 0}))}))}},Dt=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/batch\",t.indexName),data:{requests:e}},r),(function(e,r){return de(t)(e.taskID,r)}))}},qt=function(t){return function(e){return K(r(r({shouldStop:function(t){return void 0===t.cursor}},e),{},{request:function(r){return t.transporter.read({method:j,path:h(\"1/indexes/%s/browse\",t.indexName),data:r},e)}}))}},St=function(t){return function(e){var n=r({hitsPerPage:1e3},e);return K(r(r({shouldStop:function(t){return t.hits.length<n.hitsPerPage}},n),{},{request:function(e){return se(t)(\"\",r(r({},n),e)).then((function(t){return r(r({},t),{},{hits:t.hits.map((function(t){return delete t._highlightResult,t}))})}))}}))}},kt=function(t){return function(e){var n=r({hitsPerPage:1e3},e);return K(r(r({shouldStop:function(t){return t.hits.length<n.hitsPerPage}},n),{},{request:function(e){return ce(t)(\"\",r(r({},n),e)).then((function(t){return r(r({},t),{},{hits:t.hits.map((function(t){return delete t._highlightResult,t}))})}))}}))}},Tt=function(t){return function(e,r,a){var o=a||{},i=o.batchSize,u=n(o,[\"batchSize\"]),s={taskIDs:[],objectIDs:[]};return d(function n(){var a,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,c=[];for(a=o;a<e.length&&(c.push(e[a]),c.length!==(i||1e3));a++);return 0===c.length?Promise.resolve(s):Dt(t)(c.map((function(t){return{action:r,body:t}})),u).then((function(t){return s.objectIDs=s.objectIDs.concat(t.objectIDs),s.taskIDs.push(t.taskID),a++,n(a)}))}(),(function(e,r){return Promise.all(e.taskIDs.map((function(e){return de(t)(e,r)})))}))}},Nt=function(t){return function(e){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/clear\",t.indexName)},e),(function(e,r){return de(t)(e.taskID,r)}))}},Et=function(t){return function(e){var r=e||{},a=r.forwardToReplicas,o=y(n(r,[\"forwardToReplicas\"]));return a&&(o.queryParameters.forwardToReplicas=1),d(t.transporter.write({method:j,path:h(\"1/indexes/%s/rules/clear\",t.indexName)},o),(function(e,r){return de(t)(e.taskID,r)}))}},Rt=function(t){return function(e){var r=e||{},a=r.forwardToReplicas,o=y(n(r,[\"forwardToReplicas\"]));return a&&(o.queryParameters.forwardToReplicas=1),d(t.transporter.write({method:j,path:h(\"1/indexes/%s/synonyms/clear\",t.indexName)},o),(function(e,r){return de(t)(e.taskID,r)}))}},At=function(t){return function(e,r){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/deleteByQuery\",t.indexName),data:e},r),(function(e,r){return de(t)(e.taskID,r)}))}},Ct=function(t){return function(e){return d(t.transporter.write({method:I,path:h(\"1/indexes/%s\",t.indexName)},e),(function(e,r){return de(t)(e.taskID,r)}))}},Ut=function(t){return function(e,r){return d(zt(t)([e],r).then((function(t){return{taskID:t.taskIDs[0]}})),(function(e,r){return de(t)(e.taskID,r)}))}},zt=function(t){return function(e,r){var n=e.map((function(t){return{objectID:t}}));return Tt(t)(n,le.DeleteObject,r)}},Jt=function(t){return function(e,r){var a=r||{},o=a.forwardToReplicas,i=y(n(a,[\"forwardToReplicas\"]));return o&&(i.queryParameters.forwardToReplicas=1),d(t.transporter.write({method:I,path:h(\"1/indexes/%s/rules/%s\",t.indexName,e)},i),(function(e,r){return de(t)(e.taskID,r)}))}},Ft=function(t){return function(e,r){var a=r||{},o=a.forwardToReplicas,i=y(n(a,[\"forwardToReplicas\"]));return o&&(i.queryParameters.forwardToReplicas=1),d(t.transporter.write({method:I,path:h(\"1/indexes/%s/synonyms/%s\",t.indexName,e)},i),(function(e,r){return de(t)(e.taskID,r)}))}},Ht=function(t){return function(e){return Lt(t)(e).then((function(){return!0})).catch((function(t){if(404!==t.status)throw t;return!1}))}},Mt=function(t){return function(e,r,n){return t.transporter.read({method:j,path:h(\"1/answers/%s/prediction\",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},n)}},Kt=function(t){return function(e,o){var i=o||{},u=i.query,s=i.paginate,c=n(i,[\"query\",\"paginate\"]),f=0;return function n(){return ie(t)(u||\"\",r(r({},c),{},{page:f})).then((function(t){for(var r=0,o=Object.entries(t.hits);r<o.length;r++){var i=a(o[r],2),u=i[0],c=i[1];if(e(c))return{object:c,position:parseInt(u,10),page:f}}if(f++,!1===s||f>=t.nbPages)throw{name:\"ObjectNotFoundError\",message:\"Object not found.\"};return n()}))}()}},Wt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/indexes/%s/%s\",t.indexName,e)},r)}},Bt=function(){return function(t,e){for(var r=0,n=Object.entries(t.hits);r<n.length;r++){var o=a(n[r],2),i=o[0];if(o[1].objectID===e)return parseInt(i,10)}return-1}},Qt=function(t){return function(e,a){var o=a||{},i=o.attributesToRetrieve,u=n(o,[\"attributesToRetrieve\"]),s=e.map((function(e){return r({indexName:t.indexName,objectID:e},i?{attributesToRetrieve:i}:{})}));return t.transporter.read({method:j,path:\"1/indexes/*/objects\",data:{requests:s}},u)}},Gt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/indexes/%s/rules/%s\",t.indexName,e)},r)}},Lt=function(t){return function(e){return t.transporter.read({method:x,path:h(\"1/indexes/%s/settings\",t.indexName),data:{getVersion:2}},e)}},Vt=function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/indexes/%s/synonyms/%s\",t.indexName,e)},r)}},_t=function(t){return function(e,r){return d(Xt(t)([e],r).then((function(t){return{objectID:t.objectIDs[0],taskID:t.taskIDs[0]}})),(function(e,r){return de(t)(e.taskID,r)}))}},Xt=function(t){return function(e,r){var a=r||{},o=a.createIfNotExists,i=n(a,[\"createIfNotExists\"]),u=o?le.PartialUpdateObject:le.PartialUpdateObjectNoCreate;return Tt(t)(e,u,i)}},Yt=function(t){return function(e,i){var u=i||{},s=u.safe,c=u.autoGenerateObjectIDIfNotExist,f=u.batchSize,l=n(u,[\"safe\",\"autoGenerateObjectIDIfNotExist\",\"batchSize\"]),p=function(e,r,n,a){return d(t.transporter.write({method:j,path:h(\"1/indexes/%s/operation\",e),data:{operation:n,destination:r}},a),(function(e,r){return de(t)(e.taskID,r)}))},m=Math.random().toString(36).substring(7),y=\"\".concat(t.indexName,\"_tmp_\").concat(m),g=ee({appId:t.appId,transporter:t.transporter,indexName:y}),v=[],b=p(t.indexName,y,\"copy\",r(r({},l),{},{scope:[\"settings\",\"synonyms\",\"rules\"]}));return v.push(b),d((s?b.wait(l):b).then((function(){var t=g(e,r(r({},l),{},{autoGenerateObjectIDIfNotExist:c,batchSize:f}));return v.push(t),s?t.wait(l):t})).then((function(){var e=p(y,t.indexName,\"move\",l);return v.push(e),s?e.wait(l):e})).then((function(){return Promise.all(v)})).then((function(t){var e=a(t,3),r=e[0],n=e[1],i=e[2];return{objectIDs:n.objectIDs,taskIDs:[r.taskID].concat(o(n.taskIDs),[i.taskID])}})),(function(t,e){return Promise.all(v.map((function(t){return t.wait(e)})))}))}},Zt=function(t){return function(e,n){return ne(t)(e,r(r({},n),{},{clearExistingRules:!0}))}},$t=function(t){return function(e,n){return oe(t)(e,r(r({},n),{},{clearExistingSynonyms:!0}))}},te=function(t){return function(e,r){return d(ee(t)([e],r).then((function(t){return{objectID:t.objectIDs[0],taskID:t.taskIDs[0]}})),(function(e,r){return de(t)(e.taskID,r)}))}},ee=function(t){return function(e,r){var a=r||{},o=a.autoGenerateObjectIDIfNotExist,i=n(a,[\"autoGenerateObjectIDIfNotExist\"]),u=o?le.AddObject:le.UpdateObject;if(u===le.UpdateObject){var s=!0,c=!1,f=void 0;try{for(var l,p=e[Symbol.iterator]();!(s=(l=p.next()).done);s=!0){if(void 0===l.value.objectID)return d(Promise.reject({name:\"MissingObjectIDError\",message:\"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.\"}))}}catch(t){c=!0,f=t}finally{try{s||null==p.return||p.return()}finally{if(c)throw f}}}return Tt(t)(e,u,i)}},re=function(t){return function(e,r){return ne(t)([e],r)}},ne=function(t){return function(e,r){var a=r||{},o=a.forwardToReplicas,i=a.clearExistingRules,u=y(n(a,[\"forwardToReplicas\",\"clearExistingRules\"]));return o&&(u.queryParameters.forwardToReplicas=1),i&&(u.queryParameters.clearExistingRules=1),d(t.transporter.write({method:j,path:h(\"1/indexes/%s/rules/batch\",t.indexName),data:e},u),(function(e,r){return de(t)(e.taskID,r)}))}},ae=function(t){return function(e,r){return oe(t)([e],r)}},oe=function(t){return function(e,r){var a=r||{},o=a.forwardToReplicas,i=a.clearExistingSynonyms,u=a.replaceExistingSynonyms,s=y(n(a,[\"forwardToReplicas\",\"clearExistingSynonyms\",\"replaceExistingSynonyms\"]));return o&&(s.queryParameters.forwardToReplicas=1),(u||i)&&(s.queryParameters.replaceExistingSynonyms=1),d(t.transporter.write({method:j,path:h(\"1/indexes/%s/synonyms/batch\",t.indexName),data:e},s),(function(e,r){return de(t)(e.taskID,r)}))}},ie=function(t){return function(e,r){return t.transporter.read({method:j,path:h(\"1/indexes/%s/query\",t.indexName),data:{query:e},cacheable:!0},r)}},ue=function(t){return function(e,r,n){return t.transporter.read({method:j,path:h(\"1/indexes/%s/facets/%s/query\",t.indexName,e),data:{facetQuery:r},cacheable:!0},n)}},se=function(t){return function(e,r){return t.transporter.read({method:j,path:h(\"1/indexes/%s/rules/search\",t.indexName),data:{query:e}},r)}},ce=function(t){return function(e,r){return t.transporter.read({method:j,path:h(\"1/indexes/%s/synonyms/search\",t.indexName),data:{query:e}},r)}},fe=function(t){return function(e,r){var a=r||{},o=a.forwardToReplicas,i=y(n(a,[\"forwardToReplicas\"]));return o&&(i.queryParameters.forwardToReplicas=1),d(t.transporter.write({method:D,path:h(\"1/indexes/%s/settings\",t.indexName),data:e},i),(function(e,r){return de(t)(e.taskID,r)}))}},de=function(t){return function(e,r){return f((function(n){return function(t){return function(e,r){return t.transporter.read({method:x,path:h(\"1/indexes/%s/task/%s\",t.indexName,e.toString())},r)}}(t)(e,r).then((function(t){return\"published\"!==t.status?n():void 0}))}))}},le={AddObject:\"addObject\",UpdateObject:\"updateObject\",PartialUpdateObject:\"partialUpdateObject\",PartialUpdateObjectNoCreate:\"partialUpdateObjectNoCreate\",DeleteObject:\"deleteObject\",DeleteIndex:\"delete\",ClearIndex:\"clear\"},pe={Settings:\"settings\",Synonyms:\"synonyms\",Rules:\"rules\"},he=1,me=2,ye=3;function ge(t,e,n){var a,o={appId:t,apiKey:e,timeouts:{connect:1,read:2,write:30},requester:{send:function(t){return new Promise((function(e){var r=new XMLHttpRequest;r.open(t.method,t.url,!0),Object.keys(t.headers).forEach((function(e){return r.setRequestHeader(e,t.headers[e])}));var n,a=function(t,n){return setTimeout((function(){r.abort(),e({status:0,content:n,isTimedOut:!0})}),1e3*t)},o=a(t.connectTimeout,\"Connection timeout\");r.onreadystatechange=function(){r.readyState>r.OPENED&&void 0===n&&(clearTimeout(o),n=a(t.responseTimeout,\"Socket timeout\"))},r.onerror=function(){0===r.status&&(clearTimeout(o),clearTimeout(n),e({content:r.responseText||\"Network request failed\",status:r.status,isTimedOut:!1}))},r.onload=function(){clearTimeout(o),clearTimeout(n),e({content:r.responseText,status:r.status,isTimedOut:!1})},r.send(t.data)}))}},logger:(a=ye,{debug:function(t,e){return he>=a&&console.debug(t,e),Promise.resolve()},info:function(t,e){return me>=a&&console.info(t,e),Promise.resolve()},error:function(t,e){return console.error(t,e),Promise.resolve()}}),responsesCache:s(),requestsCache:s({serializable:!1}),hostsCache:u({caches:[i({key:\"\".concat(\"4.13.1\",\"-\").concat(t)}),s()]}),userAgent:T(\"4.13.1\").add({segment:\"Browser\"})},f=r(r({},o),n),d=function(){return function(t){return function(t){var e=t.region||\"us\",n=c(m.WithinHeaders,t.appId,t.apiKey),a=k(r(r({hosts:[{url:\"personalization.\".concat(e,\".algolia.com\")}]},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/json\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({appId:t.appId,transporter:a},t.methods)}(r(r(r({},o),t),{},{methods:{getPersonalizationStrategy:H,setPersonalizationStrategy:M}}))}};return function(t){var e=t.appId,n=c(void 0!==t.authMode?t.authMode:m.WithinHeaders,e,t.apiKey),a=k(r(r({hosts:[{url:\"\".concat(e,\"-dsn.algolia.net\"),accept:g.Read},{url:\"\".concat(e,\".algolia.net\"),accept:g.Write}].concat(l([{url:\"\".concat(e,\"-1.algolianet.com\")},{url:\"\".concat(e,\"-2.algolianet.com\")},{url:\"\".concat(e,\"-3.algolianet.com\")}]))},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/x-www-form-urlencoded\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({transporter:a,appId:e,addAlgoliaAgent:function(t,e){a.userAgent.add({segment:t,version:e})},clearCache:function(){return Promise.all([a.requestsCache.clear(),a.responsesCache.clear()]).then((function(){}))}},t.methods)}(r(r({},f),{},{methods:{search:mt,searchForFacetValues:yt,multipleBatch:pt,multipleGetObjects:ht,multipleQueries:mt,copyIndex:L,copySettings:_,copySynonyms:X,copyRules:V,moveIndex:lt,listIndices:ft,getLogs:nt,listClusters:ct,multipleSearchForFacetValues:yt,getApiKey:tt,addApiKey:W,listApiKeys:st,updateApiKey:xt,deleteApiKey:Z,restoreApiKey:bt,assignUserID:B,assignUserIDs:Q,getUserID:ot,searchUserIDs:Ot,listUserIDs:dt,getTopUserIDs:at,removeUserID:gt,hasPendingMappings:it,clearDictionaryEntries:G,deleteDictionaryEntries:$,getDictionarySettings:rt,getAppTask:et,replaceDictionaryEntries:vt,saveDictionaryEntries:Pt,searchDictionaryEntries:wt,setDictionarySettings:It,waitAppTask:jt,customRequest:Y,initIndex:function(t){return function(e){return ut(t)(e,{methods:{batch:Dt,delete:Ct,findAnswers:Mt,getObject:Wt,getObjects:Qt,saveObject:te,saveObjects:ee,search:ie,searchForFacetValues:ue,waitTask:de,setSettings:fe,getSettings:Lt,partialUpdateObject:_t,partialUpdateObjects:Xt,deleteObject:Ut,deleteObjects:zt,deleteBy:At,clearObjects:Nt,browseObjects:qt,getObjectPosition:Bt,findObject:Kt,exists:Ht,saveSynonym:ae,saveSynonyms:oe,getSynonym:Vt,searchSynonyms:ce,browseSynonyms:kt,deleteSynonym:Ft,clearSynonyms:Rt,replaceAllObjects:Yt,replaceAllSynonyms:$t,searchRules:se,getRule:Gt,deleteRule:Jt,saveRule:re,saveRules:ne,replaceAllRules:Zt,browseRules:St,clearRules:Et}})}},initAnalytics:function(){return function(t){return function(t){var e=t.region||\"us\",n=c(m.WithinHeaders,t.appId,t.apiKey),a=k(r(r({hosts:[{url:\"analytics.\".concat(e,\".algolia.com\")}]},t),{},{headers:r(r(r({},n.headers()),{\"content-type\":\"application/json\"}),t.headers),queryParameters:r(r({},n.queryParameters()),t.queryParameters)}));return p({appId:t.appId,transporter:a},t.methods)}(r(r(r({},o),t),{},{methods:{addABTest:C,getABTest:z,getABTests:J,stopABTest:F,deleteABTest:U}}))}},initPersonalization:d,initRecommendation:function(){return function(t){return f.logger.info(\"The `initRecommendation` method is deprecated. Use `initPersonalization` instead.\"),d()(t)}}}}))}return ge.version=\"4.13.1\",ge}));\n"]}
@@ -1,5 +0,0 @@
1
- /*!
2
- * Web Components for Nanopore digital Web Apps
3
- */
4
- import{r as i,c as a,h as o,a as t,g as e}from"./p-1fe12320.js";import{M as s}from"./p-c9a7c7ea.js";import{l as n,u as r}from"./p-885b6950.js";import{h as l}from"./p-b933f3c8.js";import{C as d}from"./p-e3860f00.js";import"./p-45abbbdd.js";import"./p-845ae77e.js";import"./p-9746b0a5.js";import"./p-69a3e911.js";const h=":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{--border-radius:var(--nano-layer-border-radius, var(--nano-border-radius-medium, 4px));--content-background:#fafafa;--footer-content:#e4e6e8;--scrim-color:var(--nano-layer-overlay-dark, rgba(74, 74, 74, .5));--box-shadow:var(--nano-layer-shadow-large, 0 2px 8px rgba(0, 0, 0, 0.2));--close-button-color:#b5aea7;--width:60rem;--tint-color:#00607b;--body-padding-v:var(--nano-spacing-large, 20px);--body-padding-h:var(--nano-spacing-large, 20px);--header-padding-v:var(--nano-spacing-medium, 16px);--header-padding-h:var(--nano-spacing-large, 20px);--footer-padding-v:var(--nano-spacing-medium, 16px);--footer-padding-h:var(--nano-spacing-large, 20px)}.dialog{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;z-index:var(--nano-layer-index-modal, 700)}.dialog:not(.dialog--visible){position:absolute;inline-size:1px;block-size:1px;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.dialog__panel{display:flex;flex-direction:column;z-index:2;inline-size:var(--width);max-inline-size:calc(100% - var(--nano-spacing-xlarge, 24px));max-block-size:calc(92% - var(--nano-spacing-xlarge, 24px));background-color:var(--content-background);border-radius:var(--border-radius);box-shadow:var(--box-shadow);opacity:0;transform:scale(0.8);transition:var(--nano-transition-fast, 0.3s) opacity, var(--nano-transition-fast, 0.3s) transform}.dialog__panel:focus{outline:none}.dialog--with-ribbon .dialog__panel{border-block-start:5px solid var(--tint-color)}.dialog--open .dialog__panel{display:flex;opacity:1;transform:none}.dialog--nodismiss .dialog__panel{animation:cannotClose 0.25s ease-in-out 1}@keyframes cannotClose{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}.dialog__header{flex:0 0 auto;display:flex;min-inline-size:var(--width);inline-size:100%;background-color:var(--content-background);border-radius:var(--border-radius) var(--border-radius) 0 0;transition:var(--nano-transition-fast, 0.1s) box-shadow}.dialog--visible .dialog__header{min-inline-size:auto}[stuck] .dialog__header{box-shadow:var(--nano-layer-shadow-medium, 0 2px 4px rgba(0, 0, 0, 0.2))}.dialog__title{flex:1 1 auto;font-size:var(--nano-fontsize-large, 1.25rem);line-height:1.6;padding-block:var(--header-padding-v);padding-inline:var(--header-padding-h)}.dialog .dialog__close-icon{flex:0 0 auto;display:flex;align-items:center;font-size:var(--nano-fontsize-xlarge, 1.5rem);padding-block:0;padding-inline:var(--header-padding-h);--color:var(--close-button-color)}.dialog__body{padding-block:0 var(--body-padding-v);padding-inline:var(--body-padding-h)}.dialog:not(.dialog--has-header) .dialog__body{padding-block-start:var(--body-padding-v)}.dialog__body ::slotted(*){max-inline-size:100%}.dialog__body-wrap{flex:1 1 auto;overflow:auto;-webkit-overflow-scrolling:touch;border-radius:var(--border-radius)}.dialog:not(.dialog--has-header) .dialog__body-wrap{border-radius:0 0 inherit inherit}.dialog:not(.dialog--has-footer) .dialog__body-wrap{border-radius:inherit inherit 0 0}.dialog__footer{inline-size:100%;padding-block:var(--footer-padding-v);padding-inline:var(--footer-padding-h);background:var(--footer-content);border-radius:0 0 var(--border-radius) var(--border-radius);position:relative;inset-block-start:1px}.dialog--visible .dialog__footer{min-inline-size:auto}.dialog__footer ::slotted(button){margin-inline-end:var(--nano-spacing-small, 8px) !important}.dialog:not(.dialog--has-footer) .dialog__footer{display:none}.dialog__close-txt{color:var(--tint-color);border:none;text-decoration:underline;margin:0;text-underline-offset:4px;background-color:transparent;font:inherit;-webkit-box-align:center;cursor:pointer;font-size:var(--nano-fontsize-small, 0.875rem);padding:0.5rem;border-radius:var(--nano-border-radius-small, 2px);transition:box-shadow 100ms ease-in-out}.dialog__close-txt:focus{outline:none;box-shadow:var(--nano-control-focus-shadow, 0 0 0 0.1875rem var(--nano-control-focus-color, rgba(144, 198, 231, 0.8)))}.dialog__overlay{position:fixed;inset:0;background-color:var(--scrim-color);opacity:0;transition:var(--nano-transition-fast, 0.3s) opacity;-webkit-backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px));backdrop-filter:blur(var(--nano-layer-overlay-blur, 3px))}.dialog--open .dialog__overlay{opacity:1}";let c=0;const p=class{constructor(o){i(this,o);this.nanoShow=a(this,"nanoShow",7);this.nanoAfterShow=a(this,"nanoAfterShow",7);this.nanoHide=a(this,"nanoHide",7);this.nanoAfterHide=a(this,"nanoAfterHide",7);this.nanoInitialFocus=a(this,"nanoInitialFocus",7);this.nanoRequestClose=a(this,"nanoRequestClose",7);this.componentId=`dialog-${++c}`;this.willShow=false;this.willHide=false;this.addedTransEnd=false;this.handleKeyDown=i=>{if(i.key==="Escape"){this.requestClose()}};this.requestClose=()=>{const i=this.nanoRequestClose.emit();if(!i.defaultPrevented&&!this.noUserDismiss){this.hide()}else{this.noDismiss=true;setTimeout((i=>this.noDismiss=false),250)}};this.handleTransitionEnd=i=>{if(i.propertyName==="opacity"&&i.composedPath().find((i=>i===this.panel||i===this.overlay))){this.isVisible=this.open;this.willShow=false;this.willHide=false;this.open?this.nanoAfterShow.emit():this.nanoAfterHide.emit()}};this.handleSlotChange=()=>{this.hasFooter=l(this.host,"footer")};this.isVisible=false;this.noDismiss=false;this.hasFooter=false;this.showRibbon=true;this.open=false;this.label=undefined;this.noHeader=false;this.noFooter=false;this.noUserDismiss=false;this.storeId=undefined;this.storeMethod="url-hash";this.hoist=false}handleOpenChange(){this.open?this.show():this.hide()}handleHoistChange(){if(!this.hoist||document.body.children[0]===this.host)return;document.body.prepend(this.host)}async show(){if(this.willShow){return}const i=this.nanoShow.emit();if(i.defaultPrevented){this.open=false;return}this.originalTrigger=document.activeElement;this.willShow=true;this.isVisible=true;this.open=true;this.modal.activate();n(this.host);if(this.open){this.host.addEventListener("nanoAfterShow",(()=>{const i=this.nanoInitialFocus.emit();if(!i.defaultPrevented){this.panel.focus({preventScroll:true})}}),{once:true})}}async hide(){if(this.willHide){return}const i=this.nanoHide.emit();if(i.defaultPrevented){this.open=true;return}this.willHide=true;this.open=false;this.modal.deactivate();r(this.host);this.stopVideos();const a=this.originalTrigger;if(a&&typeof a.focus==="function"){setTimeout((()=>a.focus()))}}stopVideos(){const i=Array.from(this.host.querySelectorAll("iframe,video"));i.forEach((i=>{if(i.tagName.toLowerCase()==="video")i.pause();else{const a=i.src;i.src=a}}))}connectedCallback(){this.handleHoistChange();this.modal=new s(this.host);if(this.panel){this.addedTransEnd=true;this.panel.addEventListener("transitionend",this.handleTransitionEnd)}}componentWillLoad(){this.handleSlotChange();if(this.open)this.show();if(this.storeId)d.init(this,["open"],this.storeMethod,this.storeId)}componentDidLoad(){if(!this.addedTransEnd){this.panel.addEventListener("transitionend",this.handleTransitionEnd)}}disconnectedCallback(){if(!this.panel)return;r(this.host);this.addedTransEnd=false;this.panel.removeEventListener("transitionend",this.handleTransitionEnd)}render(){return o(t,{showing:this.isVisible?true:undefined},o("div",{part:"base",class:{dialog:true,"dialog--open":this.open,"dialog--visible":this.isVisible,"dialog--has-footer":!this.noFooter,"dialog--has-header":!this.noHeader,"dialog--nodismiss":this.noDismiss,"dialog--with-ribbon":this.showRibbon},onKeyDown:this.handleKeyDown},o("div",{part:"overlay",class:"dialog__overlay",ref:i=>this.overlay=i,onClick:this.requestClose}),o("div",{ref:i=>this.panel=i,part:"panel",class:"dialog__panel",role:"dialog","aria-modal":"true","aria-hidden":this.open?"false":"true","aria-label":this.noHeader?this.label:null,"aria-labelledby":!this.noHeader?`${this.componentId}-title`:null,tabIndex:0},o("div",{class:"dialog__body-wrap"},!this.noHeader&&o("nano-sticker",null,o("header",{part:"header",class:"dialog__header"},o("span",{part:"title",class:"dialog__title",id:`${this.componentId}-title`},o("slot",{name:"label"},this.label||String.fromCharCode(65279))),!this.noUserDismiss&&o("nano-icon-button",{exportparts:"base:close-button",class:"dialog__close-icon",label:"close dialog",onClick:this.requestClose,iconName:"light/times"}))),o("div",{part:"body",class:"dialog__body"},o("slot",null)),!this.noFooter&&(this.hasFooter||!this.noUserDismiss)&&o("nano-sticker",{position:"bottom"},o("footer",{part:"footer",class:"dialog__footer"},o("slot",{name:"footer",onSlotchange:this.handleSlotChange}),!this.noUserDismiss&&o("button",{class:"dialog__close-txt",onClick:this.requestClose},"Close")))))))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],hoist:["handleHoistChange"]}}};p.style=h;export{p as nano_dialog};
5
- //# sourceMappingURL=p-a183e3c7.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/dialog/dialog.scss?tag=nano-dialog&encapsulation=shadow","src/components/dialog/dialog.tsx"],"names":["dialogCss","id","Dialog","this","componentId","willShow","willHide","addedTransEnd","handleKeyDown","event","key","requestClose","nanoOverlayDismiss","nanoRequestClose","emit","defaultPrevented","noUserDismiss","hide","noDismiss","setTimeout","_","handleTransitionEnd","propertyName","composedPath","find","node","panel","overlay","isVisible","open","nanoAfterShow","nanoAfterHide","handleSlotChange","hasFooter","hasSlot","host","[object Object]","show","hoist","document","body","children","prepend","nanoShow","originalTrigger","activeElement","modal","activate","lockBodyScrolling","addEventListener","nanoInitialFocus","focus","preventScroll","once","nanoHide","deactivate","unlockBodyScrolling","stopVideos","trigger","videos","Array","from","querySelectorAll","forEach","video","tagName","toLowerCase","pause","src","handleHoistChange","Modal","storeId","ComponentStore","init","storeMethod","removeEventListener","h","Host","showing","undefined","part","class","dialog","dialog--open","dialog--visible","dialog--has-footer","noFooter","dialog--has-header","noHeader","dialog--nodismiss","dialog--with-ribbon","showRibbon","onKeyDown","ref","el","onClick","role","aria-modal","aria-hidden","aria-label","label","aria-labelledby","tabIndex","name","String","fromCharCode","exportparts","iconName","position","onSlotchange"],"mappings":"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","sourcesContent":["@use 'sass:map';\n@use 'sass:list';\n\n@import '../../global/style/nano-theme/base';\n@import '../../global/style/nano-theme/colours';\n@import '../../global/style/nano-theme/layers';\n@import '../../global/style/nano-theme/form';\n\n/**\n * @prop --width: The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n * @prop --border-radius: defaults to #{$layer-border-radius};\n * @prop --content-background: defaults to #{$layer-bg-color};\n * @prop --footer-background: defaults to #{map.get($colors, celsius)};\n * @prop --box-shadow: defaults to $layer-shadow-xlarge;\n * @prop --close-button-color: defaults to #{map.get($colors, mediumgrey)};\n * @prop --scrim-color: overlay colour of alert display. Defaults to #{$layer-overlay-dark};\n * @prop --tint-color: colour used to highlight items in the dialog - top ribbon, bottom close button. Default #{map.get($colors, blue)};\n * @prop --width: defaults to 31rem;\n */\n:host {\n --border-radius: #{$layer-border-radius};\n --content-background: #fafafa;\n --footer-content: #{map.get($colors, lightgrey)};\n --scrim-color: #{$layer-overlay-dark};\n --box-shadow: #{$layer-shadow-large};\n --close-button-color: #{map.get($colors, palegrey)};\n --width: 60rem;\n --tint-color: #{darken(map.get($colors, blue), 5%)};\n --body-padding-v: #{$spacing-large};\n --body-padding-h: #{$spacing-large};\n --header-padding-v: #{$spacing-medium};\n --header-padding-h: #{$spacing-large};\n --footer-padding-v: #{$spacing-medium};\n --footer-padding-h: #{$spacing-large};\n}\n\n.dialog {\n $self: &;\n\n display: flex;\n align-items: center;\n justify-content: center;\n position: fixed;\n inset: 0;\n z-index: #{$layer-index-modal};\n\n &:not(.dialog--visible) {\n @include hidden;\n }\n\n &__panel {\n display: flex;\n flex-direction: column;\n z-index: 2;\n inline-size: var(--width);\n max-inline-size: calc(100% - #{$spacing-xlarge});\n max-block-size: calc(92% - #{$spacing-xlarge});\n background-color: var(--content-background);\n border-radius: var(--border-radius);\n box-shadow: var(--box-shadow);\n opacity: 0;\n transform: scale(0.8);\n transition: #{$transition-fast} opacity, #{$transition-fast} transform;\n\n &:focus {\n outline: none;\n }\n\n .dialog--with-ribbon & {\n border-block-start: 5px solid var(--tint-color);\n }\n\n .dialog--open & {\n display: flex;\n opacity: 1;\n transform: none;\n }\n\n .dialog--nodismiss & {\n animation: cannotClose 0.25s ease-in-out 1;\n\n @keyframes cannotClose {\n 0% {\n transform: scale(1);\n }\n\n 50% {\n transform: scale(1.08);\n }\n\n 100% {\n transform: scale(1);\n }\n }\n }\n }\n\n &__header {\n flex: 0 0 auto;\n display: flex;\n min-inline-size: var(--width);\n inline-size: 100%;\n background-color: var(--content-background);\n border-radius: var(--border-radius) var(--border-radius) 0 0;\n transition: #{$transition-xfast} box-shadow;\n\n .dialog--visible & {\n min-inline-size: auto;\n }\n\n [stuck] & {\n box-shadow: #{$layer-shadow-medium};\n }\n }\n\n &__title {\n flex: 1 1 auto;\n font-size: #{$fontsize-large};\n line-height: 1.6;\n padding-block: var(--header-padding-v);\n padding-inline: var(--header-padding-h);\n }\n\n & &__close-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: #{$fontsize-xlarge};\n padding-block: 0;\n padding-inline: var(--header-padding-h);\n\n --color: var(--close-button-color);\n }\n\n &__body {\n padding-block: 0 var(--body-padding-v);\n padding-inline: var(--body-padding-h);\n\n .dialog:not(.dialog--has-header) & {\n padding-block-start: var(--body-padding-v);\n }\n\n & ::slotted(*) {\n max-inline-size: 100%;\n }\n\n &-wrap {\n flex: 1 1 auto;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n border-radius: var(--border-radius);\n\n .dialog:not(.dialog--has-header) & {\n border-radius: 0 0 inherit inherit;\n }\n\n .dialog:not(.dialog--has-footer) & {\n border-radius: inherit inherit 0 0;\n }\n }\n }\n\n &__footer {\n inline-size: 100%;\n padding-block: var(--footer-padding-v);\n padding-inline: var(--footer-padding-h);\n background: var(--footer-content);\n border-radius: 0 0 var(--border-radius) var(--border-radius);\n position: relative;\n inset-block-start: 1px;\n\n .dialog--visible & {\n min-inline-size: auto;\n }\n\n ::slotted(button) {\n margin-inline-end: #{$spacing-small} !important;\n }\n\n .dialog:not(.dialog--has-footer) & {\n display: none;\n }\n }\n\n &__close-txt {\n color: var(--tint-color);\n border: none;\n text-decoration: underline;\n margin: 0;\n text-underline-offset: 4px;\n background-color: transparent;\n font: inherit;\n -webkit-box-align: center;\n cursor: pointer;\n font-size: #{$fontsize-small};\n padding: 0.5rem;\n border-radius: #{$border-radius-small};\n transition: box-shadow 100ms ease-in-out;\n\n &:focus {\n outline: none;\n box-shadow: #{$control-focus-style};\n }\n }\n\n &__overlay {\n position: fixed;\n inset: 0;\n background-color: var(--scrim-color);\n opacity: 0;\n transition: #{$transition-fast} opacity;\n backdrop-filter: blur(#{$layer-overlay-blur});\n\n .dialog--open & {\n opacity: 1;\n }\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Method,\n Prop,\n State,\n Watch,\n h,\n Host,\n ComponentInterface,\n} from '@stencil/core';\nimport Modal from '../../utils/modal';\nimport { lockBodyScrolling, unlockBodyScrolling } from '../../utils/scroll';\nimport { hasSlot } from '../../utils/slot';\nimport {\n ComponentStore,\n StorageMethods,\n} from '../../utils/store/component-store';\n\nlet id = 0;\n\n/**\n * Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.\n *\n * @slot - The dialog's content.\n * @slot label - The dialog's label. Alternatively, you can use the label prop.\n * @slot footer - The dialog's footer, usually one or more buttons representing various options.\n */\n@Component({\n tag: 'nano-dialog',\n styleUrl: 'dialog.scss',\n shadow: true,\n})\nexport class Dialog implements ComponentInterface {\n private componentId = `dialog-${++id}`;\n private modal: Modal;\n private panel: HTMLElement;\n private willShow = false;\n private willHide = false;\n private originalTrigger: HTMLElement | null;\n private overlay: HTMLElement;\n private addedTransEnd = false;\n\n @Element() host: HTMLNanoDialogElement;\n @State() isVisible = false;\n @State() noDismiss = false;\n @State() hasFooter = false;\n\n /** Show a colour ribbon at the top of the modal */\n @Prop() showRibbon = true;\n\n /** Indicates whether or not the dialog is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** The dialog's label as displayed in the header. You should always include a relevant\n * label even when using `no-header`, as it is required for proper accessibility. */\n @Prop() label!: string;\n\n /** Set to true to disable the header. This will also remove the default close button,\n * so please ensure you provide an easy, accessible way for users to dismiss the dialog. */\n @Prop() noHeader = false;\n\n /** Set to true to disable the footer. This will also remove the footer close button,\n * so please ensure you provide an easy, accessible way for users to dismiss the dialog. */\n @Prop() noFooter = false;\n\n /** An alternative to `preventDefault()` on the `nanoRequestClose` event. This will hide the close button and disable clicks on the overlay or presses the `Escape` key */\n @Prop() noUserDismiss = false;\n\n /** Store search queries (against this ID) to the component store. Use in conjunction with storeMethod */\n @Prop() storeId?: string;\n\n /** The method of storage. Either session storage, url hash (after the '#') or url query (after the '?'). */\n @Prop() storeMethod: StorageMethods = 'url-hash';\n\n /** Relocate the dialog to the root of the DOM. Useful for elements bound via css `transform: ...` */\n @Prop() hoist = false;\n\n @Watch('hoist')\n handleHoistChange() {\n if (!this.hoist || document.body.children[0] === this.host) return;\n document.body.prepend(this.host);\n }\n\n /** Emitted when the dialog opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event() nanoShow: EventEmitter;\n\n /** Emitted after the dialog opens and all transitions are complete. */\n @Event() nanoAfterShow: EventEmitter;\n\n /** Emitted when the dialog closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event() nanoHide: EventEmitter;\n\n /** Emitted after the dialog closes and all transitions are complete. */\n @Event() nanoAfterHide: EventEmitter;\n\n /** Emitted when the dialog opens and the panel gains focus. Calling `event.preventDefault()` will prevent\n * focus and allow you to set it on a different element in the dialog, such as an input or button. */\n @Event() nanoInitialFocus: EventEmitter;\n\n /** Emitted when the user clicks the close button, clicks the overlay, or presses the `Escape` key. Calling `event.preventDefault()` will prevent the dialog from closing. */\n @Event() nanoRequestClose: EventEmitter;\n\n /** Shows the dialog */\n @Method()\n async show() {\n if (this.willShow) {\n return;\n }\n\n const nanoShow = this.nanoShow.emit();\n if (nanoShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.originalTrigger = document.activeElement as HTMLElement;\n this.willShow = true;\n this.isVisible = true;\n this.open = true;\n this.modal.activate();\n\n lockBodyScrolling(this.host);\n\n if (this.open) {\n // Wait for the next frame before setting initial focus so the dialog is technically visible\n this.host.addEventListener(\n 'nanoAfterShow',\n () => {\n const nanoInitialFocus = this.nanoInitialFocus.emit();\n if (!nanoInitialFocus.defaultPrevented) {\n this.panel.focus({ preventScroll: true });\n }\n },\n { once: true }\n );\n }\n }\n\n /** Hides the dialog */\n @Method()\n async hide() {\n if (this.willHide) {\n return;\n }\n\n const nanoHide = this.nanoHide.emit();\n if (nanoHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.willHide = true;\n this.open = false;\n this.modal.deactivate();\n unlockBodyScrolling(this.host);\n this.stopVideos();\n\n // Restore focus to the original trigger\n const trigger = this.originalTrigger;\n if (trigger && typeof trigger.focus === 'function') {\n setTimeout(() => trigger.focus());\n }\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n this.requestClose();\n }\n };\n\n private requestClose = () => {\n const nanoOverlayDismiss = this.nanoRequestClose.emit();\n\n if (!nanoOverlayDismiss.defaultPrevented && !this.noUserDismiss) {\n this.hide();\n } else {\n this.noDismiss = true;\n setTimeout((_) => (this.noDismiss = false), 250);\n }\n };\n\n private handleTransitionEnd = (event: TransitionEvent) => {\n if (\n event.propertyName === 'opacity' &&\n event\n .composedPath()\n .find((node) => node === this.panel || node === this.overlay)\n ) {\n // Ensure we only emit one event when the target element is no longer visible\n this.isVisible = this.open;\n this.willShow = false;\n this.willHide = false;\n this.open ? this.nanoAfterShow.emit() : this.nanoAfterHide.emit();\n }\n };\n\n private handleSlotChange = () => {\n this.hasFooter = hasSlot(this.host, 'footer');\n };\n\n private stopVideos() {\n const videos: (HTMLVideoElement | HTMLIFrameElement)[] = Array.from(\n this.host.querySelectorAll('iframe,video')\n );\n videos.forEach((video) => {\n if (video.tagName.toLowerCase() === 'video')\n (video as HTMLVideoElement).pause();\n else {\n const src = video.src;\n video.src = src;\n }\n });\n }\n\n connectedCallback() {\n this.handleHoistChange();\n this.modal = new Modal(this.host);\n if (this.panel) {\n this.addedTransEnd = true;\n this.panel.addEventListener('transitionend', this.handleTransitionEnd);\n }\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n // Show on init if open\n if (this.open) this.show();\n if (this.storeId)\n ComponentStore.init(this, ['open'], this.storeMethod, this.storeId);\n }\n\n componentDidLoad() {\n if (!this.addedTransEnd) {\n this.panel.addEventListener('transitionend', this.handleTransitionEnd);\n }\n }\n\n disconnectedCallback() {\n if (!this.panel) return;\n unlockBodyScrolling(this.host);\n this.addedTransEnd = false;\n this.panel.removeEventListener('transitionend', this.handleTransitionEnd);\n }\n\n render() {\n return (\n <Host showing={this.isVisible ? true : undefined}>\n <div\n part=\"base\"\n class={{\n dialog: true,\n 'dialog--open': this.open,\n 'dialog--visible': this.isVisible,\n 'dialog--has-footer': !this.noFooter,\n 'dialog--has-header': !this.noHeader,\n 'dialog--nodismiss': this.noDismiss,\n 'dialog--with-ribbon': this.showRibbon,\n }}\n onKeyDown={this.handleKeyDown}\n >\n <div\n part=\"overlay\"\n class=\"dialog__overlay\"\n ref={(el) => (this.overlay = el)}\n onClick={this.requestClose}\n />\n\n <div\n ref={(el) => (this.panel = el)}\n part=\"panel\"\n class=\"dialog__panel\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n aria-label={this.noHeader ? this.label : null}\n aria-labelledby={\n !this.noHeader ? `${this.componentId}-title` : null\n }\n tabIndex={0}\n >\n <div class=\"dialog__body-wrap\">\n {!this.noHeader && (\n <nano-sticker>\n <header part=\"header\" class=\"dialog__header\">\n <span\n part=\"title\"\n class=\"dialog__title\"\n id={`${this.componentId}-title`}\n >\n <slot name=\"label\">\n {/* If there's no label, use an invisible character to prevent the heading from collapsing */}\n {this.label || String.fromCharCode(65279)}\n </slot>\n </span>\n {!this.noUserDismiss && (\n <nano-icon-button\n exportparts=\"base:close-button\"\n class=\"dialog__close-icon\"\n label=\"close dialog\"\n onClick={this.requestClose}\n iconName=\"light/times\"\n />\n )}\n </header>\n </nano-sticker>\n )}\n <div part=\"body\" class=\"dialog__body\">\n <slot />\n </div>\n {!this.noFooter && (this.hasFooter || !this.noUserDismiss) && (\n <nano-sticker position=\"bottom\">\n <footer part=\"footer\" class=\"dialog__footer\">\n <slot name=\"footer\" onSlotchange={this.handleSlotChange} />\n {!this.noUserDismiss && (\n <button\n class=\"dialog__close-txt\"\n onClick={this.requestClose}\n >\n Close\n </button>\n )}\n </footer>\n </nano-sticker>\n )}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["src/components/field-validator/field-validator.tsx"],"names":["FieldValidator","this","allFields","nanoFieldSelector","hasSetStore","internalValidate","handleStoreChange","async","key","newVal","found","find","field","getName","tagName","includes","type","storeToFields","fileStateEqual","value","validateOn","dirty","validateAllFields","_valid","activeForm","checkValidity","nanoPayloadChange","emit","_store","state","handleFieldChange","ev","nanoFields","target","_dirty","fieldsToStore","handlePlainFieldChange","plainFields","handleFormInvalid","preventDefault","submitted","submitForm","scrollToFirstInvalid","nanoInvalid","handleSubmit","e","[object Object]","userForm","_activeForm","form","removeEventListener","addEventListener","forEach","cbg","closest","valid","store","payload","showValidation","validationState","v","name","pf","nf","validationMessage","validityMessage","length","invalid","fields","f","push","Object","entries","val","validity","Promise","all","map","err","setFieldError","mo","MutationObserver","_entries","host","querySelector","setupFields","observe","childList","attributes","attributeFilter","subtree","getAttribute","Array","from","querySelectorAll","extraFieldSelector","filter","validateOnChange","fieldName","cbs","cb","checked","isArray","ff","files","init","currentArr","JSON","stringify","validation","res","msg","validityState","validityTarget","reduce","memo","validate","undefined","showError","setError","setCustomValidity","scrollToInvalid","setTimeout","invalidField","scrollIntoView","behavior","block","nanoSubmit","defaultPrevented","submit","createStore","requestAnimationFrame","attachSlotObserver","on","disconnect","reset","h","Host","ref"],"mappings":"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","sourcesContent":["import {\n Component,\n Prop,\n h,\n Host,\n Element,\n ComponentInterface,\n State,\n Watch,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport { createStore, ObservableMap } from '@stencil/store';\nimport type {\n NanoFormEles,\n PlainFormEles,\n NanoFormEvent,\n ValidationState,\n ValidatorValueStore,\n PlainFormEvent,\n} from '../../interface';\n\n/**\n * A toolbox for `nano-...` form fields and form validation.\n * - Easy to add validation across field dependencies - e.g. \"When Field1 contains '123' Field2 must contain '456'\"\n * - Easy access to whole form and individual field validity states\n * - Easy access to form data payload\n * = Access to 2-way, data bound reactive store\n * - Scroll to invalid field on submit\n */\n@Component({\n tag: 'nano-field-validator',\n})\nexport class FieldValidator implements ComponentInterface {\n // Internal State\n\n @Element() host: HTMLNanoFieldValidatorElement;\n @State() submitted = false;\n @State() userForm: HTMLFormElement;\n @Watch('userForm')\n userFormChange() {\n if (!!this.userForm) this.activeForm = this.userForm;\n }\n\n private get activeForm() {\n return this._activeForm;\n }\n private set activeForm(form: HTMLFormElement) {\n // manages event listners on whatever form is used (slotted on created here)\n if (!form) return;\n\n if (this._activeForm) {\n this._activeForm.removeEventListener(\n 'invalid',\n this.handleFormInvalid,\n true\n );\n }\n form.addEventListener('invalid', this.handleFormInvalid, true);\n this._activeForm = form;\n }\n private _activeForm: HTMLFormElement;\n private mo: MutationObserver;\n private allFields: Array<NanoFormEles | PlainFormEles> = [];\n private nanoFields: NanoFormEles[];\n private plainFields: PlainFormEles[];\n private nanoFieldSelector = `\n nano-input,\n nano-select,\n nano-file-upload,\n nano-date-input,\n nano-checkbox\n `;\n private hasSetStore = false;\n\n // annoyingly, whenever we attempt to `checkValidty()` it fires `invalid` events.\n // this is used to prevent infinite loops / multiple calls\n private internalValidate = false;\n\n // Public API\n\n /** When should the fields perform validation. Will override / sync all nested `nano-...` controls */\n @Prop({ mutable: true }) validateOn?: 'dirty' | 'submit' | 'submitThenDirty' =\n 'submitThenDirty';\n\n /** Sync up validateOn with all fields */\n @Watch('validateOn')\n validateOnChange() {\n this.nanoFields.forEach((field) => {\n if (field.tagName === 'NANO-CHECKBOX') {\n const cbg = field.closest('nano-checkbox-group');\n if (cbg) cbg.validateOn = this.validateOn;\n } else {\n (field as Exclude<NanoFormEles, HTMLNanoCheckboxElement>).validateOn =\n this.validateOn;\n }\n });\n }\n\n /** Tries to scroll to the first invalid field on submit */\n @Prop() scrollToInvalid = true;\n\n /** Returns true if any nested fields have been changed @readonly */\n @Prop({ reflect: true })\n get dirty() {\n return this._dirty;\n }\n @State() _dirty = false;\n\n /** Returns true if all the nested fields are currently valid @readonly */\n @Prop({ reflect: true })\n get valid() {\n return this._valid;\n }\n @State() _valid: boolean;\n\n /** The current form state as a stencil store. */\n @Prop() get store(): ObservableMap<ValidatorValueStore> {\n return this._store;\n }\n @State() _store: ObservableMap<ValidatorValueStore>;\n\n /** The current form payload as a reactive proxy. @readonly */\n @Prop()\n get payload() {\n return this._store.state;\n }\n\n /** Returns true if validation errors will be displayed to the user. @readonly */\n @Prop()\n get showValidation() {\n return (this.validateOn === 'dirty' && this.dirty) || this.submitted;\n }\n\n /** Get the current validation state of all form fields. @readonly\n * ```\n {\n fields: NanoFormEles[];\n valid: boolean;\n validityMessage: string;\n dirty: boolean;\n name: string | number;\n value: any;\n }[]\n ```\n */\n @Prop()\n get validationState(): ValidationState[] {\n // TODO - migrate nano-fields away from using proprietary methods in a bid to be closer to the spec\n\n // this is big and ugly.\n // why? Cos' it must unify checking validity state for both\n // `nano-...` and plain form fields.\n const validationState: ValidationState[] = [];\n\n this.allFields.forEach(async (field) => {\n const found = validationState.find((v) => v.name === this.getName(field));\n let pf: PlainFormEles;\n let nf: NanoFormEles;\n\n if (found) {\n if ((field as PlainFormEles).validationMessage) {\n // non-nano fields\n pf = field as PlainFormEles;\n found.validityMessage = pf.validationMessage.length\n ? pf.validationMessage\n : found.validityMessage;\n this.internalValidate = true;\n if (found.valid && !pf.checkValidity()) found.valid = false;\n this.internalValidate = false;\n } else if ((field as NanoFormEles).validityMessage) {\n // nano-... fields\n nf = field as NanoFormEles;\n found.validityMessage = nf.validityMessage.length\n ? nf.validityMessage\n : nf.validityMessage;\n if (found.valid && nf.invalid) found.valid = false;\n }\n if (!found.fields.find((f) => f === field)) found.fields.push(field);\n }\n\n let valid: boolean;\n let validityMessage: string;\n\n if ((field as PlainFormEles).checkValidity) {\n pf = field as PlainFormEles;\n this.internalValidate = true;\n valid = pf.checkValidity();\n this.internalValidate = false;\n validityMessage = pf.validationMessage;\n } else {\n nf = field as NanoFormEles;\n valid = !nf.invalid;\n validityMessage = nf.validityMessage;\n }\n\n validationState.push({\n fields: [field],\n name: this.getName(field),\n value: this._store.state[this.getName(field)],\n dirty: false,\n valid,\n validityMessage,\n });\n });\n\n return validationState;\n }\n\n /** By default, `nano-field-validator` will also track all native form field elements.\n * You can add extra web-component form fields to listen to\n * (as long as they match the standard form field spec) by using the `fieldSelector` prop.\n */\n @Prop() extraFieldSelector: string = 'input, select, textarea';\n\n /** A validation callback method.\n * @param field - The field name currently being evaluated\n * @param value - The value of the field currently being evaluated\n * @param fields - an array of all currently observered form fields and values\n * @returns field names mapped to an object of status message and validity e.g.\n * ```js\n * {field1: {msg: `This is invalid!`}, field2: {msg: `This is valid!`, valid: true}}\n * ```\n */\n @Prop() validation: (\n field: string,\n value: string,\n fields: ValidatorValueStore\n ) => { [errorMsg: string]: { fields?: string[]; valid?: boolean } };\n\n /**\n * Sets the state of the form using an object of key / value pairs.\n * @param state - the state to load in the store\n */\n @Method()\n async setStore(state: ValidatorValueStore) {\n this.hasSetStore = true;\n Object.entries(state).forEach(([key, val]) => {\n this.store.state[key] = val;\n });\n }\n\n /**\n * Sets custom validity for all / some form fields.\n * @param validity - a validity object of `{fieldName: errorString}` pairs. Set as an empty string to clear the error.\n */\n @Method()\n async setCustomValidity(validity: { [key: string]: string }) {\n return await Promise.all(\n Object.entries(validity).map(async ([key, err]) => {\n const field = this.allFields.find((f) => this.getName(f) === key);\n if (!!field) await this.setFieldError(field, err);\n })\n );\n }\n\n /**\n * Clear all custom validation.\n * @returns a promise, resolved when all errors are cleared\n */\n @Method()\n async resetValidity() {\n return await Promise.all(\n this.allFields.map(async (field) => await this.setFieldError(field, ''))\n );\n }\n\n /** Fired whenever the payload changes */\n @Event() nanoPayloadChange: EventEmitter<ValidatorValueStore>;\n\n /**\n * Fired on valid form submission.\n * Note: if you wish to prevent a form from submitting, instead\n * of using / preventing the native `submit` event, use this event\n * ```js\n * ele.addEventListener('nanoSubmit', (e) => {\n * e.preventDefault()\n * })\n * ```\n */\n @Event() nanoSubmit: EventEmitter;\n\n /** Fire on invalid form submission attempt */\n @Event() nanoInvalid: EventEmitter;\n\n // private methods\n\n @Watch('extraFieldSelector')\n attachSlotObserver() {\n if (!!this.mo) return;\n const mo = (this.mo = new MutationObserver((_entries) => {\n const form = this.host.querySelector('form');\n if (form && form !== this.activeForm) this.activeForm = form;\n this.setupFields();\n }));\n mo.observe(this.host, {\n childList: true,\n attributes: true,\n attributeFilter: ['name'],\n subtree: true,\n });\n }\n\n /**\n * During spec tests, mockelement props aren't set - only attributes.\n * This irons out that kink\n * @param field\n * @returns the fields name prop or attr\n */\n private getName(field: PlainFormEles | NanoFormEles) {\n return field.name || field.getAttribute('name');\n }\n\n /** Checks for new `nano-...` fields and adds them to our watch array and value store */\n private setupFields() {\n let nanoFields = Array.from(\n this.host.querySelectorAll<NanoFormEles>(this.nanoFieldSelector)\n );\n\n let plainFields = Array.from(\n this.host.querySelectorAll<PlainFormEles>(this.extraFieldSelector)\n ).filter((e) => !e.closest(this.nanoFieldSelector));\n\n nanoFields = nanoFields.filter(\n (f) => !!this.getName(f) && !!this.getName(f).length\n );\n plainFields = plainFields.filter(\n (f) => !!this.getName(f) && !!this.getName(f).length\n );\n\n // do we have any currently un-watched fields?\n if (\n ![...nanoFields, ...plainFields].filter(\n (f) => !this.allFields.includes(f)\n ).length\n )\n return;\n\n // setup the initial store state / refresh on new fields\n this.nanoFields = nanoFields;\n this.plainFields = plainFields;\n this.allFields = [...nanoFields, ...plainFields];\n\n this.storeToFields(this.allFields);\n\n this.validateOnChange();\n this.fieldsToStore(this.allFields, true);\n this.nanoPayloadChange.emit(this._store.state);\n }\n\n private storeToFields(fields: Array<NanoFormEles | PlainFormEles>) {\n fields.forEach((field) => {\n const fieldName = this.getName(field);\n if (\n !fieldName.length ||\n typeof this._store.state[fieldName] === 'undefined'\n )\n return;\n\n if (\n field.tagName === 'NANO-CHECKBOX' ||\n ['radio', 'checkbox'].includes((field as HTMLInputElement).type)\n ) {\n const cbs = this.allFields.filter(\n (f) => this.getName(field) === this.getName(f)\n ) as HTMLNanoCheckboxElement[];\n if (\n cbs[0].type === 'radio' ||\n cbs[0].type === 'segment' ||\n cbs[0].type === 'segment-pill'\n ) {\n // single radio type control\n cbs.forEach((cb) => {\n if (this._store.state[fieldName] === cb.value) cb.checked = true;\n else cb.checked = false;\n });\n } else if (Array.isArray(this._store.state[fieldName])) {\n // multiple checkbox like controls\n cbs.forEach((cb) => {\n if (this._store.state[fieldName].includes(cb.value))\n cb.checked = true;\n else cb.checked = false;\n });\n } else {\n // single checkbox like control\n cbs.forEach((cb) => {\n if (this._store.state[fieldName] === cb.value) cb.checked = true;\n else cb.checked = false;\n });\n }\n return;\n }\n\n if (field.tagName === 'NANO-FILE-UPLOAD') {\n const ff = field as HTMLNanoFileUploadElement;\n // this can only work if the field is empty rn... a one-time deal\n if (!ff.files?.length) ff.files = this._store.state[fieldName];\n return;\n }\n\n // default\n field.value = this._store.state[fieldName];\n });\n }\n\n /** Loops through all `nano-...` fields and extracts their values into our store */\n private fieldsToStore(\n fields: Array<NanoFormEles | PlainFormEles>,\n init = false\n ) {\n fields.forEach((field) => {\n const fieldName = this.getName(field);\n if (!fieldName.length) return;\n\n if (!!this._store.state[fieldName] && this.hasSetStore && init) {\n // a new field is being added\n // but we already have a value for it\n // via a store that has been actively set\n // so let's not overwrite it\n return;\n }\n\n if (\n field.tagName === 'NANO-CHECKBOX' ||\n ['radio', 'checkbox'].includes((field as HTMLInputElement).type)\n ) {\n const cb = field as HTMLNanoCheckboxElement;\n\n if (\n cb.type === 'radio' ||\n cb.type === 'segment' ||\n cb.type === 'segment-pill'\n ) {\n // radio type control - only one can be checked\n if (cb.checked) this._store.state[fieldName] = cb.value;\n } else if (\n this.allFields.filter(\n (f) =>\n this.getName(f) === fieldName &&\n (f.tagName === 'NANO-CHECKBOX' ||\n (f as HTMLInputElement).type === 'checkbox')\n ).length > 1\n ) {\n // multiple checkbox type control\n const currentArr = Array.isArray(this._store.state[fieldName])\n ? this._store.state[fieldName]\n : [];\n if (cb.checked) {\n // checked\n if (!this._store.state[fieldName].includes(cb.value)) {\n this._store.state[fieldName] = [...currentArr, cb.value];\n }\n } else {\n // unchecked\n this._store.state[fieldName] = currentArr.filter(\n (v) => v !== cb.value\n );\n }\n } else {\n // single checkbox - on or off\n if (cb.checked) this._store.state[fieldName] = cb.value;\n else this._store.state[fieldName] = '';\n }\n return;\n }\n\n if (field.tagName === 'NANO-FILE-UPLOAD') {\n const ff = field as HTMLNanoFileUploadElement;\n if (!this.fileStateEqual(fieldName, ff))\n this._store.state[fieldName] = ff.files;\n\n return;\n }\n\n // default\n this._store.state[fieldName] = field.value;\n });\n }\n\n /**\n * Tries to ascertain whether the current model\n * value is the same as the `nano-file-upload` value\n * @param fieldName - the key to access from the data store\n * @param field - the nano-file-upload field to assess against\n * @returns true for equal, false for not equal\n */\n private fileStateEqual(\n fieldName: string | number,\n field: HTMLNanoFileUploadElement\n ) {\n return (\n JSON.stringify(this._store.state[fieldName]) ===\n JSON.stringify(field.files) ||\n this._store.state[fieldName] == field.files\n );\n }\n\n /**\n * Checks for user defined validations\n * @param key - current key of the data model to validate\n * @param newVal - the newly set, incoming value to validate\n */\n private async validate(key: string | number, newVal: any) {\n if (!this.validation) return;\n\n const res = this.validation(key as string, newVal, this._store.state);\n\n // no nothing - return\n if (!res) return;\n\n // stencil public methods are async\n // so we must coerce our validation\n // collection loop into a promise\n await Promise.all(\n Object.entries(res).map(async ([msg, validityState]) => {\n return validityState.fields.map(async (fieldName) => {\n // switch on/off validation messages\n const field = this.allFields.find(\n (f) => this.getName(f) === fieldName\n );\n let validityTarget:\n | PlainFormEles\n | NanoFormEles\n | HTMLNanoCheckboxGroupElement = field;\n\n if (field.tagName === 'NANO-CHECKBOX') {\n // if we have a checkbox-group, set the validation message there\n const cbg = field.closest('nano-checkbox-group');\n validityTarget = cbg || field;\n }\n\n if (\n ((validityTarget as NanoFormEles).validityMessage ||\n (validityTarget as PlainFormEles).validationMessage) === msg &&\n validityState.valid\n ) {\n // status is now valid - clear the error\n await this.setFieldError(validityTarget, '');\n } else if (!validityState.valid) {\n // status is invalid. Set the error\n await this.setFieldError(validityTarget, msg);\n }\n });\n })\n );\n }\n\n /** Loops through all store entries and checks custom validation */\n private async validateAllFields() {\n // This forces our loop to `await` and finish sequentially ... silly async stencil methods\n await Object.entries(this._store.state).reduce(\n async (memo, [key, value]) => {\n await memo;\n await this.validate(key, value);\n },\n undefined as any\n );\n }\n\n /**\n * Utility to smooth out setting error messages\n * (it's a different method on `nano-checkbox` 'cos they don't show errors themselves)\n * @param field\n * @param msg\n */\n private async setFieldError(\n field: NanoFormEles | HTMLNanoCheckboxGroupElement | PlainFormEles,\n msg: string\n ) {\n if (field['showError']) {\n await (field as Exclude<NanoFormEles, HTMLNanoCheckboxElement>).showError(\n msg\n );\n } else if (field['setError'])\n await (field as HTMLNanoCheckboxElement).setError(msg);\n else (field as PlainFormEles).setCustomValidity(msg);\n }\n\n private scrollToFirstInvalid() {\n if (!this.scrollToInvalid) return;\n\n setTimeout(() => {\n const invalidField = this.validationState.find((f) => !f.valid);\n if (!invalidField) return;\n invalidField.fields[0].scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n });\n }, 200);\n }\n\n private submitForm() {\n const nanoSubmit = this.nanoSubmit.emit();\n if (nanoSubmit.defaultPrevented) return;\n this.activeForm.submit();\n }\n\n // Event handlers\n\n /**\n * Fired whenever store values change and potentially checks validity\n * @param key - the key of the store that's just changed\n * @param newVal - the incoming, new value\n */\n private handleStoreChange = async (key: string | number, newVal: any) => {\n const found = this.allFields.find((field) => this.getName(field) === key);\n\n // field update has come programmatically (not from ui),\n // so let's update the underlying ui field\n if (\n found &&\n (found.tagName === 'NANO-CHECKBOX' ||\n ['radio', 'checkbox'].includes((found as HTMLInputElement).type))\n ) {\n // it's a cb - always change\n this.storeToFields([found]);\n } else if (\n found &&\n ((found.tagName === 'NANO-FILE-UPLOAD' &&\n !this.fileStateEqual(key, found as HTMLNanoFileUploadElement)) ||\n (found.tagName !== 'NANO-FILE-UPLOAD' && found.value !== newVal))\n ) {\n // not a cb. Only change if value is different\n this.storeToFields([found]);\n }\n\n if (this.validateOn === 'dirty' && this.dirty) {\n this.internalValidate = true;\n await this.validateAllFields();\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n }\n this.nanoPayloadChange.emit(this._store.state);\n };\n\n /**\n * Handles nano field value changes and passes to store\n * @param ev - the incoming change event\n */\n private handleFieldChange = (ev: NanoFormEvent) => {\n if (!this.nanoFields.includes(ev.target)) return;\n this._dirty = true;\n this.fieldsToStore([ev.target]);\n };\n\n /**\n * Handles non-nano field value changes and passes to store\n * @param ev - the incoming change event\n */\n private handlePlainFieldChange = (ev: PlainFormEvent) => {\n if (!this.plainFields.includes(ev.target)) return;\n this.fieldsToStore([ev.target]);\n };\n\n /**\n * Handles default field validation events\n * @param ev - the invalid event\n */\n private handleFormInvalid = async (ev: Event & { target: PlainFormEles }) => {\n // if it's a non-nano field, we'll let default html5 validation do it's thing\n if (!this.plainFields.includes(ev.target)) {\n ev.preventDefault();\n }\n\n this._valid = false;\n\n // whenever `checkValidity` is called, this handler is in-turn called.\n // this flag is used to stop infinite loops\n if (this.internalValidate) return;\n\n // a submit must have happened to if 'submitThenDirty' turn on 'dirty' checking now\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.submitted = true;\n\n await this.validateAllFields();\n this.internalValidate = true;\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n\n // kinda insane...but if we're only validating on submit, then if the form is currently\n // in an invalid state, when submitting, it will fire an invalid event and not\n // submit the form. So let's test to make sure it is really invalid, and submit if not\n if (this.validateOn === 'submit') {\n if (this._valid) {\n this.submitForm();\n return;\n }\n }\n\n this.scrollToFirstInvalid();\n this.nanoInvalid.emit();\n };\n\n /**\n * stops default form submission, checks if valid, then submits manually\n * @param e - a submit event from the nested form element\n */\n private handleSubmit = async (e: Event) => {\n e.preventDefault();\n if (this.validateOn === 'submitThenDirty') this.validateOn = 'dirty';\n this.submitted = true;\n await this.validateAllFields();\n\n this.internalValidate = true;\n this._valid = this.activeForm.checkValidity();\n this.internalValidate = false;\n\n if (!this._valid) {\n this.scrollToFirstInvalid();\n return;\n }\n this.submitForm();\n };\n\n connectedCallback(): void {\n this.userForm = this.host.querySelector('form');\n this._store = createStore<ValidatorValueStore>({});\n }\n\n componentDidLoad() {\n requestAnimationFrame(() => {\n this.setupFields();\n this.attachSlotObserver();\n\n this.host.addEventListener('nanoChange', this.handleFieldChange);\n this.host.addEventListener('input', this.handlePlainFieldChange);\n this.host.addEventListener('change', this.handlePlainFieldChange);\n this.host.addEventListener('submit', this.handleSubmit);\n this._store.on('set', this.handleStoreChange);\n });\n }\n\n disconnectedCallback() {\n if (this.mo) this.mo.disconnect();\n\n this.host.removeEventListener('nanoChange', this.handleFieldChange);\n this.host.removeEventListener('input', this.handlePlainFieldChange);\n this.host.removeEventListener('change', this.handlePlainFieldChange);\n this.host.removeEventListener('submit', this.handleSubmit);\n this._store.reset();\n\n if (this.activeForm)\n this.activeForm.removeEventListener(\n 'invalid',\n this.handleFormInvalid,\n true\n );\n }\n\n render() {\n return (\n <Host>\n {this.userForm && <slot />}\n {!this.userForm && (\n <form ref={(f) => (this.activeForm = f)}>\n <slot />\n </form>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +0,0 @@
1
- /*!
2
- * Web Components for Nanopore digital Web Apps
3
- */
4
- import{r as t,c as i,w as s,h as e,a as h,g as n}from"./p-1fe12320.js";import{C as l}from"./p-e3860f00.js";import{W as r}from"./p-63834d50.js";import"./p-9746b0a5.js";import"./p-69a3e911.js";const o=":host{box-sizing:border-box}*,*::before,*::after{box-sizing:border-box}[hidden]{display:none !important}:host{display:none}:host ::slotted([slot=filter-template]){display:none !important}:host(.show-filter){display:block}";const a=class{constructor(s){t(this,s);this.nanoFilterChanged=i(this,"nanoFilterChanged",7);this.nanoTplUpdated=i(this,"nanoTplUpdated",7);this.filterId=null;this.tplWillRnder=new Promise((t=>{this.tplDidRnder=t}));this.changeEvent=undefined;this.internalValue=[undefined];this.showFilter=false;this.indexResults=null;this.filterChanged=null;this.facets=undefined;this.tplRenderFn=undefined;this.globalStoreMethod=undefined;this.filterName=null;this.value="";this.operator="or";this.storeId=undefined;this.storeMethod="session"}valueSet(){const t=this.value;let i;if(typeof t==="string")i=t.length?t.split("|"):[];else i=this.value;if(this.didValueChange(i)){const t=this.setFieldValues(i);if(t&&t.length)this.internalValue=i;else{this.tplWillRnder.then((t=>{this.setFieldValues(i);this.internalValue=i}))}}}valueChanged(){this.value=this.internalValue;this.nanoFilterChanged.emit({filterId:this.filterId,facetName:this.filterName,value:this.internalValue,operator:this.operator})}appliedFilterChanged(){if(this.filterName&&this.filterChanged&&(this.filterChanged!==this.filterId||this.operator==="and")){this.updateContent()}}tplUpdate(){this.updateContent()}handleFilterChange(){if(this.indexResults&&this.indexResults.appliedFilters){const t=this.indexResults.appliedFilters.find((t=>t.name===this.filterName));if(!t)return;this.tplWillRnder.then((i=>{const s=this.setFieldValues(t.values);if(s&&s.length)this.value=s}))}this.updateContent()}handleChangeEvent(){const t=this.getFieldValues();if(this.didValueChange(t)){this.internalValue=t;return true}return false}updateContent(){const t=this.outputSlot||this.outputEle;if(!this.el)return;if(!this.templateStr)this.showFilter=true;else if(!this.filterName||!t||this.templateStr&&(!this.indexResults||!this.indexResults.origFilters[this.filterName])){this.showFilter=false}if(!t)return;if(!this.indexResults){if(this.templateStr){s((()=>{t.innerHTML=this.tplRenderFn(this.templateStr,{orig:{},dyn:{},selected:this.internalValue&&this.internalValue.length?this.internalValue:this.value});if(!this.value||!this.value.length)this.handleChangeEvent()}))}else if(!this.value||!this.value.length)this.handleChangeEvent();return}s((()=>{t.innerHTML=this.tplRenderFn(this.templateStr,{orig:{...this.indexResults.origFilters[this.filterName]},dyn:{...this.indexResults.dynFilters[this.filterName]},selected:this.internalValue&&this.internalValue.length?this.internalValue:this.value});this.tplDidRnder();this.setFieldValues();if(!this.showFilter)this.showFilter=true;this.nanoTplUpdated.emit(this.el)}))}getFieldValues(){const t=[];const i=this.outputSlot.querySelectorAll('input[type="checkbox"], input[type="radio"], select');for(let s=0;s<i.length;s++){const e=i[s];if(e.type==="select-multiple"){const i=e;for(let s=0;s<i.options.length;s++){if(!i.options[s].selected||!i.options[s].value.length)continue;t.push(i.options[s].value)}}else if(e.type!=="checkbox"&&e.type!=="radio"||e.checked&&e.value.length){t.push(e.value)}}return t}setFieldValues(t){t=t||this.internalValue;if(!t)return;const i=[];const s=this.outputSlot.querySelectorAll('input[type="checkbox"], input[type="radio"], select, nano-select, nano-checkbox');for(let e=0;e<s.length;e++){const h=s[e];if(h.disabled||h.type==="file"||h.type==="reset"||h.type==="submit"||h.type==="button")continue;if(h.type==="select-multiple"||h.type==="select-one"){const s=h;for(let e=0;e<s.options.length;e++){if(!t.includes(s.options[e].value))s.options[e].selected=false;else{i.push(s.value);s.options[e].selected=true;if(h.type==="select-one")s.value=s.options[e].value}}}else if(["checkbox","radio","tag","segment","segment-pill"].includes(h.type)){if(t.includes(h.value)){i.push(h.value);h.checked=true}else if(!t.length&&!h.value.length){h.checked=true}else h.checked=false}}return i}didValueChange(t){if(!!this.internalValue&&!t)return true;if(!this.internalValue&&!t)return false;if(this.internalValue&&t.length!==this.internalValue.length)return true;let i=false;for(let s=0;s<t.length;s++){if(!i&&(!this.internalValue||!this.internalValue.includes(t[s])))i=true}return i}connectedCallback(){this.templateSlot=this.el.querySelector('[slot="filter-template"]');this.outputSlot=this.el.querySelector('[slot="output"]');this.filterId=this.filterName+"_"+f++;if(!!this.templateSlot){this.templateStr=this.templateSlot.innerHTML;this.templateStr=this.templateStr.replace(/=&gt;/gm,"=>")}}componentWillLoad(){if(this.storeId)l.init(this,["value"],this.storeMethod||this.globalStoreMethod,this.storeId)}componentDidLoad(){this.updateContent();if(this.templateStr&&this.filterName&&this.indexResults&&this.indexResults.origFilters[this.filterName])this.showFilter=true}render(){return e(h,{class:{"show-filter":this.showFilter}},e("div",{ref:t=>this.outputEle=t},e("slot",{name:"output"})))}get el(){return n(this)}static get watchers(){return{value:["valueSet"],internalValue:["valueChanged"],facets:["appliedFilterChanged"],tplRenderFn:["tplUpdate"],indexResults:["handleFilterChange"]}}};r(a,["globalStoreMethod","indexResults","filterChanged","facets","tplRenderFn","changeEvent"]);let f=0;a.style=o;export{a as nano_algolia_filter};
5
- //# sourceMappingURL=p-b25e79b8.entry.js.map