@pod-os/elements 0.6.1-bea440b.0 → 0.7.1-2196a40.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 (411) hide show
  1. package/dist/cjs/{animation-5840e4df.js → animation-9bea118f.js} +115 -84
  2. package/dist/cjs/{app-globals-1aedd05c.js → app-globals-6352043e.js} +1 -1
  3. package/dist/cjs/{cubic-bezier-dcb7bfef.js → cubic-bezier-0b702a31.js} +13 -12
  4. package/dist/cjs/data-0c9489d7.js +1510 -0
  5. package/dist/cjs/dir-011f46ea.js +20 -0
  6. package/dist/cjs/elements.cjs.js +5 -5
  7. package/dist/cjs/focus-visible-2624ec15.js +76 -0
  8. package/dist/cjs/framework-delegate-437c0645.js +119 -0
  9. package/dist/cjs/{gesture-controller-fbbe9a65.js → gesture-controller-00a6b02f.js} +6 -2
  10. package/dist/cjs/{haptic-09e73337.js → haptic-7358cb0b.js} +37 -8
  11. package/dist/cjs/{hardware-back-button-01027575.js → hardware-back-button-25372ec7.js} +11 -8
  12. package/dist/cjs/{helpers-398ced09.js → helpers-cb08f5ae.js} +115 -15
  13. package/dist/cjs/{index-2067b305.js → index-1b07c737.js} +35 -24
  14. package/dist/cjs/{index-68ae43d2.js → index-2dc3637c.js} +34 -28
  15. package/dist/cjs/index-57b9fa9e.js +30 -0
  16. package/dist/cjs/{index-d01d9183.js → index-643851c6.js} +34 -19
  17. package/dist/cjs/index-731691ca.js +48 -0
  18. package/dist/cjs/{index-6bbae9b1.js → index-7d56774d.js} +12 -8
  19. package/dist/cjs/index-9fca5d6f.js +140 -0
  20. package/dist/cjs/index-b2a479e4.js +38 -0
  21. package/dist/cjs/{index-b4a9ece2.js → index-eaa0d16e.js} +7 -0
  22. package/dist/cjs/{tap-click-f24cb477.js → index-ed2ce04f.js} +37 -19
  23. package/dist/cjs/{input-shims-e959d9e2.js → input-shims-427999f7.js} +89 -38
  24. package/dist/cjs/ion-accordion-group.cjs.entry.js +205 -0
  25. package/dist/cjs/ion-accordion.cjs.entry.js +336 -0
  26. package/dist/cjs/ion-action-sheet_3.cjs.entry.js +865 -0
  27. package/dist/cjs/{ion-app_45.cjs.entry.js → ion-app_46.cjs.entry.js} +1775 -1471
  28. package/dist/cjs/ion-avatar.cjs.entry.js +2 -2
  29. package/dist/cjs/ion-back-button.cjs.entry.js +12 -11
  30. package/dist/cjs/ion-backdrop.cjs.entry.js +4 -4
  31. package/dist/cjs/ion-breadcrumb.cjs.entry.js +101 -0
  32. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +133 -0
  33. package/dist/cjs/ion-buttons_3.cjs.entry.js +793 -0
  34. package/dist/cjs/ion-card-subtitle.cjs.entry.js +4 -4
  35. package/dist/cjs/{ion-list-header_3.cjs.entry.js → ion-checkbox_4.cjs.entry.js} +124 -23
  36. package/dist/cjs/ion-chip.cjs.entry.js +5 -10
  37. package/dist/cjs/ion-datetime-button.cjs.entry.js +346 -0
  38. package/dist/cjs/ion-datetime.cjs.entry.js +1548 -856
  39. package/dist/cjs/ion-fab-button.cjs.entry.js +26 -9
  40. package/dist/cjs/ion-fab-list.cjs.entry.js +4 -4
  41. package/dist/cjs/ion-fab.cjs.entry.js +15 -13
  42. package/dist/cjs/ion-img.cjs.entry.js +28 -4
  43. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +5 -5
  44. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +13 -13
  45. package/dist/cjs/ion-input.cjs.entry.js +57 -23
  46. package/dist/cjs/ion-item-option.cjs.entry.js +8 -8
  47. package/dist/cjs/ion-item-options.cjs.entry.js +5 -5
  48. package/dist/cjs/ion-item-sliding.cjs.entry.js +59 -63
  49. package/dist/cjs/ion-loading.cjs.entry.js +37 -36
  50. package/dist/cjs/ion-menu-button.cjs.entry.js +14 -12
  51. package/dist/cjs/ion-menu-toggle.cjs.entry.js +8 -7
  52. package/dist/cjs/ion-menu.cjs.entry.js +71 -57
  53. package/dist/cjs/ion-modal.cjs.entry.js +1384 -154
  54. package/dist/cjs/ion-nav-link.cjs.entry.js +5 -2
  55. package/dist/cjs/ion-nav.cjs.entry.js +177 -171
  56. package/dist/cjs/ion-picker-column.cjs.entry.js +25 -27
  57. package/dist/cjs/ion-picker.cjs.entry.js +22 -17
  58. package/dist/cjs/ion-popover.cjs.entry.js +1208 -182
  59. package/dist/cjs/ion-range.cjs.entry.js +137 -57
  60. package/dist/cjs/ion-refresher-content.cjs.entry.js +7 -12
  61. package/dist/cjs/ion-refresher.cjs.entry.js +150 -148
  62. package/dist/cjs/ion-reorder-group.cjs.entry.js +42 -35
  63. package/dist/cjs/ion-reorder.cjs.entry.js +5 -4
  64. package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
  65. package/dist/cjs/ion-route.cjs.entry.js +1 -1
  66. package/dist/cjs/ion-router-link.cjs.entry.js +5 -5
  67. package/dist/cjs/ion-router-outlet.cjs.entry.js +24 -20
  68. package/dist/cjs/ion-router.cjs.entry.js +291 -194
  69. package/dist/cjs/ion-segment-button.cjs.entry.js +10 -17
  70. package/dist/cjs/ion-segment.cjs.entry.js +119 -26
  71. package/dist/cjs/ion-select-option.cjs.entry.js +3 -3
  72. package/dist/cjs/ion-select.cjs.entry.js +113 -78
  73. package/dist/cjs/ion-slide.cjs.entry.js +3 -3
  74. package/dist/cjs/ion-slides.cjs.entry.js +26 -27
  75. package/dist/cjs/ion-spinner.cjs.entry.js +10 -9
  76. package/dist/cjs/ion-split-pane.cjs.entry.js +16 -12
  77. package/dist/cjs/ion-tab-bar.cjs.entry.js +16 -23
  78. package/dist/cjs/ion-tab-button.cjs.entry.js +6 -6
  79. package/dist/cjs/ion-tab.cjs.entry.js +4 -4
  80. package/dist/cjs/ion-tabs.cjs.entry.js +4 -5
  81. package/dist/cjs/ion-text.cjs.entry.js +3 -3
  82. package/dist/cjs/ion-textarea.cjs.entry.js +31 -29
  83. package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
  84. package/dist/cjs/ion-toast.cjs.entry.js +49 -59
  85. package/dist/cjs/ion-toggle.cjs.entry.js +41 -22
  86. package/dist/cjs/ion-virtual-scroll.cjs.entry.js +39 -31
  87. package/dist/cjs/{ionic-global-56e10eb5.js → ionic-global-f2d95fd3.js} +112 -93
  88. package/dist/cjs/{ios.transition-32e4623d.js → ios.transition-0f31ec9a.js} +78 -53
  89. package/dist/cjs/{keyboard-9e8103e4.js → keyboard-79afcba2.js} +6 -3
  90. package/dist/cjs/keyboard-controller-a934d106.js +42 -0
  91. package/dist/cjs/loader.cjs.js +5 -5
  92. package/dist/cjs/{md.transition-169c54f0.js → md.transition-d2a33a23.js} +15 -17
  93. package/dist/cjs/{menu-toggle-util-087678e0.js → menu-toggle-util-0a43ff7c.js} +5 -2
  94. package/dist/cjs/{overlays-49fe9ba7.js → overlays-65c716aa.js} +187 -71
  95. package/dist/cjs/spinner-configs-cd0abbeb.js +147 -0
  96. package/dist/cjs/{status-tap-ada894ff.js → status-tap-beaa3a71.js} +10 -5
  97. package/dist/cjs/{swipe-back-c4a778df.js → swipe-back-666ea8e6.js} +34 -15
  98. package/dist/cjs/test-component.cjs.entry.js +1 -1
  99. package/dist/cjs/{theme-2259d0f5.js → theme-fc63803b.js} +9 -5
  100. package/dist/collection/apps/pos-app-image-viewer/pos-app-image-viewer.js +1 -0
  101. package/dist/collection/collection-manifest.json +8 -1
  102. package/dist/collection/components/pos-image/pos-image.css +4 -0
  103. package/dist/custom-elements/index.js +12770 -4850
  104. package/dist/custom-elements/{tap-click.js → index2.js} +36 -18
  105. package/dist/custom-elements/input-shims.js +87 -38
  106. package/dist/custom-elements/ios.transition.js +74 -50
  107. package/dist/custom-elements/md.transition.js +11 -14
  108. package/dist/custom-elements/status-tap.js +7 -4
  109. package/dist/custom-elements/swipe-back.js +31 -13
  110. package/dist/elements/elements.css +1 -1
  111. package/dist/elements/elements.esm.js +1 -1
  112. package/dist/elements/p-0268cbd3.entry.js +7 -0
  113. package/dist/elements/p-0587332d.entry.js +1 -0
  114. package/dist/elements/{p-cfc0e54d.js → p-0991c811.js} +3 -0
  115. package/dist/elements/p-0a69a563.entry.js +1 -0
  116. package/dist/elements/p-0b95be17.entry.js +1 -0
  117. package/dist/elements/p-0d284fe0.entry.js +1 -0
  118. package/dist/elements/p-0fd77b33.entry.js +1 -0
  119. package/dist/elements/p-120dec2b.entry.js +1 -0
  120. package/dist/elements/p-12880671.entry.js +1 -0
  121. package/dist/elements/p-14ccd586.entry.js +1 -0
  122. package/dist/elements/{p-83d45051.entry.js → p-14df6ac0.entry.js} +1 -1
  123. package/dist/elements/{p-e860be6a.entry.js → p-17079f06.entry.js} +1 -1
  124. package/dist/elements/p-19e4a688.js +4 -0
  125. package/dist/elements/p-1afc4eb4.js +4 -0
  126. package/dist/elements/p-1beaf6bf.js +4 -0
  127. package/dist/elements/p-1d1c6a6f.entry.js +1 -0
  128. package/dist/elements/{p-31d30e42.entry.js → p-1d98f84b.entry.js} +1 -1
  129. package/dist/elements/p-278ca4c9.js +4 -0
  130. package/dist/elements/p-27f5629c.entry.js +1 -0
  131. package/dist/elements/p-29c0f03f.js +4 -0
  132. package/dist/elements/p-2da59aca.js +4 -0
  133. package/dist/elements/p-3152143f.js +4 -0
  134. package/dist/elements/p-343ff720.entry.js +7 -0
  135. package/dist/elements/p-36d4c9a8.js +4 -0
  136. package/dist/elements/p-3a30dfb2.entry.js +1 -0
  137. package/dist/elements/p-3c013bf1.entry.js +1 -0
  138. package/dist/elements/{p-74ba1e42.entry.js → p-3c318da5.entry.js} +1 -1
  139. package/dist/elements/p-3cee3222.entry.js +1 -0
  140. package/dist/elements/p-480b3c4f.entry.js +1 -0
  141. package/dist/elements/p-4e9d8f18.entry.js +1 -0
  142. package/dist/elements/p-53e23176.js +2 -0
  143. package/dist/elements/p-548524f3.js +4 -0
  144. package/dist/elements/p-5739fa41.entry.js +1 -0
  145. package/dist/elements/p-5808c505.js +1 -0
  146. package/dist/elements/p-58a8cc2a.js +4 -0
  147. package/dist/elements/p-6035415e.entry.js +1 -0
  148. package/dist/elements/p-60eeae90.js +4 -0
  149. package/dist/elements/p-610b03ff.entry.js +4 -0
  150. package/dist/elements/p-67777478.entry.js +1 -0
  151. package/dist/elements/p-6ab826e1.entry.js +1 -0
  152. package/dist/elements/p-6f5a2827.entry.js +1 -0
  153. package/dist/elements/p-779676c5.entry.js +1 -0
  154. package/dist/elements/p-7916ecc5.entry.js +1 -0
  155. package/dist/elements/p-79f06b80.entry.js +1 -0
  156. package/dist/elements/p-7b5991c1.entry.js +1 -0
  157. package/dist/elements/p-7d0def79.js +5 -0
  158. package/dist/elements/p-8112afea.js +4 -0
  159. package/dist/elements/p-83678d7d.entry.js +4 -0
  160. package/dist/elements/p-87e45c94.entry.js +1 -0
  161. package/dist/elements/p-8da6a31e.entry.js +1 -0
  162. package/dist/elements/p-8f80768f.entry.js +4 -0
  163. package/dist/elements/p-8fe0433b.js +4 -0
  164. package/dist/elements/{p-4cb27b48.entry.js → p-9147d82b.entry.js} +1 -1
  165. package/dist/elements/p-97abb434.entry.js +1 -0
  166. package/dist/elements/p-98497a4b.entry.js +1 -0
  167. package/dist/elements/p-9c719139.js +4 -0
  168. package/dist/elements/p-9ca37332.js +4 -0
  169. package/dist/elements/{p-37de7110.js → p-9d48def2.js} +3 -0
  170. package/dist/elements/p-a79a6ad9.entry.js +79 -0
  171. package/dist/elements/p-a805f2f9.entry.js +1 -0
  172. package/dist/elements/p-a86a5bfa.entry.js +1 -0
  173. package/dist/elements/{p-9c1dbe52.entry.js → p-ac34eab7.entry.js} +1 -1
  174. package/dist/elements/p-ad366eab.entry.js +4 -0
  175. package/dist/elements/p-aef3a931.js +7 -0
  176. package/dist/elements/p-b0537eb3.entry.js +1 -0
  177. package/dist/elements/p-b337f3b8.js +4 -0
  178. package/dist/elements/p-b34bf73f.entry.js +7 -0
  179. package/dist/elements/p-b41e66f0.entry.js +1 -0
  180. package/dist/elements/p-b47e7091.entry.js +1 -0
  181. package/dist/elements/p-b840320e.js +4 -0
  182. package/dist/elements/p-b934ac5d.entry.js +1 -0
  183. package/dist/elements/p-b98314e0.entry.js +4 -0
  184. package/dist/elements/p-bd12806f.entry.js +1 -0
  185. package/dist/elements/p-c16d38d5.js +4 -0
  186. package/dist/elements/p-c84205a3.js +4 -0
  187. package/dist/elements/{p-06675ac7.entry.js → p-cbe318f8.entry.js} +1 -1
  188. package/dist/elements/p-cfed7395.js +4 -0
  189. package/dist/elements/p-d22a1dc7.entry.js +7 -0
  190. package/dist/elements/p-d3e75c94.entry.js +1 -0
  191. package/dist/elements/p-d8f6d3ce.entry.js +14 -0
  192. package/dist/elements/p-d9880221.entry.js +4 -0
  193. package/dist/elements/p-da5db8fb.entry.js +1 -0
  194. package/dist/elements/{p-91fe653f.js → p-dcc6b03c.js} +3 -0
  195. package/dist/elements/{p-305e246c.entry.js → p-dd846020.entry.js} +1 -1
  196. package/dist/elements/p-df240b2a.entry.js +4 -0
  197. package/dist/elements/p-dffd8689.js +4 -0
  198. package/dist/elements/p-e495a095.js +4 -0
  199. package/dist/elements/p-e5fc7d42.entry.js +1 -0
  200. package/dist/elements/{p-aaa8393e.entry.js → p-eb137e9d.entry.js} +1 -1
  201. package/dist/elements/p-f4e54a17.js +7 -0
  202. package/dist/elements/p-f67d0717.entry.js +1 -0
  203. package/dist/elements/p-f7f4c640.js +1 -0
  204. package/dist/elements/p-f851b91a.js +4 -0
  205. package/dist/elements/p-fb27ee76.entry.js +1 -0
  206. package/dist/elements/p-fbddca35.entry.js +1 -0
  207. package/dist/elements/p-fc1df8e0.entry.js +7 -0
  208. package/dist/elements/p-fdac5f3a.js +4 -0
  209. package/dist/esm/{animation-fe6ed422.js → animation-801a007a.js} +115 -84
  210. package/dist/esm/{app-globals-27d92837.js → app-globals-05a3abfb.js} +1 -1
  211. package/dist/esm/{cubic-bezier-108b8579.js → cubic-bezier-538b6253.js} +13 -12
  212. package/dist/esm/data-62c81c24.js +1463 -0
  213. package/dist/esm/dir-defb16c6.js +18 -0
  214. package/dist/esm/elements.js +5 -5
  215. package/dist/esm/focus-visible-78d55799.js +74 -0
  216. package/dist/esm/framework-delegate-7e2b767b.js +115 -0
  217. package/dist/esm/{gesture-controller-8f35af24.js → gesture-controller-c466ff14.js} +6 -2
  218. package/dist/esm/{haptic-c424e670.js → haptic-e7d5ef4d.js} +38 -9
  219. package/dist/esm/{hardware-back-button-bb4c578a.js → hardware-back-button-242191a7.js} +11 -8
  220. package/dist/esm/{helpers-44e3bd9f.js → helpers-aeff219b.js} +113 -16
  221. package/dist/esm/index-0dbaca1a.js +28 -0
  222. package/dist/esm/index-1f3d8582.js +34 -0
  223. package/dist/esm/{index-97199683.js → index-2be9a18b.js} +34 -28
  224. package/dist/esm/{index-8d682224.js → index-51e4a829.js} +12 -8
  225. package/dist/esm/{index-8a463a85.js → index-6048aed6.js} +35 -24
  226. package/dist/esm/index-65ecd543.js +25 -0
  227. package/dist/esm/{tap-click-a7e55ef5.js → index-b212db1c.js} +37 -19
  228. package/dist/esm/{index-e4deec27.js → index-cb938ffb.js} +7 -1
  229. package/dist/esm/{index-3a1bd803.js → index-d39eb62b.js} +35 -20
  230. package/dist/esm/index-ebf7f059.js +128 -0
  231. package/dist/esm/{input-shims-3b48722f.js → input-shims-8a389148.js} +89 -38
  232. package/dist/esm/ion-accordion-group.entry.js +201 -0
  233. package/dist/esm/ion-accordion.entry.js +332 -0
  234. package/dist/esm/ion-action-sheet_3.entry.js +859 -0
  235. package/dist/esm/{ion-app_45.entry.js → ion-app_46.entry.js} +1775 -1472
  236. package/dist/esm/ion-avatar.entry.js +2 -2
  237. package/dist/esm/ion-back-button.entry.js +12 -11
  238. package/dist/esm/ion-backdrop.entry.js +4 -4
  239. package/dist/esm/ion-breadcrumb.entry.js +97 -0
  240. package/dist/esm/ion-breadcrumbs.entry.js +129 -0
  241. package/dist/esm/ion-buttons_3.entry.js +787 -0
  242. package/dist/esm/ion-card-subtitle.entry.js +4 -4
  243. package/dist/esm/{ion-list-header_3.entry.js → ion-checkbox_4.entry.js} +124 -24
  244. package/dist/esm/ion-chip.entry.js +5 -10
  245. package/dist/esm/ion-datetime-button.entry.js +342 -0
  246. package/dist/esm/ion-datetime.entry.js +1548 -856
  247. package/dist/esm/ion-fab-button.entry.js +26 -9
  248. package/dist/esm/ion-fab-list.entry.js +4 -4
  249. package/dist/esm/ion-fab.entry.js +15 -13
  250. package/dist/esm/ion-img.entry.js +28 -4
  251. package/dist/esm/ion-infinite-scroll-content.entry.js +5 -5
  252. package/dist/esm/ion-infinite-scroll.entry.js +13 -13
  253. package/dist/esm/ion-input.entry.js +57 -23
  254. package/dist/esm/ion-item-option.entry.js +8 -8
  255. package/dist/esm/ion-item-options.entry.js +5 -5
  256. package/dist/esm/ion-item-sliding.entry.js +59 -63
  257. package/dist/esm/ion-loading.entry.js +37 -36
  258. package/dist/esm/ion-menu-button.entry.js +14 -12
  259. package/dist/esm/ion-menu-toggle.entry.js +8 -7
  260. package/dist/esm/ion-menu.entry.js +71 -57
  261. package/dist/esm/ion-modal.entry.js +1375 -145
  262. package/dist/esm/ion-nav-link.entry.js +5 -2
  263. package/dist/esm/ion-nav.entry.js +177 -171
  264. package/dist/esm/ion-picker-column.entry.js +25 -27
  265. package/dist/esm/ion-picker.entry.js +22 -17
  266. package/dist/esm/ion-popover.entry.js +1208 -182
  267. package/dist/esm/ion-range.entry.js +137 -57
  268. package/dist/esm/ion-refresher-content.entry.js +7 -12
  269. package/dist/esm/ion-refresher.entry.js +149 -147
  270. package/dist/esm/ion-reorder-group.entry.js +42 -35
  271. package/dist/esm/ion-reorder.entry.js +5 -4
  272. package/dist/esm/ion-route-redirect.entry.js +1 -1
  273. package/dist/esm/ion-route.entry.js +1 -1
  274. package/dist/esm/ion-router-link.entry.js +5 -5
  275. package/dist/esm/ion-router-outlet.entry.js +24 -20
  276. package/dist/esm/ion-router.entry.js +291 -194
  277. package/dist/esm/ion-segment-button.entry.js +10 -17
  278. package/dist/esm/ion-segment.entry.js +119 -26
  279. package/dist/esm/ion-select-option.entry.js +3 -3
  280. package/dist/esm/ion-select.entry.js +113 -78
  281. package/dist/esm/ion-slide.entry.js +3 -3
  282. package/dist/esm/ion-slides.entry.js +26 -27
  283. package/dist/esm/ion-spinner.entry.js +10 -9
  284. package/dist/esm/ion-split-pane.entry.js +16 -12
  285. package/dist/esm/ion-tab-bar.entry.js +16 -23
  286. package/dist/esm/ion-tab-button.entry.js +6 -6
  287. package/dist/esm/ion-tab.entry.js +4 -4
  288. package/dist/esm/ion-tabs.entry.js +4 -5
  289. package/dist/esm/ion-text.entry.js +3 -3
  290. package/dist/esm/ion-textarea.entry.js +31 -29
  291. package/dist/esm/ion-thumbnail.entry.js +2 -2
  292. package/dist/esm/ion-toast.entry.js +49 -59
  293. package/dist/esm/ion-toggle.entry.js +41 -22
  294. package/dist/esm/ion-virtual-scroll.entry.js +39 -31
  295. package/dist/esm/{ionic-global-2e28f7c7.js → ionic-global-6cd57191.js} +112 -93
  296. package/dist/esm/{ios.transition-a783e3cd.js → ios.transition-bbd952f2.js} +78 -53
  297. package/dist/{custom-elements/keyboard.js → esm/keyboard-413afe04.js} +6 -3
  298. package/dist/esm/keyboard-controller-33693bc2.js +40 -0
  299. package/dist/esm/loader.js +5 -5
  300. package/dist/esm/{md.transition-5a4a8c82.js → md.transition-5170a6d3.js} +15 -17
  301. package/dist/esm/{menu-toggle-util-562dfc9c.js → menu-toggle-util-82bf888a.js} +5 -2
  302. package/dist/esm/{overlays-fc9a0625.js → overlays-0c7f05e1.js} +186 -71
  303. package/dist/esm/spinner-configs-cbcd1f62.js +145 -0
  304. package/dist/esm/{status-tap-69e62ad6.js → status-tap-ad757b8a.js} +10 -5
  305. package/dist/esm/swipe-back-7ef22876.js +69 -0
  306. package/dist/esm/test-component.entry.js +1 -1
  307. package/dist/esm/{theme-d21826a7.js → theme-7cf2cab0.js} +9 -5
  308. package/package.json +4 -5
  309. package/LICENSE +0 -21
  310. package/dist/cjs/button-active-c14dab31.js +0 -66
  311. package/dist/cjs/focus-visible-16c98640.js +0 -45
  312. package/dist/cjs/framework-delegate-c45292a3.js +0 -37
  313. package/dist/cjs/ion-action-sheet.cjs.entry.js +0 -265
  314. package/dist/cjs/ion-alert.cjs.entry.js +0 -456
  315. package/dist/cjs/ion-buttons.cjs.entry.js +0 -42
  316. package/dist/cjs/ion-checkbox.cjs.entry.js +0 -117
  317. package/dist/cjs/ion-note.cjs.entry.js +0 -29
  318. package/dist/cjs/ion-select-popover.cjs.entry.js +0 -35
  319. package/dist/cjs/spinner-configs-fb16b986.js +0 -112
  320. package/dist/custom-elements/focus-visible.js +0 -43
  321. package/dist/elements/p-03bda390.js +0 -1
  322. package/dist/elements/p-0be044f1.entry.js +0 -1
  323. package/dist/elements/p-119c7c6c.entry.js +0 -1
  324. package/dist/elements/p-14c7c3ea.entry.js +0 -1
  325. package/dist/elements/p-1d4a2c61.js +0 -1
  326. package/dist/elements/p-1d894ac4.entry.js +0 -1
  327. package/dist/elements/p-1dafa1ce.entry.js +0 -1
  328. package/dist/elements/p-23b89ccb.entry.js +0 -1
  329. package/dist/elements/p-2c03b9ab.entry.js +0 -1
  330. package/dist/elements/p-346985f2.js +0 -1
  331. package/dist/elements/p-360f1c62.entry.js +0 -1
  332. package/dist/elements/p-373e1f25.entry.js +0 -1
  333. package/dist/elements/p-40547acb.entry.js +0 -1
  334. package/dist/elements/p-40b68014.entry.js +0 -1
  335. package/dist/elements/p-42e4f702.entry.js +0 -1
  336. package/dist/elements/p-489807e5.js +0 -1
  337. package/dist/elements/p-4ad72d54.entry.js +0 -1
  338. package/dist/elements/p-4cca7b5e.entry.js +0 -1
  339. package/dist/elements/p-4f24d306.js +0 -1
  340. package/dist/elements/p-519d6a53.entry.js +0 -1
  341. package/dist/elements/p-536e8e52.entry.js +0 -1
  342. package/dist/elements/p-599bb53f.entry.js +0 -1
  343. package/dist/elements/p-5eb7a546.js +0 -1
  344. package/dist/elements/p-60df2bed.entry.js +0 -1
  345. package/dist/elements/p-65133e33.js +0 -1
  346. package/dist/elements/p-6693fce8.js +0 -1
  347. package/dist/elements/p-689bdcc1.entry.js +0 -1
  348. package/dist/elements/p-70713b3d.entry.js +0 -1
  349. package/dist/elements/p-707d5d76.js +0 -1
  350. package/dist/elements/p-7212b7f2.js +0 -1
  351. package/dist/elements/p-73992898.entry.js +0 -1
  352. package/dist/elements/p-792c1e0f.entry.js +0 -1
  353. package/dist/elements/p-7e5300af.js +0 -2
  354. package/dist/elements/p-8068987c.entry.js +0 -1
  355. package/dist/elements/p-83accf46.entry.js +0 -1
  356. package/dist/elements/p-86635d06.entry.js +0 -1
  357. package/dist/elements/p-874c2b44.js +0 -1
  358. package/dist/elements/p-89c12ce8.entry.js +0 -1
  359. package/dist/elements/p-8bcba3f7.entry.js +0 -1
  360. package/dist/elements/p-8c759f51.entry.js +0 -1
  361. package/dist/elements/p-8f945e6b.entry.js +0 -1
  362. package/dist/elements/p-9300ab6a.js +0 -1
  363. package/dist/elements/p-93cacd51.entry.js +0 -1
  364. package/dist/elements/p-9408d0b4.entry.js +0 -1
  365. package/dist/elements/p-98c79eda.js +0 -1
  366. package/dist/elements/p-99f8abed.js +0 -1
  367. package/dist/elements/p-9ca7e079.js +0 -1
  368. package/dist/elements/p-a4648b74.entry.js +0 -1
  369. package/dist/elements/p-aab0f63c.js +0 -1
  370. package/dist/elements/p-ad4e2295.entry.js +0 -1
  371. package/dist/elements/p-afb8f7d5.entry.js +0 -1
  372. package/dist/elements/p-b055ec44.js +0 -1
  373. package/dist/elements/p-b078d63b.entry.js +0 -1
  374. package/dist/elements/p-b3460325.entry.js +0 -1
  375. package/dist/elements/p-b3f4042e.entry.js +0 -67
  376. package/dist/elements/p-b5406b58.entry.js +0 -1
  377. package/dist/elements/p-b5ef0c91.entry.js +0 -1
  378. package/dist/elements/p-b6ba623e.entry.js +0 -1
  379. package/dist/elements/p-b9926d8b.entry.js +0 -1
  380. package/dist/elements/p-bfd4cfcd.entry.js +0 -1
  381. package/dist/elements/p-c08dd7d0.entry.js +0 -1
  382. package/dist/elements/p-c0db9c51.entry.js +0 -1
  383. package/dist/elements/p-c1e7fbfb.js +0 -1
  384. package/dist/elements/p-ca69d6c9.js +0 -1
  385. package/dist/elements/p-cc4cb1ac.entry.js +0 -1
  386. package/dist/elements/p-cf8a7031.entry.js +0 -1
  387. package/dist/elements/p-cff82b6f.js +0 -1
  388. package/dist/elements/p-d6d1e65f.entry.js +0 -1
  389. package/dist/elements/p-d9462b66.entry.js +0 -1
  390. package/dist/elements/p-e2e0fee9.entry.js +0 -1
  391. package/dist/elements/p-e642b266.entry.js +0 -1
  392. package/dist/elements/p-e953934f.entry.js +0 -1
  393. package/dist/elements/p-f0474f46.js +0 -1
  394. package/dist/elements/p-f10a94f6.entry.js +0 -1
  395. package/dist/elements/p-f2426182.entry.js +0 -1
  396. package/dist/elements/p-f327fd21.js +0 -1
  397. package/dist/elements/p-f84987ee.js +0 -1
  398. package/dist/elements/p-f8a3367d.entry.js +0 -1
  399. package/dist/esm/button-active-fd9d6d91.js +0 -64
  400. package/dist/esm/focus-visible-edb28f19.js +0 -43
  401. package/dist/esm/framework-delegate-9cd8048f.js +0 -34
  402. package/dist/esm/ion-action-sheet.entry.js +0 -261
  403. package/dist/esm/ion-alert.entry.js +0 -452
  404. package/dist/esm/ion-buttons.entry.js +0 -38
  405. package/dist/esm/ion-checkbox.entry.js +0 -113
  406. package/dist/esm/ion-note.entry.js +0 -25
  407. package/dist/esm/ion-select-popover.entry.js +0 -31
  408. package/dist/esm/keyboard-e6abcb80.js +0 -125
  409. package/dist/esm/spinner-configs-aaf2a1a9.js +0 -110
  410. package/dist/esm/swipe-back-d84cfc8a.js +0 -50
  411. package/readme.md +0 -55
