@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,52 +8,29 @@ 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 AccordionGroup {
11
- el;
12
- /**
13
- * If `true`, all accordions inside of the
14
- * accordion group will animate when expanding
15
- * or collapsing.
16
- */
17
- animated = true;
18
- /**
19
- * If `true`, the accordion group can have multiple
20
- * accordion components expanded at the same time.
21
- */
22
- multiple;
23
- /**
24
- * The value of the accordion group. This controls which
25
- * accordions are expanded.
26
- * This should be an array of strings only when `multiple="true"`
27
- */
28
- value;
29
- /**
30
- * If `true`, the accordion group cannot be interacted with.
31
- */
32
- disabled = false;
33
- /**
34
- * If `true`, the accordion group cannot be interacted with,
35
- * but does not alter the opacity.
36
- */
37
- readonly = false;
38
- /**
39
- * Describes the expansion behavior for each accordion.
40
- * Possible values are `"compact"` and `"inset"`.
41
- * Defaults to `"compact"`.
42
- */
43
- expand = 'compact';
44
- /**
45
- * Emitted when the value property has changed as a result of a user action such as a click.
46
- *
47
- * This event will not emit when programmatically setting the `value` property.
48
- */
49
- ionChange;
50
- /**
51
- * Emitted when the value property has changed.
52
- * This is used to ensure that ion-accordion can respond
53
- * to any value property changes.
54
- * @internal
55
- */
56
- ionValueChange;
11
+ constructor() {
12
+ /**
13
+ * If `true`, all accordions inside of the
14
+ * accordion group will animate when expanding
15
+ * or collapsing.
16
+ */
17
+ this.animated = true;
18
+ /**
19
+ * If `true`, the accordion group cannot be interacted with.
20
+ */
21
+ this.disabled = false;
22
+ /**
23
+ * If `true`, the accordion group cannot be interacted with,
24
+ * but does not alter the opacity.
25
+ */
26
+ this.readonly = false;
27
+ /**
28
+ * Describes the expansion behavior for each accordion.
29
+ * Possible values are `"compact"` and `"inset"`.
30
+ * Defaults to `"compact"`.
31
+ */
32
+ this.expand = 'compact';
33
+ }
57
34
  valueChanged() {
58
35
  const { value, multiple } = this;
59
36
  if (!multiple && Array.isArray(value)) {
@@ -5,7 +5,7 @@ import { Host, h, readTask } from "@stencil/core";
5
5
  import { createButtonActiveGesture } from "../../utils/gesture/button-active";
6
6
  import { raf } from "../../utils/helpers";
7
7
  import { createLockController } from "../../utils/lock-controller";
8
- import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
8
+ import { BACKDROP, cleanupRootFocusTrapAccessibility, createDelegateController, createTriggerController, dismiss, eventMethod, isCancel, prepareOverlay, present, restoreRootFocusTrapAccessibility, safeCall, setOverlayId, } from "../../utils/overlays";
9
9
  import { renderOptionLabel } from "../../utils/select-option-render";
10
10
  import { getClassMap } from "../../utils/theme";
11
11
  import { getIonMode } from "../../global/ionic-global";
@@ -17,44 +17,55 @@ import { mdLeaveAnimation } from "./animations/md.leave";
17
17
  * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
18
18
  */
19
19
  export class ActionSheet {
20
- delegateController = createDelegateController(this);
21
- lockController = createLockController();
22
- triggerController = createTriggerController();
23
- wrapperEl;
24
- groupEl;
25
- gesture;
26
- hasRadioButtons = false;
27
- presented = false;
28
- lastFocus;
29
- animation;
30
- /**
31
- * The ID of the currently active/selected radio button.
32
- * Used for keyboard navigation and ARIA attributes.
33
- */
34
- activeRadioId;
35
- el;
36
- /** @internal */
37
- overlayIndex;
38
- /** @internal */
39
- delegate;
40
- /** @internal */
41
- hasController = false;
42
- /**
43
- * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
44
- */
45
- keyboardClose = true;
46
- /**
47
- * Animation to use when the action sheet is presented.
48
- */
49
- enterAnimation;
50
- /**
51
- * Animation to use when the action sheet is dismissed.
52
- */
53
- leaveAnimation;
54
- /**
55
- * An array of buttons for the action sheet.
56
- */
57
- buttons = [];
20
+ constructor() {
21
+ this.delegateController = createDelegateController(this);
22
+ this.lockController = createLockController();
23
+ this.triggerController = createTriggerController();
24
+ this.hasRadioButtons = false;
25
+ this.presented = false;
26
+ /** @internal */
27
+ this.hasController = false;
28
+ /**
29
+ * If `true`, the keyboard will be automatically dismissed when the overlay is presented.
30
+ */
31
+ this.keyboardClose = true;
32
+ /**
33
+ * An array of buttons for the action sheet.
34
+ */
35
+ this.buttons = [];
36
+ /**
37
+ * If `true`, the action sheet will be dismissed when the backdrop is clicked.
38
+ */
39
+ this.backdropDismiss = true;
40
+ /**
41
+ * If `true`, the action sheet will be translucent.
42
+ * Only applies when the mode is `"ios"` and the device supports
43
+ * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
44
+ */
45
+ this.translucent = false;
46
+ /**
47
+ * If `true`, the action sheet will animate.
48
+ */
49
+ this.animated = true;
50
+ /**
51
+ * If `true`, the action sheet will open. If `false`, the action sheet will close.
52
+ * Use this if you need finer grained control over presentation, otherwise
53
+ * just use the actionSheetController or the `trigger` property.
54
+ * Note: `isOpen` will not automatically be set back to `false` when
55
+ * the action sheet dismisses. You will need to do that in your code.
56
+ */
57
+ this.isOpen = false;
58
+ this.onBackdropTap = () => {
59
+ this.dismiss(undefined, BACKDROP);
60
+ };
61
+ this.dispatchCancelHandler = (ev) => {
62
+ const role = ev.detail.role;
63
+ if (isCancel(role)) {
64
+ const cancelButton = this.getButtons().find((b) => b.role === 'cancel');
65
+ this.callButtonHandler(cancelButton);
66
+ }
67
+ };
68
+ }
58
69
  buttonsChanged() {
59
70
  const radioButtons = this.getRadioButtons();
60
71
  this.hasRadioButtons = radioButtons.length > 0;
@@ -68,45 +79,6 @@ export class ActionSheet {
68
79
  }
69
80
  }
70
81
  }
71
- /**
72
- * Additional classes to apply for custom CSS. If multiple classes are
73
- * provided they should be separated by spaces.
74
- */
75
- cssClass;
76
- /**
77
- * If `true`, the action sheet will be dismissed when the backdrop is clicked.
78
- */
79
- backdropDismiss = true;
80
- /**
81
- * Title for the action sheet.
82
- */
83
- header;
84
- /**
85
- * Subtitle for the action sheet.
86
- */
87
- subHeader;
88
- /**
89
- * If `true`, the action sheet will be translucent.
90
- * Only applies when the mode is `"ios"` and the device supports
91
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
92
- */
93
- translucent = false;
94
- /**
95
- * If `true`, the action sheet will animate.
96
- */
97
- animated = true;
98
- /**
99
- * Additional attributes to pass to the action sheet.
100
- */
101
- htmlAttributes;
102
- /**
103
- * If `true`, the action sheet will open. If `false`, the action sheet will close.
104
- * Use this if you need finer grained control over presentation, otherwise
105
- * just use the actionSheetController or the `trigger` property.
106
- * Note: `isOpen` will not automatically be set back to `false` when
107
- * the action sheet dismisses. You will need to do that in your code.
108
- */
109
- isOpen = false;
110
82
  onIsOpenChange(newValue, oldValue) {
111
83
  if (newValue === true && oldValue === false) {
112
84
  this.present();
@@ -115,53 +87,12 @@ export class ActionSheet {
115
87
  this.dismiss();
116
88
  }
117
89
  }
118
- /**
119
- * An ID corresponding to the trigger element that
120
- * causes the action sheet to open when clicked.
121
- */
122
- trigger;
123
90
  triggerChanged() {
124
91
  const { trigger, el, triggerController } = this;
125
92
  if (trigger) {
126
93
  triggerController.addClickListener(el, trigger);
127
94
  }
128
95
  }
129
- /**
130
- * Emitted after the action sheet has presented.
131
- */
132
- didPresent;
133
- /**
134
- * Emitted before the action sheet has presented.
135
- */
136
- willPresent;
137
- /**
138
- * Emitted before the action sheet has dismissed.
139
- */
140
- willDismiss;
141
- /**
142
- * Emitted after the action sheet has dismissed.
143
- */
144
- didDismiss;
145
- /**
146
- * Emitted after the action sheet has presented.
147
- * Shorthand for ionActionSheetWillDismiss.
148
- */
149
- didPresentShorthand;
150
- /**
151
- * Emitted before the action sheet has presented.
152
- * Shorthand for ionActionSheetWillPresent.
153
- */
154
- willPresentShorthand;
155
- /**
156
- * Emitted before the action sheet has dismissed.
157
- * Shorthand for ionActionSheetWillDismiss.
158
- */
159
- willDismissShorthand;
160
- /**
161
- * Emitted after the action sheet has dismissed.
162
- * Shorthand for ionActionSheetDidDismiss.
163
- */
164
- didDismissShorthand;
165
96
  /**
166
97
  * Present the action sheet overlay after it has been created.
167
98
  */
@@ -270,16 +201,6 @@ export class ActionSheet {
270
201
  const buttonIndex = index !== undefined ? index : allButtons.indexOf(button);
271
202
  return `action-sheet-button-${this.overlayIndex}-${buttonIndex}`;
272
203
  }
273
- onBackdropTap = () => {
274
- this.dismiss(undefined, BACKDROP);
275
- };
276
- dispatchCancelHandler = (ev) => {
277
- const role = ev.detail.role;
278
- if (isCancel(role)) {
279
- const cancelButton = this.getButtons().find((b) => b.role === 'cancel');
280
- this.callButtonHandler(cancelButton);
281
- }
282
- };
283
204
  /**
284
205
  * When the action sheet has radio buttons, we want to follow the
285
206
  * keyboard navigation pattern for radio groups:
@@ -356,6 +277,13 @@ export class ActionSheet {
356
277
  connectedCallback() {
357
278
  prepareOverlay(this.el);
358
279
  this.triggerChanged();
280
+ // `componentDidLoad` only fires once per instance, so a reconnect has to
281
+ // rebuild the gesture its disconnect destroyed.
282
+ this.setupButtonActiveGesture();
283
+ // Re-apply the root lock if moved without dismiss() being called
284
+ if (this.presented) {
285
+ restoreRootFocusTrapAccessibility(this.el);
286
+ }
359
287
  }
360
288
  disconnectedCallback() {
361
289
  if (this.gesture) {
@@ -375,24 +303,32 @@ export class ActionSheet {
375
303
  // Initialize activeRadioId for radio buttons
376
304
  this.buttonsChanged();
377
305
  }
378
- componentDidLoad() {
379
- /**
380
- * Only create gesture if:
381
- * 1. A gesture does not already exist
382
- * 2. App is running in iOS mode
383
- * 3. A wrapper ref exists
384
- * 4. A group ref exists
385
- */
306
+ /**
307
+ * Only create gesture if:
308
+ * 1. A gesture does not already exist
309
+ * 2. App is running in iOS mode
310
+ * 3. A wrapper ref exists
311
+ * 4. A group ref exists
312
+ * 5. The host is still connected, since a reconnect can schedule this and
313
+ * disconnect again before the task runs
314
+ */
315
+ setupButtonActiveGesture() {
386
316
  const { groupEl, wrapperEl } = this;
387
- if (!this.gesture && getIonMode(this) === 'ios' && wrapperEl && groupEl) {
388
- readTask(() => {
389
- const isScrollable = groupEl.scrollHeight > groupEl.clientHeight;
390
- if (!isScrollable) {
391
- this.gesture = createButtonActiveGesture(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button'));
392
- this.gesture.enable(true);
393
- }
394
- });
317
+ if (getIonMode(this) !== 'ios' || !wrapperEl || !groupEl) {
318
+ return;
395
319
  }
320
+ readTask(() => {
321
+ // Two calls before the first flushes would otherwise both create a
322
+ // gesture, orphaning the first with its listeners still bound.
323
+ if (this.gesture || !this.el.isConnected || groupEl.scrollHeight > groupEl.clientHeight) {
324
+ return;
325
+ }
326
+ this.gesture = createButtonActiveGesture(wrapperEl, (refEl) => refEl.classList.contains('action-sheet-button'));
327
+ this.gesture.enable(true);
328
+ });
329
+ }
330
+ componentDidLoad() {
331
+ this.setupButtonActiveGesture();
396
332
  /**
397
333
  * If action sheet was rendered with isOpen="true"
398
334
  * then we should open action sheet immediately.
@@ -485,17 +421,17 @@ export class ActionSheet {
485
421
  const cancelButton = allButtons.find((b) => b.role === 'cancel');
486
422
  const buttons = allButtons.filter((b) => b.role !== 'cancel');
487
423
  const headerID = `action-sheet-${overlayIndex}-header`;
488
- return (h(Host, { key: '7685831da9a78b73473246a2cea95cefa79a53c3', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1", ...htmlAttributes, style: {
424
+ return (h(Host, { key: '326d4af08e832e10e1882fbbf67dba3221095865', role: "dialog", "aria-modal": "true", "aria-labelledby": header !== undefined ? headerID : null, tabindex: "-1", ...htmlAttributes, style: {
489
425
  zIndex: `${20000 + this.overlayIndex}`,
490
426
  }, class: {
491
427
  [mode]: true,
492
428
  ...getClassMap(this.cssClass),
493
429
  'overlay-hidden': true,
494
430
  'action-sheet-translucent': this.translucent,
495
- }, onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: 'c70f00e401cac99b89412d1adb867f35bc855d57', tappable: this.backdropDismiss }), h("div", { key: '3332893ce3098f1435875480b1269b2821d41660', tabindex: "0", "aria-hidden": "true" }), h("div", { key: 'eb406b0a9e303d6f94c5c7aa99c6f4c089bfbd41', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '92ec855379f10e1e0bfce6ff68b45d3cda0c137c', class: "action-sheet-container" }, h("div", { key: 'bc88a396d75396f574961471bf7e6c4edb513353', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (h("div", { key: '33329e0193818888bdcaa443ff5ea301802e0787', id: headerID, class: {
431
+ }, onIonActionSheetWillDismiss: this.dispatchCancelHandler, onIonBackdropTap: this.onBackdropTap }, h("ion-backdrop", { key: '8cb6a0d763a60f61f563a1b7d572ad5e9afd6e40', tappable: this.backdropDismiss }), h("div", { key: 'f8b8da0f52ae674a5e313632ee3d049bed3f813f', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '53cf0d1b01a2cda23c27fc8b96edaccf892e61b3', class: "action-sheet-wrapper ion-overlay-wrapper", ref: (el) => (this.wrapperEl = el) }, h("div", { key: '6df261ff946c3b4496535df04cc70e2cfa3cc2da', class: "action-sheet-container" }, h("div", { key: '6f6f2846d19baa738651b990d8613aa0ecac9479', class: "action-sheet-group", ref: (el) => (this.groupEl = el), role: hasRadioButtons ? 'radiogroup' : undefined }, header !== undefined && (h("div", { key: '3f36df8eaaedb5e61a41bbf44134f25f263d1e7e', id: headerID, class: {
496
432
  'action-sheet-title': true,
497
433
  'action-sheet-has-sub-title': this.subHeader !== undefined,
498
- } }, header, this.subHeader && h("div", { key: '92ac5a9217a12b7417f7aca9c4fdb7bf6b051364', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (h("div", { key: '020463b830fa48fc3ae647ea64f2aaa4d0969305', class: "action-sheet-group action-sheet-group-cancel" }, h("button", { key: 'cefa9c70a2233f6652a81b1a2eae6e717712144d', ...cancelButton.htmlAttributes, type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }, h("span", { key: '56d7e2f8bfb3644e4476895164d334445fda9b2f', class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { key: '6a4a49254ec5cd96f4e0dce9447f90d8cac81913', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", { key: '7d3c6e8d70b0922ea0f75520856285ce1005c891' })))))), h("div", { key: '958fc43e603c6a7f5d1e649d3326fce0f163b5d0', tabindex: "0", "aria-hidden": "true" })));
434
+ } }, header, this.subHeader && h("div", { key: 'a6b2bf51123eaae4ed873e65c00c426e9c511ac0', class: "action-sheet-sub-title" }, this.subHeader))), this.renderActionSheetButtons(buttons)), cancelButton && (h("div", { key: '4dd96553327003b899bc03a815a06a7cce35db29', class: "action-sheet-group action-sheet-group-cancel" }, h("button", { key: 'a1928040a3d20f2e50230b7d6003467d2916f5b4', ...cancelButton.htmlAttributes, type: "button", class: buttonClass(cancelButton), onClick: () => this.buttonClick(cancelButton) }, h("span", { key: '2fa9d0e4072f1fd55f08048966495a627a14ef8f', class: "action-sheet-button-inner" }, cancelButton.icon && (h("ion-icon", { key: 'c2eec9967cb9f0b75d4428bb548674199089203c', icon: cancelButton.icon, "aria-hidden": "true", lazy: false, class: "action-sheet-icon" })), cancelButton.text), mode === 'md' && h("ion-ripple-effect", { key: '09e71f28d77ae16481b832863f49b3f7d7dd76f9' })))))), h("div", { key: '386fbe5ca2a88e9b52bd3b9d8f3daddbc630e6f6', tabindex: "0", "aria-hidden": "true" })));
499
435
  }
500
436
  static get is() { return "ion-action-sheet"; }
501
437
  static get encapsulation() { return "scoped"; }
@@ -3,9 +3,6 @@
3
3
  */
4
4
  import { expect } from "@playwright/test";
5
5
  export class ActionSheetFixture {
6
- page;
7
- screenshotFn;
8
- actionSheet;
9
6
  constructor(page, screenshot) {
10
7
  this.page = page;
11
8
  this.screenshotFn = screenshot;