@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,1077 +0,0 @@
1
- /*!
2
- * Web Components for Nanopore digital Web Apps
3
- */
4
- 'use strict';
5
-
6
- (function () {
7
-
8
- var UNSUPPORTED_ENVIRONMENT = typeof window === "undefined";
9
-
10
- /**
11
- * Is true if the browser natively supports the 'scroll-behavior' CSS-property.
12
- * @type {boolean}
13
- */
14
- var SUPPORTS_SCROLL_BEHAVIOR = UNSUPPORTED_ENVIRONMENT ? false : "scrollBehavior" in document.documentElement.style;
15
-
16
-
17
-
18
- /*! *****************************************************************************
19
- Copyright (c) Microsoft Corporation. All rights reserved.
20
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
21
- this file except in compliance with the License. You may obtain a copy of the
22
- License at http://www.apache.org/licenses/LICENSE-2.0
23
-
24
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
25
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
26
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
27
- MERCHANTABLITY OR NON-INFRINGEMENT.
28
-
29
- See the Apache Version 2.0 License for specific language governing permissions
30
- and limitations under the License.
31
- ***************************************************************************** */
32
-
33
- var __assign = function() {
34
- __assign = Object.assign || function __assign(t) {
35
- for (var s, i = 1, n = arguments.length; i < n; i++) {
36
- s = arguments[i];
37
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
38
- }
39
- return t;
40
- };
41
- return __assign.apply(this, arguments);
42
- };
43
-
44
- function __read(o, n) {
45
- var m = typeof Symbol === "function" && o[Symbol.iterator];
46
- if (!m) return o;
47
- var i = m.call(o), r, ar = [], e;
48
- try {
49
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
50
- }
51
- catch (error) { e = { error: error }; }
52
- finally {
53
- try {
54
- if (r && !r.done && (m = i["return"])) m.call(i);
55
- }
56
- finally { if (e) throw e.error; }
57
- }
58
- return ar;
59
- }
60
-
61
- function getScrollingElement() {
62
- if (document.scrollingElement != null) {
63
- return document.scrollingElement;
64
- }
65
- else {
66
- return document.documentElement;
67
- }
68
- }
69
-
70
- var STYLE_ATTRIBUTE_PROPERTY_NAME = "scroll-behavior";
71
- var STYLE_ATTRIBUTE_PROPERTY_REGEXP = new RegExp(STYLE_ATTRIBUTE_PROPERTY_NAME + ":\\s*([^;]*)");
72
- /**
73
- * Given an Element, this function appends the given ScrollBehavior CSS property value to the elements' 'style' attribute.
74
- * If it doesnt already have one, it will add it.
75
- * @param {Element} element
76
- * @param {ScrollBehavior} behavior
77
- */
78
- function appendScrollBehaviorToStyleAttribute(element, behavior) {
79
- var addition = STYLE_ATTRIBUTE_PROPERTY_NAME + ":" + behavior;
80
- var attributeValue = element.getAttribute("style");
81
- if (attributeValue == null || attributeValue === "") {
82
- element.setAttribute("style", addition);
83
- return;
84
- }
85
- // The style attribute may already include a 'scroll-behavior:<something>' in which case that should be replaced
86
- var existingValueForProperty = parseScrollBehaviorFromStyleAttribute(element);
87
- if (existingValueForProperty != null) {
88
- var replacementProperty = STYLE_ATTRIBUTE_PROPERTY_NAME + ":" + existingValueForProperty;
89
- // Replace the variant that ends with a semi-colon which it may
90
- attributeValue = attributeValue.replace(replacementProperty + ";", "");
91
- // Replace the variant that *doesn't* end with a semi-colon
92
- attributeValue = attributeValue.replace(replacementProperty, "");
93
- }
94
- // Now, append the behavior to the string.
95
- element.setAttribute("style", attributeValue.endsWith(";") ? "" + attributeValue + addition : ";" + attributeValue + addition);
96
- }
97
- /**
98
- * Given an Element, this function attempts to parse its 'style' attribute (if it has one)' to extract
99
- * a value for the 'scroll-behavior' CSS property (if it is given within that style attribute)
100
- * @param {Element} element
101
- * @returns {ScrollBehavior?}
102
- */
103
- function parseScrollBehaviorFromStyleAttribute(element) {
104
- var styleAttributeValue = element.getAttribute("style");
105
- if (styleAttributeValue != null && styleAttributeValue.includes(STYLE_ATTRIBUTE_PROPERTY_NAME)) {
106
- var match = styleAttributeValue.match(STYLE_ATTRIBUTE_PROPERTY_REGEXP);
107
- if (match != null) {
108
- var _a = __read(match, 2), behavior = _a[1];
109
- if (behavior != null && behavior !== "") {
110
- return behavior;
111
- }
112
- }
113
- }
114
- return undefined;
115
- }
116
-
117
- var styleDeclarationPropertyName = "scrollBehavior";
118
- /**
119
- * Determines the scroll behavior to use, depending on the given ScrollOptions and the position of the Element
120
- * within the DOM
121
- * @param {Element|HTMLElement|Window} inputTarget
122
- * @param {ScrollOptions} [options]
123
- * @returns {ScrollBehavior}
124
- */
125
- function getScrollBehavior(inputTarget, options) {
126
- // If the given 'behavior' is 'smooth', apply smooth scrolling no matter what
127
- if (options != null && options.behavior === "smooth")
128
- return "smooth";
129
- var target = "style" in inputTarget ? inputTarget : getScrollingElement();
130
- var value;
131
- if ("style" in target) {
132
- // Check if scroll-behavior is set as a property on the CSSStyleDeclaration
133
- var scrollBehaviorPropertyValue = target.style[styleDeclarationPropertyName];
134
- // Return it if it is given and has a proper value
135
- if (scrollBehaviorPropertyValue != null && scrollBehaviorPropertyValue !== "") {
136
- value = scrollBehaviorPropertyValue;
137
- }
138
- }
139
- if (value == null) {
140
- var attributeValue = target.getAttribute("scroll-behavior");
141
- if (attributeValue != null && attributeValue !== "") {
142
- value = attributeValue;
143
- }
144
- }
145
- if (value == null) {
146
- // Otherwise, check if it is set as an inline style
147
- value = parseScrollBehaviorFromStyleAttribute(target);
148
- }
149
- if (value == null) {
150
- // Take the computed style for the element and see if it contains a specific 'scroll-behavior' value
151
- var computedStyle = getComputedStyle(target);
152
- var computedStyleValue = computedStyle.getPropertyValue("scrollBehavior");
153
- if (computedStyleValue != null && computedStyleValue !== "") {
154
- value = computedStyleValue;
155
- }
156
- }
157
- // In all other cases, use the value from the CSSOM
158
- return value;
159
- }
160
-
161
-
162
-
163
-
164
-
165
- var HALF = 0.5;
166
- /**
167
- * The easing function to use when applying the smooth scrolling
168
- * @param {number} k
169
- * @returns {number}
170
- */
171
- function ease(k) {
172
- return HALF * (1 - Math.cos(Math.PI * k));
173
- }
174
-
175
- var NOOP = {
176
- reset: function () { }
177
- };
178
- var map = typeof WeakMap === "undefined" ? undefined : new WeakMap();
179
- function disableScrollSnap(scroller) {
180
- // If scroll-behavior is natively supported, or if there is no native WeakMap support, there's no need for this fix
181
- if (SUPPORTS_SCROLL_BEHAVIOR || map == null) {
182
- return NOOP;
183
- }
184
- var scrollingElement = getScrollingElement();
185
- var cachedScrollSnapValue;
186
- var cachedScrollBehaviorStyleAttributeValue;
187
- var secondaryScroller;
188
- var secondaryScrollerCachedScrollSnapValue;
189
- var secondaryScrollerCachedScrollBehaviorStyleAttributeValue;
190
- var existingResult = map.get(scroller);
191
- if (existingResult != null) {
192
- cachedScrollSnapValue = existingResult.cachedScrollSnapValue;
193
- cachedScrollBehaviorStyleAttributeValue = existingResult.cachedScrollBehaviorStyleAttributeValue;
194
- secondaryScroller = existingResult.secondaryScroller;
195
- secondaryScrollerCachedScrollSnapValue = existingResult.secondaryScrollerCachedScrollSnapValue;
196
- secondaryScrollerCachedScrollBehaviorStyleAttributeValue = existingResult.secondaryScrollerCachedScrollBehaviorStyleAttributeValue;
197
- existingResult.release();
198
- }
199
- else {
200
- cachedScrollSnapValue = scroller.style.scrollSnapType === "" ? null : scroller.style.scrollSnapType;
201
- cachedScrollBehaviorStyleAttributeValue = parseScrollBehaviorFromStyleAttribute(scroller);
202
- secondaryScroller = scroller === scrollingElement && scrollingElement !== document.body ? document.body : undefined;
203
- secondaryScrollerCachedScrollSnapValue =
204
- secondaryScroller == null ? undefined : secondaryScroller.style.scrollSnapType === "" ? null : secondaryScroller.style.scrollSnapType;
205
- secondaryScrollerCachedScrollBehaviorStyleAttributeValue =
206
- secondaryScroller == null ? undefined : parseScrollBehaviorFromStyleAttribute(secondaryScroller);
207
- var cachedComputedScrollSnapValue = getComputedStyle(scroller).getPropertyValue("scroll-snap-type");
208
- var secondaryScrollerCachedComputedScrollSnapValue = secondaryScroller == null ? undefined : getComputedStyle(secondaryScroller).getPropertyValue("scroll-snap-type");
209
- // If it just so happens that there actually isn't any scroll snapping going on, there's no point in performing any additional work here.
210
- if (cachedComputedScrollSnapValue === "none" && secondaryScrollerCachedComputedScrollSnapValue === "none") {
211
- return NOOP;
212
- }
213
- }
214
- scroller.style.scrollSnapType = "none";
215
- if (secondaryScroller !== undefined) {
216
- secondaryScroller.style.scrollSnapType = "none";
217
- }
218
- if (cachedScrollBehaviorStyleAttributeValue !== undefined) {
219
- appendScrollBehaviorToStyleAttribute(scroller, cachedScrollBehaviorStyleAttributeValue);
220
- }
221
- if (secondaryScroller !== undefined && secondaryScrollerCachedScrollBehaviorStyleAttributeValue !== undefined) {
222
- appendScrollBehaviorToStyleAttribute(secondaryScroller, secondaryScrollerCachedScrollBehaviorStyleAttributeValue);
223
- }
224
- var hasReleased = false;
225
- var eventTarget = scroller === scrollingElement ? window : scroller;
226
- function release() {
227
- eventTarget.removeEventListener("scroll", resetHandler);
228
- if (map != null) {
229
- map["delete"](scroller);
230
- }
231
- hasReleased = true;
232
- }
233
- function resetHandler() {
234
- scroller.style.scrollSnapType = cachedScrollSnapValue;
235
- if (secondaryScroller != null && secondaryScrollerCachedScrollSnapValue !== undefined) {
236
- secondaryScroller.style.scrollSnapType = secondaryScrollerCachedScrollSnapValue;
237
- }
238
- if (cachedScrollBehaviorStyleAttributeValue !== undefined) {
239
- appendScrollBehaviorToStyleAttribute(scroller, cachedScrollBehaviorStyleAttributeValue);
240
- }
241
- if (secondaryScroller !== undefined && secondaryScrollerCachedScrollBehaviorStyleAttributeValue !== undefined) {
242
- appendScrollBehaviorToStyleAttribute(secondaryScroller, secondaryScrollerCachedScrollBehaviorStyleAttributeValue);
243
- }
244
- release();
245
- }
246
- function reset() {
247
- setTimeout(function () {
248
- if (hasReleased)
249
- return;
250
- eventTarget.addEventListener("scroll", resetHandler);
251
- });
252
- }
253
- map.set(scroller, {
254
- release: release,
255
- cachedScrollSnapValue: cachedScrollSnapValue,
256
- cachedScrollBehaviorStyleAttributeValue: cachedScrollBehaviorStyleAttributeValue,
257
- secondaryScroller: secondaryScroller,
258
- secondaryScrollerCachedScrollSnapValue: secondaryScrollerCachedScrollSnapValue,
259
- secondaryScrollerCachedScrollBehaviorStyleAttributeValue: secondaryScrollerCachedScrollBehaviorStyleAttributeValue
260
- });
261
- return {
262
- reset: reset
263
- };
264
- }
265
-
266
- /**
267
- * The duration of a smooth scroll
268
- * @type {number}
269
- */
270
- var SCROLL_TIME = 15000;
271
- /**
272
- * Performs a smooth repositioning of the scroll
273
- * @param {ISmoothScrollOptions} options
274
- */
275
- function smoothScroll(options) {
276
- var startTime = options.startTime, startX = options.startX, startY = options.startY, endX = options.endX, endY = options.endY, method = options.method, scroller = options.scroller;
277
- var timeLapsed = 0;
278
- var distanceX = endX - startX;
279
- var distanceY = endY - startY;
280
- var speed = Math.max(Math.abs((distanceX / 1000) * SCROLL_TIME), Math.abs((distanceY / 1000) * SCROLL_TIME));
281
- // Temporarily disables any scroll snapping that may be active since it fights for control over the scroller with this polyfill
282
- var scrollSnapFix = disableScrollSnap(scroller);
283
- requestAnimationFrame(function animate(timestamp) {
284
- timeLapsed += timestamp - startTime;
285
- var percentage = Math.max(0, Math.min(1, speed === 0 ? 0 : timeLapsed / speed));
286
- var positionX = Math.floor(startX + distanceX * ease(percentage));
287
- var positionY = Math.floor(startY + distanceY * ease(percentage));
288
- method(positionX, positionY);
289
- if (positionX !== endX || positionY !== endY) {
290
- requestAnimationFrame(animate);
291
- }
292
- else {
293
- if (scrollSnapFix != null) {
294
- scrollSnapFix.reset();
295
- scrollSnapFix = undefined;
296
- }
297
- }
298
- });
299
- }
300
-
301
- /**
302
- * Returns a High Resolution timestamp if possible, otherwise fallbacks to Date.now()
303
- * @returns {number}
304
- */
305
- function now() {
306
- if ("performance" in window)
307
- return performance.now();
308
- return Date.now();
309
- }
310
-
311
-
312
-
313
- var ELEMENT_ORIGINAL_SCROLL = UNSUPPORTED_ENVIRONMENT ? undefined : Element.prototype.scroll;
314
-
315
- var WINDOW_ORIGINAL_SCROLL = UNSUPPORTED_ENVIRONMENT ? undefined : window.scroll;
316
-
317
- var ELEMENT_ORIGINAL_SCROLL_BY = UNSUPPORTED_ENVIRONMENT ? undefined : Element.prototype.scrollBy;
318
-
319
- var WINDOW_ORIGINAL_SCROLL_BY = UNSUPPORTED_ENVIRONMENT ? undefined : window.scrollBy;
320
-
321
- var ELEMENT_ORIGINAL_SCROLL_TO = UNSUPPORTED_ENVIRONMENT ? undefined : Element.prototype.scrollTo;
322
-
323
- var WINDOW_ORIGINAL_SCROLL_TO = UNSUPPORTED_ENVIRONMENT ? undefined : window.scrollTo;
324
-
325
- /**
326
- * A fallback if Element.prototype.scroll is not defined
327
- * @param {number} x
328
- * @param {number} y
329
- */
330
- function elementPrototypeScrollFallback(x, y) {
331
- this.__adjustingScrollPosition = true;
332
- this.scrollLeft = x;
333
- this.scrollTop = y;
334
- delete this.__adjustingScrollPosition;
335
- }
336
- /**
337
- * A fallback if Element.prototype.scrollTo is not defined
338
- * @param {number} x
339
- * @param {number} y
340
- */
341
- function elementPrototypeScrollToFallback(x, y) {
342
- return elementPrototypeScrollFallback.call(this, x, y);
343
- }
344
- /**
345
- * A fallback if Element.prototype.scrollBy is not defined
346
- * @param {number} x
347
- * @param {number} y
348
- */
349
- function elementPrototypeScrollByFallback(x, y) {
350
- this.__adjustingScrollPosition = true;
351
- this.scrollLeft += x;
352
- this.scrollTop += y;
353
- delete this.__adjustingScrollPosition;
354
- }
355
- /**
356
- * Gets the original non-patched prototype method for the given kind
357
- * @param {ScrollMethodName} kind
358
- * @param {Element|Window} element
359
- * @return {Function}
360
- */
361
- function getOriginalScrollMethodForKind(kind, element) {
362
- switch (kind) {
363
- case "scroll":
364
- if (element instanceof Element) {
365
- if (ELEMENT_ORIGINAL_SCROLL != null) {
366
- return ELEMENT_ORIGINAL_SCROLL;
367
- }
368
- else {
369
- return elementPrototypeScrollFallback;
370
- }
371
- }
372
- else {
373
- return WINDOW_ORIGINAL_SCROLL;
374
- }
375
- case "scrollBy":
376
- if (element instanceof Element) {
377
- if (ELEMENT_ORIGINAL_SCROLL_BY != null) {
378
- return ELEMENT_ORIGINAL_SCROLL_BY;
379
- }
380
- else {
381
- return elementPrototypeScrollByFallback;
382
- }
383
- }
384
- else {
385
- return WINDOW_ORIGINAL_SCROLL_BY;
386
- }
387
- case "scrollTo":
388
- if (element instanceof Element) {
389
- if (ELEMENT_ORIGINAL_SCROLL_TO != null) {
390
- return ELEMENT_ORIGINAL_SCROLL_TO;
391
- }
392
- else {
393
- return elementPrototypeScrollToFallback;
394
- }
395
- }
396
- else {
397
- return WINDOW_ORIGINAL_SCROLL_TO;
398
- }
399
- }
400
- }
401
-
402
- /**
403
- * Gets the Smooth Scroll Options to use for the step function
404
- * @param {Element|Window} element
405
- * @param {number} x
406
- * @param {number} y
407
- * @param {ScrollMethodName} kind
408
- * @returns {ISmoothScrollOptions}
409
- */
410
- function getSmoothScrollOptions(element, x, y, kind) {
411
- var startTime = now();
412
- if (!(element instanceof Element)) {
413
- // Use window as the scroll container
414
- var scrollX_1 = window.scrollX, pageXOffset_1 = window.pageXOffset, scrollY_1 = window.scrollY, pageYOffset_1 = window.pageYOffset;
415
- var startX = scrollX_1 == null || scrollX_1 === 0 ? pageXOffset_1 : scrollX_1;
416
- var startY = scrollY_1 == null || scrollY_1 === 0 ? pageYOffset_1 : scrollY_1;
417
- return {
418
- startTime: startTime,
419
- startX: startX,
420
- startY: startY,
421
- endX: Math.floor(kind === "scrollBy" ? startX + x : x),
422
- endY: Math.floor(kind === "scrollBy" ? startY + y : y),
423
- method: getOriginalScrollMethodForKind("scrollTo", window).bind(window),
424
- scroller: getScrollingElement()
425
- };
426
- }
427
- else {
428
- var scrollLeft = element.scrollLeft, scrollTop = element.scrollTop;
429
- var startX = scrollLeft;
430
- var startY = scrollTop;
431
- return {
432
- startTime: startTime,
433
- startX: startX,
434
- startY: startY,
435
- endX: Math.floor(kind === "scrollBy" ? startX + x : x),
436
- endY: Math.floor(kind === "scrollBy" ? startY + y : y),
437
- method: getOriginalScrollMethodForKind("scrollTo", element).bind(element),
438
- scroller: element
439
- };
440
- }
441
- }
442
-
443
- /**
444
- * Ensures that the given value is numeric
445
- * @param {number} value
446
- * @return {number}
447
- */
448
- function ensureNumeric(value) {
449
- if (value == null)
450
- return 0;
451
- else if (typeof value === "number") {
452
- return value;
453
- }
454
- else if (typeof value === "string") {
455
- return parseFloat(value);
456
- }
457
- else {
458
- return 0;
459
- }
460
- }
461
-
462
- /**
463
- * Returns true if the given value is some ScrollToOptions
464
- * @param {number | ScrollToOptions} value
465
- * @return {value is ScrollToOptions}
466
- */
467
- function isScrollToOptions(value) {
468
- return value != null && typeof value === "object";
469
- }
470
-
471
- /**
472
- * Handles a scroll method
473
- * @param {Element|Window} element
474
- * @param {ScrollMethodName} kind
475
- * @param {number | ScrollToOptions} optionsOrX
476
- * @param {number} y
477
- */
478
- function handleScrollMethod(element, kind, optionsOrX, y) {
479
- onScrollWithOptions(getScrollToOptionsWithValidation(optionsOrX, y), element, kind);
480
- }
481
- /**
482
- * Invoked when a 'ScrollToOptions' dict is provided to 'scroll()' as the first argument
483
- * @param {ScrollToOptions} options
484
- * @param {Element|Window} element
485
- * @param {ScrollMethodName} kind
486
- */
487
- function onScrollWithOptions(options, element, kind) {
488
- var behavior = getScrollBehavior(element, options);
489
- // If the behavior is 'auto' apply instantaneous scrolling
490
- if (behavior == null || behavior === "auto") {
491
- getOriginalScrollMethodForKind(kind, element).call(element, options.left, options.top);
492
- }
493
- else {
494
- smoothScroll(getSmoothScrollOptions(element, options.left, options.top, kind));
495
- }
496
- }
497
- /**
498
- * Normalizes the given scroll coordinates
499
- * @param {number?} x
500
- * @param {number?} y
501
- * @return {Required<Pick<ScrollToOptions, "top" | "left">>}
502
- */
503
- function normalizeScrollCoordinates(x, y) {
504
- return {
505
- left: ensureNumeric(x),
506
- top: ensureNumeric(y)
507
- };
508
- }
509
- /**
510
- * Gets ScrollToOptions based on the given arguments. Will throw if validation fails
511
- * @param {number | ScrollToOptions} optionsOrX
512
- * @param {number} y
513
- * @return {Required<ScrollToOptions>}
514
- */
515
- function getScrollToOptionsWithValidation(optionsOrX, y) {
516
- // If only one argument is given, and it isn't an options object, throw a TypeError
517
- if (y === undefined && !isScrollToOptions(optionsOrX)) {
518
- throw new TypeError("Failed to execute 'scroll' on 'Element': parameter 1 ('options') is not an object.");
519
- }
520
- // Scroll based on the primitive values given as arguments
521
- if (!isScrollToOptions(optionsOrX)) {
522
- return __assign(__assign({}, normalizeScrollCoordinates(optionsOrX, y)), { behavior: "auto" });
523
- }
524
- // Scroll based on the received options object
525
- else {
526
- return __assign(__assign({}, normalizeScrollCoordinates(optionsOrX.left, optionsOrX.top)), { behavior: optionsOrX.behavior == null ? "auto" : optionsOrX.behavior });
527
- }
528
- }
529
-
530
- /**
531
- * Patches the 'scroll' method on the Element prototype
532
- */
533
- function patchElementScroll() {
534
- Element.prototype.scroll = function (optionsOrX, y) {
535
- handleScrollMethod(this, "scroll", optionsOrX, y);
536
- };
537
- }
538
-
539
- /**
540
- * Patches the 'scrollBy' method on the Element prototype
541
- */
542
- function patchElementScrollBy() {
543
- Element.prototype.scrollBy = function (optionsOrX, y) {
544
- handleScrollMethod(this, "scrollBy", optionsOrX, y);
545
- };
546
- }
547
-
548
- /**
549
- * Patches the 'scrollTo' method on the Element prototype
550
- */
551
- function patchElementScrollTo() {
552
- Element.prototype.scrollTo = function (optionsOrX, y) {
553
- handleScrollMethod(this, "scrollTo", optionsOrX, y);
554
- };
555
- }
556
-
557
- /**
558
- * Patches the 'scroll' method on the Window prototype
559
- */
560
- function patchWindowScroll() {
561
- window.scroll = function (optionsOrX, y) {
562
- handleScrollMethod(this, "scroll", optionsOrX, y);
563
- };
564
- }
565
-
566
- /**
567
- * Patches the 'scrollBy' method on the Window prototype
568
- */
569
- function patchWindowScrollBy() {
570
- window.scrollBy = function (optionsOrX, y) {
571
- handleScrollMethod(this, "scrollBy", optionsOrX, y);
572
- };
573
- }
574
-
575
- /**
576
- * Patches the 'scrollTo' method on the Window prototype
577
- */
578
- function patchWindowScrollTo() {
579
- window.scrollTo = function (optionsOrX, y) {
580
- handleScrollMethod(this, "scrollTo", optionsOrX, y);
581
- };
582
- }
583
-
584
- // tslint:disable:no-any
585
- /**
586
- * Gets the parent of an element, taking into account DocumentFragments, ShadowRoots, as well as the root context (window)
587
- * @param {EventTarget} currentElement
588
- * @returns {EventTarget | null}
589
- */
590
- function getParent(currentElement) {
591
- if ("nodeType" in currentElement && currentElement.nodeType === 1) {
592
- return currentElement.parentNode;
593
- }
594
- if ("ShadowRoot" in window && currentElement instanceof window.ShadowRoot) {
595
- return currentElement.host;
596
- }
597
- else if (currentElement === document) {
598
- return window;
599
- }
600
- else if (currentElement instanceof Node)
601
- return currentElement.parentNode;
602
- return null;
603
- }
604
-
605
- /**
606
- * Returns true if the given overflow property represents a scrollable overflow value
607
- * @param {string | null} overflow
608
- * @return {boolean}
609
- */
610
- function canOverflow(overflow) {
611
- return overflow !== "visible" && overflow !== "clip";
612
- }
613
- /**
614
- * Returns true if the given element is scrollable
615
- * @param {Element} element
616
- * @return {boolean}
617
- */
618
- function isScrollable(element) {
619
- if (element.clientHeight < element.scrollHeight || element.clientWidth < element.scrollWidth) {
620
- var style = getComputedStyle(element, null);
621
- return canOverflow(style.overflowY) || canOverflow(style.overflowX);
622
- }
623
- return false;
624
- }
625
- /**
626
- * Finds the nearest ancestor of an element that can scroll
627
- * @param {Element} target
628
- * @returns {Element|Window?}
629
- */
630
- function findNearestAncestorsWithScrollBehavior(target) {
631
- var currentElement = target;
632
- var scrollingElement = getScrollingElement();
633
- while (currentElement != null) {
634
- var behavior = getScrollBehavior(currentElement);
635
- if (behavior != null && (currentElement === scrollingElement || isScrollable(currentElement))) {
636
- return [currentElement, behavior];
637
- }
638
- var parent_1 = getParent(currentElement);
639
- currentElement = parent_1;
640
- }
641
- // No such element could be found. Start over, but this time find the nearest ancestor that can simply scroll
642
- currentElement = target;
643
- while (currentElement != null) {
644
- if (currentElement === scrollingElement || isScrollable(currentElement)) {
645
- return [currentElement, "auto"];
646
- }
647
- var parent_2 = getParent(currentElement);
648
- currentElement = parent_2;
649
- }
650
- // Default to the scrolling element
651
- return [scrollingElement, "auto"];
652
- }
653
-
654
- // tslint:disable:no-any
655
- /**
656
- * Finds the nearest root from an element
657
- * @param {Element} target
658
- * @returns {Document|ShadowRoot}
659
- */
660
- function findNearestRoot(target) {
661
- var currentElement = target;
662
- while (currentElement != null) {
663
- if ("ShadowRoot" in window && currentElement instanceof window.ShadowRoot) {
664
- // Assume this is a ShadowRoot
665
- return currentElement;
666
- }
667
- var parent_1 = getParent(currentElement);
668
- if (parent_1 === currentElement) {
669
- return document;
670
- }
671
- currentElement = parent_1;
672
- }
673
- return document;
674
- }
675
-
676
- /**
677
- * Gets the origin of the given Location or HTMLAnchorElement if available in the runtime, and otherwise shims it. (it's a one-liner)
678
- * @returns {string}
679
- */
680
- function getLocationOrigin(locationLike) {
681
- if (locationLike === void 0) { locationLike = location; }
682
- if ("origin" in locationLike && locationLike.origin != null) {
683
- return locationLike.origin;
684
- }
685
- var port = locationLike.port != null && locationLike.port.length > 0 ? ":" + locationLike.port : "";
686
- if (locationLike.protocol === "http:" && port === ":80") {
687
- port = "";
688
- }
689
- else if (locationLike.protocol === "https:" && port === ":443") {
690
- port = "";
691
- }
692
- return locationLike.protocol + "//" + locationLike.hostname + port;
693
- }
694
-
695
- /**
696
- * A Regular expression that matches id's of the form "#[digit]"
697
- * @type {RegExp}
698
- */
699
- var ID_WITH_LEADING_DIGIT_REGEXP = /^#\d/;
700
- /**
701
- * Catches anchor navigation to IDs within the same root and ensures that they can be smooth-scrolled
702
- * if the scroll behavior is smooth in the first rooter within that context
703
- */
704
- function catchNavigation() {
705
- // Listen for 'click' events globally
706
- window.addEventListener("click", function (e) {
707
- // Only work with trusted events on HTMLAnchorElements
708
- if (!e.isTrusted || !(e.target instanceof HTMLAnchorElement))
709
- return;
710
- var _a = e.target, pathname = _a.pathname, search = _a.search, hash = _a.hash;
711
- var pointsToCurrentPage = getLocationOrigin(e.target) === getLocationOrigin(location) && pathname === location.pathname && search === location.search;
712
- // Only work with HTMLAnchorElements that navigates to a specific ID on the current page
713
- if (!pointsToCurrentPage || hash == null || hash.length < 1) {
714
- return;
715
- }
716
- // Find the nearest root, whether it be a ShadowRoot or the document itself
717
- var root = findNearestRoot(e.target);
718
- // Attempt to match the selector from that root. querySelector' doesn't support IDs that start with a digit, so work around that limitation
719
- var elementMatch = hash.match(ID_WITH_LEADING_DIGIT_REGEXP) != null ? root.getElementById(hash.slice(1)) : root.querySelector(hash);
720
- // If no selector could be found, don't proceed
721
- if (elementMatch == null)
722
- return;
723
- // Find the nearest ancestor that can be scrolled
724
- var _b = __read(findNearestAncestorsWithScrollBehavior(elementMatch), 2), behavior = _b[1];
725
- // If the behavior isn't smooth, don't proceed
726
- if (behavior !== "smooth")
727
- return;
728
- // Otherwise, first prevent the default action.
729
- e.preventDefault();
730
- // Now, scroll to the element with that ID
731
- elementMatch.scrollIntoView({
732
- behavior: behavior
733
- });
734
- });
735
- }
736
-
737
- var ELEMENT_ORIGINAL_SCROLL_INTO_VIEW = UNSUPPORTED_ENVIRONMENT ? undefined : Element.prototype.scrollIntoView;
738
-
739
- /**
740
- * The majority of this file is based on https://github.com/stipsan/compute-scroll-into-view (MIT license),
741
- * but has been rewritten to accept a scroller as an argument.
742
- */
743
- /**
744
- * Find out which edge to align against when logical scroll position is "nearest"
745
- * Interesting fact: "nearest" works similarly to "if-needed", if the element is fully visible it will not scroll it
746
- *
747
- * Legends:
748
- * ┌────────┐ ┏ ━ ━ ━ ┓
749
- * │ target │ frame
750
- * └────────┘ ┗ ━ ━ ━ ┛
751
- */
752
- function alignNearest(scrollingEdgeStart, scrollingEdgeEnd, scrollingSize, scrollingBorderStart, scrollingBorderEnd, elementEdgeStart, elementEdgeEnd, elementSize) {
753
- /**
754
- * If element edge A and element edge B are both outside scrolling box edge A and scrolling box edge B
755
- *
756
- * ┌──┐
757
- * ┏━│━━│━┓
758
- * │ │
759
- * ┃ │ │ ┃ do nothing
760
- * │ │
761
- * ┗━│━━│━┛
762
- * └──┘
763
- *
764
- * If element edge C and element edge D are both outside scrolling box edge C and scrolling box edge D
765
- *
766
- * ┏ ━ ━ ━ ━ ┓
767
- * ┌───────────┐
768
- * │┃ ┃│ do nothing
769
- * └───────────┘
770
- * ┗ ━ ━ ━ ━ ┛
771
- */
772
- if ((elementEdgeStart < scrollingEdgeStart && elementEdgeEnd > scrollingEdgeEnd) ||
773
- (elementEdgeStart > scrollingEdgeStart && elementEdgeEnd < scrollingEdgeEnd)) {
774
- return 0;
775
- }
776
- /**
777
- * If element edge A is outside scrolling box edge A and element height is less than scrolling box height
778
- *
779
- * ┌──┐
780
- * ┏━│━━│━┓ ┏━┌━━┐━┓
781
- * └──┘ │ │
782
- * from ┃ ┃ to ┃ └──┘ ┃
783
- *
784
- * ┗━ ━━ ━┛ ┗━ ━━ ━┛
785
- *
786
- * If element edge B is outside scrolling box edge B and element height is greater than scrolling box height
787
- *
788
- * ┏━ ━━ ━┓ ┏━┌━━┐━┓
789
- * │ │
790
- * from ┃ ┌──┐ ┃ to ┃ │ │ ┃
791
- * │ │ │ │
792
- * ┗━│━━│━┛ ┗━│━━│━┛
793
- * │ │ └──┘
794
- * │ │
795
- * └──┘
796
- *
797
- * If element edge C is outside scrolling box edge C and element width is less than scrolling box width
798
- *
799
- * from to
800
- * ┏ ━ ━ ━ ━ ┓ ┏ ━ ━ ━ ━ ┓
801
- * ┌───┐ ┌───┐
802
- * │ ┃ │ ┃ ┃ │ ┃
803
- * └───┘ └───┘
804
- * ┗ ━ ━ ━ ━ ┛ ┗ ━ ━ ━ ━ ┛
805
- *
806
- * If element edge D is outside scrolling box edge D and element width is greater than scrolling box width
807
- *
808
- * from to
809
- * ┏ ━ ━ ━ ━ ┓ ┏ ━ ━ ━ ━ ┓
810
- * ┌───────────┐ ┌───────────┐
811
- * ┃ │ ┃ │ ┃ ┃ │
812
- * └───────────┘ └───────────┘
813
- * ┗ ━ ━ ━ ━ ┛ ┗ ━ ━ ━ ━ ┛
814
- */
815
- if ((elementEdgeStart <= scrollingEdgeStart && elementSize <= scrollingSize) ||
816
- (elementEdgeEnd >= scrollingEdgeEnd && elementSize >= scrollingSize)) {
817
- return elementEdgeStart - scrollingEdgeStart - scrollingBorderStart;
818
- }
819
- /**
820
- * If element edge B is outside scrolling box edge B and element height is less than scrolling box height
821
- *
822
- * ┏━ ━━ ━┓ ┏━ ━━ ━┓
823
- *
824
- * from ┃ ┃ to ┃ ┌──┐ ┃
825
- * ┌──┐ │ │
826
- * ┗━│━━│━┛ ┗━└━━┘━┛
827
- * └──┘
828
- *
829
- * If element edge A is outside scrolling box edge A and element height is greater than scrolling box height
830
- *
831
- * ┌──┐
832
- * │ │
833
- * │ │ ┌──┐
834
- * ┏━│━━│━┓ ┏━│━━│━┓
835
- * │ │ │ │
836
- * from ┃ └──┘ ┃ to ┃ │ │ ┃
837
- * │ │
838
- * ┗━ ━━ ━┛ ┗━└━━┘━┛
839
- *
840
- * If element edge C is outside scrolling box edge C and element width is greater than scrolling box width
841
- *
842
- * from to
843
- * ┏ ━ ━ ━ ━ ┓ ┏ ━ ━ ━ ━ ┓
844
- * ┌───────────┐ ┌───────────┐
845
- * │ ┃ │ ┃ │ ┃ ┃
846
- * └───────────┘ └───────────┘
847
- * ┗ ━ ━ ━ ━ ┛ ┗ ━ ━ ━ ━ ┛
848
- *
849
- * If element edge D is outside scrolling box edge D and element width is less than scrolling box width
850
- *
851
- * from to
852
- * ┏ ━ ━ ━ ━ ┓ ┏ ━ ━ ━ ━ ┓
853
- * ┌───┐ ┌───┐
854
- * ┃ │ ┃ │ ┃ │ ┃
855
- * └───┘ └───┘
856
- * ┗ ━ ━ ━ ━ ┛ ┗ ━ ━ ━ ━ ┛
857
- *
858
- */
859
- if ((elementEdgeEnd > scrollingEdgeEnd && elementSize < scrollingSize) || (elementEdgeStart < scrollingEdgeStart && elementSize > scrollingSize)) {
860
- return elementEdgeEnd - scrollingEdgeEnd + scrollingBorderEnd;
861
- }
862
- return 0;
863
- }
864
- function computeScrollIntoView(target, scroller, options) {
865
- var block = options.block, inline = options.inline;
866
- // Used to handle the top most element that can be scrolled
867
- var scrollingElement = getScrollingElement();
868
- // Support pinch-zooming properly, making sure elements scroll into the visual viewport
869
- // Browsers that don't support visualViewport will report the layout viewport dimensions on document.documentElement.clientWidth/Height
870
- // and viewport dimensions on window.innerWidth/Height
871
- // https://www.quirksmode.org/mobile/viewports2.html
872
- // https://bokand.github.io/viewport/index.html
873
- var viewportWidth = window.visualViewport != null ? visualViewport.width : innerWidth;
874
- var viewportHeight = window.visualViewport != null ? visualViewport.height : innerHeight;
875
- var viewportX = window.scrollX != null ? window.scrollX : window.pageXOffset;
876
- var viewportY = window.scrollY != null ? window.scrollY : window.pageYOffset;
877
- var _a = target.getBoundingClientRect(), targetHeight = _a.height, targetWidth = _a.width, targetTop = _a.top, targetRight = _a.right, targetBottom = _a.bottom, targetLeft = _a.left;
878
- // These values mutate as we loop through and generate scroll coordinates
879
- var targetBlock = block === "start" || block === "nearest" ? targetTop : block === "end" ? targetBottom : targetTop + targetHeight / 2; // block === 'center
880
- var targetInline = inline === "center" ? targetLeft + targetWidth / 2 : inline === "end" ? targetRight : targetLeft; // inline === 'start || inline === 'nearest
881
- var _b = scroller.getBoundingClientRect(), height = _b.height, width = _b.width, top = _b.top, right = _b.right, bottom = _b.bottom, left = _b.left;
882
- var frameStyle = getComputedStyle(scroller);
883
- var borderLeft = parseInt(frameStyle.borderLeftWidth, 10);
884
- var borderTop = parseInt(frameStyle.borderTopWidth, 10);
885
- var borderRight = parseInt(frameStyle.borderRightWidth, 10);
886
- var borderBottom = parseInt(frameStyle.borderBottomWidth, 10);
887
- var blockScroll = 0;
888
- var inlineScroll = 0;
889
- // The property existance checks for offset[Width|Height] is because only HTMLElement objects have them, but any Element might pass by here
890
- // @TODO find out if the "as HTMLElement" overrides can be dropped
891
- var scrollbarWidth = "offsetWidth" in scroller ? scroller.offsetWidth - scroller.clientWidth - borderLeft - borderRight : 0;
892
- var scrollbarHeight = "offsetHeight" in scroller ? scroller.offsetHeight - scroller.clientHeight - borderTop - borderBottom : 0;
893
- if (scrollingElement === scroller) {
894
- // Handle viewport logic (document.documentElement or document.body)
895
- if (block === "start") {
896
- blockScroll = targetBlock;
897
- }
898
- else if (block === "end") {
899
- blockScroll = targetBlock - viewportHeight;
900
- }
901
- else if (block === "nearest") {
902
- blockScroll = alignNearest(viewportY, viewportY + viewportHeight, viewportHeight, borderTop, borderBottom, viewportY + targetBlock, viewportY + targetBlock + targetHeight, targetHeight);
903
- }
904
- else {
905
- // block === 'center' is the default
906
- blockScroll = targetBlock - viewportHeight / 2;
907
- }
908
- if (inline === "start") {
909
- inlineScroll = targetInline;
910
- }
911
- else if (inline === "center") {
912
- inlineScroll = targetInline - viewportWidth / 2;
913
- }
914
- else if (inline === "end") {
915
- inlineScroll = targetInline - viewportWidth;
916
- }
917
- else {
918
- // inline === 'nearest' is the default
919
- inlineScroll = alignNearest(viewportX, viewportX + viewportWidth, viewportWidth, borderLeft, borderRight, viewportX + targetInline, viewportX + targetInline + targetWidth, targetWidth);
920
- }
921
- // Apply scroll position offsets and ensure they are within bounds
922
- // @TODO add more test cases to cover this 100%
923
- blockScroll = Math.max(0, blockScroll + viewportY);
924
- inlineScroll = Math.max(0, inlineScroll + viewportX);
925
- }
926
- else {
927
- // Handle each scrolling frame that might exist between the target and the viewport
928
- if (block === "start") {
929
- blockScroll = targetBlock - top - borderTop;
930
- }
931
- else if (block === "end") {
932
- blockScroll = targetBlock - bottom + borderBottom + scrollbarHeight;
933
- }
934
- else if (block === "nearest") {
935
- blockScroll = alignNearest(top, bottom, height, borderTop, borderBottom + scrollbarHeight, targetBlock, targetBlock + targetHeight, targetHeight);
936
- }
937
- else {
938
- // block === 'center' is the default
939
- blockScroll = targetBlock - (top + height / 2) + scrollbarHeight / 2;
940
- }
941
- if (inline === "start") {
942
- inlineScroll = targetInline - left - borderLeft;
943
- }
944
- else if (inline === "center") {
945
- inlineScroll = targetInline - (left + width / 2) + scrollbarWidth / 2;
946
- }
947
- else if (inline === "end") {
948
- inlineScroll = targetInline - right + borderRight + scrollbarWidth;
949
- }
950
- else {
951
- // inline === 'nearest' is the default
952
- inlineScroll = alignNearest(left, right, width, borderLeft, borderRight + scrollbarWidth, targetInline, targetInline + targetWidth, targetWidth);
953
- }
954
- var scrollLeft = scroller.scrollLeft, scrollTop = scroller.scrollTop;
955
- // Ensure scroll coordinates are not out of bounds while applying scroll offsets
956
- blockScroll = Math.max(0, Math.min(scrollTop + blockScroll, scroller.scrollHeight - height + scrollbarHeight));
957
- inlineScroll = Math.max(0, Math.min(scrollLeft + inlineScroll, scroller.scrollWidth - width + scrollbarWidth));
958
- }
959
- return {
960
- top: blockScroll,
961
- left: inlineScroll
962
- };
963
- }
964
-
965
- /**
966
- * Patches the 'scrollIntoView' method on the Element prototype
967
- */
968
- function patchElementScrollIntoView() {
969
- Element.prototype.scrollIntoView = function (arg) {
970
- var normalizedOptions = arg == null || arg === true
971
- ? {
972
- block: "start",
973
- inline: "nearest"
974
- }
975
- : arg === false
976
- ? {
977
- block: "end",
978
- inline: "nearest"
979
- }
980
- : arg;
981
- // Find the nearest ancestor that can be scrolled
982
- var _a = __read(findNearestAncestorsWithScrollBehavior(this), 2), ancestorWithScroll = _a[0], ancestorWithScrollBehavior = _a[1];
983
- var behavior = normalizedOptions.behavior != null ? normalizedOptions.behavior : ancestorWithScrollBehavior;
984
- // If the behavior isn't smooth, simply invoke the original implementation and do no more
985
- if (behavior !== "smooth") {
986
- // Assert that 'scrollIntoView' is actually defined
987
- if (ELEMENT_ORIGINAL_SCROLL_INTO_VIEW != null) {
988
- ELEMENT_ORIGINAL_SCROLL_INTO_VIEW.call(this, normalizedOptions);
989
- }
990
- // Otherwise, invoke 'scrollTo' instead and provide the scroll coordinates
991
- else {
992
- var _b = computeScrollIntoView(this, ancestorWithScroll, normalizedOptions), top_1 = _b.top, left = _b.left;
993
- getOriginalScrollMethodForKind("scrollTo", this).call(this, left, top_1);
994
- }
995
- return;
996
- }
997
- ancestorWithScroll.scrollTo(__assign({ behavior: behavior }, computeScrollIntoView(this, ancestorWithScroll, normalizedOptions)));
998
- };
999
- // On IE11, HTMLElement has its own declaration of scrollIntoView and does not inherit this from the prototype chain, so we'll need to patch that one too.
1000
- if (HTMLElement.prototype.scrollIntoView != null && HTMLElement.prototype.scrollIntoView !== Element.prototype.scrollIntoView) {
1001
- HTMLElement.prototype.scrollIntoView = Element.prototype.scrollIntoView;
1002
- }
1003
- }
1004
-
1005
- var ELEMENT_ORIGINAL_SCROLL_TOP_SET_DESCRIPTOR = UNSUPPORTED_ENVIRONMENT
1006
- ? undefined
1007
- : Object.getOwnPropertyDescriptor(Element.prototype, "scrollTop").set;
1008
-
1009
- /**
1010
- * Patches the 'scrollTop' property descriptor on the Element prototype
1011
- */
1012
- function patchElementScrollTop() {
1013
- Object.defineProperty(Element.prototype, "scrollTop", {
1014
- set: function (scrollTop) {
1015
- if (this.__adjustingScrollPosition) {
1016
- return ELEMENT_ORIGINAL_SCROLL_TOP_SET_DESCRIPTOR.call(this, scrollTop);
1017
- }
1018
- handleScrollMethod(this, "scrollTo", this.scrollLeft, scrollTop);
1019
- return scrollTop;
1020
- }
1021
- });
1022
- }
1023
-
1024
- var ELEMENT_ORIGINAL_SCROLL_LEFT_SET_DESCRIPTOR = UNSUPPORTED_ENVIRONMENT
1025
- ? undefined
1026
- : Object.getOwnPropertyDescriptor(Element.prototype, "scrollLeft").set;
1027
-
1028
- /**
1029
- * Patches the 'scrollLeft' property descriptor on the Element prototype
1030
- */
1031
- function patchElementScrollLeft() {
1032
- Object.defineProperty(Element.prototype, "scrollLeft", {
1033
- set: function (scrollLeft) {
1034
- if (this.__adjustingScrollPosition) {
1035
- return ELEMENT_ORIGINAL_SCROLL_LEFT_SET_DESCRIPTOR.call(this, scrollLeft);
1036
- }
1037
- handleScrollMethod(this, "scrollTo", scrollLeft, this.scrollTop);
1038
- return scrollLeft;
1039
- }
1040
- });
1041
- }
1042
-
1043
- /**
1044
- * Applies the polyfill
1045
- */
1046
- function patch() {
1047
- // Element.prototype methods
1048
- patchElementScroll();
1049
- patchElementScrollBy();
1050
- patchElementScrollTo();
1051
- patchElementScrollIntoView();
1052
- // Element.prototype descriptors
1053
- patchElementScrollLeft();
1054
- patchElementScrollTop();
1055
- // window methods
1056
- patchWindowScroll();
1057
- patchWindowScrollBy();
1058
- patchWindowScrollTo();
1059
- // Navigation
1060
- catchNavigation();
1061
- }
1062
-
1063
- /**
1064
- * Is true if the browser natively supports the Element.prototype.[scroll|scrollTo|scrollBy|scrollIntoView] methods
1065
- * @type {boolean}
1066
- */
1067
- var SUPPORTS_ELEMENT_PROTOTYPE_SCROLL_METHODS = UNSUPPORTED_ENVIRONMENT
1068
- ? false
1069
- : "scroll" in Element.prototype && "scrollTo" in Element.prototype && "scrollBy" in Element.prototype && "scrollIntoView" in Element.prototype;
1070
-
1071
- if (!UNSUPPORTED_ENVIRONMENT && (!SUPPORTS_SCROLL_BEHAVIOR || !SUPPORTS_ELEMENT_PROTOTYPE_SCROLL_METHODS)) {
1072
- patch();
1073
- }
1074
-
1075
- }());
1076
-
1077
- //# sourceMappingURL=index-75b61776.js.map