@@ -2,18 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-b4a9ece2.js');
6
- const ionicGlobal = require('./ionic-global-56e10eb5.js');
7
- const cubicBezier = require('./cubic-bezier-dcb7bfef.js');
8
- const gestureController = require('./gesture-controller-fbbe9a65.js');
9
- const helpers = require('./helpers-398ced09.js');
10
- const index$1 = require('./index-68ae43d2.js');
11
- require('./hardware-back-button-01027575.js');
12
- require('./animation-5840e4df.js');
5
+ const index = require('./index-eaa0d16e.js');
6
+ const ionicGlobal = require('./ionic-global-f2d95fd3.js');
7
+ const cubicBezier = require('./cubic-bezier-0b702a31.js');
8
+ const gestureController = require('./gesture-controller-00a6b02f.js');
9
+ const helpers = require('./helpers-cb08f5ae.js');
10
+ const index$1 = require('./index-2dc3637c.js');
11
+ const overlays = require('./overlays-65c716aa.js');
12
+ require('./hardware-back-button-25372ec7.js');
13
+ require('./animation-9bea118f.js');
14
+ require('./index-57b9fa9e.js');
13
15
 
14
- const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;transform:translate3d(-9999px, 0, 0);display:flex;position:absolute;flex-direction:column;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{transform:translate3d(calc(-1 * -9999px), 0, 0)}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;transform:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
16
+ const menuIosCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;transform:translateX(-9999px);display:flex;position:absolute;flex-direction:column;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;transform:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-push){z-index:1000}:host(.menu-type-push) .show-backdrop{display:block}";
15
17
 
