@ionic/core 8.4.4-nightly.20250306 → 8.4.4-nightly.20250310

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 (310) hide show
  1. package/components/alert.js +30 -4
  2. package/components/helpers.js +7 -1
  3. package/components/index9.js +1 -1
  4. package/components/ion-range.js +28 -6
  5. package/components/ion-router.js +1 -1
  6. package/components/ion-segment-button.js +1 -1
  7. package/dist/cjs/{framework-delegate-05579976.js → framework-delegate-c4f2ba04.js} +1 -1
  8. package/dist/cjs/{helpers-4be3f90d.js → helpers-b14a0f09.js} +7 -0
  9. package/dist/cjs/{index-9c6c9e9c.js → index-1248dbd7.js} +1 -1
  10. package/dist/cjs/{index-90ec3b6c.js → index-4e37257d.js} +3 -3
  11. package/dist/cjs/{index-ad7a712e.js → index-786364c7.js} +1 -1
  12. package/dist/cjs/{index-c441c903.js → index-a4a74252.js} +1 -1
  13. package/dist/cjs/index.cjs.js +7 -7
  14. package/dist/cjs/{input-shims-e748a364.js → input-shims-b4c0eee7.js} +2 -2
  15. package/dist/cjs/{input.utils-74e4ec28.js → input.utils-4af208ab.js} +1 -1
  16. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  17. package/dist/cjs/ion-action-sheet.cjs.entry.js +3 -3
  18. package/dist/cjs/ion-alert.cjs.entry.js +33 -7
  19. package/dist/cjs/ion-app_8.cjs.entry.js +8 -8
  20. package/dist/cjs/ion-back-button.cjs.entry.js +1 -1
  21. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +1 -1
  22. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  23. package/dist/cjs/ion-card_5.cjs.entry.js +1 -1
  24. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  25. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  26. package/dist/cjs/ion-datetime_3.cjs.entry.js +3 -3
  27. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  28. package/dist/cjs/ion-img.cjs.entry.js +1 -1
  29. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +2 -2
  30. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  31. package/dist/cjs/ion-item-option_3.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  34. package/dist/cjs/ion-menu_3.cjs.entry.js +4 -4
  35. package/dist/cjs/ion-modal.cjs.entry.js +5 -5
  36. package/dist/cjs/ion-nav_2.cjs.entry.js +4 -4
  37. package/dist/cjs/ion-picker-column-option.cjs.entry.js +1 -1
  38. package/dist/cjs/ion-picker-column.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  40. package/dist/cjs/ion-popover.cjs.entry.js +4 -4
  41. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  42. package/dist/cjs/ion-radio_2.cjs.entry.js +1 -1
  43. package/dist/cjs/ion-range.cjs.entry.js +28 -7
  44. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  45. package/dist/cjs/ion-reorder_2.cjs.entry.js +2 -2
  46. package/dist/cjs/ion-route_4.cjs.entry.js +1 -1
  47. package/dist/cjs/ion-searchbar.cjs.entry.js +1 -1
  48. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  49. package/dist/cjs/ion-select-modal.cjs.entry.js +3 -3
  50. package/dist/cjs/ion-select_3.cjs.entry.js +4 -4
  51. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  52. package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
  53. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  54. package/dist/cjs/ion-toast.cjs.entry.js +3 -3
  55. package/dist/cjs/ion-toggle.cjs.entry.js +1 -1
  56. package/dist/cjs/ionic.cjs.js +1 -1
  57. package/dist/cjs/{ios.transition-2dae3b92.js → ios.transition-8d363d77.js} +2 -2
  58. package/dist/cjs/loader.cjs.js +1 -1
  59. package/dist/cjs/{md.transition-ea3260a7.js → md.transition-57d695fa.js} +2 -2
  60. package/dist/cjs/{notch-controller-a0c464d1.js → notch-controller-bd07748b.js} +1 -1
  61. package/dist/cjs/{overlays-3880b5b5.js → overlays-27703a30.js} +2 -2
  62. package/dist/cjs/{status-tap-fb807fad.js → status-tap-654077ee.js} +2 -2
  63. package/dist/cjs/{swipe-back-47a52b83.js → swipe-back-b70cd52e.js} +1 -1
  64. package/dist/collection/components/alert/alert.js +34 -4
  65. package/dist/collection/components/range/range.js +25 -6
  66. package/dist/collection/utils/floating-point/index.js +5 -0
  67. package/dist/collection/utils/helpers.js +6 -0
  68. package/dist/docs.json +5 -1
  69. package/dist/esm/{framework-delegate-f683816e.js → framework-delegate-42bc40b1.js} +1 -1
  70. package/dist/esm/{helpers-9b49d7d2.js → helpers-13b816c6.js} +7 -1
  71. package/dist/esm/{index-5a0f5fd0.js → index-28c8fd64.js} +1 -1
  72. package/dist/esm/{index-b019fc18.js → index-4b39521b.js} +3 -3
  73. package/dist/esm/{index-e1e9a0d3.js → index-6b548278.js} +1 -1
  74. package/dist/esm/{index-33f7e3ff.js → index-edf58462.js} +1 -1
  75. package/dist/esm/index.js +7 -7
  76. package/dist/esm/{input-shims-0e65111b.js → input-shims-5e5e47e8.js} +2 -2
  77. package/dist/esm/{input.utils-1ad8dafc.js → input.utils-d3717b00.js} +1 -1
  78. package/dist/esm/ion-accordion_2.entry.js +1 -1
  79. package/dist/esm/ion-action-sheet.entry.js +3 -3
  80. package/dist/esm/ion-alert.entry.js +33 -7
  81. package/dist/esm/ion-app_8.entry.js +8 -8
  82. package/dist/esm/ion-back-button.entry.js +1 -1
  83. package/dist/esm/ion-breadcrumb_2.entry.js +1 -1
  84. package/dist/esm/ion-button_2.entry.js +1 -1
  85. package/dist/esm/ion-card_5.entry.js +1 -1
  86. package/dist/esm/ion-checkbox.entry.js +1 -1
  87. package/dist/esm/ion-datetime-button.entry.js +1 -1
  88. package/dist/esm/ion-datetime_3.entry.js +3 -3
  89. package/dist/esm/ion-fab_3.entry.js +1 -1
  90. package/dist/esm/ion-img.entry.js +1 -1
  91. package/dist/esm/ion-infinite-scroll_2.entry.js +2 -2
  92. package/dist/esm/ion-input.entry.js +3 -3
  93. package/dist/esm/ion-item-option_3.entry.js +2 -2
  94. package/dist/esm/ion-item_8.entry.js +1 -1
  95. package/dist/esm/ion-loading.entry.js +3 -3
  96. package/dist/esm/ion-menu_3.entry.js +4 -4
  97. package/dist/esm/ion-modal.entry.js +5 -5
  98. package/dist/esm/ion-nav_2.entry.js +4 -4
  99. package/dist/esm/ion-picker-column-option.entry.js +1 -1
  100. package/dist/esm/ion-picker-column.entry.js +1 -1
  101. package/dist/esm/ion-picker.entry.js +1 -1
  102. package/dist/esm/ion-popover.entry.js +4 -4
  103. package/dist/esm/ion-progress-bar.entry.js +1 -1
  104. package/dist/esm/ion-radio_2.entry.js +1 -1
  105. package/dist/esm/ion-range.entry.js +28 -7
  106. package/dist/esm/ion-refresher_2.entry.js +2 -2
  107. package/dist/esm/ion-reorder_2.entry.js +2 -2
  108. package/dist/esm/ion-route_4.entry.js +1 -1
  109. package/dist/esm/ion-searchbar.entry.js +1 -1
  110. package/dist/esm/ion-segment_2.entry.js +1 -1
  111. package/dist/esm/ion-select-modal.entry.js +3 -3
  112. package/dist/esm/ion-select_3.entry.js +4 -4
  113. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  114. package/dist/esm/ion-tab_2.entry.js +2 -2
  115. package/dist/esm/ion-textarea.entry.js +3 -3
  116. package/dist/esm/ion-toast.entry.js +3 -3
  117. package/dist/esm/ion-toggle.entry.js +1 -1
  118. package/dist/esm/ionic.js +1 -1
  119. package/dist/esm/{ios.transition-b7103952.js → ios.transition-e7a4de4f.js} +2 -2
  120. package/dist/esm/loader.js +1 -1
  121. package/dist/esm/{md.transition-e4034e0a.js → md.transition-290d8802.js} +2 -2
  122. package/dist/esm/{notch-controller-3dc61260.js → notch-controller-bb8f3a48.js} +1 -1
  123. package/dist/esm/{overlays-aea27b63.js → overlays-4ff6e618.js} +2 -2
  124. package/dist/esm/{status-tap-163e8128.js → status-tap-ba401484.js} +2 -2
  125. package/dist/esm/{swipe-back-23ee7ab1.js → swipe-back-a258b011.js} +1 -1
  126. package/dist/esm-es5/{framework-delegate-f683816e.js → framework-delegate-42bc40b1.js} +1 -1
  127. package/dist/esm-es5/{helpers-9b49d7d2.js → helpers-13b816c6.js} +1 -1
  128. package/dist/esm-es5/{index-5a0f5fd0.js → index-28c8fd64.js} +1 -1
  129. package/dist/esm-es5/{index-b019fc18.js → index-4b39521b.js} +1 -1
  130. package/dist/esm-es5/{index-e1e9a0d3.js → index-6b548278.js} +1 -1
  131. package/dist/esm-es5/{index-33f7e3ff.js → index-edf58462.js} +1 -1
  132. package/dist/esm-es5/index.js +1 -1
  133. package/dist/esm-es5/{input-shims-0e65111b.js → input-shims-5e5e47e8.js} +1 -1
  134. package/dist/esm-es5/{input.utils-1ad8dafc.js → input.utils-d3717b00.js} +1 -1
  135. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  136. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  137. package/dist/esm-es5/ion-alert.entry.js +1 -1
  138. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  139. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  140. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  141. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  142. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  143. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  144. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  145. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  146. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  147. package/dist/esm-es5/ion-img.entry.js +1 -1
  148. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  149. package/dist/esm-es5/ion-input.entry.js +1 -1
  150. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  151. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  152. package/dist/esm-es5/ion-loading.entry.js +1 -1
  153. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  154. package/dist/esm-es5/ion-modal.entry.js +1 -1
  155. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  156. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  157. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  158. package/dist/esm-es5/ion-picker.entry.js +1 -1
  159. package/dist/esm-es5/ion-popover.entry.js +1 -1
  160. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  161. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  162. package/dist/esm-es5/ion-range.entry.js +1 -1
  163. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  164. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  165. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  166. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  167. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  168. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  169. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  170. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  171. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  172. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  173. package/dist/esm-es5/ion-toast.entry.js +1 -1
  174. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  175. package/dist/esm-es5/ionic.js +1 -1
  176. package/dist/esm-es5/{ios.transition-b7103952.js → ios.transition-e7a4de4f.js} +1 -1
  177. package/dist/esm-es5/loader.js +1 -1
  178. package/dist/esm-es5/{md.transition-e4034e0a.js → md.transition-290d8802.js} +1 -1
  179. package/dist/esm-es5/{notch-controller-3dc61260.js → notch-controller-bb8f3a48.js} +1 -1
  180. package/dist/esm-es5/{overlays-aea27b63.js → overlays-4ff6e618.js} +1 -1
  181. package/dist/esm-es5/{status-tap-163e8128.js → status-tap-ba401484.js} +1 -1
  182. package/dist/esm-es5/{swipe-back-23ee7ab1.js → swipe-back-a258b011.js} +1 -1
  183. package/dist/ionic/index.esm.js +1 -1
  184. package/dist/ionic/ionic.esm.js +1 -1
  185. package/dist/ionic/{p-b7d2ba68.entry.js → p-00d5ab83.entry.js} +1 -1
  186. package/dist/ionic/{p-aa63b365.system.js → p-0116e7d7.system.js} +1 -1
  187. package/dist/ionic/{p-42585688.system.entry.js → p-05f90810.system.entry.js} +1 -1
  188. package/dist/ionic/{p-77b1bb00.system.entry.js → p-0793353d.system.entry.js} +1 -1
  189. package/dist/ionic/{p-0a499487.js → p-07d0478c.js} +1 -1
  190. package/dist/ionic/{p-60f1b2fa.entry.js → p-13637707.entry.js} +1 -1
  191. package/dist/ionic/{p-e3357909.entry.js → p-136ff13e.entry.js} +1 -1
  192. package/dist/ionic/{p-703d60a2.entry.js → p-166f4ba0.entry.js} +1 -1
  193. package/dist/ionic/{p-288a2cff.entry.js → p-16dd9c9b.entry.js} +1 -1
  194. package/dist/ionic/{p-9fe2050a.entry.js → p-17c772fb.entry.js} +1 -1
  195. package/dist/ionic/{p-842bb3c8.system.entry.js → p-1b2657c9.system.entry.js} +1 -1
  196. package/dist/ionic/{p-4ad78edc.entry.js → p-1f62c30b.entry.js} +1 -1
  197. package/dist/ionic/{p-8154947f.system.entry.js → p-213b12ce.system.entry.js} +2 -2
  198. package/dist/ionic/{p-8db44ad3.js → p-230af7f2.js} +1 -1
  199. package/dist/ionic/{p-dcc9aaf1.system.entry.js → p-25580c85.system.entry.js} +1 -1
  200. package/dist/ionic/{p-fd988d29.entry.js → p-31918ee1.entry.js} +1 -1
  201. package/dist/ionic/{p-2c9abc61.entry.js → p-327b452e.entry.js} +1 -1
  202. package/dist/ionic/{p-406f9aa1.entry.js → p-34182275.entry.js} +1 -1
  203. package/dist/ionic/{p-2bc73fb5.js → p-3559bd4f.js} +1 -1
  204. package/dist/ionic/{p-75a0fffe.system.entry.js → p-361ab803.system.entry.js} +2 -2
  205. package/dist/ionic/{p-50c24ade.system.entry.js → p-364ed29d.system.entry.js} +1 -1
  206. package/dist/ionic/{p-c3f5dcf9.entry.js → p-37264dcc.entry.js} +1 -1
  207. package/dist/ionic/{p-faa5e2b9.entry.js → p-379d9002.entry.js} +1 -1
  208. package/dist/ionic/{p-656516a2.entry.js → p-37a21d70.entry.js} +1 -1
  209. package/dist/ionic/{p-9065e1ed.system.entry.js → p-3fe95571.system.entry.js} +1 -1
  210. package/dist/ionic/p-4075165f.js +4 -0
  211. package/dist/ionic/{p-6da005e1.entry.js → p-4133f9ec.entry.js} +1 -1
  212. package/dist/ionic/{p-d0a7f584.system.entry.js → p-43df2d06.system.entry.js} +1 -1
  213. package/dist/ionic/{p-035c0885.entry.js → p-441c2c8c.entry.js} +1 -1
  214. package/dist/ionic/{p-4f2f4e3b.entry.js → p-4429e8c5.entry.js} +1 -1
  215. package/dist/ionic/{p-9c82a07c.system.entry.js → p-45109533.system.entry.js} +1 -1
  216. package/dist/ionic/{p-5bc12439.entry.js → p-47ed8b64.entry.js} +1 -1
  217. package/dist/ionic/{p-4c5e2018.system.entry.js → p-486dc46d.system.entry.js} +1 -1
  218. package/dist/ionic/{p-1543d6b2.system.entry.js → p-48e13807.system.entry.js} +1 -1
  219. package/dist/ionic/{p-0eb2553a.system.entry.js → p-4a98a017.system.entry.js} +1 -1
  220. package/dist/ionic/p-50a8e284.entry.js +4 -0
  221. package/dist/ionic/p-51d4cdba.system.js +4 -0
  222. package/dist/ionic/{p-5126cf1e.system.js → p-52b61cba.system.js} +1 -1
  223. package/dist/ionic/{p-a197ff3b.system.entry.js → p-5996d3ad.system.entry.js} +1 -1
  224. package/dist/ionic/{p-47e6c342.js → p-5ae70860.js} +1 -1
  225. package/dist/ionic/{p-42808996.js → p-5d1be985.js} +1 -1
  226. package/dist/ionic/{p-5a8efe64.system.entry.js → p-5d3dc32b.system.entry.js} +1 -1
  227. package/dist/ionic/{p-13052792.entry.js → p-5e9733d0.entry.js} +1 -1
  228. package/dist/ionic/{p-16f1ba65.system.entry.js → p-6347c733.system.entry.js} +1 -1
  229. package/dist/ionic/{p-c6ff3239.system.js → p-64bb1da1.system.js} +1 -1
  230. package/dist/ionic/p-665f9987.entry.js +4 -0
  231. package/dist/ionic/{p-1a790eef.system.js → p-6a649fcd.system.js} +1 -1
  232. package/dist/ionic/{p-b637aa3f.system.entry.js → p-6c85db7e.system.entry.js} +1 -1
  233. package/dist/ionic/{p-bb11d9fb.js → p-6eb35904.js} +1 -1
  234. package/dist/ionic/{p-647b0625.system.js → p-733f53f8.system.js} +1 -1
  235. package/dist/ionic/{p-ea7c658c.system.entry.js → p-7a9407cc.system.entry.js} +1 -1
  236. package/dist/ionic/{p-0dc23518.entry.js → p-80f2a47b.entry.js} +1 -1
  237. package/dist/ionic/{p-7a1766d6.js → p-89e678fa.js} +1 -1
  238. package/dist/ionic/{p-b3680e2f.system.js → p-8aa290af.system.js} +1 -1
  239. package/dist/ionic/p-8b367303.entry.js +4 -0
  240. package/dist/ionic/{p-85632b54.entry.js → p-8c0d81a9.entry.js} +1 -1
  241. package/dist/ionic/{p-699c97a3.entry.js → p-8f3d6be8.entry.js} +1 -1
  242. package/dist/ionic/{p-72b65035.entry.js → p-8f89c8e3.entry.js} +1 -1
  243. package/dist/ionic/{p-200dfb8f.entry.js → p-91b944fa.entry.js} +1 -1
  244. package/dist/ionic/{p-881d9e52.system.js → p-953d9cf5.system.js} +1 -1
  245. package/dist/ionic/{p-0ee3b5a2.system.js → p-9e23592d.system.js} +1 -1
  246. package/dist/ionic/{p-b5639a4f.entry.js → p-a4b108a7.entry.js} +1 -1
  247. package/dist/ionic/{p-a33837c9.entry.js → p-a69cf9ea.entry.js} +1 -1
  248. package/dist/ionic/{p-98c08d09.entry.js → p-a749d4a9.entry.js} +1 -1
  249. package/dist/ionic/{p-f00ba947.entry.js → p-a8d31cd5.entry.js} +1 -1
  250. package/dist/ionic/{p-9393bfbe.system.entry.js → p-ac2c154f.system.entry.js} +1 -1
  251. package/dist/ionic/{p-627c1f42.entry.js → p-acb5a6e4.entry.js} +1 -1
  252. package/dist/ionic/{p-ca908a50.system.entry.js → p-ae02a7ea.system.entry.js} +1 -1
  253. package/dist/ionic/p-b1c4a9db.js +4 -0
  254. package/dist/ionic/{p-4a465405.system.entry.js → p-b533b7ab.system.entry.js} +2 -2
  255. package/dist/ionic/{p-d4ca0475.js → p-b566749e.js} +1 -1
  256. package/dist/ionic/p-b58057d4.js +4 -0
  257. package/dist/ionic/{p-e78bff37.system.entry.js → p-b5a10c8b.system.entry.js} +1 -1
  258. package/dist/ionic/{p-944d66b5.system.entry.js → p-b6ee3fc7.system.entry.js} +1 -1
  259. package/dist/ionic/{p-f1d1c614.system.js → p-bba0bc47.system.js} +1 -1
  260. package/dist/ionic/{p-28cb707b.system.entry.js → p-bc148b43.system.entry.js} +1 -1
  261. package/dist/ionic/{p-acc78e36.entry.js → p-c06312bf.entry.js} +1 -1
  262. package/dist/ionic/p-c09a2f58.system.js +4 -0
  263. package/dist/ionic/{p-6167f80e.entry.js → p-c312ea08.entry.js} +1 -1
  264. package/dist/ionic/{p-92e4df0c.system.entry.js → p-c3a51c19.system.entry.js} +1 -1
  265. package/dist/ionic/{p-4c9ccc7f.system.entry.js → p-c3de6cd1.system.entry.js} +1 -1
  266. package/dist/ionic/{p-3c6d2c1e.system.entry.js → p-c55254f0.system.entry.js} +1 -1
  267. package/dist/ionic/{p-eb6f173b.entry.js → p-ca5eef42.entry.js} +1 -1
  268. package/dist/ionic/{p-b609d03b.entry.js → p-cc991f05.entry.js} +1 -1
  269. package/dist/ionic/{p-5b03d498.system.entry.js → p-d6b3e734.system.entry.js} +1 -1
  270. package/dist/ionic/{p-97acff20.system.js → p-d7607262.system.js} +1 -1
  271. package/dist/ionic/{p-ef144104.system.entry.js → p-d785235b.system.entry.js} +1 -1
  272. package/dist/ionic/{p-22e4210e.system.entry.js → p-d854f4bc.system.entry.js} +1 -1
  273. package/dist/ionic/{p-808c9efc.system.entry.js → p-de4fef3c.system.entry.js} +1 -1
  274. package/dist/ionic/{p-3c7371c4.system.entry.js → p-e03cd18a.system.entry.js} +1 -1
  275. package/dist/ionic/{p-51f13ac7.entry.js → p-e03d645e.entry.js} +1 -1
  276. package/dist/ionic/{p-13892787.system.entry.js → p-e0a2abde.system.entry.js} +1 -1
  277. package/dist/ionic/{p-0d0a6fb9.system.entry.js → p-e3be9fa8.system.entry.js} +1 -1
  278. package/dist/ionic/{p-ddc058a7.system.entry.js → p-e4c1fd74.system.entry.js} +1 -1
  279. package/dist/ionic/{p-e2e19375.system.entry.js → p-e84da6cb.system.entry.js} +1 -1
  280. package/dist/ionic/{p-5b867a40.entry.js → p-eab9414f.entry.js} +1 -1
  281. package/dist/ionic/{p-dd0cad9c.entry.js → p-ebb85488.entry.js} +1 -1
  282. package/dist/ionic/{p-9ce56f65.system.entry.js → p-ee41045b.system.entry.js} +1 -1
  283. package/dist/ionic/p-efa8edbc.system.js +4 -0
  284. package/dist/ionic/p-f1bbc785.js +4 -0
  285. package/dist/ionic/p-f4f255cb.system.js +1 -1
  286. package/dist/ionic/{p-4452a8ac.system.js → p-f5a536e1.system.js} +1 -1
  287. package/dist/ionic/{p-95da3ae2.system.js → p-f6e7870b.system.js} +1 -1
  288. package/dist/ionic/{p-075a94bd.js → p-f6fe87c1.js} +1 -1
  289. package/dist/ionic/{p-5976e3b7.system.entry.js → p-f8ef15ba.system.entry.js} +1 -1
  290. package/dist/ionic/{p-a3705e10.entry.js → p-fced06e0.entry.js} +1 -1
  291. package/dist/ionic/{p-6b1f082e.entry.js → p-fd2c0aa6.entry.js} +1 -1
  292. package/dist/ionic/{p-1c2f74e4.system.entry.js → p-feab8373.system.entry.js} +1 -1
  293. package/dist/ionic/p-ff3113e3.system.entry.js +4 -0
  294. package/dist/ionic/{p-eb599bcb.js → p-ffb6d30e.js} +1 -1
  295. package/dist/types/components/range/range.d.ts +3 -2
  296. package/dist/types/utils/helpers.d.ts +4 -0
  297. package/hydrate/index.js +62 -9
  298. package/hydrate/index.mjs +62 -9
  299. package/package.json +1 -1
  300. package/dist/ionic/p-0440660b.js +0 -4
  301. package/dist/ionic/p-135e5731.js +0 -4
  302. package/dist/ionic/p-1f405274.js +0 -4
  303. package/dist/ionic/p-2c9eb774.system.js +0 -4
  304. package/dist/ionic/p-3667bc71.system.js +0 -4
  305. package/dist/ionic/p-68dc53a5.js +0 -4
  306. package/dist/ionic/p-af09741c.entry.js +0 -4
  307. package/dist/ionic/p-bed40aa8.entry.js +0 -4
  308. package/dist/ionic/p-c15a77e2.entry.js +0 -4
  309. package/dist/ionic/p-c3f4ea6c.system.entry.js +0 -4
  310. package/dist/ionic/p-cc964e4f.system.js +0 -4
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { findClosestIonContent, disableContentScrollY, resetContentScrollY } from "../../utils/content/index";
6
- import { inheritAriaAttributes, clamp, debounceEvent, renderHiddenInput } from "../../utils/helpers";
6
+ import { inheritAriaAttributes, clamp, debounceEvent, renderHiddenInput, isSafeNumber } from "../../utils/helpers";
7
7
  import { printIonWarning } from "../../utils/logging/index";
