@ionic/core 9.0.1-dev.11787177893.1979eb13 → 9.0.1-dev.11787589191.1e183b55

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 (602) hide show
  1. package/components/index.js +1 -1
  2. package/components/ion-accordion-group.js +1 -1
  3. package/components/ion-accordion.js +1 -1
  4. package/components/ion-action-sheet.js +1 -1
  5. package/components/ion-alert.js +1 -1
  6. package/components/ion-app.js +1 -1
  7. package/components/ion-avatar.js +1 -1
  8. package/components/ion-back-button.js +1 -1
  9. package/components/ion-backdrop.js +1 -1
  10. package/components/ion-badge.js +1 -1
  11. package/components/ion-breadcrumb.js +1 -1
  12. package/components/ion-breadcrumbs.js +1 -1
  13. package/components/ion-button.js +1 -1
  14. package/components/ion-buttons.js +1 -1
  15. package/components/ion-card-content.js +1 -1
  16. package/components/ion-card-header.js +1 -1
  17. package/components/ion-card-subtitle.js +1 -1
  18. package/components/ion-card-title.js +1 -1
  19. package/components/ion-card.js +1 -1
  20. package/components/ion-checkbox.js +1 -1
  21. package/components/ion-chip.js +1 -1
  22. package/components/ion-col.js +1 -1
  23. package/components/ion-content.js +1 -1
  24. package/components/ion-datetime-button.js +1 -1
  25. package/components/ion-datetime.js +1 -1
  26. package/components/ion-fab-button.js +1 -1
  27. package/components/ion-fab-list.js +1 -1
  28. package/components/ion-fab.js +1 -1
  29. package/components/ion-footer.js +1 -1
  30. package/components/ion-grid.js +1 -1
  31. package/components/ion-header.js +1 -1
  32. package/components/ion-icon.js +1 -1
  33. package/components/ion-img.js +1 -1
  34. package/components/ion-infinite-scroll-content.js +1 -1
  35. package/components/ion-infinite-scroll.js +1 -1
  36. package/components/ion-input-otp.js +1 -1
  37. package/components/ion-input-password-toggle.js +1 -1
  38. package/components/ion-input.js +1 -1
  39. package/components/ion-item-divider.js +1 -1
  40. package/components/ion-item-group.js +1 -1
  41. package/components/ion-item-option.js +1 -1
  42. package/components/ion-item-options.js +1 -1
  43. package/components/ion-item-sliding.js +1 -1
  44. package/components/ion-item.js +1 -1
  45. package/components/ion-label.js +1 -1
  46. package/components/ion-list-header.js +1 -1
  47. package/components/ion-list.js +1 -1
  48. package/components/ion-loading.js +1 -1
  49. package/components/ion-menu-button.js +1 -1
  50. package/components/ion-menu-toggle.js +1 -1
  51. package/components/ion-menu.js +1 -1
  52. package/components/ion-modal.js +1 -1
  53. package/components/ion-nav-link.js +1 -1
  54. package/components/ion-nav.js +1 -1
  55. package/components/ion-note.js +1 -1
  56. package/components/ion-picker-column-option.js +1 -1
  57. package/components/ion-picker-column.js +1 -1
  58. package/components/ion-picker.js +1 -1
  59. package/components/ion-popover.js +1 -1
  60. package/components/ion-progress-bar.js +1 -1
  61. package/components/ion-radio-group.js +1 -1
  62. package/components/ion-radio.js +1 -1
  63. package/components/ion-range.js +1 -1
  64. package/components/ion-refresher-content.js +1 -1
  65. package/components/ion-refresher.js +1 -1
  66. package/components/ion-reorder-group.js +1 -1
  67. package/components/ion-reorder.js +1 -1
  68. package/components/ion-ripple-effect.js +1 -1
  69. package/components/ion-route-redirect.js +1 -1
  70. package/components/ion-route.js +1 -1
  71. package/components/ion-router-link.js +1 -1
  72. package/components/ion-router-outlet.js +1 -1
  73. package/components/ion-router.js +1 -1
  74. package/components/ion-row.js +1 -1
  75. package/components/ion-searchbar.js +1 -1
  76. package/components/ion-segment-button.js +1 -1
  77. package/components/ion-segment-content.js +1 -1
  78. package/components/ion-segment-view.js +1 -1
  79. package/components/ion-segment.js +1 -1
  80. package/components/ion-select-modal.js +1 -1
  81. package/components/ion-select-option.js +1 -1
  82. package/components/ion-select-popover.js +1 -1
  83. package/components/ion-select.js +1 -1
  84. package/components/ion-skeleton-text.js +1 -1
  85. package/components/ion-spinner.js +1 -1
  86. package/components/ion-split-pane.js +1 -1
  87. package/components/ion-tab-bar.js +1 -1
  88. package/components/ion-tab-button.js +1 -1
  89. package/components/ion-tab.js +1 -1
  90. package/components/ion-tabs.js +1 -1
  91. package/components/ion-text.js +1 -1
  92. package/components/ion-textarea.js +1 -1
  93. package/components/ion-thumbnail.js +1 -1
  94. package/components/ion-title.js +1 -1
  95. package/components/ion-toast.js +1 -1
  96. package/components/ion-toggle.js +1 -1
  97. package/components/ion-toolbar.js +1 -1
  98. package/components/{p-63OhffQv.js → p-66ogmUZU.js} +1 -1
  99. package/components/p-6Vp915Y7.js +4 -0
  100. package/components/p-7PNwKFZi.js +4 -0
  101. package/components/{p-G0TxqHfe.js → p-A8MJRBIY.js} +1 -1
  102. package/components/p-AQcCdH2_.js +4 -0
  103. package/{dist/ionic/p-Dn0mqQ_R.js → components/p-B6x5_b9w.js} +1 -1
  104. package/components/p-B8MQjdvk.js +4 -0
  105. package/components/p-BA_4ZIEg.js +4 -0
  106. package/components/p-BFtL8t1r.js +4 -0
  107. package/components/{p-DaA_8eqt.js → p-BMfgF-Tv.js} +1 -1
  108. package/components/p-BPDxVIRr.js +4 -0
  109. package/components/p-BPnXVGaS.js +4 -0
  110. package/components/p-BQAiulS1.js +4 -0
  111. package/components/p-BSARlp49.js +4 -0
  112. package/components/p-B_gJaBk0.js +4 -0
  113. package/components/p-BdwCtX8Y.js +4 -0
  114. package/components/{p-DV85C0e0.js → p-BgUIV8NQ.js} +1 -1
  115. package/components/p-Bh2ta0iG.js +4 -0
  116. package/components/p-BnUOVmKh.js +4 -0
  117. package/components/p-BpLt_Ptn.js +4 -0
  118. package/components/p-BqBDq1Ma.js +4 -0
  119. package/components/{p-C_phlPMC.js → p-BrFaQbGY.js} +1 -1
  120. package/{dist/ionic/p-Cdjxf_yg.js → components/p-BuPAFTWI.js} +1 -1
  121. package/components/p-Bx2saTHs.js +4 -0
  122. package/components/p-BxhE2W85.js +4 -0
  123. package/components/p-CHswSpKy.js +4 -0
  124. package/components/{p-1jI5oW-W.js → p-CR9OgE6N.js} +1 -1
  125. package/components/p-CWETxTjE.js +4 -0
  126. package/components/p-CaZeZIL2.js +4 -0
  127. package/components/p-CgvDC7hC.js +4 -0
  128. package/components/{p-BqPNzJf6.js → p-CqyGR9Aq.js} +1 -1
  129. package/components/{p-UIBJkZf8.js → p-D0YpjgON.js} +1 -1
  130. package/components/p-D1OCo42s.js +4 -0
  131. package/components/p-D7ysFE2B.js +4 -0
  132. package/{dist/ionic/p-4eOQC00Z.js → components/p-DCWfzDM8.js} +1 -1
  133. package/components/p-DD57rSP_.js +4 -0
  134. package/components/{p-DwpKZ6rl.js → p-DDdkefwf.js} +1 -1
  135. package/components/{p-DzRT60Tw.js → p-DEW7CnUc.js} +1 -1
  136. package/components/p-DQ1IPvZO.js +4 -0
  137. package/components/p-DcOH6-o5.js +4 -0
  138. package/components/{p-DD5fQ4EQ.js → p-DfdYCsov.js} +1 -1
  139. package/components/{p-DSzSbVP2.js → p-DhOoEIAs.js} +1 -1
  140. package/components/{p-DM-PrAoh.js → p-Dl_7b_UJ.js} +1 -1
  141. package/components/p-DnXLaaf7.js +4 -0
  142. package/components/{p-ryyf_ItD.js → p-DysqCsJu.js} +1 -1
  143. package/components/p-H1f2qsk4.js +4 -0
  144. package/components/p-HVYBAhFx.js +4 -0
  145. package/components/{p-CbhUdtjf.js → p-Kmrg3Fed.js} +1 -1
  146. package/components/{p-Bjig0DJK.js → p-RFfE9hF6.js} +1 -1
  147. package/{dist/ionic/p-CBWAXjA5.js → components/p-SR-LLqp_.js} +1 -1
  148. package/components/p-gFwXiYC_.js +4 -0
  149. package/components/p-tX3UxCnU.js +4 -0
  150. package/components/p-v2NpoOHp.js +4 -0
  151. package/dist/cjs/{animation-C0mOHzej.js → animation-D-OqR4a4.js} +1 -1
  152. package/dist/cjs/{app-globals-BREG4twP.js → app-globals-BzgwARwJ.js} +1 -1
  153. package/dist/cjs/{button-active-CVMevT9a.js → button-active-BlWSD7uK.js} +2 -2
  154. package/dist/cjs/{format-pp0Du3K-.js → format-D7ig6Vm0.js} +1 -1
  155. package/dist/cjs/{framework-delegate-Dfo5XsGv.js → framework-delegate-BZUx4TnE.js} +1 -1
  156. package/dist/cjs/{gesture-controller-BDUH7687.js → gesture-controller-CeJslptU.js} +6 -14
  157. package/dist/cjs/{hardware-back-button-fqpYh-kd.js → hardware-back-button-JOAEFSzc.js} +1 -1
  158. package/dist/cjs/{helpers-YPQybDph.js → helpers-Dj5o76mq.js} +1 -1
  159. package/dist/cjs/{index-BLdJCcJY.js → index-2sO-zkZ2.js} +4 -4
  160. package/dist/cjs/{index-uvry__L4.js → index-BrVMoqUk.js} +3 -1
  161. package/dist/cjs/{index-zVCah4Uz.js → index-C8zH6b3d.js} +2 -2
  162. package/dist/cjs/{index-DXsPSne6.js → index-CZ6vzt_q.js} +5 -5
  163. package/dist/cjs/{index-DDg31ZF5.js → index-Csue6G3m.js} +2 -2
  164. package/dist/cjs/{index-DwlRtFZe.js → index-DRPqwSvU.js} +1 -1
  165. package/dist/cjs/{index-B7zJsYWS.js → index-EJLjthTK.js} +1 -2
  166. package/dist/cjs/index.cjs.js +14 -14
  167. package/dist/cjs/{input-shims-Cbu1fcye.js → input-shims-Bh7bnt2v.js} +3 -3
  168. package/dist/cjs/{input.utils-BZdMWVrt.js → input.utils-Cq3g9uHy.js} +1 -1
  169. package/dist/cjs/ion-accordion_2.cjs.entry.js +335 -364
  170. package/dist/cjs/ion-action-sheet.cjs.entry.js +94 -159
  171. package/dist/cjs/ion-alert.cjs.entry.js +86 -170
  172. package/dist/cjs/ion-app_8.cjs.entry.js +163 -258
  173. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -8
  174. package/dist/cjs/ion-back-button.cjs.entry.js +21 -45
  175. package/dist/cjs/ion-backdrop.cjs.entry.js +14 -18
  176. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +117 -195
  177. package/dist/cjs/ion-button_2.cjs.entry.js +61 -130
  178. package/dist/cjs/ion-card_5.cjs.entry.js +28 -80
  179. package/dist/cjs/ion-checkbox.cjs.entry.js +98 -147
  180. package/dist/cjs/ion-chip.cjs.entry.js +10 -16
  181. package/dist/cjs/ion-col_3.cjs.entry.js +6 -126
  182. package/dist/cjs/ion-datetime-button.cjs.entry.js +232 -248
  183. package/dist/cjs/ion-datetime.cjs.entry.js +775 -953
  184. package/dist/cjs/ion-fab_3.cjs.entry.js +78 -136
  185. package/dist/cjs/ion-img.cjs.entry.js +11 -31
  186. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +71 -98
  187. package/dist/cjs/ion-input-otp.cjs.entry.js +352 -424
  188. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +14 -29
  189. package/dist/cjs/ion-input.cjs.entry.js +158 -302
  190. package/dist/cjs/ion-item-option_3.cjs.entry.js +45 -87
  191. package/dist/cjs/ion-item_8.cjs.entry.js +61 -157
  192. package/dist/cjs/ion-loading.cjs.entry.js +60 -133
  193. package/dist/cjs/ion-menu_3.cjs.entry.js +94 -158
  194. package/dist/cjs/ion-modal.cjs.entry.js +280 -383
  195. package/dist/cjs/ion-nav_2.cjs.entry.js +26 -78
  196. package/dist/cjs/ion-picker-column-option.cjs.entry.js +23 -33
  197. package/dist/cjs/ion-picker-column.cjs.entry.js +389 -410
  198. package/dist/cjs/ion-picker.cjs.entry.js +390 -400
  199. package/dist/cjs/ion-popover.cjs.entry.js +196 -294
  200. package/dist/cjs/ion-progress-bar.cjs.entry.js +23 -29
  201. package/dist/cjs/ion-radio_2.cjs.entry.js +128 -201
  202. package/dist/cjs/ion-range.cjs.entry.js +223 -293
  203. package/dist/cjs/ion-refresher_2.cjs.entry.js +84 -156
  204. package/dist/cjs/ion-reorder_2.cjs.entry.js +19 -49
  205. package/dist/cjs/ion-ripple-effect.cjs.entry.js +13 -13
  206. package/dist/cjs/ion-route_4.cjs.entry.js +45 -144
  207. package/dist/cjs/ion-searchbar.cjs.entry.js +182 -268
  208. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  209. package/dist/cjs/ion-segment-view.cjs.entry.js +12 -24
  210. package/dist/cjs/ion-segment_2.cjs.entry.js +111 -154
  211. package/dist/cjs/ion-select-modal.cjs.entry.js +19 -21
  212. package/dist/cjs/ion-select_3.cjs.entry.js +151 -319
  213. package/dist/cjs/ion-spinner.cjs.entry.js +6 -21
  214. package/dist/cjs/ion-split-pane.cjs.entry.js +14 -27
  215. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +32 -89
  216. package/dist/cjs/ion-tab_2.cjs.entry.js +22 -49
  217. package/dist/cjs/ion-text.cjs.entry.js +2 -8
  218. package/dist/cjs/ion-textarea.cjs.entry.js +139 -256
  219. package/dist/cjs/ion-toast.cjs.entry.js +106 -221
  220. package/dist/cjs/ion-toggle.cjs.entry.js +114 -165
  221. package/dist/cjs/{ionic-global-k6hOWWpn.js → ionic-global-DvgIzM2F.js} +1 -1
  222. package/dist/cjs/ionic.cjs.js +4 -4
  223. package/dist/cjs/{ios.transition-zTmJz8T-.js → ios.transition-zIgdoSYe.js} +4 -4
  224. package/dist/cjs/{item-multiple-inputs-BdYSbfKN.js → item-multiple-inputs-DG-ZGm6j.js} +1 -1
  225. package/dist/cjs/loader.cjs.js +4 -4
  226. package/dist/cjs/{md.transition-nb_4pUXu.js → md.transition-CXeJ9rfh.js} +4 -4
  227. package/dist/cjs/{overlays-KaNVDNqC.js → overlays-B5JeC8OQ.js} +58 -35
  228. package/dist/cjs/{select-option-render-pULCGldr.js → select-option-render-7m1WdFzF.js} +2 -2
  229. package/dist/cjs/{slot-mutation-controller-DPHmqXdV.js → slot-mutation-controller-BJEJzx_e.js} +1 -1
  230. package/dist/cjs/{status-tap-o9IIymsP.js → status-tap-DxbUM5XX.js} +3 -3
  231. package/dist/cjs/{swipe-back-B7X9VOlH.js → swipe-back-F_DBt-Aw.js} +4 -4
  232. package/dist/collection/components/accordion/accordion.js +310 -314
  233. package/dist/collection/components/accordion-group/accordion-group.js +23 -46
  234. package/dist/collection/components/action-sheet/action-sheet.js +84 -148
  235. package/dist/collection/components/action-sheet/test/basic/fixture.js +0 -3
  236. package/dist/collection/components/alert/alert.js +76 -159
  237. package/dist/collection/components/app/app.js +0 -3
  238. package/dist/collection/components/back-button/back-button.js +19 -42
  239. package/dist/collection/components/backdrop/backdrop.js +14 -16
  240. package/dist/collection/components/badge/badge.js +0 -6
  241. package/dist/collection/components/breadcrumb/breadcrumb.js +29 -90
  242. package/dist/collection/components/breadcrumbs/breadcrumbs.js +87 -102
  243. package/dist/collection/components/button/button.js +59 -127
  244. package/dist/collection/components/buttons/buttons.js +15 -13
  245. package/dist/collection/components/card/card.js +20 -53
  246. package/dist/collection/components/card-header/card-header.js +8 -12
  247. package/dist/collection/components/card-subtitle/card-subtitle.js +0 -6
  248. package/dist/collection/components/card-title/card-title.js +0 -6
  249. package/dist/collection/components/checkbox/checkbox.js +95 -143
  250. package/dist/collection/components/chip/chip.js +10 -14
  251. package/dist/collection/components/col/col.js +0 -120
  252. package/dist/collection/components/content/content.js +60 -90
  253. package/dist/collection/components/datetime/datetime.js +762 -939
  254. package/dist/collection/components/datetime-button/datetime-button.js +229 -244
  255. package/dist/collection/components/fab/fab.js +13 -20
  256. package/dist/collection/components/fab-button/fab-button.js +54 -103
  257. package/dist/collection/components/fab-list/fab-list.js +11 -10
  258. package/dist/collection/components/footer/footer.js +43 -49
  259. package/dist/collection/components/grid/grid.js +6 -4
  260. package/dist/collection/components/header/header.js +23 -33
  261. package/dist/collection/components/img/img.js +9 -28
  262. package/dist/collection/components/infinite-scroll/infinite-scroll.js +66 -73
  263. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +3 -20
  264. package/dist/collection/components/input/input.js +154 -297
  265. package/dist/collection/components/input-otp/input-otp.js +350 -421
  266. package/dist/collection/components/input-password-toggle/input-password-toggle.js +13 -27
  267. package/dist/collection/components/item/item.js +37 -80
  268. package/dist/collection/components/item-divider/item-divider.js +10 -15
  269. package/dist/collection/components/item-option/item-option.js +20 -48
  270. package/dist/collection/components/item-options/item-options.js +7 -10
  271. package/dist/collection/components/item-sliding/item-sliding.js +16 -24
  272. package/dist/collection/components/label/label.js +4 -24
  273. package/dist/collection/components/list/list.js +6 -9
  274. package/dist/collection/components/list-header/list-header.js +0 -10
  275. package/dist/collection/components/loading/loading.js +53 -125
  276. package/dist/collection/components/menu/menu.js +55 -99
  277. package/dist/collection/components/menu-button/menu-button.js +19 -28
  278. package/dist/collection/components/menu-toggle/menu-toggle.js +13 -20
  279. package/dist/collection/components/modal/modal.js +271 -373
  280. package/dist/collection/components/modal/test/fixtures.js +0 -3
  281. package/dist/collection/components/nav/nav.js +12 -45
  282. package/dist/collection/components/nav/view-controller.js +1 -7
  283. package/dist/collection/components/nav-link/nav-link.js +9 -20
  284. package/dist/collection/components/note/note.js +0 -6
  285. package/dist/collection/components/picker/picker.js +388 -397
  286. package/dist/collection/components/picker-column/picker-column.js +389 -409
  287. package/dist/collection/components/picker-column-option/picker-column-option.js +21 -30
  288. package/dist/collection/components/popover/popover.js +189 -286
  289. package/dist/collection/components/popover/test/fixture.js +0 -1
  290. package/dist/collection/components/progress-bar/progress-bar.js +22 -26
  291. package/dist/collection/components/radio/radio.js +62 -98
  292. package/dist/collection/components/radio-group/radio-group.js +64 -99
  293. package/dist/collection/components/radio-group/test/fixtures.js +0 -2
  294. package/dist/collection/components/range/range.js +220 -289
  295. package/dist/collection/components/refresher/refresher.js +74 -107
  296. package/dist/collection/components/refresher-content/refresher-content.js +3 -40
  297. package/dist/collection/components/reorder/reorder.js +0 -1
  298. package/dist/collection/components/reorder-group/reorder-group.js +14 -43
  299. package/dist/collection/components/ripple-effect/ripple-effect.js +12 -11
  300. package/dist/collection/components/route/route.js +9 -38
  301. package/dist/collection/components/route-redirect/route-redirect.js +0 -31
  302. package/dist/collection/components/router/router.js +27 -35
  303. package/dist/collection/components/router/utils/matching.js +0 -1
  304. package/dist/collection/components/router-link/router-link.js +10 -35
  305. package/dist/collection/components/router-outlet/router-outlet.js +12 -34
  306. package/dist/collection/components/searchbar/searchbar.js +180 -265
  307. package/dist/collection/components/segment/segment.js +76 -113
  308. package/dist/collection/components/segment-button/segment-button.js +33 -37
  309. package/dist/collection/components/segment-view/segment-view.js +12 -23
  310. package/dist/collection/components/select/select.js +127 -240
  311. package/dist/collection/components/select-modal/select-modal.js +11 -12
  312. package/dist/collection/components/select-modal/test/fixtures.js +1 -8
  313. package/dist/collection/components/select-option/select-option.js +7 -44
  314. package/dist/collection/components/select-popover/select-popover.js +10 -25
  315. package/dist/collection/components/select-popover/test/fixtures.js +1 -8
  316. package/dist/collection/components/skeleton-text/skeleton-text.js +6 -10
  317. package/dist/collection/components/spinner/spinner.js +6 -19
  318. package/dist/collection/components/split-pane/split-pane.js +13 -25
  319. package/dist/collection/components/tab/tab.js +4 -15
  320. package/dist/collection/components/tab-bar/tab-bar.js +12 -30
  321. package/dist/collection/components/tab-button/tab-button.js +19 -56
  322. package/dist/collection/components/tabs/tabs.js +17 -31
  323. package/dist/collection/components/text/text.js +0 -6
  324. package/dist/collection/components/textarea/textarea.js +135 -251
  325. package/dist/collection/components/title/title.js +0 -16
  326. package/dist/collection/components/toast/toast.js +97 -211
  327. package/dist/collection/components/toggle/toggle.js +111 -161
  328. package/dist/collection/components/toolbar/toolbar.js +3 -8
  329. package/dist/collection/global/config.js +3 -1
  330. package/dist/collection/utils/gesture/gesture-controller.js +6 -14
  331. package/dist/collection/utils/overlays.js +51 -29
  332. package/dist/collection/utils/sanitization/index.js +0 -1
  333. package/dist/collection/utils/test/playwright/page/event-spy.js +8 -9
  334. package/dist/collection/utils/test/press-keys.js +1 -4
  335. package/dist/docs.json +1 -1
  336. package/dist/esm/{animation-CGFdmGk9.js → animation-TxGPYeDn.js} +1 -1
  337. package/dist/esm/{app-globals-CYmMeGdU.js → app-globals-Do8rJest.js} +1 -1
  338. package/dist/esm/{button-active-BDOsVAiZ.js → button-active-ChA4D-ml.js} +2 -2
  339. package/dist/esm/{format-Dcwga61t.js → format-CVk5e_GP.js} +2 -2
  340. package/dist/esm/{framework-delegate-BHTU2Ip9.js → framework-delegate-DaLWnISz.js} +1 -1
  341. package/dist/esm/{gesture-controller-TXPDHL13.js → gesture-controller-B_gJaBk0.js} +6 -14
  342. package/dist/esm/{hardware-back-button-gLJHMX_F.js → hardware-back-button-D8W4L0JP.js} +1 -1
  343. package/dist/esm/{helpers-CAGf8Wgp.js → helpers-BIgoInJU.js} +1 -1
  344. package/dist/esm/{index-DcPaH5uL.js → index-BmLuEdV7.js} +1 -1
  345. package/dist/esm/{index-T0JxBI8V.js → index-BmOR8tCv.js} +2 -2
  346. package/dist/esm/{index-CqneaaGd.js → index-C5ZdL0qp.js} +5 -5
  347. package/dist/esm/{index-WlteAIqz.js → index-C8Dsa6li.js} +4 -4
  348. package/dist/esm/{index-ChhhtsGZ.js → index-CKYcsw8f.js} +3 -1
  349. package/dist/esm/{index-Clc-28O1.js → index-DHw2lZxe.js} +2 -2
  350. package/dist/esm/{index-CKM1DdGm.js → index-elneMH8y.js} +1 -2
  351. package/dist/esm/index.js +14 -14
  352. package/dist/esm/{input-shims-B8sfni1e.js → input-shims-09NN97kF.js} +3 -3
  353. package/dist/esm/{input.utils-B1ValN_N.js → input.utils-BxyH9l1w.js} +1 -1
  354. package/dist/esm/ion-accordion_2.entry.js +335 -364
  355. package/dist/esm/ion-action-sheet.entry.js +94 -159
  356. package/dist/esm/ion-alert.entry.js +86 -170
  357. package/dist/esm/ion-app_8.entry.js +163 -258
  358. package/dist/esm/ion-avatar_3.entry.js +2 -8
  359. package/dist/esm/ion-back-button.entry.js +21 -45
  360. package/dist/esm/ion-backdrop.entry.js +14 -18
  361. package/dist/esm/ion-breadcrumb_2.entry.js +117 -195
  362. package/dist/esm/ion-button_2.entry.js +61 -130
  363. package/dist/esm/ion-card_5.entry.js +28 -80
  364. package/dist/esm/ion-checkbox.entry.js +98 -147
  365. package/dist/esm/ion-chip.entry.js +10 -16
  366. package/dist/esm/ion-col_3.entry.js +6 -126
  367. package/dist/esm/ion-datetime-button.entry.js +232 -248
  368. package/dist/esm/ion-datetime.entry.js +775 -953
  369. package/dist/esm/ion-fab_3.entry.js +78 -136
  370. package/dist/esm/ion-img.entry.js +11 -31
  371. package/dist/esm/ion-infinite-scroll_2.entry.js +71 -98
  372. package/dist/esm/ion-input-otp.entry.js +352 -424
  373. package/dist/esm/ion-input-password-toggle.entry.js +14 -29
  374. package/dist/esm/ion-input.entry.js +158 -302
  375. package/dist/esm/ion-item-option_3.entry.js +45 -87
  376. package/dist/esm/ion-item_8.entry.js +61 -157
  377. package/dist/esm/ion-loading.entry.js +60 -133
  378. package/dist/esm/ion-menu_3.entry.js +94 -158
  379. package/dist/esm/ion-modal.entry.js +280 -383
  380. package/dist/esm/ion-nav_2.entry.js +26 -78
  381. package/dist/esm/ion-picker-column-option.entry.js +23 -33
  382. package/dist/esm/ion-picker-column.entry.js +389 -410
  383. package/dist/esm/ion-picker.entry.js +390 -400
  384. package/dist/esm/ion-popover.entry.js +196 -294
  385. package/dist/esm/ion-progress-bar.entry.js +23 -29
  386. package/dist/esm/ion-radio_2.entry.js +128 -201
  387. package/dist/esm/ion-range.entry.js +223 -293
  388. package/dist/esm/ion-refresher_2.entry.js +84 -156
  389. package/dist/esm/ion-reorder_2.entry.js +19 -49
  390. package/dist/esm/ion-ripple-effect.entry.js +13 -13
  391. package/dist/esm/ion-route_4.entry.js +45 -144
  392. package/dist/esm/ion-searchbar.entry.js +182 -268
  393. package/dist/esm/ion-segment-content.entry.js +1 -1
  394. package/dist/esm/ion-segment-view.entry.js +12 -24
  395. package/dist/esm/ion-segment_2.entry.js +111 -154
  396. package/dist/esm/ion-select-modal.entry.js +19 -21
  397. package/dist/esm/ion-select_3.entry.js +151 -319
  398. package/dist/esm/ion-spinner.entry.js +6 -21
  399. package/dist/esm/ion-split-pane.entry.js +14 -27
  400. package/dist/esm/ion-tab-bar_2.entry.js +32 -89
  401. package/dist/esm/ion-tab_2.entry.js +22 -49
  402. package/dist/esm/ion-text.entry.js +2 -8
  403. package/dist/esm/ion-textarea.entry.js +139 -256
  404. package/dist/esm/ion-toast.entry.js +106 -221
  405. package/dist/esm/ion-toggle.entry.js +114 -165
  406. package/dist/esm/{ionic-global-BVB7BrLT.js → ionic-global-lrowsHfi.js} +1 -1
  407. package/dist/esm/ionic.js +5 -5
  408. package/dist/esm/{ios.transition-DXRCmcbC.js → ios.transition-BQhADrk1.js} +4 -4
  409. package/dist/esm/{item-multiple-inputs-rU8VaNNg.js → item-multiple-inputs-D_N3fDkD.js} +1 -1
  410. package/dist/esm/loader.js +5 -5
  411. package/dist/esm/{md.transition-BMngO4i_.js → md.transition-D58NpmRa.js} +4 -4
  412. package/dist/esm/{overlays-CPmIs9Ls.js → overlays-CefdMZgF.js} +58 -36
  413. package/dist/esm/{select-option-render-C4m76VGH.js → select-option-render-lIuu64EV.js} +2 -2
  414. package/dist/esm/{slot-mutation-controller-DiE_C9un.js → slot-mutation-controller-rS_T3FDR.js} +1 -1
  415. package/dist/esm/{status-tap-CHB7KwIb.js → status-tap-CpFQMLl6.js} +3 -3
  416. package/dist/esm/{swipe-back-C9HW1bug.js → swipe-back-rmc7zeNW.js} +4 -4
  417. package/dist/ionic/index.esm.js +1 -1
  418. package/dist/ionic/ionic.esm.js +1 -1
  419. package/dist/ionic/p-0eb50dca.entry.js +4 -0
  420. package/dist/ionic/p-16e9f542.entry.js +4 -0
  421. package/dist/ionic/p-18d532a3.entry.js +4 -0
  422. package/dist/ionic/p-1db2afb4.entry.js +4 -0
  423. package/dist/ionic/p-1df75f9e.entry.js +4 -0
  424. package/dist/ionic/p-295ff427.entry.js +4 -0
  425. package/dist/ionic/p-36abc1ee.entry.js +4 -0
  426. package/dist/ionic/p-39a8d4e0.entry.js +4 -0
  427. package/dist/ionic/p-408973f4.entry.js +4 -0
  428. package/dist/ionic/p-46a938a9.entry.js +4 -0
  429. package/dist/ionic/p-47626333.entry.js +4 -0
  430. package/dist/ionic/p-478035a7.entry.js +4 -0
  431. package/dist/ionic/p-485fb218.entry.js +4 -0
  432. package/dist/ionic/p-56307aea.entry.js +4 -0
  433. package/dist/ionic/p-5ee2d7b1.entry.js +4 -0
  434. package/dist/ionic/p-5f216b79.entry.js +4 -0
  435. package/dist/ionic/p-61c799d1.entry.js +4 -0
  436. package/dist/ionic/p-63bbba8d.entry.js +4 -0
  437. package/dist/ionic/{p-ded69ceb.entry.js → p-6f048604.entry.js} +1 -1
  438. package/dist/ionic/p-70ee8888.entry.js +4 -0
  439. package/dist/ionic/p-72ad7c64.entry.js +4 -0
  440. package/dist/ionic/p-881b6954.entry.js +4 -0
  441. package/dist/ionic/p-8dd4c026.entry.js +4 -0
  442. package/dist/ionic/p-8e007f11.entry.js +4 -0
  443. package/dist/ionic/p-8f464a8f.entry.js +4 -0
  444. package/dist/ionic/p-8f51110d.entry.js +4 -0
  445. package/dist/ionic/p-90ba736e.entry.js +4 -0
  446. package/dist/ionic/p-9455207b.entry.js +4 -0
  447. package/dist/ionic/p-959df5f8.entry.js +4 -0
  448. package/dist/ionic/p-9e455875.entry.js +4 -0
  449. package/dist/ionic/{p-CBR_W98Z.js → p-9wczfs_v.js} +1 -1
  450. package/dist/ionic/p-B1Y7LZhV.js +4 -0
  451. package/dist/ionic/p-B5RyLYvl.js +4 -0
  452. package/dist/ionic/{p-CPcPmkGv.js → p-BQv5i5Kf.js} +1 -1
  453. package/{components/p-8FN7p701.js → dist/ionic/p-BZVE25Gu.js} +1 -1
  454. package/{components/p-DFvZn99E.js → dist/ionic/p-BZxjcGRP.js} +1 -1
  455. package/dist/ionic/p-B_gJaBk0.js +4 -0
  456. package/dist/ionic/p-BnGA34Pd.js +4 -0
  457. package/dist/ionic/p-ByLaqOPm.js +4 -0
  458. package/dist/ionic/p-C06QNN45.js +4 -0
  459. package/dist/ionic/p-C4IBDDj6.js +4 -0
  460. package/dist/ionic/p-CCVlNZ__.js +4 -0
  461. package/dist/ionic/{p-CMRtMbJc.js → p-CDBop-kz.js} +1 -1
  462. package/dist/ionic/p-CKYcsw8f.js +5 -0
  463. package/dist/ionic/p-CazSodad.js +4 -0
  464. package/{components/p-ia3IDdJS.js → dist/ionic/p-ClrlQU2y.js} +1 -1
  465. package/dist/ionic/{p-UIBJkZf8.js → p-D0YpjgON.js} +1 -1
  466. package/dist/ionic/p-D0dfUysx.js +4 -0
  467. package/dist/ionic/{p-BB0LlG4y.js → p-D9yvytgv.js} +1 -1
  468. package/{components/p-C5KYjZWD.js → dist/ionic/p-DF_Uqql8.js} +1 -1
  469. package/dist/ionic/p-DLLCmV-y.js +4 -0
  470. package/dist/ionic/{p-BYEAtHr-.js → p-DXJgZWgi.js} +1 -1
  471. package/dist/ionic/p-De0eY881.js +4 -0
  472. package/dist/ionic/p-DgUL3JbO.js +4 -0
  473. package/dist/ionic/{p-7CBuOvEo.js → p-RzUn7cKs.js} +1 -1
  474. package/dist/ionic/p-VquyMbjp.js +4 -0
  475. package/dist/ionic/p-a0fee899.entry.js +4 -0
  476. package/dist/ionic/p-a2fa2de2.entry.js +4 -0
  477. package/dist/ionic/p-a53b0908.entry.js +4 -0
  478. package/dist/ionic/p-a54bcd16.entry.js +4 -0
  479. package/dist/ionic/p-aebc4d69.entry.js +4 -0
  480. package/dist/ionic/p-b5f37106.entry.js +4 -0
  481. package/dist/ionic/{p-40424a88.entry.js → p-b62bfce8.entry.js} +1 -1
  482. package/dist/ionic/p-b875a59e.entry.js +4 -0
  483. package/dist/ionic/p-bbf6878c.entry.js +4 -0
  484. package/dist/ionic/p-c49165af.entry.js +4 -0
  485. package/dist/ionic/p-cad4eccf.entry.js +4 -0
  486. package/dist/ionic/p-cdc5115e.entry.js +4 -0
  487. package/dist/ionic/p-d3384a40.entry.js +4 -0
  488. package/dist/ionic/p-d8bae128.entry.js +4 -0
  489. package/dist/ionic/p-d8deff43.entry.js +4 -0
  490. package/dist/ionic/p-ddfb7e5f.entry.js +4 -0
  491. package/dist/ionic/p-e538f18d.entry.js +4 -0
  492. package/dist/ionic/p-f376876b.entry.js +4 -0
  493. package/dist/ionic/p-f3b671aa.entry.js +4 -0
  494. package/dist/ionic/p-f521b13c.entry.js +4 -0
  495. package/dist/ionic/p-f8713b2c.entry.js +4 -0
  496. package/dist/ionic/p-fbd83d4c.entry.js +4 -0
  497. package/dist/types/components/action-sheet/action-sheet.d.ts +10 -0
  498. package/dist/types/components/alert/alert.d.ts +7 -0
  499. package/dist/types/components/modal/modal.d.ts +8 -0
  500. package/dist/types/components/refresher/refresher.d.ts +4 -4
  501. package/dist/types/utils/overlays.d.ts +9 -0
  502. package/hydrate/index.js +5621 -8448
  503. package/hydrate/index.mjs +5621 -8448
  504. package/package.json +1 -1
  505. package/components/p--m5cCjbK.js +0 -4
  506. package/components/p-B4uHHhPK.js +0 -4
  507. package/components/p-BNJOu1Q2.js +0 -4
  508. package/components/p-BOvLNVKq.js +0 -4
  509. package/components/p-BeamQXHF.js +0 -4
  510. package/components/p-BjluhQMI.js +0 -4
  511. package/components/p-BlsIikdZ.js +0 -4
  512. package/components/p-BrD9Xv62.js +0 -4
  513. package/components/p-BvJqoZ5R.js +0 -4
  514. package/components/p-Bz6z3Asd.js +0 -4
  515. package/components/p-C6HnVvHO.js +0 -4
  516. package/components/p-C7jvh5Wy.js +0 -4
  517. package/components/p-C9BGR5fy.js +0 -4
  518. package/components/p-CB-y1CdP.js +0 -4
  519. package/components/p-CHH3loEE.js +0 -4
  520. package/components/p-CJKUWjmg.js +0 -4
  521. package/components/p-CMLAwl_N.js +0 -4
  522. package/components/p-CejmQs3h.js +0 -4
  523. package/components/p-CtZqa4HM.js +0 -4
  524. package/components/p-D9qIVSWm.js +0 -4
  525. package/components/p-DE-3iMNW.js +0 -4
  526. package/components/p-DHFt2rdc.js +0 -4
  527. package/components/p-D_RCyzwu.js +0 -4
  528. package/components/p-D_tD8r3L.js +0 -4
  529. package/components/p-DjCtLZbF.js +0 -4
  530. package/components/p-Dmd2xqCe.js +0 -4
  531. package/components/p-G6JR-cr_.js +0 -4
  532. package/components/p-GG5GhznE.js +0 -4
  533. package/components/p-TXPDHL13.js +0 -4
  534. package/components/p-_IKFD3ID.js +0 -4
  535. package/components/p-dKq2jIum.js +0 -4
  536. package/components/p-fruGqVHh.js +0 -4
  537. package/components/p-iYhH60Tc.js +0 -4
  538. package/dist/ionic/p-06ec7136.entry.js +0 -4
  539. package/dist/ionic/p-09fe4fa3.entry.js +0 -4
  540. package/dist/ionic/p-10d45a07.entry.js +0 -4
  541. package/dist/ionic/p-208c8a07.entry.js +0 -4
  542. package/dist/ionic/p-212474fa.entry.js +0 -4
  543. package/dist/ionic/p-2eef1396.entry.js +0 -4
  544. package/dist/ionic/p-347e005d.entry.js +0 -4
  545. package/dist/ionic/p-3b071259.entry.js +0 -4
  546. package/dist/ionic/p-4204184c.entry.js +0 -4
  547. package/dist/ionic/p-47464391.entry.js +0 -4
  548. package/dist/ionic/p-4f9c9126.entry.js +0 -4
  549. package/dist/ionic/p-5JsKPLJD.js +0 -4
  550. package/dist/ionic/p-5bc485c6.entry.js +0 -4
  551. package/dist/ionic/p-603a61e6.entry.js +0 -4
  552. package/dist/ionic/p-60576951.entry.js +0 -4
  553. package/dist/ionic/p-67a81d33.entry.js +0 -4
  554. package/dist/ionic/p-6affb775.entry.js +0 -4
  555. package/dist/ionic/p-6f120c25.entry.js +0 -4
  556. package/dist/ionic/p-71c82b60.entry.js +0 -4
  557. package/dist/ionic/p-79325ffe.entry.js +0 -4
  558. package/dist/ionic/p-7e4d51fa.entry.js +0 -4
  559. package/dist/ionic/p-7f5d4664.entry.js +0 -4
  560. package/dist/ionic/p-80ee82fc.entry.js +0 -4
  561. package/dist/ionic/p-84af7dbc.entry.js +0 -4
  562. package/dist/ionic/p-89ca830a.entry.js +0 -4
  563. package/dist/ionic/p-93b8ec8f.entry.js +0 -4
  564. package/dist/ionic/p-946f65c2.entry.js +0 -4
  565. package/dist/ionic/p-983b6c91.entry.js +0 -4
  566. package/dist/ionic/p-9c4b39fb.entry.js +0 -4
  567. package/dist/ionic/p-B1NEZUzQ.js +0 -4
  568. package/dist/ionic/p-B1ck5iy-.js +0 -4
  569. package/dist/ionic/p-B4FrqdW0.js +0 -4
  570. package/dist/ionic/p-C-94tAim.js +0 -4
  571. package/dist/ionic/p-C-eHZMYE.js +0 -4
  572. package/dist/ionic/p-CaRuIadB.js +0 -4
  573. package/dist/ionic/p-ChhhtsGZ.js +0 -5
  574. package/dist/ionic/p-CzS1qWve.js +0 -4
  575. package/dist/ionic/p-D94_RztK.js +0 -4
  576. package/dist/ionic/p-DjjfauRM.js +0 -4
  577. package/dist/ionic/p-DkUB-ROc.js +0 -4
  578. package/dist/ionic/p-DplOqGUv.js +0 -4
  579. package/dist/ionic/p-Dst_XmZh.js +0 -4
  580. package/dist/ionic/p-TXPDHL13.js +0 -4
  581. package/dist/ionic/p-a438b193.entry.js +0 -4
  582. package/dist/ionic/p-babaaaa7.entry.js +0 -4
  583. package/dist/ionic/p-be08d500.entry.js +0 -4
  584. package/dist/ionic/p-be9a4f51.entry.js +0 -4
  585. package/dist/ionic/p-c00d3092.entry.js +0 -4
  586. package/dist/ionic/p-c36dc8f5.entry.js +0 -4
  587. package/dist/ionic/p-c72a7e17.entry.js +0 -4
  588. package/dist/ionic/p-c8edd88c.entry.js +0 -4
  589. package/dist/ionic/p-ce0e380b.entry.js +0 -4
  590. package/dist/ionic/p-ce32912b.entry.js +0 -4
  591. package/dist/ionic/p-d07cf130.entry.js +0 -4
  592. package/dist/ionic/p-d27edeb3.entry.js +0 -4
  593. package/dist/ionic/p-d5d2c506.entry.js +0 -4
  594. package/dist/ionic/p-d5e31ca9.entry.js +0 -4
  595. package/dist/ionic/p-de91444f.entry.js +0 -4
  596. package/dist/ionic/p-df72866d.entry.js +0 -4
  597. package/dist/ionic/p-e47e3151.entry.js +0 -4
  598. package/dist/ionic/p-e621e5e8.entry.js +0 -4
  599. package/dist/ionic/p-eea9cf93.entry.js +0 -4
  600. package/dist/ionic/p-f402f5a4.entry.js +0 -4
  601. package/dist/ionic/p-fe1bfbcf.entry.js +0 -4
  602. package/dist/ionic/p-ffb90460.entry.js +0 -4
