@nanoporetech-digital/components 5.11.9 → 5.12.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 (451) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cjs/{component-store-149aeffe.js → component-store-7427cb36.js} +2 -2
  3. package/dist/cjs/component-store-7427cb36.js.map +1 -0
  4. package/dist/cjs/{drag-777bd8dd.js → drag-1cdd881b.js} +9 -9
  5. package/dist/cjs/drag-1cdd881b.js.map +1 -0
  6. package/dist/cjs/{fade-dcabf3c1.js → fade-738dbd13.js} +2 -2
  7. package/dist/cjs/{fade-dcabf3c1.js.map → fade-738dbd13.js.map} +1 -1
  8. package/dist/cjs/{form-control-cae1e493.js → form-control-9a2379b4.js} +3 -3
  9. package/dist/cjs/form-control-9a2379b4.js.map +1 -0
  10. package/dist/cjs/{fullscreen-d24940a1.js → fullscreen-a994dc5b.js} +2 -2
  11. package/dist/cjs/{fullscreen-d24940a1.js.map → fullscreen-a994dc5b.js.map} +1 -1
  12. package/dist/cjs/{index-72ee0363.js → index-ece1cb9e.js} +10 -2
  13. package/dist/cjs/index-ece1cb9e.js.map +1 -0
  14. package/dist/cjs/index.cjs.js +35 -9
  15. package/dist/cjs/index.cjs.js.map +1 -1
  16. package/dist/cjs/{lazyload-f6be7590.js → lazyload-d532de2a.js} +2 -2
  17. package/dist/cjs/{lazyload-f6be7590.js.map → lazyload-d532de2a.js.map} +1 -1
  18. package/dist/cjs/loader.cjs.js +1 -1
  19. package/dist/cjs/{modal-b9b40f6d.js → modal-f9dce001.js} +2 -3
  20. package/dist/cjs/modal-f9dce001.js.map +1 -0
  21. package/dist/cjs/nano-accordion.cjs.entry.js +5 -2
  22. package/dist/cjs/nano-accordion.cjs.entry.js.map +1 -1
  23. package/dist/cjs/nano-alert.cjs.entry.js +3 -3
  24. package/dist/cjs/nano-alert.cjs.entry.js.map +1 -1
  25. package/dist/cjs/nano-algolia-filter.cjs.entry.js +3 -3
  26. package/dist/cjs/nano-algolia-filter.cjs.entry.js.map +1 -1
  27. package/dist/cjs/nano-algolia.cjs.entry.js +2 -2
  28. package/dist/cjs/nano-algolia.cjs.entry.js.map +1 -1
  29. package/dist/cjs/nano-checkbox-group.cjs.entry.js +12 -14
  30. package/dist/cjs/nano-checkbox-group.cjs.entry.js.map +1 -1
  31. package/dist/cjs/nano-checkbox.cjs.entry.js +2 -2
  32. package/dist/cjs/nano-checkbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/nano-components.cjs.js +1 -1
  34. package/dist/cjs/nano-datalist_3.cjs.entry.js +16 -25
  35. package/dist/cjs/nano-datalist_3.cjs.entry.js.map +1 -1
  36. package/dist/cjs/nano-date-input.cjs.entry.js +4 -4
  37. package/dist/cjs/nano-date-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/nano-date-picker.cjs.entry.js +2 -2
  39. package/dist/cjs/nano-date-picker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/nano-demo.cjs.entry.js +8 -12
  41. package/dist/cjs/nano-demo.cjs.entry.js.map +1 -1
  42. package/dist/cjs/nano-details.cjs.entry.js +1 -1
  43. package/dist/cjs/nano-dialog.cjs.entry.js +2 -2
  44. package/dist/cjs/nano-drawer.cjs.entry.js +3 -3
  45. package/dist/cjs/nano-drawer.cjs.entry.js.map +1 -1
  46. package/dist/cjs/nano-dropdown.cjs.entry.js +6 -7
  47. package/dist/cjs/nano-dropdown.cjs.entry.js.map +1 -1
  48. package/dist/cjs/nano-field-validator.cjs.entry.js +3 -6
  49. package/dist/cjs/nano-field-validator.cjs.entry.js.map +1 -1
  50. package/dist/cjs/nano-file-upload.cjs.entry.js +2 -2
  51. package/dist/cjs/nano-file-upload.cjs.entry.js.map +1 -1
  52. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js +101 -33
  53. package/dist/cjs/nano-global-nav-user-profile_3.cjs.entry.js.map +1 -1
  54. package/dist/cjs/nano-global-nav.cjs.entry.js +18 -24
  55. package/dist/cjs/nano-global-nav.cjs.entry.js.map +1 -1
  56. package/dist/cjs/nano-icon-button_2.cjs.entry.js +2 -4
  57. package/dist/cjs/nano-icon-button_2.cjs.entry.js.map +1 -1
  58. package/dist/cjs/nano-icon.cjs.entry.js +7 -2
  59. package/dist/cjs/nano-icon.cjs.entry.js.map +1 -1
  60. package/dist/cjs/nano-input.cjs.entry.js +21 -7
  61. package/dist/cjs/nano-input.cjs.entry.js.map +1 -1
  62. package/dist/cjs/nano-range.cjs.entry.js +2 -2
  63. package/dist/cjs/{nano-slides-2f3dcc02.js → nano-slides-d8032939.js} +23 -22
  64. package/dist/cjs/nano-slides-d8032939.js.map +1 -0
  65. package/dist/cjs/nano-slides.cjs.entry.js +1 -1
  66. package/dist/cjs/nano-sortable.cjs.entry.js +7 -9
  67. package/dist/cjs/nano-sortable.cjs.entry.js.map +1 -1
  68. package/dist/cjs/nano-split-pane.cjs.entry.js +1 -1
  69. package/dist/cjs/nano-tab-content.cjs.entry.js +1 -1
  70. package/dist/cjs/nano-tab-content.cjs.entry.js.map +1 -1
  71. package/dist/cjs/nano-tab-group.cjs.entry.js +6 -8
  72. package/dist/cjs/nano-tab-group.cjs.entry.js.map +1 -1
  73. package/dist/cjs/{nano-table-43f4377f.js → nano-table-84da62a4.js} +53 -53
  74. package/dist/cjs/nano-table-84da62a4.js.map +1 -0
  75. package/dist/cjs/nano-table.cjs.entry.js +1 -1
  76. package/dist/cjs/{page-dots-ae2cefb4.js → page-dots-d360366a.js} +2 -2
  77. package/dist/cjs/{page-dots-ae2cefb4.js.map → page-dots-d360366a.js.map} +1 -1
  78. package/dist/cjs/{table.worker-f258383d.js → table.worker-4aad752d.js} +1 -1
  79. package/dist/cjs/{table.worker-399650a3.js → table.worker-f386d031.js} +3 -3
  80. package/dist/cjs/table.worker-f386d031.js.map +1 -0
  81. package/dist/cjs/{theme-9cbe28c5.js → theme-50275e1a.js} +7 -2
  82. package/dist/cjs/theme-50275e1a.js.map +1 -0
  83. package/dist/cjs/{transitions-cc18619c.js → transitions-20fce787.js} +7 -2
  84. package/dist/cjs/transitions-20fce787.js.map +1 -0
  85. package/dist/collection/components/accordion/accordion.js +4 -1
  86. package/dist/collection/components/accordion/accordion.js.map +1 -1
  87. package/dist/collection/components/alert/alert.helpers.js +24 -6
  88. package/dist/collection/components/alert/alert.helpers.js.map +1 -1
  89. package/dist/collection/components/alert/alert.js +1 -1
  90. package/dist/collection/components/alert/alert.js.map +1 -1
  91. package/dist/collection/components/algolia/algolia-filter.js +2 -2
  92. package/dist/collection/components/algolia/algolia-filter.js.map +1 -1
  93. package/dist/collection/components/algolia/algolia.js +1 -1
  94. package/dist/collection/components/algolia/algolia.js.map +1 -1
  95. package/dist/collection/components/checkbox/checkbox-group.js +11 -13
  96. package/dist/collection/components/checkbox/checkbox-group.js.map +1 -1
  97. package/dist/collection/components/checkbox/checkbox.js +1 -1
  98. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  99. package/dist/collection/components/datalist/datalist.js +14 -21
  100. package/dist/collection/components/datalist/datalist.js.map +1 -1
  101. package/dist/collection/components/date-input/date-input.js +3 -3
  102. package/dist/collection/components/date-input/date-input.js.map +1 -1
  103. package/dist/collection/components/date-picker/date-picker.js +1 -1
  104. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  105. package/dist/collection/components/demo/demo.js +8 -12
  106. package/dist/collection/components/demo/demo.js.map +1 -1
  107. package/dist/collection/components/dialog/dialog.helpers.js +11 -3
  108. package/dist/collection/components/dialog/dialog.helpers.js.map +1 -1
  109. package/dist/collection/components/drawer/drawer.js +1 -1
  110. package/dist/collection/components/drawer/drawer.js.map +1 -1
  111. package/dist/collection/components/dropdown/dropdown.js +6 -7
  112. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  113. package/dist/collection/components/field-validator/field-validator.js +3 -6
  114. package/dist/collection/components/field-validator/field-validator.js.map +1 -1
  115. package/dist/collection/components/file-upload/file-upload.js +2 -2
  116. package/dist/collection/components/file-upload/file-upload.js.map +1 -1
  117. package/dist/collection/components/form-control/form-control.js +2 -2
  118. package/dist/collection/components/form-control/form-control.js.map +1 -1
  119. package/dist/collection/components/global-nav/assets/ont-logo-inverse.svg +47 -0
  120. package/dist/collection/components/global-nav/global-nav-user-profile.js +1 -2
  121. package/dist/collection/components/global-nav/global-nav-user-profile.js.map +1 -1
  122. package/dist/collection/components/global-nav/global-nav.js +4 -8
  123. package/dist/collection/components/global-nav/global-nav.js.map +1 -1
  124. package/dist/collection/components/icon/icon.js +6 -1
  125. package/dist/collection/components/icon/icon.js.map +1 -1
  126. package/dist/collection/components/input/input.js +19 -5
  127. package/dist/collection/components/input/input.js.map +1 -1
  128. package/dist/collection/components/menu/menu.js +2 -4
  129. package/dist/collection/components/menu/menu.js.map +1 -1
  130. package/dist/collection/components/select/select.css +2 -1
  131. package/dist/collection/components/select/select.js +153 -31
  132. package/dist/collection/components/select/select.js.map +1 -1
  133. package/dist/collection/components/slides/slides.js +19 -46
  134. package/dist/collection/components/slides/slides.js.map +1 -1
  135. package/dist/collection/components/sortable/sortable.js +6 -8
  136. package/dist/collection/components/sortable/sortable.js.map +1 -1
  137. package/dist/collection/components/table/table.cell.js +8 -8
  138. package/dist/collection/components/table/table.cell.js.map +1 -1
  139. package/dist/collection/components/table/table.header.js +11 -4
  140. package/dist/collection/components/table/table.header.js.map +1 -1
  141. package/dist/collection/components/table/table.js +12 -17
  142. package/dist/collection/components/table/table.js.map +1 -1
  143. package/dist/collection/components/table/table.row.js +11 -11
  144. package/dist/collection/components/table/table.row.js.map +1 -1
  145. package/dist/collection/components/table/table.store.js +2 -3
  146. package/dist/collection/components/table/table.store.js.map +1 -1
  147. package/dist/collection/components/table/table.utils.js +7 -8
  148. package/dist/collection/components/table/table.utils.js.map +1 -1
  149. package/dist/collection/components/table/table.worker.js +3 -3
  150. package/dist/collection/components/table/table.worker.js.map +1 -1
  151. package/dist/collection/components/tabs/tab-content.css +0 -1
  152. package/dist/collection/components/tabs/tab-group.js +3 -5
  153. package/dist/collection/components/tabs/tab-group.js.map +1 -1
  154. package/dist/collection/components/tooltip/tooltip.js +2 -4
  155. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  156. package/dist/collection/utils/drag.js +8 -8
  157. package/dist/collection/utils/drag.js.map +1 -1
  158. package/dist/collection/utils/fetch.js +12 -15
  159. package/dist/collection/utils/fetch.js.map +1 -1
  160. package/dist/collection/utils/gesture/index.js +9 -1
  161. package/dist/collection/utils/gesture/index.js.map +1 -1
  162. package/dist/collection/utils/modal.js +1 -2
  163. package/dist/collection/utils/modal.js.map +1 -1
  164. package/dist/collection/utils/store/get-set.js +1 -1
  165. package/dist/collection/utils/store/get-set.js.map +1 -1
  166. package/dist/collection/utils/testing/index.js +2 -2
  167. package/dist/collection/utils/testing/index.js.map +1 -1
  168. package/dist/collection/utils/theme.js +6 -1
  169. package/dist/collection/utils/theme.js.map +1 -1
  170. package/dist/collection/utils/transitions.js +6 -1
  171. package/dist/collection/utils/transitions.js.map +1 -1
  172. package/dist/components/algolia.js +1 -1
  173. package/dist/components/algolia.js.map +1 -1
  174. package/dist/components/component-store.js +1 -1
  175. package/dist/components/component-store.js.map +1 -1
  176. package/dist/components/datalist.js +14 -21
  177. package/dist/components/datalist.js.map +1 -1
  178. package/dist/components/date-picker.js +1 -1
  179. package/dist/components/date-picker.js.map +1 -1
  180. package/dist/components/drag.js +8 -8
  181. package/dist/components/drag.js.map +1 -1
  182. package/dist/components/dropdown.js +6 -7
  183. package/dist/components/dropdown.js.map +1 -1
  184. package/dist/components/form-control.js +2 -2
  185. package/dist/components/form-control.js.map +1 -1
  186. package/dist/components/global-nav-user-profile.js +1 -2
  187. package/dist/components/global-nav-user-profile.js.map +1 -1
  188. package/dist/components/icon.js +6 -1
  189. package/dist/components/icon.js.map +1 -1
  190. package/dist/components/index.js +35 -9
  191. package/dist/components/index.js.map +1 -1
  192. package/dist/components/index3.js +9 -1
  193. package/dist/components/index3.js.map +1 -1
  194. package/dist/components/input.js +19 -5
  195. package/dist/components/input.js.map +1 -1
  196. package/dist/components/menu.js +2 -4
  197. package/dist/components/menu.js.map +1 -1
  198. package/dist/components/modal.js +1 -2
  199. package/dist/components/modal.js.map +1 -1
  200. package/dist/components/nano-accordion.js +4 -1
  201. package/dist/components/nano-accordion.js.map +1 -1
  202. package/dist/components/nano-alert.js +1 -1
  203. package/dist/components/nano-alert.js.map +1 -1
  204. package/dist/components/nano-algolia-filter.js +2 -2
  205. package/dist/components/nano-algolia-filter.js.map +1 -1
  206. package/dist/components/nano-checkbox-group.js +11 -13
  207. package/dist/components/nano-checkbox-group.js.map +1 -1
  208. package/dist/components/nano-checkbox.js +1 -1
  209. package/dist/components/nano-checkbox.js.map +1 -1
  210. package/dist/components/nano-date-input.js +3 -3
  211. package/dist/components/nano-date-input.js.map +1 -1
  212. package/dist/components/nano-demo.js +8 -12
  213. package/dist/components/nano-demo.js.map +1 -1
  214. package/dist/components/nano-drawer.js +1 -1
  215. package/dist/components/nano-drawer.js.map +1 -1
  216. package/dist/components/nano-field-validator.js +3 -6
  217. package/dist/components/nano-field-validator.js.map +1 -1
  218. package/dist/components/nano-file-upload.js +2 -2
  219. package/dist/components/nano-file-upload.js.map +1 -1
  220. package/dist/components/nano-global-nav.js +16 -22
  221. package/dist/components/nano-global-nav.js.map +1 -1
  222. package/dist/components/nano-slides.js +19 -19
  223. package/dist/components/nano-slides.js.map +1 -1
  224. package/dist/components/nano-sortable.js +6 -8
  225. package/dist/components/nano-sortable.js.map +1 -1
  226. package/dist/components/nano-tab-content.js +1 -1
  227. package/dist/components/nano-tab-content.js.map +1 -1
  228. package/dist/components/nano-tab-group.js +3 -5
  229. package/dist/components/nano-tab-group.js.map +1 -1
  230. package/dist/components/select.js +100 -29
  231. package/dist/components/select.js.map +1 -1
  232. package/dist/components/table.js +51 -51
  233. package/dist/components/table.js.map +1 -1
  234. package/dist/components/table.worker.js +1 -1
  235. package/dist/components/theme.js +6 -1
  236. package/dist/components/theme.js.map +1 -1
  237. package/dist/components/tooltip.js +2 -4
  238. package/dist/components/tooltip.js.map +1 -1
  239. package/dist/components/transitions.js +6 -1
  240. package/dist/components/transitions.js.map +1 -1
  241. package/dist/esm/{component-store-f7eb0a56.js → component-store-486d9d7a.js} +2 -2
  242. package/dist/esm/component-store-486d9d7a.js.map +1 -0
  243. package/dist/esm/{drag-1723a4cc.js → drag-d948d158.js} +9 -9
  244. package/dist/esm/drag-d948d158.js.map +1 -0
  245. package/dist/esm/{fade-1aa7a6db.js → fade-00c7c18e.js} +2 -2
  246. package/dist/esm/{fade-1aa7a6db.js.map → fade-00c7c18e.js.map} +1 -1
  247. package/dist/esm/{form-control-8c2750f9.js → form-control-0bfcc7ea.js} +3 -3
  248. package/dist/esm/form-control-0bfcc7ea.js.map +1 -0
  249. package/dist/esm/{fullscreen-86fa276a.js → fullscreen-09677a62.js} +2 -2
  250. package/dist/esm/{fullscreen-86fa276a.js.map → fullscreen-09677a62.js.map} +1 -1
  251. package/dist/esm/{index-f626f476.js → index-dc076ea6.js} +10 -2
  252. package/dist/esm/index-dc076ea6.js.map +1 -0
  253. package/dist/esm/index.js +35 -9
  254. package/dist/esm/index.js.map +1 -1
  255. package/dist/esm/{lazyload-994232a6.js → lazyload-43fd583a.js} +2 -2
  256. package/dist/esm/{lazyload-994232a6.js.map → lazyload-43fd583a.js.map} +1 -1
  257. package/dist/esm/loader.js +1 -1
  258. package/dist/esm/{modal-bd9638c0.js → modal-88c117cd.js} +2 -3
  259. package/dist/esm/modal-88c117cd.js.map +1 -0
  260. package/dist/esm/nano-accordion.entry.js +5 -2
  261. package/dist/esm/nano-accordion.entry.js.map +1 -1
  262. package/dist/esm/nano-alert.entry.js +3 -3
  263. package/dist/esm/nano-alert.entry.js.map +1 -1
  264. package/dist/esm/nano-algolia-filter.entry.js +3 -3
  265. package/dist/esm/nano-algolia-filter.entry.js.map +1 -1
  266. package/dist/esm/nano-algolia.entry.js +2 -2
  267. package/dist/esm/nano-algolia.entry.js.map +1 -1
  268. package/dist/esm/nano-checkbox-group.entry.js +12 -14
  269. package/dist/esm/nano-checkbox-group.entry.js.map +1 -1
  270. package/dist/esm/nano-checkbox.entry.js +2 -2
  271. package/dist/esm/nano-checkbox.entry.js.map +1 -1
  272. package/dist/esm/nano-components.js +1 -1
  273. package/dist/esm/nano-datalist_3.entry.js +16 -25
  274. package/dist/esm/nano-datalist_3.entry.js.map +1 -1
  275. package/dist/esm/nano-date-input.entry.js +4 -4
  276. package/dist/esm/nano-date-input.entry.js.map +1 -1
  277. package/dist/esm/nano-date-picker.entry.js +2 -2
  278. package/dist/esm/nano-date-picker.entry.js.map +1 -1
  279. package/dist/esm/nano-demo.entry.js +8 -12
  280. package/dist/esm/nano-demo.entry.js.map +1 -1
  281. package/dist/esm/nano-details.entry.js +1 -1
  282. package/dist/esm/nano-dialog.entry.js +2 -2
  283. package/dist/esm/nano-drawer.entry.js +3 -3
  284. package/dist/esm/nano-drawer.entry.js.map +1 -1
  285. package/dist/esm/nano-dropdown.entry.js +6 -7
  286. package/dist/esm/nano-dropdown.entry.js.map +1 -1
  287. package/dist/esm/nano-field-validator.entry.js +3 -6
  288. package/dist/esm/nano-field-validator.entry.js.map +1 -1
  289. package/dist/esm/nano-file-upload.entry.js +2 -2
  290. package/dist/esm/nano-file-upload.entry.js.map +1 -1
  291. package/dist/esm/nano-global-nav-user-profile_3.entry.js +101 -33
  292. package/dist/esm/nano-global-nav-user-profile_3.entry.js.map +1 -1
  293. package/dist/esm/nano-global-nav.entry.js +18 -24
  294. package/dist/esm/nano-global-nav.entry.js.map +1 -1
  295. package/dist/esm/nano-icon-button_2.entry.js +2 -4
  296. package/dist/esm/nano-icon-button_2.entry.js.map +1 -1
  297. package/dist/esm/nano-icon.entry.js +7 -2
  298. package/dist/esm/nano-icon.entry.js.map +1 -1
  299. package/dist/esm/nano-input.entry.js +21 -7
  300. package/dist/esm/nano-input.entry.js.map +1 -1
  301. package/dist/esm/nano-range.entry.js +2 -2
  302. package/dist/esm/{nano-slides-9908c44d.js → nano-slides-4dab533a.js} +24 -23
  303. package/dist/esm/nano-slides-4dab533a.js.map +1 -0
  304. package/dist/esm/nano-slides.entry.js +1 -1
  305. package/dist/esm/nano-sortable.entry.js +7 -9
  306. package/dist/esm/nano-sortable.entry.js.map +1 -1
  307. package/dist/esm/nano-split-pane.entry.js +1 -1
  308. package/dist/esm/nano-tab-content.entry.js +1 -1
  309. package/dist/esm/nano-tab-content.entry.js.map +1 -1
  310. package/dist/esm/nano-tab-group.entry.js +6 -8
  311. package/dist/esm/nano-tab-group.entry.js.map +1 -1
  312. package/dist/esm/{nano-table-85d83eb2.js → nano-table-7c8eb23e.js} +53 -53
  313. package/dist/esm/nano-table-7c8eb23e.js.map +1 -0
  314. package/dist/esm/nano-table.entry.js +1 -1
  315. package/dist/esm/{page-dots-467ace2e.js → page-dots-a055f884.js} +2 -2
  316. package/dist/esm/{page-dots-467ace2e.js.map → page-dots-a055f884.js.map} +1 -1
  317. package/dist/{nano-components/table.worker-f258383d.js → esm/table.worker-4aad752d.js} +1 -1
  318. package/dist/esm/{table.worker-c5463b23.js → table.worker-bdb6a68c.js} +3 -3
  319. package/dist/esm/table.worker-bdb6a68c.js.map +1 -0
  320. package/dist/esm/{theme-82feb8cf.js → theme-931bd452.js} +7 -2
  321. package/dist/esm/theme-931bd452.js.map +1 -0
  322. package/dist/esm/{transitions-fb09eb32.js → transitions-bd15e312.js} +7 -2
  323. package/dist/esm/transitions-bd15e312.js.map +1 -0
  324. package/dist/nano-assets/hash.txt +1 -1
  325. package/dist/nano-assets/ont-logo-inverse.svg +47 -0
  326. package/dist/nano-components/assets/ont-logo-inverse.svg +47 -0
  327. package/dist/nano-components/component-store-486d9d7a.js +5 -0
  328. package/dist/nano-components/component-store-486d9d7a.js.map +1 -0
  329. package/dist/nano-components/drag-d948d158.js +5 -0
  330. package/dist/nano-components/{drag-1723a4cc.js.map → drag-d948d158.js.map} +1 -1
  331. package/dist/nano-components/{fade-1aa7a6db.js → fade-00c7c18e.js} +2 -2
  332. package/dist/nano-components/form-control-0bfcc7ea.js +5 -0
  333. package/dist/nano-components/form-control-0bfcc7ea.js.map +1 -0
  334. package/dist/nano-components/{fullscreen-86fa276a.js → fullscreen-09677a62.js} +2 -2
  335. package/dist/nano-components/{index-f626f476.js → index-dc076ea6.js} +2 -2
  336. package/dist/nano-components/index-dc076ea6.js.map +1 -0
  337. package/dist/nano-components/index.esm.js +1 -1
  338. package/dist/nano-components/index.esm.js.map +1 -1
  339. package/dist/nano-components/{lazyload-994232a6.js → lazyload-43fd583a.js} +2 -2
  340. package/dist/nano-components/{modal-bd9638c0.js → modal-88c117cd.js} +2 -2
  341. package/dist/nano-components/modal-88c117cd.js.map +1 -0
  342. package/dist/nano-components/nano-accordion.entry.js +1 -1
  343. package/dist/nano-components/nano-accordion.entry.js.map +1 -1
  344. package/dist/nano-components/nano-alert.entry.js +1 -1
  345. package/dist/nano-components/nano-alert.entry.js.map +1 -1
  346. package/dist/nano-components/nano-algolia-filter.entry.js +1 -1
  347. package/dist/nano-components/nano-algolia-filter.entry.js.map +1 -1
  348. package/dist/nano-components/nano-algolia.entry.js +1 -1
  349. package/dist/nano-components/nano-algolia.entry.js.map +1 -1
  350. package/dist/nano-components/nano-checkbox-group.entry.js +1 -1
  351. package/dist/nano-components/nano-checkbox-group.entry.js.map +1 -1
  352. package/dist/nano-components/nano-checkbox.entry.js +1 -1
  353. package/dist/nano-components/nano-checkbox.entry.js.map +1 -1
  354. package/dist/nano-components/nano-components.css +1 -1
  355. package/dist/nano-components/nano-components.esm.js +1 -1
  356. package/dist/nano-components/nano-components.esm.js.map +1 -1
  357. package/dist/nano-components/nano-datalist_3.entry.js +1 -1
  358. package/dist/nano-components/nano-datalist_3.entry.js.map +1 -1
  359. package/dist/nano-components/nano-date-input.entry.js +1 -1
  360. package/dist/nano-components/nano-date-input.entry.js.map +1 -1
  361. package/dist/nano-components/nano-date-picker.entry.js +1 -1
  362. package/dist/nano-components/nano-date-picker.entry.js.map +1 -1
  363. package/dist/nano-components/nano-demo.entry.js +1 -1
  364. package/dist/nano-components/nano-demo.entry.js.map +1 -1
  365. package/dist/nano-components/nano-details.entry.js +1 -1
  366. package/dist/nano-components/nano-dialog.entry.js +1 -1
  367. package/dist/nano-components/nano-drawer.entry.js +1 -1
  368. package/dist/nano-components/nano-drawer.entry.js.map +1 -1
  369. package/dist/nano-components/nano-dropdown.entry.js +1 -1
  370. package/dist/nano-components/nano-dropdown.entry.js.map +1 -1
  371. package/dist/nano-components/nano-field-validator.entry.js +1 -1
  372. package/dist/nano-components/nano-field-validator.entry.js.map +1 -1
  373. package/dist/nano-components/nano-file-upload.entry.js +1 -1
  374. package/dist/nano-components/nano-file-upload.entry.js.map +1 -1
  375. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js +1 -1
  376. package/dist/nano-components/nano-global-nav-user-profile_3.entry.js.map +1 -1
  377. package/dist/nano-components/nano-global-nav.entry.js +1 -1
  378. package/dist/nano-components/nano-global-nav.entry.js.map +1 -1
  379. package/dist/nano-components/nano-icon-button_2.entry.js +1 -1
  380. package/dist/nano-components/nano-icon-button_2.entry.js.map +1 -1
  381. package/dist/nano-components/nano-icon.entry.js +1 -1
  382. package/dist/nano-components/nano-icon.entry.js.map +1 -1
  383. package/dist/nano-components/nano-input.entry.js +1 -1
  384. package/dist/nano-components/nano-input.entry.js.map +1 -1
  385. package/dist/nano-components/nano-range.entry.js +1 -1
  386. package/dist/nano-components/nano-slides-4dab533a.js +20 -0
  387. package/dist/nano-components/nano-slides-4dab533a.js.map +1 -0
  388. package/dist/nano-components/nano-slides.entry.js +1 -1
  389. package/dist/nano-components/nano-sortable.entry.js +1 -1
  390. package/dist/nano-components/nano-sortable.entry.js.map +1 -1
  391. package/dist/nano-components/nano-split-pane.entry.js +1 -1
  392. package/dist/nano-components/nano-tab-content.entry.js +1 -1
  393. package/dist/nano-components/nano-tab-content.entry.js.map +1 -1
  394. package/dist/nano-components/nano-tab-group.entry.js +1 -1
  395. package/dist/nano-components/nano-tab-group.entry.js.map +1 -1
  396. package/dist/nano-components/nano-table-7c8eb23e.js +5 -0
  397. package/dist/nano-components/nano-table-7c8eb23e.js.map +1 -0
  398. package/dist/nano-components/nano-table.entry.js +1 -1
  399. package/dist/nano-components/{page-dots-467ace2e.js → page-dots-a055f884.js} +2 -2
  400. package/dist/{esm/table.worker-f258383d.js → nano-components/table.worker-4aad752d.js} +1 -1
  401. package/dist/nano-components/{table.worker-c5463b23.js → table.worker-bdb6a68c.js} +2 -2
  402. package/dist/nano-components/theme-931bd452.js +5 -0
  403. package/dist/nano-components/{theme-82feb8cf.js.map → theme-931bd452.js.map} +1 -1
  404. package/dist/nano-components/transitions-bd15e312.js +5 -0
  405. package/dist/nano-components/transitions-bd15e312.js.map +1 -0
  406. package/dist/types/components/select/select.d.ts +18 -4
  407. package/dist/types/components/slides/slides.d.ts +0 -7
  408. package/dist/types/components.d.ts +22 -5
  409. package/docs-json.json +62 -22
  410. package/docs-vscode.json +5 -1
  411. package/hydrate/index.js +321 -243
  412. package/package.json +2 -2
  413. package/dist/cjs/component-store-149aeffe.js.map +0 -1
  414. package/dist/cjs/drag-777bd8dd.js.map +0 -1
  415. package/dist/cjs/form-control-cae1e493.js.map +0 -1
  416. package/dist/cjs/index-72ee0363.js.map +0 -1
  417. package/dist/cjs/modal-b9b40f6d.js.map +0 -1
  418. package/dist/cjs/nano-slides-2f3dcc02.js.map +0 -1
  419. package/dist/cjs/nano-table-43f4377f.js.map +0 -1
  420. package/dist/cjs/table.worker-399650a3.js.map +0 -1
  421. package/dist/cjs/theme-9cbe28c5.js.map +0 -1
  422. package/dist/cjs/transitions-cc18619c.js.map +0 -1
  423. package/dist/esm/component-store-f7eb0a56.js.map +0 -1
  424. package/dist/esm/drag-1723a4cc.js.map +0 -1
  425. package/dist/esm/form-control-8c2750f9.js.map +0 -1
  426. package/dist/esm/index-f626f476.js.map +0 -1
  427. package/dist/esm/modal-bd9638c0.js.map +0 -1
  428. package/dist/esm/nano-slides-9908c44d.js.map +0 -1
  429. package/dist/esm/nano-table-85d83eb2.js.map +0 -1
  430. package/dist/esm/table.worker-c5463b23.js.map +0 -1
  431. package/dist/esm/theme-82feb8cf.js.map +0 -1
  432. package/dist/esm/transitions-fb09eb32.js.map +0 -1
  433. package/dist/nano-components/component-store-f7eb0a56.js +0 -5
  434. package/dist/nano-components/component-store-f7eb0a56.js.map +0 -1
  435. package/dist/nano-components/drag-1723a4cc.js +0 -5
  436. package/dist/nano-components/form-control-8c2750f9.js +0 -5
  437. package/dist/nano-components/form-control-8c2750f9.js.map +0 -1
  438. package/dist/nano-components/index-f626f476.js.map +0 -1
  439. package/dist/nano-components/modal-bd9638c0.js.map +0 -1
  440. package/dist/nano-components/nano-slides-9908c44d.js +0 -20
  441. package/dist/nano-components/nano-slides-9908c44d.js.map +0 -1
  442. package/dist/nano-components/nano-table-85d83eb2.js +0 -5
  443. package/dist/nano-components/nano-table-85d83eb2.js.map +0 -1
  444. package/dist/nano-components/theme-82feb8cf.js +0 -5
  445. package/dist/nano-components/transitions-fb09eb32.js +0 -5
  446. package/dist/nano-components/transitions-fb09eb32.js.map +0 -1
  447. /package/dist/nano-components/{fade-1aa7a6db.js.map → fade-00c7c18e.js.map} +0 -0
  448. /package/dist/nano-components/{fullscreen-86fa276a.js.map → fullscreen-09677a62.js.map} +0 -0
  449. /package/dist/nano-components/{lazyload-994232a6.js.map → lazyload-43fd583a.js.map} +0 -0
  450. /package/dist/nano-components/{page-dots-467ace2e.js.map → page-dots-a055f884.js.map} +0 -0
  451. /package/dist/nano-components/{table.worker-c5463b23.js.map → table.worker-bdb6a68c.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanoporetech-digital/components",
3
- "version": "5.11.9",
3
+ "version": "5.12.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://git.oxfordnanolabs.local/Digital/nano-components"
@@ -129,7 +129,7 @@
129
129
  "nanopore",
130
130
  "digital"
131
131
  ],
