@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
@@ -1,15 +1,17 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-e4deec27.js';
2
- import { c as config, g as getIonMode } from './ionic-global-2e28f7c7.js';
3
- import { g as getTimeGivenProgression } from './cubic-bezier-108b8579.js';
4
- import { G as GESTURE_CONTROLLER } from './gesture-controller-8f35af24.js';
5
- import { m as isEndSide, i as inheritAriaAttributes, n as assert, c as clamp } from './helpers-44e3bd9f.js';
6
- import { m as menuController } from './index-97199683.js';
7
- import './hardware-back-button-bb4c578a.js';
8
- import './animation-fe6ed422.js';
1
+ import { r as registerInstance, d as createEvent, h, H as Host, c as getElement } from './index-cb938ffb.js';
2
+ import { c as config, g as getIonMode } from './ionic-global-6cd57191.js';
3
+ import { g as getTimeGivenProgression } from './cubic-bezier-538b6253.js';
4
+ import { G as GESTURE_CONTROLLER } from './gesture-controller-c466ff14.js';
5
+ import { l as isEndSide, i as inheritAriaAttributes, n as assert, b as clamp } from './helpers-aeff219b.js';
6
+ import { m as menuController } from './index-2be9a18b.js';
7
+ import { g as getOverlay } from './overlays-0c7f05e1.js';
8
+ import './hardware-back-button-242191a7.js';
9
+ import './animation-801a007a.js';
10
+ import './index-0dbaca1a.js';
9
11
 
10
- 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}";
12
+ 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}";
11
13
 
12
- 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)}";
14
+ 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)}";
13
15
 
14
16
  const iosEasing = 'cubic-bezier(0.32,0.72,0,1)';
15
17
  const mdEasing = 'cubic-bezier(0.0,0.0,0.2,1)';
