@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,9 +1,12 @@
1
1
  'use strict';
2
2
 
3
- const ionicGlobal = require('./ionic-global-56e10eb5.js');
4
- const hardwareBackButton = require('./hardware-back-button-01027575.js');
5
- const helpers = require('./helpers-398ced09.js');
3
+ const ionicGlobal = require('./ionic-global-f2d95fd3.js');
4
+ const hardwareBackButton = require('./hardware-back-button-25372ec7.js');
5
+ const helpers = require('./helpers-cb08f5ae.js');
6
6
 
7
+ /*!
8
+ * (C) Ionic http://ionicframework.com - MIT License
9
+ */
7
10
  let lastId = 0;
8
11
  const activeAnimations = new WeakMap();
9
12
  const createController = (tagName) => {
@@ -16,15 +19,13 @@ const createController = (tagName) => {
16
19
  },
17
20
  async getTop() {
18
21
  return getOverlay(document, tagName);
19
- }
22
+ },
20
23
  };
21
24
  };
22
25
  const alertController = /*@__PURE__*/ createController('ion-alert');
23
26
  const actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');
24
- const pickerController = /*@__PURE__*/ createController('ion-picker');
25
27
  const popoverController = /*@__PURE__*/ createController('ion-popover');
26
28
  const prepareOverlay = (el) => {
27
- /* tslint:disable-next-line */
28
29
  if (typeof document !== 'undefined') {
29
30
  connectListeners(document);
30
31
  }
@@ -35,45 +36,58 @@ const prepareOverlay = (el) => {
35
36
  }
36
37
  };
