@pod-os/elements 0.7.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 (409) 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 +4 -4
  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} +1694 -1406
  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 +4 -4
  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/collection-manifest.json +7 -0
  101. package/dist/custom-elements/index.js +12689 -4785
  102. package/dist/custom-elements/{tap-click.js → index2.js} +36 -18
  103. package/dist/custom-elements/input-shims.js +87 -38
  104. package/dist/custom-elements/ios.transition.js +74 -50
  105. package/dist/custom-elements/md.transition.js +11 -14
  106. package/dist/custom-elements/status-tap.js +7 -4
  107. package/dist/custom-elements/swipe-back.js +31 -13
  108. package/dist/elements/elements.css +1 -1
  109. package/dist/elements/elements.esm.js +1 -1
  110. package/dist/elements/p-0268cbd3.entry.js +7 -0
  111. package/dist/elements/p-0587332d.entry.js +1 -0
  112. package/dist/elements/{p-cfc0e54d.js → p-0991c811.js} +3 -0
  113. package/dist/elements/p-0a69a563.entry.js +1 -0
  114. package/dist/elements/p-0b95be17.entry.js +1 -0
  115. package/dist/elements/p-0d284fe0.entry.js +1 -0
  116. package/dist/elements/p-0fd77b33.entry.js +1 -0
  117. package/dist/elements/p-120dec2b.entry.js +1 -0
  118. package/dist/elements/p-12880671.entry.js +1 -0
  119. package/dist/elements/p-14ccd586.entry.js +1 -0
  120. package/dist/elements/{p-83d45051.entry.js → p-14df6ac0.entry.js} +1 -1
  121. package/dist/elements/{p-e860be6a.entry.js → p-17079f06.entry.js} +1 -1
  122. package/dist/elements/p-19e4a688.js +4 -0
  123. package/dist/elements/p-1afc4eb4.js +4 -0
  124. package/dist/elements/p-1beaf6bf.js +4 -0
  125. package/dist/elements/p-1d1c6a6f.entry.js +1 -0
  126. package/dist/elements/{p-31d30e42.entry.js → p-1d98f84b.entry.js} +1 -1
  127. package/dist/elements/p-278ca4c9.js +4 -0
  128. package/dist/elements/p-27f5629c.entry.js +1 -0
  129. package/dist/elements/p-29c0f03f.js +4 -0
  130. package/dist/elements/p-2da59aca.js +4 -0
  131. package/dist/elements/p-3152143f.js +4 -0
  132. package/dist/elements/p-343ff720.entry.js +7 -0
  133. package/dist/elements/p-36d4c9a8.js +4 -0
  134. package/dist/elements/p-3a30dfb2.entry.js +1 -0
  135. package/dist/elements/p-3c013bf1.entry.js +1 -0
  136. package/dist/elements/{p-74ba1e42.entry.js → p-3c318da5.entry.js} +1 -1
  137. package/dist/elements/p-3cee3222.entry.js +1 -0
  138. package/dist/elements/p-480b3c4f.entry.js +1 -0
  139. package/dist/elements/p-4e9d8f18.entry.js +1 -0
  140. package/dist/elements/p-53e23176.js +2 -0
  141. package/dist/elements/p-548524f3.js +4 -0
  142. package/dist/elements/p-5739fa41.entry.js +1 -0
  143. package/dist/elements/p-5808c505.js +1 -0
  144. package/dist/elements/p-58a8cc2a.js +4 -0
  145. package/dist/elements/p-6035415e.entry.js +1 -0
  146. package/dist/elements/p-60eeae90.js +4 -0
  147. package/dist/elements/p-610b03ff.entry.js +4 -0
  148. package/dist/elements/p-67777478.entry.js +1 -0
  149. package/dist/elements/p-6ab826e1.entry.js +1 -0
  150. package/dist/elements/p-6f5a2827.entry.js +1 -0
  151. package/dist/elements/p-779676c5.entry.js +1 -0
  152. package/dist/elements/p-7916ecc5.entry.js +1 -0
  153. package/dist/elements/p-79f06b80.entry.js +1 -0
  154. package/dist/elements/p-7b5991c1.entry.js +1 -0
  155. package/dist/elements/p-7d0def79.js +5 -0
  156. package/dist/elements/p-8112afea.js +4 -0
  157. package/dist/elements/p-83678d7d.entry.js +4 -0
  158. package/dist/elements/p-87e45c94.entry.js +1 -0
  159. package/dist/elements/p-8da6a31e.entry.js +1 -0
  160. package/dist/elements/p-8f80768f.entry.js +4 -0
  161. package/dist/elements/p-8fe0433b.js +4 -0
  162. package/dist/elements/{p-4cb27b48.entry.js → p-9147d82b.entry.js} +1 -1
  163. package/dist/elements/p-97abb434.entry.js +1 -0
  164. package/dist/elements/p-98497a4b.entry.js +1 -0
  165. package/dist/elements/p-9c719139.js +4 -0
  166. package/dist/elements/p-9ca37332.js +4 -0
  167. package/dist/elements/{p-37de7110.js → p-9d48def2.js} +3 -0
  168. package/dist/elements/p-a79a6ad9.entry.js +79 -0
  169. package/dist/elements/p-a805f2f9.entry.js +1 -0
  170. package/dist/elements/p-a86a5bfa.entry.js +1 -0
  171. package/dist/elements/{p-9c1dbe52.entry.js → p-ac34eab7.entry.js} +1 -1
  172. package/dist/elements/p-ad366eab.entry.js +4 -0
  173. package/dist/elements/p-aef3a931.js +7 -0
  174. package/dist/elements/p-b0537eb3.entry.js +1 -0
  175. package/dist/elements/p-b337f3b8.js +4 -0
  176. package/dist/elements/p-b34bf73f.entry.js +7 -0
  177. package/dist/elements/p-b41e66f0.entry.js +1 -0
  178. package/dist/elements/p-b47e7091.entry.js +1 -0
  179. package/dist/elements/p-b840320e.js +4 -0
  180. package/dist/elements/p-b934ac5d.entry.js +1 -0
  181. package/dist/elements/p-b98314e0.entry.js +4 -0
  182. package/dist/elements/p-bd12806f.entry.js +1 -0
  183. package/dist/elements/p-c16d38d5.js +4 -0
  184. package/dist/elements/p-c84205a3.js +4 -0
  185. package/dist/elements/{p-06675ac7.entry.js → p-cbe318f8.entry.js} +1 -1
  186. package/dist/elements/p-cfed7395.js +4 -0
  187. package/dist/elements/p-d22a1dc7.entry.js +7 -0
  188. package/dist/elements/p-d3e75c94.entry.js +1 -0
  189. package/dist/elements/p-d8f6d3ce.entry.js +14 -0
  190. package/dist/elements/p-d9880221.entry.js +4 -0
  191. package/dist/elements/p-da5db8fb.entry.js +1 -0
  192. package/dist/elements/{p-91fe653f.js → p-dcc6b03c.js} +3 -0
  193. package/dist/elements/{p-305e246c.entry.js → p-dd846020.entry.js} +1 -1
  194. package/dist/elements/p-df240b2a.entry.js +4 -0
  195. package/dist/elements/p-dffd8689.js +4 -0
  196. package/dist/elements/p-e495a095.js +4 -0
  197. package/dist/elements/p-e5fc7d42.entry.js +1 -0
  198. package/dist/elements/{p-aaa8393e.entry.js → p-eb137e9d.entry.js} +1 -1
  199. package/dist/elements/p-f4e54a17.js +7 -0
  200. package/dist/elements/p-f67d0717.entry.js +1 -0
  201. package/dist/elements/p-f7f4c640.js +1 -0
  202. package/dist/elements/p-f851b91a.js +4 -0
  203. package/dist/elements/p-fb27ee76.entry.js +1 -0
  204. package/dist/elements/p-fbddca35.entry.js +1 -0
  205. package/dist/elements/p-fc1df8e0.entry.js +7 -0
  206. package/dist/elements/p-fdac5f3a.js +4 -0
  207. package/dist/esm/{animation-fe6ed422.js → animation-801a007a.js} +115 -84
  208. package/dist/esm/{app-globals-27d92837.js → app-globals-05a3abfb.js} +1 -1
  209. package/dist/esm/{cubic-bezier-108b8579.js → cubic-bezier-538b6253.js} +13 -12
  210. package/dist/esm/data-62c81c24.js +1463 -0
  211. package/dist/esm/dir-defb16c6.js +18 -0
  212. package/dist/esm/elements.js +4 -4
  213. package/dist/esm/focus-visible-78d55799.js +74 -0
  214. package/dist/esm/framework-delegate-7e2b767b.js +115 -0
  215. package/dist/esm/{gesture-controller-8f35af24.js → gesture-controller-c466ff14.js} +6 -2
  216. package/dist/esm/{haptic-c424e670.js → haptic-e7d5ef4d.js} +38 -9
  217. package/dist/esm/{hardware-back-button-bb4c578a.js → hardware-back-button-242191a7.js} +11 -8
  218. package/dist/esm/{helpers-44e3bd9f.js → helpers-aeff219b.js} +113 -16
  219. package/dist/esm/index-0dbaca1a.js +28 -0
  220. package/dist/esm/index-1f3d8582.js +34 -0
  221. package/dist/esm/{index-97199683.js → index-2be9a18b.js} +34 -28
  222. package/dist/esm/{index-8d682224.js → index-51e4a829.js} +12 -8
  223. package/dist/esm/{index-8a463a85.js → index-6048aed6.js} +35 -24
  224. package/dist/esm/index-65ecd543.js +25 -0
  225. package/dist/esm/{tap-click-a7e55ef5.js → index-b212db1c.js} +37 -19
  226. package/dist/esm/{index-e4deec27.js → index-cb938ffb.js} +7 -1
  227. package/dist/esm/{index-3a1bd803.js → index-d39eb62b.js} +35 -20
  228. package/dist/esm/index-ebf7f059.js +128 -0
  229. package/dist/esm/{input-shims-3b48722f.js → input-shims-8a389148.js} +89 -38
  230. package/dist/esm/ion-accordion-group.entry.js +201 -0
  231. package/dist/esm/ion-accordion.entry.js +332 -0
  232. package/dist/esm/ion-action-sheet_3.entry.js +859 -0
  233. package/dist/esm/{ion-app_45.entry.js → ion-app_46.entry.js} +1694 -1407
  234. package/dist/esm/ion-avatar.entry.js +2 -2
  235. package/dist/esm/ion-back-button.entry.js +12 -11
  236. package/dist/esm/ion-backdrop.entry.js +4 -4
  237. package/dist/esm/ion-breadcrumb.entry.js +97 -0
  238. package/dist/esm/ion-breadcrumbs.entry.js +129 -0
  239. package/dist/esm/ion-buttons_3.entry.js +787 -0
  240. package/dist/esm/ion-card-subtitle.entry.js +4 -4
  241. package/dist/esm/{ion-list-header_3.entry.js → ion-checkbox_4.entry.js} +124 -24
  242. package/dist/esm/ion-chip.entry.js +5 -10
  243. package/dist/esm/ion-datetime-button.entry.js +342 -0
  244. package/dist/esm/ion-datetime.entry.js +1548 -856
  245. package/dist/esm/ion-fab-button.entry.js +26 -9
  246. package/dist/esm/ion-fab-list.entry.js +4 -4
  247. package/dist/esm/ion-fab.entry.js +15 -13
  248. package/dist/esm/ion-img.entry.js +28 -4
  249. package/dist/esm/ion-infinite-scroll-content.entry.js +5 -5
  250. package/dist/esm/ion-infinite-scroll.entry.js +13 -13
  251. package/dist/esm/ion-input.entry.js +57 -23
  252. package/dist/esm/ion-item-option.entry.js +8 -8
  253. package/dist/esm/ion-item-options.entry.js +5 -5
  254. package/dist/esm/ion-item-sliding.entry.js +59 -63
  255. package/dist/esm/ion-loading.entry.js +37 -36
  256. package/dist/esm/ion-menu-button.entry.js +14 -12
  257. package/dist/esm/ion-menu-toggle.entry.js +8 -7
  258. package/dist/esm/ion-menu.entry.js +71 -57
  259. package/dist/esm/ion-modal.entry.js +1375 -145
  260. package/dist/esm/ion-nav-link.entry.js +5 -2
  261. package/dist/esm/ion-nav.entry.js +177 -171
  262. package/dist/esm/ion-picker-column.entry.js +25 -27
  263. package/dist/esm/ion-picker.entry.js +22 -17
  264. package/dist/esm/ion-popover.entry.js +1208 -182
  265. package/dist/esm/ion-range.entry.js +137 -57
  266. package/dist/esm/ion-refresher-content.entry.js +7 -12
  267. package/dist/esm/ion-refresher.entry.js +149 -147
  268. package/dist/esm/ion-reorder-group.entry.js +42 -35
  269. package/dist/esm/ion-reorder.entry.js +5 -4
  270. package/dist/esm/ion-route-redirect.entry.js +1 -1
  271. package/dist/esm/ion-route.entry.js +1 -1
  272. package/dist/esm/ion-router-link.entry.js +5 -5
  273. package/dist/esm/ion-router-outlet.entry.js +24 -20
  274. package/dist/esm/ion-router.entry.js +291 -194
  275. package/dist/esm/ion-segment-button.entry.js +10 -17
  276. package/dist/esm/ion-segment.entry.js +119 -26
  277. package/dist/esm/ion-select-option.entry.js +3 -3
  278. package/dist/esm/ion-select.entry.js +113 -78
  279. package/dist/esm/ion-slide.entry.js +3 -3
  280. package/dist/esm/ion-slides.entry.js +26 -27
  281. package/dist/esm/ion-spinner.entry.js +10 -9
  282. package/dist/esm/ion-split-pane.entry.js +16 -12
  283. package/dist/esm/ion-tab-bar.entry.js +16 -23
  284. package/dist/esm/ion-tab-button.entry.js +6 -6
  285. package/dist/esm/ion-tab.entry.js +4 -4
  286. package/dist/esm/ion-tabs.entry.js +4 -5
  287. package/dist/esm/ion-text.entry.js +3 -3
  288. package/dist/esm/ion-textarea.entry.js +31 -29
  289. package/dist/esm/ion-thumbnail.entry.js +2 -2
  290. package/dist/esm/ion-toast.entry.js +49 -59
  291. package/dist/esm/ion-toggle.entry.js +41 -22
  292. package/dist/esm/ion-virtual-scroll.entry.js +39 -31
  293. package/dist/esm/{ionic-global-2e28f7c7.js → ionic-global-6cd57191.js} +112 -93
  294. package/dist/esm/{ios.transition-a783e3cd.js → ios.transition-bbd952f2.js} +78 -53
  295. package/dist/{custom-elements/keyboard.js → esm/keyboard-413afe04.js} +6 -3
  296. package/dist/esm/keyboard-controller-33693bc2.js +40 -0
  297. package/dist/esm/loader.js +4 -4
  298. package/dist/esm/{md.transition-5a4a8c82.js → md.transition-5170a6d3.js} +15 -17
  299. package/dist/esm/{menu-toggle-util-562dfc9c.js → menu-toggle-util-82bf888a.js} +5 -2
  300. package/dist/esm/{overlays-fc9a0625.js → overlays-0c7f05e1.js} +186 -71
  301. package/dist/esm/spinner-configs-cbcd1f62.js +145 -0
  302. package/dist/esm/{status-tap-69e62ad6.js → status-tap-ad757b8a.js} +10 -5
  303. package/dist/esm/swipe-back-7ef22876.js +69 -0
  304. package/dist/esm/test-component.entry.js +1 -1
  305. package/dist/esm/{theme-d21826a7.js → theme-7cf2cab0.js} +9 -5
  306. package/package.json +4 -5
  307. package/LICENSE +0 -21
  308. package/dist/cjs/button-active-c14dab31.js +0 -66
  309. package/dist/cjs/focus-visible-16c98640.js +0 -45
  310. package/dist/cjs/framework-delegate-c45292a3.js +0 -37
  311. package/dist/cjs/ion-action-sheet.cjs.entry.js +0 -265
  312. package/dist/cjs/ion-alert.cjs.entry.js +0 -456
  313. package/dist/cjs/ion-buttons.cjs.entry.js +0 -42
  314. package/dist/cjs/ion-checkbox.cjs.entry.js +0 -117
  315. package/dist/cjs/ion-note.cjs.entry.js +0 -29
  316. package/dist/cjs/ion-select-popover.cjs.entry.js +0 -35
  317. package/dist/cjs/spinner-configs-fb16b986.js +0 -112
  318. package/dist/custom-elements/focus-visible.js +0 -43
  319. package/dist/elements/p-03bda390.js +0 -1
  320. package/dist/elements/p-0be044f1.entry.js +0 -1
  321. package/dist/elements/p-119c7c6c.entry.js +0 -1
  322. package/dist/elements/p-14c7c3ea.entry.js +0 -1
  323. package/dist/elements/p-1d4a2c61.js +0 -1
  324. package/dist/elements/p-1d894ac4.entry.js +0 -1
  325. package/dist/elements/p-1dafa1ce.entry.js +0 -1
  326. package/dist/elements/p-23b89ccb.entry.js +0 -1
  327. package/dist/elements/p-2c03b9ab.entry.js +0 -1
  328. package/dist/elements/p-346985f2.js +0 -1
  329. package/dist/elements/p-360f1c62.entry.js +0 -1
  330. package/dist/elements/p-373e1f25.entry.js +0 -1
  331. package/dist/elements/p-40547acb.entry.js +0 -1
  332. package/dist/elements/p-40b68014.entry.js +0 -1
  333. package/dist/elements/p-42e4f702.entry.js +0 -1
  334. package/dist/elements/p-489807e5.js +0 -1
  335. package/dist/elements/p-4ad72d54.entry.js +0 -1
  336. package/dist/elements/p-4cca7b5e.entry.js +0 -1
  337. package/dist/elements/p-4f24d306.js +0 -1
  338. package/dist/elements/p-519d6a53.entry.js +0 -1
  339. package/dist/elements/p-536e8e52.entry.js +0 -1
  340. package/dist/elements/p-599bb53f.entry.js +0 -1
  341. package/dist/elements/p-5eb7a546.js +0 -1
  342. package/dist/elements/p-60df2bed.entry.js +0 -1
  343. package/dist/elements/p-65133e33.js +0 -1
  344. package/dist/elements/p-6693fce8.js +0 -1
  345. package/dist/elements/p-689bdcc1.entry.js +0 -1
  346. package/dist/elements/p-70713b3d.entry.js +0 -1
  347. package/dist/elements/p-707d5d76.js +0 -1
  348. package/dist/elements/p-7212b7f2.js +0 -1
  349. package/dist/elements/p-73992898.entry.js +0 -1
  350. package/dist/elements/p-792c1e0f.entry.js +0 -1
  351. package/dist/elements/p-7e5300af.js +0 -2
  352. package/dist/elements/p-8068987c.entry.js +0 -1
  353. package/dist/elements/p-83accf46.entry.js +0 -1
  354. package/dist/elements/p-86635d06.entry.js +0 -1
  355. package/dist/elements/p-874c2b44.js +0 -1
  356. package/dist/elements/p-89c12ce8.entry.js +0 -1
  357. package/dist/elements/p-8bcba3f7.entry.js +0 -1
  358. package/dist/elements/p-8c759f51.entry.js +0 -1
  359. package/dist/elements/p-8f945e6b.entry.js +0 -1
  360. package/dist/elements/p-9300ab6a.js +0 -1
  361. package/dist/elements/p-93cacd51.entry.js +0 -1
  362. package/dist/elements/p-9408d0b4.entry.js +0 -1
  363. package/dist/elements/p-98c79eda.js +0 -1
  364. package/dist/elements/p-99f8abed.js +0 -1
  365. package/dist/elements/p-9ca7e079.js +0 -1
  366. package/dist/elements/p-a4648b74.entry.js +0 -1
  367. package/dist/elements/p-aab0f63c.js +0 -1
  368. package/dist/elements/p-ad4e2295.entry.js +0 -1
  369. package/dist/elements/p-afb8f7d5.entry.js +0 -1
  370. package/dist/elements/p-b055ec44.js +0 -1
  371. package/dist/elements/p-b078d63b.entry.js +0 -1
  372. package/dist/elements/p-b3460325.entry.js +0 -1
  373. package/dist/elements/p-b5406b58.entry.js +0 -1
  374. package/dist/elements/p-b5ef0c91.entry.js +0 -1
  375. package/dist/elements/p-b6ba623e.entry.js +0 -1
  376. package/dist/elements/p-b9926d8b.entry.js +0 -1
  377. package/dist/elements/p-bfd4cfcd.entry.js +0 -1
  378. package/dist/elements/p-c08dd7d0.entry.js +0 -1
  379. package/dist/elements/p-c0db9c51.entry.js +0 -1
  380. package/dist/elements/p-c1e7fbfb.js +0 -1
  381. package/dist/elements/p-ca69d6c9.js +0 -1
  382. package/dist/elements/p-cc4cb1ac.entry.js +0 -1
  383. package/dist/elements/p-cf8a7031.entry.js +0 -1
  384. package/dist/elements/p-cff82b6f.js +0 -1
  385. package/dist/elements/p-d01009b8.entry.js +0 -67
  386. package/dist/elements/p-d6d1e65f.entry.js +0 -1
  387. package/dist/elements/p-d9462b66.entry.js +0 -1
  388. package/dist/elements/p-e2e0fee9.entry.js +0 -1
  389. package/dist/elements/p-e642b266.entry.js +0 -1
  390. package/dist/elements/p-e953934f.entry.js +0 -1
  391. package/dist/elements/p-f0474f46.js +0 -1
  392. package/dist/elements/p-f10a94f6.entry.js +0 -1
  393. package/dist/elements/p-f2426182.entry.js +0 -1
  394. package/dist/elements/p-f327fd21.js +0 -1
  395. package/dist/elements/p-f84987ee.js +0 -1
  396. package/dist/elements/p-f8a3367d.entry.js +0 -1
  397. package/dist/esm/button-active-fd9d6d91.js +0 -64
  398. package/dist/esm/focus-visible-edb28f19.js +0 -43
  399. package/dist/esm/framework-delegate-9cd8048f.js +0 -34
  400. package/dist/esm/ion-action-sheet.entry.js +0 -261
  401. package/dist/esm/ion-alert.entry.js +0 -452
  402. package/dist/esm/ion-buttons.entry.js +0 -38
  403. package/dist/esm/ion-checkbox.entry.js +0 -113
  404. package/dist/esm/ion-note.entry.js +0 -25
  405. package/dist/esm/ion-select-popover.entry.js +0 -31
  406. package/dist/esm/keyboard-e6abcb80.js +0 -125
  407. package/dist/esm/spinner-configs-aaf2a1a9.js +0 -110
  408. package/dist/esm/swipe-back-d84cfc8a.js +0 -50
  409. package/readme.md +0 -55