16
- const menuMdCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;transform:translate3d(-9999px, 0, 0);display:flex;position:absolute;flex-direction:column;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{transform:translate3d(calc(-1 * -9999px), 0, 0)}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;transform:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
18
+ const menuMdCss = ":host{--width:304px;--min-width:auto;--max-width:auto;--height:100%;--min-height:auto;--max-height:auto;--background:var(--ion-background-color, #fff);left:0;right:0;top:0;bottom:0;display:none;position:absolute;contain:strict}:host(.show-menu){display:block}.menu-inner{left:0;right:auto;top:0;bottom:0;transform:translateX(-9999px);display:flex;position:absolute;flex-direction:column;justify-content:space-between;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);background:var(--background);contain:strict}[dir=rtl] .menu-inner,:host-context([dir=rtl]) .menu-inner{left:unset;right:unset;left:auto;right:0}:host(.menu-side-start) .menu-inner{--ion-safe-area-right:0px;right:auto;left:0}:host(.menu-side-end) .menu-inner{--ion-safe-area-left:0px;right:0;left:auto;}ion-backdrop{display:none;opacity:0.01;z-index:-1}@media (max-width: 340px){.menu-inner{--width:264px}}:host(.menu-type-reveal){z-index:0}:host(.menu-type-reveal.show-menu) .menu-inner{transform:translate3d(0, 0, 0)}:host(.menu-type-overlay){z-index:1000}:host(.menu-type-overlay) .show-backdrop{display:block;cursor:pointer}:host(.menu-pane-visible){width:var(--width);min-width:var(--min-width);max-width:var(--max-width)}:host(.menu-pane-visible) .menu-inner{left:0;right:0;width:auto;transform:none !important;box-shadow:none !important}:host(.menu-pane-visible) ion-backdrop{display:hidden !important;}:host(.menu-type-overlay) .menu-inner{box-shadow:4px 0px 16px rgba(0, 0, 0, 0.18)}";
17
19
 