8
8
  import { isRTL } from "../../utils/rtl/index";
9
9
  import { createColorClasses, hostContext } from "../../utils/theme";
@@ -128,16 +128,27 @@ export class Range {
128
128
  */
129
129
  this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);
130
130
  }
131
- minChanged() {
131
+ minChanged(newValue) {
132
+ if (!isSafeNumber(newValue)) {
133
+ this.min = 0;
134
+ }
132
135
  if (!this.noUpdate) {
133
136
  this.updateRatio();
134
137
  }
135
138
  }
136
- maxChanged() {
139
+ maxChanged(newValue) {
140
+ if (!isSafeNumber(newValue)) {
141
+ this.max = 100;
142
+ }
137
143
  if (!this.noUpdate) {
138
144
  this.updateRatio();
139
145
  }
140
146
  }
147
+ stepChanged(newValue) {
148
+ if (!isSafeNumber(newValue)) {
149
+ this.step = 1;
150
+ }
151
+ }
141
152
  activeBarStartChanged() {
142
153
  const { activeBarStart } = this;
143
154
  if (activeBarStart !== undefined) {
@@ -170,6 +181,11 @@ export class Range {
170
181
  this.rangeId = this.el.getAttribute('id');
171
182
  }
172
183
  this.inheritedAttributes = inheritAriaAttributes(this.el);
184
+ // If min, max, or step are not safe, set them to 0, 100, and 1, respectively.
185
+ // Each watch does this, but not before the initial load.
186
+ this.min = isSafeNumber(this.min) ? this.min : 0;
187
+ this.max = isSafeNumber(this.max) ? this.max : 100;
188
+ this.step = isSafeNumber(this.step) ? this.step : 1;
173
189
  }
174
190
  componentDidLoad() {
175
191
  this.originalIonInput = this.ionInput;
@@ -564,7 +580,7 @@ export class Range {
564
580
  const needsEndAdjustment = inItem && !hasEndContent;
565
581
  const mode = getIonMode(this);
566
582
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
567
- return (h(Host, { key: '05c699caaead7cc74deaae2a958c4632191473a8', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
583
+ return (h(Host, { key: 'a9dacdb8935627860188c035f2edf6b8cc751dc5', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
568
584
  [mode]: true,
569
585
  'in-item': inItem,
570
586
  'range-disabled': disabled,
@@ -573,10 +589,10 @@ export class Range {
573
589
  [`range-label-placement-${labelPlacement}`]: true,
574
590
  'range-item-start-adjustment': needsStartAdjustment,
575
591
  'range-item-end-adjustment': needsEndAdjustment,
576
- }) }, h("label", { key: '959837bcc48c4bda33ae1f62b66ef444329a2961', class: "range-wrapper", id: "range-label" }, h("div", { key: 'a434c6b5c26f57f52b3af98d881e7e6a179c89fc', class: {
592
+ }) }, h("label", { key: '4f5682ab5f793c1097956c092c8b88b6d676fe85', class: "range-wrapper", id: "range-label" }, h("div", { key: 'f906c5ab076275721cb8e99e22f5a3c2509713de', class: {
577
593
  'label-text-wrapper': true,
578
594
  'label-text-wrapper-hidden': !hasLabel,
579
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: '87df1037b6b3337bd1fab05d33a26bf658c57914', class: "native-wrapper" }, h("slot", { key: '2cb88f101da49b70aeae29b0bf5445fac241bb2f', name: "start" }), this.renderRangeSlider(), h("slot", { key: '17b835cfb2bd9b8e1957afd425543ff02b913d83', name: "end" })))));
595
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: 'bb6ca75df1394a01464d40a8b4ba6e08b3c12824', class: "native-wrapper" }, h("slot", { key: '34f6e5f0ee73864ed2fa64cf041639f842540ae6', name: "start" }), this.renderRangeSlider(), h("slot", { key: 'b8602e24234900fe9bb300610b236951bf2c6ebb', name: "end" })))));
580
596
  }
581
597
  static get is() { return "ion-range"; }
582
598
  static get encapsulation() { return "shadow"; }
@@ -1031,6 +1047,9 @@ export class Range {
1031
1047
  }, {
1032
1048
  "propName": "max",
1033
1049
  "methodName": "maxChanged"
1050
+ }, {
1051
+ "propName": "step",
1052
+ "methodName": "stepChanged"
1034
1053
  }, {
1035
1054
  "propName": "activeBarStart",
1036
1055
  "methodName": "activeBarStartChanged"
@@ -1,7 +1,10 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
+ import { isSafeNumber } from "../helpers";
4
5
  export function getDecimalPlaces(n) {
6
+ if (!isSafeNumber(n))
7
+ return 0;
5
8
  if (n % 1 === 0)
6
9
  return 0;
7
10
  return n.toString().split('.')[1].length;
@@ -39,6 +42,8 @@ export function getDecimalPlaces(n) {
39
42
  * be used as a reference for the desired specificity.
40
43
  */
41
44
  export function roundToMaxDecimalPlaces(n, ...references) {
45
+ if (!isSafeNumber(n))
46
+ return 0;
42
47
  const maxPlaces = Math.max(...references.map((r) => getDecimalPlaces(r)));
43
48
  return Number(n.toFixed(maxPlaces));
44
49
  }
@@ -374,3 +374,9 @@ export const getNextSiblingOfType = (element) => {
374
374
  }
375
375
  return null;
376
376
  };
377
+ /**
378
+ * Checks input for usable number. Not NaN and not Infinite.
379
+ */
380
+ export const isSafeNumber = (input) => {
381
+ return typeof input === 'number' && !isNaN(input) && isFinite(input);
382
+ };
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-03-06T06:14:54",
2
+ "timestamp": "2025-03-10T06:08:45",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.20.0",
@@ -1921,6 +1921,10 @@
1921
1921
  "Promise": {
1922
1922
  "location": "global",
1923
1923
  "id": "global::Promise"
1924
+ },
1925
+ "HTMLButtonElement": {
1926
+ "location": "global",
1927
+ "id": "global::HTMLButtonElement"
1924
1928
  }
1925
1929
  },
1926
1930
  "return": "Promise<void>"
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-9b49d7d2.js';
4
+ import { c as componentOnReady } from './helpers-13b816c6.js';
5
5
 
6
6
  // TODO(FW-2832): types
7
7
  const attachComponent = async (delegate, container, component, cssClasses, componentProps, inline) => {
@@ -368,5 +368,11 @@ const getNextSiblingOfType = (element) => {
368
368
  }
369
369
  return null;
370
370
  };
371
+ /**
372
+ * Checks input for usable number. Not NaN and not Infinite.
373
+ */
374
+ const isSafeNumber = (input) => {
375
+ return typeof input === 'number' && !isNaN(input) && isFinite(input);
376
+ };
371
377
 
372
- export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, hasShadowDom as l, assert as m, getNextSiblingOfType as n, isEndSide as o, debounce as p, pointerCoord as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t };
378
+ export { addEventListener as a, removeEventListener as b, componentOnReady as c, renderHiddenInput as d, debounceEvent as e, focusVisibleElement as f, getElementRoot as g, inheritAttributes as h, inheritAriaAttributes as i, clamp as j, hasLazyBuild as k, isSafeNumber as l, hasShadowDom as m, assert as n, getNextSiblingOfType as o, isEndSide as p, debounce as q, raf as r, shallowEqualStringMap as s, transitionEndAsync as t, pointerCoord as u };
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { d as doc } from './index-a5d50daf.js';
5
- import { q as pointerCoord } from './helpers-9b49d7d2.js';
5
+ import { u as pointerCoord } from './helpers-13b816c6.js';
6
6
 
7
7
  const startTapClick = (config) => {
8
8
  if (doc === undefined) {
@@ -4,7 +4,7 @@
4
4
  import { c as config } from './ionic-global-bf78a847.js';
5
5
  import { w as writeTask, B as Build } from './index-28849c61.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
- import { r as raf } from './helpers-9b49d7d2.js';
7
+ import { r as raf } from './helpers-13b816c6.js';
8
8
 
9
9
  const LIFECYCLE_WILL_ENTER = 'ionViewWillEnter';
10
10
  const LIFECYCLE_DID_ENTER = 'ionViewDidEnter';
@@ -120,8 +120,8 @@ const createFocusController = () => {
120
120
  };
121
121
  const LAST_FOCUS = 'ion-last-focus';
122
122
 
123
- const iosTransitionAnimation = () => import('./ios.transition-b7103952.js');
124
- const mdTransitionAnimation = () => import('./md.transition-e4034e0a.js');
123
+ const iosTransitionAnimation = () => import('./ios.transition-e7a4de4f.js');
124
+ const mdTransitionAnimation = () => import('./md.transition-290d8802.js');
125
125
  const focusController = createFocusController();
126
126
  // TODO(FW-2832): types
127
127
  const transition = (opts) => {
@@ -4,7 +4,7 @@
4
4
  import { d as doc } from './index-a5d50daf.js';
5
5
  import { MENU_BACK_BUTTON_PRIORITY } from './hardware-back-button-44195e92.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
- import { c as componentOnReady } from './helpers-9b49d7d2.js';
7
+ import { c as componentOnReady } from './helpers-13b816c6.js';
8
8
  import { b as getIonMode } from './ionic-global-bf78a847.js';
9
9
  import { c as createAnimation } from './animation-eab5a4ca.js';
10
10
 
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import { c as componentOnReady } from './helpers-9b49d7d2.js';
4
+ import { c as componentOnReady } from './helpers-13b816c6.js';
5
5
  import { b as printRequiredElementError } from './index-9b0d46f4.js';
6
6
 
7
7
  const ION_CONTENT_TAG_NAME = 'ION-CONTENT';
package/dist/esm/index.js CHANGED
@@ -2,23 +2,23 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  export { c as createAnimation } from './animation-eab5a4ca.js';
5
- export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-b019fc18.js';
6
- export { iosTransitionAnimation } from './ios.transition-b7103952.js';
7
- export { mdTransitionAnimation } from './md.transition-e4034e0a.js';
5
+ export { a as LIFECYCLE_DID_ENTER, c as LIFECYCLE_DID_LEAVE, L as LIFECYCLE_WILL_ENTER, b as LIFECYCLE_WILL_LEAVE, d as LIFECYCLE_WILL_UNLOAD, g as getIonPageElement } from './index-4b39521b.js';
6
+ export { iosTransitionAnimation } from './ios.transition-e7a4de4f.js';
7
+ export { mdTransitionAnimation } from './md.transition-290d8802.js';
8
8
  export { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
9
9
  export { createGesture } from './index-39782642.js';
10
10
  export { g as getPlatforms, i as initialize, a as isPlatform } from './ionic-global-bf78a847.js';
11
- export { c as componentOnReady } from './helpers-9b49d7d2.js';
11
+ export { c as componentOnReady } from './helpers-13b816c6.js';
12
12
  export { I as IonicSafeString, g as getMode, s as setupConfig } from './config-49c88215.js';
13
13
  export { o as openURL } from './theme-01f3f29c.js';
14
- export { m as menuController } from './index-e1e9a0d3.js';
15
- export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-aea27b63.js';
14
+ export { m as menuController } from './index-6b548278.js';
15
+ export { b as actionSheetController, a as alertController, l as loadingController, m as modalController, p as pickerController, c as popoverController, t as toastController } from './overlays-4ff6e618.js';
16
16
  import './index-a5d50daf.js';
17
17
  import './index-28849c61.js';
18
18
  import './index-9b0d46f4.js';
19
19
  import './gesture-controller-314a54f6.js';
20
20
  import './hardware-back-button-44195e92.js';
21
- import './framework-delegate-f683816e.js';
21
+ import './framework-delegate-42bc40b1.js';
22
22
 
23
23
  const IonicSlides = (opts) => {
24
24
  const { swiper, extendParams } = opts;
@@ -2,8 +2,8 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win, d as doc } from './index-a5d50daf.js';
5
- import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index-33f7e3ff.js';
6
- import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers-9b49d7d2.js';
5
+ import { g as getScrollElement, c as scrollByPoint, f as findClosestIonContent } from './index-edf58462.js';
6
+ import { a as addEventListener, b as removeEventListener, r as raf, c as componentOnReady } from './helpers-13b816c6.js';
7
7
  import { a as KeyboardResize, K as Keyboard } from './keyboard-73175e24.js';
8
8
  import './index-9b0d46f4.js';
9
9
  import './capacitor-59395cbd.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { w as win } from './index-a5d50daf.js';
5
- import { r as raf } from './helpers-9b49d7d2.js';
5
+ import { r as raf } from './helpers-13b816c6.js';
6
6
  import { a as printIonError } from './index-9b0d46f4.js';
7
7
 
8
8
  /**
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-28849c61.js';
5
- import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-9b49d7d2.js';
5
+ import { r as raf, t as transitionEndAsync, a as addEventListener, b as removeEventListener, g as getElementRoot } from './helpers-13b816c6.js';
6
6
  import { l as chevronDown } from './index-e2cf2ceb.js';
7
7
  import { c as config, b as getIonMode } from './ionic-global-bf78a847.js';
8
8
  import { p as printIonWarning } from './index-9b0d46f4.js';
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, e as readTask, h, f as Host, i as getElement } from './index-28849c61.js';
5
5
  import { c as createButtonActiveGesture } from './button-active-f6503382.js';
6
- import { r as raf } from './helpers-9b49d7d2.js';
6
+ import { r as raf } from './helpers-13b816c6.js';
7
7
  import { c as createLockController } from './lock-controller-316928be.js';
8
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-aea27b63.js';
8
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, f as present, g as dismiss, h as eventMethod, s as safeCall, j as prepareOverlay, k as setOverlayId } from './overlays-4ff6e618.js';
9
9
  import { g as getClassMap } from './theme-01f3f29c.js';
10
10
  import { b as getIonMode } from './ionic-global-bf78a847.js';
11
11
  import { c as createAnimation } from './animation-eab5a4ca.js';
@@ -15,7 +15,7 @@ import './index-a5d50daf.js';
15
15
  import './index-39782642.js';
16
16
  import './gesture-controller-314a54f6.js';
17
17
  import './hardware-back-button-44195e92.js';
18
- import './framework-delegate-f683816e.js';
18
+ import './framework-delegate-42bc40b1.js';
19
19
  import './index-9b0d46f4.js';
20
20
 
21
21
  /**
@@ -4,9 +4,9 @@
4
4
  import { r as registerInstance, d as createEvent, j as forceUpdate, h, f as Host, i as getElement } from './index-28849c61.js';
5
5
  import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-49c88215.js';
6
6
  import { c as createButtonActiveGesture } from './button-active-f6503382.js';
7
- import { r as raf } from './helpers-9b49d7d2.js';
7
+ import { r as raf } from './helpers-13b816c6.js';
8
8
  import { c as createLockController } from './lock-controller-316928be.js';
9
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-aea27b63.js';
9
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-4ff6e618.js';
10
10
  import { g as getClassMap } from './theme-01f3f29c.js';
11
11
  import { c as config, b as getIonMode } from './ionic-global-bf78a847.js';
12
12
  import { c as createAnimation } from './animation-eab5a4ca.js';
@@ -16,7 +16,7 @@ import './index-a5d50daf.js';
16
16
  import './index-39782642.js';
17
17
  import './gesture-controller-314a54f6.js';
18
18
  import './hardware-back-button-44195e92.js';
19
- import './framework-delegate-f683816e.js';
19
+ import './framework-delegate-42bc40b1.js';
20
20
  import './index-9b0d46f4.js';
21
21
 
22
22
  /**
@@ -172,6 +172,7 @@ const Alert = class {
172
172
  }
173
173
  }
174
174
  onKeydown(ev) {
175
+ var _a;
175
176
  const inputTypes = new Set(this.processedInputs.map((i) => i.type));
176
177
  /**
177
178
  * Based on keyboard navigation requirements, the
@@ -181,6 +182,17 @@ const Alert = class {
181
182
  ev.preventDefault();
182
183
  return;
183
184
  }
185
+ /**
186
+ * Ensure when alert container is being focused, and the user presses the tab + shift keys, the focus will be set to the last alert button.
187
+ */
188
+ if (ev.target.classList.contains('alert-wrapper')) {
189
+ if (ev.key === 'Tab' && ev.shiftKey) {
190
+ ev.preventDefault();
191
+ const lastChildBtn = (_a = this.wrapperEl) === null || _a === void 0 ? void 0 : _a.querySelector('.alert-button:last-child');
192
+ lastChildBtn.focus();
193
+ return;
194
+ }
195
+ }
184
196
  // The only inputs we want to navigate between using arrow keys are the radios
185
197
  // ignore the keydown event if it is not on a radio button
186
198
  if (!inputTypes.has('radio') ||
@@ -312,7 +324,21 @@ const Alert = class {
312
324
  async present() {
313
325
  const unlock = await this.lockController.lock();
314
326
  await this.delegateController.attachViewToDom();
315
- await present(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation);
327
+ await present(this, 'alertEnter', iosEnterAnimation, mdEnterAnimation).then(() => {
328
+ var _a, _b;
329
+ /**
330
+ * Check if alert has only one button and no inputs.
331
+ * If so, then focus on the button. Otherwise, focus the alert wrapper.
332
+ * This will map to the default native alert behavior.
333
+ */
334
+ if (this.buttons.length === 1 && this.inputs.length === 0) {
335
+ const queryBtn = (_a = this.wrapperEl) === null || _a === void 0 ? void 0 : _a.querySelector('.alert-button');
336
+ queryBtn.focus();
337
+ }
338
+ else {
339
+ (_b = this.wrapperEl) === null || _b === void 0 ? void 0 : _b.focus();
340
+ }
341
+ });
316
342
  unlock();
317
343
  }
318
344
  /**
@@ -486,8 +512,8 @@ const Alert = class {
486
512
  const { overlayIndex, header, subHeader, message, htmlAttributes } = this;
487
513
  const mode = getIonMode(this);
488
514
  const hdrId = `alert-${overlayIndex}-hdr`;
489
- const subHdrId = `alert-${overlayIndex}-sub-hdr`;
490
515
  const msgId = `alert-${overlayIndex}-msg`;
516
+ const subHdrId = `alert-${overlayIndex}-sub-hdr`;
491
517
  const role = this.inputs.length > 0 || this.buttons.length > 0 ? 'alertdialog' : 'alert';
492
518
  /**
493
519
  * Use both the header and subHeader ids if they are defined.
@@ -496,9 +522,9 @@ const Alert = class {
496
522
  * If neither are defined, do not set aria-labelledby.
497
523
  */
498
524
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
499
- return (h(Host, Object.assign({ key: 'ad7e14b4f92a09387aa80abfb718a755e4e889d6', role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "-1" }, htmlAttributes, { style: {
525
+ return (h(Host, { key: '755f2398806084f16ee24d9fefce9ebc0b8f30f2', tabindex: "-1", style: {
500
526
  zIndex: `${20000 + overlayIndex}`,
501
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }), h("ion-backdrop", { key: '4b4693dca3c910aa9a61c4d90295d785ec6cbe3d', tappable: this.backdropDismiss }), h("div", { key: '64fd19b8f1d8246dcc869053f858bc33506def4b', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'e61ba6f339c3a02cecd37d8b641ee5043018eb29', class: "alert-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '044e00667ffcb74aa2c5e0d0b42669c4004dbb4f', class: "alert-head" }, header && (h("h2", { key: '1aaae8d58722c4cf5debb1f00415ab7ed0a52bbd', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: '9c9854dc3b0ad40f1861a49b76d5636afcae9c74', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: '19aaca9912f77cde4ae8079be210eda697ed8de1', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: 'a85d27c516f7cdbc85b19f40d2f0bd865490b6a7', tabindex: "0", "aria-hidden": "true" })));
527
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [mode]: true, 'overlay-hidden': true, 'alert-translucent': this.translucent }), onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '5965913fb076436e37f4a55cd8778cbc58449bfd', tappable: this.backdropDismiss }), h("div", { key: 'cb17e07896b6ad8c9c607261fe08437b1a3b272f', tabindex: "0", "aria-hidden": "true" }), h("div", Object.assign({ key: 'e1d43053dceab70b9392802767caa70fa7ed0518', class: "alert-wrapper ion-overlay-wrapper", role: role, "aria-modal": "true", "aria-labelledby": ariaLabelledBy, "aria-describedby": message !== undefined ? msgId : null, tabindex: "0", ref: (el) => (this.wrapperEl = el) }, htmlAttributes), h("div", { key: 'a82e0bf863971084f3a8a34d25d6cf7aae1690a8', class: "alert-head" }, header && (h("h2", { key: '36a9b4394f4b4cdcd6972ae60265ac889e2157cf', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: '86008c1eb484cc69f66e42c254933ce289180785', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: 'bfaacd3b119d06273683019cddef2c42245c3101', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '0e7df4ab31a72953dcf171ebc87074603f848c06', tabindex: "0", "aria-hidden": "true" })));
502
528
  }
503
529
  get el() { return getElement(this); }
504
530
  static get watchers() { return {
@@ -5,15 +5,15 @@ import { r as registerInstance, h, f as Host, i as getElement, d as createEvent,
5
5
  import { shouldUseCloseWatcher } from './hardware-back-button-44195e92.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
7
  import { b as getIonMode, c as config, a as isPlatform } from './ionic-global-bf78a847.js';
8
- import { i as inheritAriaAttributes, k as hasLazyBuild, c as componentOnReady, j as clamp, s as shallowEqualStringMap } from './helpers-9b49d7d2.js';
8
+ import { i as inheritAriaAttributes, k as hasLazyBuild, c as componentOnReady, j as clamp, s as shallowEqualStringMap } from './helpers-13b816c6.js';
9
9
  import { i as isRTL } from './dir-babeabeb.js';
10
10
  import { c as createColorClasses, h as hostContext } from './theme-01f3f29c.js';
11
- import { a as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-33f7e3ff.js';
11
+ import { a as findIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-edf58462.js';
12
12
  import { c as createKeyboardController } from './keyboard-controller-ec5c2bfa.js';
13
13
  import { g as getTimeGivenProgression } from './cubic-bezier-fe2083dc.js';
14
- import { a as attachComponent, d as detachComponent } from './framework-delegate-f683816e.js';
14
+ import { a as attachComponent, d as detachComponent } from './framework-delegate-42bc40b1.js';
15
15
  import { c as createLockController } from './lock-controller-316928be.js';
16
- import { t as transition } from './index-b019fc18.js';
16
+ import { t as transition } from './index-4b39521b.js';
17
17
  import './index-a5d50daf.js';
18
18
  import './keyboard-73175e24.js';
19
19
  import './capacitor-59395cbd.js';
@@ -30,10 +30,10 @@ const App = class {
30
30
  rIC(async () => {
31
31
  const isHybrid = isPlatform(window, 'hybrid');
32
32
  if (!config.getBoolean('_testing')) {
33
- import('./index-5a0f5fd0.js').then((module) => module.startTapClick(config));
33
+ import('./index-28c8fd64.js').then((module) => module.startTapClick(config));
34
34
  }
35
35
  if (config.getBoolean('statusTap', isHybrid)) {
36
- import('./status-tap-163e8128.js').then((module) => module.startStatusTap());
36
+ import('./status-tap-ba401484.js').then((module) => module.startStatusTap());
37
37
  }
38
38
  if (config.getBoolean('inputShims', needInputShims())) {
39
39
  /**
@@ -41,7 +41,7 @@ const App = class {
41
41
  * platforms proceed into this block.
42
42
  */
43
43
  const platform = isPlatform(window, 'ios') ? 'ios' : 'android';
44
- import('./input-shims-0e65111b.js').then((module) => module.startInputShims(config, platform));
44
+ import('./input-shims-5e5e47e8.js').then((module) => module.startInputShims(config, platform));
45
45
  }
46
46
  const hardwareBackButtonModule = await import('./hardware-back-button-44195e92.js');
47
47
  const supportsHardwareBackButtonEvents = isHybrid || shouldUseCloseWatcher();
@@ -1050,7 +1050,7 @@ const RouterOutlet = class {
1050
1050
  this.swipeHandler.onStart();
1051
1051
  }
1052
1052
  };
1053
- this.gesture = (await import('./swipe-back-23ee7ab1.js')).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => { var _a; return (_a = this.ani) === null || _a === void 0 ? void 0 : _a.progressStep(step); }, (shouldComplete, step, dur) => {
1053
+ this.gesture = (await import('./swipe-back-a258b011.js')).createSwipeBackGesture(this.el, () => !this.gestureOrAnimationInProgress && !!this.swipeHandler && this.swipeHandler.canStart(), () => onStart(), (step) => { var _a; return (_a = this.ani) === null || _a === void 0 ? void 0 : _a.progressStep(step); }, (shouldComplete, step, dur) => {
1054
1054
  if (this.ani) {
1055
1055
  this.ani.onFinish(() => {
1056
1056
  this.gestureOrAnimationInProgress = false;
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, f as Host, i as getElement } from './index-28849c61.js';
5
- import { i as inheritAriaAttributes } from './helpers-9b49d7d2.js';
5
+ import { i as inheritAriaAttributes } from './helpers-13b816c6.js';
6
6
  import { o as openURL, c as createColorClasses, h as hostContext } from './theme-01f3f29c.js';
7
7
  import { c as chevronBack, a as arrowBackSharp } from './index-e2cf2ceb.js';
8
8
  import { c as config, b as getIonMode } from './ionic-global-bf78a847.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, h, f as Host, i as getElement } from './index-28849c61.js';
5
- import { i as inheritAriaAttributes } from './helpers-9b49d7d2.js';
5
+ import { i as inheritAriaAttributes } from './helpers-13b816c6.js';
6
6
  import { o as openURL, c as createColorClasses, h as hostContext } from './theme-01f3f29c.js';
7
7
  import { m as chevronForwardOutline, n as ellipsisHorizontal } from './index-e2cf2ceb.js';
8
8
  import { b as getIonMode } from './ionic-global-bf78a847.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { k as getAssetPath, r as registerInstance, d as createEvent, h, f as Host, i as getElement } from './index-28849c61.js';
5
- import { l as hasShadowDom, i as inheritAriaAttributes } from './helpers-9b49d7d2.js';
5
+ import { m as hasShadowDom, i as inheritAriaAttributes } from './helpers-13b816c6.js';
6
6
  import { p as printIonWarning } from './index-9b0d46f4.js';
7
7
  import { o as openURL, c as createColorClasses$1, h as hostContext } from './theme-01f3f29c.js';
8
8
  import { b as getIonMode$1 } from './ionic-global-bf78a847.js';
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, f as Host, i as getElement } from './index-28849c61.js';
5
- import { h as inheritAttributes } from './helpers-9b49d7d2.js';
5
+ import { h as inheritAttributes } from './helpers-13b816c6.js';
6
6
  import { o as openURL, c as createColorClasses } from './theme-01f3f29c.js';
7
7
  import { b as getIonMode } from './ionic-global-bf78a847.js';
8
8
 
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, h, f as Host, i as getElement } from './index-28849c61.js';
5
- import { i as inheritAriaAttributes, d as renderHiddenInput } from './helpers-9b49d7d2.js';
5
+ import { i as inheritAriaAttributes, d as renderHiddenInput } from './helpers-13b816c6.js';
6
6
  import { c as createColorClasses, h as hostContext } from './theme-01f3f29c.js';
7
7
  import { b as getIonMode } from './ionic-global-bf78a847.js';
8
8
 
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, f as Host, i as getElement } from './index-28849c61.js';
5
- import { a as addEventListener, c as componentOnReady } from './helpers-9b49d7d2.js';
5
+ import { a as addEventListener, c as componentOnReady } from './helpers-13b816c6.js';
6
6
  import { a as printIonError } from './index-9b0d46f4.js';
7
7
  import { c as createColorClasses } from './theme-01f3f29c.js';
8
8
  import { b as getIonMode } from './ionic-global-bf78a847.js';
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, w as writeTask, h, f as Host, i as getElement } from './index-28849c61.js';
5
5
  import { startFocusVisible } from './focus-visible-dd40d69f.js';
6
- import { r as raf, d as renderHiddenInput, g as getElementRoot, j as clamp } from './helpers-9b49d7d2.js';
6
+ import { r as raf, d as renderHiddenInput, g as getElementRoot, j as clamp } from './helpers-13b816c6.js';
7
7
  import { a as printIonError, p as printIonWarning } from './index-9b0d46f4.js';
8
8
  import { i as isRTL } from './dir-babeabeb.js';
9
9
  import { c as createColorClasses, g as getClassMap } from './theme-01f3f29c.js';
@@ -11,12 +11,12 @@ import { c as chevronBack, o as chevronForward, l as chevronDown, p as caretUpSh
11
11
  import { b as getIonMode } from './ionic-global-bf78a847.js';
12
12
  import { g as generateDayAriaLabel, a as getDay, i as isBefore, b as isAfter, c as isSameDay, d as getPreviousMonth, e as getNextMonth, v as validateParts, f as getPartsFromCalendarDay, h as getNextYear, j as getPreviousYear, k as getEndOfWeek, l as getStartOfWeek, m as getPreviousDay, n as getNextDay, o as getPreviousWeek, p as getNextWeek, q as parseMinParts, r as parseMaxParts, s as parseDate, w as warnIfValueOutOfBounds, t as convertToArrayOfNumbers, u as convertDataToISO, x as getToday, y as getClosestValidDate, z as generateMonths, A as getNumDaysInMonth, B as getCombinedDateColumnData, C as getMonthColumnData, D as getDayColumnData, E as getYearColumnData, F as isMonthFirstLocale, G as getTimeColumnsData, H as isLocaleDayPeriodRTL, I as getDaysOfWeek, J as getMonthAndYear, K as getDaysOfMonth, L as getHourCycle, M as getLocalizedTime, N as getLocalizedDateTime, O as formatValue, P as clampDate, Q as parseAmPm, R as calculateHourFromAMPM } from './data-ae11fd43.js';
13
13
  import { c as createLockController } from './lock-controller-316928be.js';
14
- import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-aea27b63.js';
14
+ import { d as createDelegateController, e as createTriggerController, B as BACKDROP, i as isCancel, j as prepareOverlay, k as setOverlayId, f as present, g as dismiss, h as eventMethod, s as safeCall } from './overlays-4ff6e618.js';
15
15
  import { c as createAnimation } from './animation-eab5a4ca.js';
16
16
  import { b as hapticSelectionChanged, h as hapticSelectionEnd, a as hapticSelectionStart } from './haptic-ac164e4c.js';
17
17
  import './index-a5d50daf.js';
18
18
  import './hardware-back-button-44195e92.js';
19
- import './framework-delegate-f683816e.js';
19
+ import './framework-delegate-42bc40b1.js';
20
20
  import './gesture-controller-314a54f6.js';
21
21
  import './capacitor-59395cbd.js';
22
22
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-28849c61.js';
5
5
  import { b as getIonMode } from './ionic-global-bf78a847.js';
6
- import { i as inheritAriaAttributes } from './helpers-9b49d7d2.js';
6
+ import { i as inheritAriaAttributes } from './helpers-13b816c6.js';
7
7
  import { h as hostContext, o as openURL, c as createColorClasses } from './theme-01f3f29c.js';
8
8
  import { t as close } from './index-e2cf2ceb.js';
9
9
 
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, h, f as Host, i as getElement } from './index-28849c61.js';
5
- import { h as inheritAttributes } from './helpers-9b49d7d2.js';
5
+ import { h as inheritAttributes } from './helpers-13b816c6.js';
6
6
  import { b as getIonMode } from './ionic-global-bf78a847.js';
7
7
 
8
8
  const imgCss = ":host{display:block;-o-object-fit:contain;object-fit:contain}img{display:block;width:100%;height:100%;-o-object-fit:inherit;object-fit:inherit;-o-object-position:inherit;object-position:inherit}";
@@ -2,10 +2,10 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, w as writeTask, e as readTask, h, i as getElement, f as Host } from './index-28849c61.js';
5
- import { f as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-33f7e3ff.js';
5
+ import { f as findClosestIonContent, p as printIonContentErrorMsg, g as getScrollElement } from './index-edf58462.js';
6
6
  import { b as getIonMode, c as config } from './ionic-global-bf78a847.js';
7
7
  import { E as ENABLE_HTML_CONTENT_DEFAULT, a as sanitizeDOMString } from './config-49c88215.js';
8
- import './helpers-9b49d7d2.js';
8
+ import './helpers-13b816c6.js';
9
9
  import './index-9b0d46f4.js';
10
10
 
11
11
  const infiniteScrollCss = "ion-infinite-scroll{display:none;width:100%}.infinite-scroll-enabled{display:block}";
@@ -2,9 +2,9 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, d as createEvent, h, f as Host, i as getElement, j as forceUpdate } from './index-28849c61.js';
5
- import { c as createNotchController } from './notch-controller-3dc61260.js';
6
- import { e as debounceEvent, i as inheritAriaAttributes, h as inheritAttributes, c as componentOnReady } from './helpers-9b49d7d2.js';
7
- import { c as createSlotMutationController, g as getCounterText } from './input.utils-1ad8dafc.js';
5
+ import { c as createNotchController } from './notch-controller-bb8f3a48.js';
6
+ import { e as debounceEvent, i as inheritAriaAttributes, h as inheritAttributes, c as componentOnReady } from './helpers-13b816c6.js';
7
+ import { c as createSlotMutationController, g as getCounterText } from './input.utils-d3717b00.js';
8
8
  import { h as hostContext, c as createColorClasses } from './theme-01f3f29c.js';
9
9
  import { b as closeCircle, d as closeSharp } from './index-e2cf2ceb.js';
10
10
  import { b as getIonMode } from './ionic-global-bf78a847.js';
@@ -4,8 +4,8 @@
4
4
  import { r as registerInstance, h, f as Host, i as getElement, d as createEvent } from './index-28849c61.js';
5
5
  import { c as createColorClasses } from './theme-01f3f29c.js';
6
6
  import { b as getIonMode } from './ionic-global-bf78a847.js';
7
- import { o as isEndSide } from './helpers-9b49d7d2.js';
8
- import { f as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-33f7e3ff.js';
7
+ import { p as isEndSide } from './helpers-13b816c6.js';
8
+ import { f as findClosestIonContent, d as disableContentScrollY, r as resetContentScrollY } from './index-edf58462.js';
9
9
  import { w as watchForOptions } from './watch-options-c2911ace.js';
10
10
  import './index-9b0d46f4.js';
11
11
 
@@ -2,7 +2,7 @@
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
4
  import { r as registerInstance, j as forceUpdate, h, f as Host, i as getElement, d as createEvent } from './index-28849c61.js';
5
- import { h as inheritAttributes, r as raf } from './helpers-9b49d7d2.js';
5
+ import { h as inheritAttributes, r as raf } from './helpers-13b816c6.js';
6
6
  import { h as hostContext, c as createColorClasses, o as openURL } from './theme-01f3f29c.js';
7
7
  import { o as chevronForward } from './index-e2cf2ceb.js';
8
8
  import { b as getIonMode, c as config } from './ionic-global-bf78a847.js';