@@ -1,7 +1,10 @@
1
- import { g as getIonMode, c as config } from './ionic-global-2e28f7c7.js';
2
- import { OVERLAY_BACK_BUTTON_PRIORITY } from './hardware-back-button-bb4c578a.js';
3
- import { a as componentOnReady, b as addEventListener, e as removeEventListener, g as getElementRoot } from './helpers-44e3bd9f.js';
1
+ import { g as getIonMode, c as config } from './ionic-global-6cd57191.js';
2
+ import { OVERLAY_BACK_BUTTON_PRIORITY } from './hardware-back-button-242191a7.js';
3
+ import { c as componentOnReady, e as addEventListener, m as focusElement, f as removeEventListener, g as getElementRoot } from './helpers-aeff219b.js';
4
4
 
5
+ /*!
6
+ * (C) Ionic http://ionicframework.com - MIT License
7
+ */
5
8
  let lastId = 0;
6
9
  const activeAnimations = new WeakMap();
7
10
  const createController = (tagName) => {
@@ -14,15 +17,13 @@ const createController = (tagName) => {
14
17
  },
15
18
  async getTop() {
16
19
  return getOverlay(document, tagName);
17
- }
20
+ },
18
21
  };
19
22
  };
20
23
  const alertController = /*@__PURE__*/ createController('ion-alert');