18
20
  const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
19
21
  const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';
@@ -33,7 +35,20 @@ const Menu = class {
33
35
  this.isAnimating = false;
34
36
  this._isOpen = false;
35
37
  this.inheritedAttributes = {};
36
- this.handleFocus = (ev) => this.trapKeyboardFocus(ev, document);
38
+ this.handleFocus = (ev) => {
39
+ /**
40
+ * Overlays have their own focus trapping listener
41
+ * so we do not want the two listeners to conflict
42
+ * with each other. If the top-most overlay that is
43
+ * open does not contain this ion-menu, then ion-menu's
44
+ * focus trapping should not run.
45
+ */
46
+ const lastOverlay = overlays.getOverlay(document);
47
+ if (lastOverlay && !lastOverlay.contains(this.el)) {
48
+ return;
49
+ }
50
+ this.trapKeyboardFocus(ev, document);
51
+ };
37
52
  this.isPaneVisible = false;
38
53
  this.isEndSide = false;
39
54
  /**
@@ -73,7 +88,7 @@ const Menu = class {
73
88
  this.updateState();
74
89
  this.ionMenuChange.emit({
75
90
  disabled: this.disabled,
76
- open: this._isOpen
91
+ open: this._isOpen,
77
92
  });
78
93
  }
79
94
  sideChanged() {
@@ -83,30 +98,22 @@ const Menu = class {
83
98
  this.updateState();
84
99
  }
85
100
  async connectedCallback() {
101
+ // TODO: connectedCallback is fired in CE build
102
+ // before WC is defined. This needs to be fixed in Stencil.
103
+ if (typeof customElements !== 'undefined') {
104
+ await customElements.whenDefined('ion-menu');
105
+ }
86
106
  if (this.type === undefined) {
87
107
  this.type = ionicGlobal.config.get('menuType', 'overlay');
88
108
  }
89
- const el = this.el;
90
- const parent = el.parentNode;
91
- if (this.contentId === undefined) {
92
- console.warn(`[DEPRECATED][ion-menu] Using the [main] attribute is deprecated, please use the "contentId" property instead:
93
- BEFORE:
94
- <ion-menu>...</ion-menu>
95
- <div main>...</div>
96
-
97
- AFTER:
98
- <ion-menu contentId="main-content"></ion-menu>
99
- <div id="main-content">...</div>
100
- `);
101
- }
102
- const content = this.contentId !== undefined
103
- ? document.getElementById(this.contentId)
104
- : parent && parent.querySelector && parent.querySelector('[main]');
105
- if (!content || !content.tagName) {
106
- // requires content element
109
+ const content = this.contentId !== undefined ? document.getElementById(this.contentId) : null;
110
+ if (content === null) {
107
111
  console.error('Menu: must have a "content" element to listen for drag events on.');
108
112
  return;
109
113
  }
114
+ if (this.el.contains(content)) {
115
+ console.error(`Menu: "contentId" should refer to the main view's ion-content, not the ion-content inside of the ion-menu.`);
116
+ }
110
117
  this.contentEl = content;
111
118
  // add menu's content classes
112
119
  content.classList.add('menu-content');
@@ -114,17 +121,17 @@ AFTER:
114
121
  this.sideChanged();
115
122
  // register this menu with the app's menu controller
116
123
  index$1.menuController._register(this);
117
- this.gesture = (await Promise.resolve().then(function () { return require('./index-d01d9183.js'); })).createGesture({
124
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-643851c6.js'); })).createGesture({
118
125
  el: document,
119
126
  gestureName: 'menu-swipe',
120
127
  gesturePriority: 30,
121
128
  threshold: 10,
122
129
  blurOnStart: true,
123
- canStart: ev => this.canStart(ev),
130
+ canStart: (ev) => this.canStart(ev),
124
131
  onWillStart: () => this.onWillStart(),
125
132
  onStart: () => this.onStart(),
126
- onMove: ev => this.onMove(ev),
127
- onEnd: ev => this.onEnd(ev),
133
+ onMove: (ev) => this.onMove(ev),
134
+ onEnd: (ev) => this.onEnd(ev),
128
135
  });
129
136
  this.updateState();
130
137
  }
@@ -154,9 +161,7 @@ AFTER:
154
161
  }
155
162
  onBackdropClick(ev) {
156
163
  if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {
157
- const shouldClose = (ev.composedPath)
158
- ? !ev.composedPath().includes(this.menuInnerEl)
159
- : false;
164
+ const shouldClose = ev.composedPath ? !ev.composedPath().includes(this.menuInnerEl) : false;
160
165
  if (shouldClose) {
161
166
  ev.preventDefault();
162
167
  ev.stopPropagation();
@@ -305,8 +310,8 @@ AFTER:
305
310
  const easing = mode === 'ios' ? iosEasing : mdEasing;
306
311
  const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;
307
312
  const ani = this.animation
308
- .direction((isReversed) ? 'reverse' : 'normal')
309
- .easing((isReversed) ? easingReverse : easing)
313
+ .direction(isReversed ? 'reverse' : 'normal')
314
+ .easing(isReversed ? easingReverse : easing)
310
315
  .onFinish(() => {
311
316
  if (ani.getDirection() === 'reverse') {
312
317
  ani.direction('normal');
@@ -333,7 +338,6 @@ AFTER:
333
338
  }
334
339
  if (this._isOpen) {
335
340
  return true;
336
- // TODO error
337
341
  }
338
342
  else if (index$1.menuController._getOpenSync()) {
339
343
  return false;
@@ -350,7 +354,7 @@ AFTER:
350
354
  return;
351
355
  }
352
356
  // the cloned animation should not use an easing curve during seek
353
- this.animation.progressStart(true, (this._isOpen) ? 1 : 0);
357
+ this.animation.progressStart(true, this._isOpen ? 1 : 0);
354
358
  }
355
359
  onMove(detail) {
356
360
  if (!this.isAnimating || !this.animation) {
@@ -359,7 +363,7 @@ AFTER:
359
363
  }
360
364
  const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);
361
365
  const stepValue = delta / this.width;
362
- this.animation.progressStep((this._isOpen) ? 1 - stepValue : stepValue);
366
+ this.animation.progressStep(this._isOpen ? 1 - stepValue : stepValue);
363
367
  }
364
368
  onEnd(detail) {
365
369
  if (!this.isAnimating || !this.animation) {
@@ -376,22 +380,25 @@ AFTER:
376
380
  const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);
377
381
  const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);
378
382
  const shouldComplete = isOpen
379
- ? isEndSide ? shouldCompleteRight : shouldCompleteLeft
380
- : isEndSide ? shouldCompleteLeft : shouldCompleteRight;
383
+ ? isEndSide
384
+ ? shouldCompleteRight
385
+ : shouldCompleteLeft
386
+ : isEndSide
387
+ ? shouldCompleteLeft
388
+ : shouldCompleteRight;
381
389
  let shouldOpen = !isOpen && shouldComplete;
382
390
  if (isOpen && !shouldComplete) {
383
391
  shouldOpen = true;
384
392
  }
385
393
  this.lastOnEnd = detail.currentTime;
386
394
  // Account for rounding errors in JS
387
- let newStepValue = (shouldComplete) ? 0.001 : -0.001;
395
+ let newStepValue = shouldComplete ? 0.001 : -0.001;
388
396
  /**
389
- * TODO: stepValue can sometimes return a negative
397
+ * stepValue can sometimes return a negative
390
398
  * value, but you can't have a negative time value
391
399
  * for the cubic bezier curve (at least with web animations)
392
- * Not sure if the negative step value is an error or not
393
400
  */
394
- const adjustedStepValue = (stepValue < 0) ? 0.01 : stepValue;
401
+ const adjustedStepValue = stepValue < 0 ? 0.01 : stepValue;
395
402
  /**
396
403
  * Animation will be reversed here, so need to
397
404
  * reverse the easing curve as well
@@ -400,12 +407,13 @@ AFTER:
400
407
  * to the new easing curve, as `stepValue` is going to be given
401
408
  * in terms of a linear curve.
402
409
  */
403
- newStepValue += cubicBezier.getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], helpers.clamp(0, adjustedStepValue, 0.9999))[0] || 0;
404
- const playTo = (this._isOpen) ? !shouldComplete : shouldComplete;
410
+ newStepValue +=
411
+ cubicBezier.getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], helpers.clamp(0, adjustedStepValue, 0.9999))[0] || 0;
412
+ const playTo = this._isOpen ? !shouldComplete : shouldComplete;
405
413
  this.animation