@@ -29,7 +31,20 @@ const Menu = class {
29
31
  this.isAnimating = false;
30
32
  this._isOpen = false;
31
33
  this.inheritedAttributes = {};
32
- this.handleFocus = (ev) => this.trapKeyboardFocus(ev, document);
34
+ this.handleFocus = (ev) => {
35
+ /**
36
+ * Overlays have their own focus trapping listener
37
+ * so we do not want the two listeners to conflict
38
+ * with each other. If the top-most overlay that is
39
+ * open does not contain this ion-menu, then ion-menu's
40
+ * focus trapping should not run.
41
+ */
42
+ const lastOverlay = getOverlay(document);
43
+ if (lastOverlay && !lastOverlay.contains(this.el)) {
44
+ return;
45
+ }
46
+ this.trapKeyboardFocus(ev, document);
47
+ };
33
48
  this.isPaneVisible = false;
34
49
  this.isEndSide = false;
35
50
  /**
@@ -69,7 +84,7 @@ const Menu = class {
69
84
  this.updateState();
70
85
  this.ionMenuChange.emit({
71
86
  disabled: this.disabled,
72
- open: this._isOpen
87
+ open: this._isOpen,
73
88
  });
74
89
  }
75
90
  sideChanged() {
@@ -79,30 +94,22 @@ const Menu = class {
79
94
  this.updateState();
80
95
  }
81
96
  async connectedCallback() {
97
+ // TODO: connectedCallback is fired in CE build
98
+ // before WC is defined. This needs to be fixed in Stencil.
99
+ if (typeof customElements !== 'undefined') {
100
+ await customElements.whenDefined('ion-menu');
101
+ }
82
102
  if (this.type === undefined) {
83
103
  this.type = config.get('menuType', 'overlay');
84
104
  }
85
- const el = this.el;
86
- const parent = el.parentNode;
87
- if (this.contentId === undefined) {
88
- console.warn(`[DEPRECATED][ion-menu] Using the [main] attribute is deprecated, please use the "contentId" property instead:
89
- BEFORE:
90
- <ion-menu>...</ion-menu>
91
- <div main>...</div>
92
-
93
- AFTER:
94
- <ion-menu contentId="main-content"></ion-menu>
95
- <div id="main-content">...</div>
96
- `);
97
- }
98
- const content = this.contentId !== undefined
99
- ? document.getElementById(this.contentId)
100
- : parent && parent.querySelector && parent.querySelector('[main]');
101
- if (!content || !content.tagName) {
102
- // requires content element
105
+ const content = this.contentId !== undefined ? document.getElementById(this.contentId) : null;
106
+ if (content === null) {
103
107
  console.error('Menu: must have a "content" element to listen for drag events on.');
104
108
  return;
105
109
  }
110
+ if (this.el.contains(content)) {
111
+ console.error(`Menu: "contentId" should refer to the main view's ion-content, not the ion-content inside of the ion-menu.`);
112
+ }
106
113
  this.contentEl = content;
107
114
  // add menu's content classes
108
115
  content.classList.add('menu-content');
@@ -110,17 +117,17 @@ AFTER:
110
117
  this.sideChanged();
111
118
  // register this menu with the app's menu controller
112
119
  menuController._register(this);
113
- this.gesture = (await import('./index-3a1bd803.js')).createGesture({
120
+ this.gesture = (await import('./index-d39eb62b.js')).createGesture({
114
121
  el: document,
115
122
  gestureName: 'menu-swipe',
116
123
  gesturePriority: 30,
117
124
  threshold: 10,
118
125
  blurOnStart: true,
119
- canStart: ev => this.canStart(ev),
126
+ canStart: (ev) => this.canStart(ev),
120
127
  onWillStart: () => this.onWillStart(),
121
128
  onStart: () => this.onStart(),
122
- onMove: ev => this.onMove(ev),
123
- onEnd: ev => this.onEnd(ev),
129
+ onMove: (ev) => this.onMove(ev),
130
+ onEnd: (ev) => this.onEnd(ev),
124
131
  });
125
132
  this.updateState();
126
133
  }
@@ -150,9 +157,7 @@ AFTER:
150
157
  }
151
158
  onBackdropClick(ev) {
152
159
  if (this._isOpen && this.lastOnEnd < ev.timeStamp - 100) {
153
- const shouldClose = (ev.composedPath)
154
- ? !ev.composedPath().includes(this.menuInnerEl)
155
- : false;
160
+ const shouldClose = ev.composedPath ? !ev.composedPath().includes(this.menuInnerEl) : false;
156
161
  if (shouldClose) {
157
162
  ev.preventDefault();
158
163
  ev.stopPropagation();
@@ -301,8 +306,8 @@ AFTER:
301
306
  const easing = mode === 'ios' ? iosEasing : mdEasing;
302
307
  const easingReverse = mode === 'ios' ? iosEasingReverse : mdEasingReverse;
303
308
  const ani = this.animation
304
- .direction((isReversed) ? 'reverse' : 'normal')
305
- .easing((isReversed) ? easingReverse : easing)
309
+ .direction(isReversed ? 'reverse' : 'normal')
310
+ .easing(isReversed ? easingReverse : easing)
306
311
  .onFinish(() => {
307
312
  if (ani.getDirection() === 'reverse') {
308
313
  ani.direction('normal');
@@ -329,7 +334,6 @@ AFTER:
329
334
  }
330
335
  if (this._isOpen) {
331
336
  return true;
332
- // TODO error
333
337
  }
334
338
  else if (menuController._getOpenSync()) {
335
339
  return false;
@@ -346,7 +350,7 @@ AFTER:
346
350
  return;
347
351
  }
348
352
  // the cloned animation should not use an easing curve during seek
349
- this.animation.progressStart(true, (this._isOpen) ? 1 : 0);
353
+ this.animation.progressStart(true, this._isOpen ? 1 : 0);
350
354
  }
351
355
  onMove(detail) {
352
356
  if (!this.isAnimating || !this.animation) {
@@ -355,7 +359,7 @@ AFTER:
355
359
  }
356
360
  const delta = computeDelta(detail.deltaX, this._isOpen, this.isEndSide);
357
361
  const stepValue = delta / this.width;
358
- this.animation.progressStep((this._isOpen) ? 1 - stepValue : stepValue);
362
+ this.animation.progressStep(this._isOpen ? 1 - stepValue : stepValue);
359
363
  }
360
364
  onEnd(detail) {
361
365
  if (!this.isAnimating || !this.animation) {
@@ -372,22 +376,25 @@ AFTER:
372
376
  const shouldCompleteRight = velocity >= 0 && (velocity > 0.2 || detail.deltaX > z);
373
377
  const shouldCompleteLeft = velocity <= 0 && (velocity < -0.2 || detail.deltaX < -z);
374
378
  const shouldComplete = isOpen
375
- ? isEndSide ? shouldCompleteRight : shouldCompleteLeft
376
- : isEndSide ? shouldCompleteLeft : shouldCompleteRight;
379
+ ? isEndSide
380
+ ? shouldCompleteRight
381
+ : shouldCompleteLeft
382
+ : isEndSide
383
+ ? shouldCompleteLeft
384
+ : shouldCompleteRight;
377
385
  let shouldOpen = !isOpen && shouldComplete;
378
386
  if (isOpen && !shouldComplete) {
379
387
  shouldOpen = true;
380
388
  }
381
389
  this.lastOnEnd = detail.currentTime;
382
390
  // Account for rounding errors in JS
383
- let newStepValue = (shouldComplete) ? 0.001 : -0.001;
391
+ let newStepValue = shouldComplete ? 0.001 : -0.001;
384
392
  /**
385
- * TODO: stepValue can sometimes return a negative
393
+ * stepValue can sometimes return a negative
386
394
  * value, but you can't have a negative time value
387
395
  * for the cubic bezier curve (at least with web animations)
388
- * Not sure if the negative step value is an error or not
389
396
  */
390
- const adjustedStepValue = (stepValue < 0) ? 0.01 : stepValue;
397
+ const adjustedStepValue = stepValue < 0 ? 0.01 : stepValue;
391
398
  /**
392
399
  * Animation will be reversed here, so need to
393
400
  * reverse the easing curve as well
@@ -396,12 +403,13 @@ AFTER:
396
403
  * to the new easing curve, as `stepValue` is going to be given
397
404
  * in terms of a linear curve.
398
405
  */
399
- newStepValue += getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], clamp(0, adjustedStepValue, 0.9999))[0] || 0;
400
- const playTo = (this._isOpen) ? !shouldComplete : shouldComplete;
406
+ newStepValue +=
407
+ getTimeGivenProgression([0, 0], [0.4, 0], [0.6, 1], [1, 1], clamp(0, adjustedStepValue, 0.9999))[0] || 0;
408
+ const playTo = this._isOpen ? !shouldComplete : shouldComplete;
401
409
  this.animation