37
38
  const createOverlay = (tagName, opts) => {
38
- /* tslint:disable-next-line */
39
- if (typeof customElements !== 'undefined') {
40
- return customElements.whenDefined(tagName).then(() => {
39
+ if (typeof window !== 'undefined' && typeof window.customElements !== 'undefined') {
40
+ return window.customElements.whenDefined(tagName).then(() => {
41
41
  const element = document.createElement(tagName);
42
42
  element.classList.add('overlay-hidden');
43
- // convert the passed in overlay options into props
44
- // that get passed down into the new overlay
45
- Object.assign(element, opts);
43
+ /**
44
+ * Convert the passed in overlay options into props
45
+ * that get passed down into the new overlay.
46
+ */
47
+ Object.assign(element, Object.assign(Object.assign({}, opts), { hasController: true }));
46
48
  // append the overlay element to the document body
47
49
  getAppRoot(document).appendChild(element);
48
- return new Promise(resolve => helpers.componentOnReady(element, resolve));
50
+ return new Promise((resolve) => helpers.componentOnReady(element, resolve));
49
51
  });
50
52
  }
51
53
  return Promise.resolve();
52
54
  };
53
- const focusableQueryString = '[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])';
54
- const innerFocusableQueryString = 'input:not([type=hidden]), textarea, button, select';
55
+ /**
56
+ * This query string selects elements that
57
+ * are eligible to receive focus. We select
58
+ * interactive elements that meet the following
59
+ * criteria:
60
+ * 1. Element does not have a negative tabindex
61
+ * 2. Element does not have `hidden`
62
+ * 3. Element does not have `disabled` for non-Ionic components.
63
+ * 4. Element does not have `disabled` or `disabled="true"` for Ionic components.
64
+ * Note: We need this distinction because `disabled="false"` is
65
+ * valid usage for the disabled property on ion-button.
66
+ */
67
+ const focusableQueryString = '[tabindex]:not([tabindex^="-"]):not([hidden]):not([disabled]), input:not([type=hidden]):not([tabindex^="-"]):not([hidden]):not([disabled]), textarea:not([tabindex^="-"]):not([hidden]):not([disabled]), button:not([tabindex^="-"]):not([hidden]):not([disabled]), select:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable:not([tabindex^="-"]):not([hidden]):not([disabled]), .ion-focusable[disabled="false"]:not([tabindex^="-"]):not([hidden])';
55
68
  const focusFirstDescendant = (ref, overlay) => {
56
69
  let firstInput = ref.querySelector(focusableQueryString);
57
- const shadowRoot = firstInput && firstInput.shadowRoot;
70
+ const shadowRoot = firstInput === null || firstInput === void 0 ? void 0 : firstInput.shadowRoot;
58
71
  if (shadowRoot) {
59
72
  // If there are no inner focusable elements, just focus the host element.
60
- firstInput = shadowRoot.querySelector(innerFocusableQueryString) || firstInput;
73
+ firstInput = shadowRoot.querySelector(focusableQueryString) || firstInput;
61
74
  }
62
75
  if (firstInput) {
63
- firstInput.focus();
76
+ helpers.focusElement(firstInput);
64
77
  }
65
78
  else {
66
79
  // Focus overlay instead of letting focus escape
67
80
  overlay.focus();
68
81
  }
69
82
  };
83
+ const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
70
84
  const focusLastDescendant = (ref, overlay) => {
71
85
  const inputs = Array.from(ref.querySelectorAll(focusableQueryString));
72
86
  let lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
73
- const shadowRoot = lastInput && lastInput.shadowRoot;
87
+ const shadowRoot = lastInput === null || lastInput === void 0 ? void 0 : lastInput.shadowRoot;
74
88
  if (shadowRoot) {
75
89
  // If there are no inner focusable elements, just focus the host element.
76
- lastInput = shadowRoot.querySelector(innerFocusableQueryString) || lastInput;
90
+ lastInput = shadowRoot.querySelector(focusableQueryString) || lastInput;
77
91
  }
78
92
  if (lastInput) {
79
93
  lastInput.focus();
@@ -91,53 +105,116 @@ const focusLastDescendant = (ref, overlay) => {
91
105
  * Should NOT include: Toast
92
106
  */
93
107
  const trapKeyboardFocus = (ev, doc) => {
94
- const lastOverlay = getOverlay(doc);
108
+ const lastOverlay = getOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover');
95
109
  const target = ev.target;
96
- // If no active overlay, ignore this event
110
+ /**
111
+ * If no active overlay, ignore this event.
112
+ *
113
+ * If this component uses the shadow dom,
114
+ * this global listener is pointless
115
+ * since it will not catch the focus
116
+ * traps as they are inside the shadow root.
117
+ * We need to add a listener to the shadow root
118
+ * itself to ensure the focus trap works.
119
+ */
97
120
  if (!lastOverlay || !target) {
98
121
  return;
99
122
  }
100
123
  /**
101
- * If we are focusing the overlay, clear
102
- * the last focused element so that hitting
103
- * tab activates the first focusable element
104
- * in the overlay wrapper.
124
+ * If the ion-disable-focus-trap class
125
+ * is present on an overlay, then this component
126
+ * instance has opted out of focus trapping.
127
+ * An example of this is when the sheet modal
128
+ * has a backdrop that is disabled. The content
129
+ * behind the sheet should be focusable until
130
+ * the backdrop is enabled.
105
131
  */
106
- if (lastOverlay === target) {
107
- lastOverlay.lastFocus = undefined;
108
- /**
109
- * Otherwise, we must be focusing an element
110
- * inside of the overlay. The two possible options
111
- * here are an input/button/etc or the ion-focus-trap
112
- * element. The focus trap element is used to prevent
113
- * the keyboard focus from leaving the overlay when
114
- * using Tab or screen assistants.
115
- */
132
+ if (lastOverlay.classList.contains('ion-disable-focus-trap')) {
133
+ return;
116
134
  }
117
- else {
135
+ const trapScopedFocus = () => {
118
136
  /**
119
- * We do not want to focus the traps, so get the overlay
120
- * wrapper element as the traps live outside of the wrapper.
137
+ * If we are focusing the overlay, clear
138
+ * the last focused element so that hitting
139
+ * tab activates the first focusable element
140
+ * in the overlay wrapper.
121
141
  */
122
- const overlayRoot = helpers.getElementRoot(lastOverlay);
123
- if (!overlayRoot.contains(target)) {
124
- return;
142
+ if (lastOverlay === target) {
143
+ lastOverlay.lastFocus = undefined;
144
+ /**
145
+ * Otherwise, we must be focusing an element
146
+ * inside of the overlay. The two possible options
147
+ * here are an input/button/etc or the ion-focus-trap
148
+ * element. The focus trap element is used to prevent
149
+ * the keyboard focus from leaving the overlay when
150
+ * using Tab or screen assistants.
151
+ */
125
152
  }
126
- const overlayWrapper = overlayRoot.querySelector('.ion-overlay-wrapper');
127
- if (!overlayWrapper) {
128
- return;
153
+ else {
154
+ /**
155
+ * We do not want to focus the traps, so get the overlay
156
+ * wrapper element as the traps live outside of the wrapper.
157
+ */
158
+ const overlayRoot = helpers.getElementRoot(lastOverlay);
159
+ if (!overlayRoot.contains(target)) {
160
+ return;
161
+ }
162
+ const overlayWrapper = overlayRoot.querySelector('.ion-overlay-wrapper');
163
+ if (!overlayWrapper) {
164
+ return;
165
+ }
166
+ /**
167
+ * If the target is inside the wrapper, let the browser
168
+ * focus as normal and keep a log of the last focused element.
169
+ */
170
+ if (overlayWrapper.contains(target)) {
171
+ lastOverlay.lastFocus = target;
172
+ }
173
+ else {
174
+ /**
175
+ * Otherwise, we must have focused one of the focus traps.
176
+ * We need to wrap the focus to either the first element
177
+ * or the last element.
178
+ */
179
+ /**
180
+ * Once we call `focusFirstDescendant` and focus the first
181
+ * descendant, another focus event will fire which will
182
+ * cause `lastOverlay.lastFocus` to be updated before
183
+ * we can run the code after that. We will cache the value
184
+ * here to avoid that.
185
+ */
186
+ const lastFocus = lastOverlay.lastFocus;
187
+ // Focus the first element in the overlay wrapper
188
+ focusFirstDescendant(overlayWrapper, lastOverlay);
189
+ /**
190
+ * If the cached last focused element is the
191
+ * same as the active element, then we need
192
+ * to wrap focus to the last descendant. This happens
193
+ * when the first descendant is focused, and the user
194
+ * presses Shift + Tab. The previous line will focus
195
+ * the same descendant again (the first one), causing
196
+ * last focus to equal the active element.
197
+ */
198
+ if (lastFocus === doc.activeElement) {
199
+ focusLastDescendant(overlayWrapper, lastOverlay);
200
+ }
201
+ lastOverlay.lastFocus = doc.activeElement;
202
+ }
129
203
  }
204
+ };
205
+ const trapShadowFocus = () => {
130
206
  /**
131
207
  * If the target is inside the wrapper, let the browser
132
208
  * focus as normal and keep a log of the last focused element.
133
209
  */
134
- if (overlayWrapper.contains(target)) {
210
+ if (lastOverlay.contains(target)) {
135
211
  lastOverlay.lastFocus = target;
136
212
  }
137
213
  else {
138
214
  /**
139
- * Otherwise, we must have focused one of the focus traps.
140
- * We need to wrap the focus to either the first element
215
+ * Otherwise, we are about to have focus
216
+ * go out of the overlay. We need to wrap
217
+ * the focus to either the first element
141
218
  * or the last element.
142
219
  */
143
220
  /**
@@ -149,7 +226,7 @@ const trapKeyboardFocus = (ev, doc) => {
149
226
  */
150
227
  const lastFocus = lastOverlay.lastFocus;
151
228
  // Focus the first element in the overlay wrapper
152
- focusFirstDescendant(overlayWrapper, lastOverlay);
229
+ focusFirstDescendant(lastOverlay, lastOverlay);
153
230
  /**
154
231
  * If the cached last focused element is the
155
232
  * same as the active element, then we need
@@ -160,30 +237,38 @@ const trapKeyboardFocus = (ev, doc) => {
160
237
  * last focus to equal the active element.
161
238
  */
162
239
  if (lastFocus === doc.activeElement) {
163
- focusLastDescendant(overlayWrapper, lastOverlay);
240
+ focusLastDescendant(lastOverlay, lastOverlay);
164
241
  }
165
242
  lastOverlay.lastFocus = doc.activeElement;
166
243
  }
244
+ };
245
+ if (lastOverlay.shadowRoot) {
246
+ trapShadowFocus();
247
+ }
248
+ else {
249
+ trapScopedFocus();
167
250
  }
168
251
  };
169
252
  const connectListeners = (doc) => {
170
253
  if (lastId === 0) {
171
254
  lastId = 1;
172
- doc.addEventListener('focus', ev => trapKeyboardFocus(ev, doc), true);
255
+ doc.addEventListener('focus', (ev) => {
256
+ trapKeyboardFocus(ev, doc);
257
+ }, true);
173
258
  // handle back-button click
174
- doc.addEventListener('ionBackButton', ev => {
259
+ doc.addEventListener('ionBackButton', (ev) => {
175
260
  const lastOverlay = getOverlay(doc);
176
- if (lastOverlay && lastOverlay.backdropDismiss) {
261
+ if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
177
262
  ev.detail.register(hardwareBackButton.OVERLAY_BACK_BUTTON_PRIORITY, () => {
178
263
  return lastOverlay.dismiss(undefined, BACKDROP);
179
264
  });
180
265
  }
181
266
  });
182
267
  // handle ESC to close overlay
183
- doc.addEventListener('keyup', ev => {
268
+ doc.addEventListener('keyup', (ev) => {
184
269
  if (ev.key === 'Escape') {
185
270
  const lastOverlay = getOverlay(doc);
186
- if (lastOverlay && lastOverlay.backdropDismiss) {
271
+ if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
187
272
  lastOverlay.dismiss(undefined, BACKDROP);
188
273
  }
189
274
  }
@@ -201,14 +286,18 @@ const getOverlays = (doc, selector) => {
201
286
  if (selector === undefined) {
202
287
  selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';
203
288
  }
204
- return Array.from(doc.querySelectorAll(selector))
205
- .filter(c => c.overlayIndex > 0);
289
+ return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
206
290
  };
291
+ /**
292
+ * Returns an overlay element
293
+ * @param doc The document to find the element within.
294
+ * @param overlayTag The selector for the overlay, defaults to Ionic overlay components.
295
+ * @param id The unique identifier for the overlay instance.
296
+ * @returns The overlay element or `undefined` if no overlay element is found.
297
+ */
207
298
  const getOverlay = (doc, overlayTag, id) => {
208
- const overlays = getOverlays(doc, overlayTag);
209
- return (id === undefined)
210
- ? overlays[overlays.length - 1]
211
- : overlays.find(o => o.id === id);
299
+ const overlays = getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
300
+ return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
212
301
  };
213
302
  /**
214
303
  * When an overlay is presented, the main
@@ -246,20 +335,23 @@ const setRootAriaHidden = (hidden = false) => {
246
335
  }
247
336
  };
248
337
  const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
338
+ var _a, _b;
249
339
  if (overlay.presented) {
250
340
  return;
251
341
  }
252
342
  setRootAriaHidden(true);
253
343
  overlay.presented = true;
254
344
  overlay.willPresent.emit();
345
+ (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
255
346
  const mode = ionicGlobal.getIonMode(overlay);
256
347
  // get the user's animation fn if one was provided
257
- const animationBuilder = (overlay.enterAnimation)
348
+ const animationBuilder = overlay.enterAnimation
258
349
  ? overlay.enterAnimation
259
350
  : ionicGlobal.config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);
260
351
  const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
261
352
  if (completed) {
262
353
  overlay.didPresent.emit();
354
+ (_b = overlay.didPresentShorthand) === null || _b === void 0 ? void 0 : _b.emit();
263
355
  }
264
356
  /**
265
357
  * When an overlay that steals focus
@@ -272,7 +364,13 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
272
364
  if (overlay.el.tagName !== 'ION-TOAST') {
273
365
  focusPreviousElementOnDismiss(overlay.el);
274
366
  }
275
- if (overlay.keyboardClose) {
367
+ /**
368
+ * If the focused element is already
369
+ * inside the overlay component then
370
+ * focus should not be moved from that
371
+ * to the overlay container.
372
+ */
373
+ if (overlay.keyboardClose && (document.activeElement === null || !overlay.el.contains(document.activeElement))) {
276
374
  overlay.el.focus();
277
375
  }
278
376
  };
@@ -291,15 +389,16 @@ const focusPreviousElementOnDismiss = async (overlayEl) => {
291
389
  if (!previousElement) {
292
390
  return;
293
391
  }
294
- const shadowRoot = previousElement && previousElement.shadowRoot;
392
+ const shadowRoot = previousElement === null || previousElement === void 0 ? void 0 : previousElement.shadowRoot;
295
393
  if (shadowRoot) {
296
394
  // If there are no inner focusable elements, just focus the host element.
297
- previousElement = shadowRoot.querySelector(innerFocusableQueryString) || previousElement;
395
+ previousElement = shadowRoot.querySelector(focusableQueryString) || previousElement;
298
396
  }
299
397
  await overlayEl.onDidDismiss();
300
398
  previousElement.focus();
301
399
  };
302
400
  const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
401
+ var _a, _b;
303
402
  if (!overlay.presented) {
304
403
  return false;
305
404
  }
@@ -309,8 +408,9 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
309
408
  // Overlay contents should not be clickable during dismiss
310
409
  overlay.el.style.setProperty('pointer-events', 'none');
311
410
  overlay.willDismiss.emit({ data, role });
411
+ (_a = overlay.willDismissShorthand) === null || _a === void 0 ? void 0 : _a.emit({ data, role });
312
412
  const mode = ionicGlobal.getIonMode(overlay);
313
- const animationBuilder = (overlay.leaveAnimation)
413
+ const animationBuilder = overlay.leaveAnimation
314
414
  ? overlay.leaveAnimation
315
415
  : ionicGlobal.config.get(name, mode === 'ios' ? iosLeaveAnimation : mdLeaveAnimation);
316
416
  // If dismissed via gesture, no need to play leaving animation again
@@ -318,7 +418,15 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
318
418
  await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
319
419
  }
320
420
  overlay.didDismiss.emit({ data, role });
421
+ (_b = overlay.didDismissShorthand) === null || _b === void 0 ? void 0 : _b.emit({ data, role });
321
422
  activeAnimations.delete(overlay);
423
+ /**
424
+ * Make overlay hidden again in case it is being reused.
425
+ * We can safely remove pointer-events: none as
426
+ * overlay-hidden will set display: none.
427
+ */
428
+ overlay.el.classList.add('overlay-hidden');
429
+ overlay.el.style.removeProperty('pointer-events');
322
430
  }
323
431
  catch (err) {
324
432
  console.error(err);
@@ -332,7 +440,7 @@ const getAppRoot = (doc) => {
332
440
  const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
333
441
  // Make overlay visible in case it's hidden
334
442
  baseEl.classList.remove('overlay-hidden');
335
- const aniRoot = baseEl.shadowRoot || overlay.el;
443
+ const aniRoot = overlay.el;
336
444
  const animation = animationBuilder(aniRoot, opts);
337
445
  if (!overlay.animated || !ionicGlobal.config.getBoolean('animated', true)) {
338
446
  animation.duration(0);
@@ -340,7 +448,7 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
340
448
  if (overlay.keyboardClose) {
341
449
  animation.beforeAddWrite(() => {
342
450
  const activeElement = baseEl.ownerDocument.activeElement;
343
- if (activeElement && activeElement.matches('input, ion-input, ion-textarea')) {
451
+ if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.matches('input,ion-input, ion-textarea')) {
344
452
  activeElement.blur();
345
453
  }
346
454
  });
@@ -352,7 +460,7 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
352
460
  };
353
461
  const eventMethod = (element, eventName) => {
354
462
  let resolve;
355
- const promise = new Promise(r => resolve = r);
463
+ const promise = new Promise((r) => (resolve = r));
356
464
  onceEvent(element, eventName, (event) => {
357
465
  resolve(event.detail);
358
466
  });
@@ -369,6 +477,13 @@ const isCancel = (role) => {
369
477
  return role === 'cancel' || role === BACKDROP;
370
478
  };
371
479
  const defaultGate = (h) => h();
480
+ /**
481
+ * Calls a developer provided method while avoiding
482
+ * Angular Zones. Since the handler is provided by
483
+ * the developer, we should throw any errors
484
+ * received so that developer-provided bug
485
+ * tracking software can log it.
486
+ */
372
487
  const safeCall = (handler, arg) => {
373
488
  if (typeof handler === 'function') {
374
489
  const jmp = ionicGlobal.config.get('_zoneGate', defaultGate);
@@ -377,7 +492,7 @@ const safeCall = (handler, arg) => {
377
492
  return handler(arg);
378
493
  }
379
494
  catch (e) {
380
- console.error(e);
495
+ throw e;
381
496
  }
382
497
  });
383
498
  }
@@ -391,8 +506,9 @@ exports.activeAnimations = activeAnimations;
391
506
  exports.alertController = alertController;
392
507
  exports.dismiss = dismiss;
393
508
  exports.eventMethod = eventMethod;
509
+ exports.focusFirstDescendant = focusFirstDescendant;
510
+ exports.getOverlay = getOverlay;
394
511
  exports.isCancel = isCancel;
395
- exports.pickerController = pickerController;
396
512
  exports.popoverController = popoverController;
397
513
  exports.prepareOverlay = prepareOverlay;
398
514
  exports.present = present;
@@ -0,0 +1,147 @@
1
+ 'use strict';
2
+
3
+ /*!
4
+ * (C) Ionic http://ionicframework.com - MIT License
5
+ */
6
+ const spinners = {
7
+ bubbles: {
8
+ dur: 1000,
9
+ circles: 9,
10
+ fn: (dur, index, total) => {
11
+ const animationDelay = `${(dur * index) / total - dur}ms`;
12
+ const angle = (2 * Math.PI * index) / total;
13
+ return {
14
+ r: 5,
15
+ style: {
16
+ top: `${9 * Math.sin(angle)}px`,
17
+ left: `${9 * Math.cos(angle)}px`,
18
+ 'animation-delay': animationDelay,
19
+ },
20
+ };
21
+ },
22
+ },
23
+ circles: {
24
+ dur: 1000,
25
+ circles: 8,
26
+ fn: (dur, index, total) => {
27
+ const step = index / total;
28
+ const animationDelay = `${dur * step - dur}ms`;
29
+ const angle = 2 * Math.PI * step;
30
+ return {
31
+ r: 5,
32
+ style: {
33
+ top: `${9 * Math.sin(angle)}px`,
34
+ left: `${9 * Math.cos(angle)}px`,
35
+ 'animation-delay': animationDelay,
36
+ },
37
+ };
38
+ },
39
+ },
40
+ circular: {
41
+ dur: 1400,
42
+ elmDuration: true,
43
+ circles: 1,
44
+ fn: () => {
45
+ return {
46
+ r: 20,
47
+ cx: 48,
48
+ cy: 48,
49
+ fill: 'none',
50
+ viewBox: '24 24 48 48',
51
+ transform: 'translate(0,0)',
52
+ style: {},
53
+ };
54
+ },
55
+ },
56
+ crescent: {
57
+ dur: 750,
58
+ circles: 1,
59
+ fn: () => {
60
+ return {
61
+ r: 26,
62
+ style: {},
63
+ };
64
+ },
65
+ },
66
+ dots: {
67
+ dur: 750,
68
+ circles: 3,
69
+ fn: (_, index) => {
70
+ const animationDelay = -(110 * index) + 'ms';
71
+ return {
72
+ r: 6,
73
+ style: {
74
+ left: `${9 - 9 * index}px`,
75
+ 'animation-delay': animationDelay,
76
+ },
77
+ };
78
+ },
79
+ },
80
+ lines: {
81
+ dur: 1000,
82
+ lines: 8,
83
+ fn: (dur, index, total) => {
84
+ const transform = `rotate(${(360 / total) * index + (index < total / 2 ? 180 : -180)}deg)`;
85
+ const animationDelay = `${(dur * index) / total - dur}ms`;
86
+ return {
87
+ y1: 14,
88
+ y2: 26,
89
+ style: {
90
+ transform: transform,
91
+ 'animation-delay': animationDelay,
92
+ },
93
+ };
94
+ },
95
+ },
96
+ 'lines-small': {
97
+ dur: 1000,
98
+ lines: 8,
99
+ fn: (dur, index, total) => {
100
+ const transform = `rotate(${(360 / total) * index + (index < total / 2 ? 180 : -180)}deg)`;
101
+ const animationDelay = `${(dur * index) / total - dur}ms`;
102
+ return {
103
+ y1: 12,
104
+ y2: 20,
105
+ style: {
106
+ transform: transform,
107
+ 'animation-delay': animationDelay,
108
+ },
109
+ };
110
+ },
111
+ },
112
+ 'lines-sharp': {
113
+ dur: 1000,
114
+ lines: 12,
115
+ fn: (dur, index, total) => {
116
+ const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
117
+ const animationDelay = `${(dur * index) / total - dur}ms`;
118
+ return {
119
+ y1: 17,
120
+ y2: 29,
121
+ style: {
122
+ transform: transform,
123
+ 'animation-delay': animationDelay,
124
+ },
125
+ };
126
+ },
127
+ },
128
+ 'lines-sharp-small': {
129
+ dur: 1000,
130
+ lines: 12,
131
+ fn: (dur, index, total) => {
132
+ const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
133
+ const animationDelay = `${(dur * index) / total - dur}ms`;
134
+ return {
135
+ y1: 12,
136
+ y2: 20,
137
+ style: {
138
+ transform: transform,
139
+ 'animation-delay': animationDelay,
140
+ },
141
+ };
142
+ },
143
+ },
144
+ };
145
+ const SPINNERS = spinners;
146
+
147
+ exports.SPINNERS = SPINNERS;
@@ -1,8 +1,13 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-b4a9ece2.js');
4
- const helpers = require('./helpers-398ced09.js');
3
+ const index = require('./index-eaa0d16e.js');
4
+ const index$1 = require('./index-9fca5d6f.js');
5
+ const helpers = require('./helpers-cb08f5ae.js');
6
+ require('./index-b2a479e4.js');
5
7
 
8
+ /*!
9
+ * (C) Ionic http://ionicframework.com - MIT License
10
+ */
6
11
  const startStatusTap = () => {
7
12
  const win = window;
8
13
  win.addEventListener('statusTap', () => {
@@ -13,9 +18,9 @@ const startStatusTap = () => {
13
18
  if (!el) {
14
19
  return;
15
20
  }
16
- const contentEl = el.closest('ion-content');
21
+ const contentEl = index$1.findClosestIonContent(el);
17
22
  if (contentEl) {
18
- new Promise(resolve => helpers.componentOnReady(contentEl, resolve)).then(() => {
23
+ new Promise((resolve) => helpers.componentOnReady(contentEl, resolve)).then(() => {
19
24
  index.writeTask(async () => {
20
25
  /**
21
26
  * If scrolling and user taps status bar,
@@ -25,7 +30,7 @@ const startStatusTap = () => {
25
30
  * any in-progress momentum scrolling.
26
31
  */
27
32
  contentEl.style.setProperty('--overflow', 'hidden');
28
- await contentEl.scrollToTop(300);
33
+ await index$1.scrollToTop(contentEl, 300);
29
34
  contentEl.style.removeProperty('--overflow');
30
35
  });
31
36
  });