21
24
  const actionSheetController = /*@__PURE__*/ createController('ion-action-sheet');
22
- const pickerController = /*@__PURE__*/ createController('ion-picker');
23
25
  const popoverController = /*@__PURE__*/ createController('ion-popover');
24
26
  const prepareOverlay = (el) => {
25
- /* tslint:disable-next-line */
26
27
  if (typeof document !== 'undefined') {
27
28
  connectListeners(document);
28
29
  }
@@ -33,45 +34,58 @@ const prepareOverlay = (el) => {
33
34
  }
34
35
  };
35
36
  const createOverlay = (tagName, opts) => {
36
- /* tslint:disable-next-line */
37
- if (typeof customElements !== 'undefined') {
38
- return customElements.whenDefined(tagName).then(() => {
37
+ if (typeof window !== 'undefined' && typeof window.customElements !== 'undefined') {
38
+ return window.customElements.whenDefined(tagName).then(() => {
39
39
  const element = document.createElement(tagName);
40
40
  element.classList.add('overlay-hidden');
41
- // convert the passed in overlay options into props
42
- // that get passed down into the new overlay
43
- Object.assign(element, opts);
41
+ /**
42
+ * Convert the passed in overlay options into props
43
+ * that get passed down into the new overlay.
44
+ */
45
+ Object.assign(element, Object.assign(Object.assign({}, opts), { hasController: true }));
44
46
  // append the overlay element to the document body
45
47
  getAppRoot(document).appendChild(element);
46
- return new Promise(resolve => componentOnReady(element, resolve));
48
+ return new Promise((resolve) => componentOnReady(element, resolve));
47
49
  });
48
50
  }
49
51
  return Promise.resolve();
50
52
  };
51
- const focusableQueryString = '[tabindex]:not([tabindex^="-"]), input:not([type=hidden]):not([tabindex^="-"]), textarea:not([tabindex^="-"]), button:not([tabindex^="-"]), select:not([tabindex^="-"]), .ion-focusable:not([tabindex^="-"])';
52
- const innerFocusableQueryString = 'input:not([type=hidden]), textarea, button, select';
53
+ /**
54
+ * This query string selects elements that
55
+ * are eligible to receive focus. We select
56
+ * interactive elements that meet the following
57
+ * criteria:
58
+ * 1. Element does not have a negative tabindex
59
+ * 2. Element does not have `hidden`
60
+ * 3. Element does not have `disabled` for non-Ionic components.
61
+ * 4. Element does not have `disabled` or `disabled="true"` for Ionic components.
62
+ * Note: We need this distinction because `disabled="false"` is
63
+ * valid usage for the disabled property on ion-button.
64
+ */
65
+ 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])';
53
66
  const focusFirstDescendant = (ref, overlay) => {
54
67
  let firstInput = ref.querySelector(focusableQueryString);
55
- const shadowRoot = firstInput && firstInput.shadowRoot;
68
+ const shadowRoot = firstInput === null || firstInput === void 0 ? void 0 : firstInput.shadowRoot;
56
69
  if (shadowRoot) {
57
70
  // If there are no inner focusable elements, just focus the host element.
58
- firstInput = shadowRoot.querySelector(innerFocusableQueryString) || firstInput;
71
+ firstInput = shadowRoot.querySelector(focusableQueryString) || firstInput;
59
72
  }
60
73
  if (firstInput) {
61
- firstInput.focus();
74
+ focusElement(firstInput);
62
75
  }
63
76
  else {
64
77
  // Focus overlay instead of letting focus escape
65
78
  overlay.focus();
66
79
  }
67
80
  };
81
+ const isOverlayHidden = (overlay) => overlay.classList.contains('overlay-hidden');
68
82
  const focusLastDescendant = (ref, overlay) => {
69
83
  const inputs = Array.from(ref.querySelectorAll(focusableQueryString));
70
84
  let lastInput = inputs.length > 0 ? inputs[inputs.length - 1] : null;
71
- const shadowRoot = lastInput && lastInput.shadowRoot;
85
+ const shadowRoot = lastInput === null || lastInput === void 0 ? void 0 : lastInput.shadowRoot;
72
86
  if (shadowRoot) {
73
87
  // If there are no inner focusable elements, just focus the host element.
74
- lastInput = shadowRoot.querySelector(innerFocusableQueryString) || lastInput;
88
+ lastInput = shadowRoot.querySelector(focusableQueryString) || lastInput;
75
89
  }
76
90
  if (lastInput) {
77
91
  lastInput.focus();
@@ -89,53 +103,116 @@ const focusLastDescendant = (ref, overlay) => {
89
103
  * Should NOT include: Toast
90
104
  */
91
105
  const trapKeyboardFocus = (ev, doc) => {
92
- const lastOverlay = getOverlay(doc);
106
+ const lastOverlay = getOverlay(doc, 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover');
93
107
  const target = ev.target;
94
- // If no active overlay, ignore this event
108
+ /**
109
+ * If no active overlay, ignore this event.
110
+ *
111
+ * If this component uses the shadow dom,
112
+ * this global listener is pointless
113
+ * since it will not catch the focus
114
+ * traps as they are inside the shadow root.
115
+ * We need to add a listener to the shadow root
116
+ * itself to ensure the focus trap works.
117
+ */
95
118
  if (!lastOverlay || !target) {
96
119
  return;
97
120
  }
98
121
  /**
99
- * If we are focusing the overlay, clear
100
- * the last focused element so that hitting
101
- * tab activates the first focusable element
102
- * in the overlay wrapper.
122
+ * If the ion-disable-focus-trap class
123
+ * is present on an overlay, then this component
124
+ * instance has opted out of focus trapping.
125
+ * An example of this is when the sheet modal
126
+ * has a backdrop that is disabled. The content
127
+ * behind the sheet should be focusable until
128
+ * the backdrop is enabled.
103
129
  */
104
- if (lastOverlay === target) {
105
- lastOverlay.lastFocus = undefined;
106
- /**
107
- * Otherwise, we must be focusing an element
108
- * inside of the overlay. The two possible options
109
- * here are an input/button/etc or the ion-focus-trap
110
- * element. The focus trap element is used to prevent
111
- * the keyboard focus from leaving the overlay when
112
- * using Tab or screen assistants.
113
- */
130
+ if (lastOverlay.classList.contains('ion-disable-focus-trap')) {
131
+ return;
114
132
  }
115
- else {
133
+ const trapScopedFocus = () => {
116
134
  /**
117
- * We do not want to focus the traps, so get the overlay
118
- * wrapper element as the traps live outside of the wrapper.
135
+ * If we are focusing the overlay, clear
136
+ * the last focused element so that hitting
137
+ * tab activates the first focusable element
138
+ * in the overlay wrapper.
119
139
  */
120
- const overlayRoot = getElementRoot(lastOverlay);
121
- if (!overlayRoot.contains(target)) {
122
- return;
140
+ if (lastOverlay === target) {
141
+ lastOverlay.lastFocus = undefined;
142
+ /**
143
+ * Otherwise, we must be focusing an element
144
+ * inside of the overlay. The two possible options
145
+ * here are an input/button/etc or the ion-focus-trap
146
+ * element. The focus trap element is used to prevent
147
+ * the keyboard focus from leaving the overlay when
148
+ * using Tab or screen assistants.
149
+ */
123
150
  }
124
- const overlayWrapper = overlayRoot.querySelector('.ion-overlay-wrapper');
125
- if (!overlayWrapper) {
126
- return;
151
+ else {
152
+ /**
153
+ * We do not want to focus the traps, so get the overlay
154
+ * wrapper element as the traps live outside of the wrapper.
155
+ */
156
+ const overlayRoot = getElementRoot(lastOverlay);
157
+ if (!overlayRoot.contains(target)) {
158
+ return;
159
+ }
160
+ const overlayWrapper = overlayRoot.querySelector('.ion-overlay-wrapper');
161
+ if (!overlayWrapper) {
162
+ return;
163
+ }
164
+ /**
165
+ * If the target is inside the wrapper, let the browser
166
+ * focus as normal and keep a log of the last focused element.
167
+ */
168
+ if (overlayWrapper.contains(target)) {
169
+ lastOverlay.lastFocus = target;
170
+ }
171
+ else {
172
+ /**
173
+ * Otherwise, we must have focused one of the focus traps.
174
+ * We need to wrap the focus to either the first element
175
+ * or the last element.
176
+ */
177
+ /**
178
+ * Once we call `focusFirstDescendant` and focus the first
179
+ * descendant, another focus event will fire which will
180
+ * cause `lastOverlay.lastFocus` to be updated before
181
+ * we can run the code after that. We will cache the value
182
+ * here to avoid that.
183
+ */
184
+ const lastFocus = lastOverlay.lastFocus;
185
+ // Focus the first element in the overlay wrapper
186
+ focusFirstDescendant(overlayWrapper, lastOverlay);
187
+ /**
188
+ * If the cached last focused element is the
189
+ * same as the active element, then we need
190
+ * to wrap focus to the last descendant. This happens
191
+ * when the first descendant is focused, and the user
192
+ * presses Shift + Tab. The previous line will focus
193
+ * the same descendant again (the first one), causing
194
+ * last focus to equal the active element.
195
+ */
196
+ if (lastFocus === doc.activeElement) {
197
+ focusLastDescendant(overlayWrapper, lastOverlay);
198
+ }
199
+ lastOverlay.lastFocus = doc.activeElement;
200
+ }
127
201
  }
202
+ };
203
+ const trapShadowFocus = () => {
128
204
  /**
129
205
  * If the target is inside the wrapper, let the browser
130
206
  * focus as normal and keep a log of the last focused element.
131
207
  */
132
- if (overlayWrapper.contains(target)) {
208
+ if (lastOverlay.contains(target)) {
133
209
  lastOverlay.lastFocus = target;
134
210
  }
135
211
  else {
136
212
  /**
137
- * Otherwise, we must have focused one of the focus traps.
138
- * We need to wrap the focus to either the first element
213
+ * Otherwise, we are about to have focus
214
+ * go out of the overlay. We need to wrap
215
+ * the focus to either the first element
139
216
  * or the last element.
140
217
  */
141
218
  /**
@@ -147,7 +224,7 @@ const trapKeyboardFocus = (ev, doc) => {
147
224
  */
148
225
  const lastFocus = lastOverlay.lastFocus;
149
226
  // Focus the first element in the overlay wrapper
150
- focusFirstDescendant(overlayWrapper, lastOverlay);
227
+ focusFirstDescendant(lastOverlay, lastOverlay);
151
228
  /**
152
229
  * If the cached last focused element is the
153
230
  * same as the active element, then we need
@@ -158,30 +235,38 @@ const trapKeyboardFocus = (ev, doc) => {
158
235
  * last focus to equal the active element.
159
236
  */
160
237
  if (lastFocus === doc.activeElement) {
161
- focusLastDescendant(overlayWrapper, lastOverlay);
238
+ focusLastDescendant(lastOverlay, lastOverlay);
162
239
  }
163
240
  lastOverlay.lastFocus = doc.activeElement;
164
241
  }
242
+ };
243
+ if (lastOverlay.shadowRoot) {
244
+ trapShadowFocus();
245
+ }
246
+ else {
247
+ trapScopedFocus();
165
248
  }
166
249
  };
167
250
  const connectListeners = (doc) => {
168
251
  if (lastId === 0) {
169
252
  lastId = 1;
170
- doc.addEventListener('focus', ev => trapKeyboardFocus(ev, doc), true);
253
+ doc.addEventListener('focus', (ev) => {
254
+ trapKeyboardFocus(ev, doc);
255
+ }, true);
171
256
  // handle back-button click
172
- doc.addEventListener('ionBackButton', ev => {
257
+ doc.addEventListener('ionBackButton', (ev) => {
173
258
  const lastOverlay = getOverlay(doc);
174
- if (lastOverlay && lastOverlay.backdropDismiss) {
259
+ if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
175
260
  ev.detail.register(OVERLAY_BACK_BUTTON_PRIORITY, () => {
176
261
  return lastOverlay.dismiss(undefined, BACKDROP);
177
262
  });
178
263
  }
179
264
  });
180
265
  // handle ESC to close overlay
181
- doc.addEventListener('keyup', ev => {
266
+ doc.addEventListener('keyup', (ev) => {
182
267
  if (ev.key === 'Escape') {
183
268
  const lastOverlay = getOverlay(doc);
184
- if (lastOverlay && lastOverlay.backdropDismiss) {
269
+ if (lastOverlay === null || lastOverlay === void 0 ? void 0 : lastOverlay.backdropDismiss) {
185
270
  lastOverlay.dismiss(undefined, BACKDROP);
186
271
  }
187
272
  }
@@ -199,14 +284,18 @@ const getOverlays = (doc, selector) => {
199
284
  if (selector === undefined) {
200
285
  selector = 'ion-alert,ion-action-sheet,ion-loading,ion-modal,ion-picker,ion-popover,ion-toast';
201
286
  }
202
- return Array.from(doc.querySelectorAll(selector))
203
- .filter(c => c.overlayIndex > 0);
287
+ return Array.from(doc.querySelectorAll(selector)).filter((c) => c.overlayIndex > 0);
204
288
  };
289
+ /**
290
+ * Returns an overlay element
291
+ * @param doc The document to find the element within.
292
+ * @param overlayTag The selector for the overlay, defaults to Ionic overlay components.
293
+ * @param id The unique identifier for the overlay instance.
294
+ * @returns The overlay element or `undefined` if no overlay element is found.
295
+ */
205
296
  const getOverlay = (doc, overlayTag, id) => {
206
- const overlays = getOverlays(doc, overlayTag);
207
- return (id === undefined)
208
- ? overlays[overlays.length - 1]
209
- : overlays.find(o => o.id === id);
297
+ const overlays = getOverlays(doc, overlayTag).filter((o) => !isOverlayHidden(o));
298
+ return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id);
210
299
  };
211
300
  /**
212
301
  * When an overlay is presented, the main
@@ -244,20 +333,23 @@ const setRootAriaHidden = (hidden = false) => {
244
333
  }
245
334
  };
246
335
  const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts) => {
336
+ var _a, _b;
247
337
  if (overlay.presented) {
248
338
  return;
249
339
  }
250
340
  setRootAriaHidden(true);
251
341
  overlay.presented = true;
252
342
  overlay.willPresent.emit();
343
+ (_a = overlay.willPresentShorthand) === null || _a === void 0 ? void 0 : _a.emit();
253
344
  const mode = getIonMode(overlay);
254
345
  // get the user's animation fn if one was provided
255
- const animationBuilder = (overlay.enterAnimation)
346
+ const animationBuilder = overlay.enterAnimation
256
347
  ? overlay.enterAnimation
257
348
  : config.get(name, mode === 'ios' ? iosEnterAnimation : mdEnterAnimation);
258
349
  const completed = await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
259
350
  if (completed) {
260
351
  overlay.didPresent.emit();
352
+ (_b = overlay.didPresentShorthand) === null || _b === void 0 ? void 0 : _b.emit();
261
353
  }
262
354
  /**
263
355
  * When an overlay that steals focus
@@ -270,7 +362,13 @@ const present = async (overlay, name, iosEnterAnimation, mdEnterAnimation, opts)
270
362
  if (overlay.el.tagName !== 'ION-TOAST') {
271
363
  focusPreviousElementOnDismiss(overlay.el);
272
364
  }
273
- if (overlay.keyboardClose) {
365
+ /**
366
+ * If the focused element is already
367
+ * inside the overlay component then
368
+ * focus should not be moved from that
369
+ * to the overlay container.
370
+ */
371
+ if (overlay.keyboardClose && (document.activeElement === null || !overlay.el.contains(document.activeElement))) {
274
372
  overlay.el.focus();
275
373
  }
276
374
  };
@@ -289,15 +387,16 @@ const focusPreviousElementOnDismiss = async (overlayEl) => {
289
387
  if (!previousElement) {
290
388
  return;
291
389
  }
292
- const shadowRoot = previousElement && previousElement.shadowRoot;
390
+ const shadowRoot = previousElement === null || previousElement === void 0 ? void 0 : previousElement.shadowRoot;
293
391
  if (shadowRoot) {
294
392
  // If there are no inner focusable elements, just focus the host element.
295
- previousElement = shadowRoot.querySelector(innerFocusableQueryString) || previousElement;
393
+ previousElement = shadowRoot.querySelector(focusableQueryString) || previousElement;
296
394
  }
297
395
  await overlayEl.onDidDismiss();
298
396
  previousElement.focus();
299
397
  };
300
398
  const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnimation, opts) => {
399
+ var _a, _b;
301
400
  if (!overlay.presented) {
302
401
  return false;
303
402
  }
@@ -307,8 +406,9 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
307
406
  // Overlay contents should not be clickable during dismiss
308
407
  overlay.el.style.setProperty('pointer-events', 'none');
309
408
  overlay.willDismiss.emit({ data, role });
409
+ (_a = overlay.willDismissShorthand) === null || _a === void 0 ? void 0 : _a.emit({ data, role });
310
410
  const mode = getIonMode(overlay);
311
- const animationBuilder = (overlay.leaveAnimation)
411
+ const animationBuilder = overlay.leaveAnimation
312
412
  ? overlay.leaveAnimation
313
413
  : config.get(name, mode === 'ios' ? iosLeaveAnimation : mdLeaveAnimation);
314
414
  // If dismissed via gesture, no need to play leaving animation again
@@ -316,7 +416,15 @@ const dismiss = async (overlay, data, role, name, iosLeaveAnimation, mdLeaveAnim
316
416
  await overlayAnimation(overlay, animationBuilder, overlay.el, opts);
317
417
  }
318
418
  overlay.didDismiss.emit({ data, role });
419
+ (_b = overlay.didDismissShorthand) === null || _b === void 0 ? void 0 : _b.emit({ data, role });
319
420
  activeAnimations.delete(overlay);
421
+ /**
422
+ * Make overlay hidden again in case it is being reused.
423
+ * We can safely remove pointer-events: none as
424
+ * overlay-hidden will set display: none.
425
+ */
426
+ overlay.el.classList.add('overlay-hidden');
427
+ overlay.el.style.removeProperty('pointer-events');
320
428
  }
321
429
  catch (err) {
322
430
  console.error(err);
@@ -330,7 +438,7 @@ const getAppRoot = (doc) => {
330
438
  const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
331
439
  // Make overlay visible in case it's hidden
332
440
  baseEl.classList.remove('overlay-hidden');
333
- const aniRoot = baseEl.shadowRoot || overlay.el;
441
+ const aniRoot = overlay.el;
334
442
  const animation = animationBuilder(aniRoot, opts);
335
443
  if (!overlay.animated || !config.getBoolean('animated', true)) {
336
444
  animation.duration(0);
@@ -338,7 +446,7 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
338
446
  if (overlay.keyboardClose) {
339
447
  animation.beforeAddWrite(() => {
340
448
  const activeElement = baseEl.ownerDocument.activeElement;
341
- if (activeElement && activeElement.matches('input, ion-input, ion-textarea')) {
449
+ if (activeElement === null || activeElement === void 0 ? void 0 : activeElement.matches('input,ion-input, ion-textarea')) {
342
450
  activeElement.blur();
343
451
  }
344
452
  });
@@ -350,7 +458,7 @@ const overlayAnimation = async (overlay, animationBuilder, baseEl, opts) => {
350
458
  };
351
459
  const eventMethod = (element, eventName) => {
352
460
  let resolve;
353
- const promise = new Promise(r => resolve = r);
461
+ const promise = new Promise((r) => (resolve = r));
354
462
  onceEvent(element, eventName, (event) => {
355
463
  resolve(event.detail);
356
464
  });
@@ -367,6 +475,13 @@ const isCancel = (role) => {
367
475
  return role === 'cancel' || role === BACKDROP;
368
476
  };
369
477
  const defaultGate = (h) => h();
478
+ /**
479
+ * Calls a developer provided method while avoiding
480
+ * Angular Zones. Since the handler is provided by
481
+ * the developer, we should throw any errors
482
+ * received so that developer-provided bug
483
+ * tracking software can log it.
484
+ */
370
485
  const safeCall = (handler, arg) => {
371
486
  if (typeof handler === 'function') {
372
487
  const jmp = config.get('_zoneGate', defaultGate);
@@ -375,7 +490,7 @@ const safeCall = (handler, arg) => {
375
490
  return handler(arg);
376
491
  }
377
492
  catch (e) {
378
- console.error(e);
493
+ throw e;
379
494
  }
380
495
  });
381
496
  }
@@ -383,4 +498,4 @@ const safeCall = (handler, arg) => {
383
498
  };
384
499
  const BACKDROP = 'backdrop';
385
500
 
386
- export { BACKDROP as B, prepareOverlay as a, pickerController as b, activeAnimations as c, dismiss as d, eventMethod as e, popoverController as f, actionSheetController as g, alertController as h, isCancel as i, present as p, safeCall as s };
501
+ export { BACKDROP as B, present as a, activeAnimations as b, popoverController as c, dismiss as d, eventMethod as e, actionSheetController as f, getOverlay as g, alertController as h, isCancel as i, focusFirstDescendant as j, prepareOverlay as p, safeCall as s };
@@ -0,0 +1,145 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ const spinners = {
5
+ bubbles: {
6
+ dur: 1000,
7
+ circles: 9,
8
+ fn: (dur, index, total) => {
9
+ const animationDelay = `${(dur * index) / total - dur}ms`;
10
+ const angle = (2 * Math.PI * index) / total;
11
+ return {
12
+ r: 5,
13
+ style: {
14
+ top: `${9 * Math.sin(angle)}px`,
15
+ left: `${9 * Math.cos(angle)}px`,
16
+ 'animation-delay': animationDelay,
17
+ },
18
+ };
19
+ },
20
+ },
21
+ circles: {
22
+ dur: 1000,
23
+ circles: 8,
24
+ fn: (dur, index, total) => {
25
+ const step = index / total;
26
+ const animationDelay = `${dur * step - dur}ms`;
27
+ const angle = 2 * Math.PI * step;
28
+ return {
29
+ r: 5,
30
+ style: {
31
+ top: `${9 * Math.sin(angle)}px`,
32
+ left: `${9 * Math.cos(angle)}px`,
33
+ 'animation-delay': animationDelay,
34
+ },
35
+ };
36
+ },
37
+ },
38
+ circular: {
39
+ dur: 1400,
40
+ elmDuration: true,
41
+ circles: 1,
42
+ fn: () => {
43
+ return {
44
+ r: 20,
45
+ cx: 48,
46
+ cy: 48,
47
+ fill: 'none',
48
+ viewBox: '24 24 48 48',
49
+ transform: 'translate(0,0)',
50
+ style: {},
51
+ };
52
+ },
53
+ },
54
+ crescent: {
55
+ dur: 750,
56
+ circles: 1,
57
+ fn: () => {
58
+ return {
59
+ r: 26,
60
+ style: {},
61
+ };
62
+ },
63
+ },
64
+ dots: {
65
+ dur: 750,
66
+ circles: 3,
67
+ fn: (_, index) => {
68
+ const animationDelay = -(110 * index) + 'ms';
69
+ return {
70
+ r: 6,
71
+ style: {
72
+ left: `${9 - 9 * index}px`,
73
+ 'animation-delay': animationDelay,
74
+ },
75
+ };
76
+ },
77
+ },
78
+ lines: {
79
+ dur: 1000,
80
+ lines: 8,
81
+ fn: (dur, index, total) => {
82
+ const transform = `rotate(${(360 / total) * index + (index < total / 2 ? 180 : -180)}deg)`;
83
+ const animationDelay = `${(dur * index) / total - dur}ms`;
84
+ return {
85
+ y1: 14,
86
+ y2: 26,
87
+ style: {
88
+ transform: transform,
89
+ 'animation-delay': animationDelay,
90
+ },
91
+ };
92
+ },
93
+ },
94
+ 'lines-small': {
95
+ dur: 1000,
96
+ lines: 8,
97
+ fn: (dur, index, total) => {
98
+ const transform = `rotate(${(360 / total) * index + (index < total / 2 ? 180 : -180)}deg)`;
99
+ const animationDelay = `${(dur * index) / total - dur}ms`;
100
+ return {
101
+ y1: 12,
102
+ y2: 20,
103
+ style: {
104
+ transform: transform,
105
+ 'animation-delay': animationDelay,
106
+ },
107
+ };
108
+ },
109
+ },
110
+ 'lines-sharp': {
111
+ dur: 1000,
112
+ lines: 12,
113
+ fn: (dur, index, total) => {
114
+ const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
115
+ const animationDelay = `${(dur * index) / total - dur}ms`;
116
+ return {
117
+ y1: 17,
118
+ y2: 29,
119
+ style: {
120
+ transform: transform,
121
+ 'animation-delay': animationDelay,
122
+ },
123
+ };
124
+ },
125
+ },
126
+ 'lines-sharp-small': {
127
+ dur: 1000,
128
+ lines: 12,
129
+ fn: (dur, index, total) => {
130
+ const transform = `rotate(${30 * index + (index < 6 ? 180 : -180)}deg)`;
131
+ const animationDelay = `${(dur * index) / total - dur}ms`;
132
+ return {
133
+ y1: 12,
134
+ y2: 20,
135
+ style: {
136
+ transform: transform,
137
+ 'animation-delay': animationDelay,
138
+ },
139
+ };
140
+ },
141
+ },
142
+ };
143
+ const SPINNERS = spinners;
144
+
145
+ export { SPINNERS as S };
@@ -1,6 +1,11 @@
1
- import { d as readTask, w as writeTask } from './index-e4deec27.js';
2
- import { a as componentOnReady } from './helpers-44e3bd9f.js';
1
+ import { e as readTask, w as writeTask } from './index-cb938ffb.js';
2
+ import { a as findClosestIonContent, s as scrollToTop } from './index-ebf7f059.js';
3
+ import { c as componentOnReady } from './helpers-aeff219b.js';
4
+ import './index-1f3d8582.js';
3
5
 
6
+ /*!
7
+ * (C) Ionic http://ionicframework.com - MIT License
8
+ */
4
9
  const startStatusTap = () => {
5
10
  const win = window;
6
11
  win.addEventListener('statusTap', () => {
@@ -11,9 +16,9 @@ const startStatusTap = () => {
11
16
  if (!el) {
12
17
  return;
13
18
  }
14
- const contentEl = el.closest('ion-content');
19
+ const contentEl = findClosestIonContent(el);
15
20
  if (contentEl) {
16
- new Promise(resolve => componentOnReady(contentEl, resolve)).then(() => {
21
+ new Promise((resolve) => componentOnReady(contentEl, resolve)).then(() => {
17
22
  writeTask(async () => {
18
23
  /**
19
24
  * If scrolling and user taps status bar,
@@ -23,7 +28,7 @@ const startStatusTap = () => {
23
28
  * any in-progress momentum scrolling.
24
29
  */
25
30
  contentEl.style.setProperty('--overflow', 'hidden');
26
- await contentEl.scrollToTop(300);
31
+ await scrollToTop(contentEl, 300);
27
32
  contentEl.style.removeProperty('--overflow');
28
33
  });
29
34
  });