132
- "gitHead": "e1b0300cd555ce32b8bcc0cc9353654aadc09beb",
132
+ "gitHead": "80b555fe17f4ba39659d2a1b1db21d6fb1613d8f",
133
133
  "volta": {
134
134
  "node": "18.14.0"
135
135
  }
@@ -1 +0,0 @@
1
- {"file":"component-store-149aeffe.js","mappings":"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","names":["getElement","debounce","getset.urlGet","getset.storageGet","getset.sessionGet","getset.urlSet","getset.storageSet","getset.sessionSet"],"sources":["./node_modules/tyqs/dist/parse.js","./node_modules/tyqs/dist/stringify.js","./src/utils/store/get-set.ts","./src/utils/store/component-store.ts"],"sourcesContent":["export function parse(searchParams, replacer) {\n const params = new URLSearchParams([...new URLSearchParams(searchParams)].map(([k, v]) => [\n k.replace(/([[\\]])/g, (_, s) => s === '[' ? '.' : ''),\n v,\n ]));\n const t = {};\n new Set(params.keys()).forEach((paramKey) => {\n const rawValue = params\n .getAll(paramKey)\n .join(',')\n .split(',')\n .map(n => decodeURIComponent(n.replace(/\\+/g, ' ')));\n const value = rawValue.length === 1 ? rawValue[0] : rawValue;\n let key = paramKey;\n let v = replacer ?\n replacer({\n firstRawValue: params.get(paramKey).split(','),\n key,\n rawValue,\n value,\n }) :\n value;\n if (key.includes('.')) {\n const [f, ...kl] = key.split('.');\n const o = (t[f] || {});\n const l = kl.pop();\n (kl.reduce((p, n) => (p[n] ??= {}), o))[l] = v;\n key = f;\n v = o;\n }\n t[key] = v;\n });\n return t;\n}\n//# sourceMappingURL=parse.js.map","export function stringify(input, replacer) {\n if (!input)\n return '';\n const stack = [['', input]];\n const sp = new URLSearchParams();\n while (stack.length) {\n const [itemKey, itemValue] = stack.pop();\n Object.entries(itemValue).forEach(([key, rawValue]) => {\n if (rawValue == null && replacer == null)\n return;\n const typeOfValue = typeof (rawValue);\n const flattenedKey = itemKey ? `${itemKey}.${key}` : key;\n if (rawValue !== null && typeOfValue === 'object' && !Array.isArray(rawValue)) {\n stack.push([flattenedKey, rawValue]);\n }\n else {\n let value = typeOfValue === 'string' ? rawValue : '';\n if (Array.isArray(rawValue))\n value = rawValue.join(',');\n else if (rawValue?.toJSON)\n value = rawValue.toJSON();\n else if (rawValue?.toString)\n value = rawValue.toString();\n else\n value = String(rawValue);\n const vv = replacer ?\n replacer({ flattenedKey, key, rawValue, value }) :\n value;\n vv != null && sp.append(flattenedKey, vv);\n }\n });\n }\n sp.sort();\n return sp.toString();\n}\n//# sourceMappingURL=stringify.js.map","import { parse, stringify } from 'tyqs';\n\nconst STORAGE_NAME_SPACE = 'nano-component-store:';\n\nconst urlRead = (\n from: 'hash' | 'query' = 'hash',\n win: Window = window\n): void | object => {\n if (!win || !win.location) return {};\n if (from === 'hash' && win.location.hash)\n return parse(win.location.hash.replace(/^\\#/, ''));\n else if (from === 'query' && win.location.search)\n return parse(win.location.search.replace(/^\\?/, ''));\n return {};\n};\n\nconst urlSave = (\n object: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n if (!win || !win.history) return;\n const oldQuery = to === 'query' ? win.location.search : win.location.hash;\n const basePath =\n to === 'query'\n ? win.location.pathname\n : win.location.pathname + win.location.search;\n let queryStr = stringify(object);\n\n if (!queryStr || !queryStr.length) {\n if (!oldQuery || !oldQuery.length) return;\n if (method === 'replace') win.history.replaceState(null, null, basePath);\n else win.history.pushState(null, null, basePath);\n return;\n }\n\n if (to === 'hash' && win.location.hash === '#' + queryStr) {\n try {\n (document.querySelector('#' + queryStr) as HTMLElement).focus();\n } catch (e) {}\n return;\n }\n queryStr = (to === 'hash' ? '#' : '?') + queryStr;\n if (queryStr === oldQuery) return;\n if (method === 'replace')\n win.history.replaceState(null, null, basePath + queryStr);\n else win.history.pushState(null, null, basePath + queryStr);\n};\n\nexport const urlSet = (\n id: string,\n data: object,\n to: 'hash' | 'query' = 'hash',\n win: Window = window,\n method: 'replace' | 'push' = 'replace'\n) => {\n // sanitize the incoming key\n id = Object.keys(parse(id))[0];\n const object = {};\n object[id] = data;\n\n let currentData = urlRead(to, win);\n currentData = { ...currentData, ...object };\n urlSave(currentData, to, win, method);\n};\n\nexport const urlGet = (\n key: string,\n to: 'hash' | 'query' = 'hash',\n win: Window = window\n) => {\n // sanitize the incoming key\n key = Object.keys(parse(key))[0];\n const currentData = urlRead(to, win);\n return currentData[key] || null;\n};\n\nexport const sessionSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n try {\n if (!object) {\n win.sessionStorage.removeItem(STORAGE_NAME_SPACE + key);\n return;\n }\n win.sessionStorage.setItem(\n STORAGE_NAME_SPACE + key,\n JSON.stringify(object)\n );\n } catch (e) {\n throw e;\n }\n};\n\nexport const sessionGet = (key: string, win: Window = window) => {\n try {\n const configStr = win.sessionStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n } catch (e) {\n throw e;\n }\n};\n\nexport const storageSet = (\n key: string,\n object: object,\n win: Window = window\n) => {\n try {\n if (!object) {\n win.localStorage.removeItem(STORAGE_NAME_SPACE + key);\n return;\n }\n win.localStorage.setItem(STORAGE_NAME_SPACE + key, JSON.stringify(object));\n } catch (e) {\n throw e;\n }\n};\n\nexport const storageGet = (key: string, win: Window = window) => {\n try {\n const configStr = win.localStorage.getItem(STORAGE_NAME_SPACE + key);\n return configStr !== null ? JSON.parse(configStr) : null;\n } catch (e) {\n throw e;\n }\n};\n","import { getElement } from '@stencil/core';\nimport { debounce } from '../throttle';\nimport * as getset from './get-set';\n\nexport type StorageParams = Record<string, any>;\n\nexport type StorageMethods =\n | 'url-hash'\n | 'url-query'\n | 'url-hash-push'\n | 'url-query-push'\n | 'local'\n | 'session';\n\ninterface Component {\n connectedCallback?(): void;\n disconnectedCallback?(): void;\n componentDidRender?(): void;\n [key: string]: any;\n}\n\nconst store = new Map<string, Store>();\n\nexport const ComponentStore = {\n init(\n component: Component,\n keys: string[],\n method?: StorageMethods,\n id?: string\n ) {\n const getId = id || component.storeId || getElement(component).id;\n if (!getId) {\n console.error(\n 'No id set. You can only instantiate a new component store with an id. '\n );\n return;\n }\n if (store.get(getId)) {\n console.error(\n 'Duplicate store id usage. A store ID must be unique!',\n getId\n );\n return;\n }\n\n const initialState = keys.reduce((acc, key) => {\n if (typeof component[key] !== undefined) acc[key] = component[key];\n return acc;\n }, {});\n\n store.set(getId, new Store(getId, component, keys, initialState, method));\n const componentstore = store.get(getId);\n componentstore.dispatchToProps();\n\n const connectedCallback = component.connectedCallback;\n component.connectedCallback = function () {\n store.set(getId, new Store(getId, component, keys, initialState, method));\n const componentstore = store.get(getId);\n if (connectedCallback) {\n connectedCallback.call(component);\n }\n if (componentstore) componentstore.dispatchToProps();\n };\n\n const componentDidRender = component.componentDidRender;\n component.componentDidRender = function () {\n const componentstore = store.get(getId);\n if (componentDidRender) {\n componentDidRender.call(component);\n }\n if (componentstore) componentstore.savePropsToStore();\n };\n\n const disconnectedCallback = component.disconnectedCallback;\n component.disconnectedCallback = function () {\n const componentstore = store.get(getId);\n if (componentstore) componentstore.delete();\n store.delete(getId);\n if (disconnectedCallback) {\n disconnectedCallback.call(component);\n }\n };\n },\n};\n\nclass Store {\n private method: StorageMethods = 'session';\n private keys: string[];\n private id: string;\n private component: Component;\n private initialState: { [key: string]: any } = {};\n private updateStore: boolean = true;\n\n constructor(\n id: string,\n component: Component,\n keys: string[],\n initialState?: any,\n method?: StorageMethods\n ) {\n if (!id)\n throw new Error(\n 'No id set. You can only instantiate a new component store with an id'\n );\n this.id = id;\n this.keys = keys;\n this.component = component;\n if (initialState) this.initialState = initialState;\n if (method) this.method = method;\n\n this.savePropsToStore = debounce(this.savePropsToStore, 500);\n\n if (this.method === 'url-hash-push' || this.method === 'url-query-push') {\n window.addEventListener('popstate', this.onUrlChange);\n }\n }\n\n private onUrlChange = () => {\n this.dispatchToProps(false);\n };\n\n private equality(val1: any, val2: any) {\n if (typeof val1 !== typeof val2) return false;\n if (typeof val1 !== 'object') return val1 === val2;\n return JSON.stringify(val1) === JSON.stringify(val2);\n }\n\n get getData() {\n const data = this.keys.reduce((acc, key) => {\n const isEqual = this.equality(\n this.component[key],\n this.initialState[key]\n );\n if (typeof this.component[key] !== 'undefined' && !isEqual) {\n acc[key] = this.component[key];\n } else if (isEqual) delete acc[key];\n return acc;\n }, {});\n return Object.keys(data).length ? data : undefined;\n }\n\n private retrieve() {\n switch (this.method) {\n case 'url-hash':\n case 'url-hash-push':\n return getset.urlGet(this.id, 'hash');\n case 'url-query':\n case 'url-query-push':\n return getset.urlGet(this.id, 'query');\n case 'local':\n return getset.storageGet(this.id);\n default:\n return getset.sessionGet(this.id);\n }\n }\n\n private save(data: any) {\n switch (this.method) {\n case 'url-hash':\n return getset.urlSet(this.id, data, 'hash');\n case 'url-query':\n return getset.urlSet(this.id, data, 'query');\n case 'url-hash-push':\n return getset.urlSet(this.id, data, 'hash', window, 'push');\n case 'url-query-push':\n return getset.urlSet(this.id, data, 'query', window, 'push');\n case 'local':\n return getset.storageSet(this.id, data);\n default:\n return getset.sessionSet(this.id, data);\n }\n }\n\n public savePropsToStore = () => {\n if (this.updateStore) {\n this.save(this.getData);\n } else if (!this.updateStore) this.updateStore = true;\n };\n\n public dispatchToProps = (updateStore = true) => {\n const savedData = this.retrieve();\n if (!savedData && updateStore) return;\n\n // console.log('dispatching', savedData, this.id, this.initialState);\n this.updateStore = updateStore;\n\n this.keys.forEach((key) => {\n this.component[key] = savedData ? savedData[key] : undefined;\n });\n };\n\n public delete = () => {\n if (this.method === 'url-hash-push' || this.method === 'url-query-push') {\n window.removeEventListener('popstate', this.onUrlChange);\n }\n };\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"drag-777bd8dd.js","mappings":";;;;;AA0BA;SACgB,IAAI,CAAC,SAAsB,EAAE,OAA8B;EACzE,MAAM,cAAc,GAAmB;IACrC,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;GACX,CAAC;EAEF,SAAS,IAAI,CAAC,YAA8C;IAC1D,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,WAAY,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC;IACnD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,IAAI,OAAO,CAAC,QAAQ,EAAE;MACpB,CAAC;QACC,YAAY,CAAC,KAAK;UAClB,cAAc,CAAC,KAAK;WACnB,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;MACrC,CAAC;QACC,YAAY,CAAC,KAAK;UAClB,cAAc,CAAC,KAAK;WACnB,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;KACtC;SAAM;MACL,CAAC,GAAG,YAAY,CAAC,KAAK,GAAG,OAAO,CAAC;MACjC,CAAC,GAAG,YAAY,CAAC,KAAK,GAAG,OAAO,CAAC;KAClC;IAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;MACnB,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACtB;GACF;EAED,SAAS,IAAI;IACX,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAClD,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IAEhD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;MACnB,OAAO,CAAC,MAAM,EAAE,CAAC;KAClB;GACF;EAED,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;EAClE,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;EAE7C,IAAI,CAAC,CAAC,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAA;IAAE,OAAO;EAErC,IAAI,YAA8C,CAAC;EAEnD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,SAAS,CAAC,EAAE;IACpC,YAAY,GAAG;MACb,KAAK,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAA2B,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;MAC7D,KAAK,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAA2B,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK;KAC9D,CAAC;GACH;OAAM;IACL,YAAY,GAAG;MACb,KAAK,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAA2B,EAAC,KAAK;MAClD,KAAK,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAA2B,EAAC,KAAK;KACnD,CAAC;GACH;EAED,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,WAAY,CAAC;EACzD,MAAM,IAAI,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;EAE/C,cAAc,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;EAC1C,cAAc,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;EAC1C,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC;EAC7D,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,WAAW,CAAC;;AAG9D;;;;","names":[],"sources":["./src/utils/drag.ts"],"sourcesContent":["interface DragOptions {\n /** Callback that runs as dragging occurs. */\n onMove: (x: number, y: number) => void;\n /** Callback that runs when dragging stops. */\n onStop: () => void;\n /**\n * When an initial event is passed, the first drag will be triggered immediately using the coordinates therein. This\n * is useful when the drag is initiated by a mousedown/touchstart event but you want the initial \"click\" to activate\n * a drag (e.g. positioning a handle initially at the click target).\n */\n initialEvent: TouchEvent | PointerEvent | MouseEvent;\n /**\n * Used in conjunction with `options.initialEvent`\n * Subtracts the initial pointer co-ordinates from the move co-ordinates.\n * This is useful for tracking how far an element has been dragged\n */\n relative?: boolean;\n}\n\ninterface InitialOffsets {\n pageX: number;\n pageY: number;\n offsetX: number;\n offsetY: number;\n}\n\n/** Begins listening for dragging. */\nexport function drag(container: HTMLElement, options?: Partial<DragOptions>) {\n const initialOffsets: InitialOffsets = {\n pageX: 0,\n pageY: 0,\n offsetX: 0,\n offsetY: 0,\n };\n\n function move(pointerEvent: { pageX: number; pageY: number }) {\n const dims = container.getBoundingClientRect();\n const defaultView = container.ownerDocument.defaultView!;\n const offsetX = dims.left + defaultView.pageXOffset;\n const offsetY = dims.top + defaultView.pageYOffset;\n let x = 0;\n let y = 0;\n\n if (options.relative) {\n x =\n pointerEvent.pageX -\n initialOffsets.pageX -\n (offsetX - initialOffsets.offsetX);\n y =\n pointerEvent.pageY -\n initialOffsets.pageY -\n (offsetY - initialOffsets.offsetY);\n } else {\n x = pointerEvent.pageX - offsetX;\n y = pointerEvent.pageY - offsetY;\n }\n\n if (options?.onMove) {\n options.onMove(x, y);\n }\n }\n\n function stop() {\n document.removeEventListener('pointermove', move);\n document.removeEventListener('pointerup', stop);\n\n if (options?.onStop) {\n options.onStop();\n }\n }\n\n document.addEventListener('pointermove', move, { passive: true });\n document.addEventListener('pointerup', stop);\n\n if (!!!options?.initialEvent) return;\n\n let initialEvent: { pageX: number; pageY: number };\n\n if (options?.initialEvent['touches']) {\n initialEvent = {\n pageX: (options?.initialEvent as TouchEvent).touches[0].pageX,\n pageY: (options?.initialEvent as TouchEvent).touches[0].pageY,\n };\n } else {\n initialEvent = {\n pageX: (options?.initialEvent as MouseEvent).pageX,\n pageY: (options?.initialEvent as MouseEvent).pageY,\n };\n }\n\n const defaultView = container.ownerDocument.defaultView!;\n const dims = container.getBoundingClientRect();\n\n initialOffsets.pageX = initialEvent.pageX;\n initialOffsets.pageY = initialEvent.pageY;\n initialOffsets.offsetX = dims.left + defaultView.pageXOffset;\n initialOffsets.offsetY = dims.top + defaultView.pageYOffset;\n\n // move(initialEvent);\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"form-control-cae1e493.js","mappings":"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","names":["h"],"sources":["./src/components/form-control/form-control.tsx"],"sourcesContent":["import { FunctionalComponent, h, VNode } from '@stencil/core';\nimport type { TextFieldTypes } from '../../interface';\n\ninterface FormControlWrapProps {\n rtl: boolean;\n floatLabel: boolean;\n labelId: string;\n label: string;\n moreId: string;\n helperEndId: string;\n type?: TextFieldTypes;\n showInlineError: boolean;\n hasHelperSlot: boolean;\n errorMessage: string;\n controlId: string;\n hasLabelSlot: boolean;\n hideLabel: boolean;\n placeholder: string;\n hasValue: boolean;\n showCharCount?: boolean;\n maxlength?: number;\n charCount?: number;\n hasHelperEndSlot?: boolean;\n}\n\ninterface FormControlProps {\n clearControl: boolean;\n onClearText?: () => void;\n readonly: boolean;\n disabled: boolean;\n control: HTMLNanoInputElement | HTMLNanoSelectElement;\n ref?: (elm?: HTMLElement) => void;\n endSlot?: VNode;\n endValueSlot?: VNode;\n startSlot?: VNode;\n}\n\ninterface LabelProps extends FormControlWrapProps {\n rtl: boolean;\n}\n\nconst renderLabel = ({\n label,\n hasLabelSlot,\n controlId,\n labelId,\n floatLabel,\n placeholder,\n hideLabel,\n hasValue,\n rtl,\n showCharCount,\n maxlength,\n charCount,\n}: LabelProps) => {\n if (!label && !hasLabelSlot) return;\n if (floatLabel) {\n return (\n <label class=\"form-ctrl__float-label\" htmlFor={controlId} id={labelId}>\n {label && label}\n {!label && hasLabelSlot && <slot name=\"label\" />}\n {showCharCount && (\n <span class=\"form-ctrl__label-charcount\">\n {maxlength ? ` ${charCount}/${maxlength}` : ` ${charCount}`}\n </span>\n )}\n </label>\n );\n } else {\n return (\n <label\n class={{ 'form-ctrl__label': true, 'visually-hide': hideLabel }}\n htmlFor={controlId}\n id={labelId}\n >\n <div class=\"form-ctrl__label-wrap\">\n {placeholder && hasValue && rtl && (\n <span class=\"form-ctrl__label-placeholder\">{placeholder} / </span>\n )}\n <span class=\"form-ctrl__labeltext\">\n {label && label}\n {!label && hasLabelSlot && <slot name=\"label\" />}\n </span>\n {placeholder && hasValue && !rtl && (\n <span class=\"form-ctrl__label-placeholder\"> / {placeholder}</span>\n )}\n </div>\n {showCharCount && (\n <span class=\"form-ctrl__label-charcount\">\n {maxlength\n ? maxlength - charCount + ' left'\n : charCount + ' characters'}\n </span>\n )}\n </label>\n );\n }\n};\n\nexport const FormControlWrap: FunctionalComponent<FormControlWrapProps> = (\n props: FormControlWrapProps,\n children\n) => {\n const {\n rtl,\n floatLabel,\n label,\n moreId,\n helperEndId,\n type,\n hasHelperSlot,\n showInlineError,\n errorMessage,\n hasHelperEndSlot,\n } = props;\n\n return (\n <div\n class={{\n 'has-label': label !== null && !floatLabel,\n 'has-float-label': label !== null && floatLabel,\n 'has-helper-end': hasHelperEndSlot,\n rtl,\n 'form-ctrl': true,\n }}\n >\n <div class=\"form-ctrl__wrapper\">\n {!floatLabel ? renderLabel({ ...props }) : ''}\n <div\n class={{\n 'form-ctrl__input': true,\n 'form-ctrl__textarea': type === 'textarea',\n }}\n >\n {floatLabel && renderLabel({ ...props, rtl })}\n {children}\n </div>\n {showInlineError || hasHelperSlot ? (\n <div class=\"form-ctrl__more\" id={moreId}>\n {!!showInlineError ? (\n <div class=\"form-ctrl__error\" aria-live=\"polite\">\n {errorMessage}\n </div>\n ) : (\n ''\n )}\n <div class=\"form-ctrl__helper\">\n <slot name=\"helper\" />\n </div>\n </div>\n ) : (\n ''\n )}\n </div>\n {hasHelperEndSlot ? (\n <div class=\"form-ctrl__helper-end\" id={helperEndId}>\n <slot name=\"helper-end\" />\n </div>\n ) : (\n ''\n )}\n </div>\n );\n};\n\nexport const FormControl: FunctionalComponent<FormControlProps> = (\n props: FormControlProps,\n children\n) => {\n const {\n clearControl,\n onClearText,\n readonly,\n disabled,\n control,\n ref,\n endSlot,\n endValueSlot,\n startSlot,\n } = props;\n const clickThrough = () => {\n control.setFocus();\n };\n\n return (\n <div\n class=\"form-ctrl__input-wrap\"\n ref={(el) => {\n if (ref) ref(el);\n }}\n >\n <span class=\"form-ctrl__slot-start\">\n <slot name=\"start\" />\n {startSlot}\n </span>\n {children}\n {clearControl && !readonly && !disabled && (\n <button\n type=\"button\"\n class=\"icon form-ctrl__clear-btn\"\n tabindex=\"-1\"\n onTouchStart={onClearText}\n onMouseDown={onClearText}\n >\n <nano-icon\n name=\"light/times\"\n role=\"img\"\n ariaLabel=\"Clear content\"\n ></nano-icon>\n </button>\n )}\n <span class=\"form-ctrl__slot-value-end\" onClick={clickThrough}>\n <slot name=\"value-end\" />\n {endValueSlot}\n </span>\n <span class=\"form-ctrl__slot-end\">\n <slot name=\"end\" />\n {endSlot}\n </span>\n </div>\n );\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"index-72ee0363.js","mappings":"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","names":[],"sources":["./src/utils/gesture/gesture-controller.ts","./src/utils/gesture/listener.ts","./src/utils/gesture/pointer-events.ts","./src/utils/gesture/recognizers.ts","./src/utils/gesture/index.ts"],"sourcesContent":["class GestureController {\n private gestureId = 0;\n private requestedStart = new Map<number, number>();\n private disabledGestures = new Map<string, Set<number>>();\n private disabledScroll = new Set<number>();\n private capturedId?: number;\n\n /**\n * Creates a gesture delegate based on the GestureConfig passed\n * @param config\n * @returns a new gesture delegate\n */\n createGesture(config: GestureConfig): GestureDelegate {\n return new GestureDelegate(\n this,\n this.newID(),\n config.name,\n config.priority || 0,\n !!config.disableScroll\n );\n }\n\n /**\n * Creates a blocker that will block any other gesture events from firing. Set in the ion-gesture component.\n * @param opts\n * @returns a new blocker delegate\n */\n createBlocker(opts: BlockerConfig = {}): BlockerDelegate {\n return new BlockerDelegate(\n this,\n this.newID(),\n opts.disable,\n !!opts.disableScroll\n );\n }\n\n start(gestureName: string, id: number, priority: number): boolean {\n if (!this.canStart(gestureName)) {\n this.requestedStart.delete(id);\n return false;\n }\n this.requestedStart.set(id, priority);\n return true;\n }\n\n capture(gestureName: string, id: number, priority: number): boolean {\n if (!this.start(gestureName, id, priority)) {\n return false;\n }\n const requestedStart = this.requestedStart;\n let maxPriority = -10000;\n\n requestedStart.forEach((value) => {\n maxPriority = Math.max(maxPriority, value);\n });\n\n if (maxPriority === priority) {\n this.capturedId = id;\n requestedStart.clear();\n\n const event = new CustomEvent('ionGestureCaptured', {\n detail: { gestureName },\n });\n document.dispatchEvent(event);\n return true;\n }\n requestedStart.delete(id);\n\n return false;\n }\n\n release(id: number) {\n this.requestedStart.delete(id);\n\n if (this.capturedId === id) {\n this.capturedId = undefined;\n }\n }\n\n disableGesture(gestureName: string, id: number) {\n let set = this.disabledGestures.get(gestureName);\n if (set === undefined) {\n set = new Set<number>();\n this.disabledGestures.set(gestureName, set);\n }\n set.add(id);\n }\n\n enableGesture(gestureName: string, id: number) {\n const set = this.disabledGestures.get(gestureName);\n if (set !== undefined) {\n set.delete(id);\n }\n }\n\n disableScroll(id: number) {\n this.disabledScroll.add(id);\n if (this.disabledScroll.size === 1) {\n document.body.classList.add(BACKDROP_NO_SCROLL);\n }\n }\n\n enableScroll(id: number) {\n this.disabledScroll.delete(id);\n if (this.disabledScroll.size === 0) {\n document.body.classList.remove(BACKDROP_NO_SCROLL);\n }\n }\n\n canStart(gestureName: string): boolean {\n if (this.capturedId !== undefined) {\n // a gesture already captured\n return false;\n }\n\n if (this.isDisabled(gestureName)) {\n return false;\n }\n\n return true;\n }\n\n isCaptured(): boolean {\n return this.capturedId !== undefined;\n }\n\n isScrollDisabled(): boolean {\n return this.disabledScroll.size > 0;\n }\n\n isDisabled(gestureName: string): boolean {\n const disabled = this.disabledGestures.get(gestureName);\n if (disabled && disabled.size > 0) {\n return true;\n }\n return false;\n }\n\n private newID(): number {\n this.gestureId++;\n return this.gestureId;\n }\n}\n\nclass GestureDelegate {\n private ctrl?: GestureController;\n private priority: number;\n\n constructor(\n ctrl: GestureController,\n private id: number,\n private name: string,\n priority: number,\n private disableScroll: boolean\n ) {\n this.priority = priority * 1000000 + id;\n this.ctrl = ctrl;\n }\n\n canStart(): boolean {\n if (!this.ctrl) {\n return false;\n }\n\n return this.ctrl.canStart(this.name);\n }\n\n start(): boolean {\n if (!this.ctrl) {\n return false;\n }\n\n return this.ctrl.start(this.name, this.id, this.priority);\n }\n\n capture(): boolean {\n if (!this.ctrl) {\n return false;\n }\n\n const captured = this.ctrl.capture(this.name, this.id, this.priority);\n if (captured && this.disableScroll) {\n this.ctrl.disableScroll(this.id);\n }\n\n return captured;\n }\n\n release() {\n if (this.ctrl) {\n this.ctrl.release(this.id);\n\n if (this.disableScroll) {\n this.ctrl.enableScroll(this.id);\n }\n }\n }\n\n destroy() {\n this.release();\n this.ctrl = undefined;\n }\n}\n\nclass BlockerDelegate {\n private ctrl?: GestureController;\n\n constructor(\n ctrl: GestureController,\n private id: number,\n private disable: string[] | undefined,\n private disableScroll: boolean\n ) {\n this.ctrl = ctrl;\n }\n\n block() {\n if (!this.ctrl) {\n return;\n }\n if (this.disable) {\n for (const gesture of this.disable) {\n this.ctrl.disableGesture(gesture, this.id);\n }\n }\n\n if (this.disableScroll) {\n this.ctrl.disableScroll(this.id);\n }\n }\n\n unblock() {\n if (!this.ctrl) {\n return;\n }\n if (this.disable) {\n for (const gesture of this.disable) {\n this.ctrl.enableGesture(gesture, this.id);\n }\n }\n if (this.disableScroll) {\n this.ctrl.enableScroll(this.id);\n }\n }\n\n destroy() {\n this.unblock();\n this.ctrl = undefined;\n }\n}\n\nexport interface GestureConfig {\n name: string;\n priority?: number;\n disableScroll?: boolean;\n}\n\nexport interface BlockerConfig {\n disable?: string[];\n disableScroll?: boolean;\n}\n\nconst BACKDROP_NO_SCROLL = 'backdrop-no-scroll';\nexport const GESTURE_CONTROLLER = new GestureController();\n","export const addEventListener = (\n el: any,\n eventName: string,\n callback: EventListenerOrEventListenerObject,\n opts: {\n passive?: boolean;\n capture?: boolean;\n }\n): (() => void) => {\n // use event listener options when supported\n // otherwise it's just a boolean for the \"capture\" arg\n const listenerOpts = supportsPassive(el)\n ? {\n capture: !!opts.capture,\n passive: !!opts.passive,\n }\n : !!opts.capture;\n\n let add: string;\n let remove: string;\n if (el['__zone_symbol__addEventListener']) {\n add = '__zone_symbol__addEventListener';\n remove = '__zone_symbol__removeEventListener';\n } else {\n add = 'addEventListener';\n remove = 'removeEventListener';\n }\n\n el[add](eventName, callback, listenerOpts);\n return () => {\n el[remove](eventName, callback, listenerOpts);\n };\n};\n\nconst supportsPassive = (node: Node) => {\n if (_sPassive === undefined) {\n try {\n const opts = Object.defineProperty({}, 'passive', {\n get: () => {\n _sPassive = true;\n },\n });\n node.addEventListener(\n 'optsTest',\n () => {\n return;\n },\n opts\n );\n } catch (e) {\n _sPassive = false;\n }\n }\n return !!_sPassive;\n};\n\nlet _sPassive: boolean | undefined;\n","import { addEventListener } from './listener';\n\nconst MOUSE_WAIT = 2000;\n\nexport const createPointerEvents = (\n el: Node,\n pointerDown: any,\n pointerMove: any,\n pointerUp: any,\n options: {\n passive?: boolean;\n capture?: boolean;\n }\n) => {\n let rmTouchStart: (() => void) | undefined;\n let rmTouchMove: (() => void) | undefined;\n let rmTouchEnd: (() => void) | undefined;\n let rmTouchCancel: (() => void) | undefined;\n let rmMouseStart: (() => void) | undefined;\n let rmMouseMove: (() => void) | undefined;\n let rmMouseUp: (() => void) | undefined;\n let lastTouchEvent = 0;\n\n const handleTouchStart = (ev: any) => {\n lastTouchEvent = Date.now() + MOUSE_WAIT;\n if (!pointerDown(ev)) {\n return;\n }\n if (!rmTouchMove && pointerMove) {\n rmTouchMove = addEventListener(el, 'touchmove', pointerMove, options);\n }\n if (!rmTouchEnd) {\n rmTouchEnd = addEventListener(el, 'touchend', handleTouchEnd, options);\n }\n if (!rmTouchCancel) {\n rmTouchCancel = addEventListener(\n el,\n 'touchcancel',\n handleTouchEnd,\n options\n );\n }\n };\n\n const handleMouseDown = (ev: any) => {\n if (lastTouchEvent > Date.now()) {\n return;\n }\n if (!pointerDown(ev)) {\n return;\n }\n if (!rmMouseMove && pointerMove) {\n rmMouseMove = addEventListener(\n getDocument(el),\n 'mousemove',\n pointerMove,\n options\n );\n }\n if (!rmMouseUp) {\n rmMouseUp = addEventListener(\n getDocument(el),\n 'mouseup',\n handleMouseUp,\n options\n );\n }\n };\n\n const handleTouchEnd = (ev: any) => {\n stopTouch();\n if (pointerUp) {\n pointerUp(ev);\n }\n };\n\n const handleMouseUp = (ev: any) => {\n stopMouse();\n if (pointerUp) {\n pointerUp(ev);\n }\n };\n\n const stopTouch = () => {\n if (rmTouchMove) {\n rmTouchMove();\n }\n if (rmTouchEnd) {\n rmTouchEnd();\n }\n if (rmTouchCancel) {\n rmTouchCancel();\n }\n rmTouchMove = rmTouchEnd = rmTouchCancel = undefined;\n };\n\n const stopMouse = () => {\n if (rmMouseMove) {\n rmMouseMove();\n }\n if (rmMouseUp) {\n rmMouseUp();\n }\n rmMouseMove = rmMouseUp = undefined;\n };\n\n const stop = () => {\n stopTouch();\n stopMouse();\n };\n\n const enable = (isEnabled = true) => {\n if (!isEnabled) {\n if (rmTouchStart) {\n rmTouchStart();\n }\n if (rmMouseStart) {\n rmMouseStart();\n }\n rmTouchStart = rmMouseStart = undefined;\n stop();\n } else {\n if (!rmTouchStart) {\n rmTouchStart = addEventListener(\n el,\n 'touchstart',\n handleTouchStart,\n options\n );\n }\n if (!rmMouseStart) {\n rmMouseStart = addEventListener(\n el,\n 'mousedown',\n handleMouseDown,\n options\n );\n }\n }\n };\n\n const destroy = () => {\n enable(false);\n pointerUp = pointerMove = pointerDown = undefined;\n };\n\n return {\n enable,\n stop,\n destroy,\n };\n};\n\nconst getDocument = (node: Node) => {\n return node instanceof Document ? node : node.ownerDocument;\n};\n\nexport interface PointerEventsConfig {\n element?: HTMLElement;\n pointerDown: (ev: any) => boolean;\n pointerMove?: (ev: any) => void;\n pointerUp?: (ev: any) => void;\n zone?: boolean;\n capture?: boolean;\n passive?: boolean;\n}\n","export interface PanRecognizer {\n start(x: number, y: number): void;\n detect(x: number, y: number): boolean;\n isGesture(): boolean;\n getDirection(): number;\n}\n\nexport const createPanRecognizer = (\n direction: string,\n thresh: number,\n maxAngle: number\n): PanRecognizer => {\n const radians = maxAngle * (Math.PI / 180);\n const isDirX = direction === 'x';\n const maxCosine = Math.cos(radians);\n const threshold = thresh * thresh;\n\n let startX = 0;\n let startY = 0;\n\n let dirty = false;\n let isPan = 0;\n\n return {\n start(x: number, y: number) {\n startX = x;\n startY = y;\n isPan = 0;\n dirty = true;\n },\n\n detect(x: number, y: number): boolean {\n if (!dirty) {\n return false;\n }\n\n const deltaX = x - startX;\n const deltaY = y - startY;\n const distance = deltaX * deltaX + deltaY * deltaY;\n\n if (distance < threshold) {\n return false;\n }\n const hypotenuse = Math.sqrt(distance);\n const cosine = (isDirX ? deltaX : deltaY) / hypotenuse;\n\n if (cosine > maxCosine) {\n isPan = 1;\n } else if (cosine < -maxCosine) {\n isPan = -1;\n } else {\n isPan = 0;\n }\n\n dirty = false;\n return true;\n },\n\n isGesture(): boolean {\n return isPan !== 0;\n },\n\n getDirection(): number {\n return isPan;\n },\n };\n};\n","import { GESTURE_CONTROLLER } from './gesture-controller';\nimport { createPointerEvents } from './pointer-events';\nimport { createPanRecognizer } from './recognizers';\n\nexport const createGesture = (config: GestureConfig): Gesture => {\n let hasCapturedPan = false;\n let hasStartedPan = false;\n let hasFiredStart = true;\n let isMoveQueued = false;\n\n const finalConfig = {\n disableScroll: false,\n direction: 'x',\n gesturePriority: 0,\n passive: true,\n maxAngle: 40,\n threshold: 10,\n\n ...config,\n };\n\n const canStart = finalConfig.canStart;\n const onWillStart = finalConfig.onWillStart;\n const onStart = finalConfig.onStart;\n const onEnd = finalConfig.onEnd;\n const notCaptured = finalConfig.notCaptured;\n const onMove = finalConfig.onMove;\n const threshold = finalConfig.threshold;\n const passive = finalConfig.passive;\n const blurOnStart = finalConfig.blurOnStart;\n\n const detail = {\n type: 'pan',\n startX: 0,\n startY: 0,\n startTime: 0,\n currentX: 0,\n currentY: 0,\n velocityX: 0,\n velocityY: 0,\n deltaX: 0,\n deltaY: 0,\n currentTime: 0,\n event: undefined as any,\n data: undefined,\n };\n\n const pan = createPanRecognizer(\n finalConfig.direction,\n finalConfig.threshold,\n finalConfig.maxAngle\n );\n const gesture = GESTURE_CONTROLLER.createGesture({\n name: config.gestureName,\n priority: config.gesturePriority,\n disableScroll: config.disableScroll,\n });\n\n const pointerDown = (ev: UIEvent): boolean => {\n const timeStamp = now(ev);\n if (hasStartedPan || !hasFiredStart) {\n return false;\n }\n\n updateDetail(ev, detail);\n detail.startX = detail.currentX;\n detail.startY = detail.currentY;\n detail.startTime = detail.currentTime = timeStamp;\n detail.velocityX = detail.velocityY = detail.deltaX = detail.deltaY = 0;\n detail.event = ev;\n\n // Check if gesture can start\n if (canStart && canStart(detail) === false) {\n return false;\n }\n // Release fallback\n gesture.release();\n\n // Start gesture\n if (!gesture.start()) {\n return false;\n }\n\n hasStartedPan = true;\n if (threshold === 0) {\n return tryToCapturePan();\n }\n pan.start(detail.startX, detail.startY);\n return true;\n };\n\n const pointerMove = (ev: UIEvent) => {\n // fast path, if gesture is currently captured\n // do minimum job to get user-land even dispatched\n if (hasCapturedPan) {\n if (!isMoveQueued && hasFiredStart) {\n isMoveQueued = true;\n calcGestureData(detail, ev);\n requestAnimationFrame(fireOnMove);\n }\n return;\n }\n\n // gesture is currently being detected\n calcGestureData(detail, ev);\n if (pan.detect(detail.currentX, detail.currentY)) {\n if (!pan.isGesture() || !tryToCapturePan()) {\n abortGesture();\n }\n }\n };\n\n const fireOnMove = () => {\n // Since fireOnMove is called inside a RAF, onEnd() might be called,\n // we must double check hasCapturedPan\n if (!hasCapturedPan) {\n return;\n }\n isMoveQueued = false;\n if (onMove) {\n onMove(detail);\n }\n };\n\n const tryToCapturePan = (): boolean => {\n if (gesture && !gesture.capture()) {\n return false;\n }\n hasCapturedPan = true;\n hasFiredStart = false;\n\n // reset start position since the real user-land event starts here\n // If the pan detector threshold is big, not resetting the start position\n // will cause a jump in the animation equal to the detector threshold.\n // the array of positions used to calculate the gesture velocity does not\n // need to be cleaned, more points in the positions array always results in a\n // more accurate value of the velocity.\n detail.startX = detail.currentX;\n detail.startY = detail.currentY;\n detail.startTime = detail.currentTime;\n\n if (onWillStart) {\n onWillStart(detail).then(fireOnStart);\n } else {\n fireOnStart();\n }\n return true;\n };\n\n const blurActiveElement = () => {\n /* tslint:disable-next-line */\n if (typeof document !== 'undefined') {\n const activeElement = document.activeElement as HTMLElement | null;\n if (activeElement !== null && activeElement.blur) {\n activeElement.blur();\n }\n }\n };\n\n const fireOnStart = () => {\n if (blurOnStart) {\n blurActiveElement();\n }\n if (onStart) {\n onStart(detail);\n }\n hasFiredStart = true;\n };\n\n const reset = () => {\n hasCapturedPan = false;\n hasStartedPan = false;\n isMoveQueued = false;\n hasFiredStart = true;\n\n gesture.release();\n };\n\n // END *************************\n\n const pointerUp = (ev: UIEvent | undefined) => {\n const tmpHasCaptured = hasCapturedPan;\n const tmpHasFiredStart = hasFiredStart;\n reset();\n\n if (!tmpHasFiredStart) {\n return;\n }\n calcGestureData(detail, ev);\n\n // Try to capture press\n if (tmpHasCaptured) {\n if (onEnd) {\n onEnd(detail);\n }\n return;\n }\n\n // Not captured any event\n if (notCaptured) {\n notCaptured(detail);\n }\n };\n\n const pointerEvents = createPointerEvents(\n finalConfig.el,\n pointerDown,\n pointerMove,\n pointerUp,\n {\n capture: false,\n passive,\n }\n );\n\n const abortGesture = () => {\n reset();\n pointerEvents.stop();\n if (notCaptured) {\n notCaptured(detail);\n }\n };\n\n return {\n enable(enable = true) {\n if (!enable) {\n if (hasCapturedPan) {\n pointerUp(undefined);\n }\n\n reset();\n }\n pointerEvents.enable(enable);\n },\n destroy() {\n gesture.destroy();\n pointerEvents.destroy();\n },\n };\n};\n\nconst calcGestureData = (detail: GestureDetail, ev: UIEvent | undefined) => {\n if (!ev) {\n return;\n }\n const prevX = detail.currentX;\n const prevY = detail.currentY;\n const prevT = detail.currentTime;\n\n updateDetail(ev, detail);\n\n const currentX = detail.currentX;\n const currentY = detail.currentY;\n const timestamp = (detail.currentTime = now(ev));\n const timeDelta = timestamp - prevT;\n if (timeDelta > 0 && timeDelta < 100) {\n const velocityX = (currentX - prevX) / timeDelta;\n const velocityY = (currentY - prevY) / timeDelta;\n detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;\n detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;\n }\n detail.deltaX = currentX - detail.startX;\n detail.deltaY = currentY - detail.startY;\n detail.event = ev;\n};\n\nconst updateDetail = (ev: any, detail: GestureDetail) => {\n // get X coordinates for either a mouse click\n // or a touch depending on the given event\n let x = 0;\n let y = 0;\n if (ev) {\n const changedTouches = ev.changedTouches;\n if (changedTouches && changedTouches.length > 0) {\n const touch = changedTouches[0];\n x = touch.clientX;\n y = touch.clientY;\n } else if (ev.pageX !== undefined) {\n x = ev.pageX;\n y = ev.pageY;\n }\n }\n detail.currentX = x;\n detail.currentY = y;\n};\n\nconst now = (ev: UIEvent) => {\n return ev.timeStamp || Date.now();\n};\n\nexport interface GestureDetail {\n type: string;\n startX: number;\n startY: number;\n startTime: number;\n currentX: number;\n currentY: number;\n velocityX: number;\n velocityY: number;\n deltaX: number;\n deltaY: number;\n currentTime: number;\n event: UIEvent;\n data?: any;\n}\n\nexport type GestureCallback = (detail: GestureDetail) => boolean | void;\n\nexport interface Gesture {\n enable(enable?: boolean): void;\n destroy(): void;\n}\n\nexport interface GestureConfig {\n el: Node;\n disableScroll?: boolean;\n\n direction?: 'x' | 'y';\n gestureName: string;\n gesturePriority?: number;\n passive?: boolean;\n maxAngle?: number;\n threshold?: number;\n blurOnStart?: boolean;\n\n canStart?: GestureCallback;\n onWillStart?: (_: GestureDetail) => Promise<void>;\n onStart?: GestureCallback;\n onMove?: GestureCallback;\n onEnd?: GestureCallback;\n notCaptured?: GestureCallback;\n}\n\nexport { GESTURE_CONTROLLER };\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"modal-b9b40f6d.js","mappings":";;;;;;;AAEA,IAAI,YAAY,GAAkB,EAAE,CAAC;MAEhB,KAAK;EAIxB,YAAY,OAAoB;IAFhC,iBAAY,GAA2B,SAAS,CAAC;IAG/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GACpD;EAED,QAAQ;IACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;GAC1D;EAED,UAAU;IACR,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;IACtE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;GAC7D;EAED,QAAQ;;IAEN,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC;GAC/D;EAED,aAAa,CAAC,KAAY;;IACxB,MAAM,IAAI,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;;IAGlC,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;MACnD,MAAM,gBAAgB,GAAGA,4BAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;MAC3D,MAAM,KAAK,GACT,IAAI,CAAC,YAAY,KAAK,UAAU,GAAG,gBAAgB,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;MACrE,MAAA,gBAAgB,CAAC,KAAK,CAAC,0CAAE,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;KACzD;GACF;EAED,aAAa,CAAC,KAAoB;;IAEhC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE;MACzC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;MAC/B,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC;KACnD;GACF;;;;;","names":["getTabbableElements"],"sources":["./src/utils/modal.ts"],"sourcesContent":["import { getTabbableElements } from './tabbable';\n\nlet activeModals: HTMLElement[] = [];\n\nexport default class Modal {\n element: HTMLElement;\n tabDirection: 'forward' | 'backward' = 'forward';\n\n constructor(element: HTMLElement) {\n this.element = element;\n this.handleFocusIn = this.handleFocusIn.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n }\n\n activate() {\n activeModals.push(this.element);\n document.addEventListener('focusin', this.handleFocusIn);\n document.addEventListener('keydown', this.handleKeyDown);\n }\n\n deactivate() {\n activeModals = activeModals.filter((modal) => modal !== this.element);\n document.removeEventListener('focusin', this.handleFocusIn);\n document.removeEventListener('keydown', this.handleKeyDown);\n }\n\n isActive() {\n // The \"active\" modal is always the most recent one shown\n return activeModals[activeModals.length - 1] === this.element;\n }\n\n handleFocusIn(event: Event) {\n const path = event.composedPath();\n\n // Trap focus so it doesn't go out of the modal's boundary\n if (this.isActive() && !path.includes(this.element)) {\n const tabbableElements = getTabbableElements(this.element);\n const index =\n this.tabDirection === 'backward' ? tabbableElements.length - 1 : 0;\n tabbableElements[index]?.focus({ preventScroll: true });\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // Quick hack to determine tab direction\n if (event.key === 'Tab' && event.shiftKey) {\n this.tabDirection = 'backward';\n setTimeout(() => (this.tabDirection = 'forward'));\n }\n }\n}\n"],"version":3}