402
410
  .easing('cubic-bezier(0.4, 0.0, 0.6, 1)')
403
411
  .onFinish(() => this.afterAnimation(shouldOpen), { oneTimeCallback: true })
404
- .progressEnd((playTo) ? 1 : 0, (this._isOpen) ? 1 - newStepValue : newStepValue, 300);
412
+ .progressEnd(playTo ? 1 : 0, this._isOpen ? 1 - newStepValue : newStepValue, 300);
405
413
  }
406
414
  beforeAnimation(shouldOpen) {
407
415
  assert(!this.isAnimating, '_before() should not be called while animating');
@@ -430,6 +438,7 @@ AFTER:
430
438
  }
431
439
  }
432
440
  afterAnimation(isOpen) {
441
+ var _a;
433
442
  assert(this.isAnimating, '_before() should be called while animating');
434
443
  // keep opening/closing the menu disabled for a touch more yet
435
444
  // only add listeners/css if it's enabled and isOpen
@@ -456,11 +465,16 @@ AFTER:
456
465
  }
457
466
  // emit open event
458
467
  this.ionDidOpen.emit();
459
- // focus menu content for screen readers
460
- if (this.menuInnerEl) {
461
- this.focusFirstDescendant();
468
+ /**
469
+ * Move focus to the menu to prepare focus trapping, as long as
470
+ * it isn't already focused. Use the host element instead of the
471
+ * first descendant to avoid the scroll position jumping around.
472
+ */
473
+ const focusedMenu = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.closest('ion-menu');
474
+ if (focusedMenu !== this.el) {
475
+ this.el.focus();
462
476
  }
463
- // setup focus trapping
477
+ // start focus trapping
464
478
  document.addEventListener('focus', this.handleFocus, true);
465
479
  }
466
480
  else {
@@ -523,8 +537,8 @@ AFTER:
523
537
  'menu-enabled': !disabled,
524
538
  'menu-side-end': isEndSide,
525
539
  'menu-side-start': !isEndSide,
526
- 'menu-pane-visible': isPaneVisible
527
- } }, h("div", { class: "menu-inner", part: "container", ref: el => this.menuInnerEl = el }, h("slot", null)), h("ion-backdrop", { ref: el => this.backdropEl = el, class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
540
+ 'menu-pane-visible': isPaneVisible,
541
+ } }, h("div", { class: "menu-inner", part: "container", ref: (el) => (this.menuInnerEl = el) }, h("slot", null)), h("ion-backdrop", { ref: (el) => (this.backdropEl = el), class: "menu-backdrop", tappable: false, stopPropagation: false, part: "backdrop" })));
528
542
  }
529
543
  get el() { return getElement(this); }
530
544
  static get watchers() { return {