@@ -8,7 +8,7 @@ import { raf } from "../../utils/helpers";
8
8
  import { createLockController } from "../../utils/lock-controller";
9
9
  import { printIonWarning } from "../../utils/logging/index";
10
10
  import { getOverlayLabelJustify, getOverlayLabelPlacement } from "../../utils/overlay-control-label";
11
- import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
11
+ import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, restoreRootFocusTrapAccessibility, safeCall, setOverlayId, } from "../../utils/overlays";
12
12
  import { sanitizeDOMString } from "../../utils/sanitization/index";
13
13
  import { renderOptionLabel } from "../../utils/select-option-render";
14
14
  import { getClassMap } from "../../utils/theme";
@@ -23,102 +23,62 @@ import { mdLeaveAnimation } from "./animations/md.leave";
23
23
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
24
24
  */
25
25
  export class Alert {
26
- delegateController = createDelegateController(this);
27
- lockController = createLockController();
28
- triggerController = createTriggerController();
29
- customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
30
- activeId;
31
- inputType;
32
- processedInputs = [];
33
- processedButtons = [];
34
- wrapperEl;
35
- buttonGroupEl;
36
- buttonGroupResizeObserver;
37
- gesture;
38
- isButtonGroupWrapped = false;
39
- presented = false;
40
- lastFocus;
41
- el;
42
- /** @internal */
43
- overlayIndex;
44
- /** @internal */
45
- delegate;
46
- /** @internal */
47
- hasController = false;
48
- /**
49
- * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
50
- */
51
- keyboardClose = true;
52
- /**
53
- * Animation to use when the alert is presented.
54
- */
55
- enterAnimation;
56
- /**
57
- * Animation to use when the alert is dismissed.
58
- */
59
- leaveAnimation;
60
- /**
61
- * Additional classes to apply for custom CSS. If multiple classes are
62
- * provided they should be separated by spaces.
63
- */
64
- cssClass;
65
- /**
66
- * The main title in the heading of the alert.
67
- */
68
- header;
69
- /**
70
- * The subtitle in the heading of the alert. Displayed under the title.
71
- */
72
- subHeader;
73
- /**
74
- * The main message to be displayed in the alert.
75
- * `message` can accept either plaintext or HTML as a string.
76
- * To display characters normally reserved for HTML, they
77
- * must be escaped. For example `<Ionic>` would become
78
- * `&lt;Ionic&gt;`
79
- *
80
- * For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
81
- *
82
- * This property accepts custom HTML as a string.
83
- * Content is parsed as plaintext by default.
84
- * `innerHTMLTemplatesEnabled` must be set to `true` in the Ionic config
85
- * before custom HTML can be used.
86
- */
87
- message;
88
- /**
89
- * Array of buttons to be added to the alert.
90
- */
91
- buttons = [];
92
- /**
93
- * Array of input to show in the alert.
94
- */
95
- inputs = [];
96
- /**
97
- * If `true`, the alert will be dismissed when the backdrop is clicked.
98
- */
99
- backdropDismiss = true;
100
- /**
101
- * If `true`, the alert will be translucent.
102
- * Only applies when the mode is `"ios"` and the device supports
103
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
104
- */
105
- translucent = false;
106
- /**
107
- * If `true`, the alert will animate.
108
- */
109
- animated = true;
110
- /**
111
- * Additional attributes to pass to the alert.
112
- */
113
- htmlAttributes;
114
- /**
115
- * If `true`, the alert will open. If `false`, the alert will close.
116
- * Use this if you need finer grained control over presentation, otherwise
117
- * just use the alertController or the `trigger` property.
118
- * Note: `isOpen` will not automatically be set back to `false` when
119
- * the alert dismisses. You will need to do that in your code.
120
- */
121
- isOpen = false;
26
+ constructor() {
27
+ this.delegateController = createDelegateController(this);
28
+ this.lockController = createLockController();
29
+ this.triggerController = createTriggerController();
30
+ this.customHTMLEnabled = config.get('innerHTMLTemplatesEnabled', ENABLE_HTML_CONTENT_DEFAULT);
31
+ this.processedInputs = [];
32
+ this.processedButtons = [];
33
+ this.isButtonGroupWrapped = false;
34
+ this.presented = false;
35
+ /** @internal */
36
+ this.hasController = false;
37
+ /**
38
+ * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
39
+ */
40
+ this.keyboardClose = true;
41
+ /**
42
+ * Array of buttons to be added to the alert.
43
+ */
44
+ this.buttons = [];
45
+ /**
46
+ * Array of input to show in the alert.
47
+ */
48
+ this.inputs = [];
49
+ /**
50
+ * If `true`, the alert will be dismissed when the backdrop is clicked.
51
+ */
52
+ this.backdropDismiss = true;
53
+ /**
54
+ * If `true`, the alert will be translucent.
55
+ * Only applies when the mode is `"ios"` and the device supports
56
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
57
+ */
58
+ this.translucent = false;
59
+ /**
60
+ * If `true`, the alert will animate.
61
+ */
62
+ this.animated = true;
63
+ /**
64
+ * If `true`, the alert will open. If `false`, the alert will close.
65
+ * Use this if you need finer grained control over presentation, otherwise
66
+ * just use the alertController or the `trigger` property.
67
+ * Note: `isOpen` will not automatically be set back to `false` when
68
+ * the alert dismisses. You will need to do that in your code.
69
+ */
70
+ this.isOpen = false;
71
+ this.onBackdropTap = () => {
72
+ this.dismiss(undefined, BACKDROP);
73
+ };
74
+ this.dispatchCancelHandler = (ev) => {
75
+ const role = ev.detail.role;
76
+ if (isCancel(role)) {
77
+ const cancelButton = this.processedButtons.find((b) => b.role === 'cancel');
78
+ this.callButtonHandler(cancelButton);
79
+ }
80
+ };
81
+ }
122
82
  onIsOpenChange(newValue, oldValue) {
123
83
  if (newValue === true && oldValue === false) {
124
84
  this.present();
@@ -127,53 +87,12 @@ export class Alert {
127
87
  this.dismiss();
128
88
  }
129
89
  }
130
- /**
131
- * An ID corresponding to the trigger element that
132
- * causes the alert to open when clicked.
133
- */
134
- trigger;
135
90
  triggerChanged() {
136
91
  const { trigger, el, triggerController } = this;
137
92
  if (trigger) {
138
93
  triggerController.addClickListener(el, trigger);
139
94
  }
140
95
  }
141
- /**
142
- * Emitted after the alert has presented.
143
- */
144
- didPresent;
145
- /**
146
- * Emitted before the alert has presented.
147
- */
148
- willPresent;
149
- /**
150
- * Emitted before the alert has dismissed.
151
- */
152
- willDismiss;
153
- /**
154
- * Emitted after the alert has dismissed.
155
- */
156
- didDismiss;
157
- /**
158
- * Emitted after the alert has presented.
159
- * Shorthand for ionAlertWillDismiss.
160
- */
161
- didPresentShorthand;
162
- /**
163
- * Emitted before the alert has presented.
164
- * Shorthand for ionAlertWillPresent.
165
- */
166
- willPresentShorthand;
167
- /**
168
- * Emitted before the alert has dismissed.
169
- * Shorthand for ionAlertWillDismiss.
170
- */
171
- willDismissShorthand;
172
- /**
173
- * Emitted after the alert has dismissed.
174
- * Shorthand for ionAlertDidDismiss.
175
- */
176
- didDismissShorthand;
177
96
  onKeydown(ev) {
178
97
  const inputTypes = new Set(this.processedInputs.map((i) => i.type));
179
98
  /**
@@ -279,10 +198,15 @@ export class Alert {
279
198
  this.triggerChanged();
280
199
  /**
281
200
  * If the alert was previously connected and is being reattached, the
282
- * ResizeObserver was disconnected. componentDidLoad only fires once per
283
- * instance, so re-establish the observer here on reconnect.
201
+ * `ResizeObserver` and the button gesture were torn down. `componentDidLoad`
202
+ * only fires once per instance, so re-establish both here on reconnect.
284
203
  */
285
204
  this.setupButtonGroupResizeObserver();
205
+ this.setupButtonActiveGesture();
206
+ // Re-apply the root lock if moved without dismiss() being called
207
+ if (this.presented) {
208
+ restoreRootFocusTrapAccessibility(this.el);
209
+ }
286
210
  }
287
211
  componentWillLoad() {
288
212
  if (!this.htmlAttributes?.id) {
@@ -304,17 +228,20 @@ export class Alert {
304
228
  this.buttonGroupResizeObserver?.disconnect();
305
229
  this.buttonGroupResizeObserver = undefined;
306
230
  }
307
- componentDidLoad() {
308
- /**
309
- * Only create gesture if:
310
- * 1. A gesture does not already exist
311
- * 2. App is running in iOS mode
312
- * 3. A wrapper ref exists
313
- */
231
+ /**
232
+ * Only create gesture if:
233
+ * 1. A gesture does not already exist
234
+ * 2. App is running in iOS mode
235
+ * 3. A wrapper ref exists
236
+ */
237
+ setupButtonActiveGesture() {
314
238
  if (!this.gesture && getIonMode(this) === 'ios' && this.wrapperEl) {
315
239
  this.gesture = createButtonActiveGesture(this.wrapperEl, (refEl) => refEl.classList.contains('alert-button'));
316
240
  this.gesture.enable(true);
317
241
  }
242
+ }
243
+ componentDidLoad() {
244
+ this.setupButtonActiveGesture();
318
245
  this.setupButtonGroupResizeObserver();
319
246
  /**
320
247
  * If alert was rendered with isOpen="true"
@@ -564,16 +491,6 @@ export class Alert {
564
491
  }
565
492
  })));
566
493
  }
567
- onBackdropTap = () => {
568
- this.dismiss(undefined, BACKDROP);
569
- };
570
- dispatchCancelHandler = (ev) => {
571
- const role = ev.detail.role;
572
- if (isCancel(role)) {
573
- const cancelButton = this.processedButtons.find((b) => b.role === 'cancel');
574
- this.callButtonHandler(cancelButton);
575
- }
576
- };
577
494
  setupButtonGroupResizeObserver() {
578
495
  /**
579
496
  * Re-evaluate vertical layout when the button group resizes so a 2-button
@@ -647,14 +564,14 @@ export class Alert {
647
564
  * If neither are defined, do not set aria-labelledby.
648
565
  */
649
566
  const ariaLabelledBy = header && subHeader ? `${hdrId} ${subHdrId}` : header ? hdrId : subHeader ? subHdrId : null;
650
- return (h(Host, { key: '022f3463b8e6c52064b90ec304c524847c3d5ad3', tabindex: "-1", style: {
567
+ return (h(Host, { key: '083b5250dc4c76e85240e0225abcb7ca2b66de2f', tabindex: "-1", style: {
651
568
  zIndex: `${20000 + overlayIndex}`,
652
569
  }, class: {
653
570
  ...getClassMap(this.cssClass),
654
571
  [mode]: true,
655
572
  'overlay-hidden': true,
656
573
  'alert-translucent': this.translucent,
657
- }, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: 'c3cd05738bc2834f54707edeb2fae06ec10d6fd2', tappable: this.backdropDismiss }), h("div", { key: 'b44fadd9ba7ddf073854c5035538d11ae8e66bc2', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'fafea048141a6c7957e62aef31faa8041dd610c1', 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: '3ad9d2d4b7cf425eab8293ddc12eff0fe8df1517', class: "alert-head" }, header && (h("h2", { key: '7d9154f5ee595b7e4da6ecf3a20871f104c1256e', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: '1f891f38004be6964e9406b84dd580145c42516a', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: '2ab4d344ecb7e384e8f6d3d3e59ee5a1bbcc832c', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '78a4ff09aa3aaafcd0dc2a42d036767d83b3cfa2', tabindex: "0", "aria-hidden": "true" })));
574
+ }, onIonAlertWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '65c92a956d998ae9016396dd2a29c42ab7376d0e', tappable: this.backdropDismiss }), h("div", { key: 'f2288fa0b7ef9d0bf031c168fe78c48422cf91c8', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'dbb109435c378f77c6b0231e58756f8a0467732d', 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: '075597f94719673cf1f894a8566e1036849afa75', class: "alert-head" }, header && (h("h2", { key: 'f96f4b1db8473c62040beed6e96108c733978d73', id: hdrId, class: "alert-title" }, header)), subHeader && !header && (h("h2", { key: 'dbd824ef19a07bddde4eb928f11de7c7cadf98b8', id: subHdrId, class: "alert-sub-title" }, subHeader)), subHeader && header && (h("h3", { key: '4774fa13700dd23aec7930492acae80de3bdf5d1', id: subHdrId, class: "alert-sub-title" }, subHeader))), this.renderAlertMessage(msgId), this.renderAlertInputs(), this.renderAlertButtons()), h("div", { key: '5c728b7457e231f64294bbec821bdb547c6437dd', tabindex: "0", "aria-hidden": "true" })));
658
575
  }
659
576
  static get is() { return "ion-alert"; }
660
577
  static get encapsulation() { return "scoped"; }
@@ -8,9 +8,6 @@ import { isPlatform } from "../../utils/platform";
8
8
  import { config } from "../../global/config";
9
9
  import { getIonMode } from "../../global/ionic-global";
10
10
  export class App {
11
- focusVisible;
12
- loadTimeout;
13
- el;
14
11
  componentDidLoad() {
15
12
  if (Build.isBrowser) {
16
13
  this.rIC(async () => {
@@ -15,40 +15,25 @@ import { getIonMode } from "../../global/ionic-global";
15
15
  * @part text - The back button text.
16
16
  */
17
17
  export class BackButton {
18
- inheritedAttributes = {};
19
- el;
20
- /**
21
- * The color to use from your application's color palette.
22
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
23
- * For more information on colors, see [theming](/docs/theming/basics).
24
- */
25
- color;
26
- /**
27
- * The url to navigate back to by default when there is no history.
28
- */
29
- defaultHref;
30
- /**
31
- * If `true`, the user cannot interact with the button.
32
- */
33
- disabled = false;
34
- /**
35
- * The built-in named SVG icon name or the exact `src` of an SVG file
36
- * to use for the back button.
37
- */
38
- icon;
39
- /**
40
- * The text to display in the back button.
41
- */
42
- text;
43
- /**
44
- * The type of the button.
45
- */
46
- type = 'button';
47
- /**
48
- * When using a router, it specifies the transition animation when navigating to
49
- * another page.
50
- */
51
- routerAnimation;
18
+ constructor() {
19
+ this.inheritedAttributes = {};
20
+ /**
21
+ * If `true`, the user cannot interact with the button.
22
+ */
23
+ this.disabled = false;
24
+ /**
25
+ * The type of the button.
26
+ */
27
+ this.type = 'button';
28
+ this.onClick = async (ev) => {
29
+ const nav = this.el.closest('ion-nav');
30
+ ev.preventDefault();
31
+ if (nav && (await nav.canGoBack())) {
32
+ return nav.pop({ animationBuilder: this.routerAnimation, skipIfBusy: true });
33
+ }
34
+ return openURL(this.defaultHref, ev, 'back', this.routerAnimation);
35
+ };
36
+ }
52
37
  componentWillLoad() {
53
38
  this.inheritedAttributes = inheritAriaAttributes(this.el);
54
39
  if (this.defaultHref === undefined) {
@@ -83,14 +68,6 @@ export class BackButton {
83
68
  }
84
69
  return 'bounded';
85
70
  }
86
- onClick = async (ev) => {
87
- const nav = this.el.closest('ion-nav');
88
- ev.preventDefault();
89
- if (nav && (await nav.canGoBack())) {
90
- return nav.pop({ animationBuilder: this.routerAnimation, skipIfBusy: true });
91
- }
92
- return openURL(this.defaultHref, ev, 'back', this.routerAnimation);
93
- };
94
71
  render() {
95
72
  const { color, defaultHref, disabled, type, hasIconOnly, backButtonIcon, backButtonText, icon, inheritedAttributes, } = this;
96
73
  const showBackButton = defaultHref !== undefined;
@@ -4,22 +4,20 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  import { getIonMode } from "../../global/ionic-global";
6
6
  export class Backdrop {
7
- /**
8
- * If `true`, the backdrop will be visible.
9
- */
10
- visible = true;
11
- /**
12
- * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
13
- */
14
- tappable = true;
15
- /**
16
- * If `true`, the backdrop will stop propagation on tap.
17
- */
18
- stopPropagation = true;
19
- /**
20
- * Emitted when the backdrop is tapped.
21
- */
22
- ionBackdropTap;
7
+ constructor() {
8
+ /**
9
+ * If `true`, the backdrop will be visible.
10
+ */
11
+ this.visible = true;
12
+ /**
13
+ * If `true`, the backdrop will can be clicked and will emit the `ionBackdropTap` event.
14
+ */
15
+ this.tappable = true;
16
+ /**
17
+ * If `true`, the backdrop will stop propagation on tap.
18
+ */
19
+ this.stopPropagation = true;
20
+ }
23
21
  onMouseDown(ev) {
24
22
  this.emitTap(ev);
25
23
  }
@@ -8,12 +8,6 @@ import { getIonMode } from "../../global/ionic-global";
8
8
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
9
9
  */
10
10
  export class Badge {
11
- /**
12
- * The color to use from your application's color palette.
13
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
14
- * For more information on colors, see [theming](/docs/theming/basics).
15
- */
16
- color;
17
11
  render() {
18
12
  const mode = getIonMode(this);
19
13
  return (h(Host, { key: '1a2d39c5deec771a2f2196447627b62a7d4c8389', class: createColorClasses(this.color, {
@@ -14,102 +14,41 @@ import { getIonMode } from "../../global/ionic-global";
14
14
  * @part collapsed-indicator - The indicator element that shows the breadcrumbs are collapsed.
15
15
  */
16
16
  export class Breadcrumb {
17
- inheritedAttributes = {};
18
- collapsedRef;
19
- /** @internal */
20
- collapsed = false;
21
- /** @internal */
22
- last;
23
- /** @internal */
24
- showCollapsedIndicator;
25
- el;
26
- /**
27
- * The color to use from your application's color palette.
28
- * Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
29
- * For more information on colors, see [theming](/docs/theming/basics).
30
- */
31
- color;
32
- /**
33
- * If `true`, the breadcrumb will take on a different look to show that
34
- * it is the currently active breadcrumb. Defaults to `true` for the
35
- * last breadcrumb if it is not set on any.
36
- */
37
- active = false;
38
- /**
39
- * If `true`, the user cannot interact with the breadcrumb.
40
- */
41
- disabled = false;
42
- /**
43
- * This attribute instructs browsers to download a URL instead of navigating to
44
- * it, so the user will be prompted to save it as a local file. If the attribute
45
- * has a value, it is used as the pre-filled file name in the Save prompt
46
- * (the user can still change the file name if they want).
47
- */
48
- download;
49
- /**
50
- * Contains a URL or a URL fragment that the hyperlink points to.
51
- * If this property is set, an anchor tag will be rendered.
52
- */
53
- href;
54
- /**
55
- * Specifies the relationship of the target object to the link object.
56
- * The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).
57
- */
58
- rel;
59
- /**
60
- * If true, show a separator between this breadcrumb and the next.
61
- * Defaults to `true` for all breadcrumbs except the last.
62
- */
63
- separator;
64
- /**
65
- * Specifies where to display the linked URL.
66
- * Only applies when an `href` is provided.
67
- * Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
68
- */
69
- target;
70
- /**
71
- * When using a router, it specifies the transition direction when navigating to
72
- * another page using `href`.
73
- */
74
- routerDirection = 'forward';
75
- /**
76
- * When using a router, it specifies the transition animation when navigating to
77
- * another page using `href`.
78
- */
79
- routerAnimation;
80
- /**
81
- * Emitted when the breadcrumb has focus.
82
- */
83
- ionFocus;
84
- /**
85
- * Emitted when the breadcrumb loses focus.
86
- */
87
- ionBlur;
88
- /**
89
- * Emitted when the collapsed indicator is clicked on.
90
- * `ion-breadcrumbs` will listen for this and emit ionCollapsedClick.
91
- * Normally we could just emit this as `ionCollapsedClick`
92
- * and let the event bubble to `ion-breadcrumbs`,
93
- * but if the event custom event is not set on `ion-breadcrumbs`,
94
- * TypeScript will throw an error in user applications.
95
- * @internal
96
- */
97
- collapsedClick;
17
+ constructor() {
18
+ this.inheritedAttributes = {};
19
+ /** @internal */
20
+ this.collapsed = false;
21
+ /**
22
+ * If `true`, the breadcrumb will take on a different look to show that
23
+ * it is the currently active breadcrumb. Defaults to `true` for the
24
+ * last breadcrumb if it is not set on any.
25
+ */
26
+ this.active = false;
27
+ /**
28
+ * If `true`, the user cannot interact with the breadcrumb.
29
+ */
30
+ this.disabled = false;
31
+ /**
32
+ * When using a router, it specifies the transition direction when navigating to
33
+ * another page using `href`.
34
+ */
35
+ this.routerDirection = 'forward';
36
+ this.onFocus = () => {
37
+ this.ionFocus.emit();
38
+ };
39
+ this.onBlur = () => {
40
+ this.ionBlur.emit();
41
+ };
42
+ this.collapsedIndicatorClick = () => {
43
+ this.collapsedClick.emit({ ionShadowTarget: this.collapsedRef });
44
+ };
45
+ }
98
46
  componentWillLoad() {
99
47
  this.inheritedAttributes = inheritAriaAttributes(this.el);
100
48
  }
101
49
  isClickable() {
102
50
  return this.href !== undefined;
103
51
  }
104
- onFocus = () => {
105
- this.ionFocus.emit();
106
- };
107
- onBlur = () => {
108
- this.ionBlur.emit();
109
- };
110
- collapsedIndicatorClick = () => {
111
- this.collapsedClick.emit({ ionShadowTarget: this.collapsedRef });
112
- };
113
52
  render() {
114
53
  const { color, active, collapsed, disabled, download, el, inheritedAttributes, last, routerAnimation, routerDirection, separator, showCollapsedIndicator, target, } = this;
115
54
  const clickable = this.isClickable();