406
414
  .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')
407
415
  .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })
408
- .progressEnd((playTo) ? 1 : 0, (this._isOpen) ? 1 - newStepValue : newStepValue, 300);
416
+ .progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);
409
417
  }
410
418
  beforeAnimation(shouldOpen) {
411
419
  helpers.assert(!this.isAnimating, '_before() should not be called while animating');
@@ -434,6 +442,7 @@ AFTER:
434
442
  }
435
443
  }
436
444
  afterAnimation(isOpen) {
445
+ var _a;
437
446
  helpers.assert(this.isAnimating, '_before() should be called while animating');
438
447
  // keep opening/closing the menu disabled for a touch more yet
439
448
  // only add listeners/css if it's enabled and isOpen
@@ -460,11 +469,16 @@ AFTER:
460
469
  }
461
470
  // emit open event
462
471
  this.ionDidOpen.emit();
463
- // focus menu content for screen readers
464
- if (this.menuInnerEl) {
465
- this.focusFirstDescendant();
472
+ /**
473
+ * Move focus to the menu to prepare focus trapping, as long as
474
+ * it isn't already focused. Use the host element instead of the
475
+ * first descendant to avoid the scroll position jumping around.
476
+ */
477
+ const focusedMenu = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('ion-menu');
478
+ if (focusedMenu !== this.el) {
479
+ this.el.focus();
466
480
  }
467
- // setup focus trapping
481
+ // start focus trapping
468
482
  document.addEventListener('focus', this.handleFocus, true);
469
483
  }
470
484
  else {
@@ -527,8 +541,8 @@ AFTER:
527
541
  'menu-enabled': !disabled,
528
542
  'menu-side-end': isEndSide,
529
543
  'menu-side-start': !isEndSide,
530
- 'menu-pane-visible': isPaneVisible
531
- } }, index.h("div", { class: "menu-inner", part: "container", ref: el => this.menuInnerEl = el }, index.h("slot", null)), index.h("ion-backdrop", { ref: el => this.backdropEl = el, class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
544
+ 'menu-pane-visible': isPaneVisible,
545
+ } }, index.h("div", { class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, index.h("slot", null)), index.h("ion-backdrop", { ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
532
546
  }
533
547
  get el() { return index.getElement(this); }
534
548
  static get watchers() { return {